»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | tinyurl.com/p6contest
Set by moritz_ on 28 December 2010.
dalek d: 4afb07c | larry++ | lib/Test.pm6:
catch up standard with s/done_testing/done/
00:01
masak \o/ 00:02
colomon masak: so, how many people have turned in solutions to all problems now? 00:04
masak colomon: that's classified until Friday.
colomon masak: is it bigger than a breadbox?
masak :)
TimToady depends on whether you're french 00:06
masak just assume, for the time being, that the competition is cause for everyone to be concerned. I'm not saying that's necessarily the case, just that it's a good assumption. :)
colomon masak: you just want me to keep on obsessing with p4...
TimToady: do the French really have French bread length bread boxes? They seem vaguely impractical at that size... 00:07
allbery_b afaik the French buy that bread fresh and finish it well before they'd need a breadbox 00:09
colomon that definitely seems like a better plan.
allbery_b you can get it on any street corner in most French cities
TimToady so a French bread box is not very big at all :)
the only question is how many of them fit on the head of a pin, and how that relates to the size of contest entries 00:10
dalek rixel: 24a5eac | diakopter++ | sprixel/ (6 files):
fixed all (heretofore) known regressions
00:16
masak 'night, #perl6. 00:24
payload i wanted to port cairo today with zavolaj... but it is broken on current Star. but more likely parrot is broken. jnthn 00:24
dalek albot: 9961391 | (Perl 6 Evalbot)++ | evalbot.pl:
pushed sprixel dir 1 level deeper in evalbot
00:44
diakopter github was teh slow
wolverian stares the file named stdin 00:46
diakopter sigh 00:50
diakopter there we go. 00:52
perlesque: say(5)
p6eval perlesque: OUTPUT«5␤»
sorear wolverian: it's just the austrian national anthem 01:00
dalek d: 0a2b4bd | larry++ | STD.pm6:
allow >) as infixstopper in regex

Code was probably confusing it with the )> token. sorear++
01:03
dalek d: 84ca780 | larry++ | STD.pm6:
parse ...^ correctly

