»ö« 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 sorear on 25 June 2013. |
|||
00:12
Psyche^ joined
|
|||
timotimo | i may have been losing the last line due to not manually closing the file handler | 00:15 | |
00:17
Psyche^_ left
|
|||
timotimo | should i have to declare my own $/ locally in order for parallel matchings to not explode? | 00:27 | |
bleeeeeeh | 00:28 | ||
nominal type check failed for parameter null? really? :( | |||
jnthn: i'm getting some weirdness when doing m/.../ in multiple parallelly executed blocks, even if i manually define a $/, or if i $foo ~~ m/.../ -> $match instead | 00:32 | ||
dalek | ecs: 135ce6e | larry++ | S17-concurrency.pod: to iterate a channel, just use list context, duh |
||
timotimo | actually, i have two different matchings going on in there, maybe they overlap in a bad way? | 00:34 | |
finely locking around the ~~ invocations with regexes, i can seem to get around the exceptions | 00:37 | ||
and get each of my 4 cores to 90% usage | |||
00:39
jeff_s1 joined
00:47
btyler left
|
|||
timotimo | i'm losing the last line and don't know why | 00:49 | |
maybe because it doesn't have a newline at the end? | |||
yeah, i don't actually see any code to handle the last line if it doesn't end in a newline | 00:51 | ||
i think i'll have to get some rest before i tackle this code. | 00:53 | ||
00:53
BenGoldberg joined
00:56
stevan_ joined
01:04
prevost joined
01:15
nnunley joined
01:20
btyler joined
01:23
btyler left
01:36
cooper joined
01:40
davecc joined
01:41
davecc left
01:42
davecc joined,
davecc left
01:48
mtk joined
01:51
jnap left
01:52
xinming_ left
01:54
xinming joined
02:02
amkrankruleuen joined,
amkrankruleuen left,
amkrankruleuen joined
02:07
mtk left
|
|||
dalek | rl6-roast-data: 1b5a5ef | coke++ | / (5 files): today (automated commit) |
02:08 | |
ecs: 3490ccd | larry++ | S17-concurrency.pod: missed some s/Publish/Supply/ |
|||
02:11
mtk joined
02:17
tgt left
02:21
telex left
02:24
telex joined
|
|||
dalek | ast: 6d5ee70 | coke++ | S32-exceptions/misc.t: Add test for RT #86880 |
02:37 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=86880 | ||
02:44
tgt joined
02:46
slavik joined
02:48
ssutch left
02:55
tgt left
|
|||
dalek | ast: 2aa5824 | coke++ | S02-types/range.t: Add test for RT #116014 |
03:07 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116014 | ||
03:27
logie joined
03:28
colomon left
03:29
colomon joined
03:35
prevost left
|
|||
[Coke] | lizmat: here's a deprecation ticket for you to attack: rt.perl.org/Ticket/Display.html?id=114012 | 03:37 | |
03:43
stevan_ left,
stevan_ joined
03:51
ssutch joined
|
|||
dalek | ast: 0c1a416 | coke++ | S03-metaops/hyper.t: note test that satisfies RT #74890 |
03:52 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=74890 | ||
lue finds the line "my $EDGE_FATE := 0;" surprisingly disturbing :) | 04:09 | ||
04:17
preflex left
04:19
preflex joined,
ChanServ sets mode: +v preflex
04:34
bbkr left,
bbkr joined
04:38
logie left
04:42
cooper left
04:48
lowpro30 joined
04:53
lowpro30 left
04:56
davecc joined
|
|||
dalek | p: 53f5382 | dwarring++ | examples/rubyish/ (8 files): rubyish tweaks |
04:59 | |
05:03
BenGoldberg left
05:08
SamuraiJack_ joined
05:19
[Sno] left
05:45
logie joined
05:49
logie left
05:51
thou left
05:54
logie joined
05:57
xinming left
05:59
xinming joined
|
|||
dalek | p: 75a03f2 | dwarring++ | examples/rubyish/examples-rubyish/fractal-tree.rbi: fixed rubyish fractal example |
06:10 | |
06:13
ssutch left
06:15
logie left
06:19
denis_boyun joined
06:27
kaleem joined,
[Sno] joined
06:28
denis_boyun left,
daxim left,
mls left,
perigrin left
06:30
dmol joined
06:32
sftp left,
sftp joined
06:44
nnunley left
07:21
brrt joined
07:22
logie joined
07:24
FROGGS joined
07:27
logie left
07:32
SHODAN left
07:35
ssutch joined
07:45
iSlug joined
08:09
zakharyas joined
08:34
frdmn left
08:40
retupmoc1 joined,
b^_^d joined,
genehack joined
08:41
smash_ joined,
sivoais_ joined
08:44
kurahaupo joined,
daxim joined,
mls joined,
perigrin joined,
BinGOs joined,
gfldex joined
08:46
telex left,
c1sung_ left,
LordVorp left,
d^_^b left,
p5eval left,
smash left,
odoacre_ left,
Khisanth left,
genehack_ left,
bakedb left,
revdiablo left,
sivoais left,
GlitchMr left,
retupmoca left,
odoacre_ joined
08:47
telex joined,
c1sung_ joined,
LordVorp joined,
p5eval joined,
bakedb joined,
revdiablo joined,
GlitchMr joined,
sftp left
08:48
sftp joined
08:52
Khisanth joined
09:20
iSlug left
|
|||
lizmat drops a pin | 09:24 | ||
daxim | 碰 | 09:25 | |
lizmat | you're it | 09:26 | |
09:35
SamuraiJack_ left
|
|||
timotimo | :) | 09:35 | |
hoelzro | ahoy #perl6 | 09:36 | |
timotimo should fix some of the tests he b0rked | 09:37 | ||
FROGGS | o/ | ||
09:37
dakkar joined
|
|||
moritz | \o | 09:43 | |
09:55
ssutch left,
SamuraiJack joined
09:58
baest joined
|
|||
timotimo has a prototype fix for lines() working on no-end-of-line-at-end files | 10:00 | ||
IO::Async::File.lines to be precise | |||
10:10
iSlug joined
|
|||
nwc10 | good UGT, #perl6 | 10:11 | |
who is it? (in the sense of doing the next release) | |||
which I think is next Thursday for the compiler | |||
timotimo | i thought it was going to be moritz | ||
yes, 6 days | |||
there is no function to rename/move a file? | 10:14 | ||
moritz | isn't masak++ traditionally doing the November release? | 10:17 | |
ah no, lizmat++ does, according to docs/release_guide.pod | |||
I'll just do the star release | 10:18 | ||
timotimo | oh, are you the star releaser then? | ||
good to know | |||
hoelzro | have people started coming up with cool advent calendar ideas? =) | ||
FROGGS | hoelzro: still thinking | ||
10:19
kurahaupo left,
daniel-s left
|
|||
timotimo | jnthn: is there a good reason to keep the initial read attempt size at 32 kbytes? it would seem like with an async lines() it would be cool to get the first line ASAP, so maybe reduce the initial read amount to 1kbyte or so? | 10:27 | |
moritz | timotimo: a read that's smaller than the system buffer size won't be much faster | 10:28 | |
timotimo | oh, ok | 10:29 | |
10:29
iSlug left
|
|||
timotimo | i didn't lose the last line this time \o/ | 10:30 | |
10:32
kivutar joined
|
|||
timotimo | er, i was wrong. | 10:33 | |
FROGGS | :/ | ||
10:38
tgt joined
10:40
pecastro_ joined
|
|||
nwc10 | however, system buffer size more likely to be 4K than 32K. But, careful benchmarking for the win here | 10:40 | |
moritz | how big are the chunks typically in which stuff is read from disc? | ||
nwc10 | and this is subtle optimisation, so maybe not as much of a win as dropping the memory use | ||
moritz: yes. :-) | |||
moritz: possibly not the same as the buffer size | 10:41 | ||
moritz: and will vary between everything. | |||
10:41
pecastro left
|
|||
timotimo | right. i should get back to bigger memory wastages :P | 10:42 | |
huh, apparently i didn't rebuild enough of ... everything | 10:43 | ||
to get my code changes to apply | |||
moritz: can you assist me with figuring this out properly? | |||
moritz | timotimo: is that concurrent stuff? | 10:44 | |
timotimo | i was editing a .java file in src/vm/jvm/runtime/org/perl6/.../io/ and doing make j-install in nqp, then in rakudo | ||
it's makefile stuff :) | |||
moritz | ok | ||
timotimo | some missing dependency, but where? | ||
moritz | wait wait wait, what happened? | 10:45 | |
timotimo | well, first i'll verify with a j-clean j-install that my changes are actually in the right place | ||
moritz | so far you have described what you did, but not what's wrong? | ||
timotimo | oh. my changes didn't cause any change in the behavior. i added some debug prints that really should have been hit | ||
moritz | did the 'make j-install' in nqp recompile anything? | 10:46 | |
timotimo | jes | ||
javac -source 1.7 -cp 3rdparty/asm/asm-4.1.jar:3rdparty/asm/asm-tree-4.1.jar:3rdparty/jline/jline-1.0.jar:3rdparty/jna/jna.jar -g -d bin src/vm/jvm/runtime/org/perl6/nqp/io/*.java src/vm/jvm/runtime/org/perl6/nqp/jast2bc/*.java src/vm/jvm/runtime/org/perl6/nqp/runtime/*.java src/vm/jvm/runtime/org/perl6/nqp/sixmodel/*.java src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/*.java src/vm/jvm/runtime/org/perl6/nqp/tools/*.java | |||
so it was in there | 10:47 | ||
moritz | and then, did rakudo's make recompile anything? | ||
(it does for me) | 10:48 | ||
timotimo | no, it did not | ||
i may need to run configure.pl again? | |||
moritz | no | 10:49 | |
timotimo | er ... huh?! | ||
i did a full rebuild and my debug print is still not getting executed? | |||
i must be doing something horribly wrong | |||
10:50
kivutar left
|
|||
moritz | wut. | 10:51 | |
I just did a touch src/vm/jvm/runtime/org/perl6/nqp/io/SocketHandle.java; make j-install | |||
and then in rakudo, 'make j-all' | |||
and it recompiled lots of stuff | |||
timotimo | OK, it may not be build system trouble, it may be ... me missing something blindingly obvious i guess | 10:52 | |
moritz | quite possible :-) | ||
timotimo | System.out.println("test") should give some output, right? | 10:53 | |
moritz | one might think so :-) | ||
timotimo | no rebuilding is taking place in rakudo's j-all :( | 10:56 | |
herp...?! a debug say in the lines method of the nqp-level object gets executed, it then calls Ops.linesasync, which starts with a debug System.out.println that *does not* get called ... what?!? | 10:59 | ||
11:00
FROGGS[mobile] left
|
|||
timotimo | okay, i added a die_s to the beginning and that doesn't get hit either :o | 11:00 | |
i'll have to do this with jdb i fear. but first i have some errands to run | 11:01 | ||
11:01
brrt left
11:04
Celelibi left
11:06
Celelibi joined
|
|||
timotimo | it annoys me that i can't just replace "java" with "jdb" in the commandline >:( | 11:06 | |
11:25
hummeleBop1 left
11:32
Celelibi left
11:33
Celelibi joined
11:40
rindolf joined
11:59
iSlug joined
12:07
xinming left
12:08
xinming joined
12:34
kaleem left
12:35
kaleem joined
12:36
kaleem left,
kaleem joined
12:40
rindolf left
|
|||
lizmat | moritz: it's going to be a bit difficult for me to release Rakudo on the 21st, as I'll be on route to Kopenhagen that day | 12:41 | |
so it may become the 22nd | |||
*Kobenhavn | |||
moritz understood Kopenhagen just fine :-) | 12:42 | ||
lizmat | it was the Dutch spelling, and maybe the German ? | ||
moritz | ja :-) | ||
lizmat | :-) | ||
12:43
kaleem left,
kaleem joined
12:45
kaleem left,
atroxaper joined,
atroxaper left
12:46
kaleem joined
12:48
pernatiy joined
12:55
kaleem left
12:56
kaleem joined
12:58
kaleem left
13:11
kaare_ joined
13:15
atroxaper joined
|
|||
atroxaper | Hello #perl6 | 13:15 | |
jercos | hi atroxaper! | ||
atroxaper | jercos: hi! | 13:16 | |
jercos | How goes? :) | 13:17 | |
atroxaper | Fine. Thank you. :) | ||
lizmat | moritz: so who's in charge of commit bits for the Perl6 queue on RT ? | 13:19 | |
I have at least 5 tickets I can close | 13:20 | ||
13:21
logie joined
|
|||
moritz | lizmat: iirc [Coke] can hand them out | 13:23 | |
lizmat | preflex: tell [Coke] could you please give me a "commit" bit for the Perl 6 queue on RT ? | 13:24 | |
preflex | Consider it noted. | ||
[Coke] | I haven't tried to do this since the RT upgrade... | 13:30 | |
preflex | [Coke]: you have 1 new message. '/msg preflex messages' to read it. | ||
[Coke] | lizmat: done. Probably. | 13:31 | |
lizmat++ ! | |||
moritz | [Coke]++ # our tireless meta committer | 13:32 | |
lizmat | [Coke] if fixed, then I should change status to "Resolved" right ? | ||
colomon | [Coke]++ | ||
moritz | lizmat: fixed + tested => resolved | 13:33 | |
[Coke] | if just fixed, change basic -> tag to add "testneeded" | 13:34 | |
when responding to tickets, be sure to enable "cc to [email@hidden.address] if you want anyone to see the message (I try to do this for every update) | 13:35 | ||
... though I see the new one has a bcc to the mailing list pre checked, at least for this one ticket. nifty. | 13:36 | ||
13:38
logie left
|
|||
lizmat | away& | 13:59 | |
[Coke] | r: say "We have { 346 + 369 } tickets left for rakudo." | 14:01 | |
camelia | rakudo-parrot 9f0609, rakudo-jvm 9f0609: OUTPUT«We have 715 tickets left for rakudo.» | ||
[Coke] | ... plus a lot more todo/skips in the test suite that don't have named tickets. | 14:02 | |
colomon | BTW, the modules ADT, File::Spec, File::Spec::Case, Inline, JSON::RPC, LWP::Simple, Questhub, Sitemap::XML::Parser, and XML all broke sometime between Oct 25 and Nov 2, and are still broken, according to my smoke tester. | 14:05 | |
[Coke] | there's some LHF that doesn't require much programming or perl6 knowledge. look for rakudo skips/todos that don't reference a ticket number, create a ticket, referring to the test file, copy in the failing code (run it to show how it fails), then update the file in roast to refer to the newly created ticket number. | ||
FROGGS | colomon: I'll fix Inline then... | 14:06 | |
moritz | colomon++ # smoke testing | ||
colomon | colomon-- # not having time to keep better on top of things | 14:09 | |
colomon at least got a very interesting bug from a $customer overnight. | 14:10 | ||
[Coke] | #120480 should be an easy update. | 14:14 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120480 | ||
14:17
rindolf joined
14:24
logie joined
14:32
lowpro30 joined
14:33
spider-mario joined,
baest left
14:35
lowpro30_ joined
14:39
lowpro30 left
14:40
sivoais_ is now known as sivoais,
sivoais left,
sivoais joined
14:44
jnap joined
14:45
btyler joined
|
|||
moritz | r: my @words = <wantarray warranty>; say [eq] @words.map: *.comb.sort.join | 14:46 | |
camelia | rakudo-parrot 9f0609, rakudo-jvm 9f0609: OUTPUT«False» | ||
moritz | right, 'wantarray' has an 'a' more | ||
14:48
zakharyas left,
bbkr left
|
|||
pmichaud | (14) Disclaimer of Wantarray: THE PACKAGE IS PROVIDED WITHOUT ANY EXPRESS OR IMPLIED WANTARRAYS. | 14:54 | |
preflex | pmichaud: you have 1 new message. '/msg preflex messages' to read it. | ||
pmichaud | ...preflex? | 14:55 | |
moritz | phenny is dead, long live preflex+yoleaux | ||
where yoleaux appears to be dead now too | |||
FROGGS | yeah :/ | ||
hi pmichaud | 14:56 | ||
pmichaud | somehow a Duran Duran theme is bubbling to the surface of my brane now :-/ | ||
FROGGS | which one? | ||
pmichaud | en.wikipedia.org/wiki/The_Reflex | ||
FROGGS .oO( (Duran Duran)++, ohh that is re-duran-t ) | 14:57 | ||
pmichaud | not far from "reflex" to "preflex". Some sort of knee-jerk reaction on my part. :) | ||
moritz | .oO( some sort of knee-jerk preflex on your part ) |
14:59 | |
pmichaud | do we end up with a preyacc or prebison, too? | ||
nwc10 | where perl 6 is the postyacc? | 15:00 | |
(in the sense of grammars are first class, so who needs a specialised tool) | 15:01 | ||
moritz | and postyapc! | ||
15:02
zakharyas joined
|
|||
timotimo is back | 15:13 | ||
we are building a pneumatic delivery system \o/ | 15:14 | ||
15:15
logie left
|
|||
FROGGS | for beer? | 15:15 | |
ahh, wait | |||
pneumatic? | |||
where? | |||
moritz | and can I have it connected to my home? :-) | 15:16 | |
timotimo looks into the ADT test failure | |||
in our hackspace :) | 15:17 | ||
we only have 20 meters of tube | |||
but we successfully transported a 550g bottle of banana milk | |||
FROGGS | *g* | ||
timotimo | events.ccc.de/congress/2013/wiki/Pr...denStrasse - belongs to this specification | 15:19 | |
twitter.com/loltimo/status/4010063...28/photo/1 - tube | |||
15:19
logie joined
|
|||
moritz | for those who don't get the joke: the project name "seidenstrasse" is the German translation of "silk road" | 15:20 | |
(and now you only need to know about the tor-powered underground site of that name which used to sell drugs in the US) | 15:21 | ||
timotimo | drugs and murder. | ||
moritz | I'm not sure that last part was actually true, it sounded a bit untrustworthy | ||
timotimo | no idea | ||
moritz | (and the police couldn't find the alleged victim) | 15:22 | |
timotimo | that's a relief | ||
wow, my car looks so big on that picture | |||
15:23
kaleem joined
|
|||
FROGGS | anonymous transport? hehe | 15:28 | |
jnthn | evening, #perl6 | 15:33 | |
15:33
zakharyas left
|
|||
nwc10 | what is this "evening" concept. Particularly, what is it doing at 16:30 local time? :-) | 15:35 | |
or is it merely signalling a shift from coffee to beer? | |||
15:35
nnunley joined
|
|||
FROGGS | nqp: my @a; my @b := [1, 2, 3]; @a.push( |@b ); say(+@a) | 15:35 | |
camelia | nqp-jvm: OUTPUT«Wrong number of arguments passed; expected 2..2, but got 4 in push (gen/jvm/stage2/NQPCORE.setting) in (/tmp/MdXSHdNK6R:1) in (gen/jvm/stage2/NQPHLL.nqp:1100) in eval (gen/jvm/stage2/NQPHLL.nqp:1086) in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1292)…» | 15:36 | |
..nqp-moarvm: OUTPUT«Too many positional arguments; max 2, got 4push» | |||
..nqp-parrot: OUTPUT«too many positional arguments: 4 passed, 2 expectedcurrent instr.: '' pc 83 ((file unknown):53) (/tmp/hMppHkGoz5:1)» | |||
FROGGS | hi jnthn | ||
jnthn | nwc10: End of Norwegian working day ;) | ||
cosimo_ | jnthn: it's winter, so that is 15:30 :-) | 15:39 | |
jnthn | ;-) | 15:40 | |
Yeah, it's dark already | |||
I'd complain about it hampering my Bergen exploration but it's raining, which is a more serious problem. :) | |||
jnthn has been managing to just avoid catching a cold for a while... | |||
FROGGS | I am well for almost a week now :o) | 15:45 | |
timotimo | Unrecognized regex metacharacter | (must be quoted to match literally) -what have i done to deserve this? :| | ||
jnthn | timotimo: Screwed up your regex? :P | 15:46 | |
timotimo | yeah, apparently | ||
15:46
fhelmberger joined
|
|||
moritz | timotimo: you manage to get the most obscure errors :-) | 15:46 | |
jnthn | Try feeding it to STD to see if it feels the same way abou tit. | ||
FROGGS | abou tit? | ||
jnthn | about it :P | ||
moritz | fwiw an unpatched rakudo should never emit that error message, IMHO | 15:47 | |
because | is a recognized meta character for alternations | |||
jnthn | Yeah | ||
Thus why I'm curious what STD makes of it | |||
I guess timotimo may have local patches... :) | |||
moritz hopes so | |||
timotimo | std: grammar Test { rule params { | ||
camelia | std b469b42: OUTPUT«===SORRY!===Regex not terminated at /tmp/cOVjot9aMQ line 1 (EOF):------> grammar Test { rule params {⏏<EOL>Parse failedFAILED 00:01 122m» | ||
timotimo | ... | ||
std: grammar Test { rule params { | 15:48 | ||
camelia | std b469b42: OUTPUT«===SORRY!===Regex not terminated at /tmp/7WizX63QMr line 1 (EOF):------> grammar Test { rule params {⏏<EOL>Parse failedFAILED 00:01 122m» | ||
timotimo | oi! | ||
FROGGS | sure he has local patches :o) | ||
timotimo | std: grammar Test { rule params { '[' ~ ']' [ '::' $<typevar>=<.ident> { @.typevars.push($<typevar>.Str) }]+ % ',' | } } | ||
camelia | std b469b42: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/JjDyuuBbhQ line 1:------> pevars.push($<typevar>.Str) }]+ % ',' | ⏏} }Parse failedFAILED 00:01 128m» | ||
timotimo | std: grammar Test { rule params { '[' ~ ']' [ '::' $<typevar>=<.ident> { @.typevars.push($<typevar>.Str) }]+ % ',' | <?> } } | ||
camelia | std b469b42: OUTPUT«ok 00:01 128m» | ||
timotimo | r: grammar Test { rule params { '[' ~ ']' [ '::' $<typevar>=<.ident> { @.typevars.push($<typevar>.Str) }]+ % ',' | <?> } } | ||
camelia | ( no output ) | 15:49 | |
timotimo | er, huh? | ||
that doesn't work locally, i'm afraid | |||
jnthn: can you help me fix asynclines? if the file you're reading ends in a non-newline, the last line gets discarded | 15:51 | ||
i've changed code inside, but my changes are not getting picked up by rakudo-jvm :( | |||
jnthn | What's the patch you tried? | 15:52 | |
timotimo | i tried putting a die_s at the very beginning of Ops.linesasync | ||
15:52
thou joined
|
|||
jnthn will have to get a build... | 15:54 | ||
actually, bbi15... | |||
dalek | p/fix_async_lines: bd6d36b | (Timo Paulssen)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java: asynclines: make sure the last line gets passed on |
15:57 | |
timotimo | jnthn: here's a patch for you to try | ||
16:02
zakharyas joined
16:12
dmol left
|
|||
TimToady | I usually use '' rather than <?> when I really mean "match nothing" :) | 16:20 | |
16:20
[Sno] left,
thou left,
btyler left
16:24
thou joined
|
|||
japhb___ | Whoever it was that introduced the typo suggestion code, can you do it for multilevel names too, pretty please? I just spent 10 minutes tracking down MetaModel::ClassHOW <-> Metamodel::ClassHOW. | 16:34 | |
FROGGS | r: MetaModel::ClassHOW | ||
camelia | rakudo-jvm 9f0609: OUTPUT«Could not find symbol '&ClassHOW' in any find_method_fallback at gen/jvm/Metamodel.nqp:2607 in any find_method at gen/jvm/Metamodel.nqp:945 in any at gen/jvm/BOOTSTRAP.nqp:1658 in block at /tmp/s7YJXTOIh7:1 in any eval at gen/jvm/stage…» | 16:35 | |
..rakudo-parrot 9f0609: OUTPUT«Could not find symbol '&ClassHOW' in method <anon> at gen/parrot/CORE.setting:12006 in any at gen/parrot/Metamodel.nqp:2691 in any find_method_fallback at gen/parrot/Metamodel.nqp:2679 in any find_method at gen/parrot/Metamodel.nqp:946…» | |||
TimToady | jnthn: Glo and I got drenched when we were in Bergen this summer :) | 16:36 | |
jnthn | TimToady: Yes, from the folks I was teaching today I gathered that rain here is the common case. :) | 16:38 | |
16:39
lucas_ joined,
fhelmberger left
16:40
fhelmberger joined
|
|||
japhb___ | "Cannot create rw-accessors for natively typed attribute '$!foo'" -- OK, so what's the right way to set up an RW native attr using the metamodel? I did "my $attr := Attribute.new(:name<$!foo>, :type(str), :package($class), :has_accessor); $attr.set_rw;" then added it to my class-in-progress and composed. | 16:41 | |
jnthn | japhb___: It doesn't work any way yet | ||
r: class A { has int $.x is rw } # same | 16:42 | ||
camelia | rakudo-parrot 9f0609, rakudo-jvm 9f0609: OUTPUT«===SORRY!===Cannot create rw-accessors for natively typed attribute '$!x'» | ||
japhb___ | Huh. It never occurred to me that I'd never tried that. | ||
jnthn | timotimo: Um. So that branch fixes things to me. | ||
japhb___ | Well, snto. | ||
jnthn | timotimo: It does some debug output and then prints the last line correctly. | ||
japhb___ | *snot | ||
japhb___ wanders off to reconsider his plan of attack | |||
jnthn | heh, was trying to work out what snto was short for :) | 16:43 | |
timotimo | jnthn: i can't even get it to do the debug output, what the hell am i doing wrong?! | ||
jnthn | timotimo: I have no idea. I just did the make nqp-runtime.jar and then copied the thing in the right place, which is my usual trick to avoid the compilation cycle when testing... | 16:44 | |
timotimo | %) | ||
jnthn | But it should work out exactly the same with a make install and then a clean/make in Rakudo. | ||
timotimo | well, if it fixes things, i'll remove the debug stuff and push an amended commit to nom, okay? | ||
jnthn | ok | ||
uh, master, no? | |||
It's in NQP | |||
Also, nice catch :) | 16:45 | ||
16:45
fhelmberger left
|
|||
timotimo | thanks | 16:45 | |
it was terrorizing me ;) | |||
oh, it's in nqp! of course! | |||
dalek | p: 45cc981 | (Timo Paulssen)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncFileHandle.java: asynclines: make sure the last line gets passed on |
16:46 | |
16:47
sqirrel joined,
btyler joined
|
|||
timotimo | oh, it may be i had rakudo/nqp/install and rakudo/install | 16:47 | |
perhaps i've been installing the jvm stuff into the former and trying to use the stuff from the latter | 16:48 | ||
16:50
FROGGS left
|
|||
timotimo | i wonder if i'll be able to build nqp-moar | 16:57 | |
17:01
colomon left
17:02
colomon joined
|
|||
timotimo | now i can build moar again :) | 17:05 | |
dalek | p: ab172ab | (Timo Paulssen)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: teach moarvm that only QAST::Block has arity. |
||
17:09
fhelmberger joined,
dmol joined
17:10
xenoterracide joined
17:14
atroxaper left,
zakharyas left
17:15
cognominal joined
17:18
iSlug left
|
|||
timotimo | jnthn: does the stage jast lend itself to being parallelised? | 17:20 | |
17:21
kaleem left
17:30
sqirrel left
|
|||
timotimo | jnthn: and do you know any reason why regex matches cause mayhem if they are being run in parallel? something must be shared, be it the $/ variable or something internal to the regexes that doesn't get cloned (perhaps i should have used a sub instead of a simple block? | 17:32 | |
diakopter | timotimo: any two regexes? or the same regex? | 17:35 | |
17:39
kurahaupo_ joined
17:41
[Sno] joined
|
|||
timotimo | diakopter: two different ones in my test case | 17:43 | |
i had to put a lock around each invocation of ~~ | |||
17:43
fhelmberger left
17:44
fhelmberger joined
|
|||
timotimo | gah, i committed the debug outputs by accident | 17:46 | |
17:48
fhelmberger left
|
|||
diakopter | timotimo: wtf. | 17:49 | |
timotimo: that's kinda strange.. which backend? | |||
[Coke] | timotimo: did you install a version and that's taking precedence over the build-in-situ? | ||
timotimo | diakopter: the only one where we can have things in parallel | ||
jnthn | timotimo: My first guess is that it's 'cus the work to toss prior invocation hasn't been done on the JVM yet, and that creates some interesting issues | 17:51 | |
timotimo | ah, possibly | ||
17:53
Suhosin joined
|
|||
diakopter | timotimo: oh, right. :) | 17:55 | |
japhb just got a message from someone at $dayjob whose last name is Perl. | 17:56 | ||
17:56
dakkar left
|
|||
diakopter | *MIND BLOWN* | 17:56 | |
timotimo | :) | 17:57 | |
TimToady | a lot folks shortened their name to "Perl" when they immigrated to north america | 17:58 | |
*lot of | |||
jnap | well, Perl is now old enough that some programmer could have had kids old enough to be working now…. | 17:59 | |
timotimo | :) | ||
jnap | my grandmother's first name was Pearl, so its not so terribly off the mark | ||
geekosaur | "Perlman" | 18:00 | |
diakopter | I knew some Perlmutters | 18:01 | |
18:02
rurban1 joined
|
|||
[Coke] | went to college with a perlmutter. | 18:05 | |
my last name was changed a few generations ago, stupid lack of cyrillic. | |||
18:06
kurahaupo_ left,
lucas_ left
|
|||
japhb wonders just how many generations you'd have to go back before my last name wouldn't be spelled with a Latin alphabet. | 18:07 | ||
18:07
kurahaupo_ joined
|
|||
japhb | I'm guessing at least 50. | 18:08 | |
18:10
kurahaupo__ joined
18:12
kurahaupo_ left
|
|||
jnthn | dinner & | 18:12 | |
lizmat | TimToady: re github.com/perl6/specs/commit/3490...e22616adf9 , how can something be a role *and* a class ? | 18:14 | |
18:17
kurahaupo__ left
|
|||
lizmat | r: role Foo {}; class Foo {} # most definitely LTA error message | 18:18 | |
camelia | rakudo-parrot 9f0609, rakudo-jvm 9f0609: OUTPUT«===SORRY!===No such method 'is_composed' for invocant of type 'Perl6::Metamodel::ParametricRoleGroupHOW'» | ||
18:19
Rotwang joined
|
|||
TimToady | lizmat: only by putting everything you need for the punned class into the role | 18:19 | |
lizmat | so "class Supply" and "role Supply" should work in the same lexical namespace ? | 18:20 | |
TimToady | no | ||
you only get to declare the role, and a punned class comes for free | 18:21 | ||
r: role A { method foo { say 42 }}; say A.new.foo | 18:22 | ||
camelia | rakudo-parrot 9f0609, rakudo-jvm 9f0609: OUTPUT«42True» | ||
lizmat | aha... hmmm... | ||
TimToady | A is both a role and a punned class (or .new wouldn't work) | ||
18:23
iSlug joined
|
|||
TimToady | just trying to avoid multiplying names for things that aren't used as heavily as, say Positional/Array | 18:23 | |
lizmat finally understands what a punned class is | |||
TimToady | a punned class is roughly equivalent (or maybe exactly equivalent) to a role mixed into the empty class | 18:24 | |
dalek | ecs: 0ddcd00 | duff++ | S17-concurrency.pod: tiny typo |
||
lizmat | I would say the role is cat-licensed into a class | 18:27 | |
TimToady | speaking of S17, I have three or four gripes about the current formulation of "on", so expect some changes there yet | ||
lizmat: did you see the change from Thread.join to Thread.finish? | 18:28 | ||
lizmat | yes, I will take care of that later tonight | ||
:-) | |||
TimToady | that seems to be in your field of endeavor | ||
thanks! | |||
lizmat | about to go and see Thor in 3D :-) | ||
TimToady | we put that off till tomorrow :) | ||
re: 'on', 1) too moosey, 2) too hashy, 3) too much boilerplate, 4) 'on' is huffmanly rather short, 5) 'on' doesn't express the single-file protection going on | 18:32 | ||
to me the one-at-a-time-ness is more important than the event-handler-ness | 18:33 | ||
though it would be nice to express both somehow | |||
but from a smelliness point of view, it's all the boilerplate that bothers me most | |||
Juerd | after? | 18:34 | |
lizmat | atatime | ||
TimToady | the metaphor probably wants to be something like working a todo list off one thing at a time, if there's a short word for that | 18:35 | |
Juerd | Next :P | ||
TimToady | :P indeed :) | ||
japhb___ successfully generates source code for a class definition by building the class up in the Metamodel and then serializing from the class metamodel definition. o/ | 18:36 | ||
Sometimes it's the little wins that feel the best. | |||
lizmat | chain? | ||
flow? | 18:37 | ||
Juerd | issue | ||
TimToady | but if you look at the examples in S17, the different cases are very neary entirely duplicated, which bothers me more than the name-that-verb bikeshed | ||
*nearly | |||
lizmat | neatly { } | ||
TimToady | japhb___: \o/ | 18:38 | |
18:38
SamuraiJack left
|
|||
lizmat will be back later | 18:39 | ||
TimToady | also, note the difference between .tap that has a positional interface, and 'on' that does the same thing with named entries | ||
(more,done,fail) | |||
18:39
ssutch joined
|
|||
TimToady | I guess that falls under 2) | 18:40 | |
also, all the $a/$b stuff smacks of the sort { $a <=> $b } notion, so I feel like there ought to be a more concise way to express the switchery without actually writing a switch | 18:42 | ||
needs to be some kind of HOP inversion somehow | 18:43 | ||
18:45
logie left
18:49
rindolf left
18:52
Shellcat joined
|
|||
japhb | What would you call a ClassHOW subclass that knows how to serialize classes it has created into source code? | 18:55 | |
Hmmm, or maybe it deserves to be a role that's composed into the ClassHOW subclass. | |||
18:55
sqirrel joined
|
|||
japhb | Still, my question is about naming. | 18:56 | |
TimToady | Perlable? | ||
japhb | hmmm, that does make sense | ||
PerlJam | he didn't say source code of which language ;) | 18:57 | |
TimToady | hence the ? | ||
japhb | Well, in this case, Perl is in fact what I'm generating. :-) | ||
TimToady was assuming the same mental shortcircuit that causes Python to have .repr rather than .python :) | 18:58 | ||
but was uncomfortable making that assumption, and added the ? Just In Case | |||
but in my mind it was more about the "Perl" part than the "able" part | 18:59 | ||
japhb | If our minds didn't occasionally short-circuit, they'd be very slow indeed. | ||
.oO( Deep Thought ) |
19:00 | ||
TimToady tries to think of a game where Deep Thought and Watson would be equally matched :) | 19:01 | ||
19:01
logie joined
|
|||
TimToady | well, probably any game that isn't "chess" or "Jeopardy" | 19:02 | |
timotimo | 11M Nov 14 19:01 original_big_diff | 19:04 | |
9,5M Nov 14 20:03 shiny_small_diff | |||
>_< | |||
i did not do this well. | 19:08 | ||
19:08
thou left
19:09
cognominal left
|
|||
colomon imagines a game of chess where you have to defeat each piece in a trivia battle... | 19:12 | ||
PerlJam | .oO( Isn't that just wizard's chess? ) |
19:13 | |
19:16
iSlug left
|
|||
TimToady | "Hey, Rook, I can't evaluate your move fitness until I know the Final Jeopardy Category on that Bishop over there." | 19:16 | |
"It's Biblical Grandfathers." | 19:18 | ||
"Okay, maybe you'd better hold off on attacking a Bishop then..." | |||
timotimo | hum. what to do now? | 19:26 | |
19:28
pernatiy left
19:30
FROGGS[mobile] joined,
raiph joined
19:32
sqirrel left
|
|||
timotimo | oh, there was some bug i said i would look at | 19:35 | |
19:35
logie left
|
|||
timotimo | hm, what was that again :| | 19:35 | |
raiph | timotimo: ADT? | ||
timotimo: ADHD? | |||
timotimo | ADT is something else entirely! ;) | 19:36 | |
no, i was going to try to turn postfix:<++> into prefix:<++> in sink context | |||
19:42
Rotwang left
|
|||
timotimo | r: my $start = 0; my $time = nqp::time_n(); while $start < 100_000 { $start++ }; say nqp::time_n() - $time; | 19:43 | |
camelia | rakudo-jvm 9f0609: OUTPUT«0.8990001678466797» | ||
..rakudo-parrot 9f0609: OUTPUT«2.70193910598755» | |||
timotimo | r: my $start = 0; my $time = nqp::time_n(); while $start < 100_000 { ++$start }; say nqp::time_n() - $time; | ||
camelia | rakudo-parrot 9f0609: OUTPUT«2.38896989822388» | ||
..rakudo-jvm 9f0609: OUTPUT«0.7319998741149902» | |||
timotimo | r: my $start = 0; my $time = nqp::time_n(); while $start < 100_000 { $start++ }; say nqp::time_n() - $time; | ||
camelia | rakudo-jvm 9f0609: OUTPUT«1.6119999885559082» | ||
..rakudo-parrot 9f0609: OUTPUT«2.65007400512695» | |||
timotimo | r: my $start = 0; my $time = nqp::time_n(); while $start < 100_000 { ++$start }; say nqp::time_n() - $time; | ||
camelia | rakudo-jvm 9f0609: OUTPUT«0.6499998569488525» | 19:44 | |
..rakudo-parrot 9f0609: OUTPUT«2.50400900840759» | |||
timotimo | ah, a very unstable measurement | ||
19:44
thou joined
|
|||
FROGGS[mobile] | You should make it to switch to JVM instead of the prefix | 19:45 | |
timotimo | that's a good idea :) | ||
on my local machine it's about 10% difference | |||
since the optimisation is pretty trivial to implement, i can just plop it in. | 19:46 | ||
japhb___ | OK, the metamodel? Officially awesome now. (As if it wasn't before ....) | 19:54 | |
timotimo | :D | 19:55 | |
19:57
logie joined
19:59
Rotwang joined
20:03
logie left
|
|||
lue | hello world o/ | 20:03 | |
20:04
logie joined
|
|||
timotimo | hey lue :) | 20:06 | |
jnthn | japhb___: What made it official? :) | 20:07 | |
japhb___ | Give me a sec, I'll gist. | ||
tadzik | good morning #perl6 | ||
timotimo | hey tadzik, how are you? | 20:08 | |
tadzik | pretty good :) | ||
vacations are nice, I should do more of those | |||
jnthn | morning? :) | 20:09 | |
tadzik | ymmv :P | ||
timotimo | ytzmv? ;) | 20:10 | |
tadzik | that too :) | ||
japhb | jnthn: gist.github.com/japhb/7473529 | 20:11 | |
jnthn | ooh :) | 20:13 | |
japhb | Yeah, cool, huh? This makes me happy. | 20:14 | |
timotimo is kinda sad he probably won't be breaking the 100 seconds barrier for parrot setting parse time before the release | 20:15 | ||
tadzik | very cool | ||
lue | jnthn: I have two quick questions: 1) I can make my own nqp:: ops for use with the <O()> rule, right? 2) How would I deal with an operator that has multiple forms (e.g. + for integers and + for lists)? (Rakudo's grammar isn't too helpful there.) Would I need to move beyond simple actions/grammar, or...? | ||
timotimo | do you already know at parse-time if you have a list or an integer? | 20:16 | |
20:16
iSlug joined
|
|||
timotimo | of course you do if it's a literal, but what about variables? | 20:16 | |
TimToady | and why would you want to do that? | 20:17 | |
lue | timotimo: at the moment I'm not implementing variables, so yes I would know. (But not forever, admittedly.) | ||
20:18
raiph left
|
|||
jnthn | lue: You can register custom ops for your language but it's often easier just to give your language a "setting" or similar and leave the code-gen to produce a call to the op. | 20:20 | |
lue | I get the feeling it would be better implemented going beyond O() and friends. (There's only one precedence level and parens, so it wouldn't be too bad :P) | 20:21 | |
jnthn | lue: For multi-form operators, you'll probably need to code-gen a call that dispatches by type, either using multi-dispatch or just nqp::istype to decide. Really depends on the langauge. | ||
lue | jnthn: it's APLish :) | ||
jnthn | lue: You still use O, you just don't do :op<...? | ||
lue: Instead you leave it alone and it code-gens a call to e.g. &infix:<foo> automatically | |||
Taking the name from the <sym> | 20:22 | ||
Or something along those lines. :) | |||
lue | jnthn: yeah, I noticed rakudo does that towards the end of Grammar.nqp, but I couldn't tell what was supposed to happen after the Grammar | ||
jnthn | Or you can write an action method and make it do just what you want. | ||
lue thinks APL has function definition stuff suitable for a setting. He checks | |||
yeah. So I think what I have to do is implement ∇ (function definition) so I can get started on a setting as soon as possible. (Setting seems the natural way to go anyway) :) | 20:25 | ||
20:25
raiph joined
|
|||
lue | jnthn: so IIUC, using <O()> without :op<> generates a call to a sub which I've defined in NQP, correct? So the definition of &infix:<foo> would occur elsewhere in the NQP code of the compiler in that case. | 20:26 | |
jnthn | lue: It just needs to be somehow in the lexical scope of the thing that calls it | 20:28 | |
lue: Which you can arrange setting-style or import-style. | |||
lue | import-style would be 'use' statements or something? | 20:31 | |
jnthn | yeah | 20:32 | |
lue | .oO(and here I thought APL would just be a couple dozen operator parse rules. Now I accidentally a setting :) . I'll go look at how NQP and Rakudo and the like get that working before doing it. ) |
20:34 | |
20:41
logie left
20:43
kaare_ left
20:45
cooper joined
20:46
iSlug left
|
|||
dalek | ecs: 4fa5b48 | larry++ | S17-concurrency.pod: clarify that @$channel is not a combinator |
20:47 | |
20:50
Vlavv` left
|
|||
diakopter | TimToady: *transfering | 20:56 | |
(quick, forcepush correction) | 20:57 | ||
20:57
logie joined
|
|||
jnthn ponders how to implement @$channel ))) | 20:58 | ||
oh...I think I know... | 20:59 | ||
timotimo | jnthn: where's all the remaining performance wins? :( | 21:00 | |
lue | is @$ supposed to be a new sigil, or @-sigil+$-trigil, or @($channel) ? | 21:01 | |
timotimo | no, it's just @($....) | ||
japhb___ | timotimo: On a positive note, every time you shave away at the non-bottleneck, it means that when someone (maybe you) *does* find and fix the bottleneck, it will be a huge win. | ||
timotimo | percentage-wise, yeah | 21:02 | |
japhb___ | And sometimes you have to scrape away the small problems before you can uncover the big ones. | ||
timotimo | mhm | 21:03 | |
21:03
Vlavv` joined
|
|||
japhb___ | (For instance, I have the damnedest time reviewing code for bugs when it is formatted poorly in a thousand small ways.) | 21:03 | |
timotimo | my code is always pretty :P | ||
i think my postfix-to-prefix optimisation works | 21:05 | ||
jnthn | timotimo: Which language? | 21:06 | |
timotimo | jnthn: nqp and rakudo both | ||
(was that re: where's all the remaining performance wins? or the optimisation?) | 21:07 | ||
timotimo runs a full spectest | 21:08 | ||
21:08
amkrankruleuen left
|
|||
dalek | ecs: 9941758 | larry++ | S17-concurrency.pod: speculate 'on' changes |
21:10 | |
jnthn | *groan* :P | 21:13 | |
(at the pun commit message, not the contents...) | |||
PerlJam is going to have to read S17 (probably a few times) because that commit is a tad indecipherable | 21:16 | ||
timotimo | yeah, S17 is a bit opaque. you have to leave all your preconceptions at the door | 21:17 | |
jnthn | TimToady: Something feels a bit off with that, but I'm not quite sure what... | 21:19 | |
TimToady | yeah, just meant to be closer | ||
jnthn | combine is a better name. | ||
TimToady | needs different topicalization or something | ||
at one point was passing in the instantiable data as $a => @as but that didn't feel even righter | 21:20 | ||
japhb | I read that as "insatiable data" | ||
TimToady | but the basic idea that it's a bit of generic code to be instantiated over two (or more) supplies (or channels?) | ||
timotimo | TimToady: did i have your blessing to compare signatures in the spectests by strings, or should i implement :(Mu *@) to work as a special case? | 21:21 | |
jnthn | japhb: Hah, I want to give a talk with that title now :P | ||
TimToady | wanted to be able to zip list-associatives | ||
japhb | jnthn, YES. DO THAT, PLEASE. ;-) | ||
jnthn | TimToady: I *think* the construct only makes sense on supplies. | ||
TimToady | could be | ||
21:22
japhb___ is now known as japhb_
21:24
spider-mario left
|
|||
diakopter | "thread-safely problems" | 21:24 | |
jnthn | The main point of combine is its actor-ish semantics. | 21:26 | |
.oO( The main point of most of what I shoved in S17 is actor-ish semantics... ) |
|||
21:28
iSlug joined
21:31
bbkr_ left
|
|||
TimToady | timotimo: I'm fine with testing via strings | 21:37 | |
21:41
Ember joined
|
|||
TimToady | most languages just throw up their hands at the notion of comparing signatures deeply | 21:42 | |
you'd need a fairly circumscribed call syntax and type system to get around that; something you could do in Prolog but not in Perl | 21:43 | ||
(and it's probably too hard to do right in Prolog too :) | |||
doubtless there's some theory here that I'm glossing over because I'm unaware of it :) | 21:44 | ||
21:46
davecv joined,
bbkr joined
21:49
raiph left
|
|||
dalek | kudo/nom: ce1def9 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp: in sink context, ++foo is faster than foo++ by 10% |
21:50 | |
ecs: c1710c1 | larry++ | S17-concurrency.pod: conjecture multi-way merge as well |
21:53 | ||
p: 22f47f8 | dwarring++ | examples/rubyish/examples-rubyish/pi.rbi: tidied rubyish PI example |
21:54 | ||
timotimo | jnthn: can you explain to me why the pir generator builds lots of "get_sc_object $P5001, "uaidtrenuiadtren", 1234" and directly afterwards "set $P100, 5001"? i made an 'optimisation' that directly puts the second register into the first instruction and it b0rked with NPMCA :( | 21:58 | |
diakopter | timotimo: I guess it wanted to use P5001 later also? | 22:00 | |
timotimo | but i set :returns to the same register, too, and that's the only mechanism how the caller could have figure dout what register that was supposed to be | ||
diakopter | timotimo: also, be sure to change the "result register" of the expression | ||
ok | 22:01 | ||
timotimo | i don't think i really looked at the resulting code, though | ||
diakopter throws you a look | |||
timotimo | thanks, i'll use that | ||
bleh, the commit dropped off my log, i'll have to find it in the reflog | |||
it's gone :| | 22:02 | ||
i can reconstruct it quickly, though | 22:04 | ||
jnthn | timotimo: Are you sure that the $P100 isn't actually a lexical-holding register? | 22:06 | |
timotimo | it is | ||
can only set put things into lexical-holding registers? | |||
jnthn | No, should be fine to directly put them in too... | ||
timotimo | that's what i thought :( | 22:07 | |
well, i'll see what the code looks like exactly and then i'll see | |||
22:07
BenGoldberg joined
|
|||
timotimo | i think i may actually have implemented it subtly differently this time | 22:10 | |
because now it compiles much further than last time | |||
jnthn | :) | ||
You did it subtly righter this time... | |||
timotimo | yeah, i bet i accidentally forgot to push the op that created the get_sc_object | 22:11 | |
22:11
raiph joined
|
|||
timotimo | er ... too many named arguments: 'instance_of' not used | 22:11 | |
wow | |||
22:11
Ember left
|
|||
jnthn | gonna get an early night | 22:12 | |
& | |||
timotimo | gnite jnthn! | ||
jnthn: gist.github.com/timo/d223a4d09d602091e5af - you just missed it ;) | 22:14 | ||
it doesn't seem to fill _lex_param_1 at all :o | 22:16 | ||
though it says .param pmc _lex_param_1, so maybe it passes on the parameter from the caller down to that call? | 22:17 | ||
i may be looking at the wrong stack frame ... | 22:23 | ||
22:29
Rotwang left
|
|||
pmichaud | I left a comment on the ++ optimization -- could someone verify that it's actually safe to make that change? | 22:30 | |
22:30
denisboyun joined
|
|||
pmichaud | I guess that's what ".is_from_core" is supposed to handle? | 22:32 | |
(added comment.) | 22:33 | ||
I'm afk for a while. | |||
22:35
amkrankruleuen joined,
amkrankruleuen left,
amkrankruleuen joined,
lowpro30 joined
22:37
lowpro30__ joined
22:38
lowpro30_ left
22:39
denisboyun left
22:40
lowpro30 left
|
|||
dalek | p: 9564ed6 | dwarring++ | examples/rubyish/ (2 files): wrap nqp::sprintf - demo rubyish slurpy args |
22:53 | |
22:58
raiph left
|
|||
BenGoldberg | Can anyone here either identify this quote, or at least guess what language the speaker was talking about: "It is the language of the future for the programming techniques of the past" | 23:04 | |
:) | |||
23:07
wbill left,
PacoAir left
|
|||
lue | BenGoldberg: I want to say C or C++, but it's likely Lisp or, less likely, Go. | 23:08 | |
perigrin | www.brainyquote.com/quotes/quotes/e...01169.html | ||
Go is too new. | |||
but I thought of Go pretty much immediately too :) | 23:09 | ||
timotimo | a friend told me "go is a better pythonic language than python" | ||
perigrin | unless that friend was Guido ... I'm not sure I'd believe them. | ||
BenGoldberg | "APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums." —Edsger Dijkstra, 1968 | 23:10 | |
timotimo | or a "more pythonic language" | ||
geekosaur | go might, however, be python in google's image... | 23:11 | |
perigrin | Go is Python as if it were written by Rob Pike. | 23:15 | |
japhb | rj: class Foo { has str $.str; }; my $foo = Foo.new; say $foo.str; | 23:39 | |
camelia | rakudo-jvm 9f0609: OUTPUT«java.lang.NullPointerException in method print at gen/jvm/CORE.setting:13035 in block at /tmp/SK1aduPw2H:1 in any eval at gen/jvm/stage2/NQPHLL.nqp:1086 in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292 in any command_eval at gen/jvm/s…» | ||
japhb | Am I correct that's a bug? | ||
(Well, any NPE is, I meant, that it says anything other than an empty string? ) | 23:40 | ||
rj: class Foo { has int $.int; }; my $foo = Foo.new; say $foo.int; | |||
camelia | rakudo-jvm 9f0609: OUTPUT«0» | ||
japhb | rj: class Foo { has num $.num; }; my $foo = Foo.new; say $foo.num; | ||
camelia | rakudo-jvm 9f0609: OUTPUT«0» | ||
japhb | So yeah, just a str problem. | 23:41 | |
TimToady | what is this 'str' type of which you speak? The specs claim there is no str type, in fact... | ||
lue | native str ≈ buf methinks | 23:42 | |
japhb: try s:g/str/Str/ | |||
TimToady | rj: class Foo { has Str $.str; }; my $foo = Foo.new; say $foo.str; | 23:44 | |
camelia | rakudo-jvm 9f0609: OUTPUT«(Str)» | ||
TimToady | S02:878 btw | 23:45 | |
synopsebot | Link: perlcabal.org/syn/S02.html#line_878 | ||
TimToady | though some of the surrounding prose is...speculative... | ||
japhb | I'm just trying to support serializing any class definition that can be specified in Rakudo. | 23:50 | |
Unfortunately, just that one case fails in r-j, but works in r-p. So far, everything else works in both. | |||
rj: class Foo { has str $.str = ""; }; my $foo = Foo.new; say $foo.str; | 23:51 | ||
camelia | rakudo-jvm 9f0609: OUTPUT«java.lang.NullPointerException in method print at gen/jvm/CORE.setting:13035 in block at /tmp/heRDJOqZ7y:1 in any eval at gen/jvm/stage2/NQPHLL.nqp:1086 in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292 in any command_eval at gen/jvm/s…» | ||
japhb | rj: class Foo { has str $.str = "foo"; }; my $foo = Foo.new; say $foo.str; | ||
camelia | rakudo-jvm 9f0609: OUTPUT«java.lang.NullPointerException in method print at gen/jvm/CORE.setting:13035 in block at /tmp/1ZwBAAOhlZ:1 in any eval at gen/jvm/stage2/NQPHLL.nqp:1086 in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292 in any command_eval at gen/jvm/s…» | ||
japhb | rj: class Foo { has str $.str; }; my $foo = Foo.new(str => "foo"); say $foo.str; | ||
camelia | rakudo-jvm 9f0609: OUTPUT«foo» | ||
23:52
btyler left
|
|||
japhb | So perhaps str native attrs don't get built properly .... | 23:52 | |
TimToady, what is the native of a Str supposed to be, if not a str? | 23:53 | ||
TimToady still thinks the concept "native" is overly generic and leads to things like "str" types that mean different things in different lands | |||
TimToady has no clue what a "str" is supposed to be | 23:54 | ||
japhb | Which is to say, if you're creating the Str class itself, how do you specify the underlying VM thing that's holding the string contents? | ||
TimToady | nor what "native" means in that context | ||
everywhere else, "native" is currently meaning "like in C", but C has no string types | 23:55 | ||
japhb | For me, "native" means "the form that the VM ops work on" | ||
TimToady | so a completely non-portable concept that should probably have different names on different platforms | ||
japhb | I can see "like in C" for *sized* natives, but the generic natives surely are VM-specific, no? | ||
TimToady, that answer is a bit negative when it comes to writing the non-VM-specific parts of Rakudo | 23:56 | ||
TimToady | and what do you mean by "native" if C and the VM are in disagreement on a particular matchine? | ||
japhb | Perhaps we're talking past each other. | ||
For me, I see num64 == C double, num32 == C float. But num == whatever the VM wants it to be. | 23:57 | ||
And I apply the same logic to int and str. | |||
TimToady | I'm just saying that "native" is a nebulous concept that causes people to apply the same logic where it doesn't make sense :) | ||
japhb | I concede that point. | 23:58 | |
And now I want to find a practical solution. | |||
TimToady | to a nebulous type defined by rakudo but not by Perl 6? :P | ||
TimToady has not opinion on that subject :) | 23:59 | ||
*no | |||
diakopter | TimToady: native just means .. oh nm :) |