|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! | Rakudo Star Released! Set by moderator on 4 August 2010. |
|||
|
00:05
[particle] joined
00:08
vieq joined
00:20
vieq left
00:23
wooden joined
00:27
petdance joined
00:36
LaVolta joined
00:40
huf joined
00:50
Guest30823 joined
|
|||
| plol | is there an equivalent of the perl5 ``-syntax? | 01:01 | |
| qqx[] seems to work, never mind :) | 01:02 | ||
|
01:10
plobsing joined
01:20
ruoso joined
01:22
tylercurtis joined
01:35
dduncan joined
|
|||
| avuserow | std: `foo` | 01:38 | |
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mBogus statement at /tmp/LIc0rjlbA1 line 1:------> [32m<BOL>[33m⏏[31m`foo`[0mParse failedFAILED 00:01 113m» | ||
| avuserow | std: qx/foo/; | ||
| p6eval | std 31912: OUTPUT«ok 00:01 112m» | ||
| avuserow | std: qqx/foo/; | ||
| p6eval | std 31912: OUTPUT«ok 00:01 112m» | ||
|
01:43
dduncan left
01:51
lucas_ joined
|
|||
| pragma_ | needs less color and less extraneous symbols | 02:05 | |
|
02:18
synth joined
02:30
leprevost joined
02:37
justatheory joined
02:40
jaldhar joined
02:51
drbean joined
02:57
ash_ joined
03:13
molaf joined
|
|||
| [Coke] | I imagine it's prettier on the command line. | 03:31 | |
|
03:34
sekimura1 joined
|
|||
| sorear | yes. | 03:36 | |
| pmichaud | ohnononononono | 03:37 | |
| pmichaud is very sad | |||
| avuserow | pmichaud: por que? | ||
| pmichaud | gist.github.com/510793 # the source of Pm's current sadness | ||
| and there doesn't appear to be an &infix:<cmp> for Numeric/Int/Rat/..... | 03:38 | ||
| rakudo: say 3.5.Str | |||
| p6eval | rakudo 19931f: OUTPUT«3.5» | ||
| pmichaud | rakudo: say 13 cmp 9 | 03:39 | |
| p6eval | rakudo 19931f: OUTPUT«1» | ||
| pmichaud | rakudo: say 9 cmp 13 | ||
| p6eval | rakudo 19931f: OUTPUT«-1» | ||
| pmichaud | ...but there must be somewhere. | ||
| avuserow | doesn't that sub apply to all types? | 03:40 | |
| pmichaud | it ends up being the default fallback | ||
| (it's a multi) | |||
| avuserow | right | ||
| oh, cmp is not p5's cmp. | |||
| duh. | |||
| pmichaud | the fallback for cmp is supposed to be string comparison, yes. | ||
| sorear | pmichaud: why does that make you sad | ||
| pmichaud | but I'm trying to figure out where the numeric cmps are taken care of | ||
| avuserow | rakudo: say 5 gt 15 | 03:41 | |
| p6eval | rakudo 19931f: OUTPUT«1» | ||
| sorear | rakudo: say ((13 cmp 9), (13 <=> 9), (13 leg 9)).perl | ||
| p6eval | rakudo 19931f: OUTPUT«(1, 1, -1)» | ||
| pmichaud | I can't seem to find another definition for &infix:<cmp> that doesn't use string compares | 03:42 | |
| I must be missing something somewhere. | 03:43 | ||
| avuserow | rakudo: say ((13 lt 9), (13 < 9)).perl | ||
| p6eval | rakudo 19931f: OUTPUT«(Bool::True, Bool::False)» | ||
| avuserow | oh, I see the problem... | 03:44 | |
| I don't see the solution though | |||
|
03:47
tylercurtis joined
|
|||
| pmichaud | okay, I'm totally confused. *why* does that even work? | 03:49 | |
| sorear | niecza: | 03:52 | |
| p6eval | niecza : OUTPUT«Can't locate Niecza/Grammar.pm in @INC (@INC contains: STD_checkout /opt/perl-5.12.1/lib/site_perl/5.12.1/x86_64-linux /opt/perl-5.12.1/lib/site_perl/5.12.1 /opt/perl-5.12.1/lib/5.12.1/x86_64-linux /opt/perl-5.12.1/lib/5.12.1 .) at CompilerDriver.pm line 27.BEGIN failed--compilati… | ||
| sorear | phenny: tell moritz_ Since the new build system works for you and fixes several bugs in incremental builds, I've pushed it live | 03:53 | |
| phenny | sorear: I'll pass that on when moritz_ is around. | ||
| sorear | phenny: ask pmurias How do I test STD-CPAN builds after altering STD? Would it be possible for me to get a CPAN comaint bit? | 03:54 | |
| phenny | sorear: I'll pass that on when pmurias is around. | ||
| pmichaud | ohhhh, I found it | 03:55 | |
| it used « instead of < | |||
| sorear | I thought we expunged all french quotes from the setting | 03:56 | |
| pmichaud | well, not all | ||
| still want them for <=> and the like, I think. | |||
| avuserow | is there an infix:<«> ? | ||
| sorear | could do :<< <=> >> for that, no? | ||
| avuserow: no | |||
| avuserow | oh | ||
| I see what pmichaud means | |||
| how about infix:'<' ? | 03:57 | ||
| pmichaud | okay, I now see where <cmp> is being defined.... and I'm still sad. | ||
| sorear | Why does this make you /sad/? | ||
| pmichaud | some code just hurts to read :-) | ||
| gist.github.com/510813 the definition of &infix:<cmp> | |||
| sorear | rakudo: say List.^methods(:local).Str | 03:58 | |
| p6eval | rakudo 19931f: OUTPUT«munch shift map hash fmt flat new rotate pop Capture elems Str list push exists unshift batch ACCEPTS eager at_pos sort iterator Bool Num perl of» | ||
| pmichaud | having to create and manipulate two arrays to perform numeric comparisons of Ints .... hurts | ||
| (much less going through a reduce operator to check the boolean result) | 03:59 | ||
| sorear | Isn't that infinite regress? | ||
| pmichaud | oh, <=> might be defined for Int | ||
| that would make me feel slightly better | |||
| it's defined for Num | 04:00 | ||
| and for Real | 04:01 | ||
| okay, things look a little better now | |||
| oh, no they don't. | 04:02 | ||
| (sigh) | |||
| sorear | Why not | ||
|
04:03
mikehh joined
|
|||
| sorear | Why can't you just use a tracer to find out exactly what 3 > 2 calls | 04:03 | |
| pmichaud | do we have a tracer? | ||
| sorear | I'm pretty sure I've filled up my hard drive with parrot call records at some point | 04:04 | |
| perl6 --trace=1 might be related | |||
| pmichaud | that's an opcode trace... | ||
| generally way too long to be helpful | |||
| --trace=4 is the normal "follow the sub entry/exit" trace | |||
| anyway, <=> ends up calling Int.Bridge which ends up calling Int.Num | 04:06 | ||
| which is a horrible amount of overhead for comparisons of a fundamental type | |||
| and which also explains why our basic range and series operators are so slow | 04:07 | ||
| anyway, time to fix | |||
| melte | :D | 04:08 | |
| pmichaud | ouch ouch ouch /me looks at &infix:«<=>»(Num, Num) | 04:09 | |
| sorear | pmichaud: how are Rat/Num comparisons going to work? | 04:16 | |
| or Int/Rat? | |||
| or Int/FatRat? | |||
| pmichaud | they fall back to Real | ||
| sorear does not like the O(N^2) factor | 04:17 | ||
| pmichaud | and Real does coercions via the .Bridge method | ||
| but (Int,Int) should definitely be optimized for speed | |||
| sorear | What does self!fill(0) do? | 04:19 | |
| pmichaud | makes sure that @items is initialized, mainly | ||
| er @!items | 04:20 | ||
| sorear | ah | ||
| what's the point of .Seq.eager.iterator? | |||
| pmichaud | where are you looking? | ||
| sorear | List.pm+85 | ||
| pmichaud | .Seq creates a Seq; .eager makes it eager | ||
| .iterator returns a new iterator for the Seq | |||
| ah | 04:21 | ||
| you're looking at push | |||
| so, that just adds an iterator to @!rest | |||
| Exodist | Behold, I have launched a futile attempt at creating another perl6 implementation (more for fun than anything else) github.com/exodist/Oyster | 04:25 | |
| Just to see what I can do, not an attempt to compete with rakudo (currently) more a learning exersize. | 04:26 | ||
| Exodist loves a challenge. | |||
| sorear | You can try competing with yapsi | ||
| That's what I'm doing | |||
| TiMBuS | i personally encourage you to aim to beat rakudo. :3 | ||
| Exodist | yapsi? | 04:27 | |
| sorear | Although it's a bit of a joke at the moment | ||
| pmichaud | Exodist++ | ||
| sorear | The competition | ||
| Exodist | mine is 3 structs in a single C file and a plan in a readme. | ||
| whats yapsi? | |||
| TiMBuS | yet another perl six implementation | ||
| pmichaud | github.com/masak/yapsi | 04:28 | |
| Exodist | hmm, good name. I thought Oyster was pretty good for a perl implementation :-) | ||
| pmichaud | oyster is indeed good | ||
| it also has layers, like an onion :) | |||
| Exodist | lol, I wonder if anyone will follow the project (hint hint) lol | 04:29 | |
| pmichaud | Exodist (and others): Note that you'll never hear me give the "project XYZ is stealing resources from Rakudo" argument. | ||
|
04:29
LaVolta joined
|
|||
| pmichaud | I'm a firm believer in multiple implementations. | 04:29 | |
| sorear | Rakudo would not be where it is today without cross-pollination from STD and Pugs | ||
| Exodist | heh, its more heading off any rais community members who see me and perl 6 and yell re-invented wheel at the top of their lungs. | ||
| pmichaud | (and vice-versa, fwiw :) | ||
| Exodist | *rails (yes its a stereotype, sorry, in my experience its fairly accurate) | 04:30 | |
| pmichaud | STD borrowed a lot of ideas (and lessons) from very early versions of Rakudo. | ||
| rcfox | Exodist: You'd think Perl hackers would be the most tolerant of reinventing the wheel. | ||
| sorear | Most of what I know about Rails people is _why | 04:31 | |
| Exodist | rcfox, you would think. | ||
| pmichaud | night before last I had someone come up and ask about my comment about "multiple implementations are good" (more) | ||
| sorear | Exodist: I suppose you're already aware of and following niecza? | ||
| pmichaud | he gave the typical "wouldn't things go quicker if everyone worked on a single implementation?" (more) | 04:32 | |
| Exodist | generally it is my friends/co-workers who are big rails guys who bash any new project I start if something even remotely related exists | ||
| sorear, nope | |||
| pmichaud | both me and moritz++ quickly responded with a sharp "No." (In retrospect, I think I should've made the answer a little less sharp :) | ||
| Exodist | lol | ||
| sorear | IMO rakudo is at close to a local maximum of developer time efficiency | 04:33 | |
| Exodist | more implementations means more lessons learned and more ideas tried, then survival of the fittest + cross polination will lead to an ultimate couple that are awesowe | ||
| sorear | If we rounded up every Perl 5 and 6 person and made them work on Rakudo, there'd be a lot more lock contention and not much more code | ||
| rcfox | sorear: Also, you probably wouldn't want 99% of their commits anyway. | 04:34 | |
| Exodist | lol | ||
| rcfox | "It is not written in a pure subset of Perl6 making it hard for a Perl6 hacker to dive in. | 04:35 | |
| " | |||
| What does that mean? | |||
| Exodist | I am also gonna use this to try and Get the Fennec testing framework working to tost perl6 and non-perl code, should be trivial | ||
| sorear | Fennec? | 04:36 | |
| Exodist | rcfox, someone told me rakudo is written in "not quite perl 6" | ||
| sorear | Exodist: In addition to Niecza, you should take a look at Perlito, it seems to have a few similar goals | ||
| pmichaud | we use NQP as a bootstrap | ||
| sorear | not to join, of course. to steal from. | ||
| rcfox | NQP? | ||
| pmichaud | "Not Quite Perl 6" | ||
| Exodist | sorear, behavior driven development for perl5, forking in tests just works, lots of other good: search.cpan.org/~exodist/Fennec/lib/Fennec.pm | 04:37 | |
| petdance | my $sum = [+] @list; is an example of... autocurrying? | ||
| pmichaud | it lets us write grammars and translators using Perl 6 syntax without the full P6 overhead | ||
| petdance: reduction | |||
| petdance | Wanna get the term right | ||
| ok | |||
| rcfox | pmichaud: Is NQP more or less than Perl 6? | ||
| Exodist | github.com/exodist/Fennec | ||
| pmichaud | rcfox: "less" | ||
| Exodist | its highly pluggable, custom file types, assertion libs, etc are all triviral | 04:38 | |
| *trivial | |||
| rcfox | pmichaud: I guess I meant: Is it a subset of Perl 6? | ||
| pmichaud | rcfox: yes, a very restricted one. | ||
| rcfox | Ah. | ||
| Exodist | porting the assertion libs and file-based collector in perl6 is also simple. | ||
| pmichaud | github.com/perl6/nqp-rx # nqp | 04:39 | |
| sorear | pmichaud: I'm afraid I still don't grok Seq's reason for existing | ||
| pmichaud | sorear: it's a sequence of _values_ | ||
| as opposed to List which can have containers | |||
| i.e., Seq de-containerizes the elements of a List | 04:40 | ||
| sorear | What's the difference between a List and and Array? | ||
| pmichaud | An array is a List of scalar containers | ||
|
04:40
agentzh joined
|
|||
| pmichaud | all of the elements of an Array are items | 04:41 | |
| whereas the things in a List don't have to be | |||
| Exodist | arrays are stored as a data type, a list is a bunch of independant elements in a context | ||
|
04:42
felliott__ joined
|
|||
| pmichaud | more to the point, if I do something like: for (@a, @b) { $_++ } | 04:42 | |
| petdance | Proofing please: gist.github.com/510846 | ||
| Exodist | but arrays and lists can be assigned to eachother (perl5 code: @stuff = ( $a, $b ); ($b, $a) = @stuff;) | ||
| pmichaud | the list that is constructed from @a and @b has the individual scalar containers of @a and @b as its elements (when it flattens) | 04:43 | |
| but if I create an Array from a List, the Array gets its own set of scalar containers | |||
| petdance: looking now | 04:44 | ||
| sorear | a Parcel can contain any kind of container, List is just scalars, right? | ||
| Exodist | is undef a scalar? | 04:45 | |
| my @stuff = ( undef, $a ); | |||
| or ( my $a, undef, $b ) = @stuff; | |||
| ^ thats valid perl5 at least | 04:46 | ||
| pmichaud | sorear: List is lazy; afaik it doesn't require that its elements be items | ||
| sorear | undef is gone. | ||
| Exodist | excusing lexical of globals $a and $b... | ||
| sorear, what is used now? | |||
| how do you function w/o undef? | |||
| pmichaud | Exodist: each type object stands for an undefined value of that type | ||
| the most global/unrestrcited undefined value is Mu | 04:47 | ||
| *unrestricted | |||
| Exodist | pmichaud, can you link to the correct syn and section? or point me at it? I must read this. | ||
| pmichaud | petdance: the main rebuttal I'd see to your article is that Perl 5 at least kept some semblence of backwards compatibility with Perl 4, whereas Perl 6 does no such thing | 04:48 | |
| petdance | Sure, but I'm not optimizing for rebuttlas. | ||
| pmichaud | Exodist: S02, "The C<Mu> type" | ||
| rcfox | petdance: I'm not at all familiar with Perl 4, but I think a better way of saying "my variables" would be "lexical scopes". | 04:49 | |
| petdance | ok | ||
| Exodist | pmichaud, awesome thanks, I must have been spacing out last time I read it, or did not understand the significance. | 04:51 | |
| rcfox | pmichaud: I guess the rebuttal for your rebuttal is that Perl 6 takes the lessons learned from modern Perl 5, and discards the cruft that should no longer be used anyway. | 04:52 | |
| petdance | any other comments anyone? | 04:53 | |
| I've updated a bunch recently | |||
| I'm about to run it | |||
| pmichaud | rcfox: sure, that's the reason for it existing, but not necessarily the reason it needs to be called "Perl 6" (which is what this article is about) | ||
| Exodist | perl6 is more than it should be if you want it fast | ||
| pmichaud | (note that I'm playing "devil's advocate" here, not spouting my own opinions) | ||
| Exodist | but is also everything a language should be (as far as features) | ||
| petdance | I was starting out with a two sentence article. | 04:54 | |
| "It's still Perl because Larry says it's still Perl. End of discussion." | |||
| melte | Perl 6 is also tied to the concept of Perl by its community, and not just its similarities with Perl 5 | ||
| petdance | but then I expanded | ||
| Exodist | I don't agree with the name being a problem. Larry created perl, he wants to make a new language, he can use the name again. | ||
| petdance | But it doesn't matter if you agree or not. | 04:55 | |
| Exodist | why would perl 5 need to evolve into perl6 anyway? | ||
| pmichaud | petdance: are you responding to a recent thread that I've missed while at yapc::eu, ooc? | ||
| Exodist | *let me rephrase | ||
| petdance | No, just general whining | ||
| pmichaud | petdance: okay. | ||
| petdance | saw some comment on reddit, I think. | ||
| Exodist | why would perl 5 need to incriment the 5? | ||
| rcfox | I'm not sure "Larry says so." is a great reason, really... | 04:57 | |
| petdance | It doesn't matter if you think it's a great reason. | 04:58 | |
| LaVolta | close up the bug-hole...may be? :) | ||
| then 5 turns into 6 | |||
| petdance | That's the entire point. | ||
| TiMBuS | i think what he is saying is if perl5 is never going to change why would it need to reserve the 6?? or am i wrong | ||
| rcfox | Perl 6 feels like Perl, it behaves like Perl, and it has the philosophy of Perl. | 04:59 | |
| sorear | petdance: What do you have to say to the "Larry is some old kook who nobody has seriously listened to since the early 90s" crowd? | ||
| Exodist | perl5 is unlikely to ever change enough to warrant 5++, it would be a back-incompatible change to do that. | ||
| petdance | "So?" | ||
| TiMBuS | Exodist, i think the only reason for previous version jumps was rewriting the entire internals | 05:00 | |
| Exodist | exactly | ||
| TiMBuS | not the changing language spec | ||
| petdance | sorear: Or if not "So?", I say "OK, that's fine. Isn't it cool we can use list reductions?" | ||
| TiMBuS | so it can stay 5 | ||
| Exodist | perl5 can,t really do that again easily | ||
| petdance | Not every dicussion needs to hapepn. | ||
| Just because some crank on reddit says "Larry should have done X" doesn't mean that it needs a response. | 05:01 | ||
| Exodist | perl5 is huge, and near impossible to re-implement, only perl5 can parse perl5, re-writing it is an exercise in pain. | ||
| TiMBuS | i wish i was forever 5! a new bmx every birthday | ||
| petdance | See also: "OMG SOMEONE IS WRONG ON THE INTERNET" | ||
| Exodist | lol | ||
| they can always call it perl5++, Schwern already gobbled perl5i (which is fun (disclaimer: I am a committer)) | 05:02 | ||
| TiMBuS | perl# | ||
| petdance | ok, no other notes on my article? | ||
| pmichaud | anyway, I guess I've already moved into the "Isn't it cool that we can use list reductions?" phase of thinking about the issue. :-) | ||
| petdance | I'm gonna publish it. | ||
| pmichaud | so I don't have much to respond to this article :) | 05:03 | |
| Exodist | or they can call it perl7 and piss a lot of people off.. or perl{me,xp,ce,95,98,200,etc....} | ||
| pmichaud | other than "yes, it's very cool" | ||
| Exodist | where is the article? | ||
| TiMBuS | ISO Perl | ||
| ANSI perl* | |||
| petdance | Exodist: I posted a link ot a gist asking for commentary. | 05:04 | |
| Exodist | found it, reading | ||
| sorear | TiMBuS: sorry, perl# is taken | 05:05 | |
| rcfox | P# | ||
| Microsoft's bastardized version of Perl. | 05:06 | ||
| pmichaud | I'm so glad I can say "Rakudo" instead of "Perl 6" :-) | ||
| Exodist | petdance, I like it | ||
| rcfox | pmichaud: What do you mean? | ||
| Exodist | rcfox, is P# real? | ||
| rcfox | Exodist: I sure hope not! | ||
| pmichaud | rcfox: sometimes it's nice to be able to talk about Perl 6 without having to use the phrase "Perl 6" :-) | 05:07 | |
| Exodist | lol, this is all google finds: github.com/mbarbon/language-p | ||
| rcfox | pmichaud: But doesn't that only work in a context where everyone knows about Perl 6? | 05:08 | |
| Exodist | is it a perl5 compiler written in perl5 that compiles perl5 into perl5? | ||
| pmichaud | rcfox: I'm hoping that someday it will work outside of that context, yes. | ||
| sorear | pmichaud: if List is lazy and holds containers, why does List.push eagerly evaluate and remove containers? | 05:11 | |
| pmichaud | TimToady++ decided that push should act eagerly. | ||
| (and I agree) | |||
| to be more consistent with the p5 expectation. | 05:12 | ||
| I think someone would be very surprised if | |||
| sorear | How often does a P5 expectation programmer even see a List? | ||
| pmichaud | $b = 6; $list.push($b); $b = 5; | ||
| caused $list to suddenly have a 5 value in it | |||
| Exodist | wait, what? $b = 6; $list.push($b); $b = 5; <-- how does this make sense? | 05:13 | |
| oh | |||
| $b = 6; $list.push($b); $b = 5; wait | |||
| duh | |||
| ignore me | 05:14 | ||
| wtf? I somehow accidently pasted? | |||
|
05:15
NiiHiiL joined
|
|||
| pmichaud | time for breakfast here -- bbiaw | 05:15 | |
| rcfox | rakudo: my $a = {1}; $a = {$a()}; $a(); | ||
| p6eval | rakudo 19931f: OUTPUT«maximum recursion depth exceeded in <anon> at line 22:/tmp/weYpKIwekl in <anon> at line 22:/tmp/weYpKIwekl in <anon> at line 22:/tmp/weYpKIwekl in <anon> at line 22:/tmp/weYpKIwekl in <anon> at line 22:/tmp/weYpKIwekl in <anon> at line 22:/tmp/weYpKIwekl in | ||
| ..<anon> at … | |||
| rcfox | ^ Is that expected? | ||
| tylercurtis | rcfox: why not? | ||
| pmichaud | seems reasonable to me | ||
| tylercurtis | rakudo: sub a { a(); }; a(); | 05:16 | |
| p6eval | rakudo 19931f: OUTPUT«maximum recursion depth exceeded in 'a' at line 1:/tmp/C3LS9zXPwG in 'a' at line 22:/tmp/C3LS9zXPwG in 'a' at line 22:/tmp/C3LS9zXPwG in 'a' at line 22:/tmp/C3LS9zXPwG in 'a' at line 22:/tmp/C3LS9zXPwG in 'a' at line 22:/tmp/C3LS9zXPwG in 'a' at line | ||
| ..22:/tmp/C3LS9zXPw… | |||
| pmichaud | it's not really much different than having &foo = { &foo() } | ||
| sorear | rcfox: rakudo doesn't handle tailcall optimization yet | 05:17 | |
| Exodist | rcfox, closure, $a is the same $a regardless of whats in it | ||
| rcfox | Okay, I guess so. | ||
| pmichaud doesn't see how tailcall optimization applies... but oh well. | |||
| Exodist | rakudo: my $a = {1}; $a = {my $b = $a; $b()}; $a(); | ||
| p6eval | rakudo 19931f: OUTPUT«maximum recursion depth exceeded in 'Mu::item' at line 1186:CORE.setting in 'Mu::item' at line 1188:CORE.setting in '&infix:<=>' at line 1 in <anon> at line 22:/tmp/ZmSVbLcePW in <anon> at line 22:/tmp/ZmSVbLcePW in <anon> at line 22:/tmp/ZmSVbLcePW in <anon> at | ||
| ..line … | |||
| Exodist | oh, duh :-P | 05:18 | |
| I did the same thing | |||
| tylercurtis | rakudo: my $a = 5; sub b { $a }; say b; ++$a; say b; #rcfox, consider this related case. | ||
| p6eval | rakudo 19931f: OUTPUT«56» | ||
|
05:18
petdance joined
|
|||
| pmichaud | I guess someone could expect an infinite loop instead of 'maximum recursion' | 05:19 | |
| rcfox | rakudo: my $a = {1}; my $b = $a; $a = {$b()}; $a(); | ||
| p6eval | rakudo 19931f: ( no output ) | ||
| Exodist | can you override the maximum if needed? | ||
| pmichaud | Exodist: that's a very good question. | ||
| LaVolta | rakudo: my List $l .= new; my $b = 6; $l.push($b); $b = 5; $l.perl.say; # test | ||
| p6eval | rakudo 19931f: OUTPUT«(6)» | 05:20 | |
| TiMBuS | i remember overriding it in my language | ||
| Exodist | pmichaud, I could see it being necssary for some algorithms | ||
| pmichaud | Exodist: I agree. | ||
| currently Parrot enforces the max recursion depth, so we'd have to tune it there. | |||
| TiMBuS | since it was functional and executed backwards i needed a large call depth | ||
| pmichaud | (i.e., provide a way to access that tuning) | ||
| Exodist | perl5 lets you I think, but then again deep recursion is a warning not fatal in p5 | ||
| rcfox | I guess I was expecting it to do something sort of like my last thing. | 05:21 | |
| TiMBuS | $P0 = getinterp | ||
| $P0.'recursion_limit'(100000) | |||
| sorear | rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; moo(10000) | ||
| p6eval | rakudo 19931f: ( no output ) | ||
| sorear | rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; say moo(50000) | ||
| p6eval | rakudo 19931f: OUTPUT«20» | ||
| sorear | rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; say moo(500000) | ||
|
05:21
ktne joined
|
|||
| p6eval | rakudo 19931f: OUTPUT«20» | 05:21 | |
| sorear | rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; say moo(5000000) | ||
| p6eval | rakudo 19931f: OUTPUT«20» | ||
| sorear | rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; say moo(100000000) | 05:22 | |
| p6eval | rakudo 19931f: OUTPUT«20» | ||
| Exodist | wow. | ||
| sorear | rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; say moo(50000) | ||
| p6eval | rakudo 19931f: OUTPUT«maximum recursion depth exceeded in 'upgrade_to_num_if_needed' at line 3444:CORE.setting in 'upgrade_to_num_if_needed' at line 3454:CORE.setting in 'infix:<->' at line 3510:CORE.setting in 'moo' at line 22:/tmp/4I2GAKPbKh in 'moo' at line 22:/tmp/4I2GAKPbKh in | ||
| ..'moo' at … | |||
| Exodist | thats pretty deep (thats what she said) | ||
| melte | lol | ||
|
05:22
snearch joined
|
|||
| sorear | rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; pir::getinterp().recursion_limit(1000000); say moo(50000) | 05:23 | |
| p6eval | rakudo 19931f: OUTPUT«===SORRY!===The opcode 'getinterp' (getinterp<0>) was not found. Check the type and number of the arguments» | ||
| sorear | rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; pir::getinterp__P().recursion_limit(1000000); say moo(50000) | ||
| p6eval | rakudo 19931f: ( no output ) | ||
|
05:23
justatheory joined
|
|||
| tylercurtis | rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; say moo(1000); | 05:23 | |
| p6eval | rakudo 19931f: OUTPUT«maximum recursion depth exceeded in 'upgrade_to_num_if_needed' at line 3444:CORE.setting in 'upgrade_to_num_if_needed' at line 3454:CORE.setting in 'infix:<->' at line 3510:CORE.setting in 'moo' at line 22:/tmp/yAgyW2H00I in 'moo' at line 22:/tmp/yAgyW2H00I in | ||
| ..'moo' at … | |||
| sorear | rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; pir::getinterp__P().recursion_limit(1000000); say moo(1000) | 05:24 | |
| p6eval | rakudo 19931f: OUTPUT«20» | ||
| TiMBuS | yeah sorear was doing it backwards there | ||
| rcfox | sub moo($x) { $x ?? moo($x-1) !! 20 }; say moo(1); | ||
| petdance | ok done perlbuzz.com/2010/08/what-to-say-to...-more.html | ||
| rcfox | rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; say moo(1); | ||
| p6eval | rakudo 19931f: OUTPUT«20» | ||
| rcfox | Okay... Nap, then study. | 05:26 | |
| I hate exams. | |||
| melte | I hear ya | 05:27 | |
| TiMBuS | hahaha ok, recursing 100,000 times with the limit set to 1,000,000 = segfault | 05:29 | |
| must have crashed because it was looping so fast! | 05:30 | ||
| sorear | TiMBuS: -Minf | ||
| tylercurtis | in the first example at perlcabal.org/syn/S12.html#Autovivi...g_objects, wouldn't { :name<Fido> } be a hash literal rather than a closure? | ||
| sorear | er | ||
| -g inf | |||
| snarkyboojum is betting a GC barf :P | |||
| sorear | you need to turn off the garbage collector if you want to loop more than 20,000 deep or so | ||
| tylercurtis | TiMBuS: that happens even with tailcalls, too. | ||
| TiMBuS | ah | 05:31 | |
| did parrots gc ever get reworked after the gsoc attempt? | 05:32 | ||
| pmichaud | it's being reworked now | ||
| TiMBuS | whiteknight again? | ||
| pmichaud | bacek | ||
| (and chromatic) | |||
| TiMBuS | awesome | 05:33 | |
| pmichaud | afk # nom | ||
| Exodist -> bed, night all | |||
| TiMBuS | pmichaud <<== pretzels() <== beer() | 05:34 | |
| tylercurtis | Hmm... where in the spec is the way of determining where "{ foo }" is a block or a hash? | 05:35 | |
| Nevermind, found it. | 05:38 | ||
| snarkyboojum | alester++ # interesting Perl 6 blogging :) | ||
| dalek | kudo: 9dd4081 | pmichaud++ | (2 files): Add somewhat cheating version of src/core/Order.pm . |
||
| kudo: 6d32585 | pmichaud++ | src/core/Int.pm: Add more Int numeric comparision operators. |
|||
| petdance | snarkyboojum: thanks. | ||
| snarkyboojum | moritz_++ beat me to the mkdir bug.. I had a patch for it :) | 05:41 | |
| moritz_ | good morning | ||
| phenny | moritz_: 03:53Z <sorear> tell moritz_ Since the new build system works for you and fixes several bugs in incremental builds, I've pushed it live | ||
| tylercurtis appears to have been right. | 05:42 | ||
| Curlies enclosing a pair make a hash, not a block. | |||
| snarkyboojum | moritz_: o/ | ||
| moritz_ | \\o | 05:43 | |
| tylercurtis | Does Rakudo implement autovivifying objects? | 05:44 | |
| moritz_ | rakudo: my %h; push %h<a>, 1, 2; say %h.perl | 05:45 | |
| p6eval | rakudo 19931f: OUTPUT«Method '!fill' not found for invocant of class '' in 'List::push' at line 2610:CORE.setting in main program body at line 22:/tmp/IxHzXM4aK0» | ||
| TiMBuS | haha oh dear | 05:46 | |
| moritz_ | rakudo: my %h; %h<a><b> = 3; say %h.perl | ||
| p6eval | rakudo 19931f: OUTPUT«{"a" => {"b" => 3}}» | ||
| moritz_ submits rakudobug | |||
| tylercurtis | moritz_: I mean things like "Dog but WHENCE({ :name<Fido> })" | ||
| moritz_ | tylercurtis: not sure | 05:47 | |
| TiMBuS | i recall pmichaud saying it can be used now | 05:48 | |
| snarkyboojum | sorear: if I run xbuild 3 times, I get a working niecza build via ./niecza_eval, but if I run few xbuilds I get errors | ||
| sorear: related to the ContineOnError attr stuff I was going on about yesterday | |||
| tylercurtis | rakudo: class Dog { has $.name; method wag { say "$.name wags his tail." } }; my $dog = Dog{ :name<Fido> }; defined $dog or say "doesn't exist"; $dog.wag(); | ||
| p6eval | rakudo 19931f: OUTPUT«doesn't existMethod 'wag' not found for invocant of class '' in main program body at line 22:/tmp/s61g0jxJh8» | 05:49 | |
| moritz_ | niecza: say "alive" | ||
| snarkyboojum | sorear: I think | ||
| p6eval | niecza d274387: OUTPUT«alive» | ||
| sorear | snarkyboojum: huh. | ||
| snarkyboojum | sorear: bizarro eh | ||
| sorear | snarkyboojum: what is the output | ||
| snarkyboojum | sorear: I mentioned yesterday that the additional ContinueOnError attrs for the Exec tasks running mono --aot were still failing on OS X | 05:50 | |
| sorear | well, it's supposed to output FAILED, but it also continues | ||
| or at least that's how it worked for me & touch commands | |||
| snarkyboojum | sorear: and after a single xbuild, and even a second I get a failing evalutator, but a third build makes it work.. a coincidence that there are 3 exec tasks doing mono --aot? not sure | ||
| sorear: will pastebin some errors | |||
| tylercurtis | Doesn't look like it's yet implemented. Anyway, the reason I'm asking is because the WHENCE closure is supposed to return an argument list for .bless. | 05:51 | |
| moritz_ | after a git clean -xdf the xbuild worked fine for me on first attempt | ||
| sorear | tylercurtis: that is quite completely unlike how WHENCE works these days | ||
| tylercurtis | sorear: that's what S12 says about it. | 05:52 | |
| sorear | tylercurtis: check out src/core/List.pm and src/core/Any-list.pm | ||
| implementation is leading specification | |||
| tylercurtis | Good. Because I was about to complain about how the spec currently doesn't even work for its own examples. | ||
| sorear | moritz_: snarkyboojum is using a version of mono which fails on --aot attempts | ||
| moritz_ | oh. | 05:53 | |
| sorear | I guess because it's the official OSX build, it's probably a fat binary and doesn't know what kind of code to AOT? | 05:54 | |
| or something like that | |||
|
05:54
Mowah joined
|
|||
| sorear | in any case it errors out with --aot not supported | 05:54 | |
| sorear is now overhauling niecza's list type hierarchy | 05:55 | ||
| snarkyboojum | sorear: during the first xbuild I get a failure due to mono --aot etc at the Kernel.dll target, the second I get a failure at SAFE.dll, and the third I get a similar failure at CORE.dll, so it seems to be "getting one target further" for each xbuild invocation, until the fourth invocation, at which point the build "succeeds" :D, but the evaluator runs properly after the third, until then I get these types of errors | 05:57 | |
| gist.github.com/510905 | |||
| tylercurtis | sorear: I guess Rakudo's current interpretation of WHENCE eliminates my issue that with S12's definition, almost every use of it(probably every use) would require Dog{; :name<Fido> } instead of Dog{ :name<Fido> }, to use the spec's example. | ||
| pmichaud | back from nom | 05:59 | |
| sorear | snarkyboojum: What version of Mono are you usign? | 06:05 | |
| moritz_ | alester: is it intentional that you don't like to perl6.org in the sidebar of the perlbuzz blog? | 06:07 | |
| if not, please consider doing it :-) | |||
| snarkyboojum | sorear: 'Mono JIT compiler version 2.6.4 (tarball Thu Apr 22 13:24:33 MDT 2010)' | ||
| sorear | snarkyboojum: I just pushed a change making UseAOT a configurable variable | 06:09 | |
| szabgab | cam I talk to the repl via a soket instead of on the command line? | 06:14 | |
|
06:14
pnate joined
|
|||
| szabgab | or maybe via a socket... | 06:14 | |
| dalek | ecza: b1b9752 | sorear++ | test2.pl: start prototyping Array accessors |
06:15 | |
| ecza: fb128e3 | sorear++ | SAFE.setting: !fill should be a private method |
|||
| ecza: c392842 | sorear++ | Niecza.proj: Add a central switch to turn off AOT, rather than relying on ContinueOnError |
|||
| pmichaud | hmmm, I seem to be unable to svn commit to pugs. | ||
| sorear | moritz was talking aout that earlier | 06:17 | |
| apparently pisa doesn't like svn much | |||
| pmichaud | apparently. | ||
| snarkyboojum | sorear: thanks - works for me if I set UseAOT to 'N' - cheers :) | ||
|
06:17
Su-Shee joined
|
|||
| sorear | I've asked #mono what could be going wrong | 06:17 | |
| moritz_ | pmichaud: related to some network filtering - I rsync'ed to another box, and committed from tehre | ||
| snarkyboojum | sorear: did some reading about ContinueOnError doing strange things, and still failing builds last night, but didn't make much sense of it to be honest | 06:18 | |
| sorear | so, in the US, ISPs like to kill BitTorrent, but in Italy they go after subversion. WTF? | ||
| pmichaud | moritz_: my commits aren't urgent, I'll wait until I get to a real wifi connection :) | ||
| petdance | moritz_: perlbuzz.com/ is updated | 06:19 | |
| moritz_ | petdance++ | ||
| pmichaud | petdance++ | 06:21 | |
| petdance | I'm reasonably responsive. :-) | ||
| sorear | petdance: would it make any sense at all to have git-grep functionality in ack 2? | 06:23 | |
| petdance | What is "git-grep functionality" | ||
| sorear | accesses the packfile instead of the filesystem | ||
|
06:24
masak joined
|
|||
| masak | morning, #perl6! | 06:24 | |
| sorear | *much* faster than grep -r for largish projects (mono, linux) | ||
| although that could just be ext3 sucking | |||
| hello masak! | |||
| masak: check out github.com/exodist/Oyster | 06:25 | ||
| petdance | sorear: You can do anything you want with plugins in ack 2.0 | ||
| sorear | masak: someone else has started an -Ofun perl6 implementation | ||
| petdance | However, no, ack will not do anything with git specifically. | 06:26 | |
| masak | sorear: wow! looks impressive! | ||
| I'm happy to report that Yapsi is currently ahead of that project :) | 06:27 | ||
| but if there's any way I can compile things down into his interpreter, I definitely will. | |||
| masak emails exodist | 06:28 | ||
| snarkyboojum | masak o/ | ||
| masak | snarkyboojum! \\o/ | ||
| tylercurtis | github.com/ekiru/Bennu/blob/rewrite...amodel.pm6 is a very early draft of vaguely what I expect the bootstrappy stuff for Bennu I rambled incoherently about a couple nights ago ago to look like. | 06:30 | |
| tylercurtis isn't going to stay around to discuss it tonight, though. | |||
| tylercurtis told himself that he had to go to bed an hour ago and disobeyed himself. | 06:31 | ||
| snarkyboojum told himself "last beers" an hour ago and disobeyed himself :P | |||
|
06:35
huf joined
|
|||
| masak | Exodist: oh, you're here on the channel :) | 06:35 | |
| Exodist: I'm writing you an email :) | |||
| sent. | 06:39 | ||
| masak goes back to panicking | |||
| my talk is at 12:00! o.O | |||
| tylercurtis | I plan to, after obsessively reading S12, S14, and probably S06 and S13 several times, write up a theoretical implementation of Perl 6's object system on top of that. And eventually (by which I mean, after GSoC) figure out how to make that stuff all parse properly with STD. Someday I might even write something to compile some of it! | ||
| snarkyboojum | masak: next talk in 3 hours or so? :O | 06:40 | |
| masak | 3:20, yes. | 06:41 | |
| masak writes more slides | |||
| snarkyboojum | go-go masak-san ;) | ||
| tylercurtis | Anyway, another night's worth of semi-coherent (I hope) rambling about Bennu is done. Good night, #perl6! | 06:42 | |
| snarkyboojum | alberto has been mentioning Perl 6 YAPC::EU 2010 talks on his blog blogs.perl.org/users/alberto_simoes/ - he seems to yearn for real world applications | ||
| masak | who doesn't? :) | 06:43 | |
| snarkyboojum | indeed :) | ||
| masak | for what it's worth, I liked moritz_' talk. | ||
| moritz_ | mine was as real-world application as can be :-) | 06:44 | |
| snarkyboojum | I wish I would have been there to hear it, alberto's reviews seem to be quite... terse | 06:45 | |
| does he hang out on #perl6? | |||
| masak | "Just a bunch of theory without a real application." -- My mind boggles at this assertion. | ||
| moritz_ | snarkyboojum: not afaik | 06:46 | |
| masak | someone on Twitter wonders when Rakudo Star will hit MacPorts. | 06:47 | |
| snarkyboojum | moritz_: that's a shame - we need to get him contributing modules/tests/patches ;) | ||
| TiMBuS | Am I allowed to make a rakudo star PPA? | ||
| moritz_ | yes (although I don#t know what a PPA is :-) | ||
| TiMBuS | i know someone here has rakudo on launchpad but its nothing but a link really | ||
| it's ubuntus package site | 06:48 | ||
| snarkyboojum | why is a macport required? | ||
| moritz_ | because people expect it? | 06:49 | |
| snarkyboojum | I thought macports were useful for *nix software that had to be *ported* to OS X | ||
| I guess I misunderstood the point | 06:50 | ||
| moritz_ wonders if Alberto read conferences.yapceurope.org/ye2010/talk/2949 before attending the talk | |||
| "Along the way I will briefly explain some Perl 6 features used (but I'll keep it minimal)." | |||
| petdance | I think this is my new strategy | 06:51 | |
| perlbuzz.com/2010/08/what-to-say-to...-more.html | |||
| when the "But Perl 6..." folks talk about the negatives, I'll just reply with a positive. | |||
| and ignore the gripe. | |||
| pmichaud | I have the impression that Alberto doesn't like Perl 6 very much. (That's okay, it's his right to have an opinion.) | ||
| snarkyboojum | pmichaud: I kind of arrived at the same conclusion | 06:52 | |
| I'm also reminded of au|irc's "turn trolls into commiters" :) | |||
| moritz_ wonders whether to reply with a tasty blog post... and decides against it | 06:53 | ||
| snarkyboojum | not saying alberto is a troll though! | ||
| pmichaud | iirc, he's been a committer in the past. :) | ||
| snarkyboojum shuts up :) | |||
| +1 for moritz_'s tasty blog post! | |||
| petdance: piers cawley I think said something different but vaguely in the same spirit perhaps, about only replying to constructive posts or some such.. I liked that | 06:56 | ||
| petdance | I don't mind responding to the negative posts, but that doesn't mean you have to repsond to the negativity. | 06:57 | |
| "Perl 6 is ugly!" "OK." | |||
| dalek | ecza: 39d5124 | sorear++ | (4 files): Implement $?ORIG and $?FILE |
||
| masak | chromatic is good at ignoring the low blows and focusing on the facts in comments. | ||
| sorear | chromatic++ | 06:58 | |
| snarkyboojum | aye, chromatic++ # for resilience, and general FUD-fighting :) | 06:59 | |
| petdance | well, I wish he didn't fight | 07:00 | |
| he likes the rolling in the mud | |||
| OK, it's bedtime for me | |||
| masak | I think he likes to respond factually to over-emotional FUDding. more often than not, I like reading it. | 07:03 | |
| pmichaud | yes, I think he just likes exposing FUD and logically unsound reasoning | 07:04 | |
| sorear | yes, that's chromatic. meticulous to a fault. | ||
| so it appears that the main operational difference between Array and List is that Arrays can have new elements added by subscripting | 07:05 | ||
| my @a; @a[0] = 'x'; | |||
| # equivalently: my @a; @a = ( 'x' ) | |||
| dalek | kudo: 2c0ea31 | pmichaud++ | src/c (2 files): Refactor Order::* constants--- as cheats we want them available before back into the setting itself. |
||
| kudo: 035efb0 | pmichaud++ | src/core/ (2 files): Refactor some comparison operators to avoid unnecessary blocks and |
|||
| sorear | neither would work with an empty List | ||
| ? | |||
|
07:06
wamba joined
|
|||
| sorear should do something with enums in niecza soon (before rakudo) | 07:07 | ||
| masak | sorear: grrr :) | 07:08 | |
| I have the patches ready, they just cause problems when I apply them. | |||
| pmichaud | if rakudo once had enums (i.e., in alpha), does that count? ;-) | 07:09 | |
| masak | Rakudo *has* enums in master too. | ||
| they're just less than awesome. | |||
| sorear | What's LTA about them? | 07:16 | |
| masak | the enumeration object is an EnumMap instead of wrapping one. | 07:17 | |
| hence, it has the wrong set of methods. | |||
| the individual enum things also have the wrong set of methods. | |||
| sorear | What's the deal with EnumMap anyway | 07:18 | |
| Why can't it just use Hash | |||
| masak | immutability. | ||
| sorear | masak: What I'm currently proudest of in niecza is the implementation of Test::Builder::blame | ||
| sorear wonders how many changes woule need to be made to niecza's Test::Builder for it to work on rakudo, (and how many fudges could be removed) | 07:19 | ||
| s/::Builder/.pm6/ | |||
| masak hides from IRC until after his talk | 07:22 | ||
| o/ | |||
| sorear | aww, I didn't manage to rope masak into reading the best example of niecza input code. | ||
|
07:24
plol joined
|
|||
| pmichaud | sorear: need to pick a day when he's not putting together a talk :) | 07:24 | |
| sorear | Can a Seq contain flattening objects? | 07:26 | |
| pmichaud | A Seq is already flattened, like an Array. | 07:28 | |
| sorear | Is Seq entirely defined in PIR? | 07:30 | |
| TiMBuS | looks like it is | 07:35 | |
|
07:40
Lasse_ joined
|
|||
| dalek | kudo: 0e5edb5 | pmichaud++ | src/core/Int.pm: Clean up &infix:<cmp>(Int, Int). |
07:52 | |
|
07:55
eternaleye joined
|
|||
| pmichaud | TiMBuS: you may need to descalarref the values | 07:58 | |
| TiMBuS | can i use isa | 07:59 | |
| pmichaud | better is ACCEPTS | ||
| TiMBuS | Any.ACCEPTS or p6scalar.ACCEPTS? | 08:00 | |
|
08:00
jhuni joined
|
|||
| pmichaud | ...where are you thinking you'd need isa...? | 08:00 | |
| TiMBuS | i'm thinking for times when people pass unboxed types, but now I think about it thats never going to happen is it | 08:02 | |
| its just the current one i wrote works by using "new ['Perl6Scalar'], other_scalar" without derefing | 08:04 | ||
|
08:05
mberends joined
|
|||
| TiMBuS | i do it that way because generated pir does that | 08:05 | |
| pmichaud | hmmmm | 08:08 | |
|
08:08
vcrini joined
|
|||
| dalek | ecza: ea7e7a7 | sorear++ | (2 files): Add MONKEY_TYPING module |
08:11 | |
| ecza: 2ceeaa4 | sorear++ | SAFE.setting: add List!item, fix List.iterator to not leak memory, other list tweaks |
|||
|
08:19
itz joined
|
|||
| cono | rakudo: class E {has $.n is rw; has $.v is rw; method Str{~self.v}}; my E $x .= new(:v(1)); $x.n = E.new(:v(2)); (gather { my $i = $x; while $i.defined { take $i; $i = $i.n } }).join("|").say | 08:22 | |
| p6eval | rakudo 6d3258: OUTPUT«Any()|Any()» | ||
| cono | is it a bug/ | ||
| rakudo: class E {has $.n is rw; has $.v is rw; method Str{~self.v}}; my E $x .= new(:v(1)); $x.n = E.new(:v(2)); (gather { my $i = $x; while $i.defined { take $i; $i = $i.n } }).map({~$_}).join("|").say | |||
| p6eval | rakudo 6d3258: OUTPUT«1|2» | ||
| pmichaud | cono: yes, it's likely a bug. | 08:23 | |
| actually, I might be able to fix it easily now. | |||
| cono | should I submit? | ||
| pmichaud | sure... it's likely the take() bug. | ||
| sorear | std: anon $x = 5; | 08:27 | |
| p6eval | std 31912: OUTPUT«ok 00:01 115m» | ||
| sorear | std: my $x = 5; | ||
| p6eval | std 31912: OUTPUT«ok 00:01 115m» | ||
| LaVolta | is http post available in Perl 6 using modules? | ||
| sorear | std: { my $x = 5; } | ||
| p6eval | std 31912: OUTPUT«Potential difficulties: $x is declared but not used at /tmp/mBUlN7RCQa line 1:------> [32m{ my $x[33m⏏[31m = 5; }[0mok 00:01 115m» | ||
| sorear | std: { anon $x = 5; } | ||
| p6eval | std 31912: OUTPUT«ok 00:01 115m» | ||
| rcfox | So, wait. | 08:29 | |
| You guys are in Italy, but you're still on IRC? :P | |||
|
08:30
foodoo joined
|
|||
| sorear | rcfox: dude, the US isn't the only place with internet | 08:31 | |
| cono | :D | ||
| sorear | US is actually one of the worst places for internet access, even in cities | ||
| rcfox | sorear: I'm Canadian. :P | 08:32 | |
| What I mean is, why aren't you out eating lots of Italian food, harassing the natives? | 08:33 | ||
| rcfox forgot an "and" there... | 08:34 | ||
| mberends | many of us did that to exhaustion last night ;) | ||
| rcfox | Guh, my sleep schedule is not condusive | ||
| sorear | Personally, I recommend not harrassing anybody in a non-native jurisdiction | ||
| rcfox | conducive to coherence. | ||
| rcfox has been doing 4 hours sleeping -> ~20 hours awake -> 3 hours sleeping -> 12 hours awake for the past few days. | 08:36 | ||
| Not even on purpose. :\\ | |||
| sorear | right now, I think my sleep schedule could be used as a high-quality random bit source | ||
| pity I don't actually need to generate new keypairs now. | 08:37 | ||
| mberends | :) | ||
| rcfox | Just talk into a pipe. | 08:38 | |
|
08:51
tadzik joined
08:52
jferrero joined
|
|||
| tadzik | morning #perl6 | 08:52 | |
| cono | tadzik: o/ | 08:53 | |
| rakudo: sub qwe {Nil}; qwe.defined.perl.say | 08:54 | ||
| p6eval | rakudo 0e5edb: OUTPUT«Bool::True» | ||
| cono | rakudo: sub qwe {my $x = 5; $x = Nil; $x}; qwe.defined.perl.say | ||
| p6eval | rakudo 0e5edb: OUTPUT«Bool::False» | ||
| cono | is it a bug? | ||
| sorear | Nil changes when assigned to a scalar variable | 08:55 | |
| it's not a /bug/ | |||
| but it is very weird behavior which I don't understand the rationale for | |||
| cono | changes to what? | 08:56 | |
| rcfox | rakudo: sub foo {0}; foo.defined.perl.say; | 08:57 | |
| p6eval | rakudo 0e5edb: OUTPUT«Bool::True» | ||
| rcfox | Why should it matter if Nil changes? | ||
| The sub should still be defined. | |||
| rakudo: sub qwe {my $x = 5; $x = Nil; $x}; qwe(); | |||
| cono | result of sub | ||
| sorear | the sub is defined | ||
| p6eval | rakudo 0e5edb: ( no output ) | ||
| sorear | you're not testing if the sub is defined | 08:58 | |
| rakudo: sub qwe {my $x = 5; $x = Nil; $x}; say qwe.WHAT | |||
| p6eval | rakudo 0e5edb: OUTPUT«Any()» | ||
| sorear | rakudo: sub qwe {my $x = 5; $x = Nil; $x}; say qwe.WHAT; say &qwe.WHAT; | ||
| p6eval | rakudo 0e5edb: OUTPUT«Any()Sub()» | ||
| cono | rakudo sub qwe { Nil }; qwe.WHAT.say | ||
| rcfox | rakudo: sub foo {0}; say foo.WHAT; | ||
| p6eval | rakudo 0e5edb: OUTPUT«Int()» | ||
| cono | rakudo: sub qwe { Nil }; qwe.WHAT.say | ||
| p6eval | rakudo 0e5edb: OUTPUT«Parcel()» | 08:59 | |
| cono | oO | ||
| rcfox | p6eval: Needs to add the user's name in the reply. :P | ||
| cono | rakudo: "ok".say | ||
| :) | |||
| p6eval | rakudo 0e5edb: OUTPUT«ok» | ||
| rcfox | rakudo: sub foo {0}; say foo.WHAT; | 09:00 | |
| p6eval | rakudo 0e5edb: OUTPUT«Int()» | ||
|
09:00
Meg_ joined
|
|||
| rcfox | rakudo: sub foo {0}; say &foo.WHAT; | 09:00 | |
| p6eval | rakudo 0e5edb: OUTPUT«Sub()» | ||
| rcfox | rakudo: sub foo {0}; say foo; | 09:01 | |
| p6eval | rakudo 0e5edb: OUTPUT«0» | ||
| rcfox | Ah. | ||
| rakudo: say Nil.WHAT; | 09:02 | ||
| p6eval | rakudo 0e5edb: OUTPUT«Parcel()» | ||
|
09:02
briang joined
|
|||
| rcfox | rakudo: say Nil; | 09:02 | |
| p6eval | rakudo 0e5edb: OUTPUT«» | ||
| rcfox | rakudo: my $a = Nil; say $a.WHAT; | 09:03 | |
| cono | I guess Nil == () | ||
| p6eval | rakudo 0e5edb: OUTPUT«Any()» | ||
| rcfox | rakudo: my $a = Nil; say $a; | ||
| p6eval | rakudo 0e5edb: OUTPUT«Any()» | ||
| rcfox | :\\ | ||
| rakudo: say undef; | 09:04 | ||
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Unsupported use of undef as a value; in Perl 6 please use something more specific: Mu (the "most undefined" type object), an undefined type object such as Int, Nil as an empty list, *.notdef as a matcher or method, Any:U as a type constraint | ||
| .. or fail() as a failur… | |||
|
09:04
jhuni joined
|
|||
| rcfox | rakudo: say Mu; | 09:05 | |
| p6eval | rakudo 0e5edb: OUTPUT«Mu()» | ||
| rcfox | rakudo: use MONKEY_TYPING; augment class Mu { method Str { "mew" }}; say Mu; | ||
| cono | rakudo: Mu.new.defined.perl.say | ||
| p6eval | rakudo 0e5edb: OUTPUT«Mu()» | 09:06 | |
| rakudo 0e5edb: OUTPUT«Bool::True» | |||
| rcfox | Oh, I didn't make an instance. | ||
| cono | wyup | ||
| rcfox | rakudo: use MONKEY_TYPING; augment class Mu { method Str { "mew" }}; say Mu.new; | ||
| p6eval | rakudo 0e5edb: OUTPUT«mew» | ||
| rcfox | :D | ||
| rakudo: use MONKEY_TYPING; augment class Block { method Num { self.() }}; my $a = {1+{1+{1+{1+{1}}}}}; say $a(); | 09:08 | ||
| p6eval | rakudo 0e5edb: OUTPUT«5» | ||
| sorear | rcfox: It *should* have happened even for Mu | 09:09 | |
| but ... you're playing very deep in the bowels of rakudo now | |||
| rcfox | sorear: Heh, okay then. | ||
| sorear | and not everything works as it should | ||
| rcfox | Wait, really? | 09:10 | |
| It's a method. | |||
| Doesn't that require an instance? | |||
| tadzik | stackoverflow.com/questions/3420700...talling-it | ||
| Is answering your own questions an usual habit on SO? | |||
| rcfox | tadzik: I think there might even be a badge for it? | ||
| tadzik | rcfox: maybe | 09:11 | |
| sorear | my @x = 1, 2 works in Niecza now | ||
| \\o/ | |||
| tadzik | yes there is | ||
| \\o/ | |||
| rcfox | Haha | ||
| sorear: Nice. That's an important one. ;) | |||
| dalek | ecza: 2ba29b2 | sorear++ | test2.pl: add List.push, Seq to array prototyping |
09:12 | |
| ecza: 241de60 | sorear++ | (2 files): Add pop to arrays prototype |
|||
| ecza: ddf23a6 | sorear++ | (3 files): Implement list assignment and fold arrays back into the standard setting |
|||
| rcfox | Man, Rakudo Star came out at the worst time possible. | ||
| Right before my exams started! | |||
| sorear | The important thing now is @x[0] | 09:13 | |
| And, worse, @x[2][0] | |||
| autovivification and postcircumfix operators | 09:14 | ||
| niecza: say$?ORIG; # Perl6 quine | |||
| p6eval | niecza d274387: OUTPUT«[31m===[0mSORRY![31m===[0mTwo terms in a row at /tmp/aZ_PPMv6tK line 1:------> [32msay[33m⏏[31m$?ORIG; # Perl6 quine[0m expecting any of: POST argument list bracketed infix infix or meta-infix postfix postfix_prefix_meta_operator | ||
| .. statement modifier loopOther p… | |||
| sorear | niecza: say $?ORIG; # Perl6 quine | ||
| p6eval | niecza d274387: OUTPUT«say $?ORIG; # Perl6 quine» | 09:15 | |
| rcfox | Should it have said the comment? | ||
| sorear | yes | 09:16 | |
|
09:19
clintongormley joined
|
|||
| sorear | rakudo: say 2<3>; | 09:20 | |
| p6eval | rakudo 0e5edb: ( no output ) | ||
| sorear | rakudo: use fatal; say 2<3>; | ||
| p6eval | rakudo 0e5edb: OUTPUT«postcircumfix:<> not defined for type Int() in 'Any::at_key' at line 1 in 'Any::postcircumfix:<{ }>' at line 1696:CORE.setting in main program body at line 1» | ||
| sorear | tiny bug there | ||
| fail "postcircumfix:<{ }> not defined for type {self.WHAT}" | 09:21 | ||
| rcfox | ? | ||
| sorear | rcfox: see source line and printed error | ||
| rcfox | Oh, heh. | 09:22 | |
| cosimo | rakudo: my $x = "lalalal \\$4"; say $x; | 09:27 | |
| p6eval | rakudo 0e5edb: OUTPUT«lalalal $4» | ||
|
09:28
meppl joined
|
|||
| cosimo | rakudo: my $ns='8.8.8.8'; my $cmd = "host files.geo.myopera.com $ns | grep ^files | awk '{ print \\$4 }'"; say $cmd; | 09:28 | |
| p6eval | rakudo 0e5edb: OUTPUT«Capture()<0x75141d0>host files.geo.myopera.com 8.8.8.8 | grep ^files | awk '1'» | ||
|
09:28
snearch joined
|
|||
| cosimo | aah, now i understand :) | 09:28 | |
| rakudo: my $ns='8.8.8.8'; my $cmd = "host files.geo.myopera.com $ns | grep ^files | awk '\\{ print \\$4 \\}'"; say $cmd; | |||
| p6eval | rakudo 0e5edb: OUTPUT«host files.geo.myopera.com 8.8.8.8 | grep ^files | awk '{ print $4 }'» | ||
| cosimo | i have to quote the '{' and '}' chars... | 09:29 | |
| rcfox | Strange... | ||
| sorear | just use single quotes | 09:30 | |
| rcfox | Oh, right, there's block interpolation now. | ||
| sorear | it's also specced possible to say q:s'foo' for only scalar interpolation | ||
| and generally allowing you to pick and choose what you want interpolated | |||
| qq:!c"no { code interp" | 09:31 | ||
| but rakudo doesn't do that yet | |||
|
09:33
Alias joined
09:47
thebird joined
09:49
envi^home joined
09:57
uniejo joined
10:00
vcrini joined
10:07
pmurias joined
|
|||
| sorear | it is beginning to strike me as odd that there is only one type of scalar container in the specs | 10:08 | |
| pmurias | sorear: there is Proxy | 10:09 | |
| phenny | pmurias: 03:54Z <sorear> ask pmurias How do I test STD-CPAN builds after altering STD? Would it be possible for me to get a CPAN comaint bit? | ||
| snarkyboojum | I thought Proxy was going away | ||
| bbkr | is there any URI class for P6? i remember that there was nice grammar for it but I cannot find it now on GitHub. | ||
| pmurias | sorear: i'll give you the STD comaint ASAP | 10:10 | |
| sorear: dzil build builds the CPAN dist, Dist-Zilla-Plugin-STD found in v6/ needs to be installed for that | 10:11 | ||
| cono | Where I can find join method definition for List class? | ||
|
10:11
muixirt joined
|
|||
| tadzik | bbkr: there is | 10:12 | |
| github.com/ihrd/uri/ | |||
| not sure it works though | |||
| pmurias | sorear: STD on CPAN doesn't include any tests right now | ||
| tadzik | fails tests for me | ||
| pmurias | sorear: but some sort of testing would be nice to have | 10:13 | |
| bbkr | tadzik: dziekuje | ||
| tadzik | bbkr: proszę. Forkuję że poprawić te failujące testy | ||
| dalek | ecza: 14b2b77 | sorear++ | (2 files): Add a field to lvalues to hold WHENCE data |
||
| tadzik | s/że/żeby/ | ||
| sorear | pmurias: any particular reason the STD dist has its own independant version numbers instead of just using svn ref? | 10:14 | |
| pmurias | didn't think of using those | ||
| sorear | ok | 10:15 | |
| sorear -> sleep | |||
|
10:23
timbunce joined
|
|||
| tadzik | bbkr: I fixed some things, but not all of them | 10:26 | |
|
10:27
Mowah joined,
rgrau joined
|
|||
| tadzik | bbkr: alright, URI::Escape fails, but rest is fine | 10:31 | |
| bbkr | tadzik: awesome | ||
| tadzik | github.com/tadzik/uri | 10:35 | |
| bbkr: ↑ | |||
|
10:38
Italian_Plumber joined
|
|||
| bbkr | tadzik: thanks. currently i borrowed only grammars. I'm developing HTTP::Request/Response and i'll switch to URI when interface will be stable. | 10:41 | |
|
10:42
redicaps joined
|
|||
| zby | can i check if a class was declared by some package? | 10:49 | |
| or rather defined | 10:50 | ||
|
10:56
ktne joined
11:21
uniejo joined
|
|||
| sorear | zby: elaborate? | 11:23 | |
|
11:25
cognominal joined
11:28
shade__ joined
|
|||
| x3nU | gist.github.com/3bc99d33749763cdb4a4 | 11:43 | |
| why it don't work? | |||
| gives me | |||
| ===SORRY!=== | |||
| Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 4 | |||
| sorry | |||
| gives | |||
| ===SORRY!=== | |||
| Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2 | |||
| cono | x3nU: try to delete :i | 11:44 | |
| x3nU | yeah, then it will work | 11:45 | |
| but | |||
| i want case insensitive matching | |||
| cono | I think not implemented yet | ||
| frettled | rakudo: my $s = "fOO"; if ($s ~~ m:i/o/) { say "yay"; } | 11:47 | |
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
| frettled | rakudo: my $s = "fOO"; if ($s ~~ m:samecase/o/) { say "yay"; } | 11:48 | |
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
| TiMBuS | rakudo: my $a; push $a, 1, 2 | 11:51 | |
| p6eval | rakudo 0e5edb: OUTPUT«Method '!fill' not found for invocant of class '' in 'List::push' at line 2609:CORE.setting in main program body at line 22:/tmp/Etsz_aDRT8» | ||
| frettled | rakudo: my $a; push $a, 1; | 11:52 | |
| p6eval | rakudo 0e5edb: OUTPUT«Method '!fill' not found for invocant of class '' in 'List::push' at line 2609:CORE.setting in main program body at line 22:/tmp/1ql3G6yiep» | ||
| zby | sorear - I would like to check if SomeClass is available - so that I could call it, for example by doing SomeClass.new | ||
|
11:53
mberends joined
|
|||
| tadzik | zby: how about try {}? | 11:53 | |
| zby | I guess that could work - but this would not be direct - I mean SomeClass.new can fail in many ways | 11:54 | |
| and also I would need to redo SomeClass.new after loading it | 11:56 | ||
| tadzik | well, you can always check $! to see what failed | 11:58 | |
|
12:01
masak joined
|
|||
| masak | lol talks done | 12:01 | |
| tadzik | I hope you didn't forgot to panic? | ||
| masak | during the talk, I felt strangely serene. | ||
| I should panic a bit later today and work a bit on GSoC. but right now I'm having a break from the panic. | 12:02 | ||
| tadzik | mind showing slides or something? | ||
| masak | sure thing. | 12:03 | |
| just a moment. | |||
| zby | Hmm - then maybe I'll ask it this way - is there an analogue for %INC from Perl 5? | 12:08 | |
| frettled | rakudo: say @*INC | 12:09 | |
| p6eval | rakudo 0e5edb: OUTPUT«lib/home/p6eval/.perl6/lib/home/p6eval//p2/lib/parrot/2.6.0-devel/languages/perl6/lib.» | ||
| frettled | rakudo: say @*INC.perl | ||
| p6eval | rakudo 0e5edb: OUTPUT«["lib", "/home/p6eval/.perl6/lib", "/home/p6eval//p2/lib/parrot/2.6.0-devel/languages/perl6/lib", "."]» | ||
| zby | as I understand this one is an array - %INC is a hash | 12:10 | |
|
12:10
azert0x joined
|
|||
| zby | rakudo say %INC.perl | 12:11 | |
| rakudo: say %INC.perl | |||
| cono | undef | ||
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Symbol '%INC' not predeclared in <anonymous> (/tmp/n_xksr9B7F:22)» | ||
| frettled | zby: I may be a bit lost, but I didn't know there was a hash in Perl 5 for that, only the list @INC. | ||
| masak | tadzik: bottom of feather.perl6.nl/~masak/ | ||
| frettled doesn't usually fiddle with INC. | |||
| zby | well - I would just expect that there is a way to check if something is loaded without trying to call it | 12:12 | |
| masak | from S28: 218: %INC %*INC (maybe, if needed) | ||
| cono | not implemented | ||
| zby | in Perl 5 you can inspect %INC | ||
| tadzik | masak: thanks, will see | ||
| zby | which is not very convenient - but there are modules that make it easier | 12:13 | |
| frettled | zby: aha, now I see, it has something in it when a module is loaded. | ||
| masak++ | |||
| takadonet | morning all | 12:14 | |
| masak | takadonet: \\o | 12:15 | |
|
12:20
pmurias joined
|
|||
| frettled | masak: I think I got the gist of it. | 12:20 | |
| masak | \\o/ | ||
| cono | Where can I find join implementation for List? | 12:21 | |
| masak | brian_d_foy++ # blogs.perl.org/users/brian_d_foy/20...erl-6.html | ||
| cono | read already | ||
| masak | cono: src/core/Any-list.pm | ||
| cono | thanks | 12:22 | |
| masak | brian's post reminds me of jnthn++'s talk. it was great in the respects he mentions. | ||
| pmurias | masak: i figured out how to implement {use v5;...} | 12:24 | |
| TiMBuS | should 'push' turn its first argument into a list if it's uninitialized Any? | 12:25 | |
| masak | pmurias: \\o/ | ||
| pmurias: how? | |||
| TiMBuS: yes. | 12:26 | ||
| rakudo: my $a; $a.push(1, 2, 3); say $a.perl | |||
| p6eval | rakudo 0e5edb: OUTPUT«Method 'push' not found for invocant of class '' in main program body at line 22:/tmp/vXfWeeB8Z7» | ||
| masak | rakudo: my %h; %h<foo>.push(1, 2, 3); say %h.perl | 12:27 | |
| p6eval | rakudo 0e5edb: OUTPUT«Method 'push' not found for invocant of class '' in main program body at line 22:/tmp/pgxLr6lZNp» | 12:28 | |
| pmurias | B::Hooks::EndOfScope + inserting __END__ with some XS | ||
| masak | rakudo: say Nil.defined | 12:30 | |
| p6eval | rakudo 0e5edb: OUTPUT«1» | ||
|
12:30
timbunce joined
|
|||
| cono | masak: look | 12:31 | |
| rakudo: sub q { Nil }; q.defined.perl.say | |||
| zby | Hmm - OK so there is no %*INC yet - but still I would think there should be some way to check if a module (or class) is loaded without calling it? | ||
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Confused at line 22, near "q.defined."» | ||
| masak | cono: anything but 'q' :) | ||
| cono | rakudo: sub qwe { my $x = 5; $x = Nil; $x }; qwe.defined.perl.say | ||
| p6eval | rakudo 0e5edb: OUTPUT«Bool::False» | ||
| cono | rakudo: sub qwe { Nil }; qwe.defined.perl.say | ||
| p6eval | rakudo 0e5edb: OUTPUT«Bool::True» | ||
| cono | :) | ||
| frettled | masak: Regarding the 8-queen problem; have you tried solving the problem generally, that is the N-queen problem? | ||
| masak | cono: there you're doing assignment. | 12:32 | |
| cono | masak: yup | ||
| masak | cono: as soon as you assign Nil to something, it turns into the Appropriate undefined value. | ||
| cono | masak: how to proper undefined the value? | ||
| rakudo: $x = undef; | |||
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Unsupported use of undef as a value; in Perl 6 please use something more specific: Mu (the "most undefined" type object), an undefined type object such as Int, Nil as an empty list, *.notdef as a matcher or method, Any:U as a type constraint | 12:33 | |
| .. or fail() as a failur… | |||
| masak | cono: well, that's how you do it. $x = Nil (or $x = ()) | 12:34 | |
| cono | rakudo: my $x = 5; undef $x; $x.defined.perl.say | 12:35 | |
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Unsupported use of undef as a verb; in Perl 6 please use undefine function or assignment of Nil at line 22, near " $x; $x.de"» | ||
| cono | rakudo: my $x = 5; undefine $x; $x.defined.perl.say | ||
| p6eval | rakudo 0e5edb: OUTPUT«Bool::False» | ||
|
12:44
Holy_Cow joined
|
|||
| squeeky | pmichaud++ # Thanks, this'll keep me busy | 12:45 | |
|
12:53
drbean joined
|
|||
| [Coke] | phenny, tell pmichaud you can adjust the max recursion depth from PIR. want the code? | 12:56 | |
| phenny | [Coke]: I'll pass that on when pmichaud is around. | ||
|
12:57
Lasse_ joined
13:05
widders joined
13:12
snarkyboojum left,
snarkyboojum joined,
snarkyboojum left
13:13
snarkyboojum joined
|
|||
| [Coke] assumes people here have seen: blogs.perl.org/users/brian_d_foy/20...erl-6.html | 13:14 | ||
| takadonet nods | 13:15 | ||
| PerlJam | [Coke]: not I. Thanks :) | ||
| bdf++ | 13:20 | ||
| frettled | Me neither, but looking at it now, thanks [Coke]! | 13:21 | |
| gfldex | std: role foo { has Rule $.matcher; }; | ||
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mIn has declaration, typename 'Rule' must be predeclared (or marked as declarative with :: prefix) at /tmp/6heHW_hGPj line 1:------> [32mrole foo { has Rule[33m⏏[31m $.matcher; };[0mMalformed has at /tmp/6heHW_hGPj line 1:------> [32mrole foo | ||
| ..{… | |||
| gfldex | std: role foo { has rule $.matcher; }; | 13:22 | |
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mMalformed block at /tmp/Pm98LErGtC line 1:------> [32mrole foo { has rule [33m⏏[31m$.matcher; };[0m expecting any of: name regex_def traitParse failedFAILED 00:01 112m» | ||
| gfldex | rakudo: my rule foo { \\{ }; foo.WHAT.say; | ||
| p6eval | rakudo 0e5edb: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in 'foo' at line 2:/tmp/Ks4S0XB0iN in main program body at line 22:/tmp/Ks4S0XB0iN» | ||
| gfldex | rakudo: my rule foo { \\{ }; say foo.WHAT; | 13:23 | |
| p6eval | rakudo 0e5edb: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in 'foo' at line 2:/tmp/cVg7iTdtYb in main program body at line 22:/tmp/cVg7iTdtYb» | ||
| gfldex | rakudo: my rule foo { \\{ }; say /<foo>/.WHAT; | ||
| p6eval | rakudo 0e5edb: OUTPUT«Regex()» | ||
| frettled | PerlJam: I concur, bdf++ | 13:25 | |
|
13:26
uniejo joined
13:31
jaldhar joined
13:32
rindolf joined,
molaf joined
13:36
macroron joined,
ruoso joined
13:41
lmistura joined
13:45
clintongormley joined
13:47
patspam joined
13:57
perimosocordiae joined
|
|||
| bbkr | rakudo: (+"1").WHAT.say # is that a bug? IMO should be Int | 14:02 | |
| p6eval | rakudo 0e5edb: OUTPUT«Num()» | ||
| uniejo | rakudo: BEGIN {push @*INC, "..";} | 14:04 | |
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Could not find sub &push» | ||
| uniejo | rakudo: BEGIN {@*INC.push("..");} | 14:06 | |
| p6eval | rakudo 0e5edb: ( no output ) | ||
| PerlJam | bbkr: How is perl to know? | 14:08 | |
| bbkr | PerlJam: probably same as "say 0.0" prints "0" - Num can be narrowed to Int | 14:11 | |
| PerlJam | bbkr: but, it does look like a bug. From the spec regarding prefix:<+> ... "For values that do not already do the C<Numeric> role, the narrowest appropriate type of C<Int>, C<Rat>, C<Num>, or C<Complex> will be returned" | 14:13 | |
| rakudo: (+"5i").WHAT.say | |||
| p6eval | rakudo 0e5edb: OUTPUT«Num()» | 14:14 | |
| PerlJam | rakudo: (+5i).WHAT.say | ||
| p6eval | rakudo 0e5edb: OUTPUT«Complex()» | ||
| PerlJam | (just checking :) | ||
|
14:15
LaVolta joined,
mberends joined
|
|||
| bbkr | PerlJam: lack of narrowing can bite. I found it while I was parsing URI and passing to Socket::INET port as +$/<port>. and it took me a while to find that :) I'll report this lack of narrowing. thanks for spec quote. | 14:16 | |
| PerlJam | rakudo: (+"2/5").WHAT.say # broken t oo | 14:18 | |
| p6eval | rakudo 0e5edb: OUTPUT«Num()» | ||
| bbkr | PerlJam: also added to ticket: rt.perl.org/rt3/Ticket/Display.html?id=77044 | 14:24 | |
|
14:24
wamba joined
|
|||
| bbkr | rt.perl.org/rt3/Ticket/Display.html?id=62622 - I just fount that something similiar was reported a year ago :) | 14:28 | |
| found* | |||
|
14:32
pmurias joined
|
|||
| pmurias | ruoso: hi | 14:32 | |
|
14:35
jerome_ joined
14:39
patrickas joined
|
|||
| ruoso | hi pmurias | 14:45 | |
| today is soft pencils-down | |||
| cosimo | rakudo: say 0.0, 0.1, 0.2, ..., 1.0; | ||
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Comma found before apparent series operator; please remove comma (or put parens around the ... listop, or use 'fail' instead of ...) at line 22, near " ..., 1.0;"» | ||
| cosimo | rakudo: say 0.0, 0.1, 0.2 ... 1.0; | ||
| p6eval | rakudo 0e5edb: OUTPUT«00.10.20.30.40.50.60.70.80.91» | ||
| cosimo | rakudo: say (0.0, 0.1, 0.2 ... 1.0).perl; | 14:46 | |
| p6eval | rakudo 0e5edb: OUTPUT«(0/1, 1/10, 1/5, 3/10, 2/5, 1/2, 3/5, 7/10, 4/5, 9/10, 1/1)» | ||
| foodoo | cool :) | ||
| cosimo | whatthe... this is highly magical stuff! :-) | 14:47 | |
| rakudo: say (0.0, 0.1, 0.2 ... 1.0); | |||
| p6eval | rakudo 0e5edb: OUTPUT«00.10.20.30.40.50.60.70.80.91» | ||
| cosimo | rakudo: say (0.0, 0.1, 0.2 ... 1.0).join(' '); | 14:48 | |
| p6eval | rakudo 0e5edb: OUTPUT«0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1» | ||
| perimosocordiae | rakudo: say ~(0.0, 0.1, 0.2 ... 1.0); | ||
| p6eval | rakudo 0e5edb: OUTPUT«0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1» | ||
| foodoo | rakudo: say (0.0, 0.1, 0.2 ... 1.0).perl.join( ' ' ); | ||
| p6eval | rakudo 0e5edb: OUTPUT«(0/1, 1/10, 1/5, 3/10, 2/5, 1/2, 3/5, 7/10, 4/5, 9/10, 1/1)» | 14:49 | |
| frettled | rakudo: say (0.1, 0.3 ... 2.7).join(', '); | ||
| p6eval | rakudo 0e5edb: OUTPUT«0.1, 0.3, 0.5, 0.7, 0.9, 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7» | ||
| frettled | rakudo: say (0.1, 0.3, 0.9 ... 2.7).join(', '); | 14:50 | |
| p6eval | rakudo 0e5edb: OUTPUT«0.1, 0.3, 0.9, 2.7» | ||
|
14:50
kiithroen joined
|
|||
| frettled | rakudo: say (0.1, 0.3, 0.9 ... 24.3).join(', '); | 14:50 | |
| p6eval | rakudo 0e5edb: OUTPUT«0.1, 0.3, 0.9, 2.7, 8.1, 24.3» | ||
| frettled | cosimo: isn't that cute magic? | ||
| cosimo | frettled: it's amazing, seriously | 14:51 | |
| PerlJam | Perl 6 is designed to be amazing :) | 14:52 | |
| [Coke] | pmichaud++ | ||
| foodoo | I really need to do more hands on work with perl6. If only my timetable allowed me to :-/ | 14:53 | |
| rakudo: say ~("a".."z"); | 14:55 | ||
| p6eval | rakudo 0e5edb: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y z» | ||
| foodoo | rakudo: say ~("a".."Z"); | ||
| p6eval | rakudo 0e5edb: OUTPUT«» | 14:56 | |
| foodoo | rakudo: say ~("A".."z"); | ||
| p6eval | rakudo 0e5edb: ( no output ) | ||
| foodoo | rakudo: say ~("A".."Z", "a", "z"); | ||
| p6eval | rakudo 0e5edb: OUTPUT«A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a z» | ||
| foodoo | rakudo: say ~("A".."Z", "a".. "z"); | 14:57 | |
| p6eval | rakudo 0e5edb: OUTPUT«A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z» | ||
| PerlJam | rakudo: say "Z".succ; | ||
| foodoo | is there any difference between .. and ... ? | ||
| p6eval | rakudo 0e5edb: OUTPUT«AA» | ||
| PerlJam | foodoo: yes | ||
| cosimo | foodoo: I started coding those little scripts that come up everyday in perl6 instead of perl5 | ||
| right now, I'm running a small simulation to find out how to balance our data centers bandwidth usage while trying to minimize latency across the planet | 14:58 | ||
| i'm so having fun | 14:59 | ||
| rokoteko | rakudo: ~(1/2).WHICH.WHAT | ||
| p6eval | rakudo 0e5edb: ( no output ) | ||
| rokoteko | rakudo: say ~(1/2).WHICH.WHAT | ||
| p6eval | rakudo 0e5edb: OUTPUT«Int()» | ||
| foodoo | cosimo: Thanks for the advice. Perl is certainly a good replacement for shell scripting | 15:00 | |
| rokoteko | .. how to get this to return ObjAt() ? | ||
| � obviously misunderstood something again. :) | |||
| [Coke] needs to fix the REPL dying on a SORRY. | |||
| rokoteko: ObjAT? | 15:01 | ||
| cosimo | foodoo: i didn't want to say that, but... your choice | ||
| rokoteko | [Coke]: S02: 'So WHICH still returns a value rather than another object, but that value must be of a special ObjAt type that prevents accidental confusion with normal value types, and at least discourages trivial pointer arithmetic.' | ||
| foodoo | it's okay | ||
| PerlJam | rokoteko: NYI | 15:02 | |
| rokoteko | Not Yet Implemented? | ||
| [Coke] | hai. | ||
| LaVolta | need to ask a dumb question | 15:03 | |
| rokoteko | ok. So it's not *me* that is lost in perl6. :) Thanks again. | ||
| PerlJam | rakudo: my $a = 5; say $a.WHERE; say $a.WHICH; | ||
| p6eval | rakudo 0e5edb: OUTPUT«1448283845» | ||
| LaVolta | "sub b { ... return \\@a; }" what will b's caller get? a reference? | 15:04 | |
| [Coke] | LaVolta: better to just ask it. =-) | ||
| PerlJam | rakudo: class C {}; my $a = C.new; say $a.WHERE; say $a.WHICH; | ||
| LaVolta | I guess \\ in p6 doesn't mean that | ||
| p6eval | rakudo 0e5edb: OUTPUT«113019216113019216» | ||
| PerlJam | (I had forgotten briefly that value types return their value as their identity) | 15:05 | |
| LaVolta | context: I'm reading through LWP::Simple.pm6 | ||
| method parse_response() | 15:06 | ||
| frettled | rakudo: sub b { my @a = 1,2,3; @a; }; my $x = b; $x.WHAT.say; | ||
| p6eval | rakudo 0e5edb: OUTPUT«Array()» | ||
| frettled | LaVolta: does that example do something similar to what you want? | 15:07 | |
| LaVolta | frettled: add a '\\' in front of @a... | 15:08 | |
| frettled | LaVolta: why? | ||
| PerlJam | LaVolta: \\@a turns @a into a Capture. | ||
| LaVolta | interesting...i forget about .WHAT | ||
| frettled | rakudo: sub b { my @a = 1,2,3; @a; }; my $x = b; $x[1].say; | ||
| p6eval | rakudo 0e5edb: OUTPUT«2» | ||
| frettled | rakudo: sub b { my @a = 1,2,3; @a; }; my $x = b; my @y = $x,4,5; @y.perl.say; | 15:09 | |
| p6eval | rakudo 0e5edb: OUTPUT«[[1, 2, 3], 4, 5]» | ||
| frettled | rakudo: sub b { my @a = 1,2,3; @a; }; my $x = b; my @z = b; my @y = $x,4,5,@z; @y.perl.say; | ||
| p6eval | rakudo 0e5edb: OUTPUT«[[1, 2, 3], 4, 5, 1, 2, 3]» | 15:10 | |
| LaVolta | i am reading through the module, then came across this line: ' return $status_line, \\%header, \\@content;' | ||
| just wondering what the '\\'s are used for | 15:11 | ||
| TiMBuS | i think refs? like perl 5 | ||
| PerlJam | Perl 6 doesn't have references. | ||
| TiMBuS | if it uses % or @ it will copy tho | 15:12 | |
| wait no it wont | |||
| i am confused now. ive seen it used in rakudo internals and i just never really thought about it | 15:13 | ||
| rokoteko | PerlJam: no references? what for are the dereference ops for then? | 15:16 | |
| rakudo: my @arr = <a b c>; my $x := @arr; say list $x ~ "/" ~ @($x) | |||
| p6eval | rakudo 0e5edb: OUTPUT«a b c/a b c» | ||
| PerlJam | rokoteko: that's not a dereference op | ||
| rakudo: my @arr = <a b c>; my $x := @arr; say list $x ~ "/" ~ $x.list | 15:17 | ||
| p6eval | rakudo 0e5edb: OUTPUT«a b c/a b c» | ||
| rokoteko | S03: "Perl 5's ${...}, @{...}, %{...}, etc. dereferencing forms are now $(...), @(...), %(...), etc. instead." .. can you please elaborate? Im not understanding something. | 15:18 | |
|
15:19
ashleydev joined
|
|||
| PerlJam | rokoteko: @($x) is more like "give me the list view of $x" If $x is a capture (it doesn't have to be), you get just the listy bits of the capture and the hashy bits are ignored. (for instance) | 15:20 | |
| rakudo: say @(1,2,3); | |||
| p6eval | rakudo 0e5edb: OUTPUT«123» | ||
| PerlJam | rakudo: my $blah = 7; say @($blah); | ||
| p6eval | rakudo 0e5edb: OUTPUT«7» | 15:21 | |
| PerlJam | and also ... | ||
| rokoteko | PerlJam: what does dereference mean in perl6 then if there are no references? .. confused. | ||
| PerlJam | rakudo: my %h = "a" => 6, "z" => 5; say @(%h); | ||
| p6eval | rakudo 0e5edb: OUTPUT«z 5a 6» | ||
| [Coke] | rakudo: my %h = "a" => 6, "z" => 5; say @%h; | 15:22 | |
| PerlJam | rokoteko: nothing. I think that text is slightly fossilized. | ||
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Non-declarative sigil is missing its name at line 22, near "@%h;"» | ||
| TiMBuS | to explain further, %($a) is exactly equal to $a.hash. @($a) is $a.list, etc | ||
| LaVolta | oh....I remember that, me myself or someone else asked once, and TimToady said @$x is a shorthand for @($x) | ||
| rokoteko | PerlJam: ahh. ok. Im reading this from perlcabal.org, anything more current available? | ||
|
15:22
M_o_C joined
|
|||
| [Coke] | rokoteko: if you're reading the SYN, that's the up-to-date-est. | 15:22 | |
| ... but that doesn't mean it doesn't contain fossils. | 15:23 | ||
|
15:23
ashleydev_ joined
|
|||
| LaVolta is trying to grok S02 again and again... | 15:24 | ||
|
15:26
Axius joined
|
|||
| PerlJam | A quick ack of the synopses shows it talking about dereferencing using prefix |, postfix .(), and circumfix $() | 15:26 | |
| I think the language just needs a little cleaning perhaps | |||
| (or reference/dereference needs some good definition) | 15:27 | ||
| frettled | PerlJam: Slightly bugrep-like material, more of a ToDo, really, since it probably needs a bit of discussion, maybe on p6l? | 15:30 | |
| rokoteko | ahh. think I found it in S02. | 15:37 | |
| 'Parcel and Capture objects fill the ecological niche of references in Perl 6. You can think of them as "fat" references, that is, references that can capture not only the current identity of a single object, but also the relative identities of several related objects. Conversely, you can think of Perl 5 references as a degenerate form of Capture when you want to refer only to a single item.' | |||
| rakudo: my @arr = <a 1 b 2 c 3>; my %hash = "a" => 1, "b" => 2; my $x := @arr; say @($x).perl ~ "/" ~ %($x).perl | 15:38 | ||
| p6eval | rakudo 0e5edb: OUTPUT«["a", "1", "b", "2", "c", "3"]/{"a" => "1", "b" => "2", "c" => "3"}» | ||
| rokoteko | .. this would fail in perl5 as perl5 refs can only contain a reference to a hash or to an arr. not to both. | ||
| TiMBuS | but that $x only refers an array. you converted it to a hash | 15:42 | |
| frettled | rokoteko: well, uhm | ||
| rokoteko | rakudo: my %hash = "a" => 1, "b" => 2; my $x := %hash; say @($x).perl ~ "/" ~ %($x).perl | ||
| p6eval | rakudo 0e5edb: OUTPUT«Method 'hash' not found for invocant of class '' in main program body at line 22:/tmp/4sWfLithMd» | ||
| frettled | rokoteko: in Perl 5, you'd do: my %h = @{$x}; # viola, a hash | 15:43 | |
| TiMBuS | rakudo: my $x = [1,2,3,4,5,6]; %($x).perl.say | ||
| p6eval | rakudo 0e5edb: OUTPUT«{"5" => 6, "1" => 2, "3" => 4}» | ||
| rokoteko | Hmm. Ok. I trust you all. It's probably just "wrong" terms used in the SYNs then. thanks all. Ill try to digest this. | 15:44 | |
| TiMBuS | is it better to say everything is a reference? | 15:45 | |
| rakudo: my $x = [1,2,3,4,5,6]; my $z = $x; $x[2] = 'blah'; $z.perl.say | 15:46 | ||
| p6eval | rakudo 0e5edb: OUTPUT«[1, 2, "blah", 4, 5, 6]» | ||
| rokoteko | TiMBuS: obviously not, since this far Ive been told there are no references in perl6. I was just wondering the usage of the word "derefence" in S02 and S03 .. (havent gotten very far in the syns yet) :) | ||
| *dereference | |||
|
15:47
Mowah joined
|
|||
| LaVolta | may I understand Capture this way: it 'captures' a value, and later might be cast into other types | 15:48 | |
| frettled | rokoteko: P5 example, BTW: nopaste.snit.ch/22591 | ||
| Perhaps a better word would be «decapture», but that sounds just weird. Discapture? Uncapture? | |||
|
15:49
LaVolta joined,
tom_tsuruhara joined
|
|||
| rokoteko | frettled: thank you. fortunately I already understands bits of perl5 works. :) | 15:49 | |
| LaVolta | thank you for your uncountable help | 15:50 | |
|
15:50
desertm4x joined,
timbunce joined
|
|||
| rokoteko | p6eval rakudo: my $arr = [<a 1 b 2>]; my %hash = %($arr); say %hash.perl | 15:52 | |
| p6eval | rokoteko: rakudo 0e5edb: OUTPUT«{"a" => "1", "b" => "2"}» | ||
| rokoteko | seems to work in a smiliar fashion. | ||
| actually just an hour earlier I thought you had to say: | 15:53 | ||
| p6eval rakudo: my $arr = [<a 1 b 2>]; my %hash := $arr; say %hash.perl | |||
| p6eval | rokoteko: rakudo 0e5edb: OUTPUT«["a", "1", "b", "2"]» | ||
| rokoteko | ahh. but that is different. | 15:54 | |
|
15:54
uniejo_ joined
|
|||
| rokoteko | rakudo: my $arr = [<a 1 b 2>]; my %hash := %($arr); say %hash.perl | 15:55 | |
| p6eval | rakudo 0e5edb: OUTPUT«{"a" => "1", "b" => "2"}» | ||
|
15:55
uniejo_ joined
15:57
uniejo_ joined
|
|||
| rokoteko | also my %hash := $arr.hash; ... but I kinda prefer the %($arr) to $arr.hash as the former obviously reduces my cognitive load as a programmer. | 15:57 | |
|
15:57
uniejo joined
|
|||
| LaVolta says bye-bye to #perl6, see you tomorrow :) | 15:58 | ||
|
15:58
briang left
16:00
robert3t joined
|
|||
| perimosocordiae | rokoteko: the sigil-y version only reduces the load if you're a perl5'er. Rubyists would much prefer $arr.hash | 16:00 | |
| pmurias | ruoso: isn't the soft pencil down date one the 9th? | ||
| s/one/on/ | |||
| rokoteko | hugme: hug perimosocordiae | 16:05 | |
| hugme hugs perimosocordiae | |||
| rokoteko | perimosocordiae: very nice to hear that rubyists might also be interested of perl6. :) | 16:07 | |
| perimosocordiae | rokoteko: of course! I think of perl6 as the lovechild of perl5, ruby, and haskell | 16:09 | |
| pmurias | ruoso: see github.com/pmurias/Devel-EvalFragment | ||
| rokoteko | perimosocordiae: :) | ||
| perimosocordiae | (don't ask me how all three got in there;-)) | ||
| diakopter | pmurias: yes; the 9th | ||
| pmurias | diakopter: hi | 16:10 | |
| pmurias just wrote the module that can make determin where a {use v5;...} ends | 16:11 | ||
| Exodist | does perl6 still require a file to end with a true value? | 16:13 | |
|
16:13
pyrimidine joined
|
|||
| Exodist | (ala perl5) | 16:13 | |
| pmurias | Exodist: no | ||
| Exodist | :-D | ||
| takadonet | Exodist: best reason to switch | 16:15 | |
| Exodist | heh | ||
| pyrimidine | that, and signatures | 16:20 | |
| and grammars | |||
| and etc etc etc etc | |||
|
16:23
tadzik joined,
risou joined,
justatheory joined
|
|||
| tadzik | is there a better way to check if a module is installed than try {'use Module'} ? | 16:25 | |
| I wonder if that's how CPAN does this | |||
| (cpan, the client) | |||
| zby | is 'use' execution time in Perl6? | 16:28 | |
| tadzik | what do you mean? | 16:29 | |
| zby | in Perl5 use is compile time | ||
| so try { use Module } | |||
| tadzik | hmm, right | ||
| zby | would not work because it would be executed before the interpreter gets to try | ||
| Exodist | zby, try{ require Module } | 16:30 | |
| tadzik | how about require? | ||
| oh, ok :) | |||
| Exodist: it's me who has to try :) | |||
| zby | yeah - I've seen that require is on the list of functions | ||
| Exodist | use also has other consequences you don,t want (in p5 at least, not sure on perl6) | ||
| tadzik | import | ||
| zby | I am also waiting for documentation for require | ||
| like for example the failure modes | 16:31 | ||
| i.e. file not found | |||
| and does not compile | |||
| Exodist | p6 still has use = BEGIN { require + import() } ? | ||
| tadzik | no idea | ||
|
16:31
jaldhar joined
|
|||
| Exodist | as opposed to some other magic | 16:31 | |
| zby | tadzik - if you find out about that - please pass the knowledge | 16:32 | |
| tadzik | I'm tempted to write some proper dependency management for neutro. Like when you install a module with loads of deps and then remove it, it can remove all the unneeded dependencies | ||
| Exodist | hmm, I wonder if use/require errors are a standard, or implementation dependant? | 16:33 | |
| tadzik | but that isn't easy in terms of many module installers, and I wonder if anyone cares anyway | ||
| zby: sure | |||
| zby: are Synopsis still "to be continued"? | |||
|
16:34
jaldhar joined
|
|||
| tadzik | * Synopses | 16:35 | |
| [particle] | Exodist: it's a little different in perl 6 | 16:36 | |
| Exodist | [particle], ? | 16:37 | |
| [particle] | see synopsis 11: perlcabal.org/syn/S11.html | ||
| tadzik | zby: perlcabal.org/syn/S11.html#Compile-...mportation | ||
| found :) | |||
| Exodist | [particle], I mean whats different, the erroring, or requre vs use? | 16:38 | |
| [particle] | tadzik: for the most part, the higher the # on the synopsis, the less complete it is | ||
| tadzik | [particle]: yeah, that's how it looks like on perlcabal.org/syn/ | ||
|
16:39
Mowah joined
|
|||
| [particle] | tadzik: that's mainly because they're written so that the later chapters refer back to the previous chapters | 16:39 | |
| tadzik | reasonable | 16:40 | |
|
16:41
rir joined
|
|||
| rir | ? | 16:41 | |
| Exodist | hmm, the page clarified almost everything, but it does not say weather error messages are standardized, or implementation dependant. | 16:42 | |
| A lot of code in perl5 parses the expected error messages (bad idea) I could see a problem with compatibility. | |||
| or tests that test for an error... | 16:43 | ||
| tadzik | I think Exception class is planned to be something more than a string-keeper | ||
|
16:43
_macdaddy joined
|
|||
| Exodist | ah, yah, forgot exceptions are meaningful in p6. | 16:44 | |
| tadzik | not yet :) | ||
| zby | Hmm - it does not seem to answer the question of how do you import a module that you don't know the name at compile time | ||
| like 'require $module' | 16:45 | ||
| tadzik | require "/home/non/Sense.pm" <common @horse>; says Syn | ||
| there can be any string I think | |||
| rir | good localtime, all. I have gotten R* and would like to use git to pull the various released products. What do I need to do? | 16:46 | |
| tadzik | star: my $foo = "File::Find"; require $foo; say 'alive' | ||
| p6eval | star 2010.07: OUTPUT«Could not find sub &require in main program body at line 22:/tmp/P5OuNB0RMe» | ||
| tadzik | now that's funny | ||
| Exodist | yeah... | ||
| tadzik | rir: define: various released products | ||
| Exodist | star: require File::Find; | ||
| p6eval | star 2010.07: OUTPUT«Can not find sub File::Find in main program body at line 1» | ||
| Exodist | star: my $foo = "File::Find"; eval "require $foo"; say 'alive' | 16:47 | |
| p6eval | star 2010.07: OUTPUT«alive» | ||
| tadzik | oh, funny | ||
| rir | "various released products" ~~ the non-core modules in the tarball: miniDBI, etc. | ||
| tadzik | star: my $foo = "File::Find"; eval "require $foo"; find.WHAT | ||
| p6eval | star 2010.07: OUTPUT«Could not find sub &find in main program body at line 22:/tmp/HXw9ZmYxsN» | ||
| tadzik | crap | 16:48 | |
| Exodist | tadzik... | ||
| star: require File::Find; | |||
| p6eval | star 2010.07: OUTPUT«Can not find sub File::Find in main program body at line 1» | ||
| Exodist | is require even implemented? | 16:49 | |
| [Coke] | not sfaik. | ||
| zby | as I understand you need to put filename there not the module | ||
| Exodist | std: my $foo = "File::Find"; require $foo; say 'alive' | ||
| p6eval | std 31912: OUTPUT«ok 00:01 116m» | ||
| Exodist | pugs: my $foo = "File::Find"; require $foo; say 'alive' | ||
| p6eval | pugs: OUTPUT«*** Unsafe function 'require' called under safe mode at /tmp/8r82fMRyXt line 1, column 25-37» | ||
| Exodist | lol | ||
| rakudo: my $foo = "File::Find"; require $foo; say 'alive' | |||
| p6eval | rakudo 0e5edb: OUTPUT«Could not find sub &require in main program body at line 22:/tmp/jP4xLRwhne» | 16:50 | |
| Exodist | star: my $foo = "File::Find"; eval "use $foo ()" || die( $@ ); say 'alive' | 16:51 | |
| p6eval | star 2010.07: OUTPUT«===SORRY!===Unsupported use of $@ variable as eval error; in Perl 6 please use $! at line 22, near " ); say 'a"» | ||
| Exodist | star: my $foo = "File::Find"; eval "use $foo ()" || die( $! ); say 'alive' | ||
| p6eval | star 2010.07: OUTPUT«alive» | ||
| Exodist | star: my $foo = "File::Find"; eval "use $foo ()" || die( $! ); say find.WHAT | ||
| p6eval | star 2010.07: OUTPUT«Could not find sub &find in main program body at line 22:/tmp/gys9X4w9aW» | ||
| Exodist | star: my $foo = "File::Find"; eval "use $foo" || die( $! ); say find.WHAT | 16:52 | |
| p6eval | star 2010.07: OUTPUT«Could not find sub &find in main program body at line 22:/tmp/cddUurodnK» | ||
| Exodist is done | |||
| oh yeah! use imports to scope, which is the eval | 16:53 | ||
| star: my $foo = "File::Find"; eval "use $foo; say find.WHAT" || die( $! ); | |||
| p6eval | star 2010.07: ( no output ) | ||
| tadzik | this is hopeless :) | ||
| Exodist | thats scary.. | ||
| tadzik | but | ||
| star: my $foo = "File::Find"; eval "require $foo"; say 'alive' | 16:54 | ||
| p6eval | star 2010.07: OUTPUT«alive» | ||
|
16:54
jferrero joined
|
|||
| Exodist | star: my $foo = "File::Find"; eval "require $foo" || die( $! ); say 'alive' | 16:54 | |
| p6eval | star 2010.07: OUTPUT«alive» | ||
| tadzik | star: my $foo = "Nothing"; eval "require $foo"; find.WHAT | ||
| p6eval | star 2010.07: OUTPUT«Could not find sub &find in main program body at line 22:/tmp/ooQaXWpsOt» | ||
| tadzik | star: my $foo = "Nothing"; eval "require $foo"; say 'alive' | ||
| p6eval | star 2010.07: OUTPUT«alive» | ||
| mberends | Exodist, tadzik : here's one I did earlier: eval 'use MiniDBD::mysql; $driver = MiniDBD::mysql.new()' (from github.com/mberends/MiniDBI/blob/ma...I.pm6#L29) | ||
| tadzik | damn | ||
| Exodist | tadzik, the use is lexical to the eval, find() wont be defined outside it. | 16:55 | |
| tadzik | Exodist: that's ok, now I want to check if it actally loads the module | ||
| star: my $foo = "Nothing"; eval "use $foo"; say 'alive' | |||
| p6eval | star 2010.07: OUTPUT«alive» | ||
| tadzik | oh, sure | ||
| Exodist | mberends, ah, that is crafty. | 16:56 | |
|
16:56
dual joined,
jaldhar joined
|
|||
| Exodist | so, is it more correct to use file.pm or file.pm6 when writing a perl6 module? | 16:58 | |
| tadzik | pm I think | ||
| I see the Big Guys using .pm :) | 16:59 | ||
| mberends | .pm6 was added recently to clarify file contents in multi language projects, such as STD.pm6 | 17:00 | |
| tadzik | star: my $foo = 'File::Find'; my $works = 0; eval "use $foo; $works = 1"; say 'works' if $works; | 17:04 | |
| p6eval | star 2010.07: ( no output ) | ||
| tadzik | pff | ||
| star: my $foo = 'File::Find'; my $works = 0; eval '$works = 1'; say 'works' if $works; | 17:05 | ||
| p6eval | star 2010.07: OUTPUT«works» | ||
| tadzik | star: my $foo = 'File::Find'; my $works = 0; eval "use $foo; \\$works = 1"; say 'works' if $works; | ||
| p6eval | star 2010.07: OUTPUT«works» | ||
| tadzik | star: my $foo = 'Works::Not'; my $works = 0; eval "use $foo; \\$works = 1"; say 'works' if $works; | 17:06 | |
| p6eval | star 2010.07: ( no output ) | ||
| tadzik | a'right | ||
|
17:10
jfried joined
|
|||
| rokoteko | what are you trying to do? just out of curiosity? | 17:13 | |
| tadzik | I'm trying to figure whether a module is installed and working, or not | 17:14 | |
| rokoteko | tadzik: I think particle already guided you to perlcabal.org/syn/S11.html .. which Im browsing through right now. | 17:16 | |
| tadzik: search for "Runtime Importation" | 17:17 | ||
| tadzik | rokoteko: tried this alredy | 17:18 | |
| [Coke] said require isn't even implemented | 17:19 | ||
| rokoteko | ok. :) Im only in S03 myself, so can't yet provide further advice. | ||
| Ahh. | |||
| [Coke] | rakudo: use "something"; | 17:24 | |
| p6eval | rakudo 0e5edb: OUTPUT«Could not find sub &use in main program body at line 22:/tmp/2uNT3jh6dj» | ||
| [Coke] | hurm. | ||
| avuserow | star: use something; | 17:25 | |
| p6eval | star 2010.07: OUTPUT«===SORRY!===Unable to find module 'something' in the @*INC directories.(@*INC contains: /home/p6eval/.perl6/lib /home/p6eval/rakudo-star-2010.07/install/lib/parrot/2.6.0/languages/perl6/lib .)» | ||
| avuserow | rakudo: use something; | ||
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Unable to find module 'something' in the @*INC directories.(@*INC contains: lib /home/p6eval/.perl6/lib /home/p6eval//p2/lib/parrot/2.6.0-devel/languages/perl6/lib .)» | ||
|
17:29
timbunce joined
17:45
_jaldhar joined
|
|||
| [Coke] | 17:47 | ||
| pugssvn | r31915 | moritz++ | [t/spec] tests for rx:i etc. quoting (no semantic checks yet) | 17:51 | |
| r31916 | moritz++ | [helpnow] delete drafts, they are out of date anyway | 17:52 | ||
| r31917 | moritz++ | [helpnow] rewrite README; bring it up-to-date | |||
| r31918 | moritz++ | [S05] be explicit about which attributes/modifiers are allowed where | |||
| r31918 | | |||
| r31918 | Also removes rx:g// from existing examples. | |||
| r31918 | Added myself boldly to AUTHORS list | |||
| r31919 | moritz++ | [S03] smart-match entry for Match on RHS | |||
| r31919 | | |||
| r31919 | After some discussion with @Larry on YAPC::EU, we figured that's the best way | |||
| r31919 | to solve the dilemma that C<'string' ~~ m/regex/> immediately matches on the | |||
| r31919 | right-hand side, thus ends up calling $/.ACCEPTS('string'). | |||
|
17:55
[Coke] joined
|
|||
| [Coke] | 17:55 | ||
| [Coke] thinks he's registered this nick now. | 17:56 | ||
| (what a pita. =) | |||
|
18:00
M_o_C joined
|
|||
| tadzik | cosimo: | 18:01 | |
| cosimo: perl6-lwp-simple has a broken deps.proto: should be Perl6-MIME-Base64, not perl6-... | |||
| moritz_ | blog.fox.geek.nz/2010/08/why-am-i-n...6-yet.html | 18:13 | |
| oh I see that pmichaud++ and szabgab++ already commented | |||
|
18:14
oha joined
|
|||
| moritz_ also blagged, twice | 18:14 | ||
|
18:17
mberends joined
18:20
Trashlord joined
18:22
drrho joined
18:24
Holy_Cow joined
|
|||
| drrho | Hi! A quick question Re: grammars in Perl6: | 18:24 | |
| I picked up on a blog .... | 18:25 | ||
| grammar PERL6 is Perl6 { .... } | |||
| moritz_ | that likely won't run yet | ||
| drrho | The idea being that the Perl6 syntax can be extended via "subclassing" the parser. | ||
| moritz_ | right | ||
| drrho | :-) | ||
| I think this was _your_ blog, moritz. | |||
| Ah, ok. | 18:26 | ||
| [particle] | that grammar practically shouts PERL! | ||
| moritz_ | probably perlgeek.de/en/article/mutable-gram...for-perl-6 | ||
| [particle]: that's the point | |||
| drrho | Yup! | ||
| This is _really_ a cool feature, I have to say. | 18:27 | ||
| Will be patient :-) | |||
| hercynium | hey there... I don't see it in the scrollback so: has anybody mentioned a usability/cosmetic issue on try.rakudo.org/ ? | ||
| moritz_ | hercynium: it's not yet production ready - we know full well it sucks as it is know | 18:28 | |
| [Coke] | hercynium: there are some issues. it kind of snuck out before we were quite happy with it. | ||
| hercynium | Camelia sits in front of the first two lines of output and there's no way to move her | ||
| [Coke] | but you can always open a RT for issues you find.\\ | ||
| hercynium | heh | ||
| sure... where's the url? | |||
| (btw, the site looks great, and seems to be much faster since yesterday) | 18:29 | ||
| [Coke] | rakudobug@perl.org works. | ||
| (even though it's not rakudo.) | |||
| hercynium | OK will do | 18:30 | |
|
18:32
xinming_ joined
|
|||
| hercynium | thar we go. A "bug" report ;-) | 18:36 | |
|
18:40
tadzik joined
|
|||
| sorear | phenny: tell pmurias SOREAR | 18:41 | |
| phenny | sorear: I'll pass that on when pmurias is around. | ||
|
18:48
ashleydev joined
18:51
skyheights joined
|
|||
| tadzik | yay, neutro handles deps now | 18:52 | |
| hmm, doesn't git handle empty directories? | 18:55 | ||
| avuserow | tadzik: nope, only directories with content | 18:56 | |
| tadzik | avuserow: this is a feature? | 18:57 | |
|
18:57
molecules joined
|
|||
| avuserow | I guess? | 18:57 | |
| I usually just make a TODO or README file | |||
| or an EXISTS file or something | |||
| I usually don't need to have empty directories anyway | |||
| tadzik | well, I wanted an empty dir for tests | 18:58 | |
| moritz_ | or a .gitignore | ||
| tadzik: mkdir | |||
| tadzik | hmm, can be | ||
| molecules | rakudo: class Range6 { has Int $.chr; }; | ||
| p6eval | rakudo 0e5edb: ( no output ) | ||
| molecules | rakudo: class Range6 { has Int $.chr; }; my $range = Range6.new(); $range.perl.say; | 18:59 | |
| p6eval | rakudo 0e5edb: OUTPUT«Range6.new(chr => Any)» | ||
| perimosocordiae | tadzik: anything in neutro to avoid infinite-looping on circular dependencies? (not that those should happen, but...) | 19:04 | |
| tadzik | perimosocordiae: will lead to infinite recursion I think. Not that this should happen, but yeah, should be fixed | ||
| mind opening a GH issue? | 19:05 | ||
| perimosocordiae | not at all | ||
| tadzik | I think about cleaning modules.list a bit, not to include everything on modules.perl6.org but rather to include things that work and actually can be installed | ||
|
19:06
cono joined
|
|||
| perimosocordiae | yeah, even if it's just commenting out the ones that fail | 19:06 | |
| tadzik | my $match = "^A," ~~ m/ <ABC::pitch> /; -- is this working in current Rakudo? | 19:07 | |
| I mean using a token from foreign grammar? | |||
| moritz_ | no | ||
| ABC.parse($string, :rule<pitch>) | 19:08 | ||
| tadzik | is there a workaround, or this just waits to be fixed? | ||
| moritz_ | is the best you can do | ||
| oh wait | |||
| in your own grammar | |||
| tadzik | causes a failing tests in URI and ABC | ||
| moritz_: I mean this: github.com/LastOfTheCarelessMen/ABC...gexes.t#L8 | |||
|
19:09
plol joined
|
|||
| moritz_ takes a look | 19:09 | ||
| tadzik: my $match = ABC.parse($string, :rule<pitch>) | |||
| would "fix" it | 19:10 | ||
| tadzik | mhm | ||
| moritz_: but is the original behaviour planned to be fixed? | |||
| is arnsholt sometimes around? | |||
| moritz_ | tadzik: yes, but probably on if it's an 'our rule pitch { ... }' in the ABC grammar | 19:11 | |
| tadzik installing all proto modules to see how many of them work | 19:13 | ||
| phenny: tell masak could You fix CSV in some spare time? The tests fail | 19:15 | ||
| phenny | tadzik: I'll pass that on when masak is around. | ||
| tadzik | phenny: thanks buddy | ||
| cosimo: ping | 19:18 | ||
| cosimo: could you take a look at Digest::MD5 too? It fails some tests with Null PMC access | |||
|
19:18
xinming joined
|
|||
| tadzik | phenny: tell masak also, could you take a look at web's dependencies too? gttp::daemon is not in proto | 19:21 | |
| phenny | tadzik: I'll pass that on when masak is around. | ||
| tadzik | moritz_: JSON is failing 04-roundtrip.t for me, could You take a look? | 19:29 | |
|
19:36
ashleydev joined
19:39
justatheory joined
|
|||
| moritz_ | tadzik: it's a known failure | 19:45 | |
| nothing severe, just array/list thing distinction, iirc | |||
| perimosocordiae | tadzik: I tried running the new neutro code, but the mkdirp call somehow created ~/.neutro with perms 000 | 19:47 | |
| tadzik | perimosocordiae: update your rakudo | ||
| perimosocordiae: it was fixed few days ago | |||
| perimosocordiae | tadzik: ah, thanks | 19:48 | |
| alester is going to give chromatic a big kiss. | |||
| moritz_ | Date: Wed Aug 4 12:19:55 2010 +0200 | ||
| (that was the fix from the umask + chmod problem) | 19:49 | ||
| tadzik | whew. I just installed (all tried) every module in proto db | ||
| moritz_ | how many of them are b0rked? | 19:50 | |
| tadzik | failing tests are like in 50% | ||
| few of them don't work for various reasons | |||
| I think it'd be nice to put the module binaries in bin/ rather than lying around | 19:51 | ||
| it would be easier to install them when shamelessly ingoring Makefile :) | |||
| moritz_ | rakudo: say [<an array>].perl | 19:53 | |
| tadzik | moritz_: seen my mail on @perl6-users? | ||
| p6eval | rakudo 0e5edb: OUTPUT«["an", "array"]» | ||
| moritz_ | tadzik: yes, but didn't get around to writing a decent reply yet | ||
| rakudo: for <a b>.kv -> $k, $_ { .perl.say } | |||
| p6eval | rakudo 0e5edb: OUTPUT«01» | ||
| moritz_ | huh. | ||
| shouldn't that be "a", "b" ? | 19:54 | ||
|
19:54
_jaldhar joined
|
|||
| moritz_ | rakudo: for <a b>.kv -> $k, $v { $v.perl.say } | 19:54 | |
| p6eval | rakudo 0e5edb: OUTPUT«"a""b"» | ||
| tadzik | rakudo: <a b>.kv.perl | ||
| rakudo: <a b>.kv.perl.say | |||
| p6eval | rakudo 0e5edb: ( no output ) | ||
| rakudo 0e5edb: OUTPUT«(0, "a", 1, "b")» | |||
| moritz_ submits rakudobug | 19:55 | ||
| tadzik: I just todo'ed the tests in json | 19:57 | ||
| should be clean now | |||
| tadzik | moritz_: yep, looks fine | 20:03 | |
| moritz_++ | |||
|
20:03
jaldhar_ joined
|
|||
| [Coke] | phenny: .u ace | 20:03 | |
|
20:10
zostay joined
20:13
ash_ joined,
skyheights joined
20:21
tylercurtis joined,
xinming_ joined
20:24
Eddward joined
20:25
_macdaddy joined
|
|||
| Eddward | Is the MAIN sub supposed to be working correctly in Rakudo *? | 20:26 | |
| ...from perlgeek.de/en/article/5-to-6#post_14 | |||
| tadzik | Eddward: yup | 20:27 | |
| Eddward: got any issues? | |||
| Eddward | A couple things seem wrong. | 20:28 | |
| moritz_ | rakudo: sub MAIN($x = 5) { say $x } | ||
| Eddward: do tell | |||
| p6eval | rakudo 0e5edb: OUTPUT«5» | ||
|
20:28
lue joined
|
|||
| Eddward | Using the example from that page I get the following message ... | 20:28 | |
| oops... leading slash | 20:29 | ||
| ... /tmp/main-test.p6 [--home=value-of-home] [--recursive=value-of-recursive] [--force=value-of-force] path | |||
| sub MAIN($path, :$force, :$recursive, :$home = glob("~/")) | |||
| moritz_ | that's curious | ||
| Eddward | Looks like force & recursive should not require a value. | 20:30 | |
| tadzik | it would be kind of them | ||
| Eddward | Also, home is not optional for me. | ||
| moritz_ | Eddward: the problem is that glob() is not yet implemented in Rakudo | ||
| Eddward | oh. | ||
| moritz_ | Eddward: if you replace the glob("~") by just '~', you get the proper behaviour | ||
| Eddward: but it is a bug that the USAGE sub is triggered on that error | 20:31 | ||
| rakudo: sub MAIN($x = unknown_function()) { }; | |||
| p6eval | rakudo 0e5edb: OUTPUT«Usage:/tmp/xxCYRgfKfJ [x]» | ||
| cognominal | www.theregister.co.uk/2010/08/06/ip...nightmare/ | 20:32 | |
|
20:32
simcop2387 joined
|
|||
| Eddward | That fixes that. | 20:32 | |
| ok. That made the other oddities I saw go away too. Thanks. | |||
| cognominal | oops wrong window | ||
| moritz_ | bug submitted | 20:33 | |
| takadonet | Eddward: anything else? | ||
| Eddward | I was just walking through the 5-to-6 page. The MAIN looks pretty slick. | ||
| Not at the moment. It had looked like force and recursive where required but that went away with glob. | |||
| Thanks. | 20:34 | ||
|
20:34
jaldhar_ joined
|
|||
| moritz_ | Eddward: keep in mind that 5-to-6 tries to describe ideal Perl 6, not necessarily runnable code | 20:35 | |
| ... and that much of it was written before the features were actually implemented. If they work nonetheless, be even more impressed :-) | 20:36 | ||
| Eddward | ok. I've been lurking since before the apocalypses. I'm just trying to come up to speed on the current shape of perl6. | 20:37 | |
| It's cool to get to dabble with it. | 20:38 | ||
| moritz_ now updated it to use plain '~', so it's actually runnable | |||
| avuserow | I must say that the magic argument passing for MAIN() is probably one of my favorite features of Perl 6 | ||
| moritz_ | avuserow: I must say that I was mostly unimpressed by it, until it was implemented, and I started using it - I love it now :-) | 20:39 | |
| and I mostly show-cased it because it was easy to understand (both for the reader and for me :-) | |||
| moritz_ -> sleep | 20:40 | ||
| Eddward | In perl5 it was something that took too much thought for how often it was needed and how unrelated it is to the problems I'm try to solve.. | ||
|
20:40
lue joined
|
|||
| avuserow | it's also something I have not seen elsewhere | 20:42 | |
| most languages rely on manual processing or getopt or similar | |||
| and multiple dispatch for MAIN will be amazing | |||
| Eddward | With all the deep magic in perl6, it's not the sort of thing I was expecting to be impressed by. | 20:43 | |
| What? | |||
| That make my head hurt. | |||
| Can it multi-dispatch on $0? | 20:44 | ||
| aka, the name it's run as? | |||
| avuserow | rakudo: multi sub MAIN() {say "no args";}; multi sub MAIN($foo) {say "one arg";} | ||
| p6eval | rakudo 0e5edb: OUTPUT«no args» | ||
|
20:44
orafu joined
|
|||
| avuserow | so you can dispatch on your args | 20:45 | |
| takadonet | Anyone else have the issue where short argument format only work with two dash in front? | ||
| tadzik | moritz_: so what is the right way to make params to MAIN with no arguments? | ||
| takadonet | i.e '--f filename' or '--file filename' but not '-f filename' ? | 20:46 | |
| Eddward | That's cool, but it would be nifty to be able to dispace on name too. | ||
| I could try, but I don't know the format for declaring a short option. | 20:48 | ||
| takadonet | sub MAIN(:f($file)) { say $file} | ||
| Eddward | oh. I thought you meant something like 'f|file=s' in Getopt::Long. | 20:50 | |
| takadonet | that what I mean | 20:51 | |
| however when you use either formats, the value get put into $file | |||
| Eddward | oh. | ||
| avuserow | I'm not having any luck with argument processing on the version of rakudo that I have... | ||
| takadonet | moritz_: any ideas? | 20:52 | |
| avuserow | takadonet: moritz_++ went for sleep | ||
| takadonet | nuts | 20:53 | |
| avuserow | I'm going to hazard a guess that the :f($file) format is not handled yet | 20:54 | |
| but I can't get --f foo or --file foo to work | |||
| takadonet | the code works on the latest rakudo build | ||
| avuserow | oh | 20:55 | |
| takadonet | just with --f | ||
| instead of -f | |||
| avuserow | I am using an older version, looks like :| | ||
| takadonet | i'm assuming it's a bug | ||
|
21:15
elmex joined
21:25
pnate joined
21:26
plol joined,
ghyspran joined
21:28
masak joined
|
|||
| masak | \\o/ | 21:28 | |
| phenny | masak: 19:15Z <tadzik> tell masak could You fix CSV in some spare time? The tests fail | ||
| masak: 19:21Z <tadzik> tell masak also, could you take a look at web's dependencies too? gttp::daemon is not in proto | |||
| masak | tadzik: (1) I'd love to. (2) will do. | ||
| tadzik | masak++ # thanks | 21:29 | |
| masak | CSV probably fails because it's old and has bitrotted. | ||
| all the tests passed at one point. | |||
| tadzik | masak: also, neutro is now working fine, handling dependencies and stuff | ||
| masak | neutro? :) | ||
| tadzik | oh. The working proto, it is :) | ||
| masak | inevitable pun, but I'm not sure I've heard about it. | ||
| it's a fork of the repo? | 21:30 | ||
| tadzik | nah, separate thing | ||
| masak | oh, ok | ||
| tadzik++ | |||
| tadzik | my thursday project :) | ||
| masak: github.com/tadzik/neutro | |||
| Patches, ideas and criticism welcome | |||
| masak | tadzik: I'll have a look at it at some point. I suspect I'll still be rooting for pls in the long run, but it's always nice to be looking at alternatives. | ||
| and working stuff always trumps ideal stuff. | 21:31 | ||
| tadzik | well, neutro is for proto what MiniDBI is for DBI I think | ||
| perimosocordiae | tadzik: speaking of, I found a simple circular-dep fix | ||
| tadzik | perimosocordiae: speak on please | 21:32 | |
| masak | tadzik: oh, it's sort of a cpanminus? :) | ||
| tadzik | masak: not really, it does not to be minimal, or doing installing-only | ||
| masak | ok | ||
| tadzik | as in README: | 21:33 | |
| It's a temporary working solution, while experts build | |||
| the Real Deal (proto, pls). | |||
| masak | thanks for the vote of confidence. :P | 21:34 | |
| perimosocordiae | tadzik: just add a @install_stack in the module scope, unshift module names onto/off it when you enter/exit the 'install' sub, and then checking for circulars is as simple as: | ||
| die "Detected circular dependency!" if @installs.grep: { $_ eq $realdep } | |||
| masak | tadzik: if you had introspection access to my brain, I bet you'd take back the "experts" part. :) | ||
| wolverian | tadzik: I see that you're calling subs as foo; instead of foo(); in neutro, where foo is declared later in the file. is that guaranteed to work in Perl 6? | 21:35 | |
| perimosocordiae | @installs == @install_stack, :-\\ | ||
| tadzik | wolverian: it does work :) | ||
| afk for a while | |||
| masak | wolverian: it's guaranteed to work. | ||
| wolverian: because of the different passes. | 21:36 | ||
| wolverian | I thought Perl 6 was strictly one-pass :) | ||
| [Coke] | rakudo: spaf | ||
| masak | wolverian: it is. | ||
| p6eval | rakudo 0e5edb: OUTPUT«Could not find sub &spaf in main program body at line 22:/tmp/brGcp3uvOs» | ||
| masak | std: foo(); sub foo() { } | ||
| p6eval | std 31912: OUTPUT«ok 00:01 113m» | ||
| masak | std: foo(); | ||
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mUndeclared routine: 'foo' used at line 1Check failedFAILED 00:01 111m» | ||
| masak | wolverian: I meant 'passes' more in the sense of 'compile-time', 'run-time' | 21:37 | |
| wolverian | masak: ah, thanks. phases, perhaps. | ||
| masak | right. | ||
| wolverian | (I think that's used in the literature) | ||
| that's great news, btw. | |||
| masak | the 'undeclared sub' errors are thrown at CHECK time, after the parsing's done. | ||
| it is great news. | |||
| would've been hard(er) to do mutual recursion otherwise. | 21:38 | ||
| perimosocordiae | it's just a good idea in general, I think | ||
| wolverian | I think it's great just because I prefer to write lower level subs after the higher level subs that use them. | 21:40 | |
| (and I prefer my syntax without unnecessary parens.) | |||
| perimosocordiae | (he said, parenthetically) :-) | 21:42 | |
| masak | perimosocordiae: "Who discovered radium?" asked Marie, curiously. :) | 21:45 | |
|
21:45
xinming joined
|
|||
| perimosocordiae | masak: :-D | 21:45 | |
| masak | that's my favourite Tom Swiftie. | ||
| sjohnson | hi dudes | 21:48 | |
| masak | phenny: tell pmichaud gist.github.com/500732 gist.github.com/512060 | ||
| phenny | masak: I'll pass that on when pmichaud is around. | ||
| masak | sjohnson! \\o/ | ||
| sjohnson | hi masak | ||
| whats new in perl6 land today? | |||
| masak | YAPC::EU finished today. | 21:49 | |
| YAPC::EU orgas++ | |||
| tadzik | perimosocordiae: mind posting it to issues, or even with a patch? I doubt I'll remember it tommorow | ||
| sjohnson | cool | 21:50 | |
| masak | sjohnson: they even had a "Camelia" up at the venue :) twitpic.com/2c6alh | 21:51 | |
| tadzik | masak: who is that? | 21:52 | |
| masak | tadzik: I can't see who's in the picture. it's one of the orgas. | ||
| phenny: tell pmichaud I misremembered who wrote the "How to write about Perl 6" article; it was brian d foy: blogs.perl.org/users/brian_d_foy/20...erl-6.html | |||
| phenny | masak: I'll pass that on when pmichaud is around. | ||
|
21:53
am0c joined
|
|||
| sjohnson | haha | 21:53 | |
| everytime i hear Camelia now, i think of the cipher | |||
| masak: en.wikipedia.org/wiki/Camellia_%28cipher%29 | |||
| perimosocordiae | tadzik: will do | ||
| masak looks | |||
| tadzik | perimosocordiae++ | ||
| tylercurtis | masak: random Pod6 question: does Pod6 have a way to include ">" in a formatting (B, C, I, etc.) code? | 21:54 | |
| sjohnson | "perl 6... a reality" -- new slogan | ||
| masak | tylercurtis: C<< > >> | ||
| tylercurtis: or C«>» | |||
| tadzik | I was thinking about: Perl 6 -- ready enough for me | ||
| I even thought about a blag post | |||
| tylercurtis | masak: related question: does that also work in Perl 5's POD? If not, yay for Pod6! | 21:55 | |
| tadzik | tylercurtis: yes | ||
| :( | |||
| :) | |||
| masak | yes, it does. | ||
| well, not th C«>» one, I don't think. | |||
| tylercurtis | Thanks, tadzik and masak. :) Yay for Pod6, regardless! | 21:58 | |
| perimosocordiae | tadzik: patch is on the issue comment: github.com/tadzik/neutro/issues/#is...ent/344579 | 22:01 | |
| tadzik | perimosocordiae: checked? | 22:02 | |
| perimosocordiae | tadzik: well... not fully, but it at least doesn't break anything | ||
| tadzik: couldn't find anything that actually has circular deps | 22:03 | ||
| masak | huh -- this appeared completely unrelated, but a quick Google Translate reveals that it's actually about Rakudo Star. | 22:04 | |
| atnd.org/events/6687 | |||
| tadzik | perimosocordiae: I'll build something to check | ||
| lue | ohello o/ | 22:07 | |
| masak | lue! \\o | 22:08 | |
|
22:08
fatface joined,
arnsholt joined
22:09
leprevost joined
22:10
leprevost joined
|
|||
| pmichaud | masak: thanks for the brian_d_foy link -- just left a comment/reply there | 22:10 | |
| phenny | pmichaud: 12:56Z <[Coke]> tell pmichaud you can adjust the max recursion depth from PIR. want the code? | ||
| pmichaud: 21:48Z <masak> tell pmichaud gist.github.com/500732 gist.github.com/512060 | |||
| pmichaud: 21:52Z <masak> tell pmichaud I misremembered who wrote the "How to write about Perl 6" article; it was brian d foy: blogs.perl.org/users/brian_d_foy/20...erl-6.html | |||
| pmichaud | itsalue++ | 22:11 | |
| lue | .oO(curse you inferior computer and your slow-down-to-a-crawl capabilities) |
||
| and what's more, this old PPC processor has dwindling support, soon I either have to install *another* distro or get another computer | 22:13 | ||
| [as a reference, I still have Firefox 3.5, and not by choice] | |||
|
22:14
perimosocordiae left
22:16
hanekomu joined
|
|||
| masak | rakudo: my @a = "hip" xx 2; say ~(@a, @a.WHAT), "!" | 22:17 | |
| p6eval | rakudo 0e5edb: OUTPUT«hip hip Array()!» | ||
| masak | rakudo: my @a = "hip" xx 2; say ~(@a, @a.WHAT.perl), "!" | ||
| p6eval | rakudo 0e5edb: OUTPUT«hip hip Array!» | ||
| masak | :) | ||
| masak sleeps for a bit | 22:18 | ||
|
22:18
patrickas joined
|
|||
| patrickas | avuserow what kind of problems are you having with MAIN args processing ? | 22:20 | |
| rokoteko | Two hips an no hurray. | ||
| avuserow | patrickas: nothing really relevant. I forgot that I'm still on the 2010.06 release (just using the packages from Fedora and not building my own yet) | ||
|
22:20
pyrimidine left
|
|||
| rokoteko | </quote frasier> | 22:21 | |
| patrickas | oh ok | ||
| avuserow | it's been a while since I followed trunk :) | ||
| patrickas | in all cases I still haven't gotten around to implementing the short form for arguments autoprocessing | ||
| I still have no idea how to differenciate the short form and long one in the args and how to link the same short argument to a long one ... | 22:24 | ||
|
22:24
Eddward joined
22:25
jaldhar_ joined
|
|||
| sorear | pugs: my $a = 1; my $b = \\($a); $a := 2; say $b[0] | 22:48 | |
| p6eval | pugs: OUTPUT«CaptSub {c_feeds = [:MkFeed {f_positionals = [:IFinite 1:], f_nameds = []}:]}» | ||
| sorear | heh, show output. | ||
|
22:52
am0c joined
22:53
_jaldhar_ joined
22:56
pnate2 joined,
zostay_ joined
|
|||
| tadzik | wow, that's awesome | 22:56 | |
| rakudo: my @a = "hip" xx 2; say ~(@a, @a.WHAT.perl), "!" | |||
| p6eval | rakudo 0e5edb: OUTPUT«hip hip Array!» | ||
|
23:02
ruoso joined,
azert0x joined
|
|||
| sorear | pugs: my $a = 1; my $b = \\($a); $a := 2; say(|$b) | 23:04 | |
| p6eval | pugs: OUTPUT«1» | ||
|
23:05
tom_tsuruhara joined
23:09
lue joined
|
|||
| sjohnson | rakudo: "%s knows %s like the back of his %s".printf(<sjohnson perl6 hand>); | 23:10 | |
| p6eval | rakudo 0e5edb: OUTPUT«Method 'printf' not found for invocant of class 'Str' in main program body at line 22:/tmp/eFsNz4K0i8» | ||
| sjohnson | ... doh! | ||
| ( ° ー°) | 23:12 | ||
| tadzik | star: "%s knows %s like the back of his %s".fmt(<sjohnson perl6 hand>); | 23:14 | |
| p6eval | star 2010.07: OUTPUT«No applicable candidates found to dispatch to for 'fmt'. Available candidates are::(Mu : Str $format = { ... };; *%_) in main program body at line 22:/tmp/twFNzrlPGR» | ||
| tadzik | pff | ||
| tylercurtis | star: say "%s knows %s like the back of his %s".sprintf(<sjohnson perl6 hand>); | ||
| p6eval | star 2010.07: OUTPUT«sjohnson knows perl6 like the back of his hand» | ||
| sjohnson | oops, i did it again! | ||
| tylercurtis: is printf gone in p6? | |||
| star: "happy %s".sprintf<house>.say | 23:15 | ||
| tylercurtis | star: printf "%s don't %s", "I", "know." | ||
| p6eval | star 2010.07: OUTPUT«Any()» | ||
| star 2010.07: OUTPUT«I don't know.» | |||
| sjohnson | haha | ||
| star: "happy %s".sprintf<(house)>.say | |||
| p6eval | star 2010.07: OUTPUT«Any()» | ||
| sjohnson scratches head | |||
| oh | |||
| oops | |||
| star: "happy %s".sprintf(<house>).say | |||
| p6eval | star 2010.07: OUTPUT«happy house» | ||
| tylercurtis | sjohnson: there just doesn't appear to be a printf method. | ||
| sjohnson | nice | ||
| blasphemy! | |||
|
23:18
hercynium joined
23:19
hercynium joined
|
|||
| sorear | try fmt. | 23:19 | |
| avuserow | rakudo: "foo %s %s".fmt(<bar baz>) | 23:22 | |
| p6eval | rakudo 0e5edb: OUTPUT«No applicable candidates found to dispatch to for 'fmt'. Available candidates are::(Mu : Str $format = { ... };; *%_) in main program body at line 22:/tmp/mpaeKTFrWf» | ||
| tylercurtis | rakudo: say <bar baz>.fmt("foo %s %s" | 23:23 | |
| p6eval | rakudo 0e5edb: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | ||
| tylercurtis | rakudo: say <bar baz>.fmt("foo %s %s") | ||
| p6eval | rakudo 0e5edb: OUTPUT«Insufficient arguments supplied to sprintf in 'Any::join' at line 1 in 'Any::join' at line 1386:CORE.setting in 'List::fmt' at line 2551:CORE.setting in 'Iterable::fmt' at line 3559:CORE.setting in main program body at line 22:/tmp/Ggbr30kFZY» | ||
|
23:26
gena joined
23:41
kid51 joined
23:54
am0c joined
23:59
Psyche^ joined
|
|||