»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
lue hi! (oh masak and your puns :) ) 00:00
00:01 masak` joined 00:02 masak left
lue oh hello masak with a ` 00:03
00:04 masak` is now known as masak
masak lue: I accidentally my hotel wifi. 00:05
masak shouldn't that meme all the time
wallberg masak: i don't think so. where does viklund work? :-) 00:06
masak wallberg: in Siv Anderssons group. 00:07
wallberg: I was just randomly guessing that he might have inspired you to check #perl6 out. but maybe you're just a naturally enlightened person. :) 00:08
wallberg masak: ooops. haha. *that* viklund. yes I am. or rather, I were. i finished my PhD last year and has been on paternity leave since (yes I am Swedish).
masak last time I heard from viklund, he was on paternity leave too. 00:09
dalek kudo: 3cc313f | jonathan++ | src/Perl6/Module/Locator.pm:
Include alternative versions of modules in the candidate list too.
00:10
kudo: 8b2fb24 | jonathan++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get readdir that works on Win32.
kudo: aa8c65e | jonathan++ | (5 files):
Identify version and authority properly for each module in the candidate list. Choosing latest if multiple versions are found now appears to work (though requesting specific version/authority is NYI).
wallberg true. LOL, that is all we do around here.
i have not had a chat about Perl 6 with him yet. is he much involved in this? 00:11
masak he used to be slightly more involved.
he and I wrote a wiki engine of some repute eighteen months ago. 00:12
after that, he seems to have become understandably distracted by suddenly having a family. 00:14
wallberg yup
say masak, are you still at farmbio? 00:15
masak I work there, yes.
it brings me the money to sustain my unhealthy Perl 6 habits. :P 00:16
wallberg are there any local Perl groups in the Uppsala area?
masak no. should we form one? 00:17
lue masak: so you only pay for electricity then? :D
wallberg would you (and perhaps viklund) by any chance be interested in starting one with me?
:-)
masak wallberg: yes!
lue: there's also wifi, and some form of nutrition, and shelter. and Perl conferences. :) 00:18
wallberg: so, when's the next local meeting? 00:19
lue you can get the water out of your laptop's cooling unit, and h2g2 ought to tell you about restaurants in your area giving P6 programmers free food :)
wallberg gr8! the only other geek group I know of in Uppsala is ULUG, which is pretty densely populated with network/sysadmin people. perhaps we should announce our intentions there too? 00:21
00:21 am0c joined
wallberg masak: I have a cold atm. perhaps the next week or so? 00:21
lue "Hello! We wish to disseminate you!" :)
00:24 masak left
wallberg masak: have you started doing any seirious bioinformatics programming in Perl 6 yet? 00:24
00:25 jaldhar joined
wallberg ?seirious? 00:25
00:26 lestrrat is now known as lest_away
wallberg oh he left 00:26
well see ya. bye!
00:26 wallberg left, kensanata left 00:27 masak joined
masak wallberg: no, I didn't leave! my wifi got dead... :/ 00:28
arnsholt Hopefully he'll be back
lue your wifi needs a defibrilliator+pacemaker :P
arnsholt Or you could try to reach him through viklund
masak I'll email him. 00:29
hopefully he checks his work address.
s/hopefully/hopeably/ :P
lue It's not just what I said...it's what I sed. 00:31
masak lue++ 00:32
That's what she sed!
colomon loves that we are currently sitting at revision 30,000 in the pugs svn. 00:37
masak 5,000 commits a year. 00:38
that's 170 commits a day. \o/ 00:39
oh wait no.
13 commits a day.
on average. 00:40
lue that's more like it :)
00:42 coke joined
coke does rakudo's test harness support TEST_JOBS or something like it? 00:42
colomon coke: I believe so. 00:43
masak time for me to sleep for a few hours. o/ 00:44
00:44 masak left
coke colomon: ok. TEST_JOBS isn't it. any suggestions? =-) 00:48
colomon darn, I kind of thought it was TEST_JOBS. 00:49
bkeeler_ Last time I skimmed the code, it seemed that 'make spectest' had parallism, but test_summary.pl had none
coke s/isn't it/doesn't seem to work on 'make test'/
colomon bkeeler: true, I'm thinking of make spectest here.
bkeeler_ I don't recall it being driven by any particular environment variable 00:50
colomon might be as simple as make -j4 spectest...
coke oh bother. is t/harness p5 or p6?
bkeeler_ p5 I think
colomon p5
arnsholt colomon: I don't think -j will work 00:51
colomon for sure, there's no use strict or use warnings in p6 yet.
coke that would do it. this is a brand new box with an old system perl. installing a fresh 5.10.1...
bkeeler_ It's probably about time we wrote a nice harness in p6
lue -j is for # of cores, right?
coke basically. (# of jobs.). cores+1 is the typical # I see used. 00:52
colomon irclog.perlgeek.de/perl6/2010-02-18#i_2004892
that link suggests TEST_JOBS is correct.
arnsholt -j is the number of subprocesses make spawns at a time, IIRC
colomon something like TEST_JOBS=5 make spectest 00:54
irclog.perlgeek.de/perl6/2009-10-04#i_1568365
lue is tempted to run make -j4096 and see what happens :)
01:01 lest_away is now known as lestrrat 01:14 yinyin joined 01:27 Limbic_Region left
lue afk& 01:31
coke yay, TEST_JOBS does work if you have an updated Test::Harness.
colomon++
colomon sorry I just didn't know the answer off the top of my head. :)
01:36 xomas left, xomas joined, xomas left, xomas joined
coke is there a git-ack or something that just searches non-generated files? 01:39
[facepalm] git grep it is. 01:40
01:41 Chillance left
colomon really? sweet 01:41
01:50 wknight8111 left
coke do infinite ranges work yet? 01:53
TimToady define "work" 01:55
coke enough to close: rt.perl.org/rt3/Ticket/Display.html?id=57992
TimToady rakudo: say (1..*).max 01:58
p6eval rakudo aa8c65: OUTPUT«!whatever_dispatch_helper␤»
TimToady perhaps not quite
alpha: say (1..*).max
p6eval alpha 30e0ed: OUTPUT«!whatever_closure␤»
TimToady rakudo: say (1..Inf).[42] 01:59
p6eval rakudo aa8c65: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class 'Range'␤current instr.: '!postcircumfix:<[ ]>' pc 10559 (src/builtins/Role.pir:90)␤»
TimToady rakudo: say (1..Inf).max
colomon errr... what do you expect (1..*).max to return?
p6eval rakudo aa8c65: OUTPUT«Inf␤»
TimToady that
02:00 ShaneC left
colomon TimToady: pmichaud and I had a discussion on that. what would you expect 02:00
('a'..*).max to return?
TimToady Inf, actually
colomon So Inf should work for non-numeric, too? 02:01
TimToady S03:1340
colomon well, I'll be. 02:02
TimToady nobody ever reads the specs :)
colomon TimToady: well, there's a lot of them, and it's frequently not obvious where to look... :) 02:03
and someone's always changing them.
TimToady I believe that particular bit is several years old :) 02:04
coke has enough to walk away from that ticket.
coke wonders how to find the current git revision.
colomon git log on your end.
github.com/rakudo/rakudo/commits/master on github 02:05
coke just wants "git log | head -1" 02:06
(and short.) (coke is sure to backup his .gitconfig this time. :P) 02:07
colomon Probably a way to do that, too, but I'm just barely competent at git myself. :) 02:08
02:08 k23z__ joined, k23z__ left, k23z__ joined
coke std: for (my $i = 1; $i <= 3; $i++) { say $i; } 02:11
p6eval std 30000: OUTPUT«===SORRY!===␤Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at /tmp/KIPXncZzEo line 1:␤------> for ⏏(my $i = 1; $i <= 3; $i++) { say $i; }␤FAILED 00:01 107m␤»
coke rakudo: for (my $i = 1; $i <= 3; $i++) { say $i; }
p6eval rakudo aa8c65: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 11, near "(my $i = 1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
colomon rakudo: loop (my $i = 1; $i <= 3; $i++) { say $i; } 02:13
p6eval rakudo aa8c65: OUTPUT«1␤2␤3␤»
colomon but really...
rakudo: for 1..3 -> $i { say $i }
p6eval rakudo aa8c65: OUTPUT«1␤2␤3␤»
coke hurm. if rakudo has a passing spec test, does that count for "this must be tested before we can close the ticket." ? 02:14
also, if I wish to mark an RT as "needs tests", what's the protocl? 02:15
is it still "assign to moritz"?
colomon I would think yes in the first case.
I don't know what the protocol is in the second case.
pugssvn r30001 | colomon++ | [t/spec] Some tests for :f. 02:17
coke colomon: if you're writing spec tests, I'll leave 62478 to you. =-)
colomon usually I mostly write tests for code I am actually working on. :) 02:18
but if I can find the RT in my e-mail, I'll take a look.
See if I know how to do it.
coke: do you have a link to the ticket? (my RT skills are less than awesome) 02:22
02:22 ShaneC joined
coke colomon: rt.perl.org/rt3/Ticket/Display.html?id=62478 02:23
colomon oh, I see. 02:24
It would be good to have a test for that, I think I've seen something like that in the tests before.... 02:25
rakudo: eval("for (my $i = 1; $i <= 3; $i++) { say $i; }") 02:30
p6eval rakudo aa8c65: OUTPUT«Symbol '$i' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
colomon rakudo: eval('for (my $i = 1; $i <= 3; $i++) { say $i; }')
p6eval rakudo aa8c65: ( no output )
colomon rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') } 02:31
p6eval rakudo aa8c65: ( no output )
colomon rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say $!.WHAT 02:32
p6eval rakudo aa8c65: OUTPUT«Failure()␤»
colomon rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say $!.Str 02:33
p6eval rakudo aa8c65: OUTPUT«No exception handler and no message␤current instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)␤»
colomon rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say ~$!
p6eval rakudo aa8c65: OUTPUT«No exception handler and no message␤current instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)␤»
02:33 perpetrator left
colomon rakudo: eval('for (my $i = 1; $i <= 3; $i++) { say $i; }'); say "$!" 02:34
p6eval rakudo aa8c65: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 1, near "(my $i = 1"␤»
colomon bingo!
coke LHF? 02:36
colomon I dunno if it's LHF, but I think I can write the test. 02:37
And I learned useful stuff in the process, coke++
coke no, what is "LHF?"
colomon low-hanging fruit
02:39 JimmyZ joined
coke ah. danke. 02:39
LHF is low hanging fruit.
LHF?
what, no purl? =-)
colomon blast. I wrote the tests in for.t, which isn't actually turned on. 02:41
coke is rt.perl.org/rt3/Ticket/Display.html?id=70664 closable? (has tests, seems to work.) 02:42
02:46 k23z__ left, perpetrator joined
coke std: say Rat.new.perl 02:48
p6eval std 30001: OUTPUT«ok 00:01 104m␤»
colomon is on an epic quest to get for.t working... 02:49
02:50 cdarroch left
coke rakudo: 3, 02:51
p6eval rakudo aa8c65: OUTPUT«Confused at line 11, near "3,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:58 xomas left
coke there are a lot of tickets with "This is an automatically generated mail to inform you that tests are now available in" 03:00
JimmyZ std: 3,
p6eval std 30001: OUTPUT«ok 00:01 107m␤»
colomon rakudo: for "hello" { .say } 03:02
p6eval rakudo aa8c65: OUTPUT«hello␤»
colomon rakudo: for "hello" { .lc.say } 03:05
p6eval rakudo aa8c65: OUTPUT«hello␤»
colomon rakudo: { .lc.say } for "hello"
p6eval rakudo aa8c65: ( no output )
colomon rakudo: { .lc.say } for "hello"; 03:07
p6eval rakudo aa8c65: ( no output )
colomon rakudo: for(0..5) { .say } 03:11
p6eval rakudo aa8c65: OUTPUT«0␤1␤2␤3␤4␤5␤»
pugssvn r30002 | colomon++ | [t/spec] Massive refudge and tweaks to get for.t working in Rakudo, plus new tests for RT #62478. 03:14
colomon rakudo: say 0 <=> -1/2 03:15
p6eval rakudo aa8c65: OUTPUT«1␤» 03:16
colomon rakudo: say 0 <=> 1/2
p6eval rakudo aa8c65: OUTPUT«-1␤»
colomon rakudo: say 1/2 <=> 1/2
p6eval rakudo aa8c65: OUTPUT«0␤»
coke rakudo: class Foo { }; my $x = "Foo"; my $y = $x.new; $y.WHAT.say; 03:17
p6eval rakudo aa8c65: OUTPUT«Foo()␤»
pugssvn r30003 | colomon++ | [t/spec] Add new file to test comparisons without Order enum 03:22
03:24 nsh left 03:25 nsh joined
pugssvn r30004 | colomon++ | [t/spec] Actually get the file converted. 03:26
JimmyZ rakudo: for(0...*) { .say } 03:29
p6eval rakudo aa8c65: ( no output )
TimToady std: for(0...*) { .say } 03:31
03:31 rv2733 joined
p6eval std 30003: OUTPUT«===SORRY!===␤for() interpreted as function call at line 1; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/1i1bGuIzjf line 1:␤------> for(0...*) ⏏{ .say }␤ expecting any of:␤ 03:31
..bracketed i…
JimmyZ rakudo: for 0...* { .say } 03:32
std: for(0..5) { .say }
p6eval rakudo aa8c65: ( no output )
std 30003: OUTPUT«===SORRY!===␤for() interpreted as function call at line 1; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/F61QDwozbC line 1:␤------> for(0..5) ⏏{ .say }␤ expecting any of:␤
..bracketed in…
03:35 JimmyZ left
dalek kudo: b093791 | (Solomon Foster)++ | t/spectest.data:
Turn on S04-statements/for.t.
03:36
kudo: 0162536 | (Solomon Foster)++ | t/spectest.data:
Add test file S03-operators/comparison-simple.t.
03:38 nsh left, nsh joined 03:49 synth joined 04:01 ShaneC left 04:09 zostay left 04:10 tuxdna joined, zostay joined
diakopter NNNNNNNNNNN 04:11
04:12 synth left 04:14 synth joined 04:15 am0c left 04:17 lifeng left 04:18 synth left 04:24 lestrrat is now known as lest_away 04:26 synth joined
pugssvn r30005 | bcmb++ | Update smartlink 04:27
04:30 synth left, synth joined 04:37 [synth] joined, synth left 04:42 zostay left 04:43 [synth] left 04:50 synth joined
diakopter \\o// 05:00
got to stage2. stage1's boss was tricky 05:03
05:09 alester left 05:10 mikehh left 05:13 ihrd joined, mikehh joined
diakopter -Ofun lately 05:16
05:21 araujo left 05:34 [synth] joined 05:36 ihrd left 05:38 synth left 05:40 arthur-_ left 05:44 araujo joined 05:45 [[synth]] joined 05:49 [synth] left 05:58 [[synth]] left 06:28 lest_away is now known as lestrrat 06:39 k23z__ joined 06:53 kaare joined 06:54 kaare is now known as Guest51467 07:03 mberends joined 07:05 uniejo joined 07:20 Su-Shee joined
colomon diakopter++ 07:20
Su-Shee good morning 07:21
colomon o/ 07:23
diakopter \\o//
07:25 tuxdna left
mberends the four-armed diakopter is taking butterfly wings 07:25
07:25 tuxdna joined
diakopter two arms moving quickly 07:26
flapping.
or hand waving.
or trying not to drown 07:31
or desperately/urgently waving for attention 07:32
or do I repeat (project onto?) myself?
mberends with four arms, all of the above. it also suggests a dragonfly 07:36
diakopter \\o// 07:38
\|/
falling through the atmosphere at terminal velocity 07:39
diakopter gets back to compiling a compiler-compiler 07:40
mberends diakopter: that makes you the compiler compiler compiler 07:41
diakopter heh
07:42 masak joined
masak yawns 07:42
colomon o/
diakopter well, in this case Visual Studio is; more properly, I'm commanding the compilation of a compiler compiler
whee
mberends masak: good morning!
diakopter masak: right back at ya
colomon diakopter: so you're back to .NET again, are you?
diakopter colomon: today yes
masak diakopter: you seem happy. did you code something cool?
diakopter yes indeed
at least, I finally found the bug/solution for which I was searching for 5 hours 07:43
colomon would love to see a working Perl 6 on .NET...
diakopter you keep saying that :P
masak diakopter: congrats!
diakopter thanks 07:45
colomon diakopter: I keep meaning it, too. :) 07:46
I think a pretty good percentage of the work I've done on Rakudo in just in pure Perl 6, and ought to port pretty easily to another Perl 6 system.... ;) 07:47
diakopter you'll have the strongly-typed/statically-resolved/single-inheritance-class-declarations/scalars-only/full-closures/most-of-grammars subset of Perl 6, at least
colomon :) 07:48
diakopter ... on which some variant of STD/Cursor could be run
not some subset, some variant/transliteration
07:48 justatheory left
diakopter (see what I wrote last night about this time in the irclog yesterday) 07:49
masak that sounds awesome.
diakopter I have no idea whether it would be any faster than it is on Perl 5. literally no clue. it could go either way, very drastically.
the other option, of course, is to continue down the path of extending it to be Perl 6 itself... an option I'll probably prefer while people torture p6eval/mono/sprixel 07:51
diakopter goes back to it
masak ++diakopter 07:54
thickas replies to my post that "Alogol 68 is not in any way remembered fondly by people wishing to write code partly because even if you like the ideas there were so few implementations that it was higly unlikely they would run." 07:57
I'm thinking about what to write that doesn't immediately paint me as a dystopian. :)
mberends masak: sometimes silence is golden ;) 07:59
masak mberends: I thought about writing three dots: '...'
:)
but maybe I'll simply cut that part out instead.
08:01 mssm joined
masak std: 3, 08:02
p6eval std 30005: OUTPUT«ok 00:01 107m␤»
moritz_ good morning 08:03
masak o/
moritz_ masak, jnthn: did you have breakfast already?
colomon \o
masak moritz_: pretty sure neither of us did.
(even without having met jnthn yet)
moritz_ masak: I'll take a shower pretty quickly, then I'm ready 08:04
masak likewise.
masak.take-shower(:pretty-quickly);
mberends wishes he could re-join the Breakfast Club 08:06
masak mberends: the Breakfast Club will have this session's last meeting today. 08:18
so if you're to rejoin, you'll have to hurry! :)
moritz_ tumbles out of the shower and is now ready 08:20
masak too 08:21
08:21 masak left
moritz_ lock 08:22
08:24 coke is now known as Guest44442 08:58 quester joined 09:08 dakkar joined 09:12 iblechbot joined 09:29 payload left 09:31 uniejo left 09:33 masak joined
masak you know, you were allowed to say things while we were having breakfast. :P 09:34
09:34 lestrrat is now known as lest_away
baest masak: NO :) 09:34
masak: moritz_ said lock so I thought that meant the channel was locked
masak 哈哈 09:35
oops, I made reddit: www.reddit.com/r/programming/commen..._algol_68/ 09:36
mberends masak: it's polite not to say anything with a full mouth ;) 09:38
it seems perfectly possible that Perl 6 becomes the first Algol 68 of the 21st century 09:39
masak mberends: if you can say "HA", chances are your mouth is not full :) 09:40
09:43 uniejo joined, yinyin left
diakopter hungry & sleepy 09:49
diakopter svn commits
moritz_ TimToady: how do we know if a user-defined operator is iffy enough to apply the ! prefix meta operator to it? 09:50
jnthn oh morning 09:53
moritz_ rakudo: my @a; say @a.list 09:58
p6eval rakudo 016253: OUTPUT«␤»
baest moritz_: nice, that was crash last time I tried 10:00
moritz_ baest: aye; jnthn++ fixed it yesterday
baest wheee
glorious
moritz_ and we had two tickets for it, one with .list, on with .perl 10:01
baest cool
(that the ticket can be closed) 10:02
s
pugssvn r30006 | moritz++ | [t/spec] unfudge a test for rakudo in for.t 10:03
moritz_ rakudo: my $a = "string".new(''); 10:09
p6eval rakudo 016253: OUTPUT«Null PMC access in get_string()␤current instr.: 'perl6;Mu;CREATE' pc 1777 (src/builtins/Mu.pir:208)␤»
moritz_ btw we're at 26860 passing tests right now
rakudo: say "peer".subst(/e/, 'o', :g); 10:10
p6eval rakudo 016253: OUTPUT«poor␤»
moritz_ rakudo: say "peer".subst(/e/, 'o', :global);
p6eval rakudo 016253: OUTPUT«poer␤»
10:14 xabbu42 joined 10:18 pmurias joined 10:21 lest_away is now known as lestrrat 10:24 vamped joined 10:28 arthur-_ joined
dalek kudo: de996e9 | moritz++ | src/core/Any-str.pm:
fix RT #73120: Str.subst should allow both :g and :global
10:28
10:29 tlb joined 10:30 orafu left 10:31 araujo left 10:32 araujo joined 10:35 uniejo left, uniejo joined
masak moritz_: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH };ay @a.WHICH; foo(@a) 10:37
rakudo: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH };ay @a.WHICH; foo(@a)
p6eval rakudo 016253: OUTPUT«Could not find non-existent sub &ay␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak argh. :)
rakudo: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH }; say @a.WHICH; foo(@a)
p6eval rakudo 016253: OUTPUT«47361291586432␤47361291485872␤»
masak moritz_: if arrays get cloned by 'is copy', why not objects? 10:38
10:39 pmurias left
jnthn If it has assignment semantics I guess that's what falls out. 10:39
masak rakudo: my %h = foo => 1; sub foo(%h is copy) { say %h.WHICH }; say %h.WHICH; foo(%h) 10:40
p6eval rakudo 016253: OUTPUT«47779823617504␤47779825617608␤»
masak by assignment semantics, the hashes should be the same, no?
oh wait.
moritz_ masak: the container is cloned; in the case of the array, the container *is* the object you're interested in
masak rakudo: my %h = { foo => 1 }; sub foo(%h is copy) { say %h.WHICH }; say %h.WHICH; foo(%h)
p6eval rakudo 016253: OUTPUT«47446417869928␤47446421692824␤»
jnthn my %h = %foo; # different
moritz_ alpha: my $i = 0; say 'hello'.subst(/l/,{$i++}); 10:46
p6eval alpha 30e0ed: OUTPUT«he0lo␤»
vamped alpha: my $i = 1; say 'hello'.subst(/l/,{$i++}, :g); 10:47
p6eval alpha 30e0ed: OUTPUT«he12o␤»
moritz_ vamped: if you git pull and recomile, you have that in master too 10:55
10:55 arthur-_ left
moritz_ *recompile 10:56
masak alpha: my $i = 1; say 'all the vowels in this sentence have been replaced by monotonically increasing numbers'.subst(/<[aeiou]>/, {$i++}, :g)
p6eval alpha 30e0ed: OUTPUT«1ll th2 v3w4ls 5n th6s s7nt8nc9 h10v11 b1213n r14pl15c16d by m17n18t19n20c21lly 22ncr2324s25ng n26mb27rs␤» 10:57
dalek kudo: 16efb68 | moritz++ | src/core/Any-str.pm:
implement Str.subst($matcher, Code, :g)
masak moritz_++
10:58 arthur-_ joined
vamped moritz: i'll update. thanks. 10:58
moritz_ rakudo: say <a b c>.join 11:00
p6eval rakudo de996e: OUTPUT«abc␤»
11:00 tlb left 11:03 tlb joined, payload joined 11:05 Baggio joined
moritz_ rakudo: my $x = *; say $x.WHAT 11:08
p6eval rakudo de996e: OUTPUT«Block()␤»
moritz_ now that's... confusing
masak nod.
11:08 tlb left
moritz_ rakudo: say *.WHAT 11:08
masak rakudo: say Block ~~ Whatever
p6eval rakudo de996e: OUTPUT«Whatever()␤»
rakudo de996e: OUTPUT«0␤»
masak rakudo: my Whatever $x = * 11:09
p6eval rakudo de996e: ( no output )
masak rakudo: my Whatever $x = *; say $x.WHAT
p6eval rakudo de996e: OUTPUT«Block()␤»
masak submits rakudobug
11:12 jonasbn joined
jonasbn hep 11:12
moritz_ oh hai jnthn 11:13
erm, jonasbn
jonasbn hehe
moritz_ moritztabfail
jonasbn been pretty busy all morning, are you guys up for lunch?
masak do you mean 'are you hungry?' or 'would you like to join me for lunch?' ? :) 11:14
because the answers are different... :)
moritz_ is slowly becoming hungry
masak (in the good sense)
jonasbn: where and when do we meet?
moritz_ masak: maps.google.com/maps?f=q&source...h&z=16 11:15
vamped so is ~15 minutes to "git pull" and recompile near average?
moritz_ vamped: don't think so
masak vamped: the 'git pull' should be almost instantaneous.
moritz_ unless you need to recompile parrot too, on a single core machine
jonasbn masak: if you could come by DK Hostmaster?
that is down the street as I pointed out in the map yesterday 11:16
vamped did "git pull"; perl Configure.pl --gen-parrot; make; sudo make install;
any shortcuts?
masak jonasbn: sure, no prob.
jonasbn I think we just have to be there before 13:00
moritz_ then we should break up here pretty soon :-) 11:17
jonasbn I am sorry about the short notice, but I was busy and I guessed lunch is a universal concept
if you would prefer hacking it is fine by me :)
masak no, lunch is fine. 11:18
jonasbn I just don't want you to leave .dk on an empty stomach and all skinny
masak hugs jonasbn :)
jnthn lunch is want 11:19
moritz_ rakudo: say *.defined
p6eval rakudo 16efb6: OUTPUT«1␤»
11:21 masak left
moritz_ jonasbn: we're going now (which means first bringing the luggage into my room, so we'll actually leave in ~10min 11:21
jonasbn moritz_: no problem 11:22
11:31 vamped left 11:34 untaken joined 11:44 payload left 11:50 meteorjay joined 11:58 lichtkind joined
lichtkind dukeleto: ping 11:58
11:59 quester left 12:05 payload joined 12:09 k23z__ left 12:11 rob___ joined
mathw rakudo: multi foo(@a where {.length == 0}) { say 'woo'; }; my @b; foo(@b); 12:19
p6eval rakudo 16efb6: OUTPUT«Method 'length' not found for invocant of class 'Array'␤current instr.: '_block55' pc 491 (EVAL_1:188)␤»
mathw doh
wake up
rakudo: multi foo(@a where {.elems == 0}) { say 'woo'; }; my @b; foo(@b);
p6eval rakudo 16efb6: OUTPUT«woo␤»
mathw rakudo: multi foo(@a where {.elems == 0}) { say 'woo'; }; my @b = 1, 2, 3; foo(@b); 12:20
p6eval rakudo 16efb6: OUTPUT«No applicable candidates found to dispatch to for 'foo'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
mathw rakudo: multi foo(@a where {.[1] == 2}) { say 'woo'; }; my @b = 1, 2, 3; foo(@b);
p6eval rakudo 16efb6: OUTPUT«woo␤»
mathw \o/
12:22 ruoso joined
colomon moritz_: you're passing @chunks[$i] to &replacement as an argument -- shouldn't it actually be passed as $/ instead? 12:25
(in subst, that is.)
colomon will feel rather sheepish if it turns out the thing stopping him from implementing that version of subst was just a misunderstanding of how the method is supposed to work.... 12:31
afk # breakfast
hejki rakudo: my %h; say %h.WHAT; 12:32
p6eval rakudo 16efb6: OUTPUT«Hash()␤»
hejki rakudo: my %h; say "foo" if %h.WHAT eq "Hash"
p6eval rakudo 16efb6: ( no output )
hejki rakudo: my %h; say "foo" if %h.WHAT eq "Hash()"
p6eval rakudo 16efb6: OUTPUT«foo␤»
hejki rakudo: multi foo($h where {.WHAT eq "Hash()"}) { say "i has hash" }; my $x = {}; foo($x); 12:33
p6eval rakudo 16efb6: OUTPUT«i has hash␤»
hejki \o/
12:34 Baggio left 12:35 Baggio joined 12:37 masak joined 12:38 jonasbn left
moritz_ colomon: I think assigning to $/ doesn't work, because $/ is searched in outer scopes first, not in the caller's scope 12:39
rakudo: { 'a' ~~ /a/; sub f { say $/ }; }; 'b' ~~ /./; f() # if it says a, it won't work 12:40
p6eval rakudo 16efb6: OUTPUT«Could not find non-existent sub &f␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: { 'a' ~~ /a/; our sub f { say $/ }; }; 'b' ~~ /./; f() # if it says a, it won't work
p6eval rakudo 16efb6: OUTPUT«b␤»
moritz_ rakudo: { 'a' ~~ /a/; say $/; our sub f { say $/ }; }; 'b' ~~ /./; f() # if it says a, it won't work
p6eval rakudo 16efb6: OUTPUT«a␤b␤»
moritz_ rakudo: my $a = 'a' ~~ /a/; 'b' ~~ /b/; $/ := $a; say $/ 12:43
p6eval rakudo 16efb6: OUTPUT«:= binding of variables not yet implemented␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
moritz_ rakudo: my $a = 'a' ~~ /a/; 'b' ~~ /b/; $/ = $a; say $/
p6eval rakudo 16efb6: OUTPUT«a␤»
12:44 hanekomu joined
colomon moritz_: I certainly don't know how to assign to $/. 12:46
jnthn Maybe see implementation of match. 12:47
moritz_ colomon: it seems to just work when assigning to $/ :-)
colomon moritz_: wait, seriously!?
colomon looks carefully at example. 12:48
dang.
12:49 mssm left
colomon I've been trying to find examples in the spec of how this should work. 12:53
there's this: s:g/(\w+)/{ucfirst $1}/
If that's supposed to also be subst(/(\w+)/, {ucfirst $1}, :g), then we've got a model. 12:54
moritz_ has a better implementation of subst locally; need to wait for a spectest run... 12:55
colomon jnthn: looks like match might return the match object rather than setting $/ ?
jnthn ah
hmm
maybe it's Regex.ACCEPTS or some such that sets it. 12:56
colomon I'm willing to accept that match might be wrong. :) 12:58
moritz_ colomon: it might be not very specced, but it would be *very* nice 12:59
13:00 ignacio_ joined
moritz_ tries the pir::store_dynamic_lex__vSP('$/', $match); 13:00
now 13:01
13:02 mssm joined
moritz_ doesn't seem to have any impact 13:06
colomon looks like there aren't any .match tests in S05-match? 13:07
moritz_ colomon: correct 13:08
(and as always, patches welcome)
takadonet morning all
colomon of course, I was looking at S05-match to see what it thought .match should do, so the lack of actual .match examples is a big drawback. 13:09
pugssvn r30007 | moritz++ | [t/spec] fudge subst.t for rakudo
moritz_ S05-substitution/match.t maybe?
colomon hmmm, looks like yes. 13:10
moritz_ rakudo: say ('a' ~~ /a/).WHAT
p6eval rakudo 16efb6: OUTPUT«Regex::Match()␤»
moritz_ rakudo: say ('a' ~~ /a/) ~~ Match
p6eval rakudo 16efb6: OUTPUT«Could not find non-existent sub &Match␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon doesn't tell us anything about $/, though. 13:11
masak submits rakudobug
colomon I'm inclined to think .match should set $/.
moritz_ I'm inclinde to think it shouldn't 13:12
you have ~~ $regex for syntactic sugar and magic
the method forms should stay mostly straight forward, IMHO
pugssvn r30008 | moritz++ | [t/spec] fudge match.t for rakudo 13:15
r30009 | moritz++ | [t/spec] test Str.subst(..., :global)
13:15 quester joined
dalek kudo: 3fba2c3 | moritz++ | (2 files):
implement :x in Str.subst; implement :all in Str.split(Str)
13:16
13:18 quester left 13:19 payload left
moritz_ std: 3, 13:20
p6eval std 30006: OUTPUT«ok 00:01 107m␤»
moritz_ rakudo: 3,
p6eval rakudo 16efb6: OUTPUT«Confused at line 11, near "3,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak std: 3 , 13:22
p6eval std 30006: OUTPUT«ok 00:01 105m␤»
masak rakudo: 3 ,
p6eval rakudo 16efb6: OUTPUT«Confused at line 11, near "3 ,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
moritz_ rakudo: 'try { die "Goodbye cruel world!" }; say $!.^isa("Exception") 13:26
p6eval rakudo 16efb6: OUTPUT«Confused at line 11, near "'try { die"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
moritz_ rakudo: try { die "Goodbye cruel world!" }; say $!.^isa("Exception") 13:31
p6eval rakudo 16efb6: OUTPUT«1␤»
moritz_ rakudo: class Boo does Snorkable { };
p6eval rakudo 16efb6: OUTPUT«Null PMC access in type()␤current instr.: 'perl6;Boo;!class_init_11' pc 353 (EVAL_1:161)␤»
moritz_ rakudo: say (0,1).grep: {!($^x%2)} 13:36
p6eval rakudo 16efb6: OUTPUT«0␤»
moritz_ rakudo: say (0,1).grep: !(*%2)
p6eval rakudo 16efb6: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
moritz_ rakudo: say (0,1).grep: 0==(*%2)
p6eval rakudo 16efb6: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
moritz_ std: /( )/ 13:40
p6eval std 30009: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/sklz92aAea line 1:␤------> /( ⏏)/␤FAILED 00:01 107m␤»
moritz_ rakudo: /( )/
p6eval rakudo 16efb6: ( no output )
masak alpha: /( )/
p6eval alpha 30e0ed: OUTPUT«Null PMC access in find_method('reduce')␤in Main (file <unknown>, line <unknown>)␤»
jnthn rakudo: say "" ~~ /( )/
p6eval rakudo 16efb6: OUTPUT«␤»
pugssvn r30010 | colomon++ | [t/spec] Fudge two tests for Rakudo. 13:42
moritz_ rakudo: multi f(Num $x) { say "Num" }; multi f(Int $x) { callsame; say "Int" }; f(42) 13:43
p6eval rakudo 16efb6: OUTPUT«Null PMC access in clone()␤current instr.: '&callsame' pc 17316 (src/builtins/assign.pir:21)␤»
13:43 iblechbot left
moritz_ rakudo: class A { class A::B {} }; A::B.new 13:43
p6eval rakudo 16efb6: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
dalek kudo: 85ef035 | (Solomon Foster)++ | t/spectest.data:
Turn on S05-match/blocks.t.
13:45
moritz_ rakudo: say (grep { $^a == $^b }, 1, 1, 2, 3, 4, 4).perl 13:46
p6eval rakudo 16efb6: OUTPUT«Too many positional parameters passed; got 7 but expected 2␤current instr.: 'grep' pc 249925 (src/gen/core.pir:6503)␤»
moritz_ std: when 42 { say "This should fail" } 13:55
p6eval std 30009: OUTPUT«ok 00:01 105m␤»
moritz_ rakudo: when 42 { say "This should fail" }
p6eval rakudo 3fba2c: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)␤» 13:56
moritz_ rakudo: say (11/10).Rat 13:57
p6eval rakudo 3fba2c: OUTPUT«1.1␤»
masak moritz_: S04:905 13:59
moritz_ rakudo: class A { method Str() { for ^1 {} } }; say ~A.new 14:00
p6eval rakudo 3fba2c: OUTPUT«get_string() not implemented in class 'ArrayIterator'␤current instr.: 'perl6;A;Str' pc 394 (EVAL_1:168)␤»
moritz_ masak: THX
masak NP
moritz_ rakudo: class A {}; class B does A {} 14:01
p6eval rakudo 3fba2c: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤current instr.: 'perl6;ClassHOW;add_composable' pc 3928 (src/metamodel/ClassHOW.pir:186)␤»
moritz_ rakudo: class A::B {}; A.foo
p6eval rakudo 3fba2c: OUTPUT«Could not find non-existent sub &A␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: sub self() { say "OH HAI" }; self 14:02
p6eval rakudo 3fba2c: OUTPUT«OH HAI␤»
moritz_ rakudo: sub foo { @_[0] = "bah" }; my $a = "!"; foo($a); say $a
p6eval rakudo 3fba2c: OUTPUT«!␤»
14:03 rob___ left
moritz_ rakudo: sub foo($a = 1, $b) { say $a }; foo(3) 14:03
p6eval rakudo 3fba2c: OUTPUT«Not enough positional parameters passed; got 1 but expected between 1 and 2␤current instr.: 'foo' pc 180 (EVAL_1:77)␤»
moritz_ rakudo: "".subst(/x/, "").trans()
p6eval rakudo 3fba2c: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: say ''.trans() 14:04
p6eval rakudo 3fba2c: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:04 SmokeMachine joined, payload joined
moritz_ rakudo: augment class List { { method d { for self.kv { .say } }; <a b c>.d 14:05
p6eval rakudo 3fba2c: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
moritz_ rakudo: augment class List { { method d { for self.kv { .say } } }; <a b c>.d
p6eval rakudo 3fba2c: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
moritz_ rakudo: augment class List { method d { for self.kv { .say } } }; <a b c>.d
p6eval rakudo 3fba2c: OUTPUT«Method 'd' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: augment class Parcel { method d { for self.kv { .say } } }; <a b c>.d
p6eval rakudo 3fba2c: OUTPUT«0␤a␤1␤b␤2␤c␤»
masak rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } } 14:09
p6eval rakudo 3fba2c: ( no output )
moritz_ rakudo: my Int $i = Mu; say $i.WHAT
p6eval rakudo 3fba2c: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
masak rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } }; G.parse('llll') or die 'aie!'
p6eval rakudo 3fba2c: ( no output )
masak rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } }; G.parse('llll') or die 'aie!'; say $/<ls>.WHAT
p6eval rakudo 3fba2c: OUTPUT«Method 'postcircumfix:<{ }>' not found for invocant of class ''␤current instr.: '!postcircumfix:<{ }>' pc 13479 (src/builtins/Code.pir:119)␤»
masak awww.
moritz_ std: List 14:11
p6eval std 30010: OUTPUT«ok 00:01 106m␤»
moritz_ rakudo: say Array ~~ List
p6eval rakudo 3fba2c: OUTPUT«0␤»
masak rakudo: say Franz ~~ Liszt 14:12
p6eval rakudo 3fba2c: OUTPUT«Could not find non-existent sub &Liszt␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon Huh. I just got a big batch of failures testing using test_summary.pl on my 64-bit platform. 14:13
ruoso std: sub foo {}; foo(:bar</bla/$ble>);
p6eval std 30010: OUTPUT«ok 00:01 105m␤»
lisppaste3 colomon pasted "Failures on 64-bit platform, 85ef035ff8c461a9ed45af0ee8e37bcf37c4554b" at paste.lisp.org/display/96160 14:14
pugssvn r30011 | moritz++ | [t/spec] fudge and update type.t 14:15
jnthn colomon: ouch. 14:16
colomon: I did bump PARROT_REVISION yesterday.
Wonder if a 64-bit Parrot bug sneaked in... :-/
moritz_ colomon: do you get lots of non-zero return values if you run 'make spectest'? 14:17
Guest44442 wonders if any of those are parrot rel....
dalek kudo: 2302b7c | moritz++ | t/spectest.data:
enable type.t
Guest44442 jnthn: that is possible. might be helpful to make sure smolder is getting 64-bit reports.
colomon I dunno, I had similar huge failures running make spectest on 32-bit OS X yesterday.
moritz_ rakudo: my $a = 1, 2, 3; my @a = |$a; say @a.perl
14:17 Guest44442 is now known as CokeHatesFreenod
p6eval rakudo 3fba2c: OUTPUT«[Capture.new()]␤» 14:17
moritz_ rakudo: my $a = 1, 2, 3; my @a = |$a; .say for @a 14:18
p6eval rakudo 3fba2c: OUTPUT«Capture()<0x47592129055552.000000>␤»
colomon Makes me wonder if there is an uninitialized return case somewhere in our testing procedures....
(running make spectest on 64-bit platform now.) 14:19
masak alpha: say :16(0x47592129055552) 14:20
p6eval alpha 30e0ed: OUTPUT«unrecognized character: .␤in Main (file <unknown>, line <unknown>)␤»
moritz_ rakudo: my Int $a = Inf
p6eval rakudo 85ef03: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
masak std: class multi {} 14:23
p6eval std 30010: OUTPUT«ok 00:01 104m␤»
masak std: class multi {}; class A { our multi method foo() {} }
p6eval std 30010: OUTPUT«ok 00:01 106m␤»
CokeHatesFreenod wonders how much of the traffic in #perl6 is folks testing the bots. =-) 14:24
masak hm. guess there's nothing illegal about being deliberately confusing.
CokeHatesFreenod masak: perhaps not in YOUR jurisdiction.
masak CokeHatesFreenod: why do you hate Freenod? :(
masak .oO( Freenod fries ) 14:25
14:25 bluescreen joined, k23z__ joined
colomon make spectest works perfectly on my 64-bit Linux platform 14:25
m6locks works pretty ok here on OS X 10.6.2 14:26
colomon (That is to say, the one that failed all the tests using test_summary a couple of minutes ago.)
CokeHatesFreenod masak: it's an extension of my dislike of irc. =-) 14:27
masak here on #perl6 we're more into Freehug anyways.
CokeHatesFreenod the nick registration.
CokeHatesFreenod backs away, slowly. 14:28
masak CokeHatesFreenod: I've never experienced problems with nick registration.
[particle] masak: you're not named after the most popular beverage on earth
CokeHatesFreenod prefers lily over irc, and xmpp over lily. (but no one has heard of lily.) 14:29
[particle] and no, i don't mean water.
masak :)
14:29 CokeHatesFreenod is now known as CokeGod
CokeGod there, I'll go with the slightly longer version of my nick for now. 14:29
masak CokeHatesFreenod: one of the finest moments of #perl6 was when mst came in here, immediately adapted our customs, and hugged a troll happening to pass by. 14:30
14:30 Baggio left
CokeGod mst? 14:30
masak Matt S Trout.
CokeGod ... that story sounds fishy to me.
masak he usually takes another approach to trolls.
moritz_ rakudo: "b" ~~ /b| /
p6eval rakudo 85ef03: ( no output )
masak CokeGod: want me to find the backlog for you? 14:31
CokeGod masak - i have no idea who matt S trout is, so the story probably lacks some impact for me.
masak CokeGod: wow.
CokeGod doesn't dislike the community. Just the technology.
masak well, I didn't either a year or so ago...
CokeGod I mean, I know he's "someone involved with perl"
masak CokeGod: mst is this guy: www.shadowcat.co.uk/blog/matt-s-tro...ck-perl-6/ 14:32
"So fuck Perl 6. Fuck python. Fuck ruby. Fuck PHP in the eye with a rusty nail."
mathw my highlighting is going crazy
CokeGod me would say "mathw?" but has by now learned that there is no infobot here. 14:33
moritz_ rakudo: my &*x
p6eval rakudo 85ef03: ( no output )
mathw Hi CokeGod 14:34
CokeGod ~~
14:35 krr joined
masak that's a smart wave. 14:35
colomon CokeGod++ # for getting me working on for.t last night. :)
14:35 payload left
moritz_ rakudo: (Block.new)(); 14:36
p6eval rakudo 85ef03: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤current instr.: 'perl6;Code;new' pc 12561 (src/builtins/Num.pir:45)␤»
14:36 payload joined
CokeGod colomon: I am glad that I was able to inadvertently inspire you. 14:37
14:37 masak left
jnthn Time to go hoooome! 14:37
colomon BTW, masak...
CokeGod masak good read, danke.
colomon rakudo: .say for "hello";
p6eval rakudo 85ef03: OUTPUT«h␤e␤l␤l␤o␤»
moritz_ rakudo: /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ 14:38
14:38 k23z__ left
p6eval rakudo 85ef03: OUTPUT«:: not yet implemented at line 11, near "a/ /::a/ /"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤» 14:38
jnthn o/
colomon hey, I actually duplicated my back test result this time, instead of getting a different bad result...
\o
moritz_ rakudo: my Int $a = 74; Int.WHAT = Str; say $a.WHAT 14:39
p6eval rakudo 85ef03: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
dalek ok: 30f69d7 | masak++ | src/grammars.pod:
[grammars.pod] Various editorial changes
14:40
m6locks imma build my book now, got it working after a long and hard messing around with CPAN modules 14:41
lisppaste3 colomon pasted "Weirdness with 32-bit OS X make spectest" at paste.lisp.org/display/96163
pugssvn r30012 | moritz++ | [t/spec] (un)fudge what.t for rakudo 14:49
moritz_ rakudo: my $x; ($x = 'hi').HOW = Block; say $x.WHAT 14:51
p6eval rakudo 2302b7: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
moritz_ colomon: that's bad
colomon my paste? 14:52
dalek kudo: 24faa67 | moritz++ | t/spectest.data:
enable what.t
14:52 rv2733 left
moritz_ colomon: yes 14:52
colomon yeah, it's definitely worrisome.
moritz_ we crossed the line of 700 open tickets. Downwards.
colomon \o/ 14:53
mathw \o/
moritz_ rakudo: sub x (:@args) { say @args.perl }; x :args(3, 4)
p6eval rakudo 2302b7: OUTPUT«(3, 4)␤»
moritz_ rakudo: say 'aa' ~~ /(.)$1/; say $0.to 14:54
p6eval rakudo 2302b7: OUTPUT«a␤1␤»
moritz_ rakudo: say 'aa' ~~ /(.)$1/; say ?$0 14:55
p6eval rakudo 2302b7: OUTPUT«a␤1␤»
moritz_ it shouldn't match, since $1 is undefined
CokeGod er, at a quick glance, isn't $1 == 'a' ? 14:56
moritz_ no, that's $0
colomon moritz_: Are you sure? I thought $1 would be defined after the capture finished, which is before the reference to $1....
oh, right.
moritz_ the capture numbers start at 0 in Perl 6
CokeGod mrfl.
moritz_ (re tickets: plus 9 tickets that are fixed but are waiting for tests) 14:57
CokeGod ok. then doesn't undef stringify to '' ?
moritz_ CokeGod: undefined variables don't stringify in regexes; they make the match fail
at least they should
rakudo: 'a' ~~ /a/; say ($/.orig).rindex('a', 1)
p6eval rakudo 2302b7: OUTPUT«Method 'rindex' not found for invocant of class 'CodeString'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: class A::B { }; say A::B.new.isa('A::B') 14:58
p6eval rakudo 2302b7: OUTPUT«0␤»
14:59 Guest51467 left
CokeGod moritz_: rt.perl.org/rt3/Ticket/Display.html?id=67790 no longer fails and haza test. 15:00
moritz_ CokeGod: will you close it, or shall I?
CokeGod I don't know if the test is actually being run. 15:01
it's one of those "here's an automated test" thingee.
just verified that evalbot liked it, is all.
moritz_ it is actually run
FYI you can see that in github.com/rakudo/rakudo/blob/maste...ctest.data 15:02
CokeGod moritz_: the file is run. I haven't bothered to figure out the todo syntax for the spectest files. 15:03
colomon moritz_: So, test_summary.pl runs completely clean on my 32-bit OS X box. :\
pugssvn r30013 | moritz++ | [t/spec] another test for .perl no HOW 15:06
15:09 alester joined 15:12 payload left 15:13 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner 15:14 payload joined 15:21 krr left
CokeGod no WAY 15:21
colomon ? 15:22
CokeGod 10:05 < pugssvn> r30013 | moritz++ | [t/spec] another test for .perl no HOW
moritz_ what's wrong with that?
CokeGod "no way, no how". english idiom meaning "under no circumstances." 15:23
moritz_ oh
colomon ah. 15:24
TimToady knowhow++
CokeGod knowhow+=battle/2
15:24 uniejo left
CokeGod ... that /really/ won't translate well. 15:25
colomon TimToady: so, about .match -- should it set $/ ?
CokeGod TimToady: ... I actually did something on perl6 this week.
... and nothing exploded.
moritz_ rakudo: say Mu.notdef 15:31
p6eval rakudo 24faa6: OUTPUT«1␤»
moritz_ rakudo: say NaN ~~ NaN 15:33
p6eval rakudo 24faa6: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Num'␤current instr.: 'infix:<~~>' pc 226340 (src/gen/perl6-actions.pir:17196)␤»
moritz_ rakudo: say NaN == NaN
p6eval rakudo 24faa6: OUTPUT«0␤»
moritz_ rakudo: say 1.2e0 ~~ 1.2e0 15:34
p6eval rakudo 24faa6: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Num'␤current instr.: 'infix:<~~>' pc 226340 (src/gen/perl6-actions.pir:17196)␤»
15:35 nihiliad joined
pugssvn r30014 | moritz++ | [t/spec] smart match fudges 15:36
dalek kudo: ad6b5d8 | moritz++ | t/spectest.data:
turn on more smartmatch tests
15:38
15:47 uniejo joined 15:53 payload left 15:55 payload joined 16:01 mberends left
TimToady hmm, a displacement operator... 16:05
[particle] hey, nice, an rtfm response to the mailing list from TimToady :) 16:07
TimToady :) 16:08
moritz_ I've actually written a verbose response earlier, but it seems to hang in the moderation filter
the hotel wifi wouldn't let me conntect to my usual smtp server, so I had to use a different From email address 16:09
TimToady I hope it wasn't too rtfmy
[particle] no, you weren't at all
it was quite friendly 16:10
TimToady well, I really should have attached the reply to Matthew's article to avoid the appearance of trying to scare off a newbie 16:11
16:12 cdarroch joined, cdarroch left, cdarroch joined
TimToady in the reddit discusion on www.reddit.com/r/programming/commen..._algol_68/ there's mention of Algol 68's 'displacement' operator 16:13
does this have any use case in Real Life™
16:13 jaldhar left 16:14 abra joined, jaldhar joined
TimToady we probably handle it in Perl 6 with ($a,$b,$c) = ($b,$c,$d) or some such 16:15
moritz_ looks like it can be done with list assignment much more readable 16:16
aye
TimToady except that it's not obvious what's happening unless you look at the two sides cross-eyed
just trying to think if there's any primitive that can turn a single item into an rvalue for its left side and an lvalue for its right side 16:17
something similar is going on for $a < $b < $c, with respect to $b 16:18
but it's still a single value
hanekomu so the :=:= means having various assignment with different precendences? 16:19
TimToady $a++ splits into lvalue/rvalue but only makes the old value available
CokeGod $a = $b = $c = $d !
TimToady I read it as a shift operator
CokeGod (if you're trying to be evil. =-)
TimToady it means $a = $b; $b = $c; $c = $d
maybe I reddit rong 16:20
CokeGod if you're trolling through old languages, I suggest Modula-3, also. =-)
(not to distract you, but I really liked M3)
TimToady well, it was masak that was trolling :) 16:21
CokeGod heh.
spinclad rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - %h-which; say $h.WHICH }; foo(%h); say %h.WHICH
p6eval rakudo ad6b5d: OUTPUT«Symbol '%h-which' not predeclared in foo␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
TimToady
.oO(troll the ancient yuletide Algol)
spinclad rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - $h-which; say %h.WHICH }; foo(%h); say %h.WHICH 16:22
p6eval rakudo ad6b5d: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤current instr.: 'foo' pc 267 (EVAL_1:91)␤»
spinclad rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - $h-which; say %h.WHICH }; foo(%h, %h.WHICH); say %h.WHICH
p6eval rakudo ad6b5d: OUTPUT«-188040␤47417180367824␤47417180555864␤»
spinclad rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH <=> $h-which; say %h.WHICH }; foo(%h, %h.WHICH); say %h.WHICH
p6eval rakudo ad6b5d: OUTPUT«-1␤47072668625776␤47072668813816␤»
16:23 colomon left
spinclad (dunspamming) 16:23
TimToady spinclad: you shouldn't really be assuming UMA
spinclad UMA? 16:24
TimToady !NUMA
there's no guarantee that memory addresses are orderable
mostly I was speculating on dispacement operators in case masak wanted to answer the question on reddit of whether Perl 6 has the operator yet. 16:26
spinclad so the best one can rightly ask is === (and if one can get the objects into the same scope, one can do === on them directly)
TimToady the answer is 'no', but that's one of hard things that should be possible, not one of the easy things that should be easy
16:27 breinbaas left
TimToady I think of eqv as more basic than ===, actually 16:28
since === is defined as $x.WHICH eqv $y.WHICH
the only requirement here is that .WHICH return a value type, not an object type
maybe we should represent NUMA addresses as Complex :) 16:29
spinclad (but who needs more than 640K, anyway?) 16:30
TimToady that was already non-uniform in its way :)
16:31 payload left
TimToady though memory models went through a rather more non-uniform period shortly after that, due to the 640K limitation and other limitations 16:31
hejki rakudo: my $sand; say "my {$sand.WHICH} is tasty" 16:32
p6eval rakudo ad6b5d: OUTPUT«my 47585366335592 is tasty␤»
TimToady maybe .WHICH should encrypt memory addresses so people aren't tempted to subtract them... 16:33
:) * 0.5
makes it a little harder to write peek() and poke() too 16:34
spinclad just don't make them Numeric
TimToady I know, we'll return the decimal number as a string with 0x on the front--that'll confuse 'em 16:35
16:35 breinbaas joined 16:36 iblechbot joined
TimToady or how 'bout hex with the digits reversed 16:36
hejki rakudo: say .WHAT, .WHO ~ " am i?";
p6eval rakudo ad6b5d: OUTPUT«No applicable candidates found to dispatch to for 'infix:<~>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
spinclad but should they canonicalize before eqv'ing, or should they allow ineqv .WHICHes to the same object?
TimToady biab & 16:37
spinclad class WHICH { has IO $.file; has Seek $.seek; has Int $.offset; } # comparing .file names is hard 16:39
hejki rakudo: say "jermu", " on" ~ " pantteri!" 16:40
p6eval rakudo ad6b5d: OUTPUT«jermu on pantteri!␤»
spinclad back to backlogging
16:45 mantovani joined 16:47 justatheory joined 16:52 ruoso left, colomon joined
TimToady moritz_: the default iffy setting would come in with the prec and associativity under 'is equiv' 16:57
16:58 tuxdna left
moritz_ doesn't really understand 16:58
TimToady all those things are really just keys in a hash
and 'is equiv' just copies the hash into the new operator 16:59
dukeleto lichtkind: pong
moritz_ TimToady: and what about operators that aren't defined with 'is equiv' but 'is tighter'?
TimToady those get more generic defaults 17:00
moritz_ I don't quite see how that answers my question 17:01
multi sub infix:<yikes> is :tighter(&infix:<*>) { ... }; # is !yikes allowed or not? 17:02
TimToady by default, unlikely
iffy is pretty exclusive
moritz_ so how would I signal that I want to allow !yikes?
with a trait?
TimToady in current parse rules, that is supplied via <O(:iffy, ...) 17:03
we need to think about whether we'll require 'is parsed' to change those values, or whether it can be done with traits
arguably, 'is assoc' could go away if we required 'is parsed' to set <O> to other the the default 17:04
since the assoc comes through O too 17:05
see line 128 or so of STD.pm
%chain is all those things for the chaining prec level
%chaining rather
moritz_ wouldn't 'is parsed' make it harder to write multiple such operators that can peacefully coexist? 17:06
TimToady coexist?
it's all still subject to LTM
not sure what you're asking, I guess 17:07
moritz_ let's try it differently... how would an 'is parsed' infix op with a non-default assoc look like? 17:08
17:09 ruoso joined
TimToady ah, okay, you'd have to rely on it picking one named arg over another in the list, if you said <O(|%multiplication, :assoc<non>)> or some such 17:11
*multiplicative
it would probably be better to have a trait specifically for overriding defaults
or sneak a 'but' sort of thing in there somehow 17:12
17:13 eternaleye left
TimToady that might imply that iffy, diffy, etc are really some kind of roles, long term 17:14
otoh, we don't really have a mechanism for un-mixing-in
and :!iffy is handier for that
17:16 ruoso left
TimToady almost makes one want a 'but' variant that overrides keys in a hash: %stuff but :this(42) :!that 17:17
colomon pmichaud: ping? 17:18
TimToady std: %_ but :this(42) :!that
p6eval std 30014: OUTPUT«===SORRY!===␤Placeholder variable %_ cannot be used in this kind of block at /tmp/A9IcKvJ3qU line 1:␤------> %_⏏ but :this(42) :!that␤ expecting any of:␤ POST␤ postfix␤ postfix_prefix_meta_operator␤FAILED 00:01 107m␤»
TimToady heh
std: my %stuff but :this(42) :!that
p6eval std 30014: OUTPUT«ok 00:01 105m␤»
TimToady well, it's syntactically valid...
do we already have a decent way to write that, other than the (%stuff, :this(42), :!that) semantics, which are kinda sucky? 17:19
moritz_ no idea 17:20
TimToady well, seems like multi dispatch could easily sort out infix:<but>(Associative, List[Pair]) or whatever the type of the right side is 17:21
moritz_ should be Parcel or so 17:22
TimToady ja
17:23 payload joined
TimToady anyway, for the moment, anything you like can be done inside <O()>, so we're not under much pressure to invent trait sugar 17:24
unless we're writing a book. :)
well, back to backlogging...
moritz_ that's not why I asked for
TimToady didn't think it was. :) 17:25
17:27 rv2733 joined
TimToady it is kinda weird that, since 'is parsed' already assumes the <sym> on the front, the 'is parsed' would typically contain *only* the <O()> 17:29
more like 'is reduced' :) 17:30
so maybe any equiv overrides should just be 'is reduced(:iffy,:!diffy)' or some such
I dunno, that's still kinda opaque from a user perspective 17:31
sorry, just thinking out loud
moritz_ no problem; I'm listening :-) 17:32
TimToady there are also some polymorphism issues here, since the language we're modifying might be known only at the last minute, and that might include polymorphic precedence tables 17:34
currently they're hardwired to hashes, but it's possible such information should also come down through inheritance
17:35 ruoso joined, colomon left
TimToady that tends to push things more in the traits direction, and away from explict mention of hashes 17:35
17:35 rv2733 left
TimToady but that argues that we're really doing equiv more on infix:sym<+> (the rule) rather than infix:<+> (the operator) 17:37
though perhaps the latter tracks the former
TimToady collapses in a pile of paulis and heisenbergs 17:38
[particle] now that the wave function has collapsed, we can view the answer!
TimToady sure, just pick the right universe 17:39
[particle] details, details...
TimToady well, it's not like we can't retarget equiv later based on type 17:40
equiv could even take a list, where the extra arguments are overrides
spinclad makes some sense that <O()>ish things apply to the rule parsing the operator more than to the operator 17:41
pugssvn r30015 | moritz++ | fudge comb.t for rakudo
TimToady yeah, esp considering things like assignment
17:41 cdarroch left
TimToady which actually choose an O based on the left argument! 17:41
see STD:3803 17:42
oh wait, my lines will be different
guts of '=': 17:43
|| <?{ $*LEFTSIGIL eq '$' }>
<O(|%item_assignment)>
|| <O(|%list_assignment)>
moritz_ rakudo: class Dog {}; say Dog.defined; Dog .= new; say Dog.defined 17:44
p6eval rakudo ad6b5d: OUTPUT«0␤Cannot assign to readonly value␤current instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)␤»
17:47 meppl joined
pugssvn r30016 | moritz++ | [t/spec] fudge S12-construction/new.t for rakudo 17:47
17:48 xomas joined
dalek kudo: 62d70b7 | moritz++ | t/spectest.data:
enable two more test files
17:50
jnthn back from hackathon at Home.new
17:50 cdarroch joined, cdarroch left, cdarroch joined
alester Great, jnthn, you just instantiated a new Home, and then destroyed it by not keeping a reference to it. 17:51
moritz_ \o/
alester How wasteful.
jnthn :-P
moritz_ alester: it's still accessible through OUTER:: for jnthn :-)
jnthn Yeah, the constructor is...a little impure. :-) 17:52
17:57 dakkar left
jnthn is glad the mmobile broadband worked straight away anyways...and eagerly awaits his hopefully faster DSL. 17:57
18:00 breinbaas left 18:01 breinbaas joined
TimToady the problem with not setting $/ in .subst is that a replacement closure's $/ defaults to OUTER::<$/>, not CALLER::<$/> 18:05
18:08 breinbaas left
lichtkind dukeleto: then i was away, stillthere 18:09
18:17 breinbaas joined
TimToady sure would be nice if any messages involving types would actually tell you what the types involved are... 18:21
SWN messages are LTA 18:22
(Something's Wrong Near...)
well, SWNs are better than SWs, I suppose 18:23
PerlJam better than "error. please fix" for sure ;) 18:24
dukeleto lichtkind: which channel are we going to settle on? ;)
TimToady which, in turn, is better than simply Not Halting 18:25
jnthn Rakudo has multiple "XXX Awesomize this error" comments.
TimToady is that LHF?
18:25 mberends joined
jnthn It's probably fairly often LHF if anyone wants to grep thorugh for them. 18:25
mberends!
mberends welcome home jnthn
TimToady maybe one of the lurquers would like to take a crack at those 18:26
jnthn mberends: Thanks. It feels weird to think of it as home so far. :-)
mberends :)
arnsholt jnthn: Did you make those round tuits yourself?
jnthn But I'll probably settle in quickly.
mberends it's a nice place
jnthn arnsholt: No, I was given them at the Dutch Perl Workshop and encouraged to spread them. :-)
mberends: Yes, it is. 18:27
arnsholt Right
jnthn has a hungry and needs to nom
bbl
18:33 stephenlb joined
TimToady std: "b" ~~ /b| / 18:34
p6eval std 30016: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/k2pxHSGrN1 line 1:␤------> "b" ~~ /b| ⏏/␤FAILED 00:02 107m␤»
TimToady std: /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ 18:35
p6eval std 30016: OUTPUT«ok 00:01 106m␤»
TimToady how...diakopterian++ian 18:36
s/ian/
diakopter yar
TimToady you can kinda tell where I am in backlogging by what I'm feeding to std :) 18:37
diakopter rakudo: my Hash $hash; $hash{"hi"} = "foo"; 18:39
p6eval rakudo 62d70b: OUTPUT«Type objects do not have state, but you tried to access attribute $!storage␤current instr.: 'perl6;Hash[];postcircumfix:<{ }>' pc 362032 (src/gen/core.pir:48887)␤»
diakopter nice way of saying "Null Reference Exception" or "Null Pointer Exception" 18:40
TimToady 'do not have state' is perhaps confusing to people who think it's referring to the state declarator 18:41
moritz_ would you prefer "do not have attributes"? 18:42
TimToady 'are abstract and have no attributes, but you tried to access $!storage
moritz_ will change after nom 18:44
18:45 Su-Shee left, uniejo left 18:46 k23z__ joined, uniejo joined, japhb left 18:50 b_jonas joined 18:53 Su-Shee joined 18:58 payload left
TimToady perhaps even "Type objects like Hash are abstract.... 19:01
otoh, that particular example should have autovivified a hash, I suspect 19:02
moritz_ that particular example should have been a type check failures 19:03
s/s$//
19:04 japhb joined
TimToady p5 will autovivify if you say $variable->{"hi"} = "foo" 19:04
19:05 Chillance joined
moritz_ was a bit confused 19:05
you're right
I somehow thought that diakopter++ had used the % sigil 19:06
19:06 xabbu42 left
TimToady np 19:06
19:13 pmurias joined 19:25 fglock joined 19:31 ShaneC joined, Su-Shee left, Su-Shee joined
fglock re Timeline - I think v6.pm could be added 19:32
19:34 eternaleye joined
fglock v6-pugs-0.001.tar.gz - 26-Jun-2006 in backpan 19:36
mberends thanks fglock, that's a good idea. will edit it in soon :-) 19:37
19:37 jaldhar left
fglock also lrep, the original bootstrap used for building Pugs::Compiler::Rule 19:38
dalek kudo: e42042c | moritz++ | src/pmc/p6opaque.pmc:
awesome error message when you try to access attributes of type objects, as suggested by TimToady++
19:39
mberends lrep, that's a cute anagram. btw, what sort of content would you like to see in the Perlito wiki
fglock lrep was announced in march 2009
www.mail-archive.com/perl6-compiler...01326.html
I mean, 2006 :)
mberends: looking... 19:42
cj hiya fglock 19:43
fglock another nice project was svn.openfoundry.org/pugs/misc/old_p...5_backend/ - I think Moose.pm started there 19:45
cj: hi
19:45 hudnix left
moritz_ rakudo: (\(1,2),\(3,4)).perl.say 19:48
p6eval rakudo 62d70b: OUTPUT«(Capture.new(), Capture.new())␤»
19:49 hudnix joined 19:54 TiMBuS joined
moritz_ rakudo: multi sub a { }; say &a ~~ Callable 19:56
p6eval rakudo 62d70b: OUTPUT«1␤»
moritz_ rakudo: multi sub a() { 1; }; multi sub a($x) { $x; }; sub b(&x) { &x() }; b(&a);
p6eval rakudo 62d70b: ( no output )
19:57 abra left
fglock mberends: I can't explain Perlito easily - I think some quotes from the docs could be useful 19:58
"The VM is responsible to provide coroutines, threads, sockets, etc etc;
if it's missing in the VM, it's _not_ our job to emulate them by drastically
change the emitting strategy to e.g. CPS. All Value/Container classes do is
to bridge the native VM API with Perl 6 class/method API."
(audreyt wrote this) 19:59
lichtkind fglock: perlito is basis of kp6? 20:00
20:00 zostay joined
mberends fglock: is that the sort of content you would like to see in the Wiki? Or is it feasible to encourage users to write small scale applications for Perlito? 20:00
fglock yes - kp6 is a Perl6 implementation that uses miniperl6 as a "VM" 20:01
mberends: nferraz is working on making Perlito "usable" - he created the site and suggests features 20:02
mberends ah, thanks :)
fglock I think it can be used for apps 20:03
I'm mostly using it to (re)write itself
20:04 masak joined
masak oh hai from a train, #perl6. 20:04
fglock masak: hi from a couch 20:05
PerlJam masak: how fast are you traveling?
20:05 hercynium left 20:06 ShaneC1 joined 20:07 ShaneC1 left
masak PerlJam: hard to estimate,but looks like more than 100 km/h. 20:07
20:07 ShaneC left
moritz_ has now 40 tickets owned in the perl6 RT queue that just need a test but are actually fixed in Rakudo 20:08
CokeGod that sounds like LHF. 20:09
mantovani why Perl 6 has various implementations not one like Perl 5(I think)?
PerlJam mantovani: variety is the spice of life :)
mberends mantovani: natural selection, survival of the fittest
b_jonas perl 5 has only one implementation becasue of the weight of historical features stuck to it
PerlJam mantovani: because perl 6 is being defined by a series of specifications rather than by an implementation (as perl 5) 20:10
mantovani: also, multiple implementations focus on different areas and the lessons learned help the other implementations. 20:11
20:11 masak left, ruoso left
PerlJam mantovani: pugs focused on getting most of the perl 6 syntax implemented, Rakudo focused on getting the regex engine going so that the syntax could be implemented in terms of perl 6, SMOP focuses on the underlying object model, etc. 20:12
mantovani thanks, I want to join in Google Summer 2010 and I chose Perl 6
fglock and Perlito... runs everywhere it can 20:13
b_jonas runs everywhere... isn't that perl 5?
moritz_ mantovani: that's great... do you have any particular topic of interest?
Perl 6 is a large field :-) 20:14
mantovani I'm thinking about it
mberends mantovani: excellent, we're here to help you help us :)
mantovani thanks
fglock b_jonas: runs everywhere in a transfinite way 20:15
PerlJam has anyone updated the perl 6 stuff on www.perlfoundation.org/perl5/index....0_projects ? 20:16
moritz_ PerlJam: I've added a few ideas that immediately came to mind
but it could use more work actually
mantovani the fglock told to me to see the see the difference between the compilers 20:17
the fglock told to me to see the the difference between the compilers*
PerlJam Apparently I don't get to edit that page as I can't seem to get registered. 20:18
20:18 rv2733 joined, ShaneC joined
moritz_ PerlJam: using openid works just fine for me 20:18
PerlJam It didn't for me when I tried it the other day :(
20:19 masak joined
PerlJam tries again. 20:19
b_jonas I hope perl 6 will get strings and character encodings right (or rather, the way I like them). that synopsis isn't written yet so there's hope.
PerlJam yep ... when I login using openid, it looks like it succeeds, but then I'm not logged in. 20:20
moritz_ b_jonas: there's also hope because I'll break havoc if there's no good model
b_jonas: and I occasionally work on them
b_jonas: the underlying idea is just to store byte streams in Buf types and text strings in Str objects 20:21
and there are .encode and .decode methods
but trying to concatenate a Buf and Str must die
20:21 rv2733 left, rv2733 joined 20:22 pmurias_ joined
jnthn back 20:23
[particle] b_jonas: there's a better chance perl 6 will get strings and character encodings they way you like them if you write the spec.
pmurias_ fglock: hi
20:23 pmurias_ left
fglock pmurias: hi :) 20:23
20:23 masak left
b_jonas [particle]: the problem is, I'm not really sure how exactly it should work, I only have some particular properties in mind that I need (and hope they're not contradictory), but not a full spec. 20:25
fglock b_jonas: writing a prototype impl might help 20:26
moritz_ b_jonas: then a start would be to share these ideas with us
[particle] in p6, of course
20:29 ruoso joined
moritz_ rakudo: regex foo-bar { foobar }; say "foobar" ~~ /<foo-bar> 20:35
p6eval rakudo e42042: OUTPUT«You can not add a method to a module; use a class or role␤current instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)␤»
moritz_ doesn't like that error message
b_jonas the real error is that a slash is missing?
mberends doesn't understand that error message at all 20:36
moritz_ b_jonas: yes, but it doesn't even get that far
b_jonas: it tries to install the regex as a method, and fails because it's not inside a class, grammar or role
b_jonas rakudo: regex foo-bar { foobar }; say "foobar" ~~ /<foo-bar>/ 20:37
p6eval rakudo e42042: OUTPUT«You can not add a method to a module; use a class or role␤current instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)␤»
spinclad rakudo: regex foo-bar { foobar }
p6eval rakudo e42042: OUTPUT«You can not add a method to a module; use a class or role␤current instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)␤»
20:38 ignacio_ left
mberends would it be easy to quote the identifier 'foo-bar' in the above error message? 20:41
jnthn yes 20:42
moritz_ the error message is thrown from src/Perl6/Compiler/Package.pm 20:44
bkeeler_ Last time that was brought up the concensus seemed to be that regexes/rules/tokens were strictly just methods and thus didn't belong outside of a class 20:45
And good afternoon, #p6 by the way :) 20:46
moritz_ that would be sad; even then the error message sucks in many ways
it says method, not regex
it doesn't say which regex, and which package
bkeeler_ Yeah, I wrote a better error message, but it gets preempted
jnthn You can get it to say regex probably by outputting $*METHODTYPE
moritz_ b_jonas: preemted? how? 20:47
erm, I meant bkeeler_, sorry 20:48
bkeeler_ Well, I copied the logic from method_def, but I think the check that it does to see if it's in a class or not is wrong 20:49
And therefore it hits the die in Package.pm when it tries to call methods on it 20:50
I'll take another look and see what I can come up with, patch-wise
20:52 colomon joined
dukeleto can some people send an email to the parrot-dev list with the most important Parrot bugs that need fixin' before Rakudo* ? we have set aside this week as "Rakudo bug week" 20:53
moritz_ hilights jnthn++ and pmichaud++ for that 20:54
bkeeler_ Can you make it like two orders of magnitude faster? kthnxbai
20:54 ignacio_ joined, uniejo left
moritz_ now has a patch that at least says "regex" instead of "method" 20:55
20:55 xabbu42 joined 20:57 k23z__ left 21:04 Su-Shee left
bkeeler_ also has a patch :) 21:05
21:05 ruoso left
moritz_ "show me yours I'll show you mine" 21:05
bkeeler_ Oooh
I haven't tested mine
I gotsta rebuild everything cos you've bumpted parrot_revision 21:06
lisppaste3 moritz_ pasted "improved error message" at paste.lisp.org/display/96179
moritz_ my spectest is still running 21:07
bkeeler_ Now that I think about it mine is still wrong
Though you could have yours say 'rule' and 'token' instead of regex 21:08
where appropriate
21:08 masak joined
moritz_ I've noticed that, and changed locally already 21:09
jnthn lolitsmasak
moritz_ and now starting over the spectest
bkeeler_ And perhaps have the error message say 'use a class, role or grammar'
masak lolonatrain 21:10
21:10 chromatic joined
jnthn masak: choooochooo! 21:10
:-)
masak: My first shop in Sweden included Bilar!
spinclad ohaiitschromatic! 21:11
chromatic jnthn, pmichaud, how much value is there to Rakudo * of Parrot allowing non-PMC lexicals?
bkeeler_ I'm thinking we can ditch the action code that looks like:
masak I just came in here to say that if you decide that regex/token/rule declarations don't belong outside of a grammar just because the latest and greatest data model seems to claim that, I'll be very disappointed in you. :)
bkeeler_ our @PACKAGE; unless +@PACKAGE { $/.CURSOR.panic("Can not declare method outside of a package"); }
masak jnthn: :)
bkeeler_ Since that logic is wrong (there's always something in @PACKAGE)
masak jnthn: Det finns bara ett sätt att stoppa dem!
jnthn chromatic: pre-Rakudo *, I don't expect we'll do native types. There's just too many other things to do. 21:12
bkeeler_ And the real error is thrown from Module.methods
jnthn chromatic: They are *very* much wanted for post-R* development though.
colomon Did y'all break 27,000 passing tests while I was out having adventures?
chromatic I have a very good idea of how to make them work. If I thought they'd give a measurable performance improvement, I could probably get them in the next couple of weeks.
moritz_ tried hard not to break tests
colomon chromatic: How hard would bigints be? 21:13
masak moritz_: twice now I've been trying to say on IRC that I've liked seeing you hammer on RT... twice I've been cut off by a crappy IRC connection.
moritz_: anyway, when the inbox vibrates from incoming RT mails, someone is doing something right. :) moritz_++
chromatic colomon, more difficult, depending on what you want.
bkeeler_ masak: I think TimToady declared that regex/rule/token don't belong outside a class. I'll see if I can find the irclog... 21:14
masak: You can still use anonymous ones anywhere though
masak I am not amused.
jnthn chromatic: Most likely gains would be in nqp-rx, if they'll be anywhere, pre-R*.
masak bkeeler_: though I must admit that I do see the surface reason for that restriction. 21:15
colomon chromatic: I was just curious. Mostly at the moment I'm chaffing under the difficulties of getting long numbers working at all in Rakudo -- things like pi to 30 digits break the system completely.
bkeeler_ And I can certainly see why one would want to delcare them elsewhere
chromatic jnthn, that sounds like what I remember pmichaud saying. Do you think there's any improvement in R* from nqp-rx improvements?
PerlJam colomon: pi works just fine if you define it to be 3.14 ;)
[particle] isn't there a list of things rakudo needs from parrot, and a list of rakudo features with a timetable?
bkeeler_ masak: I was dissappointed with how few S05-grammar/*.t I could turn on
masak bkeeler_: patience :) 21:16
moritz_ [particle]: pmichaud sent such a list to parrot-dev some time ago
bkeeler_ but...but...
moritz_ [particle]: it included things like LEAVE handlers for subroutines/blocks
[particle] github.com/rakudo/rakudo/blob/maste...cs/ROADMAP
jnthn chromatic: Only if someone has chance to make said improvements. 21:17
[particle] is the roadmap up-to-date?
masak looks around for snarkyboojum, not finding same
moritz_ [particle]: afaict yes
bkeeler_ masak: Actually the majority didn't pass because they want to call subrules with :: in them, like <Foo::Bar::baz>
chromatic That requires someone who understands nqp-rx, or who can fake it sufficiently.
bkeeler_ And nqp-rx doesnt suppose that
*suupport
jnthn chromatic: Resources are scarce in the face of a Lot To Do. I'd hate to commit to us being able to use something fruitfully pre-R* and then fail to. I can say they'll likely be useful post-R*.
chromatic jnthn, I'm asking because I'm looking for things I can fix in or add to Parrot that I know how to do with relative ease that will improve performance or unblock features. 21:18
(methods in namespaces is still a priority)
jnthn chromatic: Block exit handlers would, as moritz_ mentioned, help us.
masak that surface-tension fellow on reddit is saying plenty of sensible things about creating a better Perl 6 image, on www.reddit.com/r/programming/commen..._algol_68/ 21:19
chromatic I'll twist Tene's arm on that again.
Tene eh?
Tene reads scrollback
oh, those.
jnthn chromatic: One thing I'm hearing increasingly is that memory consumption while compiling certain large spectests and gen_core.pm is *huge*. 21:20
masak I can attest to that.
chromatic I think there's something in compact_pools.
jnthn chromatic: Any analysis on that would likely be welcome.
chromatic Will do.
jnthn Thanks.
masak ++chromatic
PerlJam jnthn: indeed!
chromatic++ 21:21
jnthn Over the last couple of days at the hackathon I've heard that one a lot - even more so than before.
chromatic++
masak it's definitely changed as of branch formerly known as ng.
s/branch/the branch/
jnthn chromatic: One problem I'm seeing that's at PIR level...runtime errors give as a line-number the top line in the sub. 21:22
Not the line the error actually happened one. 21:23
*on
chromatic jnthn, I'll look at that too.
jnthn This makes debugging a bit tricky, but also I think is why annotations can sometimes we so far off the mark too.
21:23 ignacio_ left
spinclad chromatic: while unsure of use INS lexicals before R*, they would be tremendously useful shortly after for sure. 21:23
*making use of 21:24
jnthn spinclad: Aye, that's what I was trying to convey. :-)
chromatic: Basically, after R*, one focus is on native types and compact structs and so forth.
masak put it like this: (1) why does a regex need to be in a grammar? (2) how come it worked before? 21:25
mberends chromatic: it may not be specifically for yourself to do, but some move to replace trac.parrot.org/parrot/browser/trun...thunks.nci with a more general or dynamic replacement would allow Rakudo to act a bit more like duct tape.
jnthn mberends: Ah, yes, that to.
chromatic mberends, there's some work on that.
jnthn chromatic: Do you know what the latest is, or what approach has been chosen? 21:26
Last I saw, there were quite a few options (libffi/libjit/write our own...)
chromatic plobsing is working on that.
Assume that "write our own" is unlikely. 21:27
TimToady except that every external dependency tends to cut down on portability
masak: methods/regexen are allowed to be declared anywhere, but if the pointer to the code is being thrown away, the compiler is allowed to warn. 21:28
otoh, our regex ... is fine
chromatic TimToady, an external dependency that exists and works somewhere tends to work more places than an internal dependency that doesn't exist and doesn't work anywhere. 21:29
TimToady for the moment :)
bkeeler_ What about "our method foo..."
TimToady is fine
you can then poke &foo into someplace where it can funtion as a method
chromatic If someone showed up with a patch for a working thunk builder that I thought we could maintain over the long term, I would not look askance at external dependencies. 21:30
bkeeler_ So it would be installed in the package namespace with a & sigil?
TimToady yes
masak TimToady: thanks, that's what I was hoping for.
TimToady it's just code
PerlJam bkeeler_: binding is your friend
TimToady that happens to know that its first arg is an invocant
masak (regexes being allowed to be declared anywhere, that is) 21:31
jnthn: all 10 tests in Tardis pass! \o/
TimToady a rule just happens to know that its invocant is a Cursor of some sort
PerlJam though I wonder if there's any utility to an anonymous class/grammar that houses methods/regex declared outside of classes/grammars ?
(anonymous, but with a handle you can get at)
TimToady one could envision a system where you import methods from a module 21:32
it's not the default, of course
masak phenny: tell snarkyboojum that all tests in Tardis pass now. \o/ -- time for the next iteration of spec/test/implementation... :)
phenny masak: I'll pass that on when snarkyboojum is around.
TimToady but it allows people to come up with other systems to handle generic code besides the ones we provide 21:33
[particle] masak: check if those 10 tardis tests passed yesterday.
jnthn masak: Nice!
masak [particle]: I expect to hear a lot more of that kind of autopun. :)
[particle] :) 21:34
jnthn
.oO( can we switch them to manual? )
masak [particle]: in fact, I just came back from the near future... turns out there will be lots more of them.
jnthn: a more fitting term than 'autopun' is very much welcome. 21:35
21:35 bluescreen left
b_jonas autopun? 21:35
spinclad (the pun that makes itself)
masak jnthn: the term should describe the thing that creates humour just by exhibiting the same thing as the one under discussion.
b_jonas TimToady: import methods from a module -- isn't that called a trait? 21:36
TimToady more like a mixin
[particle] tautopun?
CokeGod The first rule about Perl 6 is... 21:37
masak [particle]: yes, but it has relatively little to do with tautologies as such...
jnthn masak: I wasn't complaining about the term. :-)
b_jonas well, what ruby calls Modules are stuff you can't instantiate but you can still mix in (methods and other stuff from them) to classes
spinclad (the ineluctable pun, it forces itself on you)
masak jnthn: no, just deliberately misreading it, I know. :)
TimToady most of our modules of that sort we call "roles"
jnthn It's not like I'm want to do such things. :-) 21:38
masak spinclad: sure, except it is often done quite willingly.
TimToady but if you think about, it doesn't make sense to install a method in a role either, only in the class to which it is composed
b_jonas anyway, I think the ruby way doesn't make sense:
masak example: "Are there productive suffixes in English." -- "Yes. Well, yes-ish..."
PerlJam masak: heh
TimToady let's have a yesathon!
Yes! 21:39
masak Ish!
spinclad masak: then the pun rides a willing vehicle
b_jonas but I'm not exactly sure what the right thing is
PerlJam tar!
TimToady we're aiming to make the right thing available with roles
moritz_ rakudo: say ('abc'.match(/./, :g)).elems
p6eval rakudo e42042: OUTPUT«3␤»
PerlJam spinclad: sounds more symbiotic. 21:40
TimToady but we don't claim that we're gonna get it perfect
21:40 Chillance left
[particle] mimetic pun? 21:40
masak rakudo: say ('a'.match(/./, :g)).WHAT
p6eval rakudo e42042: OUTPUT«GatherIterator()␤»
masak [particle]: now we're talking.
21:40 Chillance joined
masak rakudo: say ('a'.match(/./, :g)).elems 21:40
p6eval rakudo e42042: OUTPUT«1␤»
[particle] actually, we're typing.
spinclad memetic pun
[particle] :)
spinclad (or are they all?)
masak think so. 21:41
masak liked 'mimetic'
spinclad +1
TimToady well, it's all a charade
masak actually, 'metacircular pun' sorta-kinda captures it, too.
TimToady wonders what a metacircle looks like...
masak at least in the cases I can think of.
[particle] a pun walks into a bar...
masak TimToady: it's a bit bent... 21:42
[particle]: *lol*
b_jonas I think there should be at least three levels: classes you can instantiate; abstract classes that you can't instantiate but can still be both subclass or superclass of real classes; and traits or whatever that are such that they can be mixed in but you never want to declare a variable or parameter with such a type.
masak [particle]: that's a higher-order pun...
TimToady [particle]: ... and says ouch
b_jonas I'm not sure though.
PerlJam b_jonas: Perl 6 allows all of that.
TimToady b_jonas: sure, but we call those roles, not traits 21:43
traits are something else in p6
traits are used only on declarations in p6
moritz_ perl6 rt queue: closed about 80 tickets in the last 36 hours, 40 more pending spectests
masak moritz_++
b_jonas I see
CokeGod moritz_: ah, excellent. now I don't have to do anythign! 21:44
Tene TimToady: dunno, I never meta circle that was sufficiently meta.
masak CokeGod: and I have to work harder... :)
Tene: clearly you need to do more Smalltalk.
TimToady "Anything you can do, I can do meta! I can do anything meta than you!" --Ada Oakley 21:45
b_jonas what I'm not sure is whether it might make sense to have modules (or singletons) that aren't class-like in that they or their subclasses can never be instantiated but they can still be mixed in or even inherited by other modules
mberends TimToady++
b_jonas (or maybe if the classless guys are right)
(I think they aren't but I'm not sure) 21:46
spinclad singleton means one instance, no?
b_jonas spinclad: I'm not sure
CokeGod hai.
(in general, no clue on this context =-)
PerlJam b_jonas: Perl 6 doesn't preclude those possibilities either. :)
masak TimToady: Doug Hofstadter recounts that a very similar quote was pinned on him, and that he couldn't convince people that he hadn't actually originated it.
b_jonas PerlJam: sure, but I still want to know if those are actually useful
TimToady I believe I made it up at one point, but it could have been independent discovery. 21:47
when did he say this?
PerlJam b_jonas: the only way anyone would know is by trying to use them.
chromatic I never metamodel not obsessed with reflection.
masak TimToady: in the notes section of "I am a strange loop".
TimToady: unless you mean the quote, which he says he didn't actually say. :)
Tene I've got that book at home. I've been too busy to read it yet, though.
b_jonas probably this thing is timtowtdi, there's no one right oo model 21:48
PerlJam bets TimToady read the book and subconciously absorbed the quote
masak Tene: it transformed me a bit. those that do that are the good books.
21:48 bluescreen joined
masak time to detrain. 21:48
o/
21:48 masak left
TimToady \o 21:48
Tene So I've heard. I haven't finished GEB yet either, though.
bye, masak!
TimToady wonders if masak can be retrained... 21:49
21:49 quester joined
moritz_ and then redetrained... 21:49
Tene issues moritz a pope card.
TimToady I don't want him deprogrammed just yet...
frettled Tene: he doesn't need a pope card to be a pope. Everybody is a pope. 21:50
Tene frettled: he reminded me of "To excommunicate, de-ex-communicate, re-ex-communicate, and de-re-ex-communicate (no backsies!) both his-/her-/it-/them-/your-/our-/His-/Her-/It-/Them-/Your-/Our-self/selves and others (if any)."
dalek kudo: 5b81dfe | moritz++ | src/Perl6/ (2 files):
awesomize error message for regexes in packages a bit (though allowing them would really be preferrable)
21:51
diakopter well, everybody is a vicar
frettled that's a vicarious argument
moritz_ Q: is there a cardinal higher than the pope? A: sure, two to the pope
diakopter feels like a spur
21:51 frettled sets mode: +oooo Tene moritz_ diakopter chromatic, frettled sets mode: +o PerlJam
jnthn moritz_++ # awesomization 21:51
b_jonas moritz_++ 21:54
TimToady moritz_: not if the pope is 0 or 1
colomon TimToady++ 21:55
And isn't the pope frequently negative? ;)
b_jonas TimToady: what? even in that case 2^pope is greater
2^0 is 1, and 2^1 is 2 21:56
colomon b_jonas++
b_jonas 2^k is always greater than k for any cardinal k
TimToady ah, yes
I was comparing two to the pope
b_jonas by the diagonalization thing
TimToady and there's only one of him
I was think of square popes 21:57
*thinking
[particle] your son would tell you, like any good physicist, that you should assume all popes are round.
chromatic What about the reptilian space pope?
[particle] any good *theoretical* physicist, anyway 21:58
bkeeler_ I've always found the pope to be rather hyperbolical
b_jonas a square pope would be convenient, for it would fit on the tv screen
[particle] and the popemobile
b_jonas I mean it's a communications role anyway
Tene Assuming we have a spherically-symmetric cow, radiating milk uniformly in all directions...
b_jonas though that only applies to normal tellies, not these stupid widescreen ones
jnthn Imagine a spherical cow!
TimToady I don't have to imagine one 21:59
Tene Hmm, I think I read that lovecraft novel...
diakopter Q:"didn't Someone say not to let people call you teacher, master, father?" A:"Good thing Pope didn't mean father... oh wait..."
A:"Good thing Mister didn't mean master... oh wait..."
A:"Good thing Doctor didn't mean teacher... oh wait..." 22:00
TimToady good thing Mrs doesn't mean...ahem
[particle] i think a curtsie is appropriate here 22:01
m6locks lol
TimToady in any case, my son is not much interested in spherical cows unless they have an event horizon 22:02
Tene www.gizmag.com/first-commercially-a...ack/14423/ -- jetpack!
[particle] utter darkness... 22:03
PerlJam TimToady: There are no black cows. Those are just a myth
TimToady well, they aren't exactly naked cows...
diakopter only naked emperors
moritz_ they are actually black sheep beaten into a diferent shape to appear as cows
PerlJam moritz++
TimToady if they're large enough, they don't have to be beaten; gravity will do it for you 22:04
see dwarf planets
not to be confused with Planet of the Dwarfs
[particle] goes bowling
frettled better than bawling
[particle] oh, i guess i got confused.
TimToady watch out for spherical bowling balls
esp if they moo 22:05
[particle] it'd be easier with spherical pins!
diakopter and bawling bowels
PerlJam ouch
TimToady if it walks like a duckpin, and quacks like a duckpin
spinclad avoid bowling balls with a large gravitational constant
22:06 alester left
[particle] thank goodness this kind of creative energy isn't being unleashed on something useful. 22:06
diakopter oh, you mean those in the future :P
TimToady most bowling balls with a large gravitational constant suck, and therefore aren't constant
moritz_ more like, avoid universes with a large gravitational constant :-)
[particle] constant is a relative term. 22:07
TimToady that too, but if the ball is large enough, it makes a new universe inside
araujo hehe
TimToady we just have to find the holes
22:07 snarkyboojum joined
PerlJam There's a sphincter pun in there somewhere 22:08
TimToady I wasn't going to mention that about the cow balls
*cow bells
diakopter I thought only bulls...
[particle] MOAR COWBALL! 22:09
TimToady oh when those cow bolls get a rotton, you can't pick very much carton
*rotten
PerlJam TimToady: the boll/cotton pull was just too strong 22:10
TimToady my son particularly dislikes string theory
justatheory is integer theory
moritz_ TimToady: how very understandable
justatheory or rather, just a theory 22:11
22:11 SmokeMachine left
TimToady at least you're that, unlike string theory 22:11
PerlJam If the string theorists ever get around to making testable predictions, it may not matter if string theory is likable or not :)
moritz_ s/string theory/string formalism/ # I wouldn't qualify these stringy thingies as a "theory"
TimToady which is more like a religion
spinclad Maybe a Theory = Just a Theory | Nothing 22:12
justatheory string theory more like string idea
justatheory cries
spinclad hugs justatheory
moritz_ spinclad: that would be justamonad
TimToady string notion, which is why you buy yarn at a notions store
PerlJam look back 2000 years or so to when these indivisible components of everything called "atoms" were proposed.
diakopter or quanta 22:13
frettled non-atomic atoms
moritz_ quanta is a HTML editor.
PerlJam (string theory may just need another millenia or two to get into a good groove)
frettled Quantas is an airline.
justatheory quants, meanwhile, destroyed our economy. www.huffingtonpost.com/2010/01/23/t...34309.html
frettled or, in Br.English: Quantas are …
TimToady yeah, but we'll need to schedule another Dark Ages first.
frettled TimToady: we're working on it 22:14
diakopter Oracle is working on it
b_jonas heh
frettled Microsoft is, too.
diakopter bah
frettled I heard they got Apple and Google on the team.
TimToady is that why they consumed Sun?
araujo there is no spoon
frettled TimToady: exactly!
TimToady I get most of the jokes, eventually... 22:15
frettled you're a collector?
TimToady I even get myself from time to time.
PerlJam schizophrenia notwithstanding?
TimToady Solaris collector?
moritz_ I thought that was the job of the Eclipse foundation 22:16
frettled does that have any basis in truth?
diakopter btw, solaris x86 is going away, effectively, apparently
TimToady the absense of smoke proves the globe is not warming 22:17
moritz_ diakopter: don't even try to get half ways on topic
[particle] i've often wondered if we can make perl 6 an entropy-neutral programming language. 22:18
TimToady the only thing we have to sphere is sphere itself. --Plato
diakopter the earth isn't rising, either
spinclad (when the Dragon eats the Sun, there will be darkness at noon)
22:18 bluescreen left
b_jonas [particle]: it's multiparadigm so perhaps you could program it in an entropy neutral style, but it can't be always entropy-neutral. 22:19
TimToady one of my sons published papers is about proving the generalized 2nd law
PerlJam [particle]: the universe would hate perl 6 if it were entropy neutral
TimToady it would be kinda like a superflid
fluid
diakopter would it take more energy than in existence to prove it?
[particle] gaelic is almost entropy-neutral 22:20
TimToady hmm, heisenberg tells us we can't know if it's Christmas yet, but Pauli says it can't be Christmas as long as PHP exists
[particle] talk about a vacuum.... 22:21
TimToady I was talking about negative energy
PerlJam You heard ... er saw him! TimToady just encouraged us to kill PHP! :)
[particle] that's dark.
frettled PerlJam: they're working on it themselves 22:22
TimToady
.oO(Will no one rid me of this language...)
spinclad those who don't observe Christmas will never know
diakopter TimToady: usually people want tongues...
spinclad (ref: xkcd++)
TimToady PHP isn't a tongue, it's a finger 22:23
yes, that one 22:24
b_jonas TimToady: as in xkcd.com/679/ ?
[particle] an impudent finger.
22:25 jmarti joined, IllvilJa left
[particle] which means the supreme court is now deciding whether or not it's protected free-speech. 22:25
TimToady I will check my mailbox for rattlesnakes now. 22:26
spinclad b_jonas: yes, that one
TimToady there's this spherical object, with fangs...should I be worried?
b_jonas TimToady: does it have eyes? or is it an eye? 22:27
TimToady
.oO(an eye for an eye, and a fang for a fang...)
22:28
[particle] the economic meltdown has led to sale prices for eyes and fangs 22:29
PerlJam not an aye for an aye?
TimToady and a truth for a truth?
PerlJam sooth for sooth 22:30
TimToady use Mooth;
[particle] an oy for an oy.
TimToady there oughta be a law...
22:31 bkeeler_ left
spinclad goes have chicken soup for lunch^Wdinner 22:32
[particle] the second law?
22:32 bkeeler_ joined 22:43 cotto_work left, wallberg joined 22:44 cotto_work joined
lichtkind is slurp an alias to open("").get(); ? 22:45
22:46 alester joined
TimToady well, it has to close it too 22:47
I doubt slurp calls get in any case
there's nothing to iterate 22:48
22:50 mberends left 22:56 nihiliad left, alester left 22:57 arthur-_ left 23:00 TiMBuS left
japhb Is there a Perl 6 idiom for unflattening a hash from a list of alternating key and value? 23:03
colomon %hash.kv
23:03 iblechbot left
japhb working around an NQP-rx limitation, and might as well make it look like Perl 6. 23:03
colomon oh, wait, you want the other way around?
japhb colomon, that flattens, the opposite ... yeah
colomon isn't that just $hash = kv-list ?
%hash = kv-list, I mean 23:04
23:04 meppl left
PerlJam NQP doesn't have assignment. 23:04
colomon rakudo: say %hash = 1, 2, 3, 4; say %hash.perl
p6eval rakudo 5b81df: OUTPUT«Symbol '%hash' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
colomon rakudo: my %hash = 1, 2, 3, 4; say %hash.perl
p6eval rakudo 5b81df: OUTPUT«{"1" => 2, "3" => 4}␤»
PerlJam (but, if it did, that would work :) 23:05
japhb yeah, I wish I could do that ....
PerlJam japhb: does nqp grok hash literals ? my %hash := { 1,2,3,4 } # ?
japhb PerlJam, nope. 23:06
Or at least, not last I looked.
Have to fake it with:
23:06 quester left
japhb sub hash(*%hash) { %hash } 23:06
PerlJam It didn't the last time I looked either, but I thought it was slated to be added "soon"
japhb Which is fine and all, but that assumes you already have pairs.
colomon is very confused by this conversation....
japhb My core problem is that NQP-rx doesn't understand a fat-arrow unless the LHS is ident-ish 23:07
colomon rakudo: say (1, 2, 3, 4).Hash.perl
p6eval rakudo 5b81df: OUTPUT«Method 'Hash' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
japhb So I was going to make a hash with these nasty string keys by making a little helper function that unflattened a list. But I just wanted to know if there was already an idiom. Of course the idiom in Perl 6, as colomon pointed out, is 'assignment, not binding'. 23:08
Tene japhb: when you had me implement that for you, I asked you "is simple idents only on the LHS sufficient?", and you told me that it would be. Are you now trying to tell me that you're not completely precognitive?
PerlJam heh 23:09
japhb Tene, it was sufficient for *me*. Just apparently not sufficient for fperrad++. ;-)
I maintain my record is spotless.
Tene Heh.
23:09 rgrau joined
lisppaste3 japhb pasted "It's all fperrad++'s fault ..." at paste.lisp.org/display/96186 23:12
japhb NQP-rx barfs on that at line 28 (the building of the pir_nqprx hash). 23:13
Heh. Looks like I pasted my editor state while typing in unflatten ....
PerlJam so you want to change the grammar to grok quoted strings on the LHS of => ? 23:14
23:14 mssm left
PerlJam (as long as you're not doing full expression parsing, that seems fairly simple) 23:15
(maybe even then, but I haven't given it but 2 seconds though)
er, thought
japhb PerlJam, Heck yeah, that would be fantastic.
23:15 jmarti left
japhb I had gotten the feeling from Tene way back when that that would be non-trivial ... easier now? 23:16
PerlJam oops, gotta go. See you guys later. japhb if someone hasn't beaten me to the punch, i'll look at it later tonight. :)
japhb PerlJam, thanks!
23:19 wknight8111 joined
colomon oh, heh, looks like the test failures I'm getting on my 64-bit linux box from test_summary may be ICU related? 23:34
S32-str/words.rakudo...............................no ICU lib loaded
current instr.: 'perl6;HLL;Actions;charname' pc 17178 (ext/nqp-rx/src/stage0/HLL-s0.pir:5367)
for instance. 23:35
TimToady
.oO(external dependencies...mutter...mutter...)
23:36
diakopter sputter, sputter... 23:42
23:44 arthur-_ joined 23:49 nadim left 23:50 nadim joined 23:51 synth joined