oops, was parsing it as ... and then prefix ^
01:09
sorear wonders if &infix:<ff> has the macro-nature 01:10
TimToady std: 1,2 ...^ -> $a { $a > 10 }
p6eval std 625303c: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix > instead at /tmp/vhF7nyhV_7 line 1:␤------> 1,2 ...^ -⏏> $a { $a > 10 }␤Parse failed␤FAILED 00:01 120m␤»
sorear A ff B -> _flipflopop(state $, A, B) perhaps
TimToady if it's to follow P5 semantics, yes, it must be macroish 01:11
TimToady it can probably be written as a stateful ??!! somehow, in fact I think I wrote it out once 01:12
afk &
lue OHAI! o/ 01:24
colomon \o\ 01:32
diakopter -o_ 01:40
snarkyboojum _o| 01:44
dalek rixel: 7f319c7 | diakopter++ | sprixel/ (8 files):
misc fixes/cleanup
01:49
jpr5 owowowow my eyes 01:52
diakopter ?
karma sorear 01:55
aloha sorear has karma of 671.
diakopter karma larry
aloha larry has karma of 8.
sorear buubot: karma sorear 01:56
buubot sorear: sorear has karma of 1625
diakopter buubot: karma larry
buubot diakopter: larry has karma of 9
diakopter buubot: karma diakopter 01:57
buubot diakopter: diakopter has karma of 621
diakopter buubot: karma TimToady
buubot diakopter: TimToady has karma of
diakopter karma TimToady
aloha TimToady has karma of 77.
diakopter sigh
flussence maybe aloha just wraps the int, while buubot uses a float and can't display +Inf. 01:58
sorear neither bot has a reliable host, so they both only see a subset of deeds 02:01
sorear (I'm biased, I used to run the channel bot before somebody banned it) 02:01
cognominal_ karma gnole 02:02
aloha gnole has karma of 0.
colomon rakudo: say 1..10.map({; $_ => $_; }.perl; 02:03
p6eval rakudo 8681da: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
colomon rakudo: say 1..10.map({; $_ => $_; }).perl;
p6eval rakudo 8681da: OUTPUT«␤»
colomon rakudo: say (1..10).map({; $_ => $_; }).perl; 02:04
p6eval rakudo 8681da: OUTPUT«(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10)␤»
colomon rakudo: say (1..10).map({; $_ => $_; }).grep( *.value ~~ 5..7 ).perl;
p6eval rakudo 8681da: OUTPUT«()␤»
colomon say (*.value ~~ 5..7).WHAT
colomon rakudo: say (*.value ~~ 5..7).WHAT 02:05
p6eval rakudo 8681da: OUTPUT«Bool()␤»
cognominal_ karma gnole is a pun on en.wikipedia.org/wiki/Carmagnole, and gnole, a strong alcohol
aloha gnole is a pun on en.wikipedia.org/wiki/Carmagnole, and gnole, a strong alcohol has karma of 0.
cognominal_ arf 02:06
colomon rakudo: say (4 < *.value < 10 ).WHAT 02:07
p6eval rakudo 8681da: OUTPUT«WhateverCode()␤»
colomon rakudo: say (1..10).map({; $_ => $_; }).grep( 4 < *.value < 8 ).perl;
p6eval rakudo 8681da: OUTPUT«(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10)␤»
colomon bug? 02:08
dalek href="https://modules.perl6.org:">modules.perl6.org: bee61f4 | snarkyboojum++ | web/fame-and-profit.html:
[fame-and-profit.html] Fix the camelia icon
diakopter rakudo: say (1..10).map({; $_ => $_; }).grep({ 4 < $_.value < 8 }).perl; 02:09
p6eval rakudo 8681da: OUTPUT«(5 => 5, 6 => 6, 7 => 7)␤»
diakopter :?
rakudo: say (1..10).map({; $_ => $_; }).grep({ 4 < $_.key < 8 }).perl; 02:10
p6eval rakudo 8681da: OUTPUT«(5 => 5, 6 => 6, 7 => 7)␤»
colomon I think maybe 4 < *.value < 8 is being silently translated to 4 < *.value && *.value < 8, or something like that? 02:11
I don't know if it's a bug or not, but it definitely kind of sucks that the first two ways I thought of writing that code didn't work. :\
flussence rakudo: say (1..10).map({; $_ => $_ }).grep(4 < $^a.value < 8).perl # ? 02:14
p6eval rakudo 8681da: OUTPUT«Null PMC access in find_method('value')␤ in main program body at line 22:/tmp/cSSI1mDUjp␤»
flussence argh
colomon needs parans.
er, braces.
flussence oh right, $^ doesn't do that on its own...
colomon rakudo: say (1..10).map({; $_ => $_ }).grep({4 < $^a.value < 8}).perl 02:15
p6eval rakudo 8681da: OUTPUT«(5 => 5, 6 => 6, 7 => 7)␤»
flussence rakudo: say (1..10).grep(4 < * < 8).perl
p6eval rakudo 8681da: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤»
dalek href="https://modules.perl6.org:">modules.perl6.org: 513d1b0 | snarkyboojum++ | web/fame-and-profit.html:
Fix link to blurb about Camelia.
colomon rakudo: say (4 < * < 8)(5).perl
p6eval rakudo 8681da: OUTPUT«Bool::True␤»
colomon rakudo: say (4 < * < 8)(100).perl 02:16
p6eval rakudo 8681da: OUTPUT«Bool::True␤»
flussence yeah, I'd expect chained-comparison + Whatever to dwim...
colomon rakudo: say (4 < * < 8)("green").perl
p6eval rakudo 8681da: OUTPUT«Bool::True␤»
colomon I don't really have any idea how to explain that.
unless....
rakudo: say (* < 8)("green").perl
p6eval rakudo 8681da: OUTPUT«Bool::True␤»
colomon rakudo: say (* < 8)(100).perl
p6eval rakudo 8681da: OUTPUT«Bool::False␤»
flussence rakudo: say (Bool::False < 8 && Bool::True < 8).perl 02:17
p6eval rakudo 8681da: OUTPUT«Bool::True␤»
flussence I think it's being interpreted as (4 < *) < 8 02:18
dalek rixel: 13edce2 | diakopter++ | sprixel/sprixel.csproj:
default is Release mode build...
02:20
payload is there a fast version of .match(*, :g) ? -.- insane 03:23
sorear niecza: my $st = "do99" x 1000; say +[ $st.comb(/\d+/) ]; 03:40
p6eval niecza v1-140-g7905557: OUTPUT«1000␤»
sorear niecza: my $st = "do99" x 10000; say +[ $st.comb(/\d+/) ];
p6eval niecza v1-140-g7905557: OUTPUT«10000␤»
sorear niecza: my $st = "do99" x 50000; say +[ $st.comb(/\d+/) ];
p6eval niecza v1-140-g7905557: OUTPUT«(timeout)»
payload i get a website "blog.fefe.de" and .match( /(.)(html<-[$0]>*/, :g ) 03:44
argh, maybe the $0 makes it slow 03:45
sorear <-[$0]> doesn't do what you think it does
payload ah, no... i use '"' hardcoded
no?
sorear it matches any character except $ or 0
payload whee 03:46
well, '"' hardcoded is still slow 03:47
colomon rakudo: say ~([\+] (1..10)) 03:56
p6eval rakudo 8681da: OUTPUT«1 3 6 10 15 21 28 36 45 55␤»
colomon huh. 03:57
TimToady double useless use of parens :) 03:59
colomon rakudo: say ~[\+] 1..10 04:00
p6eval rakudo 8681da: OUTPUT«1 3 6 10 15 21 28 36 45 55␤»
colomon \o
\o/
payload there is a need for a regression test. doent print anything on current Star: perlgeek.de/blog-en/perl-6/starry-obfu.html
TimToady payload: I believe the semantics of * changed since then, from * + * meaning { $^a + $^a } to meaning { $^a + $^b } 04:35
payload ah, okay 04:49
lue rakudo: say 0,10, *+* ... 100; 05:09
p6eval rakudo 8681da:
..OUTPUT«(timeout)508013021034055089014402330377061009870159702584041810676501094601771102865704636807502501213930196418031781105142290832040013462690217830903524578057028870922746501493035202415781703908816906324598601023341550165580141026791429604334944370701408733011349031700183631190302…
lue that's... unexpected. afk! \o 05:10
dalek ecza: 6c69124 | sorear++ | v6/harness:
[v6] Fix order of operations in Alt optimization
06:32
ecza: 4135121 | sorear++ | v6/ (10 files):
[v6] Mergeback
ecza: 3a6eeb2 | sorear++ | v6/NieczaCompiler.pm6:
[v6] Cache loaded units between compiler runs
diakopter perlesque: my $sw = Diagnostics::StopWatch.StartNew(); my $a = 10_000_000; sub b() { if (--$a) { b() } }; b(); say($sw.Elapsed) 06:46
p6eval perlesque: OUTPUT«Could not allocate 16432 bytes␤Stacktrace:␤␤ at sprixel.FrameBase.Run () <0x000fe>␤ at (wrapper runtime-invoke) <Module>.runtime_invoke_object__this__ (object,intptr,intptr,intptr) <0xffffffff>␤ at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke
..(System.R…
diakopter bah
perlesque: my $sw = Diagnostics::StopWatch.StartNew(); my $a = 5_000_000; sub b() { if (--$a) { b() } }; b(); say($sw.Elapsed) 06:48
p6eval perlesque: OUTPUT«(timeout)9204037␤»
diakopter weird
it was doing so much better earlier
perlesque: my $sw = Diagnostics::StopWatch.StartNew(); my $a = 2_000_000; sub b() { if (--$a) { b() } }; b(); say($sw.Elapsed) 06:49
p6eval perlesque: OUTPUT«00:00:02.8491494␤»
diakopter frowny frown
sorear niecza-compiled-niecza seems to work fine 10:45
but (niecza-compiled-niecza)-compiled-niecza is unusable
it can't even handle my $x; $x 10:46
it thinks $x is undeclared
arnsholt The joys of bootstrapping? 10:49
moritz_ it acts as a harsh test suite with not-so-good diagnostics
sorear aye 10:50
mathw so clearly niecza-compiled-niecza is not behaving exactly the same as it should
recursively compiling yourself is a damned good test though :)
sorear this would be inconceivable without a proper test suite to catch 90% of the compilation problems beforehand
moritz_ time to use spectest suite :-)
you can stub eval_{lives,dies}_ok if you don't have eval yet 10:51
sorear alternatively, I can find some way to diff 7MB of whitespace-free JSON 10:52
moritz_ first find a pretty printer
shouldn't be too hard
then diff the pretty-printed JSON
sorear I've been using one for debugging, but I need to find one that produces deterministic output 10:53
mathw might have to stop and write one 10:53
which would be a pain
sorear ha
moritz_ can't you do a whitespace insensitive diff? 10:55
mathw sorting 10:57
moritz_ ah 10:58
crap
sorear well, also there are spurious differences
moritz_ what's the biggest blocker to using roast?
sorear tuits :) 10:59
moritz_ ok :-)
sorear for idiotic historical reasons, the Perl 5 version of Niecza includes a copy of the full pathname in every position annotation node
moritz_ would an update script + test harness help?
sorear already have both of those
pmurias++ has been tinkering with fudges 11:00
moritz_ so it's just a matter of fudging tests and adding them to the list of passing test files?
sorear "just" 11:01
moritz_ well, I've done that for rakudo before 11:02
and I might have some tuits tonight (ie in about 6..8 hours) 11:03
dalek href="https://modules.perl6.org:">modules.perl6.org: cefbeea | snarkyboojum++ | web/ (2 files):
Align headings and link them to the homepage
arnsholt @ means does Positional, right? 11:18
sorear maybe
it did at one point, but then we decided my @foo is Bag should work
it's been reslushified 11:19
arnsholt Oh
moritz_ and Bag !~~ Positional?
sorear correct
bags are unordered
like hashes
moritz_ my state is still that @ means "restrict to Positional and default to Array"
shouldn't Bag be % sigiled then? 11:20
arnsholt In S32 Array isn't Positional either, it seems
Array does List, and List does Container 11:21
sorear Container is nonsense
arnsholt Oh, great =) 11:22
moritz_ but List does Positional 11:23
the specs are very vague in that area
arnsholt Or, to ask a different question: When $/.ast is an Array, why does for $/.ast simply iterate once, with $_ being the whole array? 11:28
Or, why does @stuff = $/.ast become [[stuff]]? 11:29
moritz_ arnsholt: it probably is not an Array, but an Array in a Scalar
try @stuff = $/.ast.list
iirc is make() specced to be item context, or something
arnsholt Aha 11:30
That might be it. Although $/.ast.WHAT being Array() in that case does seem weird
moritz_ the scalarness is a property of the container, whereas .WHAT returns the type of the contents 11:31
sorear well, consider my @foo = ([1],[2]);
@foo[0].WHAT is Array()
moritz_ rakudo: say [].PARROT
p6eval rakudo 8681da: OUTPUT«ObjectRef->Array␤»
moritz_ rakudo: say (my @a).PARROT
p6eval rakudo 8681da: OUTPUT«Array␤»
arnsholt Ah, I see
moritz_ this whole flatten/non-flatten bit is going to be an FAQ 11:32
and we should make it easy to inspect
arnsholt Yeah, I was about to say pretty much the same thing =)
dalek href="https://modules.perl6.org:">modules.perl6.org: bff1a08 | snarkyboojum++ | web/ (2 files):
Make pages validate and fix link styles
arnsholt (About the FAQ thing)
moritz_ -> lunch
arnsholt But yay. My dead-stupid p3 solution works =D 11:33
sorear note that it works completely differently under the hood in niecza
DarkWolf84 hi :) 11:36
sorear hello and welcome, DarkWolf84 11:41
DarkWolf84 I can't compile the last rakudo :) 11:45
:(
it freezes my system
It never happened before 11:46
coldhead what is your system?
DarkWolf84 amd64 512m ram
I know the ram is not too much
i'm on archlinux 11:47
coldhead how much swap space do you have?
DarkWolf84 the x86_64 version
about 1G
free says 1004056 11:49
coldhead do you know how far the compile gets? 11:50
DarkWolf84 last time more than 12 hours 11:51
masak hi, #perl6. 11:51
snarkyboojum o/
mathw hi masak
DarkWolf84 hi, masak
:)
masak hi, snarkyboojum. hi DarkWolf84 -- long time, no see. 11:52
sorear I've found a lovely misparse that I can't effectively golf
it seems to be context sensitive in some way 11:53
sorear $*DECLARAND = $curstash.{$name} = $declaring; is getting compiled as left-associative in STD but not from the command line 11:53
sorear out 11:54
masak intriguing.
mathw ...run
...fun*
or maybe just run screaming for the hills, and don't come back until you've reformulated Perl 6 using S-expressions which are at least easy to parse correctly 11:55
DarkWolf84 why compiling rakudo takes so much memory
sorear masak: niecza-compiled-niecza seems to work fine, (niecza-compiled-niecza)-compiled-niecza is having... issues
'my $x; $x' -> $x not predeclared
masak DarkWolf84: there are some memory optimizations that require more effort than people have put in so far. we more or less know about them, but they'll require some work. 11:56
sorear: I love the smell of strange loops in the morning.
mathw rakudo: ([+] (16..100)) * 4 12:00
p6eval rakudo 8681da: ( no output )
mathw rakudo: say ([+] (16..100)) * 4
p6eval rakudo 8681da: OUTPUT«19720␤»
snarkyboojum rakudo: say [+] 16..100 * 4; say ([+] 16..100) * 4 12:11
p6eval rakudo 8681da: OUTPUT«80080␤19720␤»
snarkyboojum rakudo: say [+] 16..400 12:12
p6eval rakudo 8681da: OUTPUT«80080␤»
masak huh.
masak thought [+] was a listop 12:13
oh wait.
never mind.
100 * 4 == 400
yes, it does make sense as-is.
wouldn't some Perl 6 implementor like to put in the optimization [+] $A..$B ==> ($B - $A + 1) * ($A + $B) / 2? :) 12:16
(that only holds when $B >= $A, of course) 12:17
rakudo: my $A = 16; my $B = 400; say ($B - $A + 1) * ($A + $B) / 2
p6eval rakudo 8681da: OUTPUT«80080␤»
masak \o/
snarkyboojum _o/ 12:18
masak really looks forward to toying with optimizations in Yapsi 12:21
arnsholt masak: That optimisation only holds if there's no funny business going on with the .. op and so on, though =) 12:51
jnthn Thankfully, you can statically know about multi overrides. :) 12:53
masak yay
moritz_ masak: I wanted to do in rakudo
moritz_ masak: but it turns out that if I install one [+] multi, the rest isn't autogenerated 12:53
and it needs to check if the boundaries are excluded 12:54
erm, s/ex/in/ 12:55
masak of course. 12:58
takadonet morning all 13:07
moritz_ \o 13:09
tadzik o/ 13:11
masak takadonet: \o
pmurias moritz_: niecza using roast see t/run_spectests 13:16
moritz_ pmurias: thanks 13:17
sadly my tuits just got destroyed
(related only to real life being mean)
pmurias roast tests are a mixture of easy and (very) hard test cases so it takes a lot of fuding to pass a spec test 13:19
moritz_ I know
takadonet yo 13:24
colomon \o 13:25
moritz_ it seems that my parenthood is approaching faster than anticipated 13:26
new ETA: tomorrow 13:27
moritz_ panics
masak hugs moritz_
pmurias: do you think it would be worth it to segregate easy and very hard test cases? would such a division be the same across implementations?
moritz_ in general it would not 13:28
but there are some things that are generally considered harder than others
colomon hugs moritz_
moritz_ ie multi harder than single dispatch
moritz_ feels hugged. Thanks masak and colomon
colomon moritz_: how early is this?
jnthn moritz_: *hug* Good luck, hope all goes well! 13:29
moritz_ colomon: original ETA was Feb 1st
moritz_ so it's about 2.5 weeks earlier 13:29
colomon not bad.
mux they should have progress bars on pregnant women bellies 13:30
moritz_ not too dramatic
masak sounds relatively OK.
mux: I doubt that would've helped in this case.
moritz_ mux: they have, kindof. But sometimes there are IO errors near the end
mux heh.
moritz_ they make regular size measurements with supersonic imagining
mathw moritz_: oooh good luck 13:31
mux moritz_: congrats btw
moritz_ thanks everyone
and sorry for distracting from masak's and pmurias' p6 discussion :-)
takadonet mortiz_ looks like I be in the same boat as you in a few months
masak moritz_: np. I didn't feel distracted from any discussion. 13:32
moritz_ takadonet: \o/ congratulations, and my well wishes to the whole (small) family
colomon takadonet: congratulations as well! 13:38
coldhead i hope perl6 doesn't get me pregnant too 13:39
masak coldhead: not if you use Perl 6 in the intended way. 13:44
jnthn
.oO( Always use Safe; )
daxim p3rl.org/Sex 13:46
masak coldhead: no! don't leave :) 13:49
jnthn "Scared of getting pregnant" would be a new reason for not using Perl 6... 13:50
masak I'll take my chances. I've been a Perl 6 user thus far, and nothing like that has happened to me. 13:53
I may have gained a little weight, but...
jnthn Me too, and it's Perl 6's fault. I turn beer into code and consuming beer in order to produce code for the Perl 6 project made me fatter. :) 13:55
takadonet thanks guys! 13:57
gfldex jnthn: did you try to code while riding a bicycle? 14:05
masak gfldex: I find I can do routine tasks, like passing tests, on a bicycle. deeper design-related coding issues, however, no. 14:07
either the code comes out not very good, or I run off the road into a ditch.
I also find the whole keyboard-and-steering thing complicated.
gfldex if we had to power our computers via the dynamo, we would all be much healthier :) 14:08
PerlJam good * #perl6
masak: They make chorded keyboards that are handle-bar-sized. You just have to get used to them :) 14:09
masak PerlJam: ooh 14:09
PerlJam In fact, I think the original models were specifically for bicyclers.
pmurias masak: re segregating test i think it would be hard 14:16
masak: some implemenation might have crufy syntax implemented others might have multimethods 14:17
pmurias masak: what could be helpfull would be to have a convienient fuding tool 14:19
masak pmurias: I think no-one would object if you were to put forward more convenient tooling for fudging tests. 14:21
[Coke] doesn't moritz_ have something for auto-fudging and un-fudging for rakudo? 14:34
moritz_ just unfudging 14:35
[Coke] ponders the sanity of writing a fudger in perl6. 14:36
pmurias [Coke]: the fudger would be very complex 14:38
* woudln't
* wouldn't
masak [Coke]: it wouldn't be insane at all to do it in Perl 6. but I would consider featureset to be vastly more important than language choice in this case. 14:40
tadzik what's a fudger? 14:57
takadonet tadzik: someone who makes fudge :)
PerlJam A more polite expletive? :)
masak tadzik: a filter that selectively disables tests for implementations that don't support them yet.
tadzik thanks
masak tadzik: so that all implementations can (in theory) use the same spectest suite.
takadonet masak: my explanation is better
masak takadonet: oh, no doubt. 14:58
daxim the interesting question then is: why not let e.g. pugs just fail instead of distorting the outcome?
PerlJam masak: What's this "(in theory)" stuff? It seems to have worked in practice so far :)
moritz_ daxim: because we also use the spectests as regression tests for the implementation 14:59
masak daxim: Pugs is not a good example, because no-one's developing it right now. but for an implementation that's being developed, you'd want to see only the relevant tests.
PerlJam: mostly what pmurias said. he seems not altogether happy with the current fudger.
PerlJam: I don't know what that's about more exactly, but I don't think pmurias would say something like that without reason. 15:00
moritz_ sorear: what's your preferred way of receiving patches for niecza? 15:04
pmurias moritz_: fork it on github 15:09
pyrimidine takadonet: Congrats! I have a 4-month old now :)
Babies everywhere 15:10
(and belated congrats to moritz_ as well!)
takadonet pyrimidine: thanks
PerlJam I have two 60-month olds as of Jan 10 ;-) 15:12
masak twins?
PerlJam aye 15:12
masak nice.
colomon my guy is 28-months.
mathw my dad's a twin
none in my generation of the family though
colomon and just "Super Chief, meet the Little Blue Engine." (He's playing trains.)
mathw his dad was a twin too 15:13
KyleHa Howdy #perl6. 15:14
moritz_ is abusing rakudo's update_passing_test_data.pl for niecza
\o/ it's KyleHa
masak KyleHa! \o/
PerlJam mathw: I didn't know there were any twins in my family until I had two myself. Suddenly I found out that my mother's father was a twin as were a majority of his cousins. (My mother's parents died when I was young and we moved out of state, so I didn't get to really know that part of my family)
KyleHa Rakudo testers: I ran spectest on a system with no icu and discovered two other files that failed because of that (they passed after I installed icu). They are dash-e.t and ignorecase.t. Those don't seem all that Unicode-related. Should they be marked #icu in the spectest.data, or should we do something about the tests in them? 15:16
moritz_ good question 15:17
PerlJam maybe a little of both.
masak the interesting question is *why* they currently depend on icu. 15:18
PerlJam dash-e.t uses \c[LATIN SMALL LETTER A WITH DOT ABOVE] which seems a little hard to come by without some knowledge of unicode 15:19
KyleHa As I recall, it's this test in ignorecase: ok('Δ' ~~ m:i/δ/, ':i with greek chars');
mathw PerlJam: Wht I never understood is why my grandma insisted on dressing Dad and his brother exactly the same whenever possible when they were boys. 15:22
PerlJam maybe split ignorecase.t into two parts? ignorecase-ascii.t and ignorecase-unicode.t ?
mathw PerlJam: in all the photos, even they don't know which is which.
masak mathw: they're *twins*. that's the way it works. 15:23
masak it's an unwritten rule or something. 15:23
mathw maybe that explains why they're so different now
a backlash :)
PerlJam My twins are boy-girl, so it would be really weird to dress them alike ;)
mathw ah fraternal twins 15:24
much more interesting
KyleHa I saw twins on the train this morning. The only difference was one had her pants over her boots and the other hand her pants bunched up above her boots.
Su-Shee (I will rephrase in the next article accordingly.. "if vim gets you laid these days - Perl 6 gets you pregnant.." :) 15:31
takadonet wow...
masak heh
masak Perl 6 got me a job. that's enough for now. 15:31
Su-Shee masak: wait and see.. ;) 15:32
TimToady rakudo: say [+](1..100) + 0 # is there a ticket for this misparse? 15:32
p6eval rakudo 8681da: OUTPUT«100␤»
takadonet looks at masak 15:33
masak std: say [+](1..100) + 0 15:33
p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
masak TimToady: oh, I see now. 15:34
not sure there's a ticket for that.
TimToady point is, it's supposed to work like a list op
masak there are similar tickets, for sure.
masak submits rakudobug, Justin Case
moritz_ fwiw it got me a job too, but I rejected
masak moritz_: s/rejected/declined/
moritz_ erm, yes :-) 15:35
TimToady or ejected, if it was to be a fighter pilot
colomon Wait, is it a misparse?
moritz_ niecza: say +"23" 15:36
p6eval niecza v1-143-g3a6eeb2: OUTPUT«Unhandled exception: Unable to resolve method Numeric in class Str␤ at line 0 (ExitRunloop @ 0)␤ at (eval) line 1 (MAIN mainline @ 1)␤ at /home/p6eval/niecza/lib/SAFE.setting line 1070 (SAFE C378_ANON @ 1)␤ at /home/p6eval/niecza/lib/SAFE.setting line 1070 (SAFE
..module-SAFE @ …
colomon rakudo: say (1..100) + 0
p6eval rakudo 8681da: OUTPUT«100␤»
TimToady rakudo: say ([+] 1..100) + 0 # should get this 15:37
p6eval rakudo 8681da: OUTPUT«5050␤»
TimToady a listop with immediate () is a function call
TimToady rakudo: say [+](1..100) + 0 # instead of this 15:42
p6eval rakudo 8681da: OUTPUT«100␤»
TimToady anyway, shouldn't need extra parens around [+]() to make it come out right 15:43
masak nod
masak adds this to the ticket
dalek ecza: 6b2a40e | pmurias++ | cl-backend/backend.lisp:
started working on classes in the common lisp backend
15:45
pmurias hmm, what syntax should embedding common lisp in a Perl 6 program use?
* embedding common lisp code
masak pmurias: 'use Common::Lisp;', perhaps. 15:46
colomon does that mean that [+](1..100) + 0 is different from [+] (1..100) + 0 ? # note extra space between ] & (
TimToady yes 15:47
same as for any other listop
rakudo: say (1+2) + 3; say(1+2) + 3
p6eval rakudo 8681da: OUTPUT«6␤3␤»
colomon makes sense, I guess 15:48
masak colomon: compare it to the path Perl 5 has chosen (explained at the beginning of 'perldoc perlfunc') 15:50
KyleHa rakudo: use Test;is [+](1..10) + 0, ([+] 1..10) +0, "RT 82210"
p6eval rakudo 8681da: OUTPUT«get_attr_str() not implemented in class 'Sub'␤ in main program body at line 1:/tmp/FZvL0tOl9E␤»
KyleHa C'est what? 15:51
masak I'm tempted to submit another rakudobug for that :)
colomon you should, it seems 15:52
masak submits rakudobug
TimToady not that the first [+] is slurping is's args
due to the bug in question
masak troo
TimToady *note
masak KyleHa: try with more parentheses.
colomon btw, has anyone looked at all the weird behavior turned up last night on the list? 15:53
TimToady particularly around the first arg to is
colomon no longer remembers the details, there is a lack of sleep thing going on here.
KyleHa Oh, that makes sense. Masak: I worked around it as "ok … == … " instead.
TimToady that will still misparse if you're not careful
colomon I mean irclog.perlgeek.de/perl6/2011-01-13#i_3181402 and further on 15:54
WhateverClosures misbehaving with respect to common idioms for looking at ranges of numbers.
TimToady we've said that ~~ doesn't autocurry, but maybe it doesn't autocurry only on the right arg 15:57
and chained ops are hard to autocurry correctly, but it will presumably get done someday 15:58
dalek ast: c5240b2 | (Kyle Hasselbacher)++ | S03-metaops/reduce.t:
[reduce] Test for RT 82210: Misparse of metaop with immediate ()
15:59
ast: 8be7057 | (Kyle Hasselbacher)++ | S32-hash/push.t:
Merge branch 'master' of github.com:perl6/roast
pmurias masak: {use Common::Lisp;(format t "Hello from Common Lisp~%")}? 16:00
TimToady a chained op has to be considered a function of all its args to curry right: 4 < *.value < 7 really means chain'em(4, &[<], *.value, &[<], 7) or some such 16:01
masak pmurias: right. 16:02
dalek kudo: a350ff4 | kyleha++ | t/spectest.data:
[spectest.data] Mark dash-e and ignorecase as depending on icu (because they do)
16:03
[Coke] masak: (perl 6 got you a job) pics or it didn't happen. (well, ok, blog.) 16:09
TimToady he didn't say it was a paying job 16:10
masak [Coke]: twitter.com/Edument/status/24580314319822849
[Coke] sadly, cold fusion is the only language that has gotten me a job. (twice, even.)
masak [Coke]: I didn't say it was a Perl 6 job. 16:11
[Coke] masak++
masak: I understand.
(one of the jobs I got with CF ended up being java mostly anyway. ;) 16:12
masak [Coke]: incidentally, it's the same employer as jnthn's, making that company probably the most p6-dense one in the world. 16:14
hm, unfortunate choice of words. "p6-concentrated" :) 16:15
colomon masak: well, my company has one employee... ;) 16:27
masak that's a bit of a corner case, methinks. 16:28
masak at least you're on good terms with the boss ;) 16:29
moritz_ 2 perl 6 hackers in one company sounds like a higher density than 1 in one company :-) 16:30
masak depends whether you count per company or per employees in the company, I guess. 16:31
colomon yeah, but as long as your company has more than two employees, the percentage win goes to mine. :) 16:32
masak jnthn: colomon is challenging our role as the most p6-packed company! :) 16:41
jnthn: we need to lay a few people off, I think. :P
jnthn masak: :P 16:45
masak: Well, at least we're safe in such a layoff. :P
jnthn
.oO( We could always teach our boss Perl 6... )
16:48
colomon you could always give me the funds to hire a couple more employees... ;) 16:56
TimToady was it something I said? 19:55
sorear Hi! 19:57
good * #perl6
TimToady likewise 19:58
colomon \o
takadonet sorear: yo 19:59
moritz_ hi sorear. Pull requests waits for you :-) 20:01
masak ahoy! \o/ 20:52
moritz_ lolitsmasak! 20:53
tadzik o/
jnthn yayitsmasak!
masak yayitsallyouguys!
jnthn It soll them?
masak I... don't know what that means. 20:54
jnthn Me either. :P
masak halp, jnthn is making English up as he goes along :)
that's cheating. I've worked hard for the level of English I have at this point. you can't go extending it now! :) 20:55
jnthn
.oO( I can imagine people saying that about Perl 6... )
masak yeah, but you didn't predeclare your unorthodox use of the English language :) 20:55
jnthn :P 20:56
moritz_ declares jnthn as a punster
masak I've created a punster! 20:57
TimToady you can think of the 'jnthn' on the front as a kind of meta-sigil that declares the following slang
moritz_ ... to be parsed with .* 20:58
jnthn TimToady: Talking of slangs... Can I sorta think of them as a little piece of grammar that we need to compile into something role-ish immediately after parsing it, and mix into the current cursor? Or do you "enter" / consume a slang in some other explicit way? 20:59
perigrin s'all is a perfectly crumulous word
jnthn I'm guessing it's not quite as simple as being just applied to the current compilation unit or you couldn't export them.
TimToady mixins are kinda the general approach; we do this writ small when we say Q:qq:c// and such; it just needs to be writ a bit bigger for importing 21:03
jnthn TimToady: *nod* 21:04
TimToady: I want to implement it soonish.
TimToady: So just poking for more concrete. :) 21:05
sorear wonders what the syntax for implementing Cobol.pm6 is
jnthn My use case is related to meta-model stuff and introducing new package declarators, fwiw.
jnthn EXPORT SYNTACTIC EXTENSION TO CALLER NAMED "COBOL" 21:06
BEGIN GRAMMAR DIVISION
... :)
perigrin START PROGRAMMATIC UNIT OF CODE
gotta make sure it's < 80 columns though 21:07
or else it'll never fit on a card.
sorear jnthn: um, no
jnthn: bootstrapping can't be the first step :D
arnsholt masak: For p4, should our solutions do something when the game is over? 21:08
masak arnsholt: anything beyond base-test is optional/bonus stuff. that said, do something that you yourself believe in. 21:09
arnsholt: I will quite literally judge the code on the bases of small things like that, along with more sweeping criteria.
moritz_: jnthn and I discussed the return value of s/// a bit more. here's the solution we like best: a successful s/// returns the (whole) result string, an unsuccessful one returns Str. that way, it always returns something of type Str, and if you're interested in whether it matched, you can do &defined on it. 21:10
arnsholt masak: Right, that makes sense, in a Perl 6 kind of way =)
Thanks!
sorear masak: will all entrants be published? I'd love to see a cross section of p6 styles
arnsholt Yeah, that might be cool
masak sorear: yes, all submissions (even overridden ones) will be published. that's part of the contest, so to speak. 21:11
masak which means people will have the same basis as I have for judging a winner. I hope the increased transparency won't create any problems. :) 21:14
that's also why I ask people to send in exceptional solutions. makes it easier to pick a winner. :P
Tene Hmm... so I could just send in anything at all, and he'd publish it with his solutions? 21:41
>.> 21:42
sjohnson <.< 21:46
[Coke] &.! 21:48
jnthn Tene: Mwahaha. :) 22:06
Tene obviously I need to write some TimToady / GVR slashfic to submit. 22:07
huf do it 22:09
colomon wait, overridden solutions will be published?!?!!! Oh noez! 22:16
pmurias sorear: hi 22:44
pmurias why do you want to implement cobol? 22:44
Khisanth because there is still a lot of cobol code around? :p 22:54
pmurias has never seen a cobol program 22:55
flussence they usually look VERY LOUD AND SERIOUS AND ONLY HAVE ONE PUNCTUATION SYMBOL. 22:59
flussence by that metric I suppose they're the exact opposite of p6... 23:01
mdxi cobol isn't as horrid as most people (who have also never read any) make it out to be. 23:37
it's just very verbose and unimaginative 23:38
a 5-10 page cobol program can be rewritten as a 10-15 line RPG program. not that that means anything to anyone, either :) 23:39