Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-06-11

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:03 * colomon seems to have broken roast on rakudo.  :(
00:04 FROGGS unbreak it :o)
00:04 colomon okay, a969a24df9b74bdf0c12882a3a8ca4f2200be503 is good
00:06 colomon I think 1b0e1499bcb81605cd8f44134ada0505cedebb43 is bad
00:06 colomon 5a130781d8f97d241e5f3971b8b70c0e4cfbe872 is bad
00:06 colomon so I guess 1b0e1499bcb81605cd8f44134ada0505cedebb43 is the problem.
00:09 * colomon is going through keybag.t by hand, deleting tests and seeing if things run afterward.
00:17 cognominal joined #perl6
00:22 * colomon is thoroughly puzzled here
00:24 colomon oh, I think I have it.
00:24 colomon let's see
00:26 colomon the problem seems to be that I fudged a block that already had a fudge in it.
00:27 diakopter double fudge.
00:27 colomon apparent result is putting the fudging program into an infinite loop
00:27 Teratogen one time I was driving up to Pittsburgh from DC and in a landscape dotted with farms and factories there was a sign on an exit ramp that said "GOAT MILK FUDGE"
00:27 Teratogen I always regret not stopping and trying it out
00:30 dalek roast: e669cdf | (Solomon Foster)++ | S02-types/keybag.t:
00:30 dalek roast: Try this new fudging for Rakudo.
00:30 dalek roast: review: https://github.com/perl6/roast/commit/e669cdf636
00:31 sorear colomon: doesn't the rakudo spectest fudge one file at a time?
00:31 colomon Well, that makes keybag.t work again.  and make spectest too.
00:31 colomon sorear: apparently not.
00:32 colomon sorear: or at least, I don't know quite what's going on, but the fudging problem in S02-types put it into an infinite loop where it never returned any test results at all.
00:32 FROGGS it fudges all at once
00:33 dalek roast: d9c98ad | (Solomon Foster)++ | S02-types/keybag.t:
00:33 dalek roast: Change one more Rakudo fudge to skip.
00:33 dalek roast: review: https://github.com/perl6/roast/commit/d9c98ad5a2
00:37 benabik joined #perl6
00:43 arlinius joined #perl6
00:45 lue joined #perl6
00:54 rurban joined #perl6
01:06 fgomez joined #perl6
01:08 wbill joined #perl6
01:10 FROGGS_ joined #perl6
01:19 RedditAnalytics joined #perl6
01:22 shachaf joined #perl6
01:54 rurban joined #perl6
02:16 * lue doesn't immediately grasp the point of .tree
02:19 sorear r: say (1..10 Z 2..11).tree
02:19 camelia rakudo b2072f: OUTPUT«1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11␤»
02:19 sorear r: say (1..10 Z, 2..11).tree
02:19 camelia rakudo b2072f: OUTPUT«1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11␤»
02:19 sorear r: say (1..10 Z 2..11).tree.perl
02:19 camelia rakudo b2072f: OUTPUT«([1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11]).list␤»
02:21 lue Oh! It seems to make sense if I read "level-sensitive map" as "level-sensitive C<map>" instead (but then I don't understand how you can pass a closure that's not wrapped in {}, unless they meant s/closure/WhateverCode/ or I don't really know closures)
02:22 sorear ...I do not understand the confusion of ideas there.  {} is part of the syntax of a function, it is not a thing unto itself
02:23 lue or perhaps it's rakudo's fault that $parcel.tree(*.Seq) doesn't work.
02:23 lue r: say (1, (2,3)).tree(*.Seq)
02:23 camelia rakudo b2072f: OUTPUT«No such method 'Seq' for invocant of type 'Int'␤  in block  at /tmp/2q1UsAy3gH:1␤␤»
02:24 lue std: say (1, (2,3)).tree(*.Seq)
02:24 camelia std 6348f35: OUTPUT«ok 00:00 44m␤»
02:26 lue Am I right in thinking that .tree(*.Seq) should work as advertised, only there's a rakudobug in the way here?
02:35 mrallen1 joined #perl6
02:37 colomon r: (1, (2, 3)).tree(*.say)
02:37 camelia rakudo b2072f: OUTPUT«1␤2 3␤»
02:37 colomon r: (1, (2, 3)).tree(*.say, *.say)
02:37 camelia rakudo b2072f: OUTPUT«Cannot call 'tree'; none of these signatures match:␤:(Any:U : Mu *%_)␤:(Any:D : Mu *%_)␤:(Any:D : Cool $count, Mu *%_)␤:(Any:D : &c, Mu *%_)␤  in method tree at src/gen/CORE.setting:1462␤  in block  at /tmp/lwAuPWc3Uk:1␤␤»
02:37 colomon I don't think Rakudo's tree is all there yet....
02:39 lue OK. Would it be alright to change "level-sensitive map" so that there's a C<> around map (S02:4702)? If I'm right about that interpretation, it would be more immediately obvious as C<map>
02:39 colomon sorks for me
02:40 colomon *works
02:44 dalek specs: 5faf896 | lue++ | S02-bits.pod:
02:44 dalek specs: [S02] Small clarification about method .tree
02:44 dalek specs:
02:44 dalek specs: Make it clear that the phrase "level-sensitive map" refers to the
02:44 dalek specs: specific C<map> function/method, as opposed to some general concept of a
02:44 dalek specs: map.
02:44 dalek specs: review: https://github.com/perl6/specs/commit/5faf8960fd
02:49 prevost joined #perl6
02:51 SamuraiJack joined #perl6
02:53 RedditAnalytics you all get a million dollar bonus if you finish by Christmas
02:53 RedditAnalytics keep up the fine work
02:55 lue Joke's on you; Christmas comes whenever Perl 6 is done :P
02:55 sorear we have a product already, and we never plan to stop improving it
02:55 sorear so you need to be more explicit about the success condition
02:55 rurban joined #perl6
02:55 labster I'll finish my patch by Christmas, since spectests arent' infinite looping any more
02:59 labster This, of course depends on how you define "done" though.  I'd say that currently we're somewhere around medium rare.
03:01 labster r: IO::Path.new("foo".path)
03:01 camelia rakudo b2072f: OUTPUT«Default constructor for 'IO::Path' only takes named arguments␤  in method new at src/gen/CORE.setting:731␤  in method new at src/gen/CORE.setting:726␤  in block  at /tmp/Kkclb75MpL:1␤␤»
03:01 labster my code is LTA.
03:04 preflex_ joined #perl6
03:40 RedditAnalytics I'll consider it done when the Specs for Perl 7 are announced
03:42 RedditAnalytics or when it's faster than perl5  *grin*
03:43 atroxaper joined #perl6
03:45 ldthien0 joined #perl6
03:53 labster Perl 7 will have neural-DWIM support, and right-afterwards compilation by using the tachyon processors.
03:58 RedditAnalytics i like tachyons
03:58 labster they move really fast
03:59 RedditAnalytics The bartender says, "We don't serve your kind here."
03:59 RedditAnalytics A tachyon walks into a bar.
03:59 rurban joined #perl6
03:59 labster XD
04:02 preflex_ joined #perl6
04:21 Khisanth joined #perl6
04:27 Psyche^ joined #perl6
04:39 Tsuki-san joined #perl6
04:42 breinbaas hi.  I'm trying to run perl6 with database access (Pg).   I installed perl6 in  $HOME/rakudo/bin , and now try to install DBIish from git.  make yields the error "Could not find NativeCall" -- how do I get that installed?
04:45 breinbaas ah! zavolaj -- that looks to be it
04:47 MrMeek joined #perl6
04:55 birdwindupbird joined #perl6
04:55 zby_home_ joined #perl6
04:56 ldthien0 joined #perl6
04:59 rurban joined #perl6
05:15 arlinius joined #perl6
05:18 ponbiki joined #perl6
05:19 dmol joined #perl6
05:21 takesako_____ joined #perl6
05:26 breinbaas ok, I installed DBIish and can connect to Pg. that's good.  Next I'd like to connect via teh PG* environment variables.  Does DBIish know about them? I can't seem to find an connect invocation without user/pass values
05:30 takesako_____ joined #perl6
05:31 ldthien0 joined #perl6
05:33 moritz breinbaas: no, it doesn't know about them
05:33 moritz breinbaas: you have to supply them yourself with $*ENV<PG_USER> or whatever
05:34 breinbaas ah thanks, that's a good workaround
05:36 moritz currently DBIish is a rather thin wrapper around the C API
05:38 breinbaas yeah, looking at Pg.pm6 I see the libpq calls
05:54 sorear good, moritz is up
05:55 sorear welcome to #perl6!  sorry I can't be more help with DBIish
05:58 breinbaas I got it going, thanks :)
06:00 rurban joined #perl6
06:15 ponbiki_ joined #perl6
06:28 diakopter doing open source is easy! you just click the green merge pull request button all day!
06:28 diakopter ( JimmyZ++ )
06:31 ldthien0 joined #perl6
06:32 sorear hmm, ENOJIMMYZ
06:33 kaleem joined #perl6
06:42 arnsholt breinbaas: Oh, and if you run into really weird things like segfaults, come here and ask about it. The FFI stuff isn't too well tested, so there may still be bugs lurking below the surface
06:43 arnsholt (I'm the maintainer of that stuff)
06:43 sorear o/ arnsholt
06:43 arnsholt Hey sorear
06:44 ldthien0 joined #perl6
06:48 FROGGS joined #perl6
06:49 sorear o/ FROGGS
06:51 FROGGS morning sorear
06:59 domidumont joined #perl6
07:00 rurban joined #perl6
07:34 domidumont joined #perl6
07:35 sqirrel joined #perl6
07:36 kresike joined #perl6
07:36 kresike hello all you happy perl6 people
07:38 FROGGS hi kresike
07:38 kresike FROGGS, o/
07:39 diakopter any professional designers (paid to do visual graphics/layout/art/design) around? looking for Perl-related work?
07:39 labster good morning
07:39 diakopter labster: howdy :)
07:39 labster not a graphic designer, sorry
07:39 labster but howdy!
07:39 labster rn: try X::NYI.new(feature=>'foo').fail
07:39 camelia rakudo b2072f: OUTPUT«foo not yet implemented. Sorry. ␤current instr.: 'throw' pc 347557 (src/gen/CORE.setting.pir:151689) (src/gen/CORE.setting:8887)␤called from Sub 'sink' pc 379739 (src/gen/CORE.setting.pir:164183) (src/gen/CORE.setting:10169)␤called from Sub 'MAIN' pc 381 (src/gen/p…
07:39 camelia ..niecza v24-72-g3cebbf8:  ( no output )
07:40 FROGGS diakopter: friends of mine do that professionally...
07:40 diakopter FROGGS: are they expensive? :)
07:40 labster rn: try X::NYI.new(feature=>'foo').throw
07:40 camelia rakudo b2072f, niecza v24-72-g3cebbf8:  ( no output )
07:40 FROGGS hmmm, dont think so, but they need to get paid :o)
07:40 labster wait, so try throws a failure?
07:44 sorear fail doesn't throw an exception
07:44 birdwindupbird joined #perl6
07:44 sorear it returns a Failure object
07:45 sorear which dies in sink context
07:45 sorear try evaluates .fail and (since no exception was thrown) returns the value that .fail returned
07:45 sorear which doesn't become an exception until just outside the scope of the try
07:45 sorear one more reason why I think Failure is a mistake
07:45 labster Okay, I see why this is happening... but it still feels wrong.
07:45 sorear but I digress
07:46 labster Failure is a mistake by definition :)
07:47 sorear you could stick a .sink on the end to force it to die early enough for try to notice
07:49 labster Well, I could, but the whole point of try blocks is to catch errors, not to cause them to pass through.
07:51 labster S04: unless the try itself is in a sink context, in which case the inside of try is also in sink context.
07:51 labster okay, so this is a rakudobug
07:52 labster rn: try X::NYI.new(feature=>'foo').fail.sink
07:52 camelia rakudo b2072f: OUTPUT«foo not yet implemented. Sorry. ␤current instr.: 'throw' pc 347557 (src/gen/CORE.setting.pir:151689) (src/gen/CORE.setting:8887)␤called from Sub 'sink' pc 379739 (src/gen/CORE.setting.pir:164183) (src/gen/CORE.setting:10169)␤called from Sub 'MAIN' pc 381 (src/gen/p…
07:52 camelia ..niecza v24-72-g3cebbf8:  ( no output )
07:53 labster rn: try { X::NYI.new(feature=>'foo').fail }
07:53 camelia rakudo b2072f: OUTPUT«foo not yet implemented. Sorry. ␤current instr.: 'throw' pc 347557 (src/gen/CORE.setting.pir:151689) (src/gen/CORE.setting:8887)␤called from Sub 'sink' pc 379739 (src/gen/CORE.setting.pir:164183) (src/gen/CORE.setting:10169)␤called from Sub 'MAIN' pc 381 (src/gen/p…
07:53 camelia ..niecza v24-72-g3cebbf8:  ( no output )
07:53 labster rn: try { X::NYI.new(feature=>'foo').fail.sink }
07:53 camelia rakudo b2072f: OUTPUT«foo not yet implemented. Sorry. ␤current instr.: 'throw' pc 347557 (src/gen/CORE.setting.pir:151689) (src/gen/CORE.setting:8887)␤called from Sub 'sink' pc 379739 (src/gen/CORE.setting.pir:164183) (src/gen/CORE.setting:10169)␤called from Sub 'MAIN' pc 381 (src/gen/p…
07:53 camelia ..niecza v24-72-g3cebbf8:  ( no output )
07:54 sorear rn: X::NYI.new(feature => 'foo') # labster: note that niecza does not do any better
07:54 camelia rakudo b2072f:  ( no output )
07:54 camelia ..niecza v24-72-g3cebbf8: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any␤  at /tmp/CFK7pXjN6k line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4531 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4532 (module-CORE @ 588…
07:55 sorear there's no type of that name, so X::NYI is parsed as X::NYI(); there's also no function of that name, so you get an undefined function error at runtime
07:57 labster Ah, I see.  I was hoping your code was super-awesome, but it's just awesome.
08:00 * labster files rakudobug
08:01 moritz what's the bug?
08:01 moritz oh, try not propagating sink context?
08:01 labster sink context doesn't propagate inside the try
08:01 labster unless that's known already
08:02 moritz r: sub f() { fail 'foo' }; try { f }; say 42
08:02 camelia rakudo b2072f: OUTPUT«foo␤  in method sink at src/gen/CORE.setting:10169␤  in block  at /tmp/UQm0LWbthI:1␤␤»
08:03 moritz labster: the real problem is much deeper
08:03 moritz labster: TimToady seems to want/think that sink context propagates inwards, but it doesn't in rakudo
08:03 labster I had a feeling that context going inwards was an issue.
08:03 moritz example:  sub f() { try }; say f(); f(); 42
08:04 rurban joined #perl6
08:04 moritz here the try is in non-sink context once, and in sink context once
08:04 moritz but the inside the of try block (that I omitted here) isn't in sink context in rakudo, because that's a compile time decision
08:05 moritz so the .sink call happens at the site where the f() call happens, and that's too late
08:05 moritz the problem is that not all architectures make it easy to sneak in an extra bit for the sink context in calls
08:05 labster r: try { sink fail("foo") }
08:05 camelia rakudo b2072f: OUTPUT«foo␤current instr.: 'throw' pc 347557 (src/gen/CORE.setting.pir:151689) (src/gen/CORE.setting:8887)␤called from Sub 'sink' pc 379739 (src/gen/CORE.setting.pir:164183) (src/gen/CORE.setting:10169)␤called from Sub 'MAIN' pc 381 (src/gen/perl6.pir:147) (src/main.nqp s…
08:06 * sorear remains unconvinced that Failure has *any* redeeming value
08:07 moritz labster: note that fail() aborts the current function
08:07 labster oh, right
08:07 moritz labster: so its behavior will always be weird when you execute it outside a routine
08:07 moritz sorear: me too
08:08 labster Excluding that issue, my naive expectation is that try should catch thrown exceptions as well as failures.
08:08 ldthien0 joined #perl6
08:08 labster rather than trying to get context to propagate inwards
08:11 dalek rakudo/nom: 33c5e82 | (Brent Laabs)++ | src/core/terms.pm:
08:11 dalek rakudo/nom: change $*CWD and $*TMPDIR to IO::Path objects
08:11 dalek rakudo/nom:  by request from dagurval++ and S16 spec
08:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/33c5e82f54
08:13 moritz labster: so you'd expect    my $x = try ...;  to never, ever put a Failure into $x?
08:14 labster Yes, exactly.
08:15 sorear or at least set $!handled
08:16 labster That could work too.  I just think that anyone using a try block will expect that errors won't come through.
08:16 labster setting $!handled might make more sense.
08:16 ldthien0 joined #perl6
08:28 xdbr joined #perl6
08:30 dalek roast: bc1a8f1 | (Brent Laabs)++ | S32-io/io-path (4 files):
08:30 dalek roast: make $*CWD stringy, since it's now already a path
08:30 dalek roast: review: https://github.com/perl6/roast/commit/bc1a8f1db1
08:49 dakkar joined #perl6
08:56 spider-mario joined #perl6
08:57 Stygia joined #perl6
09:04 rurban joined #perl6
09:05 daxim joined #perl6
09:06 fhelmberger joined #perl6
09:11 dalek specs: ced138f | labster++ | S (2 files):
09:11 dalek specs: add $*TMPDIR to S16; update S28 to distinguish IO::Handle/IO::Path
09:11 dalek specs: review: https://github.com/perl6/specs/commit/ced138fa06
09:19 sorear .ask jnthn Am I correct to think that we always spill before a conditional branch to avoid a bad case where we spill in one half of the if but not the other?
09:19 yoleaux sorear: I'll pass your message to jnthn.
09:20 imIKARi joined #perl6
09:22 sorear .ask jnthn How is spilling handled for the InDy in the compilation of nqp::chain?
09:22 yoleaux sorear: I'll pass your message to jnthn.
09:33 Rix joined #perl6
09:37 sorear .ask jnthn What does noa stand for?
09:37 yoleaux sorear: I'll pass your message to jnthn.
09:50 Guest1337 joined #perl6
10:01 rindolf joined #perl6
10:05 rurban joined #perl6
10:11 jerome__ joined #perl6
10:17 jnthn good mor...afternoon, #perl6
10:17 yoleaux 09:19Z <sorear> jnthn: Am I correct to think that we always spill before a conditional branch to avoid a bad case where we spill in one half of the if but not the other?
10:17 yoleaux 09:22Z <sorear> jnthn: How is spilling handled for the InDy in the compilation of nqp::chain?
10:17 yoleaux 09:37Z <sorear> jnthn: What does noa stand for?
10:17 spider-mario noon here
10:19 jnthn Beating jet-lag FAIL :)
10:21 _jaldhar joined #perl6
10:23 FROGGS hi jnthn
10:24 jnthn .tell sorear (conditional) partly that but also because the stack must be empty around a try/catch, which may also occur inside different branches of the conditional.
10:24 yoleaux jnthn: I'll pass your message to sorear.
10:25 jnthn .tell sorear The lack of spilling in nqp::chain appears to be an oversight on my part. It should spill.
10:25 yoleaux jnthn: I'll pass your message to sorear.
10:27 jnthn .tell sorear noa = "no optional arguments". It is possible to pass extra arguments to an indy bootstrap method. But I ran into a JVM bug when doing this. :( So went back to just passing those things on the stack...and trusting the JIT to be smart enough (which it probably is...)
10:27 yoleaux jnthn: I'll pass your message to sorear.
10:33 sorear ok
10:33 yoleaux 10:24Z <jnthn> sorear: (conditional) partly that but also because the stack must be empty around a try/catch, which may also occur inside different branches of the conditional.
10:33 yoleaux 10:26Z <jnthn> sorear: The lack of spilling in nqp::chain appears to be an oversight on my part. It should spill.
10:33 yoleaux 10:27Z <jnthn> sorear: noa = "no optional arguments". It is possible to pass extra arguments to an indy bootstrap method. But I ran into a JVM bug when doing this. :( So went back to just passing those things on the stack...and trusting the JIT to be smart enough (which it probably is...)
10:34 cognominal joined #perl6
10:35 jaldhar_ joined #perl6
10:38 masak good afternoon, #perl6
10:38 FROGGS masak o/
10:39 nwc10 afternoon is the new morning?
10:39 masak if you're recently back from the US, apparently.
10:40 colomon \o
10:40 jnthn heh, at least it ain't just me... :)
10:40 masak my plan for today: $dayjob, then dive into the t3 reviews!
10:40 FROGGS I had no problems except last sunday...
10:40 sorear o/ masak
10:51 arlinius joined #perl6
10:58 masak TIL that rock-paper-scissors can be seen as a commutative but non-associative magma: https://en.wikipedia.org/wiki/Example_​of_a_commutative_non-associative_magma
10:58 sorear nqp syntax error messages: still confuse me
10:59 jnthn sorear: No highwater doesn't help...though there's no reason it couldn't be done, given that's tracked in Cursor...
10:59 sorear OHHH
11:00 sorear what would really help?  #line, and support in the concatenator. :p
11:00 * jnthn usually finds line numbers in nqp errors...
11:01 jnthn masak: I knew magma contained (molten) rock, but not paper and scissors...
11:01 atroxaper left #perl6
11:02 masak jnthn: hehe.
11:03 sorear masak: My favorite example of a commutative but non-associative magma is floating point addition.  *ducks*
11:03 masak sorear: :D
11:04 masak jnthn: a monoid is what you get if you remove (the axiom for) invertibility from a group. a semigroup, similarly, is a group without identity. a magma is a semigroup but without associativity.
11:04 masak in other words, "anything goes".
11:05 masak the only requirement on a magma's operation is that it be total; that all elements are valid operands.
11:05 sorear magmas: too general to be useful for much of anything
11:06 masak except rock-paper-scissors!
11:06 rurban joined #perl6
11:07 daxim .u raised fist
11:07 yoleaux U+270A RAISED FIST [So] (✊)
11:08 daxim you only lol once.
11:08 census joined #perl6
11:09 gudahtt joined #perl6
11:19 sorear oh, I guess JVM doesn't do the CLR thing where all frame locals are initialized to null or zero...
11:20 jnthn No, it gets unhappy if something doesn't initialize it before first read, iirc
11:21 sorear yech
11:22 jnthn Yes, that was my reaction too
11:22 nwc10 unhappy in the "C" sense, or the valgrind sense?
11:22 huf joined #perl6
11:23 * masak .oO( or in the Chthulu sense? )
11:23 nwc10 ie is it actually tracking the "not initialised", or does it just do random stuff?
11:23 nwc10 C is for Chthulu
11:23 masak :P
11:23 nwc10 I'm surprised that there isn't a Sesame Street parody
11:23 nwc10 but yes, I was thinking in terms of "Nasal Daemons", but "Older One" is probably viable too
11:24 jnthn nwc10: Explodes on first read, iirc
11:24 jnthn With a nice confusing error about registers, iirc.
11:24 Stygia joined #perl6
11:25 sorear nwc10: does a definite assignment analysis and throws a java.lang.VerifyError if the definite assignment fails
11:25 sorear at method JIT time
11:26 jnthn Not sure it's JIT time, given it interprets the first execution, iirc.
11:26 nwc10 "we do work to work out that you didn't do this"
11:26 jnthn :)
11:26 jnthn I think it tends to interpret, then decides if it's hot or not, and JITs appropriately...
11:29 sorear yeah, first execution
11:37 * sorear adds code to initialize locals at the beginning of a method
11:38 ldthien0 joined #perl6
11:42 sorear ...block methods aren't static?!
11:42 masak sorear: they are if they have 'static' before them.
11:42 masak sorear: you're right about magmas being useless. I will focus on semigroups and quasigroups instead.
11:43 moritz what is a block method?
11:43 sorear qb_NNN
11:46 jnthn sorear: No, they call stuff inherited from CompilationUnit, for example.
11:46 diakopter sorear: whoa it's 4:45
11:46 masak moritz: oh, I just assumed it's the thing in Java where you have braces directly at class level: 'class Foo { ... { ... } ... }'. seems I was wrong.
11:47 sorear diakopter: I know
11:47 jnthn sorear: They all get a .bind(...) done before they get stored in the CodeRef, however, which is why usages of them don't need to pass the instance.
11:47 jnthn diakopter: whoa it's 4:45 where you are too :P
11:48 diakopter D:
11:48 diakopter I mean
11:48 diakopter :D
11:52 ldthien0 joined #perl6
11:53 atroxaper joined #perl6
11:53 JimmyZ joined #perl6
11:54 masak ah, mathematicians! the preamble says "this object cannot exist", and then the rest of the article carries on about great length about its properties! https://en.wikipedia.org/w​iki/Field_with_one_element
11:56 sorear more like "this object cannot exist, unless you fudge the definitions, which is occasionally useful"
11:57 masak oh, I'm all for that.
11:57 sorear o/ JimmyZ
11:58 JimmyZ good evening
12:01 moritz \o JimmyZ
12:01 moritz JimmyZ: nice work on moarvm so far!
12:02 jnthn Indeed. JimmyZ++
12:02 JimmyZ moritz: thanks, you want -Ofun on bigint ops again? ;)
12:02 moritz JimmyZ: I don't have much hacking time currently; feel free to do them if you want
12:03 moritz JimmyZ: I might get around to them eventually, or might not. Who knows?
12:03 JimmyZ moritz: :)
12:03 JimmyZ speak of JIT, the luajit guys are crazy
12:03 diakopter guy?
12:04 masak is it the kind of crazy that we should aspire to, or the other kind?
12:04 JimmyZ I guess we should aspire to?
12:04 nwc10 can people other than the original author fix bugs in it?
12:05 JimmyZ http://luajit.org/dynasm.html
12:07 rurban joined #perl6
12:16 sorear maybe I'll get the compile unbroken before morning
12:18 FROGGS iehhhh
12:19 FROGGS my git is in german now O.o
12:19 nwc10 sorear: unpossible! It's always morning on #perl6, so it's never possible to do something *before* morning :-)
12:19 dalek v5: d6553bc | (Tobias Leich)++ | / (4 files):
12:19 dalek v5: better support for indirect object syntax (at least a bit)
12:19 dalek v5: review: https://github.com/rakudo-p5/v5/commit/d6553bc18a
12:21 FROGGS nwc10: but <?before 'morning'> has no length
12:22 benabik joined #perl6
12:25 dalek nqp: 6213c10 | sorear++ | src/vm/jvm/ (4 files):
12:25 dalek nqp: Add code generator support for SaveStackException handling.
12:25 dalek nqp: review: https://github.com/perl6/nqp/commit/6213c100aa
12:26 sorear well, it passes tests
12:26 sorear sleep&
12:29 FROGGS gnight sorear
12:29 jnthn 'night, sorear++
12:38 jnthn .tell sorear PushSelf confused me at first; I thought of Perl 6 "self", e.g. that it was pushing "this". Seems it pushes the handle of the current method...maybe there's a better name. JAST::PushCurMeth perhaps...
12:38 yoleaux jnthn: I'll pass your message to sorear.
12:41 crab2313 joined #perl6
12:42 jnthn .tell sorear I'd initially planned to have one exception handler catching the save state exception per qb_NNN method, rather than one per call. That woulda involved keeping a local tracking the save index (updating it just before each call), probably giving smaller code (or at least, smaller exception tables). Maybe it breaks even on performance, though...hard to guess.
12:42 yoleaux jnthn: I'll pass your message to sorear.
12:44 ajr joined #perl6
13:07 isBEKaml joined #perl6
13:08 nwc10 how many of the core Perl 5 tests is v5 being run against? just the tests below t? ie t/*/*.t ?
13:08 konundra joined #perl6
13:09 FROGGS nwc10: no, there is a roast5 repo too
13:10 JimmyZ joined #perl6
13:10 FROGGS nwc10: the tests in the rakudo-p5/v5 repo are from perlito
13:10 nwc10 aha
13:12 PacoAir joined #perl6
13:18 ldthien0 joined #perl6
13:33 ldthien0 joined #perl6
13:37 alester joined #perl6
13:42 bluescreen10 joined #perl6
13:42 thou joined #perl6
13:44 kaare_ joined #perl6
13:45 rurban joined #perl6
13:59 PerlJam good $localtime
13:59 nwc10 for some, $localtime appears to be a junction, (no) thanks to jetlag
14:00 colomon \o
14:06 [Coke] jnthn: Any chance I could bum a few cycles off you to help me get partcl building again?
14:06 [Coke] (stuck on an esoteric NQP error)
14:06 sqirrel joined #perl6
14:07 FROGGS [Coke]: do you have a paste?
14:08 [Coke] https://gist.github.com/anonymous/5757131
14:10 [Coke] Can provide gists of the various files also. (you can duplicate by cloning partcl/partcl-nqp from github, using the nqp2 branch.
14:10 FROGGS k, the repo will do
14:10 [Coke] FROGGS++
14:11 domidumont joined #perl6
14:12 FROGGS hmmm, is this kungfu still needed? https://github.com/partcl/partcl​-nqp/blob/master/src/Partcl.pir
14:12 btyler joined #perl6
14:13 jnthn Is Partcl.pm a generated file?
14:13 [Coke] jnthn: Aye.
14:14 FROGGS but two years old (in the repo)
14:14 [Coke] I am /mostly/ sure it's not got the same thing shoved in it twice. mostly.
14:14 [Coke] FROGGS: partcl is reaaally old. it started out using parrot's assembler, which doesn't even exist anymore. There may be some cruft hiding in there. :)
14:15 [Coke] FROGGS: but it looks like that particular file might be used, aye.
14:15 [Coke] when parcl-nqp is running on top of nqp, next step is to remove any Q:PIR or .pir
14:16 FROGGS k, will clone know the right branch
14:16 [Coke] it was originally PIR, then ported to nqp-rx, tring to finalize the port to nqp, esp. now that multiple backends are on teh way.
14:16 PerlJam [Coke]++  (herculean effort keeping partcl alive :)
14:17 lizmat joined #perl6
14:17 jnthn [Coke]: It's not immediately obvious to me what's the trigger for that error...
14:17 jnthn (just looking through the source)
14:17 [Coke] Eh, I've ignored it for a year, which is why I'm kind of stumped at this point.
14:17 lizmat greetings from Echt!
14:17 [Coke] looking at the nqp source, you mean?
14:18 diakopter lizmat: you made it!
14:18 jnthn oh wow, it uses the P6metaclass stuff too :)
14:19 FROGGS lizmat: o/
14:19 lizmat finally, after being on the road for 47 hours  (door to door)
14:19 [Coke] jnthn: perhaps this effort is too old to rescue. :|
14:21 jnthn lizmat: ouch! Welcome back.
14:21 jnthn [Coke]: Well, just ran Configure.pl and it mentions checking Parrot out of SVN when I try to give it a --parrot-config option...
14:22 lizmat note to self: put United lower on the list of accceptable airlines
14:22 [Coke] jnthn: what branch are you on?
14:22 jnthn master...what branch should I be on?
14:22 [Coke] nqp2
14:22 [Coke] apologies.
14:23 jnthn oops, I probalby didn't read
14:23 [Coke] master was the original nqp-rx work.
14:23 jnthn <- not very clever today
14:23 [Coke] which as you've noticed is a smidge old. :)
14:23 jnthn oops
14:23 jnthn 'cat' is not recognized as an internal or external command,
14:23 jnthn operable program or batch file.
14:23 jnthn :)
14:23 jnthn At least I got to make, though :)
14:23 [Coke] FROGGS: that file you mentioned was on master, wasn't it. so it's not used anymore either.
14:24 [Coke] jnthn: oops. need to write some makemaker utils for nqp.
14:24 [Coke] (did you replace them all with "type" ?)
14:24 FROGGS [Coke]: true
14:24 jnthn I s/cat/type/ but now think it dislikes the >>
14:25 jnthn oh no, forward slahes
14:25 FROGGS *g*
14:26 [Coke] jnthn: I appreciate the effort, and promise I will make this work on windows now. :)
14:26 jnthn OK, so various slashy fixes later...
14:29 jnthn [Coke]: Adding this to the end of the Makefile.in:
14:29 jnthn # nqp::makefile <-- tells NQP::Configure to treat this file as a makefile,
14:29 jnthn #                   performing win32 slash and makefile conversions
14:29 jnthn helps fix slashes
14:29 jnthn cat and echo are still problematic.
14:29 jnthn echo because on Windows it doesn't know what to do with the quotes so spits them right into the file
14:29 FROGGS [Coke]: gtg now, when looking at that codebase I feel a bit lost anyway
14:30 jnthn cat because there's no cat on Windows.
14:30 FROGGS and git doesnt ship it?
14:31 FROGGS see ya
14:31 jnthn Commenting out "use src::Partcl::commands;" makes the build finish
14:32 ldthien0 joined #perl6
14:32 [Coke] jnthn: ok, that narrows it down. Thanks.
14:32 [Coke] presumably one of those files includes something already included.
14:34 xilo joined #perl6
14:35 jnthn I think it's probably that things muddle with objects along different load paths
14:36 [Coke] I don't understand.
14:36 [Coke] (I also don't see a duplicate load atm)
14:37 jnthn [Coke]: https://gist.github.com/jnthn/5757345
14:37 jnthn That seems to fix the build...
14:37 jnthn uh, modulo the echo/cat thing.
14:39 [Coke] yay, a build. now to fix the runtime. :)
14:39 * jnthn hides :)
14:40 [Coke] so, that diff is only adding a BEGIN block?
14:40 jnthn yes
14:40 jnthn well, moving some code to happen at BEGIN time
14:40 jnthn > 1 + 1
14:40 jnthn Method '1' not found for invocant of class 'Builtins'
14:40 [Coke] huh. (and it's for adding parrot vtable mappings, which obviously I want to get rid of)
14:40 jnthn hm :)
14:41 skids joined #perl6
14:41 jnthn I don't actually know any tcl :D
14:41 * benabik hopes that 1 is still spelled 1 in tcl
14:41 JimmyZ joined #perl6
14:41 [Coke] https://gist.github.com/coke/5757381
14:42 [Coke] but this seems like something I can track down.
14:43 ajr joined #perl6
14:45 [Coke] oh, I'm an idiot. I had still commented out the use you mentioned. :)
14:46 [Coke] ./partcl -e 'puts 3'
14:46 [Coke] 3
14:46 moritz \o/
14:46 [Coke] jnthn++ jnthn++ jnthn++ jnthn++ jnthn++
14:46 nwc10 this is partcl on NQP?
14:46 [Coke] yes.
14:46 nwc10 oooh.
14:46 nwc10 Does it work on the JVM yet? :-)
14:46 * nwc10 ducks
14:47 JimmyZ It will do ;)
14:48 [Coke] nwc10: ack -cl "pir|parrot" src | awk -F: '{ SUM += $2} END {print SUM}'
14:48 [Coke] 188
14:49 nwc10 awk? heresy!
14:49 timotimo_ what is parctl?
14:49 nwc10 a2p still works :-)
14:49 [Coke] timotimo_: partcl is "tcl on parrot"
14:49 jnthn [Coke]: Wow!
14:49 [Coke] ... but now it's on nqp instead.
14:49 timotimo_ oooh
14:49 timotimo_ i see
14:49 [Coke] nwc10: muscle memory, sorry.
14:50 timotimo_ i thought it was something like "par.* control" because i misread it :)
14:50 masak awk is a cute precursor to Perl. lots of nice ideas in there.
14:51 [Coke] nwc10: I would have used partcl to do it, but I have a slight bootstrapping problem. :P
14:53 [Coke] also pmichaud++ as I suspect most of the working code in this version came from him a while back.
14:55 PerlJam [Coke]: what's the URL for the partcl repo?
14:56 [Coke] partcl/partcl-nqp
14:56 PerlJam ok
14:56 [Coke] partcl/partcl is the older PIR-only version.
14:56 [Coke] latest dev is currently on nqp2 branch; once I get it passing tests again, will merge it back.
14:56 [Coke] The version that's out there needs jnthn's patch.
14:57 [Coke] nqp: my $a := Int.new(); say($a^.methods());
14:57 camelia nqp: OUTPUT«Confused at line 2, near "say($a^.me"␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
14:57 [Coke] nqp: my $a := Int.new(); say($a.HOW.methods());
14:57 camelia nqp: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: 'methods' pc 12490 (src/stage2/gen/nqp-mo.pir:5677) (src/stage2/gen/nqp-mo.nqp:1233)␤»
14:59 FROGGS joined #perl6
15:02 Khisanth joined #perl6
15:03 moritz nqp: my $a := Int.new(); say($a.HOW.methods($a));
15:03 camelia nqp: OUTPUT«10␤»
15:03 moritz that returns an RPA, which stringifies to the number of elements
15:03 moritz nqp: my $a := Int.new(); say(nqp::join(' ', $a.HOW.methods($a)));
15:03 camelia nqp: OUTPUT«get_string() not implemented in class 'NQPRoutine'␤current instr.: '' pc 125 ((file unknown):68) (/tmp/VEz6vYtVEA:1)␤»
15:03 jnthn I'm pretty sure NQP doesn't have an Int. :)
15:04 moritz nqp: my $a := {class A { }).new(); say(nqp::join(' ', $a.HOW.methods($a)));
15:04 camelia nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "class A { "␤current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)␤»
15:04 moritz nqp: my $a := (class A { }).new(); say(nqp::join(' ', $a.HOW.methods($a)));
15:04 camelia nqp: OUTPUT«get_string() not implemented in class 'NQPRoutine'␤current instr.: '' pc 89 ((file unknown):52) (/tmp/EC5jmQrksI:1)␤»
15:04 jnthn sorear: Good news, your changes to JNQP didn't bust the Rakudo build :)
15:04 moritz nqp: my $a := (class A { }).new(); say($a.HOW.methods($a));
15:04 camelia nqp: OUTPUT«10␤»
15:04 moritz probably just the methods from Mu
15:04 FROGGS joined #perl6
15:04 jnthn Yeah, I think so
15:12 kresike bye folks
15:12 rurban joined #perl6
15:25 btyler joined #perl6
15:27 nwc10 I wasn't aware that Java is stupid enough to make the console input/output non-selectable: http://blog.headius.com/2013/06/t​he-pain-of-broken-subprocess.html
15:27 nwc10 as ever, it's a good read
15:28 daxim http://blog.64p.org/entry/2013/06/11/211555
15:29 stevan_ joined #perl6
15:29 woolfy joined #perl6
15:31 benabik daxim: With MVMDEBUG you actually get a *.{moarvm,mvmdump,mastdump} per test in the file, not per file.  So if there's a test 'division by 0', you'll get files 'division by 0.*'
15:31 daxim I'm not the author of that blog entry
15:32 benabik Whoops.
15:33 diakopter benabik: okay, now I'm curious how you know that :P
15:33 benabik diakopter: I've tried it.
15:33 masak "It's a good stuff I think." \o/
15:37 tgt joined #perl6
15:37 kaleem joined #perl6
15:45 lizmat French Perl workshop presentation on Saturday: http://journeesperl.fr/fpw2013/talk/4845
15:46 lizmat now where did I see LuaJIT just now?
15:46 lizmat I don't recall seeing fperrad around here
15:46 masak he doesn't tend to be around here.
15:47 lizmat anyways, looks like I will be able to attend
15:48 lizmat and hope I'll be able to make sense of a presentation in French  :-)
15:50 * masak .oO( faire sens du français, ce n'est pas cela dur )
15:51 daxim n'est pas une perl6
15:51 lizmat ceci, peut-être un perl6
15:52 lizmat faire sens du francophones, c'est le plus dur
15:54 masak hehe
15:55 diakopter benabik: yeah.. but did you make a conclusion or assessment?
15:56 benabik diakopter: Of MoarVM?
15:56 diakopter yeah
15:57 diakopter oh seems, I didn't realize you were the same person as who submitted these two pull requests .. :)
15:57 benabik diakopter: Well, I've already got 6 commits in the repository.  :-D
15:58 xinming joined #perl6
15:58 benabik MoarVM hits most/all of the "things I would do to rewrite Parrot", so I'm fairly interested.
15:58 masak benabik++
15:58 diakopter benabik: are you looking for something challenging but not spectacularly glamorous to work on? if so, you're in luck! bytecodeverify.c has a nice TODO list at the top that should be fairly straightforward
15:59 diakopter but fairly interesting to tackle, imho
15:59 awwaiid joined #perl6
16:00 diakopter er.
16:00 diakopter wrong filename.
16:00 diakopter validation.c is the right one
16:02 prevost joined #perl6
16:02 diakopter anocelot: yo
16:03 takesako______ joined #perl6
16:03 sergot_ joined #perl6
16:04 diakopter benabik: there's a bunch of little->medium tasks that are fairly interesting but are "easy to delegate" and vary widely on the scale of how low their fruit hangs.. how would you suggest I organize/centralize such a helpwanted list?
16:04 diakopter I know. issues with HALPME in the title.
16:05 Ulti joined #perl6
16:05 _jaldhar_ joined #perl6
16:07 gdey joined #perl6
16:07 GlitchMr joined #perl6
16:07 ponbiki joined #perl6
16:09 masak sometimes I really wish there was a way to tell vim "it's OK if the spaces in my regex are any <ws>".
16:09 masak (so often what I'm searching for has a line break in it, for example)
16:09 arnsholt Indeed
16:10 arnsholt I've come across that occasionally while grepping in my TeX documents
16:11 imIKARi joined #perl6
16:13 [Coke] masak: http://stackoverflow.com/questions/78​4176/multi-line-regex-support-in-vim
16:13 benabik I generally look for LHF, TODO, or similar docco.  I suppose ack 'TODO|XXX' is probably a good one.  Issues with LHF, newbie, etc tags are also not a bad way to do it.
16:13 [Coke] it's not quite what you asked for, but may still be helpful. \_.* == match any number of characters including newline.
16:14 masak [Coke]++
16:15 [Coke] (which I never new until today.)
16:15 salv0 joined #perl6
16:15 [Coke] *knew
16:17 benabik vim regexen are a little strange.
16:18 RedditAnalytics joined #perl6
16:18 arnsholt Yeah. There's a switch to go to Perl compatible syntax though, thankfully
16:18 masak oh, nice
16:18 arnsholt \P IIRC
16:18 benabik Huh.  If +perl is in your :ver, you can also do fun things like :perldo s/foo/bar/g
16:19 * masak .oO( we all liked regexes so much, we decided to go all Babel's tower on it )
16:19 timotimo_ i want perl6 regex for my vim :3
16:20 timotimo_ but i guess shelling out is good enough for the time being; highlight-as-you-type would be amazingly cool, though
16:20 benabik \P is printable - digits, not Perl like.
16:20 dmol joined #perl6
16:21 arnsholt Oh, I'm wrong. There is no such switch
16:21 * arnsholt just looked it up
16:21 arnsholt I must've confused it with something else
16:21 GlitchMr joined #perl6
16:24 timotimo_ maybe you're thinking of very-nomagic-mode?
16:24 snearch joined #perl6
16:25 arnsholt Yeah, might be
16:26 domidumont joined #perl6
16:29 JimmyZ joined #perl6
16:31 GlitchMr joined #perl6
16:33 FROGGS am I just a bit stupid or are p5's heredocs a pretty weird thing and hard to parse?
16:33 fgomez joined #perl6
16:34 moritz FROGGS: they are indeed pretty weird and hard to parse
16:34 daxim but so useful for the programmer
16:34 FROGGS daxim: true
16:34 moritz FROGGS: rakudo took quite some time until it had heredoc support at all
16:34 daxim suck it, perl source parser
16:34 FROGGS moritz: but rakudo's syntax is much saner
16:35 moritz FROGGS: marginally
16:35 s1n joined #perl6
16:35 FROGGS do_something( <<OMG, 2, 3 );␤this is the first arg␤OMG␤
16:35 moritz yes, p6 that supports that too
16:36 FROGGS hmmm, mine explodes
16:36 moritz but with q:to instead of <<OMG
16:36 FROGGS ahhh
16:36 FROGGS okay, cool
16:36 FROGGS so I can steal from it
16:36 FROGGS moritz++
16:36 moritz r: say(q:to('foo'), 42);␤this is the first arg␤foo␤
16:36 camelia rakudo b2072f: OUTPUT«â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€â�€mâ�​€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�€â�€â�€[â�€​â�€â�€0â�€â�€â�€mâ�€â�€â�€Sâ�€â�€â�€Oâ�€â�€â�€Râ�€​â�€â�€Râ�€â�€â�€Yâ�€â�€â�€!â�€â�€â�€â�€â�€â�€[â�€â​�€â�€3â�€â�€â�€1â�€â�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â​�€â�€=â�€â�€â�€â�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�​€â�€â�¤â�€â�€â�€Câ�€â�€â�€oâ�€â�€â�€uâ�€â�€â�€lâ�€​â�€â�€dâ�€â�€â�€nâ�€â�€â�€'â�€â�€â�€tâ�€â�€â�€ â�€â�€â�€fâ
16:36 moritz n: say(q:to('foo'), 42);␤this is the first arg␤foo␤
16:36 camelia niecza v24-72-g3cebbf8: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routines:â�¤    'arg' used at line 2â�¤   'foo' used at line 3â�¤   'is' used at line 2â�¤    'q:to('foo')' used at line 1â�¤   'the' used at line 2â�¤   'this' used at line 2â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at
16:36 camelia ../home/p6eval/niecza/bo…
16:36 SamuraiJack joined #perl6
16:37 FROGGS it interpolates?
16:37 timotimo_ q: shuldn't, should it?
16:37 FROGGS nr: say(q:to('foo'), 42);␤42.is-prime.say␤foo␤
16:37 camelia niecza v24-72-g3cebbf8: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Two terms in a row (previous line missing its semicolon?) at /tmp/x_3qCvi_UP line 3:â�¤------> [32m<BOL>[33mâ��[31mfoo[0mâ�¤â�¤Undeclared routine:â�¤  'q:to('foo')' used at line 1â�¤â�¤Parse failedâ�¤â�¤Â»
16:37 camelia ..rakudo b2072f: OUTPUT«â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€â�€mâ�​€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�€â�€â�€[â�€​â�€â�€0â�€â�€â�€mâ�€â�€â�€Sâ�€â�€â�€Oâ�€â�€â�€Râ�€​â�€â�€Râ�€â�€â�€Yâ�€â�€â�€!â�€â�€â�€â�€â�€â�€[â�€â​�€â�€3â�€â�€â�€1â�€â�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â​�€â�€=â�€â�€â�€â�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�​€â�€â�¤â�€â�€â�€Câ�€â�€â�€oâ�€â�€â�€uâ�€â�€â�€lâ�€​â�€â�€dâ�€â�€â�€nâ�€â�€â�€'â�€â�€â�€tâ�€â�€â�€ â�€â�€â�€
16:37 FROGGS hmmm
16:38 FROGGS not very robust :P
16:38 masak r: say(q:to(/foo/), 42);␤42.is-prime.say␤foo␤say "OH HAI"
16:38 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Invalid adverb value for :to(/foo/)â�¤at /tmp/5xQWNXSV3k:1â�¤------> [32msay(q:to(/foo/)[33mâ��[31m, 42);[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement endâ�¤        statement modifierâ�¤        statement modifier loopâ�¤Â»â€¦
16:38 masak a regex is an invalid adverb value for :to ?
16:38 * masak hits the spec
16:38 moritz I think so
16:39 moritz S02-literals/quoting.t has a few examples of p6 heredocs
16:39 jnthn It'd better be :P
16:39 masak no, S02:4405 has examples of qq:to/END/
16:39 moritz which isn't the same as :to(/END/)
16:39 moritz or is it?
16:39 jnthn Right, it's just using /.../ as the quoter.
16:39 masak oh!
16:40 masak that's... confusing :/
16:40 jnthn Then don't write it with that quoter :P
16:40 FROGGS r: say(q:to<foo> , 42);␤42.say␤foo␤
16:40 camelia rakudo b2072f: OUTPUT«42.say␤42␤»
16:40 masak then don't write SPEC which writes it with that quoter!
16:40 jnthn :P
16:40 FROGGS r: say(q:to('foo') , 42);␤42.say␤foo␤
16:40 camelia rakudo b2072f: OUTPUT«â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€â�€mâ�​€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�€â�€â�€[â�€​â�€â�€0â�€â�€â�€mâ�€â�€â�€Sâ�€â�€â�€Oâ�€â�€â�€Râ�€​â�€â�€Râ�€â�€â�€Yâ�€â�€â�€!â�€â�€â�€â�€â�€â�€[â�€â​�€â�€3â�€â�€â�€1â�€â�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â​�€â�€=â�€â�€â�€â�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�​€â�€â�¤â�€â�€â�€Câ�€â�€â�€oâ�€â�€â�€uâ�€â�€â�€lâ�€​â�€â�€dâ�€â�€â�€nâ�€â�€â�€'â�€â�€â�€tâ�€â�€â�€ â�€â�€â�€fâ
16:40 moritz masak: I'm glad you have a commit bit :-)
16:40 FROGGS it doesnt like (' ')
16:41 moritz r: say(q:to("foo") , 42);␤42.say␤foo␤
16:41 camelia rakudo b2072f: OUTPUT«â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€â�€mâ�​€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�€â�€â�€[â�€​â�€â�€0â�€â�€â�€mâ�€â�€â�€Sâ�€â�€â�€Oâ�€â�€â�€Râ�€​â�€â�€Râ�€â�€â�€Yâ�€â�€â�€!â�€â�€â�€â�€â�€â�€[â�€â​�€â�€3â�€â�€â�€1â�€â�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â​�€â�€=â�€â�€â�€â�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�​€â�€â�¤â�€â�€â�€Câ�€â�€â�€oâ�€â�€â�€uâ�€â�€â�€lâ�€​â�€â�€dâ�€â�€â�€nâ�€â�€â�€'â�€â�€â�€tâ�€â�€â�€ â�€â�€â�€fâ
16:41 moritz same problem, it seems
16:41 masak moritz: I won't make such a change before running it through TimToady.
16:41 FROGGS r: say(q:to"foo" , 42);␤42.say␤foo␤
16:41 camelia rakudo b2072f: OUTPUT«42.say␤42␤»
16:41 FROGGS O.o
16:43 diakopter wat.
16:44 jnthn ...what's surprising?
16:44 [Coke] r: say(q:to(foo), 42);␤42.say␤foo␤
16:44 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Invalid adverb value for :to(foo)â�¤at /tmp/WU5_GK8llg:1â�¤------> [32msay(q:to(foo)[33mâ��[31m, 42);[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        statement endâ�¤        statement modifierâ�¤        statement modi…
16:44 [Coke] I'm assuming the "'s as delims.
16:44 jnthn (other than the dodgy error reporting)
16:46 konundra joined #perl6
16:49 moritz r: say(q:to"foo" , 42);␤42.say␤foo␤
16:49 camelia rakudo b2072f: OUTPUT«42.say␤42␤»
16:50 moritz I guess I expected :to to parse like any other adverb
16:51 benabik I think :to is an adverb that makes the contents of the quote terminate the heredoc.
16:52 moritz sure, but the question is how the argument to :to are parsed
16:52 moritz and it seems that it's parsed as a quote, not as an expression
16:52 benabik r: say(q:to(1)"foo", 42);␤42.say␤foo␤
16:52 camelia rakudo b2072f: OUTPUT«42.say␤42␤»
16:53 benabik r: say(q:to(0)"foo", 42);␤42.say␤foo␤
16:53 camelia rakudo b2072f: OUTPUT«===SORRY!===␤Cannot look up attributes in a type object␤»
16:53 diakopter oh, all the 42s were confusing me. :)
16:53 benabik The argument to :to is True, not foo.
16:54 imIKARi joined #perl6
16:54 diakopter r: say(q:to"0" , 42);␤42.say␤foo␤
16:54 moritz q:to(1)"foo" looks like a real WTF to me
16:54 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Ending delimiter 0 not foundâ�¤at /tmp/kqxgOe_99n:4â�¤------> [32m<BOL>[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        whitespaceâ�¤        vertical whitespaceâ�¤Â»
16:54 moritz std: say(q:to(1)"foo", 42);␤42.say␤foo␤
16:54 diakopter r: say(q:to"0" , 42);␤42.say␤0
16:54 camelia std 6348f35: OUTPUT«ok 00:00 46m␤»
16:54 camelia rakudo b2072f: OUTPUT«42.say␤42␤»
16:55 moritz std: say(q:to(2 + 4)"foo", 42);␤42.say␤foo␤
16:55 camelia std 6348f35: OUTPUT«ok 00:00 46m␤»
16:55 benabik q:to"foo"  ~~ q("foo", :to)
16:56 benabik q:to(foo) ~~ q(:to => foo)  # die w/ what's foo?
16:57 masak no, q:to"foo" simply means q:to("foo")
16:57 benabik That's not how it seems to be parsing.
16:57 timotimo_ :to means to=>True
16:59 masak r: sub test(*%_) { say %_.perl }; test :to"foo"
16:59 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/C9iS5aG4uX:1â�¤------> [32msub test(*%_) { say %_.perl }; test :to[33mâ��[31m"foo"[0mâ�¤    expecting any of:â�¤        pair valueâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        statem…
16:59 masak r: sub test(*%_) { say %_.perl }; test(:to"foo")
16:59 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unable to parse expression in argument list; couldn't find final ')'â�¤at /tmp/UEmaOV6glu:1â�¤------> [32msub test(*%_) { say %_.perl }; test(:to[33mâ��[31m"foo")[0mâ�¤    expecting any of:â�¤        pair valueâ�¤        postfixâ�¤        infix…
16:59 diakopter r: say q:to''␤ ␤
16:59 camelia rakudo b2072f: OUTPUT«␤»
16:59 masak oh, is this some kind of special syntax just for q and qq et al.?
17:00 masak r: sub test(*%_) { say %_.perl }; test(:to[1,2,3])
17:00 camelia rakudo b2072f: OUTPUT«("to" => [1, 2, 3]).hash␤»
17:00 masak I thought since we have syntax like :to[], we also had syntax like :to"" in Perl 6 itself. my bad.
17:01 arnsholt There's :to<foo> I guess?
17:02 benabik r: say(q:to<foo>, 42);␤42.say␤foo␤
17:02 camelia rakudo b2072f: OUTPUT«42.say␤42␤»
17:02 benabik r: say(q:to<foo><foo>, 42);␤42.say␤foo␤
17:02 camelia rakudo b2072f: OUTPUT«postcircumfix:<{ }> not defined for type Str␤  in method gist at src/gen/CORE.setting:10161␤  in method gist at src/gen/CORE.setting:893␤  in sub say at src/gen/CORE.setting:11047␤  in block  at /tmp/t9RP6cPSyG:1␤␤»
17:02 flussence .oO( q:tofu )
17:02 stevan_ joined #perl6
17:04 flussence I wonder if that UTF32-garbled output problem will go away on other VMs...
17:04 diakopter :)
17:06 gdey_ joined #perl6
17:07 konundra joined #perl6
17:09 [Coke] r: say 3.tofu
17:09 camelia rakudo b2072f: OUTPUT«No such method 'tofu' for invocant of type 'Int'␤  in block  at /tmp/nM0480Jfk0:1␤␤»
17:09 [Coke] r: say 3.tofufu
17:09 camelia rakudo b2072f: OUTPUT«No such method 'tofufu' for invocant of type 'Int'␤  in block  at /tmp/QkNdBAhitw:1␤␤»
17:10 [Coke] r: my $fi = 3; say $fi;
17:10 camelia rakudo b2072f: OUTPUT«3␤»
17:13 jeff_s1 joined #perl6
17:14 jeff_s1 I made some minor revisions to Pugs and its dependencies to make it compile under the latest Haskell Platform. ANyone know if there is a current maintainer or mailing list I should talk to before I upload the cabal file to Hackage?
17:14 arnsholt I think [Coke] is the current Pugs caretaker
17:15 arnsholt [Coke]: ^^
17:15 jeff_s1 Ah, excellent
17:16 jeff_s1 I can probably make a diff or something if you want it. I think I only changed like 4 lines.
17:16 [Coke] I've got nothing to do with hackage.
17:16 [Coke] Please just don't break my working version that I have running on feather.
17:16 [Coke] (which gets rebuilt from scratch daily)
17:17 jeff_s1 What is feather?
17:17 [Coke] If you want, I can test out my build after you do your thing.
17:17 [Coke] perl6 dev box. it's where I'm running this:
17:18 [Coke] https://github.com/coke/perl6-roast​-data/blob/master/perl6_pass_rates
17:18 arnsholt Oh. I thought it was you who did the Pugs maintenance/life-support. Sorry =)
17:18 [Coke] ... ugh. someone broke bugs. colllllooooomoooooon
17:18 colomon \o/
17:19 [Coke] arnsholt: Yes, but I don't know jack about haskell or the build environment.
17:19 [Coke] broke *pugs
17:19 colomon err... is pugs running the set tests?
17:20 arnsholt Ah, right
17:20 [Coke] colomon++
17:20 [Coke] dagurval--
17:20 jeff_s1 I don't think I'll be doing anything to affect your testing unless you pull code from Hackage.
17:21 jeff_s1 Hm, should I keep searching, or is it safe to say there's nobody really looking at Pugs these days?
17:21 [Coke] dagurval++
17:22 [Coke] au is the only person who would care about it, and if you're improving it, I'm sure she's fine with it.
17:22 [Coke] is hackage containing things I need to build pugs from scratch, or is it a built version of pugs?
17:22 [Coke] dagurval++, btw.
17:22 jeff_s1 It's just for source code.
17:24 [Coke] require InnerModule:file($name) <quux>;
17:24 jeff_s1 Under the current Haskell Platform, you can't just do "cabal install Pugs", but after I upload new packages, it should work. It compiles on my mac, anyway.
17:24 [Coke] jeff_s1: that isn't either of my 2 options. what is it?
17:24 [Coke] ah.
17:24 [Coke] so it's for the build. ok. that is working for me on feather - as long as you're not breaking people running under an older version, that's fine.
17:25 [Coke] that require statement above - is that syntax with the single colon real?
17:25 [Coke] (it's in roast)
17:25 dalek roast: 5622f27 | coke++ | S11-modules/require.t:
17:25 dalek roast: pugs fudge
17:25 dalek roast: review: https://github.com/perl6/roast/commit/5622f277f0
17:26 raiph joined #perl6
17:26 jeff_s1 Hackage does contain things you need to build pugs from scratch, yes. And some new requirements will have to be added when GHC 7.8 is released. At least unordered-containers.
17:27 PerlJam Did we just accrete another pugs person?
17:28 PerlJam jeff_s1++
17:28 jeff_s1 Haskell is my #1 language, and I recently started working at a Perl shop, so I have some natural affinity for it.
17:29 masak jeff_s1++
17:29 zby_home_ joined #perl6
17:29 masak jeff_s1: I've often wanted to get involved with Pugs, and fix a few LHFs. but the on-ramp seems too steep for me.
17:30 PerlJam masak: really?  AFter using Perl 6 for so long, I would have thought the transition to haskell wouldn't be that bad.
17:31 PerlJam masak: or do you just mean the pugs codebase is inscrutible?
17:31 masak I'm moderately comfy with Haskell. what I've seen of the Pugs codebase, it's OK.
17:31 masak but I find the steps to get a working build off which to develop inscrutable.
17:31 PerlJam ah
17:32 diakopter the HF in pugs are low... if you climb th ebeanstalk for a few days
17:32 masak :)
17:35 timotimo_ so, did i understand correctly that pugs is a compiler that targets for instance parrot as its backend?
17:35 PerlJam timotimo_: yes.  (it has many backends)
17:35 colomon pugs?  no
17:36 PerlJam pugs is what set off this whole "implement Perl 6 For Real" idea :)
17:37 dalek nqp: 5adf255 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (14 files):
17:37 dalek nqp: Kill initialize REPR function for JVM 6model.
17:37 dalek nqp:
17:37 dalek nqp: On the Parrot and Moar implementations, allocate is used in a range of
17:37 dalek nqp: situations (create, clone, deserialize). This is not the case on the
17:37 dalek nqp: JVM implementation of 6model, so it's essentially useless to separate
17:37 dalek nqp: allocate and initialize.
17:37 dalek nqp: review: https://github.com/perl6/nqp/commit/5adf25542b
17:37 masak PerlJam: that's only partly accurate.
17:37 dalek rakudo/nom: 978aeee | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files):
17:37 dalek rakudo/nom: Updates to work on latest NQP.
17:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/978aeeee24
17:38 masak PerlJam: at that point, the Parrot team, headed by pmichaud++, was busy building the underpinnings for Rakudo, but it wasn't called Rakudo then.
17:39 masak PerlJam: while PGE which was being built has since been replaced by some layers of nqp, its legacy lives on in some sense. and I would consider that work as "implement[ing] Perl 6 For Real", too :)
17:40 timotimo_ i suppose putting a moarvm backend in place for pugs isn't going to be very helpful until pugs catches up on a lot of features, right?
17:40 masak more illuminating perhaps to say that while Parrot/PGE was going at it bottom-up, Pugs came in and was the first to do it top-down.
17:40 masak timotimo_: Pugs is pre-MOP, pre-LTM, and pre-6model. so, yes.
17:41 PerlJam timotimo_: so ... what masak just said  :)
17:41 timotimo_ oh yikes, that's a lot of catching up
17:41 masak timotimo_: many major synopses have had major revisions since 2007, when Pugs development came to a halt.
17:41 rurban joined #perl6
17:42 PerlJam timotimo_: but if you *really* like haskell, it's bound to be fun.
17:42 timotimo_ i don't like it enough i'm afraid
17:42 SunilJoshi joined #perl6
17:51 PerlJam masak: btw, maybe I'm a little too focused on this one particular aspect, but pugs also provided some critical energy and excitement that really got the implementation ball rolling (IMHO).  No other project to date had that energy.  Also, Pugs really built out the test suite of Perl 6 features.  So, while it's true that Pugs and PGE were working at the problem from different angles, Pugs brought some important pieces of Perl 6 development to the table. (IMHO
17:51 PerlJam masak: thus, I consider pugs the first "real" attempt at a Perl 6 implementation.
17:52 colomon pugs was awesome, no doubt about it.
17:52 PerlJam but that's just me. :)
17:54 GlitchMr joined #perl6
17:56 konundra joined #perl6
17:56 masak PerlJam: I'm not disagreeing, except perhaps about the last part.
17:56 masak PerlJam: Pugs and the Parrot efforts were simultaneous, but Pugs had all of the spotlght.
17:56 masak but yes, Pugs had enormous cultural significance.
17:56 masak without it, the Perl 6 project would probably have fizzled out into unrealized ambitions, and we wouldn't all be on this channel today.
17:56 colomon masak: that's not really fair -- parrot did have a book published about it, after all.
17:57 colomon before pugs.
17:57 colomon and pugs got the spotlight because it, you know, worked.
17:57 masak colomon: well, *that* perl6-oon-Parrot didn't survive. in fact, I've never run it.
17:57 masak it would be fun to dig it out and try it, actually.
17:57 masak on*
17:58 masak the point where the Parrot team realized that that perl6 was a dead end was the point where they recruited pmichaud as the lead Perl 6 dev.
17:58 colomon I've never heard that there was anything workable at all from p6 on parrot at that point.
17:58 masak there was.
17:58 masak but it was completely abandoned.
17:58 masak if you count that project, then yes, Parrot was definitely before Pugs in having a running Perl 6.
17:59 masak if you don't count that project, then well, Parrot had PGE but not Rakudo yet. Rakudo came along in... 2007?
17:59 masak though not under that name yet.
17:59 jeff_s1 I uploaded my changes "cabal install Pugs" should work with the latest Haskell Platform.
17:59 jeff_s1 I should make a git repo.
17:59 masak the best candidate for a name before Rakudo was "Onion". phew, that was a close one! :P
17:59 colomon jeff_s1++
18:00 * masak .oO( the Perl 6 implementation that will bring tears to your eyes! )
18:01 colomon masak: I'm a bit dumbfounded at the notion that there was a usable p6 before pugs.  I mean, pugs was considered very exciting even when it was just the simplest of toys.  was that all just clever Haskell PR?
18:02 masak colomon: Pugs was *awesome*, man.
18:02 btyler joined #perl6
18:02 masak colomon: it's hard to explain now, 8 years later.
18:02 masak colomon: but it was like waking up each day, and one more bit of Perl 6 was available.
18:02 masak colomon: since I haven't tried the old perl6-on-Parrot, I don't know at what point Pugs overtook it in terms of features... but that must have happened pretty quickly.
18:03 colomon masak: when I first used pugs, growing an array one element at a time was an O(N**2) operation.  and people were already excited about it.
18:03 gdey joined #perl6
18:03 colomon at the time, I certainly was not aware there was any of p6 implementation that was worth trying.
18:03 masak in that sense, yes, Parrot's PR sucked and Pugs' didn't suck.
18:03 masak I am pretty sure I hadn't heard about perl6-on-Parrot either.
18:04 masak in fact, "I didn't know about the Perl 6 project that already existed on Parrot" http://strangelyconsistent.org/bl​og/happy-10th-anniversary-perl-6
18:04 * colomon was already reading that post
18:05 colomon as I said, Parrot had an entire book published on it at least a year before pugs
18:05 raiph joined #perl6
18:06 masak almost two years.
18:06 masak first edition: June 2003.
18:06 masak second edition: June 2004.
18:06 masak Pugs: February 2005.
18:07 colomon according to your post (with a link that no longer works) that original perl 6 on parrot was given up as unworkable in 2004.
18:07 masak back in 2003, '2...' meant '2..Inf'. yes, it was postfix:<...>! :) though the syntax "postfix:<...>" didn't exist yet.
18:07 masak colomon: right, that's when they found pmichaud. they put out an ad.
18:08 colomon seriously?!  ha!
18:08 colomon pmichaud++
18:09 [Coke] jeff_s1: if you're looking for things to update that would help us pass more tests, I'm happy to provide some items. :) (pugs)
18:09 masak colomon: working link: https://github.com/parrot/parrot/blob​/RELEASE_0_3_1/languages/perl6/README
18:10 masak I'll replace it in the blog post.
18:11 colomon masak++: crazy stuff
18:12 konundra joined #perl6
18:12 mst joined #perl6
18:12 jeff_s1 [Coke]: I don't want to commit to anything, but if you have a few specific ideas I might look into it.
18:14 [Coke] S03-operators/autoincrement-range.t has a bunch of pugs todos that are all related.
18:16 [Coke] if you can get this running: t/fudgeandrun S32-trig/cos.t
18:16 [Coke] we'll probably be able to get several hundred more passing tests.
18:16 masak wow, and at that time 'perl6' was a Perl 5 program. :D
18:16 masak https://github.com/parrot/parrot/blob​/RELEASE_0_3_0/languages/perl6/perl6
18:16 rjbs Ha! :)
18:17 dalek perl6-roast-data: 89adf54 | coke++ | / (4 files):
18:17 dalek perl6-roast-data: today (automated commit)
18:17 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/89adf54291
18:18 * masak downloads Parrot 0.3.0 to try this 'perl6'
18:19 dalek nqp: 4e615b3 | jnthn++ | src/vm/jvm/ (3 files):
18:19 dalek nqp: Add op for looking up attribute access hints.
18:19 dalek nqp:
18:19 dalek nqp: These allow better compilation of attribute lookups, saving a hash
18:19 dalek nqp: lookup per attribute access that can be resolved at compile time.
18:19 dalek nqp: review: https://github.com/perl6/nqp/commit/4e615b3bdd
18:19 dalek nqp: ffca963 | jnthn++ | src/vm/jvm/stage0/ (10 files):
18:19 dalek nqp: Update bootstrap to get nqp::attrhintfor(...).
18:19 dalek nqp: review: https://github.com/perl6/nqp/commit/ffca963b9e
18:19 [Coke] jeff_s1: if those are too involved, let me know, I can look for simpler things that give us fewer tests.
18:19 dalek nqp: b06dc41 | jnthn++ | src/vm/jvm/ (2 files):
18:19 dalek nqp: Generate hints for QAST::Var attribute accesses.
18:19 dalek nqp: review: https://github.com/perl6/nqp/commit/b06dc41759
18:20 jeff_s1 [Coke]: Thanks for the suggestions. I can't promise anything, but I might be back in a couple of weeks with something interesting :)
18:21 PerlJam looking at that readme, the weird thing is I don't remember anyone working on "perl6" back then other than sean o'rourke and leo toetsch
18:21 BinGOs MoarVM built okay (if a little slowly) on Raspberry Pi (Linux rasta 3.6.11+ #456 PREEMPT Mon May 20 17:42:15 BST 2013 armv6l GNU/Linux)
18:23 tgt joined #perl6
18:23 stevan_ joined #perl6
18:24 Bzek joined #perl6
18:24 [Coke] PerlJam: steve fink is the other name I see there. that sounds really familiar.
18:27 masak yay I haz a working 'perl6' from 2004! \o/
18:27 masak $ perl6
18:27 masak > 2 + 2
18:27 masak 4
18:27 masak um.
18:27 masak or not :)
18:27 moritz BinGOs: cool
18:27 masak that's Rakudo I'm running...
18:28 masak ah, here we go:
18:28 masak $ /usr/bin/perl perl6
18:28 masak 'perl6-config' not found: No such file or directory at perl6 line 34.
18:28 masak ah, need to 'make' in this directory, too.
18:29 masak $ /usr/bin/perl perl6 test
18:29 masak Can't locate Perl6grammar.pm in @INC [...]
18:29 masak dear me, this 'perl6' is hard to use :(
18:29 masak hm, there's a Perl6grammar.pm in the current directory...
18:30 masak $ /usr/bin/perl -I. perl6 test
18:30 masak Can't call method "tree" on an undefined value at perl6 line 437.
18:30 masak :(
18:30 masak (the 'test' file contains a simple 'say "OH HAI";')
18:30 PerlJam [Coke]: maybe because of http://www.finkproject.org/  :)
18:30 census joined #perl6
18:31 masak I think I just lost interest in this 'perl6' from 2004.
18:31 masak would've been cool to get it running, but it doesn't seem too cooperative.
18:32 PerlJam welcome to the Time Before Pugs  :)
18:32 * colomon wonders if it would have been any easier to get running back in 2004.
18:37 colomon rn: say "a" ~~ set <a b c>
18:37 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«False␤»
18:37 colomon rn: say <a b c> ~~ set <a b c>
18:37 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«False␤»
18:38 * colomon thinks that one should be true
18:38 colomon rm: say (set <a b c>) ~~ set <a b c>
18:38 moritz s/m/n/
18:38 colomon rn: say (set <a b c>) ~~ set <a b c> # know this one should be true
18:38 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«False␤»
18:39 rurban joined #perl6
18:40 colomon rn: say (bag <a b c c>) ~~ set <a b c> # do not know about this one
18:40 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«False␤»
18:41 * moritz wonders if it's a set of worms or a bag of worms :-)
18:42 masak colomon: I say it should match.
18:42 masak colomon: because the rhs has an .ACCEPTS, and clearly that Bag matches that Set.
18:42 masak if that makes any sense.
18:43 colomon sort of.
18:43 masak if you flipped the operands around, I wouldn't expect it to match.
18:43 moritz nr: my $a = set <a b c>; say $a ~~ $a
18:43 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«True␤»
18:43 colomon I'm implementing Set.ACCEPTS as
18:43 colomon method ACCEPTS($other) { $other ⊆ self and self ⊆ $other }
18:43 colomon Bag as method ACCEPTS($other) { $other ≼ self and self ≼ $other }
18:44 colomon which does what you want, I think.
18:44 masak \o/
18:44 dalek niecza: b8dd516 | (Solomon Foster)++ | lib/CORE.setting:
18:44 dalek niecza: Add .ACCEPTS for Set, KeySet, Bag, and KeyBag.
18:44 dalek niecza: review: https://github.com/sorear/niecza/commit/b8dd5160ed
18:45 masak or put differently, there's a forgetful functor from the category Bag to the category Set. but not the other way around.
18:45 colomon and if you want your Set to actually care about quantity, you just use .Bag to coerce it and it will.
18:46 * colomon needs to add tests for this...
18:47 masak right.
18:48 colomon do we usually do ACCEPTS tests directly, or using ~~ ?
18:48 moritz using ~~
18:48 colomon k
18:48 moritz ACCEPTS really is an implementation detail of smart matching
18:48 masak .Bag is just the (universal) inclusion functor corresponding to the forgetful functor... :)
18:50 * moritz can emphasize with forgetful functors
18:51 * colomon realizes he has forgotten the undefined case in his ACCEPTS...
18:53 colomon and used and when he meant &&.  sigh.
18:55 stevan_ joined #perl6
18:57 benabik_ joined #perl6
19:00 colomon rn: say (set < a b c>) (<=) bag <a a a b c>
19:00 camelia rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«True␤»
19:01 abnorman joined #perl6
19:03 dalek niecza: d2580c9 | (Solomon Foster)++ | lib/CORE.setting:
19:03 dalek niecza: Fix .ACCEPTS for Set, KeySet, Bag, and KeyBag.
19:03 dalek niecza:
19:03 dalek niecza: Previously did not handle the type object case correctly.
19:03 dalek niecza: review: https://github.com/sorear/niecza/commit/d2580c9a94
19:04 rindolf joined #perl6
19:14 * ingy waves o/
19:15 colomon \o ingy!
19:15 PerlJam ingy o/
19:15 ingy great to see you all at yapcna
19:15 rindolf joined #perl6
19:15 * ingy considers an ISoP6
19:15 ingy or at least an ISoAwP6
19:17 colomon ingy: it was great to see you, too.
19:18 PerlJam ingy: I just want to know .... is it customary for you to remove your clothing at a YAPC?  I've only been to 2 and at both of them you removed some clothing    :-)
19:18 awwaiid PerlJam, seem to be once every 5 years or so?
19:18 awwaiid Maybe every 3 years
19:19 PerlJam And how come that wasn't on the YAPC bingo card?  ;)
19:22 dalek roast: bbf6549 | (Solomon Foster)++ | S02-types/ (2 files):
19:22 dalek roast: Add tests for Set and KeySet smartmatching.
19:22 dalek roast: review: https://github.com/perl6/roast/commit/bbf6549b45
19:22 dalek roast: c49e082 | (Solomon Foster)++ | S02-types/ (2 files):
19:22 dalek roast: Tests for Bag.ACCEPTS and KeyBag.Accepts.
19:22 dalek roast: review: https://github.com/perl6/roast/commit/c49e082bad
19:22 dalek niecza: 480a062 | (Solomon Foster)++ | lib/CORE.setting:
19:22 dalek niecza: I reckon multi-subset and -superset should work with anything.
19:22 dalek niecza:
19:22 dalek niecza: This reflects the behavior of regular subset and superset.
19:22 dalek niecza: review: https://github.com/sorear/niecza/commit/480a062e56
19:25 masak well, to give some perspective, https://github.com/parrot/parrot/blob/RELE​ASE_0_3_0/languages/perl6/P6C/Builtins.pm defines a whopping 17 builtins: substr, length (!), reverse, join, index, time, sleep, print1 (?), print, exit, die, warn, grep, map, _setup (?), install_catch, and pop_catch.
19:26 [Coke] if there are parrot style catch handlers, that might be an intermediate level for commands to be built on.
19:27 nwc10 masak: did you look at the actual code implementing the compiler?
19:27 masak no.
19:27 masak not yet.
19:27 masak but all those builtins are in PIR, as was the custom at the time.
19:28 nwc10 I believe that the compiler was written in Perl 5
19:28 labster this sounds like insanity on top of insanity
19:29 * nwc10 waits for VMS to make clean...
19:29 nwc10 (that's Perl 5. A fast linux box can do 0-60-0 in less time)
19:29 PerlJam labster: it was all we had at the time.
19:33 labster Well, these were the years I was stuck coding FORTRAN, so I can't really complain
19:34 rindolf joined #perl6
19:37 * lizmat calls it an early day
19:37 nwc10 good "early day", Perl6?
19:37 nwc10 that's a new one
19:38 lue hello world o/
19:38 masak according to https://en.wikipedia.org/wiki/Doomsday_argument it's a "late day"...
19:38 dalek rakudo-star-daily: bea432b | coke++ | log/ (5 files):
19:38 dalek rakudo-star-daily: today (automated commit)
19:38 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/bea432bf6e
19:39 lue masak: may I ask why you've decided to install such an old rakudo?
19:40 * lee_ really wants JVM support for MapIter :D
19:41 lee_ i keep building it hoping it will magically appear
19:43 jnthn lee_: I'm hoping to get that in tomorrow.
19:43 lee_ yay! jnthn++
19:43 jnthn Was gonna do it today but my brane is still a bit mushy thanks to jetlag...
19:48 lue Ooh! I just found a bug concerning the two Twigils sections in S02 and the pod-to-html converter! [more]
19:48 census2 joined #perl6
19:49 lue Both "Twigils" entries in the ToC point to just the first Twigils header (because the anchors are #Twigils instead of #Section/Twigils) I've known this part of the bug for a while, but I just found the other part:
19:50 lue Both "Twigils" sections in the generated webpage include I<both> Twigils sections in the Pod, which is why they're carbon copies of each other in the html page.
19:51 masak lue: I decided to install it because backlog. (people said that they hadn't even heard of this old 'perl6', and I recalled saying the same. so I decided to try it out. couldn't make it run.)
19:51 rurban joined #perl6
19:51 lue OK.
19:52 flussence masak: is that the one where .get is spelled &prefix:<=>?
19:52 flussence (or something like that...)
19:53 colomon flussence: I believe that was in early Rakudo as well.
19:53 colomon (or possibly only)
19:53 moritz it was
19:54 moritz seems the switch from prefix:<=> to get/lines was in 2009
19:54 colomon I remember it happening.  But I don't think I had too much code to change because of it.  :)
19:55 lue re heredocs: IIRC, q:to(0) *always* gives the parens to the adverb, you'd need q:to (0) to make them be quotes. Also, The heredoc takes the end delim from what's inbetween the quote delims.
19:55 lue (because parens and only parens supply arguments to quote adverbs)
19:56 labster okay, I was just reading S16 about $*CWD:  "It must check whether the path exists before changing its value"  Now, how the heck am I supposed to do that?
19:57 moritz labster: first of all, if you find this kind of API insane, remove it from the spec
19:57 flussence try { chdir($newcwd); $*CWD = $newcwd }
19:58 moritz labster: I find it quite insane, because a program can have many $*CWD variables, but only one working directory)
19:58 flussence oh, in that case I agree.
19:58 labster it's useful for testing some things.  not much beyond that, I'm afraid
19:59 sorear good * #perl6
19:59 yoleaux 12:38Z <jnthn> sorear: PushSelf confused me at first; I thought of Perl 6 "self", e.g. that it was pushing "this". Seems it pushes the handle of the current method...maybe there's a better name. JAST::PushCurMeth perhaps...
19:59 yoleaux 12:42Z <jnthn> sorear: I'd initially planned to have one exception handler catching the save state exception per qb_NNN method, rather than one per call. That woulda involved keeping a local tracking the save index (updating it just before each call), probably giving smaller code (or at least, smaller exception tables). Maybe it breaks even on performance, though...hard to guess.
19:59 moritz that said, if you absolutely love that feature, you can do something evil like flussence++ suggested by binding a Proxy to $*CWD
19:59 flussence (would it be better for $*CWD to be readonly then?)
19:59 labster chdir still needs to change it.
19:59 moritz flussence: then you can still make a new one with 'my $*CWD'
20:00 jnthn o/ sorear
20:00 moritz flussence: and what then? chdir changes all variables named $*CWD?
20:00 sorear jnthn: haven't broken the rakudo build *yet*. :D
20:00 moritz and how does it even know about them?
20:00 jnthn :P
20:00 flussence I guess I'll just leave the decision up to someone with a good use case for having it work a certain way..
20:01 flussence s,..$,...,
20:01 lue Could it perhaps be $?CWD then, if you don't want modifications?
20:01 moritz lue: the ? sigil is for stuff that's known at compile time
20:01 colomon In Niecza, I believe that $*CWD just calls the function to get the current directory.
20:01 moritz lue: and the run time path usually isn't known at compile time :-)
20:01 lue Oh, right. nevermind then :)
20:02 * moritz is still firmly +2 on removing $*CWD
20:03 colomon moritz: then how would you figure out what the current directory is?
20:03 labster cwd()
20:03 colomon rn: say cwd
20:03 camelia niecza v24-75-g480a062: OUTPUT«Unhandled exception: cwd may not be used in safe mode␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (cwd @ 0) ␤  at /tmp/LQB7NN9gGR line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4542 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.…
20:03 camelia ..rakudo b2072f: OUTPUT«/home/p6eval␤»
20:03 moritz colomon: cwd(), IO::Path.cwd, whatever we want to call it
20:04 colomon hmm... it's shorter and less violent to the eye...
20:04 sorear o/
20:04 colomon and no one would try to assign to it...
20:04 colomon +1
20:04 colomon \o, sorear
20:04 lue But... How else am I supposed to run commands like qqx"ls $*CWD" ? It's not like linux comes with a "current directory" symbol.
20:04 sorear cwd() == foo...
20:04 colomon qqx"ls { cwd }"
20:04 moritz lue: qqx"lc {cwd}"
20:04 moritz *ls
20:04 sorear lue: .
20:05 colomon sorear++
20:05 labster I'm not entirely against removing it, but overriding it does have its uses.  Like setting $*CWD locally to "D:\foo" to test that IO::Path::Win32 doesn't make relative paths from "C:\bar".
20:05 sorear besides {cwd} is the same number of chars as $*CWD
20:05 labster but yeah, that's a pretty narrow case.  overriding &cwd locally would work too
20:06 lue I have a feeling $*CWD was trying to do something that would be more appropriate with a different name.
20:06 colomon labster: how would $*CWD do something there than chdir cannot?
20:06 labster .oO ($*PWD)
20:06 lue (even better yet, qx"ls")
20:06 moritz lue: $*CWD would be cute if it worked as originally envisioned
20:06 labster qx"ls ."
20:06 colomon or does $*CWD magically chdir back when it goes out of scope?
20:07 moritz lue: but Perl 6 gives far too many options for scoping and control flow to keep the working directory and a dynamic variable in sync
20:07 labster changing $*CWD now currently does not actually change the process working directory
20:07 moritz colomon: $*CWD is scoped idfferently
20:07 moritz my $*CWD = 'FAKE'; call_something()
20:07 moritz now &call_something sees the fake $*CWD
20:08 * lue wishes Firefox's awesome bar would take him to the right place when he typed S16<Enter>
20:08 moritz and at scope exit, it's gone again
20:08 sorear local *cwd = sub { 'FAKE' } ... :D
20:08 labster you beat me on typing that, sorear
20:08 moritz well, except that it doesn't work in p6 :-)
20:09 colomon \o/
20:09 sorear my $h = &cwd.wrap({ 'FAKE' }); LEAVE $h.unwrap; ...
20:09 labster my sub cwd { 'FAKE" }  does it?
20:09 moritz labster: for the lexical scope yes, but not for the dynamic scope
20:10 lue .oO( my sub cwd { IO::Path("/") }; )
20:10 lue *IO::Path.new (sigh)
20:11 labster "/".path
20:11 atroxaper left #perl6
20:13 flussence after my time using php I've become paranoid of using the working directory in general...
20:14 moritz flussence: good for you
20:16 colomon yeah, I was just trying to think how $*CWD would work with laziness, and my head exploded a little...
20:17 flussence I just want a nice language that insulates me from the insane parts of posix :(
20:17 moritz java?
20:17 flussence *nice* language :)
20:17 moritz ok, forgot about the "nice language" part, sorry
20:17 nwc10 and he only wanted to be isolated from the insane parts
20:17 tadzik Go? :)
20:17 moritz C#?
20:17 nwc10 not a straightjacket
20:17 rurban joined #perl6
20:18 moritz .oO( not even a nice straightjacket? :-)
20:18 * moritz -> sleep
20:18 colomon o/
20:20 lue RESTRICTED.setting ?
20:21 flussence .oO( I wonder if this is accurate at all: PHP scripts are like green threads {which don't always get cleaned up properly} )
20:22 flussence .oO( and extrapolating that line of thinking, Threads.pm6 in its current state might make a good base for a webapp )
20:39 tomyan joined #perl6
20:40 SmokeMachine joined #perl6
20:43 tgt joined #perl6
20:53 Chillance joined #perl6
20:56 rurban1 joined #perl6
21:04 snearch Hello #perl6, I try to write some  code which initializes a private attribute of an object and says its value, but the following code does not work (says "(Any)"), why? class a{ has $!x; method pr{ say $!x; } }; a.new( x => 124 ).pr();
21:05 benabik I don't think .new initialized privates by default.
21:05 colomon rn: class a{ has $!x; method pr{ say $!x; } }; a.new( x => 124 ).pr();
21:05 camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«(Any)␤»
21:05 colomon rn: class a{ has $.x; method pr{ say $.x; } }; a.new( x => 124 ).pr();
21:05 camelia rakudo b2072f, niecza v24-75-g480a062: OUTPUT«124␤»
21:05 colomon benabik++
21:05 benabik Indeed, colomon beat me to it.
21:06 robinsmidsrod joined #perl6
21:06 [Coke] so, next step, how do you initialize private attributes?
21:06 [Coke] (BUILD, no?)
21:07 flussence r: class a { has $!x; }; say a.new( x => 124 ).DUMP
21:07 camelia rakudo b2072f: OUTPUT«a<1>(:$!x(Any))␤»
21:07 benabik submethod BUILD, I think?
21:07 colomon rn: class a{ has $!x; method new($x) { self.bless(*, $:x); };  method pr{ say $!x; } }; a.new( x => 124 ).pr();
21:07 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Redeclaration of symbol $:x as a placeholder parameterâ�¤at /tmp/d6t8aI0bET:1â�¤------> [32m $!x; method new($x) { self.bless(*, $:x[33mâ��[31m); };  method pr{ say $!x; } }; a.new( x[0mâ�¤Â»
21:07 camelia ..niecza v24-75-g480a062: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Placeholder variable $:x cannot override existing signature ($x) at /tmp/muckku6LEu line 1:â�¤------> [32mhas $!x; method new($x) { self.bless(*, [33mâ��[31m$:x); };  method pr{ say $!x; } }; a.new[0mâ�¤â�¤Confused at /tmp/muckk…
21:07 dalek nqp: 080f0bf | jnthn++ | src/vm/jvm/runtime/org/perl6​/nqp/sixmodel/reprs/P6Opaque (3 files):
21:07 dalek nqp: Avoid reflection when allocating P6opaque.
21:07 dalek nqp: review: https://github.com/perl6/nqp/commit/080f0bf24d
21:07 dalek nqp: a759e63 | jnthn++ | src/QAST/Regex.nqp:
21:07 dalek nqp: Dump rxtype of QAST::Regex.
21:07 dalek nqp: review: https://github.com/perl6/nqp/commit/a759e63c5e
21:07 dalek nqp: a640d5a | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
21:07 dalek nqp: Use regionMatches, avoiding subString calls.
21:07 dalek nqp:
21:07 dalek nqp: Avoids creating some short-lived strings during the parse.
21:07 dalek nqp: review: https://github.com/perl6/nqp/commit/a640d5a048
21:07 dagurval Is it not possible to export a variable? This doesn't work for me: https://gist.github.com/dag​urval/7522d8bf0f5464818611
21:08 colomon dagurval: you didn't eval that code, you just imported it as a string and printed it.
21:09 flussence some working BUILD code: https://github.com/flussence/perl6-XMM​S2/blob/master/lib/XMMS2/Client.pm6#L6
21:09 benabik flussence++
21:09 colomon Woah, having to use BUILD is good enough reason in my mind never to use private attributes....
21:09 dagurval colomon: eval? I want it to be loaded via "use"
21:10 colomon dagurval: oh, I see, use a
21:10 snearch I can't believe that there is no easy solution
21:11 snearch this is so easy in C++
21:11 benabik colomon: It's probably better for the class to initialize its private attributes than allowing random users to do so.
21:12 benabik r: class a { has $!x; submethod BUILD(:$x) { $!x = $x } }; say a.new(x => 42).DUMP
21:12 camelia rakudo b2072f: OUTPUT«a<1>(:$!x(42))␤»
21:12 masak r: class a { has $!x; submethod BUILD(:$!x) { } }; say a.new(x => 42).DUMP
21:12 camelia rakudo b2072f: OUTPUT«a<1>(:$!x(42))␤»
21:12 benabik snearch: new won't initialize a private variable by default.  But if you define a BUILD submethod, you can do it.
21:12 benabik snearch: It's P6's version of a constructor.
21:13 snearch benabik: thanks
21:13 benabik masak: :(:$!x) ?  That's a nice trick.
21:13 dagurval snearch: I had the same frustration some days ago :)
21:13 PerlJam benabik: it's not a trick; it's spec!
21:14 PerlJam :)
21:14 benabik PerlJam: You want me to believe that the spec isn't tricky?  ;-)
21:14 PerlJam touché
21:14 benabik :$!x...  $ = sigil, ! = twigil, : = ?gil
21:15 FOAD quigil.
21:15 flussence pregil?
21:15 masak "colon". :)
21:15 flussence colongil!
21:16 benabik colongil?
21:17 geekosaur nekudotayim :p
21:18 snearch dagurval: did you find a not-frustrating solution?
21:19 sorear if it were on the other side of the ! it would be called a trigil
21:19 snearch dagurval: maybe short, succinct?
21:19 rurban joined #perl6
21:20 dagurval if it's non-frustrating is up to you to decide, see how I initialize $!img-path in this class: https://github.com/dagurval/perl6-image-​resize/blob/master/lib/Image/Resize.pm6
21:21 dagurval it's basically what's already been sayd here
21:22 aindilis joined #perl6
21:22 masak dagurval: not sure why you feel it's very important to not give $!img-path a public accessor in that case.
21:23 * masak is growing disenchanted with private attributes as he grows older
21:23 * colomon too
21:23 masak Perl 5 and JavaScript do fine without them (even as people sometimes go to great lengths to emulate them).
21:24 benabik dagurval: When I try your example, I get "Could not find a in any of: ..."  Perhaps you have another module a on your module path?
21:24 masak in my (upcoming) programming language, I'm going to experiment with making all attributes public by default, and then putting encapsulation/hiding "one level up", on the next abstraction level above objects.
21:24 nwc10 #define private public
21:24 dagurval benabik: no, I omitted it, try "@*INC.shift(".")" first :)
21:25 masak nwc10: "every problem in computer science can be solved with a textual macro. except the problem of too many textual macros." :P
21:25 benabik dagurval: Or use lib '.';  :)
21:25 dagurval hehe, or that :)
21:26 dagurval masak: You may be right, I suppose I could do the "file exists" check in a public accessor. Habit I suppose.
21:29 benabik Hm.  constant %C is export works.
21:29 dagurval bakedb: niecza tells me "Trait export not available on variables". I can't find in the spec where it explicitly says it is
21:29 dagurval s/bakedb/benabik/ :)
21:29 twigel joined #perl6
21:31 dagurval if constant works, I'll use that for now. Thanks for the tip
21:33 benabik I see nothing in spec wrt the exportability of variables.  However, my $0.02 is that it should either work or give an error when you try.  :-D
21:36 flussence std: my $0.02
21:36 camelia std 6348f35: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot declare a numeric variable at /tmp/I2tA1KB_3Y line 1:�------> [32mmy $0[33m�[31m.02[0m�Parse failed�FAILED 00:00 41m�»
21:37 snearch I would like, if "new" would be allowed to initialize private attributes, why not change "new"?
21:38 flussence p5eval: my $0.02
21:38 p5eval flussence: ERROR: Can't use global $0 in "my" at (eval 7) line 1, near "my $0"
21:38 flussence p5eval: our $0.02
21:38 p5eval flussence: /tmp/p5eval/jail/p5eval-MZmM.pl2
21:39 flussence .oO( interesting, it works when you share your two cents... )
21:39 benabik Hah.
21:39 tgt joined #perl6
21:39 dagurval :D
21:43 pmichaud to add a bit more to the pugs and p6 on parrot story....
21:43 pmichaud (re http://irclog.perlgeek.de/​perl6/2013-06-11#i_7184353 )
21:44 pmichaud early versions of PGE started in late 2004.  Pugs started in early 2005.
21:44 pmichaud Pugs had a huge advantage in that it could use an already-built parser generator (Parsec) to parse the language; Parrot had no such parser tool at the time.  That's why Parrot's approach was "bottom-up"... it was that way by necessity.
21:45 pmichaud however, Pugs' advantage with Parsec also turned into a disadvantage... although it could parse Perl 6 code, Pugs had no native support for Perl 6 regular expressions or grammars.
21:46 pmichaud Indeed, for a long time its mechanism of providing Perl 6 regexes was to call out to PGE on Parrot.
21:47 pmichaud when it became clear that Pugs needed to have its own regular expression engine, several attempts were begun to build one... but afaict none of them got very far, and all were really slow.  (I might be mis-remembering reality here.)
21:48 pmichaud masak / PerlJam : ^^^^
21:49 benabik I have come to the conclusion that a) it looks like there's no particular reason why our $var is export doesn't work and b) there probably is one but I have no idea how importing works.
21:49 rurban1 joined #perl6
21:50 masak pmichaud: glad to see you only had additions and no corrections ;)
21:50 masak or s/glad/relieved/ :)
21:50 pmichaud oh, I wasn't looking for corrections.
21:51 pmichaud but yes, I thought your summary was pretty accurate; just wanted to give a bit of the reason why Rakudo took a more bottom-up approach
21:51 pmichaud there's no question that Pugs energized the community in ways that Perl 6 on Parrot wouldn't have been able to do for some time.
21:53 pmichaud and similarly, I disagree with PerlJam about Perl6-on-Parrot not being a "real" attempt... it was very real.
21:53 pmichaud it just didn't have the fast lane that Pugs was able to utilize at the time.
21:53 masak pmichaud: any idea why I couldn't get it to run?
21:53 pmichaud couldn't get Pugs to run?
21:53 * pmichaud lost a thread here.
21:54 masak no, the dead-end perl6.
21:54 masak I downloaded Parrot 0.3.0 and tried to build and run it.
21:54 masak build went extremely fine, but run didn't.
21:54 pmichaud no, I don't know... let me look.
21:55 sorear benabik: variable exports are LHF NYI in niecza.  I've never needed them
21:55 pmichaud masak: I think the languages/perl6 that existed as of 0.3.0 was the one from before when I started.
21:56 pmichaud looking
21:56 masak yes. it was.
21:56 masak pmichaud: did you ever run it?
21:56 masak :)
21:56 pmichaud I never looked at it closely.  By the time I started in 2004 it had already bitrotted and I was advised only to look at it for general ideas.
21:56 pmichaud so no, I don't think I ever ran it.  Or if I did, it was just once and it wasn't successful.
21:57 cognominal when rakudo got its on repository?
21:57 dmol joined #perl6
21:57 pmichaud rakudo got its name in January 2008.
21:57 cognominal * own
21:57 pmichaud Rakudo got its own repository in January 2009.
21:57 masak maybe I downloaded a too-late Parrot...
21:58 Teratogen instead of just-in-time parrot?
21:58 pmichaud JIT support in Parrot was removed a long time ago :-) :-) :-)
21:59 masak "ouch."
21:59 masak :)
22:00 cognominal pugs got me interested in haskell which was a good thing.
22:00 pmichaud yapc::na was a huge amount of fun, but once again I return from a conference with a icky cold :-(
22:01 sorear you too?
22:01 shachaf_ joined #perl6
22:01 shachaf_ joined #perl6
22:01 pmichaud yeah.
22:01 diakopter pmichaud: me too
22:01 jnthn pmichaud: I had one too, but thankfully minor and cleared up mostly since I got back
22:01 diakopter jnthn: you gave it to me!!
22:01 diakopter (kidding)
22:01 sivoais joined #perl6
22:01 pmichaud saturday was sore-throat-oh-no day, sunday was icky day; yesterday and today have been "recovery"
22:02 diakopter I'm 1 day behind that
22:02 cognominal bad air conditionning?
22:02 diakopter ETOOMANYHUGBOTS
22:02 pmichaud cognominal: more likely simply the result of having so many people from so many places in one place
22:02 * masak didn't catch a cold
22:02 jnthn masak: You left early :P
22:03 pmichaud I left only about 16 hours after masak  :-P
22:03 jnthn Clearly that made all the difference! :P
22:03 pmichaud cognominal: it's like at my kids' school, where the colds spread like wildfire in the first few weeks after school starts
22:04 pmichaud kids go away to exotic locales with their families, come back, give it to everyone else in the classroom, who then take it home to their parents and sibilings :)
22:04 tgt joined #perl6
22:04 lue .oO(It's not flu and cold season because of the weather. It's the schools!)
22:04 census2 pmichaud++
22:05 diakopter oh noes! there's *another* census!??!
22:05 benabik I put my kid in daycare and I don't remember the last time I was sick this often.
22:05 pmichaud oh, there's a secondary cold/flu season that shows up in mid-winter here... but there's definitely a late-summer season
22:05 masak diakopter: *lol*
22:05 pmichaud I have to depart.
22:05 census2 diakopter hahahh
22:06 pmichaud diakopter: there's generally a new census every 10 years... so I think we're overdue.
22:06 census2 diakopter: desktop and laptop
22:06 pmichaud bbtomorrow
22:06 diakopter o/
22:06 census2 hhahahah pmichaud
22:06 masak pmichaud: \o
22:06 cognominal europeans got the bad habits to bring all sort of plagues in North America. Freud even bragued about it, but that was a different one, psychanalysis but american retaliated by making it unreconizable.
22:06 census2 cognominal: hahah now you are going to back to the colonial era, huh?  when the european colonists got the native americans ill?
22:07 cognominal yes
22:09 cognominal america is so weird for european. The last crime they are commiting is stuffing donuts with foie gras.
22:10 diakopter jnthn: one of your talks is online
22:10 jnthn diakopter: ?
22:10 jnthn diakopter: oh, video?
22:10 diakopter http://www.youtube.com/watch?v=7nISwfLoAoU
22:10 cognominal http://www.huffingtonpost.com/2013/06/10/foie​-gras-donut_n_3417059.html?ir=Small+Business
22:10 diakopter hobbs++
22:10 census2 foie gras!  that is nuts
22:11 census2 but america is weird for most things non-american
22:11 census2 or many i should say
22:11 cognominal that's a thing to receive death threats from both continents :)   from animal activists on the US and french for the culinary crime.
22:13 cognominal diakopter: thx for the link
22:15 jeff_s1 joined #perl6
22:21 xilo joined #perl6
22:22 FROGGS the sound is surprisingly goo
22:22 FROGGS d
22:31 BenGoldberg joined #perl6
22:34 BenGoldberg joined #perl6
22:34 groky joined #perl6
22:41 BooK joined #perl6
22:41 shinobicl joined #perl6
22:45 Util joined #perl6
22:45 tadzik joined #perl6
22:52 jnthn 'night, #perl6
22:52 arlinius joined #perl6
22:53 FROGGS gnight jnthn
22:57 * diakopter just watched jnthn's talk
22:58 masak 'night, #perl6
22:58 sorear diakopter: which?
22:59 diakopter the one online,linked above
22:59 diakopter FROGGS: hobbs++ fixing the sound
23:00 FROGGS cool
23:01 FROGGS hobbs++ # good work
23:05 sorear am I to suppose that all of the talks will eventually be posted on user/yapcna, and seven have been posted so far?
23:05 diakopter right.
23:06 sorear hobbs++ indeed
23:06 diakopter well, a couple were unfortunately botched while recording
23:06 diakopter 1 nine is pretty good, though! ;)
23:07 sorear "1 nine" ?
23:07 diakopter as in.. "5 nines"
23:07 diakopter (99.999%)
23:07 sorear ah
23:07 tomyan joined #perl6
23:08 sorear well, ISTR that frankfurt was only able to afford recording equipment for half the rooms
23:08 sorear so austin is already far exceeding my expectations
23:09 diakopter also unfortunately (probably) I ran out of time to prove out the picture-in-picture setup where the slides would get the main screen and speaker gets 1/16
23:11 diakopter the only non-trivial cord/connection it would've required would be two 50 ft VGA cables (over ethernet with amplifiers) and 2 100 ft ones for the bigger rooms
23:13 * sorear thought that we had 1 large room and 3 identical small rooms
23:14 diakopter TCC 1.110 was a bigger room, but had smaller capacity than floors 2 and 3
23:14 [Coke] (hugbots at conventions) gah, no touchee.
23:21 stevan_ joined #perl6
23:41 [Coke] jnthn: I fixed the partcl build so it should work out of the box on windows.
23:46 [Coke] sadly, I think "puts" is the only thing that works right now. :)
23:46 diakopter yeah, didn't I see someone commented out all the rest of the commands? :)
23:49 [Coke] I might have done that months ago the last time I was trying to get things to work, aye.
23:50 sorear does pm also have a tcl-on-nqp?
23:50 [Coke] ugh. dealing with a generated file sucks. need a way to jump from that to the original file.
23:51 [Coke] no.
23:51 [Coke] he was a big help in the original nqp-rx version.
23:51 [Coke] ISTR I bug a lot of people here to get the nqp one started a year ago before I stalled out.
23:51 shinobicl hello
23:51 shinobicl rakudo: my $x = 5; (0..$x).map(($x ** *)/*!).say;
23:51 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Negation metaoperator not followed by valid infixâ�¤at /tmp/xKYtyquNkz:1â�¤------> [32mmy $x = 5; (0..$x).map(($x ** *)/*![33mâ��[31m).say;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤Â»â€¦
23:52 shinobicl rakudo: my $x = 5; (0..$x).map(($x ** *)).say;
23:52 camelia rakudo b2072f: OUTPUT«1 5 25 125 625 3125␤»
23:52 shinobicl well this looks ok, is what i expected
23:52 shinobicl but when i add this factorial operator...
23:52 shinobicl rakudo: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** *)/*!).say;
23:52 camelia rakudo b2072f: OUTPUT«1 4.166667 5.208333␤»
23:53 shinobicl my list only has 3 elements...
23:54 shinobicl why is that? i don't understand.
23:54 lue r: say (0..5).map: {say *; say *}
23:54 camelia rakudo b2072f: OUTPUT«*␤*␤*␤*␤*␤*␤*␤*␤*␤*␤*␤*␤True True True True True True␤»
23:54 diakopter n: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** *)/*!).say;
23:54 camelia niecza v24-75-g480a062: OUTPUT«1 4.166667 5.208333␤»
23:55 diakopter well, niecza agrees
23:55 lue r: say (0..5).map(*+*)
23:55 camelia rakudo b2072f: OUTPUT«1 5 9␤»
23:55 diakopter n: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** *)/(*!)).say;
23:55 camelia niecza v24-75-g480a062: OUTPUT«1 4.166667 5.208333␤»
23:55 lue each * is taking the next element from the list, which is why you get just three elements (0..5 has 6 elements)
23:56 lue r: sub postfix:<!> { [*] 1..$^n }; my $x = 4; (0..$x).map(($x ** *)/(*!)).say;
23:56 camelia rakudo b2072f: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in block  at /tmp/ig6JTN6iX8:1␤␤»
23:56 shinobicl ahhhh ok... so i use 2 elements in each call
23:56 diakopter rn: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** ($=*))/$!).say;
23:56 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤Non-declarative sigil is missing its nameâ�¤at /tmp/SfZ2LMyCkV:1â�¤------> [32m..$^n }; my $x = 5; (0..$x).map(($x ** ([33mâ��[31m$=*))/$!).say;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤â€¦
23:56 camelia ..niecza v24-75-g480a062: OUTPUT«[31m===[0mSORRY![31m​===[0mâ�¤â�¤Non-declarative sigil is missing its name at /tmp/SnP0m_tCwn line 1:â�¤------> [32m..$^n }; my $x = 5; (0..$x).map(($x ** ([33mâ��[31m$=*))/$!).say;[0mâ�¤â�¤Confused at /tmp/SnP0m_tCwn line 1:â�¤------> [32m..$^n }; my $x = 5; (0…
23:56 diakopter rn: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** (my$=*))/$!).say;
23:56 lue r: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map({($x ** $^a)/$^a!}).say;
23:56 camelia niecza v24-75-g480a062: OUTPUT«Potential difficulties:â�¤  &postfix:<!> is declared but not used at /tmp/YIW18rkIlp line 1:â�¤------> [32msub postfix:<!> [33mâ��[31m{ [*] 1..$^n }; my $x = 5; (0..$x).map(([0mâ�¤â�¤Unhandled exception: Cannot use value like Whatever as a numberâ�¤  at <unknown> …
23:56 camelia ..rakudo b2072f: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤  in method Numeric at src/gen/CORE.setting:865␤  in sub infix:<**> at src/gen/CORE.setting:3083␤  in sub infix:<**> at src/gen/CORE.setting:3081␤  in block  at /tmp/05vGPt6JuH:1␤␤»…
23:56 camelia rakudo b2072f: OUTPUT«1 5 12.5 20.833333 26.041667 26.041667␤»
23:57 lue r: sub postfix:<!> { [*] 1..$^n }; my $x = 5; say (0..$x).map: {($x ** $^a)/$^a!}; # more readable form of what I just ran
23:57 camelia rakudo b2072f: OUTPUT«1 5 12.5 20.833333 26.041667 26.041667␤»
23:57 shinobicl r: sub postfix:<!> { [*] 1..$^n }; my $x = 5; my @r = (0..$x).map({($x ** $^a)/$^a!}); say [+]@r;
23:57 camelia rakudo b2072f: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/O2piKHxgTM:1â�¤------> [32m(0..$x).map({($x ** $^a)/$^a!}); say [+][33mâ��[31m@r;[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        stat…
23:57 [Coke] nqp question: I'm trying to call HLL::Actions::string_to_int, but it's giving me an NQPMu error. top of the file has "use NQPHLL;". any pointers?
23:57 lue r: sub postfix:<!> { [*] 1..$^n }; my $x = 5; my @r = (0..$x).map({($x ** $^a)/$^a!}); say [+] @r;
23:57 camelia rakudo b2072f: OUTPUT«91.416667␤»
23:58 shinobicl the idea is to implement this http://keisan.casio.com/exec/system/1223447896
23:59 [Coke] nqp: use NQPHLL; HLL::Actions::string_to_int("234");
23:59 camelia nqp: OUTPUT«invoke() not implemented in class 'NQPMu'␤current instr.: '' pc 149 ((file unknown):161475578) (/tmp/hG0AaLMFyc:1)␤»
23:59 lue You just needed a space between the [+] and @r in the last one.

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

Perl 6 | Reference Documentation | Rakudo