Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-03-03

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 * colomon needs to learn more about roles, fast.
00:02 jnthn wknight8111: Does Parrot currently have a call frame generator or does NCI only work for now with compiled in thunks? I get some message about needing to define BUILD_CALL_FRAMES or some such.
00:02 jnthn But that may date back years.
00:03 nihiliad joined #perl6
00:05 am0c joined #perl6
00:06 athenot joined #perl6
00:13 wknight8111 jnthn: only has built-in thunks still
00:13 wknight8111 plobsing is working very hard to fix that, however
00:14 zemlyanin joined #perl6
00:14 yinyin joined #perl6
00:15 zemlyanin How would I go about capturing a certain string but only if it does not end with a period? [^\.] doesn't seem to do what I thought
00:16 TimToady that would be written <-[.]> in Perl 6
00:18 TimToady we stole bare brackets for normal grouping
00:18 TimToady so they only mean character classes inside of <> now
00:19 TimToady we also took the ^ outside and made it a -
00:19 TimToady so you can do "math" with sets of characters
00:20 TimToady otoh, if you're asking about Perl 5, this isn't a Perl 5 channel... :)
00:21 TimToady but in Perl 5 I'd just use [^.]
00:21 jnthn wknight8111: Ah, OK...do you know what the Current Plan Of Attack is?
00:23 jnthn (e.g. use something existing like libffi or libjit, or build a custom thingy)?
00:27 athenot joined #perl6
00:30 lue joined #perl6
00:31 lue Oi!
00:33 colomon o/
00:34 lue o/ (I want japanese characters in my nick. stupid freenode servers :( )
00:35 colomon Does Unicode do Elvish?
00:35 lue I don't know. (there's probably enough free unicode blocks for it though)
00:36 lue it seems to be an alphanumeric system :(
00:36 wknight8111 jnthn: we've definitely been looking at libffi as one option. I think the plan is to have a pluggable loader, so we can have libraries of precompiled thunks OR a dynamic frame builder based on libffi or a JIT solution
00:37 pugssvn r29920 | colomon++ | [t/spec] Some interesting arity-0 tests for limit conditions.
00:37 cotto_w0rk joined #perl6
00:39 jnthn wknight8111: I'd take one thing that worked over epic abstraction, tbh.
00:40 wknight8111 jnthn: of course, you asked what the plan was
00:40 jnthn :-)
00:40 wknight8111 short-term plan is far less grandios
00:40 jnthn OK, I'll keep an eye out and see what lands.
00:41 lue .u 楽土
00:41 phenny U+697D CJK UNIFIED IDEOGRAPH-697D (楽)
00:41 phenny U+571F CJK UNIFIED IDEOGRAPH-571F (土)
00:45 zemlyanin left #perl6
00:48 lue I'm assuming that file test "project" hasn't been solved?
00:48 TimToady rakudo: say '/etc/passwd' ~~ :f
00:48 p6eval rakudo 32a946: OUTPUT«Method 'f' not found for invocant of class 'Perl6Str'␤current instr.: 'perl6;Enum;ACCEPTS' pc 352962 (src/gen/core.pir:50094)␤»
00:48 TimToady doesn't look like it
00:49 lue aw man, I was hoping to work on it! (tsk tsk. Watch you're phrasing of answers :D )
00:50 arlinius waiting until it's already done to work on it?
00:51 TimToady rakudo: my @a = 1,2,3,4; @a[1,2] := @a[2,1]; say @a;
00:51 p6eval rakudo 32a946: OUTPUT«:= binding of variables not yet implemented␤current instr.: '&die' pc 16726 (src/builtins/Junction.pir:347)␤»
00:51 colomon He might mean the issue where it's a Perl6Str instead of a Str, which makes it hard to work on.
00:51 lue I stated that it seems like the error hasn't been solved, TimToady said doesn't look like it. See the pickyness of me? :)
00:51 arlinius oh, that's the reason the alpha file test ops are not acceptable?
00:52 pugssvn r29921 | colomon++ | [t/spec] Fix the arity-0 non-equal limit test to look for the correct results, and tweak the equal limit case at the same time.
00:53 colomon arlinius: it seems to be a major complication, anyway.
00:53 colomon I admit I haven't looked at it closely.
00:53 arlinius colomon: sorry about forgetting to count, by the way. and thanks for catching that
00:53 lue rakudo: say 'etc/passwd'.WHAT
00:53 p6eval rakudo 32a946: OUTPUT«Str()␤»
00:53 colomon arlinius: no worries.  :)
00:54 * lue is considering the placement of file tests in the 楽土 pile of code
00:58 lue rakudo: Q:PIR { $I0 = stat '/etc/passwd',10␤say $I0}
00:58 p6eval rakudo 32a946: OUTPUT«0␤»
00:58 lue rakudo: Q:PIR { $I0 = stat '/etc/passwd',9␤say $I0}
00:58 p6eval rakudo 32a946: OUTPUT«-1␤»
00:58 arlinius it's not easy to get a Str from a Perl6Str?
00:59 lue is root's UID -1 ?
00:59 lue rakudo: Q:PIR { $I0 = stat '/usr/local/bin',9␤say $I0}
00:59 p6eval rakudo 32a946: OUTPUT«-1␤»
01:00 colomon arlinius: I believe the problem is more that they are the same, except for when they're not.
01:00 colomon at least, that was the problem I had with Num and float.
01:00 lue I have a problem with the fact the night and day are the same, except for when they're not :D
01:00 lue rakudo: Q:PIR { $I0 = stat '/usr/local/bin',4␤say $I0}
01:00 p6eval rakudo 32a946: OUTPUT«0␤»
01:01 lue rakudo: Q:PIR { $I0 = stat '/etc/passwd',4␤say $I0}
01:01 p6eval rakudo 32a946: OUTPUT«0␤»
01:01 pugssvn r29922 | colomon++ | [t/spec] Comments explaining what the previous tests were and a new test, with a limit that will never be triggered.
01:01 lue colomon: what if it *is* triggered?
01:01 colomon lue: then that's a failing test.
01:02 colomon a test failure, I mean.
01:04 pugssvn r29923 | lwall++ | [S03] some clarifications of how a series deals with types (or doesn't) for colomon++
01:04 lue darn. I was hoping for something like "...and the entire space-time continumn will meld and flying..." :)
01:05 colomon given the number of bugs I've inflicted on Rakudo, I'd hate for a one of my test failures to affect the entire space-time continuum.
01:06 lue it already has, based on your testimony.
01:06 lue Several times. :)
01:07 arlinius he's got a point there
01:07 lue That explains [*] die(Rakudo)'s detectors going off. Let me contact them...
01:08 cotto_w0rk joined #perl6
01:11 colomon My Star Wars players disabled the Death Star (II) somewhat two sessions ago.
01:12 colomon :)
01:12 arlinius somewhat? somehow that doesn't good enough :P
01:12 RakudoDeathStar This is the Rdie* my friend
01:13 RakudoDeathStar I grammer love improper day \o/
01:13 colomon well, it fired on the planet in question and didn't blow it up, which was good enough for their purposes.
01:13 RakudoDeathStar (my new nick'd be shorter, but stupid alphanumeric nicks...)
01:14 colomon and not having the Death Star destroyed of course makes for further plot developments.
01:15 arlinius i see
01:15 RakudoDeathStar We hath come to inform ye of ye sins to the Rdie* codebase, colomon. We hath spent several moons fixing the time-space continuum.
01:15 RakudoDeathStar Don't Do It Again!
01:15 colomon I hope they were small, unimportant moons.
01:15 colomon Like Endor.
01:15 colomon (errr... wait, is Endor the moon or the gas giant it orbits?)
01:16 lue way to take the days of yore speech and make it literal. colomon++
01:16 TimToady .oO(the Which of Endor)
01:16 lue Endor is the inhabitable moon orbiting around the inhospitable planet of no interest.
01:16 colomon It's a big galaxy, you can't measure time in "moons" as if there is only one of the things.  :)
01:17 lue Well, Rdie* is powered by superheated pumice...
01:17 arlinius I think he means moons are the currency he spent to fix the problem
01:17 arlinius but still, it seems like some moons would be worth more than others
01:18 TimToady especially the full ones
01:19 colomon and the ones that are blissfully Ewok-free.
01:20 lue Just like the stuff on Earth not signed by Sarah Palin :P
01:21 parthm joined #perl6
01:23 daemon joined #perl6
01:24 parthm hello, i am trying to learn perl6 (using rakudo). i tried running the example ( http://pastebin.com/XqaAK52v ) from the perl6 book on github bit it fails ( http://pastebin.com/Ns7RXgY6 ). what I am doing wrong?
01:24 am0c joined #perl6
01:24 TimToady parthm: you probably want to use the January release for that, not the current bleeding edge
01:25 parthm thanks TimToday. will do that.
01:25 lue yeah, the bleeding edge (to use metaphor) is too busy bleeding to cut it :)
01:26 colomon actually, it isn't immediately obvious to me why that would fail on Rakudo master.  Probably a nightmare on the Feb release, however....
01:28 ihrd joined #perl6
01:28 TimToady does current master support 1-ary sort?
01:28 colomon I believe so.
01:28 TimToady rakudo: say sort +*, 3,4,2,-3
01:28 ihrd left #perl6
01:28 p6eval rakudo 32a946: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
01:28 colomon It doesn't support Whatever closures, though.
01:29 TimToady rakudo: say sort { $^a + 0 }, 3,4,2,-3
01:29 p6eval rakudo 32a946: OUTPUT«Could not find non-existent sub &sort␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
01:29 colomon rakudo: (3,4,2,-3).sort(&abs)
01:29 p6eval rakudo 32a946:  ( no output )
01:29 colomon rakudo: (3,4,2,-3).sort(&abs).say
01:29 p6eval rakudo 32a946:  ( no output )
01:29 colomon hmmm.
01:29 TimToady rakudo: say sort { $^a <=> $^b }, 3,4,2,-3
01:29 colomon (3,4,2,-3).sort({.abs}).perl.say
01:29 p6eval rakudo 32a946: OUTPUT«Could not find non-existent sub &sort␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
01:30 colomon rakudo: (3,4,2,-3).sort({.abs}).perl.say
01:30 p6eval rakudo 32a946: OUTPUT«Too many positional parameters passed; got 2 but expected between 0 and 1␤current instr.: '_block49' pc -1 ((unknown file):-1)␤»
01:30 TimToady more sortdid than sorted...
01:30 TimToady *sordid
01:30 colomon hmmm, guess it doesn't work yet after all.
01:30 colomon rakudo: (3,4,2,-3).sort.perl.say
01:31 p6eval rakudo 32a946: OUTPUT«(-3, 2, 3, 4)␤»
01:31 colomon rakudo: (3,4,2,-3).sort({$^a.abs <=> $^b.abs}).perl.say
01:31 p6eval rakudo 32a946: OUTPUT«(2, -3, 3, 4)␤»
01:31 colomon rakudo: (3,4,2,-3).sort({$^a.abs}).perl.say
01:31 p6eval rakudo 32a946: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤current instr.: '_block49' pc -1 ((unknown file):-1)␤»
01:32 colomon yup, just doesn't do 1-arity yet.
01:32 [particle] joined #perl6
01:32 parthm does the error message ( http://pastebin.com/Ns7RXgY6 ) contain a line number (or some other info) that would have helped a newbie like me to narrow down the location of the error?
01:32 athenot joined #perl6
01:32 TimToady unfortunately, doesn't look like it.  it's coming from deep within the bowels of parrot
01:32 colomon but it is the problem we're looking at here, I guess.
01:33 lue I personally hate when 'HLLCompiler' comes up in an error :/
01:34 xomas joined #perl6
01:34 xomas joined #perl6
01:36 arlinius it expected between 0 and 1 parameters
01:36 arlinius you should have passed it 0.5 parameters
01:36 arlinius or 0.8235
01:37 TimToady the only thing between 0 and 1 is ' and '.
01:37 colomon TimToady: does "before" chain?
01:37 TimToady sure
01:38 colomon danke.  (Trying to sort out a weird bug in series...)
01:38 TimToady rakudo: say 1 before 2 before 3
01:38 p6eval rakudo 32a946: OUTPUT«1␤»
01:39 TimToady rakudo: say 1 before 2 before 2
01:39 p6eval rakudo 32a946: OUTPUT«0␤»
01:39 lue rakudo: say 2 before 1
01:39 p6eval rakudo 32a946: OUTPUT«0␤»
01:39 lue rakudo: say Inf before NaN
01:39 p6eval rakudo 32a946: OUTPUT«0␤»
01:39 lue rakudo: say Inf after NaN
01:39 p6eval rakudo 32a946: OUTPUT«1␤»
01:39 TimToady hmmmm
01:39 lue seems Inf is more of a not number than NaN :)
01:40 cotto_working joined #perl6
01:40 TimToady that should probably say "Mu" or some such :)
01:41 lue TimToady: why is the use of undef frowned upon in P6?
01:41 TimToady maybe we need an Order::Incomparable
01:41 TimToady what does it mean?
01:41 lue rakudo: NaN ~~ undef
01:41 p6eval rakudo 32a946: OUTPUT«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
01:41 p6eval ..fail() as a failure return␤       …
01:41 TimToady well, that's a matcher, so you mean *.notdef
01:42 lue rakudo: NaN ~~ *.notdef
01:42 p6eval rakudo 32a946: OUTPUT«invoke() not implemented in class 'String'␤current instr.: 'perl6;Code;signature' pc 12815 (src/builtins/Str.pir:58)␤»
01:42 TimToady don't ask me how strings got involved here...
01:43 lue TimToady: how did strings get involved here? [ :) ]
01:43 TimToady rakudo: say NaN ~~ :defined
01:43 p6eval rakudo 32a946: OUTPUT«1␤»
01:43 TimToady rakudo: say NaN ~~ :!defined
01:43 p6eval rakudo 32a946: OUTPUT«0␤»
01:44 TimToady there's another WTDI
01:44 lue rakudo: say NaN ~~ (True and !True)
01:44 p6eval rakudo 32a946: OUTPUT«0␤»
01:44 lue what is WTDI?
01:44 TimToady TMTOWTDI
01:44 lue ah, should've caught that :)
01:46 lue rakudo: say 1 ~~ (True and !True)
01:46 p6eval rakudo 32a946: OUTPUT«0␤»
01:46 lue rakudo: say 0 ~~ (True and !True)
01:46 p6eval rakudo 32a946: OUTPUT«0␤»
01:46 lue rakudo: say (0 ~~ (True and !True))
01:46 p6eval rakudo 32a946: OUTPUT«0␤»
01:46 lue rakudo: say (True ~~ (True and !True))
01:46 p6eval rakudo 32a946: OUTPUT«0␤»
01:50 lue for file test Str _methods_ is it C<'string'.f> or C<'string'.:f> ?
01:50 TimToady it's .f these days
01:50 TimToady we took away the :
01:50 lue alright.
01:50 TimToady which is how :defined worked
01:51 lue rakudo: say 'h'.succ
01:51 p6eval rakudo 32a946: OUTPUT«i␤»
01:51 lue rakudo: say '␤'.succ
01:51 p6eval rakudo 32a946: OUTPUT«␤␤»
01:52 kcwu joined #perl6
01:52 * colomon is really hoping Rakudo doesn't thing 81 comes between 3 and 9.
01:53 lue A lot of the file tests I'm not sure on how to program yet (if it's a symbolic link, for example) :/
01:54 TimToady rakudo: say 3 before 81 before 9
01:54 p6eval rakudo 32a946: OUTPUT«0␤»
01:54 lue rakudo: say 3 < 81 < 9
01:54 p6eval rakudo 32a946: OUTPUT«0␤»
01:54 colomon rakudo: say 9 before 81 before 3
01:54 p6eval rakudo 32a946: OUTPUT«0␤»
01:54 athenot joined #perl6
01:56 k23z__ joined #perl6
01:56 k23z__ hi
01:56 k23z__ I can to invite people here interested in Perl5 to #perl-outside
01:56 arlinius rakudo: say k23z__.can('to-invite')
01:56 p6eval rakudo 32a946: OUTPUT«Could not find non-existent sub &k23z__␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
01:59 lue k23z__ --promote --target="#perl-outside" :)
02:00 colomon rakudo: my $limit = 81; my $last = 3; my $j = 9; say $last before $limit before $j
02:00 p6eval rakudo 32a946: OUTPUT«0␤»
02:00 k23z__ :)
02:01 colomon rakudo: my $limit = 81; my $last = 3; my $j = 9; say '$last before $limit before $j ' ~ $last before $limit before $j
02:01 p6eval rakudo 32a946: OUTPUT«0␤»
02:01 lue do you wish to try " ?
02:02 colomon rakudo: my $limit = 81; my $last = 3; my $j = 9; say '$last before $limit before $j ' ~ ($last before $limit before $j)
02:02 p6eval rakudo 32a946: OUTPUT«$last before $limit before $j 0␤»
02:03 TimToady there oughta be a way to quine that...
02:03 colomon TimToady: any notion why my first version there didn't work?
02:04 colomon oh, is ~ higher precedence than before?
02:04 TimToady concat has always been tighter than comparisons
02:04 colomon gotcha.
02:04 TimToady though ~ is detangled from + these days
02:04 colomon and I think I might know what my problem is, because your cmp comment on my blog doesn't match actual behavior.
02:05 TimToady I'd also second lue's recommendation of double quotes :)
02:05 colomon rakudo: my $limit = 81; my $last = 3; my $j = 9.Rat; say '$last before $limit before $j ' ~ ($last before $limit before $j)
02:05 p6eval rakudo 32a946: OUTPUT«$last before $limit before $j 1␤»
02:05 colomon rakudo: say 81 before 9.Rat
02:05 p6eval rakudo 32a946: OUTPUT«1␤»
02:05 colomon rakudo: say 81.Rat before 9.Rat
02:05 p6eval rakudo 32a946: OUTPUT«1␤»
02:06 colomon yeah, got to get Real up and running soon.
02:07 lue wait. You mean to tell Rdie* it's been running on IMAGINARY this entire time? Oi...
02:07 TimToady ($a cmp $b) == ($b cmp $c) is not direction sensitive
02:08 colomon TimToady: ooooo.
02:08 colomon And we know it won't fire off the eqv test, because that would mean the last element was also eqv to the limit.
02:09 colomon TimToady++
02:09 TimToady that was the intent of the spec verbiage :)
02:09 lue Most of the file test operators can't be implemented with PIR's stat opcode.
02:10 colomon TimToady: :)
02:12 TimToady for comparsions on non-matching types, I think we really must force all numerics to sort in a consistent order.
02:13 colomon TimToady: my working theory has been that Real, Real comparisons are translated to Num internally.
02:13 colomon (or rather, translated to some consistent type, of which Num is the most likely currently, IMO)
02:14 colomon I've been meaning to do a big writeup on this for a couple of weeks now, actually.  :)
02:14 TimToady I think we can force Complex to be orderable even though it's not officially
02:14 TimToady just sort first on real, then on imaginary
02:14 TimToady like any other two-part record
02:14 colomon interesting notion....
02:14 TimToady so everything Numeric sorts
02:15 TimToady and probably, outside of that, sort by type
02:15 TimToady unless there's some similar way to unificate strings
02:16 colomon my working theory (which wasn't factoring in Complex, I'll have to ponder that)
02:16 colomon is that Real needs to have require a .Num, which will be used for this sort of thing.
02:17 colomon I would think that Stringy (is that the right term) could sort on .Str, maybe?
02:20 lue rakudo: Q:PIR{$I0 = stat '/etc/passwd',0␤say $I0}
02:20 p6eval rakudo 32a946: OUTPUT«1␤»
02:22 colomon TimToady: I think having a lingua franca for Real is really important; otherwise it will be very hard for two independently developed Real types to work together smoothly.  And while I can see an argument for FatRat when we have it, it seems like Num is the best choice for now.
02:22 colomon Having it will allow a lot of smart default implementations, too.
02:24 * colomon finds his code changes work better if he actually compiles them.
02:26 TimToady the problem with Stringy (if we assume it includes Buf) is that we might not have a valid .Str if we don't know the encoding
02:26 colomon Ah.
02:26 colomon 'Twas just a notion.
02:27 TimToady well, but we'd like to finesse it to do what people expect to the extent possible, as with Numeric
02:27 TimToady we already go to some pains to define bufs that only contain 0..127 as "assumed ASCII"
02:27 lue what the heck is ISDEV all about? (something the PIR opcode stat gives you)
02:28 TimToady a unix concept
02:28 arlinius is it a device file?
02:28 TimToady a special file in /dev
02:28 arlinius lue keeps his in /usr/include
02:28 lue ah.
02:28 lue arlinus: hey! I resent that :)
02:28 lue (what did I put in dev, again?)
02:29 arlinius gotta keep /dev for your C headers, right? :)
02:29 TimToady because developers use 'em
02:29 arlinius exactly
02:29 lue rakudo: Q:PIR{$I0=stat '/dev/null', 3␤say $I0}
02:29 p6eval rakudo 32a946: OUTPUT«0␤»
02:29 colomon TimToady: can I use cmp instead of eqv for the final limit test?
02:29 TimToady I though include was only input devices, and output devices go in exclude...
02:30 parthm so i tried running the example ( http://pastebin.com/XqaAK52v ) in jan rakudo and it fails  with the error http://pastebin.com/UjpgheUH . trying feb rakudo now.
02:30 arlinius ah, that's right...
02:30 arlinius symlink /dev/null from one to the other
02:30 TimToady colomon: sure, I'd just do both cmps and then look at the numbers
02:31 parthm hmm. ok ... looks like there is another parrot in the path that its picking up. sorry about that. will try to change that.
02:32 lue I wonder if there's a big process to getting a new folder accepted in /
02:32 TimToady arlinius: I thought that was what /dev/random was for?
02:32 lue if not, there should be
02:32 arlinius oh, i meant /usr/include/null and /usr/exclude/null
02:32 TimToady lue: it's called 'su'
02:33 arlinius /dev/random stays in dev since it's a tool developers use to write code
02:33 TimToady nodnod
02:33 lue There should be some sort of commitee. You set up gov't grants to see who develops the best new folder for the root dir
02:33 colomon TimToady++: oooo, that was a great thought!
02:34 lue SAND (Sodality for the Addition of a New Directory)
02:35 TimToady colomon: in fact, you could add 1 to both of them, turn them into base 3 digits, and the switch on the resulting 0..5
02:35 TimToady not sure that'd save any CPU time really though...
02:36 colomon given is actually kind of relatively slow, I think.
02:36 colomon but it's a lovely algorithm thought, at any rate.  :)
02:36 TimToady it's supposed to be optimizable when all the targets are numeric
02:36 lue rakudo: Q:PIR{$I0='/etc/passwd',1␤say $I0}
02:36 p6eval rakudo 32a946: OUTPUT«error:imcc:syntax error, unexpected COMMA, expecting '\n' (',')␤   in file 'EVAL_1' line 64␤0␤»
02:37 athenot joined #perl6
02:37 lue rakudo: Q:PIR{$I0=stat '/etc/passwd',1␤say $I0}
02:37 p6eval rakudo 32a946: OUTPUT«813␤»
02:37 parthm ok. the example worked now :-)
02:37 TimToady that's why the comparison is entirely driven by the type of the 'when', not the type of the given
02:37 TimToady (unless the .ACCEPTS of the when chooses to look at the type of the left side)
02:38 colomon \o/
02:38 TimToady parthm: yay!
02:38 colomon your save the result suggestion made the algorithm cleaner, and faster, and it finally works, too.  :)
02:38 TimToady you are persistent enough to be a developer around here :)
02:39 TimToady colomon: something to be said for working
02:39 colomon Let me tell you, I was really worried when 1, 3, 9 ... 81 resulted in 1, 3.  :)
02:40 colomon but now:
02:40 pugssvn r29924 | colomon++ | [t/spec] arity-1 tests with a limit.
02:40 colomon > (1, 3, 9 ... 81).batch(10).join(', ').say
02:40 colomon 1, 3, 9, 27, 81
02:42 lue rakudo: Q:PIR{$I0=0␤if $I0==0 goto hi␤say 'aw'␤hi:␤say 'ya'}
02:42 p6eval rakudo 32a946: OUTPUT«ya␤»
02:43 * TimToady .= dinner;
02:43 lue good nomming TimToady! o/
02:44 kcwu joined #perl6
02:45 lue rakudo: say False
02:45 p6eval rakudo 32a946: OUTPUT«0␤»
02:46 colomon rakudo: say False.perl
02:46 p6eval rakudo 32a946: OUTPUT«Bool::False␤»
02:48 colomon rakudo: say ((1/5 + 1/6) / 2).perl
02:48 p6eval rakudo 32a946: OUTPUT«11/60␤»
02:50 pugssvn r29925 | colomon++ | [t/spec] Add arity-1tests which have a not-exactly-hit limit.
02:51 jaldhar joined #perl6
02:53 * lue has added in a couple of file test methods for Str, compiling now...
02:54 * diakopter feels alone in getting "Which of Endor"
02:55 diakopter TimToady: .= dinner; # gives new meaning to "you are what you eat"
02:55 colomon diakopter: well said.  :)
02:55 k23z__ eh nice :)
02:56 k23z__ Perl6 is nice
02:56 k23z__ I saw you guys were planning to make bindings for OpenGL ?
02:56 k23z__ is that correct ?
02:56 k23z__ or with SDL ?
02:56 lue SDL I was discussing the other day (OpenGL would only be the logical next step :) )
02:57 lue Parrot supports SDL, therefore R* should support it (if only thru a library)
02:59 k23z__ R* = ?
02:59 k23z__ what does the VM have to do with a Graphics library ?
03:00 lue R* = Rakudo Star (commonly abbr. Rakudo *), the so called "first official release" or Perl6
03:00 lue R* is my personal abbreviation :)
03:00 colomon if the VM (Parrot) supports it, it should be very easy to build a Rakudo library for it.
03:01 lue ...when libraries are implemented :D
03:01 pugssvn r29926 | colomon++ | [t/spec] A few decreasing arithmetic tests added.
03:03 lue We should subconsiously plant ideas in the heads of the devs at #parrot, so that we can avoid any real programming :)
03:04 * lue D'Arvit! This channel is logged. My plan is foiled :(
03:05 lue I has .e .z and .s file tests ready to upload. How should I upload these changes?
03:06 colomon probably e-mail the patch to the rakudobugs e-mail, labeled [PATCH].
03:06 colomon give me a moment to finish what I was doing...
03:07 lue but, but... that won't give me the same feeling of satisfaction as uploading it myself :)
03:07 colomon commit your changes to your local version of git.
03:07 lue (besides, last time I tried emailing rakudobug, it wouldn't go through)
03:08 lue colomon: I'm going to assume what that means on this IRC while looking it up on teh google.
03:08 colomon lue: You need to have a rakudo commit bit for directly submitting it, which I believe requires filing a form with the Perl Foundation -- ie, it's abit of a pain.
03:08 colomon git commit -a
03:08 arlinius a form? ick
03:08 colomon will commit all your changes in one patch.
03:09 lue well... I'd email rakudobug, but as I said, when I tried emailing a bug report, I never could mail it. :/
03:10 * lue form, or email that didn't work last time........
03:10 colomon once you've got your patch committed on your local version, you can say
03:10 colomon git format-patch -1
03:10 k23z__ I would like to make a suggestion
03:10 colomon to turn your last commit into a portable patch file you can e-mail to the bug tracker or pastebin here.
03:11 k23z__ if you guys make OpenGL bindings or SDL bindings there would be a herd of programmers running towards Perl6 to write code in it because they can see stuff moving around
03:11 lue so, what you just told me is the w/o commiting way :)
03:12 colomon lue: no, with git, pretty much every way is the committing way.
03:12 lue .oO(<form> Q:What is your social security number? A:you want my SS#? uh...)
03:12 lue would I need to sign up a github to use what you told me? (let's try anywaaay...)
03:12 colomon lue: no.
03:12 colomon (no sign up)
03:13 colomon basically, you commit locally and then either push the commit directly to github (which you can't do yet) or make a patch and send it to someone who can commit directly to github.
03:13 colomon it's the git way
03:13 lue so, for commit -a, just write a commit message on an uncommented line?
03:14 colomon yes
03:15 lue ...where did the patch go?
03:16 colomon should be a file
03:16 colomon with a very long name.
03:16 lue nvm, looking at old ls command :)
03:17 lue I'll paste it, instead of mucking around with email
03:18 lue (heh, in Konqueror a patch shows up as a file with a bandaid on it :D )
03:22 lisppaste3 lue pasted "filetests for src/builtins/Str.pir" at http://paste.lisp.org/display/95843
03:23 jnthn o/
03:23 jnthn night folks :-)
03:23 lue o/ jnthn
03:23 colomon goodnight
03:24 JOHND joined #perl6
03:24 alester joined #perl6
03:25 pugssvn r29927 | colomon++ | [t/spec] Tests for series generated by { -$_ }.
03:26 * lue and now, a turnabout to some spec tests for file tests :)
03:27 lue (methinks file tests should go in S32-io, as opposed to S16-io)
03:29 colomon lue: I'm switching back to the standard rakudo branch so I integrate your patch.  be a few minutes here...
03:30 lue I'll implement more file tests as I am able to. What I uploaded is more of a proof-of-concept type thing
03:31 colomon sure.
03:31 colomon I also suspect it could be rewritten using the pir:: interface to be a lot shorter.
03:31 colomon but what you've got there looks like it gets something useful done right now, and that's a Good Thing.
03:32 JimmyZ_ joined #perl6
03:32 lue I would've written it in a pm file, but the only I knew was with PIR, so putting it in perl seemed redundant to me :)
03:33 lue er, unecessary
03:33 colomon let me see....
03:34 colomon rakudo: say pir::stat__SII('/etc/passwd');
03:34 p6eval rakudo 32a946: OUTPUT«The opcode 'stat_s_i' (stat<2>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
03:34 colomon well, something like that.
03:35 colomon rakudo: say pir::stat__SII('/etc/passwd', 1);
03:35 p6eval rakudo 32a946: OUTPUT«The opcode 'stat_s_i_i' (stat<3>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
03:35 colomon rakudo: say pir::stat__ISI('/etc/passwd', 1);
03:35 p6eval rakudo 32a946: OUTPUT«813␤»
03:35 colomon rakudo: say pir::stat__ISI('/etc/passwd', 0);
03:35 p6eval rakudo 32a946: OUTPUT«1␤»
03:36 lue I'll go and write the spectests anyway :) (hows about S32-io/file-tests.t)
03:36 colomon Absolutely!
03:36 colomon (I mean, writing the tests.)
03:36 colomon I'm surprised there are some sort of tests for this already?
03:37 lue no, I was suggesting the name of a file :)
03:37 colomon did you look at S16-filehandles/filetest.t  ?
03:38 colomon but I'd certainly be okay with S32-io, too.
03:38 lue ...no :)
03:38 lue when I looked, S32 defined all the filetests in full detail
03:38 lue (relatively) full detail
03:38 * colomon loves the power of ack in TextMate for searching the source.  :)
03:39 alester You're using ack in project, right?
03:40 colomon alester: yes.
03:40 colomon I love it, it blows TextMate's multi-file find away.
03:40 lue (working from remote server (ssh) is weird. I'd prefer to invoke X from it, if it did anything useful (I wouldn't know))
03:41 colomon okay, I've got a clean spectest before applying your patch
03:41 lue S16-filehandles/filetest.t looks very cryptic. I think that could've been coded better :) (remember TIMTOWTDI)
03:42 athenot joined #perl6
03:42 colomon (glances at test file) yes, a simpler version which tests just what you just added is probably a pretty good idea.
03:43 colomon (that's exactly what I'm doing with series.)
03:43 lue I think it was written in the pugs days (certainly feels like it)
03:44 colomon rakudo: say $*PROGRAM_NAME
03:44 p6eval rakudo 32a946: OUTPUT«/tmp/idVzMyj44f␤»
03:44 colomon interesting....
03:44 colomon I've never seen skips called that way in a test file before.
03:47 colomon lue: :e works for me.
03:48 lue the Str method 'string'.e ?
03:48 lue I didn't code the general :e command
03:48 colomon yes
03:48 colomon and :z
03:49 colomon :s doesn't seem to return the length?
03:49 lue size in bytes (it should)
03:49 athenot joined #perl6
03:50 colomon I'm just getting 1
03:50 lue lemme see...
03:51 colomon I don't understand why, the code looks sensible to me.
03:51 lue for /etc/passwd, i get 2211 (bytes). Try that.
03:51 airbase joined #perl6
03:51 colomon > say "/etc/passwd" ~~ :s
03:51 colomon 1
03:51 colomon > say pir::stat__ISI('/etc/passwd', 1);
03:51 colomon 2888
03:51 colomon it is a puzzlement.
03:52 lue try C<say "/etc/passwd".s>
03:52 lue colomon: you were comparing. 1 = True :)
03:52 colomon > say "/etc/passwd".s
03:52 colomon 2888
03:53 colomon alpha: say "/etc/passwd" ~~ :S
03:53 p6eval alpha 30e0ed: OUTPUT«Method ':S' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤»
03:53 colomon alpha: say "/etc/passwd" ~~ :s
03:53 p6eval alpha 30e0ed: OUTPUT«813␤»
03:53 lue .oO(ack on this remote server is a KANJI CONVERTER)
03:53 colomon it works that way in alpha....
03:53 colomon anyway, I'm going to spectest here.
03:53 alester lue: Yes, yes, you have to install ack-grep, it's tragic
03:53 alester http://betterthangrep.com
03:54 lue I can't though. Not my machine :/
03:54 alester do you have a ~/bin directory?
03:54 lue ...no
03:54 alester you don't have a home directory?
03:54 lue .oO(although I wouldn't find a KANJI CONVERTER useless)
03:54 lue I do, just not the bin folder :)
03:55 alester Right, but you can make your own ~/bin directory
03:55 alester and then put ack in it
03:55 alester and then set your PATH to include ~/bin
03:55 lue where would I get it though?
03:55 colomon CPAN
03:56 lue (looks like some graphical operations are needed... come Konqueror) :)
03:58 lue that would make making the smartlinks in spectesting a lot easier :)
03:58 quietfanatic joined #perl6
03:58 alester lue: Look at http://betterthangrep.com/
03:59 alester There's a link to the standalone version.  Download it into ~/bin/ack
03:59 alester A single file.  That's it.
04:03 lue comeon. This machine has not curl!
04:04 dalek rakudo: f6092e9 | Lue++ | src/builtins/Str.pir:
04:04 dalek rakudo: added the .s .z and .e file test methods for Str
04:04 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​6092e943a482f78bac5358b3a8fe9b230105bbc
04:07 quietfanatic_ joined #perl6
04:08 * lue is really peeved at freenode's alphanumeric nicks thing. He can't even change his nick to lue++ for fun >:(
04:08 alester lue: Highlight the text at http://betterthangrep.com/ack-standalone.  Paste it ignto your terminal as a file.
04:08 alester I have made it SO butt simple
04:08 lue I got it using wget
04:08 alester ok
04:09 lue but now I can't change $PATH :*(
04:09 * colomon is going to bed...
04:10 lue gnight colomon
04:12 lue ACK DOESN'T WORK! YEEEEEEEARRRRRRRRRRGHHHHHHHHHH
04:12 * lue please ignore the venting
04:12 lue YYYYYYYYYYYYYYYYEEEEEEEEEEEEE​AAAAAAAAAAAAAARRRRRRRRRRRRRR
04:12 lue If only my computer weren't so slow, then I wouldn't even BE ssh'ing to another one!
04:12 alester "doesn't work"?
04:12 lue >:(
04:13 lue alester: it won't search
04:13 alester Need more detail than that
04:13 lue I type in, say, ~/bin/ack pattern (can't set $PATH), and then nothing happens. No errors, no results, nothing.
04:14 lue > ~/bin/ack pattern
04:14 lue [nothing]
04:14 alester ok, what do you expect it to do?
04:14 lue eh, search for something I know should come up (like the letter z)
04:14 alester in what file?
04:15 lue I'm searching through the files in the directory (never used ack, and help won't come up)
04:15 alester ~/bin/ack --help
04:16 arlinius maybe pattern didn't match?
04:16 lue --help gives me nothing
04:16 alester and what is a file in the directory that you expect to match?
04:16 alester ack only searches files it knows about.
04:16 alester that it knows the type of.
04:16 lue the .pod files of the Spec
04:17 alester ~/bin/ack -f
04:17 alester see what files it's searching
04:17 alester and yes, you CAN set PATH
04:17 lue and again, nothing (methinks it didn't install right)
04:17 alester PATH=$PATH:~/bin
04:18 lue by default, it loads the KANJI CONVERTER, so even setting PATH wouldn't help
04:18 lue s/wouldn't/won't/
04:18 alester Are you in the direoctory with the pod files?
04:18 lue yes
04:18 alester PATH=~/bin:$PATH
04:19 alester it will search in your ~/bin first
04:19 lue and now nothing, as if I didn't bother with path :(
04:19 lue (at this point, using grep would've been faster)
04:20 alester then do that
04:20 alester I'm doin' my damndedst you know
04:20 lue I know. I'm getting angry at everything EXCEPT you, alester :)
04:21 lue alester++ (thanks for helping)
04:21 alester perl ~/bin/ack -a -f
04:21 alester should list every file in your diretory tree
04:21 alester (almost)
04:22 lue I think something went wrong downloading ack. It just does nothing. :)
04:22 alester wc -l ack
04:23 lue wc -l ack returns does not exist (I really want to be able to do whatever I want to this remote computer right now.)
04:24 athenot joined #perl6
04:24 lue I'll deal with it tomorrow. Good night!
04:24 lue left #perl6
04:26 Sarten-X joined #perl6
04:33 arlinius alester: are you the maintainer of ack?
04:33 alester I am
04:33 alester author
04:34 arlinius the App::Ack CPAN module hangs indefinitely on tests for me
04:34 arlinius but then i canceled the tests and just copied the script to bin and it works fine
04:34 arlinius unless the tests are designed to scan every file on the hard drive and really legitimately take all day ...
04:34 alester Not sure what your problem is
04:35 arlinius neither am i, and it's not a big issue for me, just thought i'd let you know
04:38 arlinius odd
04:38 arlinius just retried and it installed fine this time
04:39 * arlinius shrugs
04:42 rv2733 joined #perl6
04:44 athenot joined #perl6
05:01 TimToady colomon: ~~ :s returning True is correct under the current semantics
05:02 pugssvn r29928 | lwall++ | [S03] clarify the way Pair.ACCEPTS uses "so" and "not" semantics
05:15 quietfanatic Heh, having the 'so' keyword means you can say "$flag = so not True" for extra emphasis.
05:21 TimToady we could add indeed as well
05:22 diakopter verily
05:24 diakopter std: so and so - 9
05:24 p6eval std 29927: OUTPUT«Undeclared routine:␤   'and' used at line 1␤ok 00:01 106m␤»
05:25 diakopter std: that is, like, so not True
05:25 p6eval std 29927: OUTPUT«Undeclared routines:␤  'is' used at line 1␤      'like' used at line 1␤    'that' used at line 1␤ok 00:01 107m␤»
05:27 TimToady rakudo: say not so True
05:27 p6eval rakudo f6092e: OUTPUT«0␤»
05:27 TimToady rakudo: say so so True
05:27 p6eval rakudo f6092e: OUTPUT«1␤»
05:27 diakopter std: so so False and so
05:27 p6eval std 29928: OUTPUT«Potential difficulties:␤  Missing final term in 'and' list at /tmp/ddgs3Y0SHL line 1:␤------> [32m<BOL>[33m⏏[31mso so False and so[0m␤ok 00:01 107m␤»
05:27 diakopter haven't seen that error b4
05:28 diakopter er, warning
05:29 diakopter std: say(so True and 1)
05:29 p6eval std 29928: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse argument list; couldn't find final ')' at /tmp/XsUV8qCKGT line 1:␤------> [32msay(so True [33m⏏[31mand 1)[0m␤    expecting an infix operator with precedence tighter than list prefix␤FAILED 00:01 107m␤»
05:29 diakopter urp
05:30 diakopter std: say (so True and 1)
05:30 p6eval std 29928: OUTPUT«ok 00:01 107m␤»
05:30 diakopter o_o
05:30 diakopter o|o
05:31 diakopter TimToady: is that a genuine buggle?
05:32 diakopter now. I'm getting angry at everything EXCEPT you, alester :)
05:32 diakopter 22:21 < lue> alester
05:32 diakopter erm
05:32 TimToady no, the the "Missing final term" might be
05:33 diakopter mispaste
05:33 TimToady *though the
05:34 diakopter why does  say (so True and 1)  pass but  say(so True and 1)  doesn't?
05:34 TimToady because those aren't function arg parens
05:34 diakopter std: say((so True and 1))
05:34 p6eval std 29928: OUTPUT«ok 00:01 107m␤»
05:34 diakopter o
05:36 hicx174 joined #perl6
05:38 diakopter rakudo: say(1 and 1)
05:38 p6eval rakudo f6092e: OUTPUT«Confused at line 11, near "say(1 and "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
05:38 diakopter pugs: say(1 and 1)
05:38 p6eval pugs: OUTPUT«1␤»
05:38 TimToady pugs: say(1,2 and 3)
05:38 p6eval pugs: OUTPUT«13␤»
05:39 TimToady but you see, and is supposed to be looser than comma...
05:40 TimToady which means it can't be meaningful in a function's arguments
05:40 diakopter pugs: say(1,2and 3)
05:40 p6eval pugs: OUTPUT«13␤»
05:41 diakopter rakudo: say (3,1 and 2,4)
05:41 p6eval rakudo f6092e: OUTPUT«24␤»
05:41 diakopter rakudo: say (3;1 and 2;4)
05:42 p6eval rakudo f6092e: OUTPUT«4␤»
05:42 diakopter o_O
05:42 TimToady 3 statements
05:43 diakopter Perl.  Statement Lists are Expressions, too.
05:43 diakopter Perl.  Statement[ List]s are Expressions, too.
05:44 diakopter rakudo: say (;;).WHAT
05:44 p6eval rakudo f6092e: OUTPUT«Int()␤»
05:46 athenot joined #perl6
05:47 diakopter but if there are no commas...
05:47 diakopter oh
05:48 TimToady I have no idea why that's Int
05:49 diakopter rakudo: say 6 / 7 / 6 / (7**-1) # masakbot
05:49 p6eval rakudo f6092e: OUTPUT«Inf␤»
05:49 diakopter rakudo: say 7**-1 # masakbot
05:49 p6eval rakudo f6092e: OUTPUT«0␤»
05:49 diakopter heh
05:52 diakopter pugs: say 1/7/7/7/7/7/7/7*7 # masakbot  FAIL
05:52 p6eval pugs: OUTPUT«0.00000849985975231​40868175675101360827546␤»
05:52 diakopter rakudo: say 1/7/7/7/7/7/7/7*7 # masakbot FAIL
05:52 p6eval rakudo f6092e: OUTPUT«1␤»
05:52 diakopter I mean rakudo :)
05:54 diakopter and * are left-associative *together*, right?
05:54 diakopter / and * are left-associative *together*, right?
05:54 arlinius rakudo: say 1/0*1
05:54 p6eval rakudo f6092e: OUTPUT«Inf␤»
05:54 arlinius rakudo: say 1/0*Inf
05:54 p6eval rakudo f6092e: OUTPUT«Inf␤»
05:55 diakopter perl6: say 1/7/7*7*7
05:55 p6eval elf 29928, pugs, rakudo f6092e: OUTPUT«1␤»
05:55 TimToady rakudo: say so Inf
05:55 p6eval rakudo f6092e: OUTPUT«1␤»
05:55 diakopter perl6: say 1/7/7/7/7*7*7
05:55 p6eval elf 29928: OUTPUT«0.0204081632653061␤»
05:55 p6eval ..rakudo f6092e: OUTPUT«1␤»
05:55 p6eval ..pugs: OUTPUT«0.02040816326530612​24489795918367346938776␤»
05:55 diakopter elf++ pugs++
05:55 arlinius heh
05:56 diakopter 'tis a parse fail
05:56 diakopter I think
05:56 hejki pugs is the haskell impl, well what's elf? :>
05:57 diakopter perl/ruby/perl
05:57 hejki :>
05:58 diakopter that's a ... scary fail
05:59 diakopter rakudo: say ((((((1/7)/7)/7)/7)*7)*7)
05:59 p6eval rakudo f6092e: OUTPUT«0.0204081632653061␤»
05:59 hejki i'm just wondering what you did replace with perl in the first (or the last) part:)
05:59 diakopter STD for the first perl
05:59 hejki sexually transmitted disease? :P
06:00 diakopter I suppose it could be transmitted sexually, if you tried hard enough
06:00 hejki (:
06:01 diakopter rakudo: say (1/(7/(7/(7/(7*(7*7))))))
06:01 hejki does any implementation have laziness yet? i'd guess pugs could have, after all it's in haskell :>
06:01 p6eval rakudo f6092e: OUTPUT«49␤»
06:01 diakopter pugs doesn't compile *to* haskell
06:01 hejki oh
06:01 TimToady rakudo now has laziness
06:01 hejki oh really? :o
06:02 hejki nice :)
06:02 TimToady rakudo: say 1..*.batch(10)
06:02 p6eval rakudo f6092e: OUTPUT«␤»
06:02 TimToady rakudo: say (1..*).batch(10)
06:02 p6eval rakudo f6092e: OUTPUT«Method 'batch' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
06:02 TimToady rakudo: say (1..*).iterator.batch(10)
06:02 p6eval rakudo f6092e: OUTPUT«␤»
06:02 TimToady hmm
06:02 hejki rakudo: my @ar = gather { for ^Inf -> $x { take $x if $x % 3 == 0; }; }; say @ar[1];
06:02 diakopter <sidelong squint>
06:02 p6eval rakudo f6092e:  ( no output )
06:02 TimToady rakudo: say (1...*).iterator.batch(10)
06:02 p6eval rakudo f6092e: OUTPUT«12345678910␤»
06:03 TimToady rakudo: say (1...*).batch(10)
06:03 p6eval rakudo f6092e: OUTPUT«12345678910␤»
06:03 xomas joined #perl6
06:03 xomas joined #perl6
06:03 diakopter rakudo: say (1...^*).batch(10)
06:03 p6eval rakudo f6092e: OUTPUT«10-1-2-3-4-5-6-7-8␤»
06:03 diakopter O_O
06:04 hejki :O
06:04 TimToady rakudo: say (1,2,4 ... *)[10]
06:04 p6eval rakudo f6092e:  ( no output )
06:04 diakopter # masakbot: see my last
06:04 TimToady maybe doesn't intuit yet
06:04 hejki rakudo: say (1,3,5...*)[6];
06:04 hejki not even with easier logic :)
06:04 diakopter I think it timed out
06:04 hejki ye
06:04 TimToady rakudo: say (1,2,4, {$^a * $^a} ... *)[10]
06:05 p6eval rakudo f6092e:  ( no output )
06:05 p6eval rakudo f6092e: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class 'Failure'␤current instr.: '!postcircumfix:<[ ]>' pc 10568 (src/builtins/Role.pir:90)␤»
06:05 TimToady rakudo: say (1,2,4, {$^a + $^a} ... *)[10]
06:05 p6eval rakudo f6092e: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class 'Failure'␤current instr.: '!postcircumfix:<[ ]>' pc 10568 (src/builtins/Role.pir:90)␤»
06:05 diakopter rakudo: say (1,2,4 ... *).batch(11)[10]
06:05 p6eval rakudo f6092e: OUTPUT«1024␤»
06:05 TimToady rakudo: say (1,2,4, * * 2 ... *)[10]
06:05 p6eval rakudo f6092e: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
06:05 TimToady rakudo: say (1,2,4, -> $x { $x * 2 } ... *)[10]
06:05 p6eval rakudo f6092e: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class 'Failure'␤current instr.: '!postcircumfix:<[ ]>' pc 10568 (src/builtins/Role.pir:90)␤»
06:06 diakopter mine worked :P
06:06 TimToady rakudo: say (1,2,4, -> $x { $x * 2 } ... *).batch(10)
06:06 p6eval rakudo f6092e: OUTPUT«Method 'batch' not found for invocant of class 'Failure'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
06:07 TimToady decommuting &
06:08 astrojp left #perl6
06:08 diakopter rakudo: say (1..Inf).iterator.batch(10)
06:08 p6eval rakudo f6092e: OUTPUT«12345678910␤»
06:08 diakopter rakudo: say (1..Inf).iterator.batch(1000)
06:08 p6eval rakudo f6092e:
06:08 p6eval ..OUTPUT«1234567891011121314151617181920212223242​5262728293031323334353637383940414243444546474849​5051525354555657585960616263646566676869707172737​4757677787980818283848586878889909192939495969798​9910010110210310410510610710810911011111211311411​5116117118119120121122123124125126127128129130…
06:09 diakopter rakudo: say (Inf...1).iterator.batch(100)
06:09 p6eval rakudo f6092e:
06:09 p6eval ..OUTPUT«InfInfInfInfInfInfInfInfInfInfInfInfInfI​nfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfIn​fInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInf​InfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfI​nfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfIn​fInfInfInfInfInfInfInfInfInfInfInfInfInfInfInf…
06:09 diakopter :)
06:10 diakopter rakudo: say (NaN...Inf).iterator.batch(10)
06:10 p6eval rakudo f6092e: OUTPUT«NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN␤»
06:11 diakopter std: say and die 6
06:11 p6eval std 29928: OUTPUT«Undeclared routine:␤   'and' used at line 1␤ok 00:01 105m␤»
06:11 diakopter TimToady: see above
06:11 diakopter rakudo: say and die 3
06:11 p6eval rakudo f6092e: OUTPUT«3␤current instr.: '&die' pc 16799 (src/builtins/Junction.pir:347)␤»
06:12 snarkyboojum joined #perl6
06:15 athenot joined #perl6
06:16 diakopter actually, that's a rakudo parse wrongness; # masakbot see above
06:17 alester joined #perl6
06:42 mberends good morning
06:43 gfx joined #perl6
06:43 simcop2387 joined #perl6
06:45 diakopter hi
06:49 Sunil joined #perl6
06:53 eternaleye rakudo: multi sub fy-pick( @foo is copy, Whatever ) { my $remaining = @foo.end; while $remaining { my $pos = (rand * $remaining).Int; @foo[$pos, $remaining] = @foo[$remaining, $pos]; --$remaining; }; return @foo; }; say ~fy-pick( ^10, * )
06:53 p6eval rakudo f6092e: OUTPUT«No applicable candidates found to dispatch to for 'fy-pick'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
06:54 eternaleye alpha: multi sub fy-pick( @foo is copy, Whatever ) { my $remaining = @foo.end; while $remaining { my $pos = (rand * $remaining).Int; @foo[$pos, $remaining] = @foo[$remaining, $pos]; --$remaining; }; return @foo; }; say ~fy-pick( ^10, * )
06:54 p6eval alpha 30e0ed: OUTPUT«5 2 8 7 9 6 4 0 3 1␤»
06:54 eternaleye \o/
06:54 kaare joined #perl6
06:59 eternaleye alpha: multi sub fy-pick( @foo is copy, int $count ) { my $remaining = @foo.end; while $remaining > $count { my $pos = (rand * $remaining).Int; @foo[$pos, $remaining] = @foo[$remaining, $pos]; --$remaining; }; return @foo[*-$count..@foo.end]; }; say ~fy-pick( ^10, 3 )
06:59 p6eval alpha 30e0ed: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 10, near ", int $cou"␤in Main (file <unknown>, line <unknown>)␤»
06:59 eternaleye alpha: multi sub fy-pick( @foo is copy, Int $count ) { my $remaining = @foo.end; while $remaining > $count { my $pos = (rand * $remaining).Int; @foo[$pos, $remaining] = @foo[$remaining, $pos]; --$remaining; }; return @foo[*-$count..@foo.end]; }; say ~fy-pick( ^10, 3 )
06:59 p6eval alpha 30e0ed: OUTPUT«4 2 8␤»
07:01 pmurias joined #perl6
07:02 eternaleye alpha: multi sub fy-pick( @foo is copy, Whatever, :replace ) { gather { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; return @foo; }; say ~fy-pick( ^10, *, :replace ).batch(20)
07:02 p6eval alpha 30e0ed: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 10, near ":replace )"␤in Main (file <unknown>, line <unknown>)␤»
07:02 eternaleye alpha: multi sub fy-pick( @foo is copy, Whatever, :replace($) ) { gather { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; return @foo; }; say ~fy-pick( ^10, *, :replace ).batch(20)
07:02 p6eval alpha 30e0ed: OUTPUT«Method 'batch' not found for invocant of class 'Perl6Array'␤in Main (file src/gen_setting.pm, line 324)␤»
07:03 eternaleye rakudo: multi sub fy-pick( @foo is copy, Whatever, :replace($) ) { gather { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; return @foo; }; say ~fy-pick( @foo = ( ^10 ), *, :replace ).batch(20)
07:03 p6eval rakudo f6092e: OUTPUT«Confused at line 11, near "say ~fy-pi"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
07:03 eternaleye rakudo: multi sub fy-pick( @foo is copy, Whatever, :replace($) ) { gather { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; return @foo; }; say ~fy-pick( my @bar = ( ^10 ), *, :replace ).batch(20)
07:03 p6eval rakudo f6092e: OUTPUT«Redeclaration of symbol @bar at line 11, near " = ( ^10 )"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
07:04 eternaleye rakudo: multi sub fy-pick( @foo is copy, Whatever, :replace($) ) { gather { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; return @foo; }; say ~fy-pick( (my @bar = ( ^10 )), *, :replace ).batch(20)
07:04 p6eval rakudo f6092e: OUTPUT«Method 'batch' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
07:04 eternaleye rakudo: multi sub fy-pick( @foo is copy, Whatever, :replace($) ) { gather { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; }; say ~fy-pick( (my @bar = ( ^10 )), *, :replace ).batch(20)
07:04 p6eval rakudo f6092e: OUTPUT«1␤»
07:04 eternaleye rakudo: multi sub fy-pick( @foo is copy, Whatever, :replace($) ) { gather { while 1 { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; }; }; say ~fy-pick( (my @bar = ( ^10 )), *, :replace ).batch(20)
07:04 p6eval rakudo f6092e: OUTPUT«20␤»
07:05 eternaleye rakudo: multi sub fy-pick( @foo is copy, Whatever, :replace($) ) { gather { while 1 { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; }; }; say ~fy-pick( (my @bar = ( ^10 )), *, :replace ).batch(20)
07:05 p6eval rakudo f6092e: OUTPUT«20␤»
07:05 eternaleye rakudo: multi sub fy-pick( @foo is copy, Whatever, :replace($) ) { gather { while 1 { my $pos = (rand * @foo.end).Int; take( @foo[$pos] ); }; }; }; say ~(fy-pick( (my @bar = ( ^10 )), *, :replace ).batch(20))
07:05 p6eval rakudo f6092e: OUTPUT«20␤»
07:05 eternaleye ...
07:06 eternaleye It's like I grok it in large but not in small
07:20 uniejo joined #perl6
07:26 xabbu42 joined #perl6
07:29 Trashlord joined #perl6
07:30 quietfanatic joined #perl6
07:33 Su-Shee joined #perl6
07:38 pugssvn r29929 | lwall++ | [STD] Don't give misleading message when prefix missing its term
07:39 barney joined #perl6
07:47 ihrd1 joined #perl6
07:52 ihrd1 left #perl6
07:57 riffraff joined #perl6
08:03 Sunil left #perl6
08:04 payload1 joined #perl6
08:12 masak joined #perl6
08:12 masak good morning, #perl6
08:13 TimToady good evening
08:13 TimToady std: so so and so
08:14 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/6tPuObw2jW line 1 (EOF):␤------> [32mso so and so[33m⏏[31m<EOL>[0m␤    expecting any of:␤       prefix or meta-prefix␤    prefix_postfix_meta_operator␤     term␤FAILED 00:01 108m␤»
08:14 masak std: so not True;
08:14 p6eval std 29929: OUTPUT«ok 00:01 106m␤»
08:14 TimToady std: so not
08:14 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/7lTOjXUIWj line 1 (EOF):␤------> [32mso not[33m⏏[31m<EOL>[0m␤    expecting any of:␤     prefix or meta-prefix␤    prefix_postfix_meta_operator␤     term␤FAILED 00:01 106m␤»
08:15 masak std: not so ...
08:15 p6eval std 29929: OUTPUT«ok 00:01 106m␤»
08:20 snarkyboojum joined #perl6
08:21 JimmyZ joined #perl6
08:21 JimmyZ std: if so
08:21 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/uhOgFEHHnQ line 1 (EOF):␤------> [32mif so[33m⏏[31m<EOL>[0m␤    expecting any of:␤      prefix or meta-prefix␤    prefix_postfix_meta_operator␤     term␤FAILED 00:01 106m␤»
08:21 JimmyZ std: if so ugly rip it out
08:21 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing block (apparently gobbled by undeclared routine?) at /tmp/6aBpVkiC0C line 1 (EOF):␤------> [32mif so ugly rip it out[33m⏏[31m<EOL>[0m␤    expecting argument list␤Undeclared routines:␤       'it' used at line 1␤      'out' used at line 1␤
08:21 p6eval ..   'rip' used a…
08:22 TimToady std: .say if .so given True
08:22 p6eval std 29929: OUTPUT«ok 00:01 105m␤»
08:22 JimmyZ std: rip it out if so ugly
08:22 p6eval std 29929: OUTPUT«Undeclared routines:␤  'it' used at line 1␤      'out' used at line 1␤     'rip' used at line 1␤     'ugly' used at line 1␤ok 00:01 106m␤»
08:23 JimmyZ stdo: if 1 true;
08:23 JimmyZ std: if 1 true;
08:23 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing block at /tmp/sOMiPfLSZH line 1:␤------> [32mif 1 [33m⏏[31mtrue;[0m␤    expecting any of:␤  bracketed infix␤  infix or meta-infix␤FAILED 00:01 106m␤»
08:26 masak JimmyZ: also, two terms in a row.
08:26 masak (though that rule is temporarily lifted since we're in a special form)
08:26 spinclad heh, i like Peter Makholm's trailing talk, 'Perl 5 isn't so bad after all'
08:31 xomas joined #perl6
08:31 xomas joined #perl6
08:32 masak spinclad: URL?
08:33 JimmyZ masak: I can't understand
08:33 masak from the learning-from-the-suffering-o​f-other-language-communities department: here's a Ruby string encoding rant: http://github.com/candlerb/string19/raw/47b0cb​a0a2047eca0612b4e24a540f011cf2cac3/soapbox.rb
08:33 masak JimmyZ: know what a term is?
08:33 JimmyZ if?
08:34 masak JimmyZ: no, a term is a 'lexical item', like a number, or a variable, or a string, or a list...
08:34 masak it's the nouns of programming languages.
08:35 JimmyZ I'd like 'if 1 true' passes std.
08:35 masak yes, and I'm in the process of explaining to you why it won't :)
08:36 JimmyZ so, why?
08:36 masak because you can't have two terms in a row. both '1' and 'true' are terms.
08:36 masak by the way, back when 'true' existed in Perl 6, it expected an argument, so you can't have it last in an expression.
08:37 JimmyZ and what's about perl 5?
08:38 JimmyZ std: if 1 return ture;
08:38 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing block at /tmp/GHmSn5XPBD line 1:␤------> [32mif 1 [33m⏏[31mreturn ture;[0m␤    expecting any of:␤   bracketed infix␤  infix or meta-infix␤FAILED 00:01 108m␤»
08:38 spinclad masak: http://www.opensourcedays.org/2010/node/267 :)
08:38 hejki :D
08:38 hejki tureing complete
08:39 JimmyZ std: my $a = 1; if $a return;
08:39 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing block at /tmp/U74WdUpfQI line 1:␤------> [32mmy $a = 1; if $a [33m⏏[31mreturn;[0m␤    expecting any of:␤    bracketed infix␤  infix or meta-infix␤FAILED 00:01 106m␤»
08:39 masak JimmyZ: so you're essentially advocating removing the braces? that won't happen.
08:39 JimmyZ std: my $a = 1; return if $a;
08:39 p6eval std 29929: OUTPUT«ok 00:01 106m␤»
08:40 masak spinclad: ah, should have guessed. :)
08:41 masak spinclad: yes, that's a nice title. gave me a bit of the wrong impression because of the context (five Perl 6 talks prior to it), but the description sounds nice.
08:41 JimmyZ masak: I just want to know why return if $a works.
08:41 spinclad 'perl 5 isn't all that bad as you say'
08:42 masak JimmyZ: when you phrase it that way, it almost sounds sensible. :)
08:43 spinclad .oO{ oh, it has a description now?  it was just a black text title last i looked, a while ago... }
08:51 masak JimmyZ: think of it as two different types of 'if': the quick-and-easy type and the slightly-more-robus type. with the quick-and-easy version, you just slap on an 'if True' at the end of your statement. with the robus version, you have to be a bit more elaborate and use curly braces.
08:51 masak JimmyZ: I know that doesn't fully answer your question. it's the start of an explanation though.
08:52 JimmyZ std: if (-> { $^a + $^b})(1,1) { say 'hello' }
08:52 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Placeholder variable $^a cannot override existing signature ( ) at /tmp/kO6TqK9JEk line 1:␤------> [32mif (-> { $^a[33m⏏[31m + $^b})(1,1) { say 'hello' }[0m␤    expecting any of:␤ POST␤   postfix␤  postfix_prefix_meta_operator␤FAILED 00:01 107m␤»
08:52 spinclad masak: yes, a talk about the Perl Renaissance sounds good, and Modern, and not at all Stop Dissing Our Language, TYVM.  I hope the hall will have room to celebrate together the latest hot news of two sibling languages and their communities.
08:52 JimmyZ std: if (-> { $^a + $^b})(1,1)) { say 'hello' }
08:53 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Placeholder variable $^a cannot override existing signature ( ) at /tmp/MT9iEWW39G line 1:␤------> [32mif (-> { $^a[33m⏏[31m + $^b})(1,1)) { say 'hello' }[0m␤    expecting any of:␤        POST␤   postfix␤  postfix_prefix_meta_operator␤FAILED
08:53 p6eval ..00:01 107m␤»
08:53 JimmyZ std: if ( { $^a + $^b})(1,1)) { say 'hello' }
08:53 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Expression needs parens to avoid gobbling block at /tmp/lvm8XLTXPn line 1:␤------> [32mif [33m⏏[31m( { $^a + $^b})(1,1)) { say 'hello' }[0m␤Missing block (apparently gobbled by expression) at /tmp/lvm8XLTXPn line 1:␤------> [32mif ( { $^a +
08:53 p6eval ..$^b})…
08:53 JimmyZ std: if ( -> $a, $b { $a + $b})(1,1)) { say 'hello' }
08:53 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Expression needs parens to avoid gobbling block at /tmp/fkllYkk0KR line 1:␤------> [32mif [33m⏏[31m( -> $a, $b { $a + $b})(1,1)) { say 'hel[0m␤Missing block (apparently gobbled by expression) at /tmp/fkllYkk0KR line 1:␤------> [32mif ( -> $a, $b
08:53 p6eval ..…
08:53 spinclad *robust
08:53 masak aye.
08:54 JimmyZ std: if for $c -> $a, $b { $a + $b} { say 'hello' }
08:54 p6eval std 29929: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $c is not predeclared at /tmp/UqKZOiWv9g line 1:␤------> [32mif for $c[33m⏏[31m -> $a, $b { $a + $b} { say 'hello' }[0m␤    expecting any of:␤     POST␤   postfix␤  postfix_prefix_meta_operator␤FAILED 00:01 105m␤»
08:55 spinclad std: if ({ $^a + $^b}(1,1)) -> $c { say "it makes $c" }
08:55 p6eval std 29929: OUTPUT«ok 00:01 108m␤»
08:56 masak TimToady: with :!defined, can we kill off *.notdef now? there's one mention in S02 and two in S32/Basics.
08:57 spinclad rakudo: if ({ $^a + $^b}(1,1)) -> $c { say "it makes $c" }
08:57 p6eval rakudo f6092e: OUTPUT«it makes 2␤»
08:59 snarkyboojum joined #perl6
09:03 mathw Morning
09:04 m-locks gm
09:07 quester joined #perl6
09:07 dakkar joined #perl6
09:08 masak morning, mathw.
09:11 spinclad good early morn, mathw, dawn still abed here
09:16 mathw Dawn is well and truly past here
09:18 payload joined #perl6
09:26 jonasbn joined #perl6
09:28 mathw Wow masak, a whole load of your RT tickets just appeared in my inbox
09:28 masak I would say 'sorry about that', but I guess I'm not... :)
09:30 mathw It's okay :)
09:31 mathw I like to see that the masakbot is still in operation
09:31 mathw masak++
09:31 masak oh, operating just fine.
09:32 mathw :)
09:33 masak "Hello, I'm Carl Mäsak. I'm an IRC bot. On my good days I pass the Turing test."
09:34 mathw The Turing test is flawed
09:34 mathw Emulation of a human is not really a very good test for a functional AI
09:34 mathw It's an AI, not a human...
09:34 snarkyboojum is it? :)
09:35 mathw Okay so you could write an AI which emulated a human
09:35 masak mathw: depends on what the goal is, I guess.
09:35 mathw But why bother?
09:35 spinclad 'Hi, i'm an airplane.  on my good days I flap my wings and pretend i'm a bird.'
09:37 masak mathw: I think there's good money in making programs that successfully pretend to be human.
09:37 masak mathw: depending on the exactness of the simulation, I can also see actual uses for such a technology.
09:37 masak I agree that the human-likeness criterion is arbitrary and perhaps limiting, but I wouldn't say it's not interesting.
09:38 mathw It's probably harder
09:38 mathw Although a human-like AI might be less scary
09:38 mathw An AI which behaves like an artificial lifeform and develops incomprehensible motivations would be a bit more worrisome
09:38 masak unless we land in the Uncanny Valley :)
09:38 mathw Although humans are scary enough, so...
09:39 * mathw intuits that all AIs are scary
09:39 * mathw further intuits that all sentient life forms are scary
09:39 spinclad 'hi, i'm a box on the net.  on good days i pay the bills that keep me fed and cool.  on bad days i just sulk.'
09:43 spinclad limited self-situation (not to say awareness) need not be over-taxing...  modelling one's duties and so attending to them is not so different from inbuilt knowing how to do them.  free-form interaction need not be among those duties.
09:43 * spinclad intuits that people have long been scary
09:44 b_jonas joined #perl6
10:09 mberends a SatNav with voice output passes the Turing Test without being asked any questions. "Turn around when possible. At the next roundabout, turn left"...  Or is that the Turning Test that the human is trying to pass?
10:19 masak mberends: not sure that counts. the fact that the thing speaking to me is a little box with an LCD, is a bit of a tip-off. :)
10:20 mberends masak: then you should be doing the test blindfold. Er, no, car drivers aren''t allowed to do that ;)
10:23 mathw echo location!
10:23 mathw what do you mean you don't have any bat DNA?
10:26 orafu joined #perl6
10:26 masak mberends: :)
10:29 mberends ah, jnthn-san is finally waking :)
10:30 riffraff joined #perl6
10:43 riffraff joined #perl6
10:54 masak could defining a new type be seen as a sort of grammar modification, albeit a very mild one?
10:55 colomon Defining a new operator certainly is...
10:55 masak yes...
10:55 masak related question from yesterday: how do I define types so that they're *not* exported?
10:56 colomon I thought you could do "my class X", or something like that?  Never tried it, I admit.
10:56 masak hm. makes sense. thanks.
10:57 colomon It makes sense,  but is it spec?  And does it work?  ;)
10:57 mathw I think it is spec
10:57 mathw I'm sure I've read about that before
10:57 mathw It restricts visibility of the new type to the lexical scope
10:57 mathw (I think)
10:57 mathw (If it doesn't, why not, I want a good reason)
10:59 sjohnson yo matt
10:59 colomon > (1,2,4, -> $a {$a + $a} ... *).batch(10).perl.say
10:59 colomon (1, 2, 4, 8, 16, 32, 64, 128, 256, 512)
11:01 masak lunch &
11:01 mathw std:my class Robot {}
11:03 mathw std: my class Robot {}
11:03 jonasbn joined #perl6
11:03 p6eval std 29929: OUTPUT«ok 00:01 107m␤»
11:03 mathw ah it needs the space
11:08 colomon rakudo: say 81 < 9.Rat
11:08 p6eval rakudo f6092e: OUTPUT«0␤»
11:10 colomon rakudo: say Int ~~ Num
11:10 p6eval rakudo f6092e: OUTPUT«1␤»
11:12 pnate joined #perl6
11:14 mathw rakudo: my class Robot {}
11:14 p6eval rakudo f6092e: OUTPUT«Can't handle scope declarator my on packages yet␤current instr.: 'perl6;Perl6;Compiler;Package;finish' pc 26286 (src/gen/parameter_pm.pir:491)␤»
11:14 mathw \o/ rakudo knows it's not finished :)
11:18 jnthn oh morning
11:18 colomon \o
11:21 rv2733 joined #perl6
11:23 mathw oh hai jnthn
11:27 jnthn mathw: lol hai
12:08 am0c joined #perl6
12:13 colomon http://justrakudoit.wordpress.c​om/2010/03/03/thoughts-on-real/
12:16 mberends colomon++: you could have entitled it Getting Real ;)
12:17 colomon ;)
12:25 cognominal jnthn, it is official now, the french perl workshop will be in Calais, June 10-11
12:26 cognominal any English or French speaker is welcome :)
12:26 colomon The sad thing is, after all the work last night on the series operator, I should probably churn out another blog post on it, but I've got to get to $work now.
12:27 jnthn cognominal: Whoa...that is right up against the Ukraine one.
12:27 jnthn (which starts on the 12th...)
12:27 cognominal too bad.
12:28 jnthn Well, with some slightly creative travel arrangements...
12:28 jnthn :-)
12:28 jnthn I guess I can miss a day or one or the other of them, and so long as my talks get scheduled on the day I'm around, it's do-able.
12:28 cognominal I can make sure you talk the first day, if you want
12:28 jnthn *of
12:28 jnthn Yeah
12:28 cognominal ok
12:29 jnthn OK, I'll keep it in mind. Can't commit now - life too crazy (moving appartment/country/job/life at the moment :-)).
12:29 jnthn But would like to do both, so, we'll see. :-)
12:29 cognominal ok, expect to see you if you can make it.
12:42 pmurias joined #perl6
12:51 payload joined #perl6
12:52 lichtkind joined #perl6
12:53 lichtkind mberends: hai hai
12:57 lichtkind moritz_: can i get a commit bit on the perl 6 book?
12:57 takadonet morning all
12:58 ignacio_ joined #perl6
12:59 lichtkind moin
13:01 pmurias lichtkind: it's on github so you can fork it
13:01 masak joined #perl6
13:01 jnthn lolitsmasak
13:01 lichtkind pmurias: shure but maybe i want it push back in mainline
13:03 masak yayitsjnthn
13:03 colomon http://news.perlfoundation.org/20​10/03/completed_hague_grant.html
13:03 colomon jnthn++
13:05 masak jnthn++!
13:05 Exodist joined #perl6
13:06 lichtkind masak: can i get commit bit to book or should i clone?
13:07 lichtkind jnthn++ :)
13:08 masak lichtkind: cloning/pull-requests sounds like a good option, at least short-term.
13:16 lichtkind masak: is november fixed? :)
13:17 masak lichtkind: no :(
13:18 jnthn Thanks, folks.
13:18 * jnthn has happy to finish the grant too :-)
13:18 masak lichtkind: I'm in the middle of slides preparations for OSD.
13:18 jnthn mberends: lunch?
13:18 mberends huh?
13:18 jnthn chcem jest bryndzove halusky!
13:19 lichtkind :)
13:20 jnthn bbl :-)
13:21 ignacio_ joined #perl6
13:43 alester joined #perl6
13:45 athenot joined #perl6
13:55 ruoso joined #perl6
14:01 payload joined #perl6
14:06 [particle] S03: s/boolen/boolean/
14:12 lichtkind mberends: maybe you have further ideas for http://www.perlfoundation.o​rg/perl6/index.cgi?timeline
14:17 pugssvn r29930 | masak++ | [S03] typo, discovered by particle++
14:19 cognominal joined #perl6
14:20 PerlJam lichtkind: that first entry is weird.
14:20 xabbu42 joined #perl6
14:21 PerlJam lichtkind: it makes it seem like Larry had something to do with the coffee mug and that "the idea of Perl 6" didn't exist prior to that point.  Both of which are not exactly true.
14:24 cotto joined #perl6
14:25 masak the joke about 'chronically' as a misspelling of 'chronological' doesn't make much sense.
14:25 masak (that is, I assume it's a joke)
14:26 PerlJam yeah, I wasn't sure what to make of that either
14:27 masak 'due medical problems' -> 'due to medical problems'. I'm not sure that item deserves to be in the timeline.
14:27 masak on the other hand, I'd like to see a mention of the Ponie project.
14:28 masak 'came public with' -> 'announced'.
14:28 PerlJam What about  the Perl 6 prehistory?   1998 - Chip Salzenburg starts the Topaz project
14:28 PerlJam (sorry chip if I've misspelt your name)
14:29 masak Salzenberg.
14:29 PerlJam for some reason I'm never sure if it's -burg or -berg
14:30 masak PerlJam: think 'salty mountain', not 'salty city'.
14:30 Su-Shee burgs stand on bergs. ;)
14:30 masak if the burgs are lucky, that is :)
14:30 PerlJam masak: that actually may help  (as I do tend to think "city")
14:31 * masak <-- language association hotline, 24/7
14:31 PerlJam :-)
14:32 PerlJam I don't think I'll every forget "salty mountain" now  ... let's just hope I remember it when it comes to Chip's name  :)
14:32 Su-Shee the real salzburg is on a berg as well. ;)
14:33 masak PerlJam: just imagine Chip scaling a mountain of salt. :)
14:33 Su-Shee "would you pass me the salt" will never be said as before. ;)
14:34 masak truck pulls up... dumps contents...
14:34 masak "The salt shaker would have been enough, you know."
14:36 lichtkind joined #perl6
14:36 Khisanth joined #perl6
14:36 rhr joined #perl6
14:37 PerlJam shakers and a jehovah's witness ...
14:37 lichtkind PerlJam: i know its true, feel free to change or i do it tonight when im back
14:38 synth joined #perl6
14:43 hicx174 joined #perl6
14:56 PacoLinux joined #perl6
14:57 payload joined #perl6
14:57 alester joined #perl6
15:03 masak the item about Apocalypse 1 links to 'Synopses', but the Synopses article doesn't much mention the apocalypses.
15:03 masak http://www.perlfoundation.o​rg/perl6/index.cgi?synopses
15:04 masak the phrasing '(almost) human readable' looks like another attempt at being funny. please remove.
15:04 masak "The Synopses are the (almost) human readable documents which constantly kept up to date". This is not a defining property of the Synopses at all.
15:04 masak The Synopses serve as a specification of Perl 6.
15:14 Tene Mmm... more cellphone pie for breakfast.
15:15 Tene masak: can you check if try{} catches other control exceptions for me
15:15 masak sure.
15:15 b_jonas masak: luckily it links to http://perlcabal.org/syn/ which makes this clear in the first sentence
15:16 masak b_jonas: yes, but I don't see why the wiki (whose purpose it is to inform) couldn't be a bit less confusing.
15:17 b_jonas sure
15:18 masak rakudo: my @a = gather { take 1; try { take 2 }; take 3 }; say @a.perl
15:18 p6eval rakudo f6092e: OUTPUT«[1, 3]␤»
15:18 masak Tene: :)
15:18 masak Tene: guess that answers your question.
15:18 Tene okay, that means that it's likely the easy fix.
15:19 masak rakudo: for 1..10 -> $n { if $n == 5 { try { last } }; say $n }
15:19 Tene looking at it now.
15:19 p6eval rakudo f6092e: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
15:19 masak Tene++
15:22 Tene alpha: for 1..10 -> $n { if $n == 5 { try { last } }; say $n }
15:22 p6eval alpha 30e0ed: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
15:24 f00li5h[HireMe] joined #perl6
15:26 Trashlord joined #perl6
15:32 alester joined #perl6
15:32 IllvilJa joined #perl6
15:34 quester left #perl6
15:39 Psyche^ joined #perl6
15:41 nihiliad joined #perl6
15:45 Salada345 joined #perl6
15:49 Tene Oh, it's compiling so slowly because I still have my cpu throttled down.
15:49 Tene heh.
15:58 Tene masak: fixed and committed.  Please confirm and take care of the ticket.
15:59 masak Tene: will do. Tene++
15:59 dalek rakudo: d66fe37 | tene++ | src/Perl6/Actions.pm:
15:59 dalek rakudo: Slight refactor of push_block_handler
15:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​66fe378ce5ad21ce080f2dbf3af38d658c3605d
15:59 dalek rakudo: 4edd19d | tene++ | src/Perl6/Actions.pm:
15:59 dalek rakudo: Re-work try {} to ignore control exceptions
15:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​edd19dbaaee2dd2c61cbc1044ef39651d45f3e4
16:00 Tene AFK, $work again
16:00 TimToady Tene++
16:02 jaldhar joined #perl6
16:03 TimToady kudo: for 1..10 -> $n { if $n == 5 { last; CATCH {} }; say $n }
16:03 TimToady rakudo: for 1..10 -> $n { if $n == 5 { last; CATCH {} }; say $n }
16:03 p6eval rakudo f6092e: OUTPUT«1␤2␤3␤4␤»
16:04 TimToady rakudo: for 1..10 -> $n { if $n == 5 { last; CONTROL {} }; say $n }
16:04 p6eval rakudo f6092e: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
16:04 TimToady that looks about right
16:05 masak aye.
16:06 TimToady except for the fact that it should probably be rethrowing without a 'when * {}'
16:06 masak one step at a time :)
16:07 mberends travel Bratislava -> Arnhem     o/
16:07 TimToady \o
16:07 masak o/
16:09 TimToady just think how much more fun Unicode would have been if they'd introduced alternating characters so we could do animation
16:11 masak as it stands now, you'll just have to get two <blink> elements to get 180 degrees out of phase :P
16:12 masak a much cleaner solution, independent of code points.
16:12 diakopter masak: hi
16:12 masak diakopter: \o
16:13 diakopter (see masakbot hilites in the irclog if you like)
16:13 pmurias joined #perl6
16:13 pmurias ruoso: hi
16:13 masak ooh! haven't done that today.
16:13 am0c joined #perl6
16:14 masak rakudo: say 7**-1 # from diakopterbot
16:14 p6eval rakudo f6092e: OUTPUT«0␤»
16:14 * masak submits rakudobug
16:14 frettled heh
16:15 masak pugs: say 1/7/7/7/7/7/7/7*7
16:15 p6eval pugs: OUTPUT«0.00000849985975231​40868175675101360827546␤»
16:15 masak rakudo: say 1/7/7/7/7/7/7/7*7 # also found by diakopter++
16:15 p6eval rakudo f6092e: OUTPUT«1␤»
16:15 * masak submits rakudobug
16:15 diakopter I don't get that one
16:15 diakopter it's not fully left-associative nor fully right-associative
16:15 masak me neither. kudos to whoever gets it.
16:16 masak rakudo: say (Inf...1).iterator.batch(100)
16:16 p6eval rakudo 4edd19:
16:16 p6eval ..OUTPUT«InfInfInfInfInfInfInfInfInfInfInfInfInfI​nfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfIn​fInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInf​InfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfI​nfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfIn​fInfInfInfInfInfInfInfInfInfInfInfInfInfInfInf…
16:16 masak not a bug, but I liked that one :P
16:16 diakopter heh
16:17 masak "Inf bottles of beer on the wall..."
16:17 diakopter rakudo: say (1...^*).batch(10)
16:17 p6eval rakudo 4edd19: OUTPUT«10-1-2-3-4-5-6-7-8␤»
16:17 masak rakudo: say and die 3
16:17 frettled eeeeh
16:17 p6eval rakudo 4edd19: OUTPUT«3␤current instr.: '&die' pc 16799 (src/builtins/Junction.pir:347)␤»
16:17 frettled 10-1-2-..?
16:17 diakopter 10,-1,-2
16:18 frettled ah
16:18 masak std: say and die 3
16:18 p6eval std 29930: OUTPUT«Undeclared routine:␤   'and' used at line 1␤ok 00:01 107m␤»
16:18 Toony joined #perl6
16:18 masak o.O
16:18 diakopter rakudo doesn't complain about 'and'
16:18 diakopter so it must be interpreting it as infix and
16:18 masak should it?
16:18 frettled diakopter: actually, 1, 0, -1, -2 etc :)
16:18 diakopter ohhh
16:19 frettled rakudo: say (1…^*).batch(10).perl
16:19 p6eval rakudo 4edd19: OUTPUT«Confused at line 11, near "say (1\u2026^*)"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:19 frettled rakudo: say (1...^*).batch(10).perl
16:19 p6eval rakudo 4edd19: OUTPUT«(1, 0, -1, -2, -3, -4, -5, -6, -7, -8)␤»
16:19 * masak submits rakudobug for 'say and'
16:19 diakopter why would ^* produce that
16:19 frettled Shouldn't <…> work as a substitute for <...>?
16:20 masak frettled: not according to the spec, AFAIK.
16:20 * masak submits rakudobug for '1...^*'
16:22 diakopter what's that supposed to do
16:22 diakopter ?
16:23 diakopter rakudo: say (;;).WHAT
16:23 p6eval rakudo 4edd19: OUTPUT«Int()␤»
16:24 diakopter rakudo: say (;).WHAT
16:24 p6eval rakudo 4edd19: OUTPUT«Int()␤»
16:24 PerlJam masak: are you sure that's a bug?  :)
16:24 diakopter I don't know what ^* should do
16:25 masak PerlJam: I think it is, yes.
16:25 masak PerlJam: it shouldn't count downwards.
16:25 sjn rakudo: say (^*).WHAT
16:25 p6eval rakudo 4edd19: OUTPUT«Range()␤»
16:25 masak hey, look at this!
16:26 frettled hmm?
16:26 sjn rakudo: say (*).WHAT
16:26 p6eval rakudo 4edd19: OUTPUT«Whatever()␤»
16:26 PerlJam rakudo: say ^*
16:26 p6eval rakudo 4edd19: OUTPUT«␤»
16:26 masak rakudo: .say for 1/7*7, 1/7/7*7, 1/7/7/7*7, 1/7/7/7/7*7
16:26 p6eval rakudo 4edd19: OUTPUT«1␤0.142857142857143␤1␤0.142857142857143␤»
16:26 PerlJam rakudo: my @a = ^*; say @a.batch(10);
16:26 p6eval rakudo 4edd19: OUTPUT«Method 'batch' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:26 masak that explains it, I think.
16:27 diakopter say (1,2,4 ... *).batch(11)[10] # it's not lazy unless you use .batch
16:27 diakopter rakudo: say (1,2,4 ... *).batch(11)[10] # it's not lazy unless you use .batch
16:27 p6eval rakudo 4edd19: OUTPUT«1024␤»
16:27 diakopter rakudo: say (1,2,4 ... *)[10] # it's not lazy unless you use .batch
16:27 masak the 7's cancel out each other.
16:27 PerlJam rakudo: say (^*).batch(10);
16:27 diakopter right
16:27 p6eval rakudo 4edd19:  ( no output )
16:27 p6eval rakudo 4edd19: OUTPUT«Method 'batch' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:27 diakopter but how
16:27 PerlJam should .batch work on Ranges and Arrays?
16:28 masak diakopter: it's as if / had higher prec than *
16:28 diakopter they would cancel each other out if it were right-associative
16:28 diakopter if "/" were right-ass I mean
16:28 diakopter er, right-assoc
16:28 masak maybe it iss.
16:28 masak well, something's wrong, at least.
16:29 diakopter (1,2,4 ... *)[10] times out
16:29 diakopter but (1,2,4 ... *).batch(11)[10] doesn't
16:34 athenot joined #perl6
16:34 masak maybe .[] isn't properly lazy yet.
16:35 diakopter oh
16:35 diakopter masak: you're right; it's a precedence thing
16:35 dan_linder1 joined #perl6
16:36 diakopter wait no
16:36 masak ok.
16:36 masak :)
16:36 diakopter I recant recant
16:49 mj41 joined #perl6
17:00 masak food &
17:00 justatheory joined #perl6
17:00 ned joined #perl6
17:00 pmurias diakopter: how's sprixel progressing?
17:06 TimToady the 7/7 one is likely because of Rat literals, which we probably need to unspec
17:07 TimToady and rely only on constant folding
17:07 mikehh joined #perl6
17:08 colomon diakopter: [] on iterators isn't lazy yet.
17:13 dev_ joined #perl6
17:14 k23z__ joined #perl6
17:15 k23z__ joined #perl6
17:15 cognominal joined #perl6
17:17 k23z__ joined #perl6
17:24 SmokeMachine joined #perl6
17:25 astrojp joined #perl6
17:26 astrojp left #perl6
17:26 astrojp joined #perl6
17:33 ShaneC joined #perl6
17:34 colomon SF has broken Rakudo again  :(
17:34 colomon http://lastofthecarelessmen.blogspot.com/2010/​03/lazy-sieve-of-eratosthenes-sidetracked.html
17:34 pugssvn r29931 | lwall++ | [S02] remove 1/2 and +2-3i literal forms, now rely on angle dwimmery for literals,
17:34 pugssvn r29931 | or constant folding otherwise.
17:35 PerlJam "angle dwimmery"?
17:35 * PerlJam goes to read the diff
17:35 colomon TimToady: I already removed the +2-3i literal form in Rakudo -- it was causing problems with expressions like -2+3i.
17:37 k23z__ why don't you guys move to github ? is Rakudo so big that it won't fit 200mb ?
17:37 k23z__ at least in sources if not builds
17:38 PerlJam k23z__: what are you talking about? Rakudo is on github
17:38 colomon Rakudo is on github.
17:38 PerlJam k23z__: if you're referring to pugs, there's some other advantages to keeping things as they are.
17:38 k23z__ I didn't know
17:38 k23z__ no no,I'm not refering to pugs
17:39 k23z__ sorry for my lack of knowledge ..
17:39 PerlJam k23z__: http://rakudo.org/how-to-get-rakudo
17:41 k23z__ do you guys have a permutation class , like this one on Perl6 ? If no, I'm offering to port my code to Perl6 http://search.cpan.org/~wsdookadr/CM-​Permutation-0.4/lib/CM/Permutation.pm
17:42 ive joined #perl6
17:43 PerlJam k23z__: you don't need our permission or blessing to do that  :)
17:46 k23z__ yes but would there be anyone to help ?
17:46 PerlJam k23z__: #perl6 is always here to help with Perl 6 stuff.  Like any other channel on IRC, it's just a matter of catching the right people at the right time.
17:47 k23z__ one more question , I am banned permanently from #perl , does that mean I'll be banned on #perl6 also ?
17:48 takadonet k23z__: no
17:49 PerlJam k23z__: #perl6 operates independantly from #perl.
17:49 PerlJam k23z__: but ... why were you banned from #perl and who banned you?
17:50 PerlJam (getting permabanned from freenode #perl is highly unusual)
17:50 k23z__ mst and apeiron , I wasn't actually aware that their click practically owns Perl5 , I had some problems with mst and got banned permanently
17:50 m-locks there are no ops there currently
17:50 k23z__ what can I say ,I'm an unusual person ..
17:50 k23z__ m-locks: yes there are, they just don't put the @ ..
17:51 PerlJam k23z__: are you *sure* it's a permaban?
17:51 k23z__ PerlJam: 101%
17:51 m-locks k23z__: umm i thought that was not possible
17:51 k23z__ m-locks: what was not possible ?
17:51 m-locks it says in the list of nick that 0 ops
17:52 meppl joined #perl6
17:52 m-locks to be a channel operator without others seeing it
17:52 k23z__ m-locks: check /bans , I'm there
17:52 k23z__ anyway going outside
17:52 k23z__ for a stroll
17:52 m-locks aye
18:04 colomon rakudo: ((1...*) Z (10 ... 1)).batch(20).perl.say
18:05 p6eval rakudo 4edd19: OUTPUT«(1, 10, 2, 9, 3, 8, 4, 7, 5, 6, 6, 5, 7, 4, 8, 3, 9, 2, 10, 1)␤»
18:05 colomon rakudo: ((1...*) Z (10 ... 1)).batch(40).perl.say
18:05 p6eval rakudo 4edd19: OUTPUT«(1, 10, 2, 9, 3, 8, 4, 7, 5, 6, 6, 5, 7, 4, 8, 3, 9, 2, 10, 1)␤»
18:05 colomon that seems fine...
18:05 astrojp left #perl6
18:11 colomon but I can duplicate SF's bad results locally.
18:12 colomon rakudo: ((3, 6 ... *) Z (4, 8 ... *)).batch(20).perl.say
18:12 p6eval rakudo 4edd19: OUTPUT«(4, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76)␤»
18:12 colomon ooooh, there you go.
18:13 colomon Can't have two instances of the same gather operating at the same time, maybe?
18:13 PerlJam likely
18:14 colomon rakudo: my $a = (3, 6 ... *).iterator; my $b = (4, 8 ... *).iterator; say $a.get; say $b.get; say $a.get; say $b.get;
18:14 p6eval rakudo 4edd19: OUTPUT«4␤4␤8␤12␤»
18:14 colomon Yup, that's it.
18:16 colomon Weird that the 4 appears twice
18:19 rgrau joined #perl6
18:20 diakopter m-locks: those in the channel operator list can issue channel commands through chanserv
18:20 pnate joined #perl6
18:21 justatheory joined #perl6
18:22 m-locks diakopter: oh ok
18:28 Chillance joined #perl6
18:31 k23z__ colomon: it's nice that rakudo understands that    a...b with a>b means reverse(a..b)
18:32 k23z__ would it be easy to translate parrot code to native assembly ?
18:32 k23z__ err , ah I forgot parrot is a vm for dynamic languages ...
18:32 k23z__ the answer is no right ?
18:35 dan_linder1 left #perl6
18:45 k23z__ what is the intended purpose for Perl6 in the light that Perl5 was mainly used for webdevelopment and automating stuff ( although I use it for completely other purposes )
18:45 k23z__ ?
18:46 k23z__ I mean, will Perl6 be a web development language ? ?
18:46 diakopter general purpose programming language, like Perl 5
18:51 kfo joined #perl6
18:57 khet joined #perl6
19:03 k23z__ I just read masak's description of a debugger http://github.com/masak/tar​dis/blob/master/docs/theory
19:04 k23z__ is this just for the tardis debugger or for debuggers in general ?
19:04 k23z__ "When the debugger is run, it sits collecting all possible states from all the"
19:04 k23z__ ticks, and then upon completion spits out "Done. 49367 ticks."
19:04 k23z__ The user can then browse through ticks 0..49366 in various intelligent ways.
19:04 colomon That's just his idea of how Tardis should run.
19:05 k23z__ ah yes I understand
19:05 k23z__ this Tardis cannot take account for user input
19:05 k23z__ for for some blocking input source for that matter ...
19:07 nihiliad joined #perl6
19:10 k23z__ hmm, on a second thought I think it can, if it does what Masak says until user-input and afterwards stop and accepts the user input then does what Masak says again ..
19:14 kaare_ joined #perl6
19:14 jonasbn joined #perl6
19:23 k23z__ joined #perl6
19:40 pugssvn r29932 | lwall++ | [STD] remove 1/2 and -1+3i literal forms
19:42 k23z__ err, can I have hosting for a project ?
19:42 colomon k23z__: why not use github?
19:46 ignacio_ joined #perl6
19:46 ruoso joined #perl6
19:47 k23z__ github is not enough
19:48 Tene What kind of hosting do you want, for what kind of project, and what do you need that github does not provide?
19:48 k23z__ enough space ?
19:48 k23z__ ssh access
19:49 k23z__ with perl6 on it
19:49 k23z__ and perl5
19:49 k23z__ and git
19:49 PerlJam Hmm.
19:49 k23z__ that would be enough :)
19:49 PerlJam You could ask Juerd for a feather account.
19:49 Tene that's asking for a shell server, not a repository hosting.
19:49 Tene juerd offers that on feather.  you should contact him.
19:49 PerlJam But if you're just going to fill up the disk or other such nonsense, don't bother
19:50 ash_ joined #perl6
19:50 k23z__ fill up with what ? this is strictly for a project, I have storage space
19:50 k23z__ I would need cycles however ..
19:50 PerlJam k23z__: well, ask Juerd and see what happens.
19:52 ash_ so... i have a question about the most recent pugs-svn commit, to the spec, regarding rationals and 1+3i style literals... does that mean writing 1/2 is not 'the right way' to do it anymore? doing <1/2> is now the correct way to write all rationals?
19:53 ash_ was this because / is confusing to figure out where its a division and where its a fraction/rational?
19:53 ash_ and by most recent pugs commit, i mean r29931 (it might not be the most recent anymore)
19:53 colomon I think the problem was that 1/7/7/7/7/7 example.
19:54 ash_ yeah, just glancing at that looks confusing to me
19:54 colomon you expect it to be 1 divided by 7 divided by 7....
19:54 colomon but I think it was probably parsing (1/7)/(7/7)/(7/7) or something like that.
19:55 colomon You can still say 1 / 7 by saying 1 / 7.
19:55 colomon It's just now it fits better.
19:55 colomon Or to work with the example that I know was happening (because I fixed it in Rakudo).
19:56 colomon -3+2i was parsing as -(3+2i) because 3+2i was a complex literal.
19:56 ash_ gotya, cool
19:56 colomon I discovered it because it made a couple of tests blow up.
19:56 ash_ so basically those old forms left room for mis-interpretation
20:01 TimToady phone
20:01 TiMBuS joined #perl6
20:06 ash_ is it x or :x for file tests?
20:07 colomon should be :x, right? (I get smiley interference on this subject...()
20:08 TimToady $x ~~ :x translates to "so $x.x"
20:09 athenot joined #perl6
20:09 ash_ oh, okay, i thought $obj ~~ :x would translate to $obj.:x
20:10 Khisanth joined #perl6
20:12 ash_ colomon: if you go to preferences (⌘ + , ), then go to appearance and you can set Emoticons to show as text instead of images
20:13 colomon ash_: usually I like them as images... ;)
20:13 ash_ ah, well thats fine, just thought i'd let you know
20:20 pnate joined #perl6
20:21 colomon ash_++
20:22 szabgabx joined #perl6
20:23 ash_ i am updating my perl 6 presentation for an ACM presentation later this month, anyone have any suggestions for stuff to highlight?
20:25 uniejo joined #perl6
20:26 colomon what sort of thing are you looking for?
20:26 ash_ not sure, just interesting things about perl 6 i might of missed in my current presentation
20:26 ash_ i go over multi-methods, custom operators, grammars, classes and roles
20:27 colomon meta operators?
20:27 colomon laziness?
20:27 ash_ ah, laziness would be good to talk about
20:27 PerlJam laziness is pervasive in Perl 6.
20:27 PerlJam to not talk about it would be a disservice to your audience :)
20:28 ash_ ya, i'll be sure to mention it
20:28 colomon PerlJam: especially implementor laziness.... ;)
20:30 Tene you'd have to be pretty lazy not to talk about it.
20:38 ash_ one of my examples is one i saw on moritz_++'s blog, the postfix:<!>, since i get to talk about custom operators and a cool way of implementing it with [*] 1...$b
20:39 ash_ i guess thats not working yet in master rakudo yet
20:39 ash_ alpha: say [+] 1..3;
20:39 p6eval alpha 30e0ed: OUTPUT«6␤»
20:39 ash_ rakudo: say [+] 1..3;
20:40 p6eval rakudo 4edd19: OUTPUT«Confused at line 11, near "say [+] 1."␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
20:43 colomon ash_: right, no user-defined operators or meta-operators in master yet.
20:44 colomon (You can overloading existing operators, but you cannot create new ones.)
20:44 ash_ sad day, i won't tell them about that bit, i am sure they will come back eventually
20:44 colomon I wouldn't be surprised if a lot of that stuff will be back in the next couple of weeks.
20:44 diakopter Outlook autocorrects "typoed" to "typed".  oh, the irony.
20:51 payload joined #perl6
20:56 xomas joined #perl6
21:02 pjcj joined #perl6
21:04 payload1 joined #perl6
21:06 sbp joined #perl6
21:06 nsh_ joined #perl6
21:08 payload1 joined #perl6
21:10 pmurias joined #perl6
21:11 ash_ hmmm so prefix seems to be working, but postfix custom ops dont
21:11 ash_ rakudo: sub prefix:<!> ($a) { say $a; }; &prefix:<!>(4); !4;
21:11 p6eval rakudo 4edd19: OUTPUT«4␤4␤»
21:11 ash_ rakudo: sub postfix:<!> ($a) { say $a; }; &postfix:<!>(4); 4!;
21:11 p6eval rakudo 4edd19: OUTPUT«Confused at line 11, near "4!;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
21:11 ash_ thats interesting
21:13 justatheory joined #perl6
21:14 colomon ash_: there already is a prefix:<!> in the grammar.  There is no postfix:<!> in the grammar.
21:14 colomon That's the difference you're seeing.
21:15 ash_ ah, my bad, prefix:<!> is not, completely forgot about that
21:25 nihiliad joined #perl6
21:39 m-locks Q: Was ist paradox an der Analysis?
21:39 m-locks A: Man faltet, um zu gl�tten...
21:41 payload joined #perl6
21:49 newbie joined #perl6
21:49 jaffa4 !seen diakoper
21:50 jaffa4 !seen diakopter
21:57 athenot_ joined #perl6
22:01 lichtkind moritz_: ping
22:04 lichtkind moritz_: your link  to me on your site is broken: http://wiki.perl-community.​de/Wissensbasis/Perl6Tafel
22:28 parrot joined #perl6
22:40 meppl joined #perl6
22:59 payload joined #perl6
22:59 payload joined #perl6
23:05 lue joined #perl6
23:06 lue hello!
23:11 colomon o/
23:12 lue o/
23:12 lue (reading the logs; noone's talked for about an hour o.o )
23:24 * lue will be working on file tests whilst hoping someone's really here
23:24 ash_ *crickets*
23:24 markjreed joined #perl6
23:26 * lue perks his ears
23:27 markjreed rakudo: for { a=>1, b=>2 } { say "{$^p.key} {$^p.value}" }
23:27 p6eval rakudo 4edd19: OUTPUT«Lexical '$p' not found␤current instr.: '_block65' pc 552 (EVAL_1:217)␤»
23:27 markjreed alpha: for { a=>1, b=>2 } { say "{$^p.key} {$^p.value}" }
23:27 p6eval alpha 30e0ed:  ( no output )
23:28 ash_ rakudo: for { a => 1, b => 2 } { say $_.key, $_.value }
23:28 p6eval rakudo 4edd19: OUTPUT«Method 'key' not found for invocant of class ''␤current instr.: '_block55' pc 400 (EVAL_1:153)␤»
23:28 markjreed alpha: for { a=>1, b=>2 }  { say "{$_.key}:{$_.value}" }
23:28 ash_ rakudo: for { a => 1, b => 2 } { say $_ }
23:29 p6eval alpha 30e0ed:  ( no output )
23:29 p6eval rakudo 4edd19: OUTPUT«a  1␤b      2␤␤»
23:29 ash_ rakudo: for { a => 1, b => 2 } { say $_.WHAT }
23:29 p6eval rakudo 4edd19: OUTPUT«Hash()␤»
23:29 TimToady you can't use $^a or $_ inside inner {}s
23:29 ash_ rakudo: for { a => 1, b => 2 } { say $_.keys, $_.values }
23:29 p6eval rakudo 4edd19: OUTPUT«ab␤»
23:30 markjreed I thought you explicitly could with $_…
23:31 TimToady the $^p is scoped to the {} inside, but you're trying to get to the loop param, which is the outer {}
23:31 markjreed so if you want to interpolate expressions, you have to use explicit parameters.
23:31 markjreed Yes, that makes sense for the positionals.  But I thought $_ was explicitly available to inner blocks.
23:31 markjreed s/positionals/placeholders/
23:32 TimToady rakudo: for { a=>1, b=>2 }.pairs -> $p { say "{$p.key} {$p.value}" }
23:32 p6eval rakudo 4edd19: OUTPUT«b 2␤a 1␤»
23:32 TimToady also, a {} hash literal will only make one term in a list
23:32 TimToady hence the .pairs
23:34 ihrd joined #perl6
23:34 ihrd left #perl6
23:35 markjreed right, sorry, I was doing it with a my var locally.
23:36 markjreed rakudo: for { a=>1, b=>2}.pairs { say "{$_.key}:{$_.value}" }
23:36 p6eval rakudo 4edd19: OUTPUT«a:1␤b:2␤»
23:36 markjreed that's what I thought.  works for $_
23:36 lue rakudo: say '/etc/passwd'.e
23:36 p6eval rakudo 4edd19: OUTPUT«1␤»
23:39 TimToady yes, $_ is really OUTER::<$_> since there's no parameter
23:39 TimToady so that's okay
23:42 cotto_working joined #perl6
23:42 lue rakudo: '/etc/passwd'.s
23:42 p6eval rakudo 4edd19:  ( no output )
23:42 lue rakudo: say '/etc/passwd'.s
23:43 p6eval rakudo 4edd19: OUTPUT«813␤»
23:43 lue rakudo: say '/etc/passwd'.s ~~ 813
23:43 p6eval rakudo 4edd19: OUTPUT«1␤»
23:47 athenot joined #perl6
23:49 mssm joined #perl6
23:49 pugssvn r29933 | lue++ | [t/spec] an empty file for file-test.t
23:50 pugssvn r29934 | lue++ | [t/spec] a test file for file-test.t
23:50 pugssvn r29935 | lue++ | [t/spec] file-test.t for file tests
23:56 lue what is the 'first block' of a file? (I'm going to learn a lot about files when I'm done :D )
23:58 TimToady context?
23:58 markjreed files are stored on disk in blocks...
23:58 markjreed typically each block is 512 bytes
23:59 TimToady ah, you're perhaps thinking about -T and -B from p5
23:59 lue yes, I am
23:59 lue :T and :B in P6 :)

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo