»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by moritz on 3 May 2013. |
|||
colomon seems to have broken roast on rakudo. :( | 00:03 | ||
FROGGS | unbreak it :o) | 00:04 | |
colomon | okay, a969a24df9b74bdf0c12882a3a8ca4f2200be503 is good | ||
I think 1b0e1499bcb81605cd8f44134ada0505cedebb43 is bad | 00:06 | ||
5a130781d8f97d241e5f3971b8b70c0e4cfbe872 is bad | |||
so I guess 1b0e1499bcb81605cd8f44134ada0505cedebb43 is the problem. | |||
colomon is going through keybag.t by hand, deleting tests and seeing if things run afterward. | 00:09 | ||
00:14
arlinius left
00:17
cognominal left,
cognominal joined
|
|||
colomon is thoroughly puzzled here | 00:22 | ||
oh, I think I have it. | 00:24 | ||
let's see | |||
the problem seems to be that I fudged a block that already had a fudge in it. | 00:26 | ||
diakopter | double fudge. | 00:27 | |
colomon | apparent result is putting the fudging program into an infinite loop | ||
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" | ||
I always regret not stopping and trying it out | |||
dalek | ast: e669cdf | (Solomon Foster)++ | S02-types/keybag.t: Try this new fudging for Rakudo. |
00:30 | |
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. | ||
sorear: apparently not. | |||
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 | ||
00:32
lue left
|
|||
FROGGS | it fudges all at once | 00:32 | |
dalek | ast: d9c98ad | (Solomon Foster)++ | S02-types/keybag.t: Change one more Rakudo fudge to skip. |
00:33 | |
00:37
benabik joined
00:38
athomason left
00:43
arlinius joined
00:44
fgomez left
00:45
lue joined
00:54
rurban joined
00:59
rurban left
01:06
fgomez joined
01:08
wbill joined
01:10
FROGGS_ joined
01:14
FROGGS left
01:19
RedditAnalytics joined
01:22
shachaf joined
01:54
rurban joined
01:59
rurban left
|
|||
lue doesn't immediately grasp the point of .tree | 02:16 | ||
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» | ||
sorear | r: say (1..10 Z, 2..11).tree | ||
camelia | rakudo b2072f: OUTPUT«1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11» | ||
sorear | r: say (1..10 Z 2..11).tree.perl | ||
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» | ||
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:21 | |
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:22 | |
lue | or perhaps it's rakudo's fault that $parcel.tree(*.Seq) doesn't work. | 02:23 | |
r: say (1, (2,3)).tree(*.Seq) | |||
camelia | rakudo b2072f: OUTPUT«No such method 'Seq' for invocant of type 'Int' in block at /tmp/2q1UsAy3gH:1» | ||
lue | std: say (1, (2,3)).tree(*.Seq) | 02:24 | |
camelia | std 6348f35: OUTPUT«ok 00:00 44m» | ||
lue | Am I right in thinking that .tree(*.Seq) should work as advertised, only there's a rakudobug in the way here? | 02:26 | |
02:35
mrallen1 joined
|
|||
colomon | r: (1, (2, 3)).tree(*.say) | 02:37 | |
camelia | rakudo b2072f: OUTPUT«12 3» | ||
colomon | r: (1, (2, 3)).tree(*.say, *.say) | ||
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» | ||
colomon | I don't think Rakudo's tree is all there yet.... | ||
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 | ||
*works | 02:40 | ||
dalek | ecs: 5faf896 | lue++ | S02-bits.pod: [S02] Small clarification about method .tree Make it clear that the phrase "level-sensitive map" refers to the specific C<map> function/method, as opposed to some general concept of a map. |
02:44 | |
02:49
prevost joined
02:51
SamuraiJack joined
|
|||
RedditAnalytics | you all get a million dollar bonus if you finish by Christmas | 02:53 | |
keep up the fine work | |||
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 | ||
so you need to be more explicit about the success condition | |||
02:55
rurban joined
|
|||
labster | I'll finish my patch by Christmas, since spectests arent' infinite looping any more | 02:55 | |
This, of course depends on how you define "done" though. I'd say that currently we're somewhere around medium rare. | 02:59 | ||
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» | ||
labster | my code is LTA. | ||
03:02
rurban left
03:04
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex left
03:05
preflex_ is now known as preflex
|
|||
RedditAnalytics | I'll consider it done when the Specs for Perl 7 are announced | 03:40 | |
or when it's faster than perl5 *grin* | 03:42 | ||
03:43
atroxaper joined
03:45
ldthien0 joined
03:53
ldthien0 left
|
|||
labster | Perl 7 will have neural-DWIM support, and right-afterwards compilation by using the tachyon processors. | 03:53 | |
RedditAnalytics | i like tachyons | 03:58 | |
labster | they move really fast | ||
RedditAnalytics | The bartender says, "We don't serve your kind here." | 03:59 | |
A tachyon walks into a bar. | |||
03:59
rurban joined
|
|||
labster | XD | 03:59 | |
04:02
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex left,
preflex_ is now known as preflex
04:03
rurban left
04:07
Khisanth left
04:21
Khisanth joined
04:27
Psyche^ joined
04:31
Patterner left,
Psyche^ is now known as Patterner
04:35
xinming_ left
04:39
Tsuki-san joined
04:40
Tsuki-san left
|
|||
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:42 | |
ah! zavolaj -- that looks to be it | 04:45 | ||
04:46
arlinius left
04:47
MrMeek joined
04:55
birdwindupbird joined,
zby_home_ joined
04:56
ldthien0 joined
04:59
rurban joined
05:04
rurban left
05:15
arlinius joined,
mrallen1 left
05:16
ponbiki_ left
05:18
ponbiki joined,
ponbiki is now known as Guest85037
05:19
dmol joined
05:21
takesako_____ left,
takesako_____ joined
|
|||
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:26 | |
05:26
takesako_____ left
05:29
ldthien0 left
05:30
takesako_____ joined
05:31
ldthien0 joined
|
|||
moritz | breinbaas: no, it doesn't know about them | 05:33 | |
breinbaas: you have to supply them yourself with $*ENV<PG_USER> or whatever | |||
breinbaas | ah thanks, that's a good workaround | 05:34 | |
moritz | currently DBIish is a rather thin wrapper around the C API | 05:36 | |
05:37
dmol left
|
|||
breinbaas | yeah, looking at Pg.pm6 I see the libpq calls | 05:38 | |
sorear | good, moritz is up | 05:54 | |
welcome to #perl6! sorry I can't be more help with DBIish | 05:55 | ||
05:55
prevost left
|
|||
breinbaas | I got it going, thanks :) | 05:58 | |
06:00
rurban joined
06:04
rurban left
06:06
Guest85037 left
06:15
ponbiki_ joined
06:25
ldthien0 left
|
|||
diakopter | doing open source is easy! you just click the green merge pull request button all day! | 06:28 | |
( JimmyZ++ ) | |||
06:31
ldthien0 joined
|
|||
sorear | hmm, ENOJIMMYZ | 06:32 | |
06:33
FROGGS_ left,
kaleem joined
06:41
zby_home_ left
|
|||
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:42 | |
(I'm the maintainer of that stuff) | 06:43 | ||
sorear | o/ arnsholt | ||
06:43
ldthien0 left
|
|||
arnsholt | Hey sorear | 06:43 | |
06:44
ldthien0 joined
06:48
FROGGS joined
|
|||
sorear | o/ FROGGS | 06:49 | |
FROGGS | morning sorear | 06:51 | |
06:59
domidumont joined
07:00
rurban joined
07:04
ldthien0 left
07:07
rurban left
07:10
birdwindupbird left
07:28
Stygia left
07:33
domidumont left
07:34
domidumont joined
07:35
sqirrel joined
07:36
kresike joined
|
|||
kresike | hello all you happy perl6 people | 07:36 | |
FROGGS | hi kresike | 07:38 | |
kresike | FROGGS, o/ | ||
diakopter | any professional designers (paid to do visual graphics/layout/art/design) around? looking for Perl-related work? | 07:39 | |
labster | good morning | ||
diakopter | labster: howdy :) | ||
labster | not a graphic designer, sorry | ||
but howdy! | |||
rn: try X::NYI.new(feature=>'foo').fail | |||
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… | ||
..niecza v24-72-g3cebbf8: ( no output ) | |||
FROGGS | diakopter: friends of mine do that professionally... | 07:40 | |
diakopter | FROGGS: are they expensive? :) | ||
labster | rn: try X::NYI.new(feature=>'foo').throw | ||
camelia | rakudo b2072f, niecza v24-72-g3cebbf8: ( no output ) | ||
FROGGS | hmmm, dont think so, but they need to get paid :o) | ||
labster | wait, so try throws a failure? | ||
sorear | fail doesn't throw an exception | 07:44 | |
07:44
birdwindupbird joined
|
|||
sorear | it returns a Failure object | 07:44 | |
which dies in sink context | 07:45 | ||
try evaluates .fail and (since no exception was thrown) returns the value that .fail returned | |||
which doesn't become an exception until just outside the scope of the try | |||
one more reason why I think Failure is a mistake | |||
labster | Okay, I see why this is happening... but it still feels wrong. | ||
sorear | but I digress | ||
labster | Failure is a mistake by definition :) | 07:46 | |
sorear | you could stick a .sink on the end to force it to die early enough for try to notice | 07:47 | |
labster | Well, I could, but the whole point of try blocks is to catch errors, not to cause them to pass through. | 07:49 | |
07:49
thou left
|
|||
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 | |
okay, so this is a rakudobug | |||
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… | ||
..niecza v24-72-g3cebbf8: ( no output ) | |||
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… | ||
..niecza v24-72-g3cebbf8: ( no output ) | |||
labster | rn: try { X::NYI.new(feature=>'foo').fail.sink } | ||
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… | ||
..niecza v24-72-g3cebbf8: ( no output ) | |||
07:54
aindilis left
|
|||
sorear | rn: X::NYI.new(feature => 'foo') # labster: note that niecza does not do any better | 07:54 | |
camelia | rakudo b2072f: ( no output ) | ||
..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… | |||
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:55 | |
labster | Ah, I see. I was hoping your code was super-awesome, but it's just awesome. | 07:57 | |
labster files rakudobug | 08:00 | ||
moritz | what's the bug? | 08:01 | |
oh, try not propagating sink context? | |||
labster | sink context doesn't propagate inside the try | ||
unless that's known already | |||
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» | ||
moritz | labster: the real problem is much deeper | 08:03 | |
labster: TimToady seems to want/think that sink context propagates inwards, but it doesn't in rakudo | |||
labster | I had a feeling that context going inwards was an issue. | ||
moritz | example: sub f() { try }; say f(); f(); 42 | ||
08:04
rurban joined
|
|||
moritz | here the try is in non-sink context once, and in sink context once | 08:04 | |
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 | |||
so the .sink call happens at the site where the f() call happens, and that's too late | 08:05 | ||
the problem is that not all architectures make it easy to sneak in an extra bit for the sink context in calls | |||
labster | r: try { sink fail("foo") } | ||
camelia | rakudo b2072f: OUTPUT«foocurrent 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… | ||
sorear remains unconvinced that Failure has *any* redeeming value | 08:06 | ||
moritz | labster: note that fail() aborts the current function | 08:07 | |
labster | oh, right | ||
moritz | labster: so its behavior will always be weird when you execute it outside a routine | ||
sorear: me too | |||
labster | Excluding that issue, my naive expectation is that try should catch thrown exceptions as well as failures. | 08:08 | |
08:08
ldthien0 joined,
rurban left
|
|||
labster | rather than trying to get context to propagate inwards | 08:08 | |
dalek | kudo/nom: 33c5e82 | (Brent Laabs)++ | src/core/terms.pm: change $*CWD and $*TMPDIR to IO::Path objects |
08:11 | |
moritz | labster: so you'd expect my $x = try ...; to never, ever put a Failure into $x? | 08:13 | |
labster | Yes, exactly. | 08:14 | |
sorear | or at least set $!handled | 08:15 | |
08:15
ldthien0 left
|
|||
labster | That could work too. I just think that anyone using a try block will expect that errors won't come through. | 08:16 | |
setting $!handled might make more sense. | |||
08:16
ldthien0 joined
08:28
xdbr joined
08:29
census left
08:30
xdbr left
|
|||
dalek | ast: bc1a8f1 | (Brent Laabs)++ | S32-io/io-path (4 files): make $*CWD stringy, since it's now already a path |
08:30 | |
08:49
dakkar joined
08:56
spider-mario joined
08:57
Stygia joined
09:04
rurban joined
09:05
daxim joined
09:06
fhelmberger joined
09:09
rurban left,
ldthien0 left
|
|||
dalek | ecs: ced138f | labster++ | S (2 files): add $*TMPDIR to S16; update S28 to distinguish IO::Handle/IO::Path |
09:11 | |
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
|
|||
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:28
Rix left
09:31
wbill left
09:33
Rix joined
|
|||
sorear | .ask jnthn What does noa stand for? | 09:37 | |
yoleaux | sorear: I'll pass your message to jnthn. | ||
09:50
Guest1337 joined
09:58
jerome__ left
10:01
rindolf joined
10:05
Stygia left,
rurban joined
10:06
arlinius left
10:10
rurban left,
Guest1337 left
10:11
jerome__ joined
|
|||
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? | ||
09:22Z <sorear> jnthn: How is spilling handled for the InDy in the compilation of nqp::chain? | |||
09:37Z <sorear> jnthn: What does noa stand for? | |||
spider-mario | noon here | ||
jnthn | Beating jet-lag FAIL :) | 10:19 | |
10:21
_jaldhar joined
|
|||
FROGGS | hi jnthn | 10:23 | |
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. | ||
jnthn | .tell sorear The lack of spilling in nqp::chain appears to be an oversight on my part. It should spill. | 10:26 | |
yoleaux | jnthn: I'll pass your message to sorear. | ||
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. | ||
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:26Z <jnthn> sorear: The lack of spilling in nqp::chain appears to be an oversight on my part. It should spill. | |||
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:33
cognominal left
10:34
cognominal joined
10:35
jaldhar_ joined,
_jaldhar left
10:36
imIKARi left
|
|||
masak | good afternoon, #perl6 | 10:38 | |
FROGGS | masak o/ | ||
nwc10 | afternoon is the new morning? | 10:39 | |
masak | if you're recently back from the US, apparently. | ||
colomon | \o | 10:40 | |
jnthn | heh, at least it ain't just me... :) | ||
10:40
fgomez left
|
|||
masak | my plan for today: $dayjob, then dive into the t3 reviews! | 10:40 | |
FROGGS | I had no problems except last sunday... | ||
sorear | o/ masak | 10:41 | |
10:51
arlinius joined
10:52
benabik left
|
|||
masak | TIL that rock-paper-scissors can be seen as a commutative but non-associative magma: en.wikipedia.org/wiki/Example_of_a...tive_magma | 10:58 | |
sorear | nqp syntax error messages: still confuse me | ||
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 | ||
what would really help? #line, and support in the concatenator. :p | 11:00 | ||
jnthn usually finds line numbers in nqp errors... | |||
masak: I knew magma contained (molten) rock, but not paper and scissors... | 11:01 | ||
11:01
atroxaper left
|
|||
masak | jnthn: hehe. | 11:02 | |
sorear | masak: My favorite example of a commutative but non-associative magma is floating point addition. *ducks* | 11:03 | |
masak | sorear: :D | ||
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 | ||
in other words, "anything goes". | |||
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 | ||
masak | except rock-paper-scissors! | 11:06 | |
11:06
rurban joined
|
|||
daxim | .u raised fist | 11:07 | |
yoleaux | U+270A RAISED FIST [So] (✊) | ||
daxim | you only lol once. | 11:08 | |
11:08
census joined
11:09
gudahtt left,
gudahtt joined
11:11
rurban left
11:18
huf left
|
|||
sorear | oh, I guess JVM doesn't do the CLR thing where all frame locals are initialized to null or zero... | 11:19 | |
jnthn | No, it gets unhappy if something doesn't initialize it before first read, iirc | 11:20 | |
sorear | yech | 11:21 | |
jnthn | Yes, that was my reaction too | 11:22 | |
nwc10 | unhappy in the "C" sense, or the valgrind sense? | ||
11:22
huf joined
|
|||
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? | ||
C is for Chthulu | |||
masak | :P | ||
nwc10 | I'm surprised that there isn't a Sesame Street parody | ||
but yes, I was thinking in terms of "Nasal Daemons", but "Older One" is probably viable too | |||
jnthn | nwc10: Explodes on first read, iirc | 11:24 | |
With a nice confusing error about registers, iirc. | |||
11:24
Stygia joined
|
|||
sorear | nwc10: does a definite assignment analysis and throws a java.lang.VerifyError if the definite assignment fails | 11:25 | |
at method JIT time | |||
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" | ||
jnthn | :) | ||
I think it tends to interpret, then decides if it's hot or not, and JITs appropriately... | |||
sorear | yeah, first execution | 11:29 | |
11:34
mikemol left
|
|||
sorear adds code to initialize locals at the beginning of a method | 11:37 | ||
11:38
ldthien0 joined
11:39
sqirrel left
11:40
ldthien0 left
|
|||
sorear | ...block methods aren't static?! | 11:42 | |
masak | sorear: they are if they have 'static' before them. | ||
sorear: you're right about magmas being useless. I will focus on semigroups and quasigroups instead. | 11:43 | ||
moritz | what is a block method? | ||
sorear | qb_NNN | ||
jnthn | sorear: No, they call stuff inherited from CompilationUnit, for example. | 11:46 | |
diakopter | sorear: whoa it's 4:45 | ||
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. | ||
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. | ||
diakopter: whoa it's 4:45 where you are too :P | |||
diakopter | D: | 11:48 | |
I mean | |||
:D | |||
11:52
ldthien0 joined
11:53
atroxaper joined,
JimmyZ joined
|
|||
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! en.wikipedia.org/wiki/Field_with_one_element | 11:54 | |
sorear | more like "this object cannot exist, unless you fudge the definitions, which is occasionally useful" | 11:56 | |
masak | oh, I'm all for that. | 11:57 | |
sorear | o/ JimmyZ | ||
JimmyZ | good evening | 11:58 | |
11:59
ldthien0 left
|
|||
moritz | \o JimmyZ | 12:01 | |
JimmyZ: nice work on moarvm so far! | |||
jnthn | Indeed. JimmyZ++ | 12:02 | |
JimmyZ | moritz: thanks, you want -Ofun on bigint ops again? ;) | ||
moritz | JimmyZ: I don't have much hacking time currently; feel free to do them if you want | ||
JimmyZ: I might get around to them eventually, or might not. Who knows? | 12:03 | ||
JimmyZ | moritz: :) | ||
speak of JIT, the luajit guys are crazy | |||
diakopter | guy? | ||
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? | ||
nwc10 | can people other than the original author fix bugs in it? | ||
JimmyZ | luajit.org/dynasm.html | 12:05 | |
12:07
rurban joined
12:11
rurban left
|
|||
sorear | maybe I'll get the compile unbroken before morning | 12:16 | |
FROGGS | iehhhh | 12:18 | |
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 :-) | ||
dalek | : d6553bc | (Tobias Leich)++ | / (4 files): better support for indirect object syntax (at least a bit) |
||
FROGGS | nwc10: but <?before 'morning'> has no length | 12:21 | |
12:22
benabik joined
|
|||
dalek | p: 6213c10 | sorear++ | src/vm/jvm/ (4 files): Add code generator support for SaveStackException handling. |
12:25 | |
sorear | well, it passes tests | 12:26 | |
sleep& | |||
FROGGS | gnight sorear | 12:29 | |
jnthn | 'night, sorear++ | ||
.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
|
|||
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,
ajr is now known as Guest51077
12:56
odoacre_ left
13:02
Guest51077 is now known as ajr_
13:07
isBEKaml joined
|
|||
nwc10 | how many of the core Perl 5 tests is v5 being run against? just the tests below t? ie t/*/*.t ? | 13:08 | |
13:08
konundra joined
13:09
JimmyZ left
|
|||
FROGGS | nwc10: no, there is a roast5 repo too | 13:09 | |
13:09
skids left
13:10
JimmyZ joined
|
|||
FROGGS | nwc10: the tests in the rakudo-p5/v5 repo are from perlito | 13:10 | |
nwc10 | aha | 13:11 | |
13:12
PacoAir joined
13:13
abnorman left
13:17
isBEKaml left
13:18
ldthien0 joined
13:29
ldthien0 left
13:31
crab2313 left
13:32
Stygia left
13:33
ldthien0 joined
13:37
alester joined
13:42
bluescreen10 joined,
thou joined
13:44
kaare_ joined
13:45
rurban joined
13:55
JimmyZ left
13:57
rurban left
|
|||
PerlJam | good $localtime | 13:59 | |
nwc10 | for some, $localtime appears to be a junction, (no) thanks to jetlag | ||
colomon | \o | 14:00 | |
14:03
stevan__ left
|
|||
[Coke] | jnthn: Any chance I could bum a few cycles off you to help me get partcl building again? | 14:06 | |
(stuck on an esoteric NQP error) | |||
14:06
sqirrel joined
|
|||
FROGGS | [Coke]: do you have a paste? | 14:07 | |
[Coke] | gist.github.com/anonymous/5757131 | 14:08 | |
14:09
kaleem left
|
|||
[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 | ||
[Coke] | FROGGS++ | ||
14:11
domidumont left,
domidumont joined
|
|||
FROGGS | hmmm, is this kungfu still needed? github.com/partcl/partcl-nqp/blob/...Partcl.pir | 14:12 | |
14:12
btyler joined,
xilo left
|
|||
jnthn | Is Partcl.pm a generated file? | 14:13 | |
[Coke] | jnthn: Aye. | ||
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. | ||
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. :) | |||
FROGGS: but it looks like that particular file might be used, aye. | 14:15 | ||
when parcl-nqp is running on top of nqp, next step is to remove any Q:PIR or .pir | |||
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. | ||
PerlJam | [Coke]++ (herculean effort keeping partcl alive :) | ||
14:17
lizmat joined
|
|||
jnthn | [Coke]: It's not immediately obvious to me what's the trigger for that error... | 14:17 | |
(just looking through the source) | |||
[Coke] | Eh, I've ignored it for a year, which is why I'm kind of stumped at this point. | ||
lizmat | greetings from Echt! | ||
[Coke] | looking at the nqp source, you mean? | ||
diakopter | lizmat: you made it! | 14:18 | |
jnthn | oh wow, it uses the P6metaclass stuff too :) | ||
FROGGS | lizmat: o/ | 14:19 | |
lizmat | finally, after being on the road for 47 hours (door to door) | ||
[Coke] | jnthn: perhaps this effort is too old to rescue. :| | ||
14:20
ldthien0 left
|
|||
jnthn | lizmat: ouch! Welcome back. | 14:21 | |
[Coke]: Well, just ran Configure.pl and it mentions checking Parrot out of SVN when I try to give it a --parrot-config option... | |||
lizmat | note to self: put United lower on the list of accceptable airlines | 14:22 | |
[Coke] | jnthn: what branch are you on? | ||
jnthn | master...what branch should I be on? | ||
[Coke] | nqp2 | ||
apologies. | |||
jnthn | oops, I probalby didn't read | 14:23 | |
[Coke] | master was the original nqp-rx work. | ||
jnthn | <- not very clever today | ||
[Coke] | which as you've noticed is a smidge old. :) | ||
jnthn | oops | ||
'cat' is not recognized as an internal or external command, | |||
operable program or batch file. | |||
:) | |||
At least I got to make, though :) | |||
[Coke] | FROGGS: that file you mentioned was on master, wasn't it. so it's not used anymore either. | ||
jnthn: oops. need to write some makemaker utils for nqp. | 14:24 | ||
(did you replace them all with "type" ?) | |||
jnthn | I s/cat/type/ but now think it dislikes the >> | ||
FROGGS | [Coke]: true | ||
jnthn | oh no, forward slahes | 14:25 | |
FROGGS | *g* | ||
[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... | ||
[Coke]: Adding this to the end of the Makefile.in: | 14:29 | ||
# nqp::makefile <-- tells NQP::Configure to treat this file as a makefile, | |||
# performing win32 slash and makefile conversions | |||
helps fix slashes | |||
cat and echo are still problematic. | |||
echo because on Windows it doesn't know what to do with the quotes so spits them right into the file | |||
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. | ||
FROGGS | and git doesnt ship it? | ||
see ya | 14:31 | ||
jnthn | Commenting out "use src::Partcl::commands;" makes the build finish | ||
14:32
ldthien0 joined
|
|||
[Coke] | jnthn: ok, that narrows it down. Thanks. | 14:32 | |
presumably one of those files includes something already included. | |||
14:34
xilo joined
|
|||
jnthn | I think it's probably that things muddle with objects along different load paths | 14:35 | |
[Coke] | I don't understand. | 14:36 | |
(I also don't see a duplicate load atm) | |||
jnthn | [Coke]: gist.github.com/jnthn/5757345 | 14:37 | |
That seems to fix the build... | |||
14:37
FROGGS left
|
|||
jnthn | uh, modulo the echo/cat thing. | 14:37 | |
[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? | ||
jnthn | yes | ||
well, moving some code to happen at BEGIN time | |||
> 1 + 1 | |||
Method '1' not found for invocant of class 'Builtins' | |||
[Coke] | huh. (and it's for adding parrot vtable mappings, which obviously I want to get rid of) | ||
jnthn | hm :) | ||
14:41
skids joined
|
|||
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
|
|||
[Coke] | gist.github.com/coke/5757381 | 14:41 | |
but this seems like something I can track down. | 14:42 | ||
14:43
ajr joined,
ajr_ left
14:44
ajr is now known as Guest85301,
Guest85301 is now known as ajr_
|
|||
[Coke] | oh, I'm an idiot. I had still commented out the use you mentioned. :) | 14:45 | |
14:45
Khisanth left
|
|||
[Coke] | ./partcl -e 'puts 3' | 14:46 | |
3 | |||
moritz | \o/ | ||
[Coke] | jnthn++ jnthn++ jnthn++ jnthn++ jnthn++ | ||
nwc10 | this is partcl on NQP? | ||
[Coke] | yes. | ||
nwc10 | oooh. | ||
Does it work on the JVM yet? :-) | |||
nwc10 ducks | 14:47 | ||
JimmyZ | It will do ;) | ||
[Coke] | nwc10: ack -cl "pir|parrot" src | awk -F: '{ SUM += $2} END {print SUM}' | 14:48 | |
188 | |||
nwc10 | awk? heresy! | 14:49 | |
timotimo_ | what is parctl? | ||
nwc10 | a2p still works :-) | ||
[Coke] | timotimo_: partcl is "tcl on parrot" | ||
jnthn | [Coke]: Wow! | ||
[Coke] | ... but now it's on nqp instead. | ||
timotimo_ | oooh | ||
i see | |||
[Coke] | nwc10: muscle memory, sorry. | ||
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. | ||
[Coke] | nwc10: I would have used partcl to do it, but I have a slight bootstrapping problem. :P | 14:51 | |
also pmichaud++ as I suspect most of the working code in this version came from him a while back. | 14:53 | ||
PerlJam | [Coke]: what's the URL for the partcl repo? | 14:55 | |
[Coke] | partcl/partcl-nqp | 14:56 | |
PerlJam | ok | ||
[Coke] | partcl/partcl is the older PIR-only version. | ||
latest dev is currently on nqp2 branch; once I get it passing tests again, will merge it back. | |||
The version that's out there needs jnthn's patch. | |||
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)» | ||
[Coke] | nqp: my $a := Int.new(); say($a.HOW.methods()); | ||
camelia | nqp: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expectedcurrent instr.: 'methods' pc 12490 (src/stage2/gen/nqp-mo.pir:5677) (src/stage2/gen/nqp-mo.nqp:1233)» | ||
14:59
FROGGS joined
15:02
FROGGS left,
Khisanth joined
|
|||
moritz | nqp: my $a := Int.new(); say($a.HOW.methods($a)); | 15:03 | |
camelia | nqp: OUTPUT«10» | ||
moritz | that returns an RPA, which stringifies to the number of elements | ||
nqp: my $a := Int.new(); say(nqp::join(' ', $a.HOW.methods($a))); | |||
camelia | nqp: OUTPUT«get_string() not implemented in class 'NQPRoutine'current instr.: '' pc 125 ((file unknown):68) (/tmp/VEz6vYtVEA:1)» | ||
jnthn | I'm pretty sure NQP doesn't have an Int. :) | ||
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)» | ||
moritz | nqp: my $a := (class A { }).new(); say(nqp::join(' ', $a.HOW.methods($a))); | ||
camelia | nqp: OUTPUT«get_string() not implemented in class 'NQPRoutine'current instr.: '' pc 89 ((file unknown):52) (/tmp/EC5jmQrksI:1)» | ||
jnthn | sorear: Good news, your changes to JNQP didn't bust the Rakudo build :) | ||
15:04
domidumont left
|
|||
moritz | nqp: my $a := (class A { }).new(); say($a.HOW.methods($a)); | 15:04 | |
camelia | nqp: OUTPUT«10» | ||
moritz | probably just the methods from Mu | ||
15:04
FROGGS joined
|
|||
jnthn | Yeah, I think so | 15:04 | |
15:08
birdwindupbird left
|
|||
kresike | bye folks | 15:12 | |
15:12
kresike left,
rurban joined,
ldthien0 left
15:14
btyler left
15:22
rurban left
15:25
btyler joined
15:27
avarab is now known as AVAR
|
|||
nwc10 | I wasn't aware that Java is stupid enough to make the console input/output non-selectable: blog.headius.com/2013/06/the-pain-o...ocess.html | 15:27 | |
as ever, it's a good read | |||
15:27
AVAR is now known as avar
|
|||
daxim | blog.64p.org/entry/2013/06/11/211555 | 15:28 | |
15:29
stevan_ joined,
woolfy joined
|
|||
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 | ||
benabik | Whoops. | 15:32 | |
diakopter | benabik: okay, now I'm curious how you know that :P | 15:33 | |
benabik | diakopter: I've tried it. | ||
masak | "It's a good stuff I think." \o/ | ||
15:35
census left,
twigel left
15:37
tgt joined,
kaleem joined
|
|||
lizmat | French Perl workshop presentation on Saturday: journeesperl.fr/fpw2013/talk/4845 | 15:45 | |
now where did I see LuaJIT just now? | 15:46 | ||
I don't recall seeing fperrad around here | |||
masak | he doesn't tend to be around here. | 15:47 | |
lizmat | anyways, looks like I will be able to attend | ||
and hope I'll be able to make sense of a presentation in French :-) | 15:48 | ||
15:48
ajr_ left
15:49
konundra left
|
|||
masak .oO( faire sens du français, ce n'est pas cela dur ) | 15:50 | ||
daxim | n'est pas une perl6 | 15:51 | |
lizmat | ceci, peut-être un perl6 | ||
faire sens du francophones, c'est le plus dur | 15:52 | ||
masak | hehe | 15:54 | |
diakopter | benabik: yeah.. but did you make a conclusion or assessment? | 15:55 | |
benabik | diakopter: Of MoarVM? | 15:56 | |
diakopter | yeah | ||
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
|
|||
benabik | MoarVM hits most/all of the "things I would do to rewrite Parrot", so I'm fairly interested. | 15:58 | |
15:58
awwaiid_ left
|
|||
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 | |
but fairly interesting to tackle, imho | |||
15:59
awwaiid joined
|
|||
diakopter | er. | 16:00 | |
wrong filename. | |||
validation.c is the right one | |||
16:02
bluescreen10 left,
prevost joined,
GlitchMr left
|
|||
diakopter | anocelot: yo | 16:02 | |
16:03
takesako______ joined,
sergot_ joined
|
|||
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 | |
I know. issues with HALPME in the title. | |||
16:05
Ulti joined,
_jaldhar_ joined
16:07
gdey joined,
GlitchMr joined,
ponbiki joined,
ponbiki is now known as Guest21891
|
|||
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 | |
(so often what I'm searching for has a line break in it, for example) | |||
arnsholt | Indeed | ||
I've come across that occasionally while grepping in my TeX documents | 16:10 | ||
16:11
imIKARi joined,
takesako_____ left,
sergot left,
Ulti_ left,
RedditAnalytics left,
jaldhar_ left,
ponbiki_ left
16:13
GlitchMr left
|
|||
[Coke] | masak: stackoverflow.com/questions/784176/...ort-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. | ||
[Coke] | it's not quite what you asked for, but may still be helpful. \_.* == match any number of characters including newline. | ||
masak | [Coke]++ | 16:14 | |
16:15
salv0 left
|
|||
[Coke] | (which I never new until today.) | 16:15 | |
16:15
salv0 joined
|
|||
[Coke] | *knew | 16:15 | |
benabik | vim regexen are a little strange. | 16:17 | |
16:18
RedditAnalytics joined
|
|||
arnsholt | Yeah. There's a switch to go to Perl compatible syntax though, thankfully | 16:18 | |
masak | oh, nice | ||
arnsholt | \P IIRC | ||
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
s1n left
|
|||
timotimo_ | i want perl6 regex for my vim :3 | 16:19 | |
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
|
|||
arnsholt | Oh, I'm wrong. There is no such switch | 16:21 | |
arnsholt just looked it up | |||
I must've confused it with something else | |||
16:21
GlitchMr joined
|
|||
timotimo_ | maybe you're thinking of very-nomagic-mode? | 16:24 | |
16:24
snearch joined
|
|||
arnsholt | Yeah, might be | 16:25 | |
16:26
GlitchMr left,
domidumont joined
16:28
SamuraiJack left
16:29
kaleem left,
JimmyZ left,
JimmyZ joined
16:31
GlitchMr joined
|
|||
FROGGS | am I just a bit stupid or are p5's heredocs a pretty weird thing and hard to parse? | 16:33 | |
16:33
fgomez joined
|
|||
moritz | FROGGS: they are indeed pretty weird and hard to parse | 16:34 | |
daxim | but so useful for the programmer | ||
FROGGS | daxim: true | ||
moritz | FROGGS: rakudo took quite some time until it had heredoc support at all | ||
daxim | suck it, perl source parser | ||
FROGGS | moritz: but rakudo's syntax is much saner | ||
moritz | FROGGS: marginally | 16:35 | |
16:35
s1n joined
|
|||
FROGGS | do_something( <<OMG, 2, 3 );this is the first argOMG | 16:35 | |
16:35
JimmyZ left
|
|||
moritz | yes, p6 that supports that too | 16:35 | |
FROGGS | hmmm, mine explodes | 16:36 | |
moritz | but with q:to instead of <<OMG | ||
FROGGS | ahhh | ||
okay, cool | |||
so I can steal from it | |||
moritz++ | |||
moritz | r: say(q:to('foo'), 42);this is the first argfoo | ||
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␀␀␀ ␀␀␀fxE2 | ||
moritz | n: say(q:to('foo'), 42);this is the first argfoo | ||
camelia | niecza v24-72-g3cebbf8: OUTPUT«===SORRY!===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 2Unhandled exception: Check failed at | ||
../home/p6eval/niecza/bo… | |||
16:36
SamuraiJack joined
|
|||
FROGGS | it interpolates? | 16:37 | |
timotimo_ | q: shuldn't, should it? | ||
FROGGS | nr: say(q:to('foo'), 42);42.is-prime.sayfoo | ||
camelia | niecza v24-72-g3cebbf8: OUTPUT«===SORRY!===Two terms in a row (previous line missing its semicolon?) at /tmp/x_3qCvi_UP line 3:------> <BOL>⏏fooUndeclared routine: 'q:to('foo')' used at line 1Parse failed» | ||
..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␀␀␀ ␀␀␀ | |||
FROGGS | hmmm | ||
not very robust :P | 16:38 | ||
masak | r: say(q:to(/foo/), 42);42.is-prime.sayfoosay "OH HAI" | ||
camelia | rakudo b2072f: OUTPUT«===SORRY!===Invalid adverb value for :to(/foo/)at /tmp/5xQWNXSV3k:1------> say(q:to(/foo/)⏏, 42); expecting any of: postfix statement end statement modifier statement modifier loop»… | ||
masak | a regex is an invalid adverb value for :to ? | ||
masak hits the spec | |||
moritz | I think so | ||
S02-literals/quoting.t has a few examples of p6 heredocs | 16:39 | ||
jnthn | It'd better be :P | ||
masak | no, S02:4405 has examples of qq:to/END/ | ||
moritz | which isn't the same as :to(/END/) | ||
or is it? | |||
jnthn | Right, it's just using /.../ as the quoter. | ||
masak | oh! | ||
that's... confusing :/ | 16:40 | ||
jnthn | Then don't write it with that quoter :P | ||
FROGGS | r: say(q:to<foo> , 42);42.sayfoo | ||
camelia | rakudo b2072f: OUTPUT«42.say42» | ||
masak | then don't write SPEC which writes it with that quoter! | ||
jnthn | :P | ||
FROGGS | r: say(q:to('foo') , 42);42.sayfoo | ||
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␀␀␀ ␀␀␀fxE2 | ||
moritz | masak: I'm glad you have a commit bit :-) | ||
FROGGS | it doesnt like (' ') | ||
moritz | r: say(q:to("foo") , 42);42.sayfoo | 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␀␀␀ ␀␀␀fxE2 | ||
moritz | same problem, it seems | ||
masak | moritz: I won't make such a change before running it through TimToady. | ||
FROGGS | r: say(q:to"foo" , 42);42.sayfoo | ||
camelia | rakudo b2072f: OUTPUT«42.say42» | ||
FROGGS | O.o | ||
diakopter | wat. | 16:43 | |
16:44
stevan_ left
|
|||
jnthn | ...what's surprising? | 16:44 | |
[Coke] | r: say(q:to(foo), 42);42.sayfoo | ||
camelia | rakudo b2072f: OUTPUT«===SORRY!===Invalid adverb value for :to(foo)at /tmp/WU5_GK8llg:1------> say(q:to(foo)⏏, 42); expecting any of: argument list postfix statement end statement modifier statement modi… | ||
[Coke] | I'm assuming the "'s as delims. | ||
jnthn | (other than the dodgy error reporting) | ||
16:46
konundra joined
16:47
SamuraiJack left
|
|||
moritz | r: say(q:to"foo" , 42);42.sayfoo | 16:49 | |
camelia | rakudo b2072f: OUTPUT«42.say42» | ||
moritz | I guess I expected :to to parse like any other adverb | 16:50 | |
benabik | I think :to is an adverb that makes the contents of the quote terminate the heredoc. | 16:51 | |
16:52
imIKARi left
|
|||
moritz | sure, but the question is how the argument to :to are parsed | 16:52 | |
and it seems that it's parsed as a quote, not as an expression | |||
benabik | r: say(q:to(1)"foo", 42);42.sayfoo | ||
camelia | rakudo b2072f: OUTPUT«42.say42» | ||
benabik | r: say(q:to(0)"foo", 42);42.sayfoo | 16:53 | |
camelia | rakudo b2072f: OUTPUT«===SORRY!===Cannot look up attributes in a type object» | ||
diakopter | oh, all the 42s were confusing me. :) | ||
benabik | The argument to :to is True, not foo. | ||
16:54
imIKARi joined
|
|||
diakopter | r: say(q:to"0" , 42);42.sayfoo | 16:54 | |
moritz | q:to(1)"foo" looks like a real WTF to me | ||
camelia | rakudo b2072f: OUTPUT«===SORRY!===Ending delimiter 0 not foundat /tmp/kqxgOe_99n:4------> <BOL>⏏<EOL> expecting any of: whitespace vertical whitespace» | ||
moritz | std: say(q:to(1)"foo", 42);42.sayfoo | ||
diakopter | r: say(q:to"0" , 42);42.say0 | ||
camelia | std 6348f35: OUTPUT«ok 00:00 46m» | ||
rakudo b2072f: OUTPUT«42.say42» | |||
moritz | std: say(q:to(2 + 4)"foo", 42);42.sayfoo | 16:55 | |
camelia | std 6348f35: OUTPUT«ok 00:00 46m» | ||
benabik | q:to"foo" ~~ q("foo", :to) | ||
q:to(foo) ~~ q(:to => foo) # die w/ what's foo? | 16:56 | ||
masak | no, q:to"foo" simply means q:to("foo") | 16:57 | |
benabik | That's not how it seems to be parsing. | ||
timotimo_ | :to means to=>True | ||
16:58
konundra left
|
|||
masak | r: sub test(*%_) { say %_.perl }; test :to"foo" | 16:59 | |
camelia | rakudo b2072f: OUTPUT«===SORRY!===Two terms in a rowat /tmp/C9iS5aG4uX:1------> sub test(*%_) { say %_.perl }; test :to⏏"foo" expecting any of: pair value postfix infix stopper infix or meta-infix statem… | ||
masak | r: sub test(*%_) { say %_.perl }; test(:to"foo") | ||
camelia | rakudo b2072f: OUTPUT«===SORRY!===Unable to parse expression in argument list; couldn't find final ')'at /tmp/UEmaOV6glu:1------> sub test(*%_) { say %_.perl }; test(:to⏏"foo") expecting any of: pair value postfix infix… | ||
diakopter | r: say q:to''  | ||
camelia | rakudo b2072f: OUTPUT«» | ||
masak | oh, is this some kind of special syntax just for q and qq et al.? | ||
r: sub test(*%_) { say %_.perl }; test(:to[1,2,3]) | 17:00 | ||
camelia | rakudo b2072f: OUTPUT«("to" => [1, 2, 3]).hash» | ||
masak | I thought since we have syntax like :to[], we also had syntax like :to"" in Perl 6 itself. my bad. | ||
arnsholt | There's :to<foo> I guess? | 17:01 | |
benabik | r: say(q:to<foo>, 42);42.sayfoo | 17:02 | |
camelia | rakudo b2072f: OUTPUT«42.say42» | ||
benabik | r: say(q:to<foo><foo>, 42);42.sayfoo | ||
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» | ||
flussence | .oO( q:tofu ) |
||
17:02
stevan_ joined
|
|||
flussence | I wonder if that UTF32-garbled output problem will go away on other VMs... | 17:04 | |
diakopter | :) | ||
17:04
dakkar left
17:06
gdey_ joined
17:07
konundra joined
17:08
gdey left
|
|||
[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» | ||
[Coke] | r: say 3.tofufu | ||
camelia | rakudo b2072f: OUTPUT«No such method 'tofufu' for invocant of type 'Int' in block at /tmp/QkNdBAhitw:1» | ||
[Coke] | r: my $fi = 3; say $fi; | 17:10 | |
camelia | rakudo b2072f: OUTPUT«3» | ||
17:13
jeff_s1 joined
|
|||
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 | ||
[Coke]: ^^ | 17:15 | ||
jeff_s1 | Ah, excellent | ||
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. | ||
Please just don't break my working version that I have running on feather. | |||
(which gets rebuilt from scratch daily) | |||
jeff_s1 | What is feather? | 17:17 | |
[Coke] | If you want, I can test out my build after you do your thing. | ||
17:17
btyler left
|
|||
[Coke] | perl6 dev box. it's where I'm running this: | 17:17 | |
github.com/coke/perl6-roast-data/b...pass_rates | 17:18 | ||
arnsholt | Oh. I thought it was you who did the Pugs maintenance/life-support. Sorry =) | ||
[Coke] | ... ugh. someone broke bugs. colllllooooomoooooon | ||
colomon | \o/ | ||
[Coke] | arnsholt: Yes, but I don't know jack about haskell or the build environment. | 17:19 | |
broke *pugs | |||
colomon | err... is pugs running the set tests? | ||
arnsholt | Ah, right | 17:20 | |
[Coke] | colomon++ | ||
dagurval-- | |||
jeff_s1 | I don't think I'll be doing anything to affect your testing unless you pull code from Hackage. | ||
Hm, should I keep searching, or is it safe to say there's nobody really looking at Pugs these days? | 17:21 | ||
[Coke] | dagurval++ | ||
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 | ||
is hackage containing things I need to build pugs from scratch, or is it a built version of pugs? | |||
dagurval++, btw. | |||
jeff_s1 | It's just for source code. | ||
[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. | ||
[Coke] | jeff_s1: that isn't either of my 2 options. what is it? | ||
ah. | |||
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. | |||
that require statement above - is that syntax with the single colon real? | 17:25 | ||
(it's in roast) | |||
dalek | ast: 5622f27 | coke++ | S11-modules/require.t: pugs fudge |
||
17:26
raiph joined
|
|||
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:26 | |
PerlJam | Did we just accrete another pugs person? | 17:27 | |
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. | ||
masak | jeff_s1++ | 17:29 | |
17:29
zby_home_ joined
|
|||
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:29 | |
PerlJam | masak: really? AFter using Perl 6 for so long, I would have thought the transition to haskell wouldn't be that bad. | 17:30 | |
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. | ||
but I find the steps to get a working build off which to develop inscrutable. | |||
PerlJam | ah | ||
diakopter | the HF in pugs are low... if you climb th ebeanstalk for a few days | 17:32 | |
masak | :) | ||
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) | ||
colomon | pugs? no | ||
PerlJam | pugs is what set off this whole "implement Perl 6 For Real" idea :) | 17:36 | |
dalek | p: 5adf255 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (14 files): Kill initialize REPR function for JVM 6model. On the Parrot and Moar implementations, allocate is used in a range of situations (create, clone, deserialize). This is not the case on the JVM implementation of 6model, so it's essentially useless to separate allocate and initialize. |
17:37 | |
17:37
GlitchMr left
|
|||
masak | PerlJam: that's only partly accurate. | 17:37 | |
dalek | kudo/nom: 978aeee | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files): Updates to work on latest NQP. |
||
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:38 | |
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:39 | ||
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
imIKARi left
|
|||
masak | timotimo_: Pugs is pre-MOP, pre-LTM, and pre-6model. so, yes. | 17:40 | |
PerlJam | timotimo_: so ... what masak just said :) | 17:41 | |
timotimo_ | oh yikes, that's a lot of catching up | ||
masak | timotimo_: many major synopses have had major revisions since 2007, when Pugs development came to a halt. | ||
17:41
rurban joined
|
|||
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
17:45
fhelmberger left
17:50
SunilJoshi left
17:51
konundra left
|
|||
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 | |
masak: thus, I consider pugs the first "real" attempt at a Perl 6 implementation. | |||
colomon | pugs was awesome, no doubt about it. | 17:52 | |
PerlJam | but that's just me. :) | ||
17:53
rurban left
17:54
GlitchMr joined
17:56
konundra joined
|
|||
masak | PerlJam: I'm not disagreeing, except perhaps about the last part. | 17:56 | |
PerlJam: Pugs and the Parrot efforts were simultaneous, but Pugs had all of the spotlght. | |||
but yes, Pugs had enormous cultural significance. | |||
17:56
daxim left
|
|||
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. | ||
before pugs. | 17:57 | ||
and pugs got the spotlight because it, you know, worked. | |||
masak | colomon: well, *that* perl6-oon-Parrot didn't survive. in fact, I've never run it. | ||
it would be fun to dig it out and try it, actually. | |||
on* | |||
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. | ||
masak | there was. | ||
but it was completely abandoned. | |||
if you count that project, then yes, Parrot was definitely before Pugs in having a running Perl 6. | 17:59 | ||
if you don't count that project, then well, Parrot had PGE but not Rakudo yet. Rakudo came along in... 2007? | |||
though not under that name yet. | |||
17:59
gdey_ left
|
|||
jeff_s1 | I uploaded my changes "cabal install Pugs" should work with the latest Haskell Platform. | 17:59 | |
I should make a git repo. | |||
masak | the best candidate for a name before Rakudo was "Onion". phew, that was a close one! :P | ||
colomon | jeff_s1++ | ||
masak .oO( the Perl 6 implementation that will bring tears to your eyes! ) | 18:00 | ||
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:01 | |
masak | colomon: Pugs was *awesome*, man. | 18:02 | |
18:02
btyler joined
|
|||
masak | colomon: it's hard to explain now, 8 years later. | 18:02 | |
colomon: but it was like waking up each day, and one more bit of Perl 6 was available. | |||
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
|
|||
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. | ||
I am pretty sure I hadn't heard about perl6-on-Parrot either. | |||
in fact, "I didn't know about the Perl 6 project that already existed on Parrot" strangelyconsistent.org/blog/happy-...ary-perl-6 | 18:04 | ||
18:04
raiph left
|
|||
colomon was already reading that post | 18:04 | ||
18:05
konundra left
|
|||
colomon | as I said, Parrot had an entire book published on it at least a year before pugs | 18:05 | |
18:05
raiph joined
|
|||
masak | almost two years. | 18:06 | |
first edition: June 2003. | |||
second edition: June 2004. | |||
Pugs: February 2005. | |||
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. | ||
colomon: right, that's when they found pmichaud. they put out an ad. | |||
colomon | seriously?! ha! | 18:08 | |
pmichaud++ | |||
18:09
tgt left
|
|||
[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: github.com/parrot/parrot/blob/RELE...rl6/README | ||
I'll replace it in the blog post. | 18:10 | ||
colomon | masak++: crazy stuff | 18:11 | |
18:12
gdey left,
konundra joined,
mst joined
|
|||
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:12 | |
[Coke] | S03-operators/autoincrement-range.t has a bunch of pugs todos that are all related. | 18:14 | |
if you can get this running: t/fudgeandrun S32-trig/cos.t | 18:16 | ||
we'll probably be able to get several hundred more passing tests. | |||
masak | wow, and at that time 'perl6' was a Perl 5 program. :D | ||
github.com/parrot/parrot/blob/RELE...erl6/perl6 | |||
rjbs | Ha! :) | ||
dalek | rl6-roast-data: 89adf54 | coke++ | / (4 files): today (automated commit) |
18:17 | |
masak downloads Parrot 0.3.0 to try this 'perl6' | 18:18 | ||
dalek | p: 4e615b3 | jnthn++ | src/vm/jvm/ (3 files): Add op for looking up attribute access hints. These allow better compilation of attribute lookups, saving a hash lookup per attribute access that can be resolved at compile time. |
18:19 | |
p: ffca963 | jnthn++ | src/vm/jvm/stage0/ (10 files): Update bootstrap to get nqp::attrhintfor(...). |
|||
[Coke] | jeff_s1: if those are too involved, let me know, I can look for simpler things that give us fewer tests. | ||
dalek | p: b06dc41 | jnthn++ | src/vm/jvm/ (2 files): Generate hints for QAST::Var attribute accesses. |
||
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:20 | |
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:22
stevan_ left
18:23
tgt joined,
stevan_ joined
18:24
Bzek joined
|
|||
[Coke] | PerlJam: steve fink is the other name I see there. that sounds really familiar. | 18:24 | |
masak | yay I haz a working 'perl6' from 2004! \o/ | 18:27 | |
$ perl6 | |||
> 2 + 2 | |||
4 | |||
um. | |||
or not :) | |||
moritz | BinGOs: cool | ||
masak | that's Rakudo I'm running... | ||
ah, here we go: | 18:28 | ||
$ /usr/bin/perl perl6 | |||
'perl6-config' not found: No such file or directory at perl6 line 34. | |||
ah, need to 'make' in this directory, too. | |||
$ /usr/bin/perl perl6 test | 18:29 | ||
Can't locate Perl6grammar.pm in @INC [...] | |||
dear me, this 'perl6' is hard to use :( | |||
hm, there's a Perl6grammar.pm in the current directory... | |||
$ /usr/bin/perl -I. perl6 test | 18:30 | ||
Can't call method "tree" on an undefined value at perl6 line 437. | |||
:( | |||
(the 'test' file contains a simple 'say "OH HAI";') | |||
PerlJam | [Coke]: maybe because of www.finkproject.org/ :) | ||
18:30
census joined
|
|||
masak | I think I just lost interest in this 'perl6' from 2004. | 18:31 | |
would've been cool to get it running, but it doesn't seem too cooperative. | |||
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:35
tgt left
|
|||
colomon | rn: say "a" ~~ set <a b c> | 18:37 | |
camelia | rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«False» | ||
colomon | rn: say <a b c> ~~ set <a b c> | ||
camelia | rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«False» | ||
colomon thinks that one should be true | 18:38 | ||
rm: say (set <a b c>) ~~ set <a b c> | |||
moritz | s/m/n/ | ||
colomon | rn: say (set <a b c>) ~~ set <a b c> # know this one should be true | ||
camelia | rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«False» | ||
18:39
rurban joined
|
|||
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 | |
18:41
stevan_ left
|
|||
moritz wonders if it's a set of worms or a bag of worms :-) | 18:41 | ||
masak | colomon: I say it should match. | 18:42 | |
colomon: because the rhs has an .ACCEPTS, and clearly that Bag matches that Set. | |||
if that makes any sense. | |||
colomon | sort of. | 18:43 | |
masak | if you flipped the operands around, I wouldn't expect it to match. | ||
moritz | nr: my $a = set <a b c>; say $a ~~ $a | ||
camelia | rakudo b2072f, niecza v24-72-g3cebbf8: OUTPUT«True» | ||
colomon | I'm implementing Set.ACCEPTS as | ||
method ACCEPTS($other) { $other ⊆ self and self ⊆ $other } | |||
Bag as method ACCEPTS($other) { $other ≼ self and self ≼ $other } | |||
which does what you want, I think. | 18:44 | ||
18:44
sqirrel left
|
|||
masak | \o/ | 18:44 | |
dalek | ecza: b8dd516 | (Solomon Foster)++ | lib/CORE.setting: Add .ACCEPTS for Set, KeySet, Bag, and KeyBag. |
||
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. | ||
colomon needs to add tests for this... | 18:46 | ||
masak | right. | 18:47 | |
colomon | do we usually do ACCEPTS tests directly, or using ~~ ? | 18:48 | |
moritz | using ~~ | ||
colomon | k | ||
moritz | ACCEPTS really is an implementation detail of smart matching | ||
masak | .Bag is just the (universal) inclusion functor corresponding to the forgetful functor... :) | 18:49 | |
18:49
rurban left
|
|||
moritz can emphasize with forgetful functors | 18:50 | ||
colomon realizes he has forgotten the undefined case in his ACCEPTS... | 18:51 | ||
and used and when he meant &&. sigh. | 18:53 | ||
18:55
stevan_ joined
18:57
benabik_ joined
18:58
benabik left,
benabik_ is now known as benabik
|
|||
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
|
|||
dalek | ecza: d2580c9 | (Solomon Foster)++ | lib/CORE.setting: Fix .ACCEPTS for Set, KeySet, Bag, and KeyBag. Previously did not handle the type object case correctly. |
19:03 | |
19:04
rindolf left,
rindolf joined
19:07
stevan_ left
19:11
raiph left
|
|||
ingy waves o/ | 19:14 | ||
19:14
gudahtt left
19:15
rindolf left
|
|||
colomon | \o ingy! | 19:15 | |
PerlJam | ingy o/ | ||
ingy | great to see you all at yapcna | ||
19:15
rindolf joined
|
|||
ingy considers an ISoP6 | 19:15 | ||
or at least an ISoAwP6 | 19:16 | ||
colomon | ingy: it was great to see you, too. | 19:17 | |
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? | ||
Maybe every 3 years | |||
PerlJam | And how come that wasn't on the YAPC bingo card? ;) | 19:19 | |
dalek | ast: bbf6549 | (Solomon Foster)++ | S02-types/ (2 files): Add tests for Set and KeySet smartmatching. |
19:22 | |
ast: c49e082 | (Solomon Foster)++ | S02-types/ (2 files): Tests for Bag.ACCEPTS and KeyBag.Accepts. |
|||
ecza: 480a062 | (Solomon Foster)++ | lib/CORE.setting: I reckon multi-subset and -superset should work with anything. This reflects the behavior of regular subset and superset. |
|||
masak | well, to give some perspective, github.com/parrot/parrot/blob/RELE...uiltins.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:25 | |
[Coke] | if there are parrot style catch handlers, that might be an intermediate level for commands to be built on. | 19:26 | |
nwc10 | masak: did you look at the actual code implementing the compiler? | 19:27 | |
masak | no. | ||
not yet. | |||
but all those builtins are in PIR, as was the custom at the time. | |||
nwc10 | I believe that the compiler was written in Perl 5 | 19:28 | |
labster | this sounds like insanity on top of insanity | ||
nwc10 waits for VMS to make clean... | 19:29 | ||
(that's Perl 5. A fast linux box can do 0-60-0 in less time) | |||
PerlJam | labster: it was all we had at the time. | ||
labster | Well, these were the years I was stuck coding FORTRAN, so I can't really complain | 19:33 | |
19:33
rindolf left
19:34
rindolf joined
|
|||
lizmat calls it an early day | 19:37 | ||
nwc10 | good "early day", Perl6? | ||
that's a new one | |||
lue | hello world o/ | 19:38 | |
masak | according to en.wikipedia.org/wiki/Doomsday_argument it's a "late day"... | ||
dalek | kudo-star-daily: bea432b | coke++ | log/ (5 files): today (automated commit) |
||
19:39
Bzek left
|
|||
lue | masak: may I ask why you've decided to install such an old rakudo? | 19:39 | |
lee_ really wants JVM support for MapIter :D | 19:40 | ||
i keep building it hoping it will magically appear | 19:41 | ||
19:42
domidumont left
|
|||
jnthn | lee_: I'm hoping to get that in tomorrow. | 19:43 | |
lee_ | yay! jnthn++ | ||
jnthn | Was gonna do it today but my brane is still a bit mushy thanks to jetlag... | ||
lue | Ooh! I just found a bug concerning the two Twigils sections in S02 and the pod-to-html converter! [more] | 19:48 | |
19:48
census2 joined
|
|||
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:49 | |
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:50 | ||
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 | |
19:51
rurban joined
|
|||
lue | OK. | 19:51 | |
flussence | masak: is that the one where .get is spelled &prefix:<=>? | 19:52 | |
(or something like that...) | |||
colomon | flussence: I believe that was in early Rakudo as well. | 19:53 | |
(or possibly only) | |||
moritz | it was | ||
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. :) | ||
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 | |
(because parens and only parens supply arguments to quote adverbs) | |||
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:56 | |
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 } | ||
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. | ||
labster | it's useful for testing some things. not much beyond that, I'm afraid | 19:59 | |
sorear | good * #perl6 | ||
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... | ||
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. | |||
moritz | that said, if you absolutely love that feature, you can do something evil like flussence++ suggested by binding a Proxy to $*CWD | ||
flussence | (would it be better for $*CWD to be readonly then?) | ||
labster | chdir still needs to change it. | ||
moritz | flussence: then you can still make a new one with 'my $*CWD' | ||
jnthn | o/ sorear | 20:00 | |
moritz | flussence: and what then? chdir changes all variables named $*CWD? | ||
sorear | jnthn: haven't broken the rakudo build *yet*. :D | ||
moritz | and how does it even know about them? | ||
jnthn | :P | ||
flussence | I guess I'll just leave the decision up to someone with a good use case for having it work a certain way.. | ||
s,..$,..., | 20:01 | ||
lue | Could it perhaps be $?CWD then, if you don't want modifications? | ||
moritz | lue: the ? sigil is for stuff that's known at compile time | ||
colomon | In Niecza, I believe that $*CWD just calls the function to get the current directory. | ||
moritz | lue: and the run time path usually isn't known at compile time :-) | ||
lue | Oh, right. nevermind then :) | ||
moritz is still firmly +2 on removing $*CWD | 20:02 | ||
colomon | moritz: then how would you figure out what the current directory is? | 20:03 | |
labster | cwd() | ||
colomon | rn: say cwd | ||
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.… | ||
..rakudo b2072f: OUTPUT«/home/p6eval» | |||
moritz | colomon: cwd(), IO::Path.cwd, whatever we want to call it | ||
colomon | hmm... it's shorter and less violent to the eye... | 20:04 | |
sorear | o/ | ||
colomon | and no one would try to assign to it... | ||
+1 | |||
\o, sorear | |||
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. | ||
sorear | cwd() == foo... | ||
colomon | qqx"ls { cwd }" | ||
moritz | lue: qqx"lc {cwd}" | ||
*ls | |||
sorear | lue: . | ||
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". | ||
sorear | besides {cwd} is the same number of chars as $*CWD | ||
labster | but yeah, that's a pretty narrow case. overriding &cwd locally would work too | ||
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? | ||
labster | .oO ($*PWD) | ||
lue | (even better yet, qx"ls") | ||
moritz | lue: $*CWD would be cute if it worked as originally envisioned | ||
labster | qx"ls ." | ||
colomon | or does $*CWD magically chdir back when it goes out of scope? | ||
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 | ||
moritz | colomon: $*CWD is scoped idfferently | ||
my $*CWD = 'FAKE'; call_something() | |||
now &call_something sees the fake $*CWD | |||
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 | ||
sorear | local *cwd = sub { 'FAKE' } ... :D | ||
labster | you beat me on typing that, sorear | ||
moritz | well, except that it doesn't work in p6 :-) | ||
colomon | \o/ | 20:09 | |
sorear | my $h = &cwd.wrap({ 'FAKE' }); LEAVE $h.unwrap; ... | ||
labster | my sub cwd { 'FAKE" } does it? | ||
moritz | labster: for the lexical scope yes, but not for the dynamic scope | ||
lue | .oO( my sub cwd { IO::Path("/") }; ) |
20:10 | |
*IO::Path.new (sigh) | |||
labster | "/".path | 20:11 | |
20:11
atroxaper left
|
|||
flussence | after my time using php I've become paranoid of using the working directory in general... | 20:13 | |
20:13
rurban left
|
|||
moritz | flussence: good for you | 20:14 | |
colomon | yeah, I was just trying to think how $*CWD would work with laziness, and my head exploded a little... | 20:16 | |
flussence | I just want a nice language that insulates me from the insane parts of posix :( | 20:17 | |
moritz | java? | ||
flussence | *nice* language :) | ||
moritz | ok, forgot about the "nice language" part, sorry | ||
nwc10 | and he only wanted to be isolated from the insane parts | ||
tadzik | Go? :) | ||
moritz | C#? | ||
nwc10 | not a straightjacket | ||
20:17
rurban joined
|
|||
moritz | .oO( not even a nice straightjacket? :-) |
20:18 | |
moritz -> sleep | |||
colomon | o/ | ||
lue | RESTRICTED.setting ? | 20:20 | |
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:21 | |
.oO( and extrapolating that line of thinking, Threads.pm6 in its current state might make a good base for a webapp ) |
20:22 | ||
20:31
konundra left
20:32
zby_home_ left
20:34
rurban left
20:39
tomyan joined
20:40
SmokeMachine joined
20:43
tgt joined
20:50
pochi_ left,
kaare_ left
20:53
Chillance joined
20:56
rurban1 joined
21:04
rurban1 left
|
|||
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:04 | |
21:04
skids left,
robinsmidsrod left
|
|||
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(); | ||
camelia | rakudo b2072f, niecza v24-75-g480a062: OUTPUT«(Any)» | ||
colomon | rn: class a{ has $.x; method pr{ say $.x; } }; a.new( x => 124 ).pr(); | ||
camelia | rakudo b2072f, niecza v24-75-g480a062: OUTPUT«124» | ||
colomon | benabik++ | ||
benabik | Indeed, colomon beat me to it. | ||
21:06
robinsmidsrod joined
|
|||
[Coke] | so, next step, how do you initialize private attributes? | 21:06 | |
(BUILD, no?) | |||
flussence | r: class a { has $!x; }; say a.new( x => 124 ).DUMP | 21:07 | |
camelia | rakudo b2072f: OUTPUT«a<1>(:$!x(Any))» | ||
benabik | submethod BUILD, I think? | ||
colomon | rn: class a{ has $!x; method new($x) { self.bless(*, $:x); }; method pr{ say $!x; } }; a.new( x => 124 ).pr(); | ||
camelia | rakudo b2072f: OUTPUT«===SORRY!===Redeclaration of symbol $:x as a placeholder parameterat /tmp/d6t8aI0bET:1------> $!x; method new($x) { self.bless(*, $:x⏏); }; method pr{ say $!x; } }; a.new( x» | ||
..niecza v24-75-g480a062: OUTPUT«===SORRY!===Placeholder variable $:x cannot override existing signature ($x) at /tmp/muckku6LEu line 1:------> has $!x; method new($x) { self.bless(*, ⏏$:x); }; method pr{ say $!x; } }; a.newConfused at /tmp/muckk… | |||
dalek | p: 080f0bf | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6Opaque (3 files): Avoid reflection when allocating P6opaque. |
||
p: a759e63 | jnthn++ | src/QAST/Regex.nqp: Dump rxtype of QAST::Regex. |
|||
p: a640d5a | jnthn++ | src/vm/jvm/QAST/Compiler.nqp: Use regionMatches, avoiding subString calls. Avoids creating some short-lived strings during the parse. |
|||
dagurval | Is it not possible to export a variable? This doesn't work for me: gist.github.com/dagurval/7522d8bf0f5464818611 | ||
colomon | dagurval: you didn't eval that code, you just imported it as a string and printed it. | 21:08 | |
flussence | some working BUILD code: github.com/flussence/perl6-XMMS2/b...ent.pm6#L6 | 21:09 | |
benabik | flussence++ | ||
colomon | Woah, having to use BUILD is good enough reason in my mind never to use private attributes.... | ||
dagurval | colomon: eval? I want it to be loaded via "use" | ||
colomon | dagurval: oh, I see, use a | 21:10 | |
snearch | I can't believe that there is no easy solution | ||
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. | ||
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))» | ||
masak | r: class a { has $!x; submethod BUILD(:$!x) { } }; say a.new(x => 42).DUMP | ||
camelia | rakudo b2072f: OUTPUT«a<1>(:$!x(42))» | ||
benabik | snearch: new won't initialize a private variable by default. But if you define a BUILD submethod, you can do it. | ||
snearch: It's P6's version of a constructor. | |||
snearch | benabik: thanks | 21:13 | |
benabik | masak: :(:$!x) ? That's a nice trick. | ||
dagurval | snearch: I had the same frustration some days ago :) | ||
PerlJam | benabik: it's not a trick; it's spec! | ||
:) | 21:14 | ||
benabik | PerlJam: You want me to believe that the spec isn't tricky? ;-) | ||
PerlJam | touché | ||
benabik | :$!x... $ = sigil, ! = twigil, : = ?gil | ||
FOAD | quigil. | 21:15 | |
flussence | pregil? | ||
masak | "colon". :) | ||
flussence | colongil! | ||
benabik | colongil? | 21:16 | |
geekosaur | nekudotayim :p | 21:17 | |
snearch | dagurval: did you find a not-frustrating solution? | 21:18 | |
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
|
|||
dagurval | if it's non-frustrating is up to you to decide, see how I initialize $!img-path in this class: github.com/dagurval/perl6-image-re...Resize.pm6 | 21:20 | |
it's basically what's already been sayd here | 21:21 | ||
21:21
rurban left
21:22
aindilis joined
|
|||
masak | dagurval: not sure why you feel it's very important to not give $!img-path a public accessor in that case. | 21:22 | |
masak is growing disenchanted with private attributes as he grows older | 21:23 | ||
colomon too | |||
masak | Perl 5 and JavaScript do fine without them (even as people sometimes go to great lengths to emulate them). | ||
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. | ||
nwc10 | #define private public | ||
dagurval | benabik: no, I omitted it, try "@*INC.shift(".")" first :) | ||
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 '.'; :) | ||
dagurval | hehe, or that :) | ||
masak: You may be right, I suppose I could do the "file exists" check in a public accessor. Habit I suppose. | 21:26 | ||
21:27
PacoAir left
|
|||
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 | ||
s/bakedb/benabik/ :) | |||
21:29
twigel joined
|
|||
dagurval | if constant works, I'll use that for now. Thanks for the tip | 21:31 | |
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:33 | |
flussence | std: my $0.02 | 21:36 | |
camelia | std 6348f35: OUTPUT«===SORRY!===Cannot declare a numeric variable at /tmp/I2tA1KB_3Y line 1:------> my $0⏏.02Parse failedFAILED 00:00 41m» | ||
snearch | I would like, if "new" would be allowed to initialize private attributes, why not change "new"? | 21:37 | |
21:38
tgt left
|
|||
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" | ||
flussence | p5eval: our $0.02 | ||
p5eval | flussence: /tmp/p5eval/jail/p5eval-MZmM.pl2 | ||
flussence | .oO( interesting, it works when you share your two cents... ) |
21:39 | |
benabik | Hah. | ||
21:39
tgt joined
|
|||
dagurval | :D | 21:39 | |
pmichaud | to add a bit more to the pugs and p6 on parrot story.... | 21:43 | |
(re irclog.perlgeek.de/perl6/2013-06-11#i_7184353 ) | |||
early versions of PGE started in late 2004. Pugs started in early 2005. | 21:44 | ||
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. | |||
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:45 | ||
Indeed, for a long time its mechanism of providing Perl 6 regexes was to call out to PGE on Parrot. | 21:46 | ||
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:47 | ||
masak / PerlJam : ^^^^ | 21:48 | ||
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 | |
21:49
rurban1 joined
|
|||
masak | pmichaud: glad to see you only had additions and no corrections ;) | 21:50 | |
or s/glad/relieved/ :) | |||
pmichaud | oh, I wasn't looking for corrections. | ||
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 | ||
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. | |||
and similarly, I disagree with PerlJam about Perl6-on-Parrot not being a "real" attempt... it was very real. | 21:53 | ||
it just didn't have the fast lane that Pugs was able to utilize at the time. | |||
masak | pmichaud: any idea why I couldn't get it to run? | ||
pmichaud | couldn't get Pugs to run? | ||
pmichaud lost a thread here. | |||
masak | no, the dead-end perl6. | 21:54 | |
I downloaded Parrot 0.3.0 and tried to build and run it. | |||
build went extremely fine, but run didn't. | |||
pmichaud | no, I don't know... let me look. | ||
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. | ||
looking | 21:56 | ||
masak | yes. it was. | ||
pmichaud: did you ever run it? | |||
:) | |||
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
tgt left
|
|||
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:56 | |
21:57
dmol left
|
|||
cognominal | when rakudo got its on repository? | 21:57 | |
21:57
dmol joined
|
|||
pmichaud | rakudo got its name in January 2008. | 21:57 | |
cognominal | * own | ||
pmichaud | Rakudo got its own repository in January 2009. | ||
masak | maybe I downloaded a too-late Parrot... | ||
Teratogen | instead of just-in-time parrot? | 21:58 | |
pmichaud | JIT support in Parrot was removed a long time ago :-) :-) :-) | ||
masak | "ouch." | 21:59 | |
:) | |||
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 :-( | ||
sorear | you too? | 22:01 | |
22:01
shachaf_ joined,
shachaf_ left,
shachaf_ joined
|
|||
pmichaud | yeah. | 22:01 | |
diakopter | pmichaud: me too | ||
22:01
shachaf left
|
|||
jnthn | pmichaud: I had one too, but thankfully minor and cleared up mostly since I got back | 22:01 | |
22:01
sivoais left,
shachaf_ is now known as shachaf
|
|||
diakopter | jnthn: you gave it to me!! | 22:01 | |
(kidding) | |||
22:01
sivoais joined
|
|||
pmichaud | saturday was sore-throat-oh-no day, sunday was icky day; yesterday and today have been "recovery" | 22:01 | |
diakopter | I'm 1 day behind that | 22:02 | |
cognominal | bad air conditionning? | ||
diakopter | ETOOMANYHUGBOTS | ||
pmichaud | cognominal: more likely simply the result of having so many people from so many places in one place | ||
masak didn't catch a cold | |||
jnthn | masak: You left early :P | ||
pmichaud | I left only about 16 hours after masak :-P | 22:03 | |
jnthn | Clearly that made all the difference! :P | ||
pmichaud | cognominal: it's like at my kids' school, where the colds spread like wildfire in the first few weeks after school starts | ||
22:03
xilo left
|
|||
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 | |
22:04
tgt joined
|
|||
lue | .oO(It's not flu and cold season because of the weather. It's the schools!) |
22:04 | |
census2 | pmichaud++ | ||
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. | ||
pmichaud | oh, there's a secondary cold/flu season that shows up in mid-winter here... but there's definitely a late-summer season | ||
masak | diakopter: *lol* | ||
pmichaud | I have to depart. | ||
census2 | diakopter hahahh | ||
pmichaud | diakopter: there's generally a new census every 10 years... so I think we're overdue. | 22:06 | |
census2 | diakopter: desktop and laptop | ||
pmichaud | bbtomorrow | ||
diakopter | o/ | ||
census2 | hhahahah pmichaud | ||
masak | pmichaud: \o | ||
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. | ||
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
spider-mario left,
arlinius left
|
|||
cognominal | yes | 22:07 | |
america is so weird for european. The last crime they are commiting is stuffing donuts with foie gras. | 22:09 | ||
diakopter | jnthn: one of your talks is online | 22:10 | |
jnthn | diakopter: ? | ||
diakopter: oh, video? | |||
diakopter | www.youtube.com/watch?v=7nISwfLoAoU | ||
cognominal | www.huffingtonpost.com/2013/06/10/f...l+Business | ||
diakopter | hobbs++ | ||
census2 | foie gras! that is nuts | ||
but america is weird for most things non-american | 22:11 | ||
or many i should say | |||
cognominal | that's a thing to receive death threats from both continents :) from animal activists on the US and french for the culinary crime. | ||
diakopter: thx for the link | 22:13 | ||
22:13
jeff_s1 left
22:15
jeff_s1 joined
22:21
xilo joined
|
|||
FROGGS | the sound is surprisingly goo | 22:22 | |
d | |||
22:23
benabik left
22:24
rurban1 left
22:31
BenGoldberg joined
22:32
groky left
22:33
BenGoldberg left,
abnorman left
22:34
BenGoldberg joined,
groky joined
22:40
snearch left
22:41
BooK joined,
shinobicl joined
22:42
Util left
22:45
Util joined,
tadzik joined
22:49
btyler left
|
|||
jnthn | 'night, #perl6 | 22:52 | |
22:52
arlinius joined,
census left
|
|||
FROGGS | gnight jnthn | 22:53 | |
diakopter just watched jnthn's talk | 22:57 | ||
masak | 'night, #perl6 | 22:58 | |
22:58
rindolf left
|
|||
sorear | diakopter: which? | 22:58 | |
diakopter | the one online,linked above | 22:59 | |
FROGGS: hobbs++ fixing the sound | |||
FROGGS | cool | 23:00 | |
hobbs++ # good work | 23:01 | ||
23:01
tomyan left
|
|||
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. | ||
sorear | hobbs++ indeed | 23:06 | |
diakopter | well, a couple were unfortunately botched while recording | ||
1 nine is pretty good, though! ;) | |||
sorear | "1 nine" ? | 23:07 | |
diakopter | as in.. "5 nines" | ||
(99.999%) | |||
sorear | ah | ||
23:07
tomyan joined
|
|||
sorear | well, ISTR that frankfurt was only able to afford recording equipment for half the rooms | 23:08 | |
so austin is already far exceeding my expectations | |||
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:09 | |
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:11 | ||
23:12
tomyan left
|
|||
sorear thought that we had 1 large room and 3 identical small rooms | 23:13 | ||
diakopter | TCC 1.110 was a bigger room, but had smaller capacity than floors 2 and 3 | 23:14 | |
23:14
census2 left
|
|||
[Coke] | (hugbots at conventions) gah, no touchee. | 23:14 | |
23:21
stevan_ joined
23:26
thou left
|
|||
[Coke] | jnthn: I fixed the partcl build so it should work out of the box on windows. | 23:41 | |
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? :) | ||
[Coke] | I might have done that months ago the last time I was trying to get things to work, aye. | 23:49 | |
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. | ||
no. | 23:51 | ||
he was a big help in the original nqp-rx version. | |||
ISTR I bug a lot of people here to get the nqp one started a year ago before I stalled out. | |||
shinobicl | hello | ||
rakudo: my $x = 5; (0..$x).map(($x ** *)/*!).say; | |||
camelia | rakudo b2072f: OUTPUT«===SORRY!===Negation metaoperator not followed by valid infixat /tmp/xKYtyquNkz:1------> my $x = 5; (0..$x).map(($x ** *)/*!⏏).say; expecting any of: postfix infix stopper infix or meta-infix»… | ||
shinobicl | rakudo: my $x = 5; (0..$x).map(($x ** *)).say; | 23:52 | |
camelia | rakudo b2072f: OUTPUT«1 5 25 125 625 3125» | ||
shinobicl | well this looks ok, is what i expected | ||
but when i add this factorial operator... | |||
rakudo: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** *)/*!).say; | |||
camelia | rakudo b2072f: OUTPUT«1 4.166667 5.208333» | ||
shinobicl | my list only has 3 elements... | 23:53 | |
why is that? i don't understand. | 23:54 | ||
lue | r: say (0..5).map: {say *; say *} | ||
camelia | rakudo b2072f: OUTPUT«************True True True True True True» | ||
diakopter | n: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** *)/*!).say; | ||
camelia | niecza v24-75-g480a062: OUTPUT«1 4.166667 5.208333» | ||
diakopter | well, niecza agrees | 23:55 | |
lue | r: say (0..5).map(*+*) | ||
camelia | rakudo b2072f: OUTPUT«1 5 9» | ||
diakopter | n: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** *)/(*!)).say; | ||
camelia | niecza v24-75-g480a062: OUTPUT«1 4.166667 5.208333» | ||
lue | each * is taking the next element from the list, which is why you get just three elements (0..5 has 6 elements) | ||
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» | ||
shinobicl | ahhhh ok... so i use 2 elements in each call | ||
diakopter | rn: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** ($=*))/$!).say; | ||
camelia | rakudo b2072f: OUTPUT«===SORRY!===Non-declarative sigil is missing its nameat /tmp/SfZ2LMyCkV:1------> ..$^n }; my $x = 5; (0..$x).map(($x ** (⏏$=*))/$!).say; expecting any of: postfix infix stopper infix or meta-infix… | ||
..niecza v24-75-g480a062: OUTPUT«===SORRY!===Non-declarative sigil is missing its name at /tmp/SnP0m_tCwn line 1:------> ..$^n }; my $x = 5; (0..$x).map(($x ** (⏏$=*))/$!).say;Confused at /tmp/SnP0m_tCwn line 1:------> ..$^n }; my $x = 5; (0… | |||
diakopter | rn: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map(($x ** (my$=*))/$!).say; | ||
lue | r: sub postfix:<!> { [*] 1..$^n }; my $x = 5; (0..$x).map({($x ** $^a)/$^a!}).say; | ||
23:56
BenGoldberg left
|
|||
camelia | niecza v24-75-g480a062: OUTPUT«Potential difficulties: &postfix:<!> is declared but not used at /tmp/YIW18rkIlp line 1:------> sub postfix:<!> ⏏{ [*] 1..$^n }; my $x = 5; (0..$x).map((Unhandled exception: Cannot use value like Whatever as a number at <unknown> … | 23:56 | |
..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»… | |||
rakudo b2072f: OUTPUT«1 5 12.5 20.833333 26.041667 26.041667» | |||
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» | ||
shinobicl | r: sub postfix:<!> { [*] 1..$^n }; my $x = 5; my @r = (0..$x).map({($x ** $^a)/$^a!}); say [+]@r; | ||
camelia | rakudo b2072f: OUTPUT«===SORRY!===Two terms in a rowat /tmp/O2piKHxgTM:1------> (0..$x).map({($x ** $^a)/$^a!}); say [+]⏏@r; expecting any of: argument list postfix infix stopper infix or meta-infix stat… | ||
[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? | ||
lue | r: sub postfix:<!> { [*] 1..$^n }; my $x = 5; my @r = (0..$x).map({($x ** $^a)/$^a!}); say [+] @r; | ||
camelia | rakudo b2072f: OUTPUT«91.416667» | ||
shinobicl | the idea is to implement this keisan.casio.com/exec/system/1223447896 | 23:58 | |
[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)» | ||
lue | You just needed a space between the [+] and @r in the last one. |