»ö« | 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.
ruoso pmurias, pong again ;) 00:12
00:14 am0c joined
pugssvn r30238 | lwall++ | [CURSOR] add mark_sinks method 00:15
r30238 | [STD] call mark_sinks on statement list
r30238 | [STD] get a start on marking which operators are pure
jnthn Oh wow. 00:16
:-)
colomon \o/
TimToady it's just a start 00:17
but it does set _sink on all but the last statement of a statementlist 00:18
it's probably wrong too, since it won't propagate sinkness too inner final statements yet 00:19
jnthn aha
my $final = pop(@s);
nod 00:20
TimToady in p5 this is done as a separate pass, which is correcter
jnthn Think we might be able to get away with it in one pass in Perl 6?
TimToady probably not; we don't usually know the outer reduction soon enough 00:21
{ sink; { sink; sink; }; notsink } 00:22
we don't know there's going to a notsink after the inner block yet
jnthn Ah, I see.
Yes.
TimToady so don't pay too much attention to what I've got yet
pausenclown is there LWP functionality in rakudo? 00:27
pugssvn r30239 | lwall++ | [STD] include --> type in redundant 'of' type checking 00:30
jnthn pausenclown: There's certainly socket support, and I think there's some other modules that build on it. 00:31
jnthn needs sleep
night all o/
pausenclown speaking of modules. where to look for them?
colomon jnthn: \o
pausenclown jnthn: sleep is overrated =) 00:32
lichtkind o/
good night
pausenclown oh, hi herb 00:33
lue night
afk
pausenclown does kephra have perl6 syntax hiliting?
00:34 yinyin joined, lestrrat is now known as lest_away
lichtkind pausenclown: not really 00:34
pausenclown: adding keywords is easy
pausenclown too bad, since padre has
*kidding*
lichtkind pausenclown: but padre uses for that a very slow parser and lot of dependecies and I wanted stay small 00:35
00:35 payload left
lichtkind pausenclown: i know the guy who wrote that personally so no news there :) 00:35
00:36 eiro left
pausenclown i personally would be fine with something that doesnt get utterly confused when i write regex foo { \' } 00:37
i comment such things out by adding #' or the like but thats itchy 00:38
lichtkind pausenclown: tell it ahmadzawawi
pausenclown i'm just ranting. i use 'Notepad 00:39
++' || Kate
00:39 lest_away is now known as lestrrat
lichtkind pausenclown: i almost only use kephra 00:39
pausenclown i am almost only not surprised =) 00:40
lichtkind g night 00:41
pausenclown for me the problems are twofold. on windows i failed to install it twice (using ActivePerl and Strawberry) and on linux there was a strange problem with the wx lib
lichtkind i can tell you tomorrow why np++sucks :)
pausenclown: with padre or kephra? 00:42
00:42 Helios left
pausenclown kephra 00:42
00:43 eiro joined
pausenclown problem with ui was that the whole UI looked rasterized or dithered 00:43
lichtkind pausenclown: i you most propably did mot fail, there was small problem a simple copy would had solved that but its now solved anyway next release i hop will come this week
diakopter [OT] np++ is the coolest. 00:44
lichtkind cant say anything about that
diakopter TimToady: type-checking! !!! 00:45
lichtkind diakopter: yes they same a long way but still no sense for beauty there :)
00:45 lichtkind left
pausenclown did u consider creating install packages (.deb et al)? 00:46
snarkyboojum rakudo: (1, 3, *+2 ... -1)
p6eval rakudo 534afd: ( no output )
00:46 Helios joined
snarkyboojum rakudo: (1, 3, *+2 ... -1)[4] 00:46
00:47 eiro left
snarkyboojum oops - that seems to hang rakudo 00:48
00:48 gfx joined
pausenclown no, the bot just likes to hang itself 00:48
snarkyboojum just tried it on my local build and it hangs 00:49
00:49 eiro joined
pausenclown anyway, what the heck is whatever+2? 00:49
snarkyboojum Whatever + @
2
pausenclown rakudo: say *+1 == Inf -1 00:50
diakopter phenny: tell lichtkind I care only about the beauty of the text-editing box itself (ClearType, Ctrl-scroll to zoom, line-highlight, C#/Perl/JS syntax highlighting), I use it in full-screen mode so the rest of the UI is invisible to me.
phenny diakopter: I'll pass that on when lichtkind is around.
snarkyboojum > (1, 3, *+2 ... 9).say
13579
pausenclown std: say * + 1 == Inf - 1 00:51
00:51 p6eval left
pausenclown there he goes 00:51
snarkyboojum but I guess the ... -1 generates an infinite list and accessing it with an array subscript is making it hang
pausenclown rakudo: my @a=(1,2,3,4,5); say @a[2..*]; 00:52
std: my @a=(1,2,3,4,5); say @a[2..*]; 00:53
snarkyboojum rakudo: say "Boo"
rakudo bot is hanging I guess
pausenclown oh yeah it did not rejpin
s/pi/oi/ 00:54
anyway, that code doesnt work in rakdo (yet)
00:54 eiro left
pausenclown misses purl 00:55
snarkyboojum hanging seems a bit buggy
or maybe not :)
but yeah - buggy vs nyi type of issue 00:56
00:57 payload joined, lestrrat is now known as lest_away
pausenclown nyi, yeah. the other day i was dreaming i try to flush my new fancy internet toilet and it greeted me with exactly that =) 00:59
snarkyboojum (1, *+2 ... -1).batch(10).say # gives me results 01:00
diakopter hee 01:01
pausenclown: you killed p6eval
snarkyboojum diakopter: it was me :|
diakopter oh
snarkyboojum with (1, *+2 ... -1)[4] or similar 01:02
diakopter investigates
p6eval rakudo 534afd: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤» 01:03
std 30239: OUTPUT«ok 00:01 108m␤»
01:03 p6eval joined
snarkyboojum or (1, *+2 ... *)[-3] probably 01:03
any array subscript on an infinite-ish list I guess 01:04
01:04 ruoso left
pausenclown std: my @a=(1,2,3,4,5); say @a[2..*]; 01:04
p6eval std 30239: OUTPUT«ok 00:01 107m␤»
pausenclown rakudo: my @a=(1,2,3,4,5); say @a[2..*];
p6eval rakudo 534afd: ( no output )
pausenclown mmh.
on my copy that just croaks
snarkyboojum hangs on my copy 01:06
diakopter yeah it hangs on p6eval
but it kills it after 15 seconds
snarkyboojum but (1, *+2 ... *)[1] didn't get killed after 15s? 01:07
it killed p6eval after 15s ho ho
01:08 eiro joined
pausenclown maybe the computer running p6eval is moving very fast and his 15s aren't our 15s 01:09
diakopter I think there were a couple of rebuilds going on that prevented p6eval from ponging the irc server
snarkyboojum ah
can I try again?
diakopter yeah
snarkyboojum rakudo: (1, *+2 ... *)[1]
p6eval rakudo 534afd: ( no output ) 01:10
snarkyboojum yay
diakopter rakudo: say (1, *+2 ... *)[0]
snarkyboojum that seems more robust :)
p6eval rakudo 534afd: ( no output )
pausenclown positive test 01:11
rakudo: say 1
snarkyboojum rakudo: (1, *+2 ... *)[1 + 2i]
p6eval rakudo 534afd: OUTPUT«1␤»
diakopter linux people: if you 'nice up' a process by "nice +10 ...", are its children also niced up by default?
snarkyboojum complex indices! :P
p6eval rakudo 534afd: ( no output )
snarkyboojum std: (1, *+2 ... *)[1 + 2i]
p6eval std 30239: OUTPUT«ok 00:01 106m␤»
snarkyboojum heh
pausenclown rakudo: say Inf - 1
snarkyboojum td: (1, *+2 ... *)[-2i]
p6eval rakudo 534afd: OUTPUT«Inf␤»
diakopter rakudo: say Inf - Inf 01:12
pausenclown smart!
p6eval rakudo 534afd: OUTPUT«NaN␤»
snarkyboojum std: (1, *+2 ... *)[-2i]
p6eval std 30239: OUTPUT«ok 00:01 107m␤»
pausenclown not so smart
snarkyboojum do complex indices make sense? heh
diakopter !!!!
rakudo: say Inf - say Inf
p6eval rakudo 534afd: OUTPUT«Inf␤Inf␤»
diakopter ;) 01:13
pausenclown shouldnt that be 0?
snarkyboojum rakudo: say (Inf - (Inf +1))
pausenclown rakudo: say say 99
p6eval rakudo 534afd: OUTPUT«NaN␤»
rakudo 534afd: OUTPUT«99␤1␤»
diakopter rakudo: say 11 - say 4
p6eval rakudo 534afd: OUTPUT«4␤10␤»
snarkyboojum hehe
diakopter (that's correct) 01:14
pausenclown how can that be correct
snarkyboojum do complex array subscripts make sense?
pausenclown ugh
ignore 01:15
snarkyboojum rakudo: +(1+2i).say
p6eval rakudo 534afd: OUTPUT«1 + 2i␤»
01:15 eiro left
pausenclown rakudo: say say 2 - say 3 01:16
snarkyboojum rakudo: (1+2i).re.say
p6eval rakudo 534afd: OUTPUT«3␤1␤1␤»
rakudo 534afd: OUTPUT«1␤»
snarkyboojum rakudo: (1+2i).re.WHAT
p6eval rakudo 534afd: ( no output )
snarkyboojum rakudo: (1+2i).re.WHAT.say
p6eval rakudo 534afd: OUTPUT«Int()␤»
pausenclown what does 2i mean?
snarkyboojum so it gets coerced to an int in an array subscript or similar? 01:17
2 * i where i = sqrt(-1) :)
colomon I'd argue that using a complex number for an array index should be an error. 01:18
pausenclown we have built in in imaginery numbers?
colomon but maybe not the sort of error that STD detects.
pausenclown: yes.
snarkyboojum see Complex.pm
pausenclown wow
colomon rakudo: say e ** pi * i 01:20
p6eval rakudo 534afd: OUTPUT«Could not find non-existent sub &i␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon whoops, standalone i still doesn't work.
rakudo: say e ** pi * 1i
p6eval rakudo 534afd: OUTPUT«0 + 23.1406926327793i␤»
colomon gack
rakudo: say e ** (pi * 1i)
p6eval rakudo 534afd: OUTPUT«-1 + 1.22464679914735e-16i␤»
colomon third try is the charm. :) 01:21
snarkyboojum rakudo: say (e ** (2 * pi * 1i))
p6eval rakudo 534afd: OUTPUT«1 + -2.44929359829471e-16i␤»
snarkyboojum :)
TimToady std: my Str sub x (--> Int) {...} 01:22
p6eval std 30239: OUTPUT«===SORRY!===␤Extra 'of' type; already declared as type Str at /tmp/OxnTlVDsLE line 1:␤------> my Str sub x (--> Int⏏) {...}␤ expecting typename␤FAILED 00:01 107m␤»
TimToady that's better
pausenclown ok. since we have a pi keyword we should have a ∅ operator ( and somesuch =)
snarkyboojum rakudo: say pi 01:23
p6eval rakudo 534afd: OUTPUT«3.14159265358979␤»
snarkyboojum rakudo: say phi
:)
p6eval rakudo 534afd: OUTPUT«Could not find non-existent sub &phi␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady ∅ is a term, not an operator
diakopter TimToady: yay for strongly-typed-ness.
pausenclown *
colomon rakudo: say pi.Rat(1e-10).perl
p6eval rakudo 534afd: OUTPUT«312689/99532␤»
TimToady .u ∅ 01:24
phenny U+2205 EMPTY SET (∅)
diakopter .u empty
phenny U+2205 EMPTY SET (∅)
01:24 eiro joined
diakopter .u set 01:24
phenny U+2205 EMPTY SET (∅)
pausenclown we had
diakopter .u 2205
phenny U+2205 EMPTY SET (∅)
snarkyboojum rakudo: sub phi { (1 + sqrt(5))/2 }; say phi 01:25
p6eval rakudo 534afd: OUTPUT«1.61803398874989␤»
snarkyboojum heh
am0c oh hai
TimToady unicode contains twenty or so phi's, none of which are the empty set :) 01:26
01:26 poincare101 joined
snarkyboojum oh that ϕ 01:26
poincare101 how long does rakudo take to compile on something that's not very new (say, a pentium 3, 800 mhz)? 30 mins?
I'm looking to get into perl6 development. 01:27
snarkyboojum poincare101: how much memory?
01:27 lest_away is now known as lestrrat
TimToady .u ϖ 01:27
phenny U+03D6 GREEK PI SYMBOL (ϖ)
poincare101 snarkyboojum: 512 MB
am0c moritz_: it seems the two announcements are duplicated there rakudo.org/
snarkyboojum poincare101: you might have issues with swapping and that amount of memory.. last I heard compilation was maxing out at 700MB or so 01:28
TimToady then there's ⌽ of course
snarkyboojum poincare101: though I don't really know :)
01:28 eiro left
TimToady .u ⌽ 01:28
phenny U+233D APL FUNCTIONAL SYMBOL CIRCLE STILE (⌽)
poincare101 snarkyboojum: wow, that's pretty heavy. I can compile perl5 on this thing pretty easy. 01:29
TimToady .u ⍉
phenny U+2349 APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH (⍉)
sorear poincare101: I have a P4, 2 GHz, 384 MB RAM (the RAM is the limiting factor here, I think, so your should be faster) - it takes 12 hours
01:29 eiro joined
poincare101 APL is very annoying. 01:29
sorear however this was before the PCC overhaul
pausenclown rakudo: multi sub prefix:<Ø> (*@n) { ( [+] @n ) / @n.elems }; say Ø(1,2,3); 01:30
p6eval rakudo 534afd: OUTPUT«2␤»
snarkyboojum poincare101: the devs are working on reducing it, not sure how much luck they've had
poincare101 the parrot VM is pretty heavy...
sorear snarkyboojum: after the PCC overhaul, compilation memory usage was at 1.5-2G, chromatic cut it down to 700MB
snarkyboojum sorear: yeah, see above :)
pausenclown why does p6eval give me different results in private chatter?
snarkyboojum sorear: so no major inroads after that? 01:31
sorear poincare101: the parrot VM is about as heavy as the P5 VM; however, Rakudo (analagous to the Perl5 parser) is quite underoptimized at the moment
poincare101 I see. thank you very much for this info. 01:32
TimToady o⃠ is kinda cool
sorear it doesn't do much in the way of incremental parsing, and it retains a lot more than it ought to
snarkyboojum hehe.. frog with a black eye?
sorear fun fact: using Unicode characters anywhere in your source file will slow down parsing by an order of magnitude
for the entire file 01:33
snarkyboojum which means core.pm when it's concatenated I suppose
01:33 payload left
pausenclown thats like $& 01:33
sorear it stores the translation unit as a single string, and if it has unicode characters, it has to use a variable width encoding
there's a GSoC project, iirc, to implement a suitable fixed width encoding
pausenclown fights the urge to make an A20 gate joke
sorear What does A20 have to do with anything 01:34
TimToady rakudo: sub Ø (*@n) { ( [+] @n ) / @n.elems }; say Ø(1,2,3);
snarkyboojum pausenclown: I get the same results in private chatter with p6eval
p6eval rakudo 534afd: OUTPUT«2␤»
01:34 stepnem left
TimToady rakudo: sub Ø (*@n) { ( [+] @n ) / @n.elems }; say Ø 1,2,3; 01:35
p6eval rakudo 534afd: OUTPUT«2␤»
snarkyboojum pausenclown: provided I still address a particular implementation e.g. rakudo:
pausenclown i try open a new query window
colomon TimToady: is that last one correct? 01:36
TimToady rakudo: sub φ (*@n) { ( [+] @n ) / @n.elems }; say φ 1,2,3;
p6eval rakudo 534afd: OUTPUT«2␤»
TimToady colomon: that's not a 0
sorear one of the projects I've assigned to myself is a Parrot memory profiler
TimToady nor is it an empty set
.u Ø
phenny U+00D8 LATIN CAPITAL LETTER O WITH STROKE (Ø)
colomon TimToady: yes, I was worried about the lack of parens on the sub call. :)
sorear Parrot is different in enough ways from the P5 VM that I think it's actually doable
TimToady it's just a list operator like any normal function can be 01:37
colomon okay.
TimToady if you don't want list operator precedence, then you have to get fancier
poincare101 how can I get started developing for rakudo? Is there a "cheatsheat" for the source structure?
sorear see docs/ 01:38
especially docs/compiler_overview.pod
and feel free to pick #perl6's collective brains
TimToady they're already pretty picked over, so only the unwanted ones are left
01:40 stepnem joined
snarkyboojum .u Φ 01:41
phenny U+03A6 GREEK CAPITAL LETTER PHI (Φ)
TimToady .u ጲ
phenny U+1332 ETHIOPIC SYLLABLE PHI (ጲ)
01:43 wknight8111 left
snarkyboojum rakudo: (1,2,3).[1+2i].say 01:43
p6eval rakudo 534afd: OUTPUT«Method 'Int' not found for invocant of class 'Complex'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
01:43 eiro left
snarkyboojum std: (1,2,3).[1+2i].say 01:43
p6eval std 30239: OUTPUT«ok 00:01 108m␤»
TimToady imaginary semantics :) 01:44
01:44 eiro joined
TimToady dinner & 01:44
snarkyboojum I can imagine what it'd return
01:44 lestrrat is now known as lest_away
snarkyboojum TimToady: did you ever get that IRC text to speech converter installed? 01:45
pausenclown bed &
snarkyboojum I was watching an old vid where someone mentioned you thinking about that :) 01:46
01:46 lest_away is now known as lestrrat 01:48 eiro left 01:50 pausenclown left
poincare101 where can I find a good PIR tutorial? 01:50
01:54 cotto left, eiro joined
snarkyboojum poincare101: I learned bits and pieces from docs.parrot.org/parrot/latest/html/ 01:55
poincare101: notably the PIR book section 01:56
poincare101: tho this looks good too www.parrot.org/wiki/pir-tutorial-and-faq 01:57
poincare101 wow, parrot looks like a really ambitious project, it has, like, a dozen different langs inside of it (NQP, PIR, PASM0 01:58
01:58 Patterner left
snarkyboojum poincare101: look at parrot/examples when/if you d/l it 02:01
02:05 Psyche^ joined, Psyche^ is now known as Patterner 02:09 eiro left 02:10 cotto joined, payload joined
poincare101 hmm... I did ./Configure.pl --gen-parrot inside the rakudo checkout, it compiled parrot, but when I type in parrot, the command is not found. 02:10
02:12 Patterner left
snarkyboojum the parrot executable will be in the parrot directory inside the rakudo checkout 02:12
is that what you meant?
02:15 eiro joined 02:22 Psyche^ joined, Psyche^ is now known as Patterner
poincare101 snarkyboojum: yup. thanks. 02:26
I'm getting this error when I try to do make install: 02:27
02:28 pugssvn left
poincare101 pastebin.com/CWmZmS0w 02:29
02:29 PerlJam left, Juerd left, pmichaud left, dalek left, eiro left
poincare101 what's going on? 02:30
perl6: say3;
perl6: say 3;
p6eval pugs: OUTPUT«*** No such subroutine: "&say3"␤ at /tmp/0eiFo3Tslu line 1, column 1-5␤» 02:31
..rakudo 534afd: OUTPUT«Could not find non-existent sub &say3␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
..elf 30239: OUTPUT«Undefined subroutine &GLOBAL::say3 called at (eval 122) line 3.␤ at ./elf_h line 5881␤»
elf 30239, pugs, rakudo 534afd: OUTPUT«3␤»
poincare101 snarkyboojum: could you help? Its not building!
snarkyboojum poincare101: did you do a 'make' before this? 02:32
poincare101 yup. 02:33
oh wait, I just had to do sudo :dense: 02:34
02:34 eiro joined
snarkyboojum you're building parrot separately? 02:35
poincare101 no. 02:37
i just did make install and that's where it got stuck.
snarkyboojum you shouldn't need to do sudo for make install of rakudo
afaik
poincare101 hmm... it seems to work when I do sudo. Well, I'll find out anyway. 02:38
snarkyboojum afk& 02:42
02:46 cotto left 03:03 cotto joined 03:05 mepplock joined 03:09 meppel left 03:11 poincare101 left
lue echo hello! 03:13
03:15 snarkyboojum left, cognominal left 03:16 felipe left 03:20 snarkyboojum joined 03:28 alester left 03:34 agentzh joined 03:39 meppel joined 03:42 mepplock left, am0c left 03:46 stepnem left 03:50 isitfosho joined
isitfosho When is perl6 going to become a production tool? 03:51
I didn't get on the perl5 bandwagon, but I am considering giving it a spin if it's going to bust out of academic stages anytime soon
03:52 alester joined 04:04 lestrrat is now known as lest_away
sorear isitfosho: perl 6 has reached a catch-22 development stage 04:06
isitfosho: it can only advance if people use it in production to find what's missing
but few people want to use it until it's finished!
help break this cycle - name a feature and I'll tell you if it's ready 04:07
isitfosho So, I download perl6 - use it to build something cool, THEN, if it becomes a cool thing, I get to be the one of the first early adopters, and thereby more cool? 04:08
04:08 cotto left
isitfosho I'm downloading it now, btw 04:08
sorear Yes, basically 04:09
isitfosho I will use it to write a photo thing for my website.
And I will put a big button that says, "Perl6" 04:10
that's the most I can do for now
sorear It's not really a matter of exposure. 04:11
04:11 gfx left
sorear It's more a case of - we need to interact with users in order to decide some design issues 04:11
isitfosho in that case, my purposes should be substantial 04:12
sorear Insubstantial things are good too. 04:13
It's no good if we make the hard things easy and the easy things impossible. 04:14
isitfosho many languages are already in the business of making easy things impossible
sorear I/O heavy programs are a particularly good bet, since right now we don't really have I/O
isitfosho I could do a perl6 irc bot 04:15
do you have one in here?
sorear I'm already working on a perl6 irssi replacement
isitfosho how about a perl6 code cross-referencer and searching framework
I wanted to write that in PHP, but PHP is not "cool" 04:16
sorear that sounds really cool
isitfosho Ok, I'll take a crack at that
I'll let you know how I do in a couple weeks
see ya
sorear drop by often
04:17 isitfosho left
sorear and learn about pir::, Q:PIR, and the NCI 04:17
04:20 hercynium left 04:26 cotto joined 04:32 am0c joined 04:41 mantovani left 04:42 mantovani joined 04:55 rekhajos joined 05:30 cotto left 05:36 payload left, payload joined 05:41 stepnem joined, payload1 joined, payload left 05:43 mepplock joined, meppel left 05:44 payload joined, payload1 left, payload1 joined, payload left 05:46 meppel joined, payload joined, payload1 left 05:47 payload left, payload joined, rgrau left, payload left 05:48 eternaleye joined 05:49 mepplock left
lue good night 05:56
05:59 dignan joined
dignan Ok so I started writing some perl6, but I need to know this information if anyone can please help: 1. is there a function that can print all the attributes of an object? 2. where do I go to install modules? Is it cpan still? 06:00
colomon 1. no 2. proto is probably the best existing Perl 6 module tool, but it doesn't work at the moment. 06:01
TimToady well, .perl will usually approximate 1 06:02
colomon TimToady: right, was just going to get to that.
is there a default .perl that will print out the attributes on a user-defined class yet, though?
or rather, .perl.say will approximate 1
dignan I don't care so much for the user defined classes as much as basic things like a built-in type
colomon oh, then you definitely want .perl 06:03
dignan ah
excellent, thanks guys
colomon It doesn't always do exactly what you want, but it does dump all the attributes somehow or the other.
so for instance
rakudo: (-1 + 0i).sqrt.perl.say 06:04
p6eval rakudo 534afd: OUTPUT«Complex.new(0, 1)␤»
dignan my @x = ("a", "b", "c"); print @x.perl; >> (a,b,c)
i would like to know about methods this has, perhaps it has @x.elems.. I am pretty sure 06:05
how do I find out what kind of functionality it has
TimToady rakudo: my @x; say @x.^methods.perl
p6eval rakudo 534afd: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;Seq;!fill' pc 14088 (src/builtins/Block.pir:19)␤» 06:06
TimToady heh
colomon rakudo: my @x; say @x.WHAT
TimToady rakudo: my @x; say Array.^methods.perl
p6eval rakudo 534afd: OUTPUT«Array()␤»
rakudo 534afd: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;Seq;!fill' pc 14088 (src/builtins/Block.pir:19)␤»
dignan same deal here
I'm trying these as you type
TimToady rakudo: my @x; say [1,2,3].^methods.perl
colomon rakudo: my @x; say Array.^methods 06:07
p6eval rakudo 534afd: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;Seq;!fill' pc 14088 (src/builtins/Block.pir:19)␤»
rakudo 534afd: ( no output )
TimToady alpha: say [1,2,3].^methods.perl
p6eval alpha 30e0ed: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }]␤»
colomon isn't there supposed to be a .name in there somewhere?
TimToady probably
colomon rakudo: my @x; say Array.^methods>>.name
p6eval rakudo 534afd: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;Seq;!fill' pc 14088 (src/builtins/Block.pir:19)␤»
colomon looks like a wacky new bug. 06:08
06:08 uniejo joined
colomon dignan: of course, the other way to do it is to look at the spec. 06:08
TimToady alpha: say [1,2,3].^methods».name.perl
p6eval alpha 30e0ed: OUTPUT«["pop", "item", "values", "delete", "Scalar", "", "shift", "Array", "push", "splice", "exists", "unshift"]␤»
dignan Well, the bright side of this is a bug can be filed.
AH!
colomon: I will be doing just that
TimToady rakudo: say [1,2,3].^methods».name.perl
p6eval rakudo 534afd: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;Seq;!fill' pc 14088 (src/builtins/Block.pir:19)␤» 06:09
TimToady looks like definitely a bug of some sort
colomon rakudo: my @x; say Array.^methods.WHAT
p6eval rakudo 534afd: ( no output )
dignan TimToady: I need to use that unicode character in my command line? 06:10
say [1,2,3].^methods».name.perl ?
TimToady rakudo: say [1,2,3].HOW.methods(Array)».name.perl
colomon rakudo: my $a = []; say $a.^methods.WHAT
TimToady no
you can always do >> or << for hyperops
but the french char is prettier
p6eval rakudo 534afd: ( no output )
rakudo 534afd: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;Seq;!fill' pc 14088 (src/builtins/Block.pir:19)␤»
dignan I am exceeding recursion depth here on that one
is p6eval using an older version or something? 06:11
TimToady something is obviously defined in terms of itself accidentally
sorear ^methods doesn't work
I filed a bug on this last month
you need to add :local somehow
TimToady rakudo: say [1,2,3].^methods(:local)».name.perl 06:12
p6eval rakudo 534afd: OUTPUT«get_attr_str() not implemented in class 'Sub'␤current instr.: 'perl6;Code;name' pc 13135 (src/builtins/Str.pir:68)␤»
TimToady er, how did we get to Sub?
sorear rakudo: say ([1,2,3].^methods(:local))[0].WHAT 06:13
p6eval rakudo 534afd: OUTPUT«Code()␤»
sorear rakudo: say ([1,2,3].^methods(:local))[0].name
p6eval rakudo 534afd: OUTPUT«get_attr_str() not implemented in class 'Sub'␤current instr.: 'perl6;Code;name' pc 13135 (src/builtins/Str.pir:68)␤»
sorear rakudo: say ([1,2,3].^methods(:local))[0].perl
p6eval rakudo 534afd: OUTPUT«{ ... }␤»
TimToady well, that's not terribly helpful :)
alpha: say [1,2,3].^methods(:local)».name.perl 06:14
p6eval alpha 30e0ed: OUTPUT«["shift", "Array", "splice", "push", "exists", "unshift", "item", "pop", "values", "delete", "Scalar", ""]␤»
TimToady should work again pretty soon, anyhoo
sorear thinks subs should save a copy of their parse tree so that .perl returns parsable, equivalent code
in the non-closure case at least 06:15
TimToady yeah, in the limit you have to include the entire outer lexical scope...
or have funny references to things that ordinarily don't have names
06:16 dignan left
sorear I hope we can do better than B::Deparse->new->coderef2text($sub) 06:16
TimToady well, viv -p6 already does that almost perfectly from the AST
it's pretty certain we can do better than p5 in this regard, I think 06:17
oh, dignan is gone... 06:18
sorear we need to teach him to stay 06:19
06:19 lest_away is now known as lestrrat
sorear I think he's the same as isitfosho 06:19
~cfb49e38 in both cases ... iirc that's the hex client IP 06:20
TimToady well, my antihistamine is kicking in, so I'd better Z off now... 06:22
bed &
colomon o/ 06:24
06:25 justatheory left, dignan joined
dignan So perl6.org perlcabal.org and pugscode are all offline, anywhere else I can get the spec? 06:25
well that or someone in my immediate chunk of the internet doesn't like perl very much. 06:26
colomon all offline again?
dignan i tried them all from two different IPs
hejki try google cache on one of those sites?
dignan yeah, but I can't get the spec from cache
colomon ack, I wonder how hard it would be to set up a mirror. 06:27
06:28 alester left
dignan I found a couple 06:28
but they're in .cz and .nl
i'll make do for now
06:30 dignan left 06:37 mikehh left
sorear thinks about what needs to happen before inheritance hierarchies can cross language boundaries. 06:38
colomon rakudo: role Heavy { }; class Weight does Heavy { }; say Weight.new ~~ Heavy 06:52
p6eval rakudo 534afd: OUTPUT«1␤»
07:08 cognominal joined, [particle]1 joined 07:09 [particle] left 07:13 mberends joined 07:14 gfx joined 07:15 dalek joined, Juerd joined 07:20 felipe joined 07:21 iblechbot joined
mberends phenny, tell masak the proto bootstrapping side is almost done, it would be good to brainstorm the proto implementation of S11-Modules in Installer.pm and Ecosystem.pm in the next few days. (how's that for a homework assignment?) 07:21
phenny mberends: I'll pass that on when masak is around.
Juerd To those who use feather with @reboot scripts: you may want to use a shell script with sleep 300, to allow for the dnscache to start :) 07:22
And someone sent me a new kernel that I wish to try soon. 07:23
sorear Juerd: Oh, do you know what happened just now, why dalek was out for hours? 07:24
Juerd Yes. Feather0, the physical box, was upgraded Monday last week and since then has been very unstable. 07:27
It crashes every third day, more or less.
sorear yes, but why does dalek stay down for hours when the other services come right back up? 07:32
or am I merely hallucinating the latter
07:33 Su-Shee joined 07:39 rgrau joined
Juerd sorear: Er, everything stays down for hours, if it runs on feather 07:45
juerd.nl/i/5ec012aca52e90cb82a4e6c8ff51e04b.png # uptime chart
sorear oh. 07:52
07:57 flity_ is now known as flity 08:10 payload joined 08:18 dakkar joined 08:26 xomas left
hejki rakudo: say 0.1+0.1+0.1-0.3 08:30
p6eval rakudo 534afd: OUTPUT«0␤»
08:31 mikehh joined
sorear rakudo: say (0.1+0.1+0.1-0.3)*1e20 08:41
p6eval rakudo 534afd: OUTPUT«0␤» 08:42
sorear rakudo: say (0.1+0.1+0.1-0.3)*1e50
p6eval rakudo 534afd: OUTPUT«0␤»
moritz_ rakudo: say (0.1+0.1+0.1-0.3).perl
sorear rakudo: say (0.1*10-1)*1e50
p6eval rakudo 534afd: OUTPUT«0/1␤»
rakudo 534afd: OUTPUT«0␤»
sorear Sneaky
moritz_ sorear: it's internally handled as a Rat (fraction)
08:48 ascent_ joined 08:49 proller joined 09:00 mrsaturn joined 09:06 mberends left 09:07 JimmyZ joined 09:10 mberends joined 09:14 proller left 09:15 proller joined 09:31 gfx left 09:34 payload left, JimmyZ_ joined 09:35 JimmyZ left, JimmyZ_ is now known as JimmyZ
sorear chromatic just pushed another optimization to string handling. 09:36
I just compiled Rakudo
45 minutes
260 MiB
chromatic++
09:45 mrsaturn left 09:56 JimmyZ left 10:07 lollan joined, mberends left
lollan hello 10:07
sorear Hello. 10:08
10:10 drbean joined 10:12 cognominal left 10:15 yinyin left
mathw Hello 10:17
10:18 agentzh left, cognominal joined
jnthn o/ 10:30
moritz_ not motivated at all 10:31
mathw is tracking down a segmentation fault 10:33
it's the best kind - intermittent!
and sometimes it's a bus error instead! 10:34
10:34 iblechbot left
moritz_ rakudo: class A { has $!g; method foo { self.bar(:$!g) } }; 10:35
p6eval rakudo 534afd: OUTPUT«Symbol '$!g' not predeclared in foo␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
moritz_ rakudo: class A { has $!g; method foo { say $!g } };
p6eval rakudo 534afd: ( no output )
10:35 clintongormley joined
moritz_ submits rakudobug 10:35
m6locks heh 10:36
moritz_ alpha: class A { has $!g; method foo { self.bar(:$!g) } };
p6eval alpha 30e0ed: ( no output )
colomon \o
moritz_ o/ 10:37
rakudo: class A { method b($x = $_) { say $x } }; given 34 { say A.new.b() } 10:38
p6eval rakudo 534afd: OUTPUT«Any()␤1␤»
moritz_ pugs: class A { method b($x = $_) { say $x } }; given 34 { A.new.b() }\ 10:39
p6eval pugs: OUTPUT«*** ␤ Unexpected end of input␤ at /tmp/WvsM3wEWlZ line 2, column 1␤»
moritz_ pugs: class A { method b($x = $_) { say $x } }; given 34 { A.new.b() }
p6eval pugs: OUTPUT«␤»
moritz_ pugs: class A { method b($x = $OUTER::_) { say $x } }; given 34 { A.new.b() }
p6eval pugs: OUTPUT«␤»
10:40 lestrrat is now known as lest_away
moritz_ rkaudo: sub f { say $/ }; pir::store_dynamic_lex__vSP('$/', 'a' ~~ /./); f() 10:44
rakudo: sub f { say $/ }; pir::store_dynamic_lex__vSP('$/', 'a' ~~ /./); f()
p6eval rakudo 534afd: OUTPUT«Lexical '$/' not found in dynamic scope␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
10:49 payload joined
moritz_ rakudo: class A { method postcircumfix:<{ }>() {} }; my &r = { my $a }; if 0 { if 0 { my $a } } 10:50
p6eval rakudo 534afd: ( no output )
moritz_ rakudo: class A { method postcircumfix:<{ }>() {} }; my &r = {;}; if 0 { if 0 { my $a } }
p6eval rakudo 534afd: ( no output )
10:51 xinming_ left 10:53 xinming joined 11:16 riffraff joined, cognominal left 11:29 riffraff left 11:35 masak joined
masak oh hai, #perl6 11:35
phenny masak: 07:21Z <mberends> tell masak the proto bootstrapping side is almost done, it would be good to brainstorm the proto implementation of S11-Modules in Installer.pm and Ecosystem.pm in the next few days. (how's that for a homework assignment?)
jnthn reverse('!kasam') 11:36
masak phenny: tell mberends I'll be around quite often; will be happy to brainstorm proto with you.
phenny masak: I'll pass that on when mberends is around.
colomon o/ 11:38
jnthn masak: BTW, nice blog post. :-) 11:39
masak gracias.
it was about time.
jnthn masak: I'll try and sort out that regex issue later today.
masak ++jnthn
colomon what jnthn said.
jnthn masak: You're going to have to add a "my" or "our".
colomon (about the post, not the sorting.) 11:40
jnthn See backlog for discussion.
masak jnthn: that's OK.
jnthn colomon: Aww! :-P
11:40 frettled sets mode: +oo masak colomon
masak mmm, kamelbulle. 11:40
frettled jnthn: he would have agreed if you'd sorted _in_ ;) 11:41
jnthn But the weather's so nice today! I want to sort *out*! 11:42
oh, damm, actually it's clouded over. :-/
colomon looks like it will be a nice day here, but the current temp is -3C
moritz_ +15C or so here :-) 11:43
sunny
colomon we're supposed to hit that today. it will just take a few hours...
jnthn colomon: I count -3C and sunny as nice weather. 11:44
Needs a nice warm furry hat, but that's fine. I likes my furry hat. :-)
11:47 cognominal joined
masak jnthn: min sömn e kass. :/ 11:49
jnthn masak: Aww. :-( 11:50
11:51 rekhajos left
colomon jnthn: I count -3C and sunny as nice weather when there's enough snow on the ground to ski. It's definitely a bit less nice in spring... 11:51
jnthn masak: Sömnlöshet? 11:52
masak jnthn: japp. 11:58
jnthn Det ar inte bra. :-/ 11:59
masak when I finally did fall asleep, I dreamt that I was in a parallel universe where Einstein hadn't become famous, and YouTube was somehow known as 'CatSpensive'.
11:59 payload left
masak jnthn: don't you have ä on your keyboard? 11:59
jnthn masak: No, it's British. 12:00
masak the dots are not just decoration, you know. :)
jnthn Yeah...I kinda got away with it in Slovakia...dropping the mekcens and accents was pretty typical. :-) 12:01
mekcni for plural I guess.
12:02 envi^home joined
jnthn masak: Is there a Good Way to handle typing them aside from finding a Swedish keyboard I like? :-) 12:02
masak heh. I'm using a Swedish keyboard right now, but with a US layout.
I guess you could do the opposite. 12:03
I've even heard about Windows people who do that.
jnthn will have to try that
masak when I want to type an 'ä' in Emacs, I don't switch layout, but instead I switch the input method. so Swedish keyboard, US layout, Swedish input method :P
jnthn It seems to be bad form here not to put the dots. :-) 12:04
masak it makes it ever so slightly harder to read.
jnthn It did with Slovak too at first, but after a while became normal.
masak but I suspect I'm somewhat of a purist. I don't like the information loss as such.
jnthn Yeah, they're useful. :-)
masak I tend to type 'ae' rather than 'a' when I have to leave out the dots.
(and 'aa' for 'å' and 'oe' for 'ö') 12:05
in fact, that's how the input method in Emacs works.
12:07 bluescreen joined 12:09 cognominal left 12:17 ruoso joined
colomon jnthn: you there? 12:19
jnthn colomon: yes
colomon can you take a quick look at justrakudoit.wordpress.com/2010/03/...of-attack/
jnthn just nomming lunch and playing with input methods ;-)
colomon I'm particularly concerned to get the first paragraph right. :) 12:20
jnthn ok, looking in just a moment :-) 12:21
colomon thanks.
12:22 pmurias joined 12:23 literal joined
pmurias ruoso: ping again ;) 12:23
jnthn Aha!
Jag will en små öl med lunch.
\o/ 12:24
masak: Happy? :-)
masak about the dots, yeah :)
jnthn Jag är en bra svensk nu.
masak 'vill' is with a 'v', not 'w', and 'små' is just for the plural, otherwise it's 'liten'. :) 12:25
jnthn: :D
jnthn Oh
masak that last part was all correct. and a little bit funny.
jnthn Ah well, it's not like I've actually learned any Swedish yet. :-)
A grammar book did arrive yesterday though.
masak step by step. :)
jnthn colomon: Nice post! :-) 12:30
colomon++
masak colomon++ 12:31
colomon *blush*
moritz_ colomon++
colomon jnthn: do you think the first paragraph is okay?
moritz_ colomon.face.color++
frettled yay colomon!
moritz_ colomon: for comparison of real numbers, why not jut use Num? 12:32
jnthn moritz_: on the R component of the RGB ;-)
moritz_ jnthn: :-)
jnthn colomon: Yes, it looks fine. :-)
colomon btw, just compiled rakudo with Numeric and Real roles defined here. They don't do anything yet, but they're there.
jnthn++
now how do I crosspost it to perl planet six?
moritz_: that will be my first approximation, but Num cannot handle Big Ints or FatRats. 12:33
afk # need to shower so I'm decent when the moving estimator stops by 12:34
jnthn colomon: The planet is an aggregator, I always forget who is the right person to bother about adding to that. :-/
moritz_ obra: could you please add the justrakudoit.wordpress.com/feed/ to planetsix? 12:35
jnthn moritz_++
mathw o/ 12:37
12:37 iblechbot joined
ruoso pmurias, aha! 12:40
got you
12:41 riffraff joined
ruoso did I? 12:41
pmurias ruoso: yes
masak finally. it's like watching a soap opera unfold. :) 12:42
pmurias ruoso: do you think smop/mildew is active enough that i could write a GSoC proposal for it?
masak "In this episode, ruoso finally gets a hold of pmurias..."
pmurias s/proposal/application/ 12:43
ruoso pmurias, I'm not that active, but you are... your works with mildew were very relevant 12:44
and still are
I think it's worth posting, yes
moritz_ pmurias: what are your goals for mildew? 12:45
pmurias i plan to work on type inference 12:46
moritz_ I meant broader goals 12:47
like: "implementing more features" or "implementing features from $synopsis" or "getting users" or so
pmurias "see if type inference gives us good performance for static stuff" is my short term goal 12:51
moritz_ nice
12:52 nacho joined
pmurias and after that putting it on CPAN/getting more features/perl 5 interop 12:54
12:55 ignacio_ joined
mathw masak: if it was a soap opera, they'd now be having a fight because pmurias' third cousin four times removed slept with ruoso's second cousin once removed and left before she woke up the next morning, sticking a note on the mirror but failing to spell 'love' correctly. 12:55
colomon moritz_++
12:55 nacho left 12:56 espadrine left
pmurias moritz_: documenting mildew internals is also a thing i should do at some point 12:59
13:03 holli joined
holli hi. 13:04
moritz_ hi
holli wtf? i cant change my nick. 13:05
colomon get pill # probably not a valid git command...
13:05 holli is now known as pausenclown
pausenclown oh. took a while 13:05
2nd level use bug is still alive, that darn thing 13:06
13:07 lisppaste3 left
pausenclown my XML Parser file is 2000 lines long by now (without docs). I'd really like to split it up =) 13:07
moritz_ pausenclown: what bug? loading a class from inside a class? 13:08
rakudo: sub foo { say 5 }.()
p6eval rakudo 534afd: OUTPUT«Confused at line 11, near "sub foo { "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
13:08 lisppaste3 joined
moritz_ rakudo: 'a' ~~ /<foo=alpha>/; say $<foo> 13:10
p6eval rakudo 534afd: OUTPUT«a␤» 13:11
moritz_ rakudo: 'a' ~~ /<foo=alpha>/; say $<alpha>
p6eval rakudo 534afd: OUTPUT«a␤»
moritz_ rakudo: 'a' ~~ /<foo.=alpha>/; say $<alpha>
p6eval rakudo 534afd: OUTPUT«regex assertion not terminated by angle bracket at line 11, near ".=alpha>/;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
moritz_ rakudo: 'a' ~~ /<foo=.alpha>/; say $<alpha> 13:12
p6eval rakudo 534afd: OUTPUT«Any()␤»
lisppaste3 pausenclown pasted "bug" at paste.lisp.org/display/97071 13:20
pausenclown moritz_: this one
13:20 REPLeffect left 13:22 PerlJam joined
moritz_ pausenclown: can you try to move the 'use' out of the class defintion, as a workaround? 13:22
pausenclown thats is my workaround.
moritz_ ok
pausenclown i mean, no use and all in one file
moritz_ well, I was talking about a workaround that allows you to use multiple files 13:23
13:23 cognominal joined
moritz_ rakudo: say 4.log(2) 13:24
mathw why do you need to call use inside the class definition? I've never imagined a necessity for it before.
p6eval rakudo 534afd: OUTPUT«2␤»
moritz_ rakudo: say log(4, 2)
p6eval rakudo 534afd: OUTPUT«2␤»
moritz_ rakudo: say log(4, :base(2))
p6eval rakudo 534afd: OUTPUT«Unexpected named parameter 'base' passed␤current instr.: 'log' pc 282809 (src/gen/core.pir:9681)␤»
pausenclown when i do. use X::Y; class X {} i get a "Illegal redeclaration of symbol 'X'"
moritz_ nasty
arnsholt Does nqp do references in some way? 13:25
pausenclown mathw: i dont care where to put the use as long as it works =) 13:26
moritz_ arnsholt: everything is a reference in nqp, in some way 13:27
PerlJam greetings.
13:28 proller left
arnsholt moritz_: True, true 13:28
What I'm trying to do is this: www.perlmonks.org/?node_id=193649
About halfway down there's a var class
13:28 proller joined
pausenclown mmh. maybe i could toss a script together which concatenates all my source files 13:28
and runs the result 13:29
moritz_ pausenclown: another workaround is to use a different class name than X
like X_
arnsholt Which handles unification by being a reference to a reference to a var. I'd like to do something along the same lines in nqp, but can't quite figure out how to do it
mathw pausenclown: You're wanting to split one class's definition across multiple files? 13:30
arnsholt Binding vars to other vars gets me halfway there. But without assignment I can't see how to get all the way tehre 13:31
pausenclown no. i just want to use class A within class B
colomon moritz_: oooo, log issues.
moritz_ hm?
mathw pausenclown: aaah right. 13:32
pausenclown mathw: like using XML::Parser::Dom::Element in XML::Parser::Actions::Dom
colomon moritz_: just looking at your rakudo: say log(4, :base(2)) back there
working on a fix now. 13:33
moritz_ missing proto?
btw colomon++ #Add trivial versions of Numeric and Real and apply them to Complex and Rat. # /me plays dalek
13:33 payload joined
colomon proto is for the one argument version. trying to switch that around. 13:33
I don't think we had e available when I first added those, which is probably why there are two versions instead of one sensible one. 13:34
13:34 dalek left
mathw speaking of dalek... 13:34
13:34 PerlJam left
colomon jnthn: How do you add a role to classes defined in pir? 13:34
13:34 REPLeffect joined
colomon (or even, can you add a p6 role to classes defined in pir?) 13:35
13:35 Juerd left
masak pausenclown: thanks. two bugs found due to what you wrote above :) 13:38
pausenclown++
13:38 payload left 13:39 payload joined
colomon > say log(4, :base(2)) 13:39
2
moritz_ colomon++
pausenclown masak++ # hunter of beetles 13:42
masak all you need is love. :)
jnthn colomon: Thing is, if you defined it in Perl 6, it doesn't exist for you do add to the PIR type. 13:45
colomon: I think best bet will be to augment class Int does Real { } or something 13:49
colomon: I think adding a role when augmenting doesn't quite work yet though.
colomon that would be a bit of a complication. :) 13:50
jnthn Aye
I'll try and fix that up soonish for you.
moritz_ rakudo: say Positional
jnthn Maybe if it's easy enough I can manage it today
p6eval rakudo 534afd: OUTPUT«Positional()␤»
moritz_ rakudo: augment class Int does Positional { method foo { 34 } }; say 42.foo 13:51
p6eval rakudo 534afd: OUTPUT«Can't augment class Int without 'use MONKEY_TYPING'␤current instr.: 'perl6;Perl6;Grammar;add_name' pc 39586 (src/gen/perl6-grammar.pir:276)␤»
jnthn colomon: Feel free to try it just to check it doesn't work, mind. It's always possible that it does. ;-)
moritz_ rakudo: use MONKEY_TYPING; augment class Int does Positional { method foo { 34 } }; say 42.foo
p6eval rakudo 7c265d: OUTPUT«Method 'foo' not found for invocant of class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon jnthn: poking at log at the moment, but I'll give it a try in a few.
moritz_ at least it doesn't complain about the composition
rakudo: use MONKEY_TYPING; augment class Int does Positional { method foo { 34 } }; say 42 ~~ Positional
jnthn moritz_: yeah, but iirtcc, it doesn't attempt it either ;-)
p6eval rakudo 7c265d: OUTPUT«0␤»
moritz_ you're right 13:52
anyway, jnthn++ for awesome use MONKEY_TYPING error message
13:53 perlpilot joined
moritz_ rakudo: say PROCESS.WHAT 13:53
p6eval rakudo 7c265d: OUTPUT«Method 'WHAT' not found for non-object␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: say ( -> $x { $x } !~~ Code) 13:54
p6eval rakudo 7c265d: OUTPUT«0␤»
perlpilot What's up with feather? My IRC session locked up and I don't get a password prompt when I try to login. 13:56
moritz_ perlpilot: XEN troubles since the last hardware upgrade
colomon feather's down again at the moment, I think -- at least svn up t/spec didn't work for me a second ago 13:57
pausenclown how do i tell RT to show me the tickets i am "watching"? 14:03
masak jnthn: you're news: habrahabr.ru/company/ontico/blog/89366/
jnthn Scandalous! 14:04
masak Джонатан Вортингтон :)
jnthn Yeah, that's certainly me :-)
masak Mr. Vortington... :P
jnthn They're a little w-deprived. :-) 14:05
moritz_ pausenclown: I'd expect them on the "homepage"
perlpilot jnthn: That has the kernel of a good AFJ
jnthn
.oO( XEN troubles...the sound of one kernel crashing )
14:06
masak jnthn: it's interesting to try to picture how a cyrillic letter for 'w' would look, if it existed.
perlpilot the worst thing about feather being down is no perl6.org 14:08
moritz_ aye 14:09
hey, I've got an idea for a new name of the pugs repo
Mu
jnthn Mostly Useful. :-) 14:10
moritz_ :-)
14:13 nihiliad joined
jnthn masak: I'm curious where the shape of ш is derived from. 14:15
(maps to a "sh" sound...) 14:16
Or if that's in any way related to how we got "w"...I'm not particularly convinced though.
masak jnthn: it's interesting to note that Hebrew has a consonant that looks and sounds much in the same way. 14:17
ש
dunno if they're related of if it's convergent evolution :) 14:18
jnthn sounds like sh?
masak yesh. 14:19
arnsholt masak: Probably conincidence
snarkyboojum "The Hebrew letter shin has a W shape; the sounds and histories of the two letters, however, are entirely unrelated—shin represents /ʃ/ or /s/, and developed into the Latin alphabet S."
jnthn Ah. 14:20
arnsholt And, I'm wrong =)
14:21 SmokeMachine joined
arnsholt According to Wikipedia, the Glagolitic letter corresponding to the Cyrrilic one is derived from Hebrew Shin =D 14:21
masak \o/
jnthn Ah, apparently W started out as VV 14:22
mathw double-u
snarkyboojum literally double u :)
perlpilot There's a reason it's called a ... blah too slow!
mathw presumably that was before u had been distinguished from v 14:23
jnthn en.wikipedia.org/wiki/W offers up some more infos. 14:24
14:24 payload left
mathw aaah wikipedia 14:28
jnthn Wikipedia is the font of all knowledge. [Citation Needed] 14:29
[particle]1 you're nuts! N V T S. nuts!
jnthn masak: Gleaned from that article: "The equivalent representation of the /w/ sound in the Cyrillic alphabet is Ў, a letter unique to the Belarusian language." 14:33
masak 'o-
jnthn That...makes a sort of sense...ish.
masak \o/
it makes a lot of sense. 14:34
xinming Is cabal dead?
14:34 lisppaste3 left, lisppaste3 joined
xinming Here I receives "No route to host" 14:34
mathw It makes no sense to me, but I've not studied anything that uses Cyrillic 14:35
masak jnthn: it's to у as й is to и.
jnthn ooh
Yes
masak it's beautiful.
Belarussian++
jnthn Yeah, my brainz were stuck in consonant land.
masak well, Ў and й have always inhabited the land between consonants and vowels, in a way. 14:39
oh, and by the way, Esperanto has ŭ, so I guess that's part of why it feels natural for me. :) 14:40
14:40 iblechbot left
masak xinming: which 'cabal' are you referring to? 14:40
xinming perlcabal.org 14:41
masak mayhaps it's on feather an feather is down again? 14:42
masak is just guessing
14:43 justatheory joined 14:45 uniejo left
colomon pretty sure you're right about that. 14:45
masak Church Slavonic also had a ѡ, but it fell into disuse after the 18th century. 14:48
pausenclown do i have to pay special attention to moving files using git? like having to use "svn move" or so?
perlpilot pausenclown: not especially, but it helps :) 14:49
14:49 masak left
[particle]1 git mv ... 14:49
pausenclown tx 14:50
[particle]1 although, git usually picks up on git delete x ; mv x y; git add y
jnthn bbiab, walk in the sun, systemet
perlpilot jnthn: walking in the sun sounds like a really good idea to me right now too
TimToady it's raining in sunny california 14:51
mathw sunny here in rainy England
although it's not been sunny for most of the day
so I'm not getting my hopes up
we're supposed to get some snow this week
TimToady well, my bit of it
mathw But look! It's time for me to go and engage in the preservation of 16th- and 17th-century music! 14:54
14:54 justatheory left
mathw -> ludos muzikon o 14:55
moritz_ rakudo: say <a b>>>.uc 15:02
p6eval rakudo 5c9338: OUTPUT«AB␤»
moritz_ rakudo: say <a b>».uc
p6eval rakudo 5c9338: OUTPUT«AB␤»
moritz_ that works? since when?
rakudo: my $a = 1; my @b = (1, 2, 3); say ($a <<-<< @b).perl
p6eval rakudo 5c9338: OUTPUT«[0, -1, -2]␤»
moritz_ rakudo: my $a = 1; my @b = (1, 2, 3); say ($a «-« @b).perl
p6eval rakudo 5c9338: OUTPUT«[0, -1, -2]␤»
moritz_ rakudo: say :16<dead_beef.face>; 15:05
p6eval rakudo 5c9338: OUTPUT«3735928559.97971␤»
moritz_ lue++ 15:06
rakudo: say :16<1g> 15:07
p6eval rakudo 5c9338: OUTPUT«DON'T PANIC! Invalid character (G)! Please try again :) ␤current instr.: '&radcalc' pc 11974 (src/builtins/Parcel.pir:78)␤»
moritz_ rakudo: say :11<1a> 15:09
p6eval rakudo 5c9338: OUTPUT«21␤»
moritz_ rakudo: say :11<1b>
p6eval rakudo 5c9338: OUTPUT«DON'T PANIC! Invalid character (B)! Please try again :) ␤current instr.: '&radcalc' pc 11974 (src/builtins/Parcel.pir:78)␤»
TimToady rakudo: say :16< deface > 15:12
p6eval rakudo 5c9338: OUTPUT«Malformed radix number at line 11, near "< deface >"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady hmm
rakudo: say :16(' deface ') 15:13
p6eval rakudo 5c9338: OUTPUT«DON'T PANIC! Invalid character ( )! Please try again :) ␤current instr.: '&radcalc' pc 11974 (src/builtins/Parcel.pir:78)␤»
TimToady rakudo: say :16("deface\n")
moritz_ I guess whitespaces should be allowed? :-)
p6eval rakudo 5c9338: OUTPUT«DON'T PANIC! Invalid character (␤)! Please try again :) ␤current instr.: '&radcalc' pc 11974 (src/builtins/Parcel.pir:78)␤»
TimToady seems like
15:14 bluescreen left, nihiliad left, nihiliad joined 15:15 bluescreen joined
TimToady rakudo: say :16('-2+3i') 15:15
p6eval rakudo 5c9338: OUTPUT«DON'T PANIC! Invalid character (-)! Please try again :) ␤current instr.: '&radcalc' pc 11974 (src/builtins/Parcel.pir:78)␤»
TimToady rakudo: say :10('-2')
p6eval rakudo 5c9338: OUTPUT«DON'T PANIC! Invalid character (-)! Please try again :) ␤current instr.: '&radcalc' pc 11974 (src/builtins/Parcel.pir:78)␤»
moritz_ std: :10<-2>
TimToady there's an even bigger deficiency
colomon is there actually a smiley face in the error message? :)
p6eval std 30240: OUTPUT«===SORRY!===␤Malformed radix number at /tmp/lhPDqm5f6W line 1:␤------> :10<⏏-2>␤ expecting number in radix notation␤FAILED 00:01 107m␤» 15:16
TimToady not my message--I never smile :(
moritz_ rakudo: say <1 2 3> »+« <3 2> 15:17
p6eval rakudo 5c9338: OUTPUT«Sorry, right side is too short and not dwimmy.␤current instr.: '&die' pc 17189 (src/builtins/Junction.pir:399)␤»
TimToady kaboom I hope
moritz_ rakudo: say <1 2 3> «+» <3 2>
p6eval rakudo 5c9338: OUTPUT«445␤»
moritz_ so that's both correct, right?
15:17 payload joined
moritz_ rakudo: say <1 2 3> »+» <3 2> # should live 15:17
p6eval rakudo 5c9338: OUTPUT«445␤» 15:18
moritz_ rakudo: say <1 2 3> «+« <3 2> # should die
p6eval rakudo 5c9338: OUTPUT«Sorry, right side is too short and not dwimmy.␤current instr.: '&die' pc 17189 (src/builtins/Junction.pir:399)␤»
colomon is very amused that he just got a RESOLVED message for a bug that he reported back in September and then was partially responsible for fixing in March. :) 15:19
moritz_ but is the result of 4, 4, 5 correct in the living example above?
colomon moritz_: yes
you extend with the last element.
TimToady well, *how* to extend the faulty dimension is not exactly specced
colomon what do you mean, "how"?
TimToady well, duping the last element is not specced behavior 15:20
moritz_ that's specced for things ending in *, I think
TimToady "By default this dwimmery only upgrades whole dimensions, not short lists.
However, any list ending with C<*> can also be arbitrarily extended as if
the last element of the list were arbitrarily replicated C<*> times. But
this happens only on the "dwimmy" side.
moritz_ so, what should <1 2> «+» <1 2 3> return? 15:21
TimToady it has also been argued that you should start a short list over
moritz_ would assume the neutral element of the operation 15:22
TimToady but the current spec would make that an error
moritz_ so it would return 2, 4, 3
TimToady that's another approach
colomon I remembers a long conversation last year where you argued that replicating the last element was the right thing to do. (I was in favor of neutral element)
moritz_ rakudo: say (1..10).sort(&rand) 15:23
colomon *remember
p6eval rakudo 5c9338: OUTPUT«Method 'sort' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: say (1..10).Seq.sort(&rand)
p6eval rakudo 5c9338: ( no output )
[particle]1 pick?
colomon sort(&rand) is pretty evil.
TimToady rakudo: my @a = 1,2,3; say (@a,*).batch(7)
p6eval rakudo 5c9338: OUTPUT«Method 'batch' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon we don't have 1, 2, 3, * yet, I've been meaning to look at adding it. 15:24
.oO(but was too busy shadow walking...)
TimToady mostly it comes down to what will be most useful X what expresses something that can't be easily expressed some other way 15:25
all of these approaches have something to be said for them
moritz_ rakudo: lives_ok { '1 3' ~~ /(\d+) \s (\d+)/; $range = $0..$1 };
p6eval rakudo 5c9338: OUTPUT«Symbol '$range' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
moritz_ rakudo: lives_ok { '1 3' ~~ /(\d+) \s (\d+)/; say $0..$1 }; 15:26
p6eval rakudo 5c9338: OUTPUT«Could not find non-existent sub &lives_ok␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon btw, I also went off spec and made the empty list expand with the neutral element. (Not that we actually have the neutral element yet.)
moritz_ rakudo: use Test; plan 1; lives_ok { '1 3' ~~ /(\d+) \s (\d+)/; say $0..$1 };
p6eval rakudo 5c9338: OUTPUT«1..1␤not ok 1 - ␤# Looks like you failed 1 tests of 1␤»
colomon afk # got to drive another car full of stuff to our new city. will backlog when I get there.
TimToady but current spec really only documents turning <1 2 3> «+» 1 into <1,2,3> »+« (1 xx 3)
moritz_ rakudo: role Seq {method foo{1}} 15:27
p6eval rakudo 5c9338: ( no output )
15:27 colomon left, pausenclown left
TimToady generally, if you know the operation, you know the identity element already, and can supply it via 1 xx * or some such 15:28
I think a better argument can be made for reusing the whole list, but that's just (@list) xx *
[particle]1 can you specify the identity element as part of the attributes of an op? 15:29
TimToady assuming dwimmy can also trim an excessive list, esp an infinite one
that's not how you do it.
you define a multi of the op with one arg
or zero args, rather 15:31
rakudo: say [+]()
p6eval rakudo 5c9338: ( no output )
TimToady alpha say [+]()
alpha: say [*]()
p6eval alpha 30e0ed: OUTPUT«1␤»
moritz_ bkeeler: it seems that passing an argument to subrules works. Also interpolating constant strings into regexes works - but the combination (interpolating a string that was provided as an argument to a rule) does not 15:32
rakudo: grammar Foo { token TOP { <a('b')> }; token a($x) { $x } }; say Foo.parse('b') 15:33
p6eval rakudo 5c9338: OUTPUT«␤»
moritz_ rakudo: grammar Foo { token TOP { <a('b')> }; token a($x) { 'b' {say $x } } }; say Foo.parse('b')
p6eval rakudo 5c9338: OUTPUT«b␤b␤»
TimToady rakudo: grammar Foo { token TOP { <a('b')> }; token a($x) { $OUTER::x } }; say Foo.parse('b') 15:34
p6eval rakudo 5c9338: OUTPUT«:: not yet implemented at line 11, near "x } }; say"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady uh
15:35 charsbar_ left, REPLeffect left, charsbar joined
TimToady anyway, I wonder if the regex has a secret inner scope separate from the method itself 15:36
they should be the same lexical scope
15:37 juerd joined
perlpilot TimToady: My brain can only handle so many "invisible" scopes. 15:37
juerd Grrrrrrr
Feather's really frustrating. 15:38
moritz_ quite understandable
perlpilot juerd: time to get a new one! ;)
juerd perlpilot: The hardware is not the problem.
TimToady well, you could always upgrade to Windows 7... 15:39
juerd The last thing it says is "Restarting in 30 seconds"
perlpilot 30 really long seconds?
juerd And it doesn't live up to that promise.
perlpilot you just have to be on the right side of the event horizon for it to seem like 30 seconds to you. 15:40
TimToady the last thing it says after what?
jnthn (I wonder if the regex has a secret inner scope) I am fairly sure it doesn't, from what I remember of the code-gen.
TimToady after you ran shutdown?
perlpilot: I'm advocating the absence of an invisible scope here...
juerd TimToady: After the kernel panic stacktrace
moritz_ rakudo: sub f($x) { say $x }; f(|4) 15:41
TimToady ah
p6eval rakudo 5c9338: OUTPUT«Cannot use prefix:<|> with a Int()␤current instr.: '&die' pc 17189 (src/builtins/Junction.pir:399)␤»
juerd TimToady: Which mentions calls all over the kernel, but they are all storage/blockdevice related
Only we can't downgrade the kernel to the old version because Debian decided that compatibility with older kernels wasn't needed.
(Really, Debian, stop screwing around.) 15:42
TimToady I think |4 should probably work on the principle that anything not otherwise listy can be taken as a list of 1 argument.
rakudo: say 4.kv 15:43
p6eval rakudo 5c9338: OUTPUT«04␤»
TimToady like that...
jnthn TimToady: I can trivially make it do so.
TimToady it just seems like a better default than dying
jnthn Well, dying is conservative. :-)
But yes, that default wfm. 15:44
TimToady (same principle for making Complex have a sorting order, even if the mathematicians don't want want the type officially Orderable)
the poor schmuck trying to print out a sorted list of values probably doesn't care to be conservative wrt death
we might want to distinguish Sortable from Orderable somehow 15:45
or somehow have the default comparison semantics pragmatically settable 15:46
where the default default is make everything "orderable" willy nilly
15:48 REPLeffect joined
TimToady seems like that would be trivial, if the default comparison is = &?LEXORDER or some such 15:48
15:50 xomas joined
TimToady I suspect we have enough knobs to keep the mathematicians happy while not confusticating the sane people. 15:50
moritz_ *cough* sane
TimToady well, differently sane 15:51
15:51 lollan left
TimToady
.oO(use strict <math>;)
15:52
[particle]1 gah. which strict? 15:53
math is like ebnf
or make.
too many implementations.
moritz_ akshually mathematicians are often very sloppy about the scoping of their symbols 15:54
15:54 lichtkind joined
TimToady use Math:ver(2.0):auth<Liebnitz> 15:54
moritz_: yes, they are; mathematicians rely on the intelligence of their readers more than they reallize, often. 15:55
*realize
lichtkind ah TimToady i didnt fount junction in the perl 6 type table
phenny lichtkind: 00:50Z <diakopter> tell lichtkind I care only about the beauty of the text-editing box itself (ClearType, Ctrl-scroll to zoom, line-highlight, C#/Perl/JS syntax highlighting), I use it in full-screen mode so the rest of the UI is invisible to me.
TimToady Junctions are derived from Mu but not from Any
lichtkind TimToady: but dont have their own type? 15:56
TimToady sure they do
lichtkind TimToady: but i didnt found that one in s02
diakopter: then should kephra be eqivalent to np++ :) 15:57
moritz_ lichtkind: S02:576 "The C<junction> type is considered a native type because its internal..."
TimToady I think S02 lists it as 'junction' on the assumption it's naitve
*native
jnthn :-/
jnthn tries to remember why it's native. 15:58
TimToady The C<junction> type is considered a native type because its internal
representation is fixed, and you may not usefully derive from it
because the intent of junctions is to autothread any method calls
on them.
jnthn Well, s/J/j/ is easy enough in a sense... 15:59
TimToady but everyone keeps writing it uppercase :)
jnthn Well yeah
moritz_ jnthn: and then we support (at least one) native type :-)
jnthn I much, much prefer it uppercase...
It feels odd to write Mu and Any but then not Junction.
lichtkind i think i need a whil e to understand this 16:00
jnthn int/num etc feel native, junctions kinda...fit my intuitive sense of @native@ a bit less.
s/@/"/
16:00 payload left
moritz_ std: 1 ?? 1,2 !! 3,4 16:00
p6eval std 30240: OUTPUT«===SORRY!===␤Precedence too loose within ??!!; use ??()!! instead at /tmp/QZESqbh35Y line 1:␤------> 1 ?? 1⏏,2 !! 3,4␤ expecting an infix operator with precedence tighter than item assignment␤FAILED 00:01 108m␤»
moritz_ rakduo: 1 ?? 1,2 !! 3,4
TimToady I keep wondering if there's an Each type that autothreads like junctions, but otherwise behaves like a map 16:01
jnthn Serial/ordered semantics?
moritz_ TimToady: with some method (or other possiblilty) to extract the values/eigenstates?
TimToady eigenstates is all you get from it 16:02
it's not for logic
moritz_ so... it flattens in list context?
TimToady yes
had a use case for it a week or two, which I've forgotten... 16:03
lichtkind moritz_: i still have a mojor review of the book in my queue i just was not satisfied with my own cpmplaines after twice reading so you get mail later
TimToady *ago
lichtkind s/mojor/major
moritz_ lichtkind: ok 16:04
jnthn TimToady: each(@foo).say iirc
TimToady ah, that were it 16:05
jnthn To try and nip the @foo>>.say meme in the bud.
TimToady or more likely, @foo.each.say 16:06
jnthn yes
TimToady but notice it's lower case :P
jnthn :-P
TimToady course, so are 'all', 'any', etch 16:07
jnthn Yeah
TimToady *.
jnthn I had been seeing each as more along the lines of all/any than a coercion.
TimToady well, in this case, it's really the same as Each(), I suspect
but I'm okay with having both
jnthn If Each is gonna be uppercase, I'd posit that Junction maybe wants to be too. Or boht lower. 16:08
*both
TimToady well, I'm really fine with Junctions, since the lowercase doesn't really seem to work for people so far 16:09
it's not like we *decide* whether something behaves natively based on the case of the type... 16:10
16:10 justatheory joined
moritz_ rakudo: module Foo { say (1,2,3).map: { $_ } } 16:10
p6eval rakudo 5c9338: OUTPUT«123␤»
16:11 justatheory left
TimToady and the exoticness of junctions is already guaranteed elsewise :) 16:11
16:12 pausenclown joined
moritz_ rakudo: my Bool $t; $t = Bool::True; print $t.succ 16:13
p6eval rakudo 5c9338: OUTPUT«1»
16:14 REPLeffect left
moritz_ rakudo: constant $x = 1; $x += 2; say $x 16:14
p6eval rakudo 5c9338: OUTPUT«Symbol '$x' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
moritz_ rakudo: class A {}; A::B.parse("") 16:20
p6eval rakudo 5c9338: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤» 16:21
lichtkind pausenclown: hai 16:24
pausenclown hi
the synopses are offline =( 16:25
16:25 hercynium joined
perlpilot pausenclown: that's why haven't your own copy via svn (or git-svn) is probably wise :) 16:26
TimToady 'course, you can't get one right now for the same reason... 16:27
perlpilot chance favors the prepared mind
:-) 16:28
TimToady preparation favors the chance mind...
[particle]1 if it's git, somebody must have a repository that can be cloned... 16:30
moritz_ I have a git-svn clone
can upload to github, just a sec...
perlpilot moritz++ 16:31
moritz_ uploading... takes some time 16:34
perlpilot moritz_: you uploaded the whole pugs repo or just the docs?
moritz_ perlpilot: the whole 16:35
perlpilot ah, that would take a qhile
er, while
16:36 astrojp left, bluescreen left 16:37 mariano__ joined 16:39 synth joined 16:48 perlpilot is now known as PerlJam
PerlJam pausenclown: you could always get a copy from google's cache as well 16:49
moritz_ PerlJam: github.com/moritz/Mu copy of the pugs repo 17:02
PerlJam heh! You just wanted an excuse to use Mu like that didn't you?
moritz_ it's just stupid to still call it "pugs repo" 17:03
since pugs has left the repo
PerlJam and alot shorter than random-collection-of-perl6-related-stuff
PerlJam giggles a little bit at the name of an article author -- Hari J. Krishna 17:06
TimToady we could publish that we changed the name of the pugs repo to Mu on April 1st :) 17:08
17:10 dakkar left
jnthn An inverse April Fools. The fools are the ones who don't believe it. :-) 17:14
diakopter _finally_ 17:17
diakopter shakes his head, eyes closed.
if only there were a smiley for that.
17:20 arthur-_ left 17:21 Chillance joined 17:26 RandalSchwartz joined
RandalSchwartz greetings, fellow earthlings :) 17:26
# SRCSSH=merlyn@blue.stonehenge.com
if I had to summarize Perl6 status in three sentences, where would I get -those sentences?
17:28 mberends joined
RandalSchwartz hmm. crickets. :) 17:28
diakopter well
PerlJam RandalSchwartz: patience.
diakopter I'd point you to perl6.org/status but it appears to be down atm
PerlJam diakopter: yeah, feather is having fits. 17:29
RandalSchwartz apparently, $client has decided to have me host a brownbag today on the past and future of Perl
so I thought I should probably get the latest info
17:30 CokeCokeCokeCoke joined
CokeCokeCokeCoke RandalSchwartz: It's not really a summary, but I'd check out pmicahud's Rakudo * blogpost for material. 17:31
RandalSchwartz yeah, looking at that now
PerlJam RandalSchwartz: there is rakudo.org/status too, but that's more about rakudo than Perl 6 in general
diakopter Large parts of the design are solidifying, but large parts remain slushy. Those parts that are more solidified mostly correspond to the portions explored by the implementations. The Rakudo implementation has the most attention at the moment, and a "usable" (but categorically not *stable*) release in April looms. 17:32
PerlJam diakopter++ :)
diakopter There are many large parts of the design.
:)
TimToady won't be in April now 17:33
diakopter oh
TimToady given pm's travails
CokeCokeCokeCoke TimToady: what if we buy jonathan lots of red bull?
TimToady but still aiming at Q2
RandalSchwartz Q2 includes june :)
jnthn runs on beer, not red bull!
PerlJam diakopter: I especially like how you said "solidifying". We could have an "event" that would up the temperature and some parts of the design will liquify again.
TimToady anyway, at some point Rakudo * comes out, targeted for Early Adopters 17:34
CokeCokeCokeCoke jnthn: Done and Done.
RandalSchwartz I should just have you type on the screen, TimToady :)
TimToady who will, we hope, close the remaining design issues by actually trying to use it.
PerlJam Coke: are you sending lots of beer to jnthn as we speak?
RandalSchwartz but that's a good summary... I'll put that in 17:35
TimToady we'd like platform stability in Rakudo *, in the sense that it's not crashing left and right 17:36
but we're not promising any kind of backward compatibility until 6.0.0 comes out
CokeCokeCokeCoke hey, parrot folks fixed a memory braino in parrot yesterday. anyone tried building rakudo with it?
17:36 justatheory joined
TimToady early adopters can freeze a particular version if they need to 17:37
jnthn CokeCokeCokeCoke: I believe sorear++ did and reported success and improvement.
CokeCokeCokeCoke: I'll try myself later tonight, and bump PARROT_REVISION provided all is well.
PerlJam builds a newer parrot and trys rakudo on it.
TimToady RandalSchwartz: is $client in PDT (or even PDX? :) 17:38
17:38 dalek joined
RandalSchwartz PDT yes. PDX no. LAX would be close 17:38
TimToady when does your brownbag start? 17:39
RandalSchwartz I landed a full-time contract here.
TimToady I can be around the channel then if you like.
RandalSchwartz I don't know. I didn't get the email. :)
so I'm waiting for my boss to remind me when we start.
probably noon
yeah, I think it's mostly gonna be handwaving though, no screen
just me talking about the early days 17:40
but I wanted to finish up with a bit of futures
TimToady well, if they ask a Q you want to refer to me, I should be available
assuming you have connectivity yourself
RandalSchwartz I guess if Rakudo * is coming out soon, I'll have to start writing Llama 6 any day now
yeah
PerlJam RandalSchwartz: who is the audience? Are they youngsters? oldsters? In between? A mix?
RandalSchwartz employees of $client 17:41
CokeCokeCokeCoke PerlJam: to you, they're all youngsters. :P
RandalSchwartz most of them younger than me now
RandalSchwartz is old
PerlJam CokeCokeCokeCoke: :-PPPP
17:41 mssm joined
RandalSchwartz I turned 0x30 this year. :) 17:41
CokeCokeCokeCoke HA!
PerlJam I'm wondering if any of the younger generation programmers are getting some perl exposure. 17:42
17:42 pausenclown left
TimToady I will be :9<70> this year 17:42
rakudo: say :9<70> 17:43
PerlJam I had two of my student workers apply at USAA (java shop) and both of them said their experience using perl here helped on the interview.
p6eval rakudo 5c9338: OUTPUT«63␤»
TimToady er, no
17:43 Juerd_ joined
PerlJam heh 17:43
TimToady rakudo: say :9<60>
p6eval rakudo 5c9338: OUTPUT«54␤»
Juerd_ Feather's now at a 2.6.31 kernel that someone gave to me.
TimToady that's not right either...
Juerd_ That is, feather0
17:44 juerd left
TimToady rakudo: say :8<70> # should learn math one of these days 17:44
p6eval rakudo 5c9338: OUTPUT«56␤»
TimToady that's more like...
[particle]1 you need to practice your alternate base times tables
TimToady no, I should learn my times tables
the mistakes were in decimal :) 17:45
CokeCokeCokeCoke p6eval rakudo: say :16<30>
p6eval CokeCokeCokeCoke: rakudo 5c9338: OUTPUT«48␤»
CokeCokeCokeCoke ... missed a /msg there. 17:46
diakopter weird
blah rakudo: say :16<30>
rakudo rakudo: say :16<30>
p6eval p6eval: say :16<30> 17:47
p6eval diakopter: : $code
TimToady back in two bits &
arnsholt nqp: class A { has $.val; }
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)␤»
17:48 iblechbot joined
diakopter p6eval p6eval: bleh 17:48
p6eval diakopter: : $code
diakopter p6eval p6eval: $code 17:49
p6eval diakopter: : $code
diakopter p6eval : $code
p6eval rakudo $code
jnthn arnsholt: nqp only has DIY accessors :-)
arnsholt Aha. Also, looks like it doesn't like class with a block 17:50
Or not. I must have done something else wrong
jnthn nqp: class A { has $!val; } 17:51
p6eval nqp: ( no output )
arnsholt I thought I'd tried that, but apparently not =)
17:53 mberends left 18:06 mberends joined 18:09 colomon joined 18:10 Juerd_ is now known as Juerd 18:16 nihiliad left
PerlJam perl6.org is still down? 18:17
TimToady nod
18:18 ignacio_ left
colomon is it? 18:19
pugs repo svn is back
as is perlcabal. 18:20
TimToady yes, seems to be back now 18:21
colomon I see what you mean about the hyper ops now: "However, any list ending with * can also be arbitrarily extended as if the last element of the list were arbitrarily replicated * times. But this happens only on the "dwimmy" side."
But isn't a list ending with * supposed to be an infinite list repeating the last element before the *? 18:22
TimToady yes
it's not the same as xx * though
since @foo,* replacates the end of @foo 18:23
*lic
colomon right, whereas xx * is looping through the entire list?
rakudo: ((1, 2, 3) xx 3).eager.say 18:24
p6eval rakudo 5c9338: OUTPUT«123123123␤»
colomon rakudo: ((1, 2, 3) xx *).eager.say
whoops
p6eval rakudo 5c9338: ( no output )
colomon rakudo: ((1, 2, 3) xx *).batch(10).say
arnsholt is amused by the default blogs.perl.org About blurb
p6eval rakudo 5c9338: ( no output )
TimToady you'd have to write (@foo[0 .. *-2], @foo[*-1] xx *) to get the same effect
colomon TimToady: what worries me about that is it seems as if the result is infinite in general, but just "big enough" in hyper ops. 18:25
TimToady only on the dwimmy side 18:26
18:26 frettled sets mode: +o colomon
TimToady and * doesn't mean "infinite", it means "whatever" 18:26
frettled Whatever you say. :) 18:27
TimToady I don't have infinite patience...
colomon you have whatever patience? ;) 18:28
frettled *:-)
RandalSchwartz a doctor would wish for infinite patients
TimToady no, I have whatever patients.
frettled RandalSchwartz: at least infinitely patient patients 18:29
colomon here's my issue. I have been assuming that (@a, *) would generate a new Iterator that iterated @a and then just kept repeating the last element.
but that clashes really badly with how the hyper ops are spec'd to use the same construct. 18:30
TimToady how so?
frettled RandalSchwartz: are you researching Rakudo * for an upcoming FLOSS weekly? ;)
RandalSchwartz nope. I have a brown bag to deliver today 18:31
floss is tomorrow :)
colomon well, the hyper op version needs to know how many elements are in @a rather than how many are in @a, *
basically, it amounts to one has to be lazy and the other has to be eager.
TimToady it doesn't need to know that on the dwimmy side, since it gets the shape from the other side
colomon maybe I've misunderstood something. I thought the dwimmy side just upgraded the list if needed. It can't shorten it, can it? 18:32
TimToady well, maybe it can 18:33
colomon hmmm...
TimToady though we need some way to tell if an iterator knows it's finite, in any case
there are other places we rely on that info, I seem to recall 18:34
18:34 mberends left, ignacio_ joined, mberends joined
TimToady mostly eager has to know that 18:35
bkeeler Morning, #p6 18:36
frettled :) Just when I was about to keel over 18:37
TimToady but I think rewriting @foo,* as @foo,{$^last}...* is probably
fine
colomon ack, I foresee asking an iterator if it knows it's finite maybe be a bit of a pain. or at least, a problem for gather / take iterators.
TimToady gather/take doesn't consider itself finite unless declared, I suspect 18:38
otherwise you're talking Halting Problem
PerlJam and we're saving that one for Perl 7 18:39
frettled :)
18:39 frettled sets mode: +o PerlJam
RandalSchwartz perl7 solves the halting problem. I'll use that in my talk 18:39
colomon TimToady: my point precisely. :)
TimToady we'll solve half of it in Perl 7, at least
RandalSchwartz presuming my talk is still happening... I haven't been informed *where* yet
frettled and the Travelling Salesman problem
RandalSchwartz the travelling salesman and the farmer's daughter problem
frettled heh :D
18:40 Juerd left
TimToady we might only be able to solve half of that problem too... 18:40
it's a bad sign when Juerd drops off... 18:41
18:41 dalek left
TimToady well, svn is still there 18:41
18:42 dalek joined 18:50 jaldhar left 18:54 jaldhar joined 18:56 justatheory left 19:00 envi^home left, lichtkind left
mberends has just thought of an evil workaround for proto to install Parrot and Rakudo into "C:Documents and Settings" tree: just use "C:DOCUME~1" instead! 19:02
phenny mberends: 11:36Z <masak> tell mberends I'll be around quite often; will be happy to brainstorm proto with you.
19:02 nihiliad joined 19:07 justatheory joined 19:08 jaldhar left
jnthn mberends: What breaks? 19:10
That probably works though...most of the time. 19:11
mberends jnthn: parrot builds ok in C:\Documents and Settings\Martin\.perl6\parrot, but "make install" creates a "C:\Documents" and dumps some of the binaries there :/
moritz_ mberends: which 'make install'? parrots? 19:12
mberends yes
jnthn Oops.
moritz_ mberends: did you submit a bug report?
jnthn mberends: May be good...what moritz_ said. :-)
mberends it's already known. trac.parrot.org/parrot/ticket/930
CokeCokeCokeCoke bumping it up on my priority list... 19:14
mberends tweaking the parrot Makefile with copious extra " " around directories does not fix it
19:15 alester joined
mberends gotta try that evil C:\DOCUME~1 trick now ;) 19:16
CokeCokeCokeCoke mberends: some tool is probably pulling the dir out of the config and using it unprotected.
mberends CokeCokeCokeCoke: yes, I think it's tools/dev/install_files.pl 19:17
19:18 nihiliad left 19:19 nihiliad joined
moritz_ oh wow 19:19
it doesn't even use Getopt::Long 19:20
CokeCokeCokeCoke ... embarassing. 19:23
moritz_ hurm, tools/dev/install_files.pl 19:25
looks fine to me wrt whitespace in file names
if called correctly
but 19:26
it's called as
$(PERL) tools/dev/install_files.pl \
--buildprefix=$(BUILDPREFIX) \
etc
so $(BUILDPREFIX) is not escaped
mberends the 'install-bin' target in Parrot's configured Makefile might need quotes to be added around the options passed to tools/dev/install_files.pl
moritz_ yes, that's where I am right now 19:27
CokeCokeCokeCoke I'd be happy with a patch that quoted things. I don't think we have a platform on which double quotes around a command line arg are bad.
mberends moritz_: starting in Makefile:3714 but your line number may differ 19:28
moritz_ mberends: config/gen/makefiles/root.in line 2410
CokeCokeCokeCoke (line numbers in config/gen/makefiles/root.in should be consis.... right.)
moritz_ CokeCokeCokeCoke: should @PKGCONFIG_DIR@ also be quoted? 19:29
19:32 mberends left
CokeCokeCokeCoke Seems like pretty much any path shoudl be. 19:33
19:33 mberends joined
moritz_ I just don't know which tool translates the @\w+@ variables 19:33
lisppaste3 moritz_ pasted "parrot Makefile patch for mberends++ to test" at paste.lisp.org/display/97092 19:34
mberends tries
moritz_ mberends: you'll need to reconfigure parrot, obviously 19:35
mberends yes, going to do that soon...
CokeCokeCokeCoke moritz_: configure. 19:36
the gen::makefiles step in configure does all that substitution.
mberends perl Configure.pl --prefix="C:\Documents and Settings etc etc 19:37
19:37 riffraff left
moritz_ CokeCokeCokeCoke: ok, that doesn't seem to care if it's inside quotes or not 19:42
19:46 SmokeMachine left 19:50 clintongormley left 19:52 mssm left
mberends moritz_: make and make test worked, but make install again created a new C:\Documents directory :( 19:53
moritz_ mberends: :( 19:54
mberends: do you haave a log that shows the call install_files.pl? 19:55
'make install' should have that very close to the beginning
mberends but also a "C:\Documents and Settings\Martin\.perl6\parrot_install" ! containing include lib and share subdirs :)
moritz_ so only parts go wrong 19:56
mberends yes, it's a step in the right direction. no bin directory yet... 19:57
19:58 avuserow left
mberends C:\strawberry\perl\bin\perl.exe tools/dev/install_files.pl \ 19:58
--buildprefix="" \
--prefix="C:\Documents and Settings\Martin\.perl6\parrot_install" \
--exec-prefix="C:\Documents and Settings\Martin\.perl6\parrot_install" \
--bindir="" \
--libdir="C:\Documents and Settings\Martin\.perl6\parrot_install/lib" \
--includedir="C:\Documents and Settings\Martin\.perl6\parrot_install/include
" \
--destdir="" \
--docdir="C:\Documents and Settings\Martin\.perl6\parrot_install/share/doc"
\
--versiondir="/2.2.0" \
MANIFEST MANIFEST.generated 19:59
Installing ...
hope you don't mind the little flood...
20:00 avuserow joined
moritz_ also has a line --pkgconfigdir= in there 20:00
mberends this parrot may be a few days older 20:01
moritz_ I don't think it matters much
I'm just curious about differences
mberends oh, this was the 2.2.0 tarball 20:02
proto is aiming to deploy the monthly Parrot and Rakudo releases 20:04
arnsholt Curse my perfectionism! 20:05
moritz_ curses arnsholt's perfectionism 20:06
arnsholt Can't even type out a basic blog post without obsessing >.<
jnthn arnsholt: srsly, *&!% your perfectionism!
;-)
.oO( there. I did something useful today. )
20:07
arnsholt Couldn't agree more!
20:08 masak joined
masak ahoy, #perl6! 20:08
arnsholt Ahoy, masak!
mberends ahoy masak!
RandalSchwartz the talk went well, except for when they said "so when's perl6 coming out?" 20:09
arnsholt What, they hadn't heard?
mberends RandalSchwartz: you said Christmas, right? 20:10
arnsholt I thought everybody knew it's coming out for christmas ^^
jnthn lolitsmasak!
RandalSchwartz somebody even asked "but what if Larry gets hit by a bus"
so I got to describe @Larry :)
masak lolitsrandalschwartz!
PerlJam RandalSchwartz: But what if @Larry are all riding in a bus and it explodes if it drops below 50mph? 20:11
cognominal Whatever @Larry
PerlJam :)
masak the more time I spend with Perl 6, the less I understand what 'Perl 6 coming out' would actually mean.
I've been using the thing since 2005, and not much would change for me if we passed some imaginary 'release' date. 20:12
sjohnson yo dudes
masak sjohnson!
PerlJam masak: When's Perl 5 coming out? :)
masak PerlJam: yeah. give me an official Perl 5 release, man!
sjohnson hi :)
masak none of this preliminary stuff. 20:13
moritz_ actually there's one coming up
PerlJam yeah 5.12RC1 is out and about
moritz_ there were RC{0,1} for 5.12 these past days
PerlJam But I don't think that a release of Perl 5.12 means much more than a release of Rakudo except that Perl 5 has been around much longer 20:14
moritz_ PerlJam: it's what the distributors will pick up for their next release
masak one of mst's last memes is that "it's like comparing a 20-year old with a fetus" 20:15
PerlJam mst++
jnthn Seems with latest Parrot, we build in 250MB on my machine.
moritz_ otoh there are distributors who do ship rakudo
mberends masak: when can I run a Perl 6 implementation of my fairly trivial Perl 5 web client scripts, fairly trivial database client scripts?
jnthn That's quite an improvement from > 1GB not so long back. :-)
moritz_ jnthn: aye, chromatic++ found some fuckups in string pool allocations, or so 20:16
jnthn Epic fuckups!
moritz_ r45315
masak mberends: now, that's a meaningful way to ask it. I like that.
jnthn chromatic++ for finding them.
masak mberends: and the answer is, of course, that we're working very hard on getting there. unless we're there already, and none of us noticed. :P
sbp mberends: 6.1
RandalSchwartz when the perl6 cpan has more than 10 submissions a day. :) 20:17
then I'll know perl6 is "out"
sbp actually that would be interesting
jnthn moritz_: The bad news is that it seems rather slower to build. :-/ 20:18
PerlJam RandalSchwartz: Perl 6 will just co-opt the existing CPAN.
sbp model the language's current version number based on the behavioural characteristics of people using it
moritz_ jnthn: aye
20:18 mariano__ left
sbp 6.numberofdownloads.numberofperl6cpanpackages.etc. 20:18
jnthn moritz_: Like, painfully slower... :-| 20:19
jnthn wonders whether to bump or not.
I'm guessing it's not the string handling fix that's made things slower...
moritz_ mberends: which compiler do you use on windows? msvc? 20:20
mberends moritz_: the gcc that comes with Strawberry 5.10.1
moritz_ jnthn: with newest parrot it takes about 15min to compile rakudo here, and also S05-mass/rx.t is the last test file to finish 20:22
so something made parsing horribly slow
jnthn :-/
I'm not going to bump.
Otherwise I'll get nothing done.
moritz_ at least that's my impression
jnthn Yes, I noted that grammar.pm took a *lot* longer to compile than actions.pm.
mberends jnthn: +1 to bump if it passes all spectests. a build time of less than infinity is a speedup for a 1GB RAM machine. Oh, I'm out on my own there... 20:23
-1 to bump then, I just have to get more RAM
jnthn mberends: I'm looking at 2-3 times longer to build here by the looks of it. 20:24
mberends then again, how long can we wait and *not* bump?
jnthn mberends: Well, maybe we can wait for a couple of hours while I try and write and test some patches. :-) 20:25
mberends sure, +1 to that
jnthn Maybe good to file a Parrot ticket. 20:26
mberends will bump the eePC Ubuntu installation locally and see how it fares, while wrestling with proto on WinXP 20:27
masak mberends: btw, I'm here if you want to talk aobut proto some. 20:28
CokeCokeCokeCoke do you have 2 parrot revisions for bisecting the speed issue?
moritz_ CokeCokeCokeCoke: r45178 good, r45315 bad
arnsholt There. I even managed to publish it 20:29
mberends masak: good idea. Data structures first. The S11-modules implementation will make new demands on the projects.state database, probably projects.list as well. 20:30
masak oh, so proto is going the S11 route? nice! 20:31
mberends yes!
masak time to start looking for a less throwaway name! :)
mberends heh, the thought is beginning to stir..
20:31 SmokeMachine joined 20:33 mariano__ joined
jnthn masak: "Austria" :-) 20:33
masak "because November wasn't confusing enough for people..." :P
"We named it after the country whose public uprising the Novel Peace Price committee mistakenly thought it prevented." 20:34
s/Novel/Nobel/
PerlJam "newp" 20:35
masak moritz_: seems I'm getting a lot of RESOLVED mails from RT today. kudos! 20:36
moritz_: I owe you a beer :)
colomon \o/ 20:39
20:40 payload joined
masak this meme keeps popping up. twitter.com/timdorr/status/11323472253 20:43
I'm not sure replying to it will improve anything. it's basically flamebait. 20:44
still, maybe someone here has some ideas?
20:47 TiMBuS joined
colomon it's like the perfect flamebait... 20:47
moritz_ Perl 6 - actively working to disprove this meme
RandalSchwartz perl 6 - call us the memebuster! 20:48
masak "hello, this is Perl 6 calling. alive and kicking :)" 20:49
"is there anything particular you dislike about our efforts?"
moritz_ don't
masak I won't.
moritz_ that's just waste of time 20:50
mberends masak: there are probably enough decent v6 counterexamples to dismiss the allegation, but responding to the bait, even as we are doing now, is wasting more of our time than his
masak feeding the flames.
ok, I'll stop.
this one from @uasi is much more relevant, and could perhaps be turned into an RT ticket: twitter.com/uasi/status/11247932654 20:52
rakudo: say ("some file" ~~ :d).WHAT
colomon Hmmm? I don't understand that one.
p6eval rakudo 5c9338: OUTPUT«Bool()␤»
masak rakudo: say ("some file" ~~ :d).perl
p6eval rakudo 5c9338: OUTPUT«Bool::False␤»
masak hm. seems to work.
colomon alpha: say ("some file" ~~ :d).perl 20:53
p6eval alpha 30e0ed: OUTPUT«Bool::False␤»
arnsholt can haz choclit 20:54
nom nom
moritz_ rakudo builds and spectests on parrot r45314 in 20.5min 20:56
now I'll try again on 45315
jnthn moritz_++ 20:57
mberends masak: if you bypass proto's bootstrap code, and continue to its Perl 6 part, we have to design how the command line specifies :auth and :ver nameparts. line 29 etc in github.com/masak/proto/blob/master/...staller.pm
masak looks 20:58
what's the simplest thing that could possibly work? 20:59
mberends currently it's just ./proto install druid
masak './proto install druid :ver<0.1> :auth<masak>', maybe
with all additional flags optional if no ambiguity occurs.
(and defaulting to latest if there's no :ver option) 21:00
would that work?
am I silly in wanting the colon in the options? should we go with a dash, or two dashes, instead?
maybe people will write things as one argument and expect it to work? 21:01
mberends masak: are you happy to code it? Implementation wins the debate.
masak if I were to code this, I'd start from tests.
mberends ah, good idea
moritz_ well, one could preserve dash options for more environmental options 21:02
like, where to install the module, what $thing to use etc.
mberends proto has needed testing for a long time, better to make any kind of start on tests
masak moritz_: yes. or maybe :ver<4.2> is sugar for '--ver 4.2'...
moritz_ masak: dwim++
masak mberends: I'd like to mock a whole lot of things. 21:03
it sounds like a pleasant project.
just need to find time for it...
PerlJam my rakudo build with parrot 45325 has slowly grown to 436 meg and then stayed steady for the last several minutes
arnsholt masak: Excellent idea. Now that you mention it, all Perl 6 command line apps should do that
mberends yes, a mock downloader would save lots of time
PerlJam (still waiting for it to finish to see how long it takes)
masak arnsholt: while we're at it, let's fix the rest of S19 :P
CokeCokeCokeCoke it does finish on feather, anyway. closed #1489. 21:04
PerlJam compiles on feather is excellent even if it takes forever
21:04 wallberg joined 21:05 ignacio_ left
colomon is getting fed up with "maximum recursion depth exceeded" today. 21:06
arnsholt I think you need tail-call optimisation and a Cray =) 21:07
21:10 wasy is now known as wasy_afk
colomon Pretty sure tail-call and a Cray won't help with infinite recursions... ;) 21:10
21:11 am0c left
moritz_ class Cool { ...; multi method kv() { @.keys Z=> @.values }; ... } 21:12
moritz_ likes the look of that 21:13
rakudo: say (<a b c> Z=> (1, 2, 3)).perl
p6eval rakudo 5c9338: OUTPUT«GatherIterator.new()␤»
moritz_ rakudo: say (<a b c> Z=> (1, 2, 3)).eager.perl
p6eval rakudo 5c9338: OUTPUT«("a" => 1, "b" => 2, "c" => 3)␤»
colomon \o/
moritz_ wow, and it actually works
PerlJam nice
though that GatherIterator output is annoying :) 21:14
moritz_ aye
colomon rakudo: say (<a b c> >>=><< (1, 2, 3)).eager.perl
p6eval rakudo 5c9338: OUTPUT«("a" => 1, "b" => 2, "c" => 3)␤»
moritz_ why isn't .perl .eager by default?
colomon we haven't really figured out what to do with .perl and iterators yet, as far as I know.
moritz_ until we can serialize closures, assuming .eager seems sensible 21:15
PerlJam I agree
21:16 poincare101 joined
moritz_ tries to come up with good examples for the R X Z meta operators for the book 21:17
PerlJam 15m just to build rakudo
seemed like forever
poincare101 is there some kind of to-do list for rakudo?
moritz_ poincare101: sure, the ROADMAP 21:18
in docs/
masak URLs trump directions: github.com/rakudo/rakudo/blob/maste...cs/ROADMAP 21:19
:)
poincare101 thank you :) 21:20
21:21 riffraff joined
PerlJam poincare101: for a more fine-grained "todo list" you might want to look at the perl6 queue at rt.perl.org 21:22
colomon > say (<a b c> Z=> (1, 2, 3)).perl 21:25
("a" => 1, "b" => 2, "c" => 3)
moritz_ colomon: sship it! 21:26
21:26 iblechbot left
jnthn Ah, hmm. 21:26
regex foo { \d+ } outside of a grammar now just warns.
my and our don't, and seem to install it
Unfortunately, it isn't then found by /<foo>/, however.
> my regex foo { lol }; say 'omglolyay' ~~ /<foo>/ 21:27
Method 'foo' not found for invocant of class 'Regex;Cursor'
moritz_ and the error messag says why, no? 21:28
arnsholt Well, the cursor object created probably doesn't have foo in its inheritance hierarchy
moritz_ arnsholt: that would be my guess too
arnsholt Which, given my understanding of how these things are implemented, means that <foo> won't work
Hard to say how you could fix that 21:29
bkeeler I think I could fix that
21:30 shamu__ joined, moritz_ sets mode: +oo arnsholt bkeeler
arnsholt Cool. What's your plan? 21:30
jnthn isn't sure if/why it should work.
PerlJam make a global anonymous grammar that regex get installed into if not already in a grammar
jnthn I'd like it to work though. :-) 21:31
bkeeler Question is, would be OK if the lexical or package scoped foo took precedence over a method one?
arnsholt jnthn: Well, I think S05 says it should work =)
PerlJam arnsholt: does it?
jnthn bkeeler: I suspect a method one should win
arnsholt IIRC
arnsholt goes looking
bkeeler That would be tricky then
moritz_ says it should work
bkeeler Well, perhaps not that tricky 21:32
jnthn TimToady: Question. my method foo() { ... } - the methods table doesn't have sigils, but should we install it as &foo in the lexpad?
bkeeler Oooh, I've been oppified!
jnthn whoz op wiv dat?
bkeeler: I did a slight refactor to share a little more code between regex_def and method_def. 21:33
bkeeler Excellent, thanks
jnthn (And to add our/my handling into the shared bit.)
There's probably more that could be shared, but it's a step in the right direction, I think.
bkeeler I failed miserable when I tried to refactor that, but probably some stupid typo or other was to blame
arnsholt Hmm. Or maybe I was wrong. Can't find it 21:34
shamu__ is this a place I can ask a rakudo question?
PerlJam shamu__: yep
shamu__ is there a 'portable' version for windows I can run off a flash/portable drive? 21:35
the strawberry perl portable version really makes a huge difference for me, and I'd like to set up a copy on a portable drive before yapc so I can have it ready if I decide to take Damien's class 21:36
and if there isn't one, who could I, uh, gently make a suggestion to? 21:37
PerlJam shamu__: I think, as long as it can find parrot, the rakudo executable will run from anywhere just fine.
shamu__ oh ok 21:38
uh, is there a portable parrot?
bkeeler jnthn: S05 does explicitly mention a <&foo> syntax as a shortcut for <{ foo() }>, perhaps the intention is to be explicit about what you want to call?
jnthn bkeeler: Ah, interesting.
bkeeler: Well, I've gone ahead and set us up to install as &foo
21:38 RandalSchwartz left
jnthn So that may just work. 21:39
spectesting now.
PerlJam shamu__: do a git clone of rakudo to your portable drive, then execute "perl Configure.pl --gen-parrot && make"
bkeeler jnthn: Actually, that syntax calls the sub and interpolates the result
jnthn bkeeler: oh.
bkeeler jnthn: Hmmm
PerlJam shamu__: it should build both parrot and rakudo and make a parrot_install dir for rakudo to use
jnthn That probably won't do what we want here then. 21:40
bkeeler jnthn: There's always <{ &foo }>
21:40 mariano__ left
jnthn bkeeler: Does that work in Rakudo now? 21:40
bkeeler jnthn: once my patch (or it's eventual pm-approved successor) is applied
jnthn OK
bkeeler jnthn: Doesn't yet
shamu__ PerlJam -- thanks a bunch! I'll save that off and see if I can get it to work under windows. 21:43
PerlJam shamu__: caveat lector--I don't regularly (ever :) use parrot/rakudo on windows
shamu__ thanks 21:44
I'd tend not to, but I find myself around windows boxes often enough that having the ability to hack in 15-30 minute snatches of time is useful
masak wow, this perl5i things seems really great: www.perl.org/pub/2010/03/perl5i-mak...imple.html 21:45
21:46 pjcj joined
moritz_ well, autoboxing existed as a module for quite some time 21:47
I find this $thing->is_number slightly worrying
snarkyboojum I noticed someone else has gone and implemented Array.exists by smart matching elements against Proxy, which moritz_ pointed out was probably wrong when I tried that way a while back :)
rakudo: my @a = (Proxy.new, Proxy.new); say @a.exists(0); 21:48
jnthn > method foo() { say 42 }
Useless declaration of has-scoped Method in a module; add our or my to install it in the lexpad or namespace
> my method foo() { say 42 }; foo(*)
42
moritz_ because perl 5 tries very hard to hide the actual type of a scalar
poincare101 hmmm... perl6 is taking almost 2 seconds to do a hello world!
p6eval rakudo 5c9338: OUTPUT«0␤»
snarkyboojum so that fails
masak moritz_: indeed.
moritz_ snarkyboojum: then I apologize for the likely wrong comment
21:49 justatheory left
snarkyboojum oh so it's correct? 21:49
for @a.exists(0) to return false above?
moritz_ snarkyboojum: no idea, but somebody else thought it was
snarkyboojum ok :)
jnthn I'm not convinced it's right. Particularly since I think pm mentioned Proxy was a temporary measure.
snarkyboojum I thought your example of putting Proxy objects in an array was good evidence that it was the wrong approach :)
jnthn: yeah, was just about to mention that (from IRC backlog reading) 21:50
moritz_ jnthn: don't we have EMPTY to smart-match against instead?
anway, self.goto($bed)
good night
jnthn night o/
snarkyboojum night
colomon o/
PerlJam std: method foo { } 21:51
p6eval std 30243: OUTPUT«ok 00:01 107m␤»
masak night, moritz_.
jnthn PerlJam: std probably could be made to warn there too.
poincare101 what's the humoungus array at the top of perl6.c ?
(almost 23000 line array)
jnthn poincare101: Bytecode.
PerlJam poincare101: the program :) 21:52
snarkyboojum the compiled rakudo?
jnthn Right, bytecode of the compiled Rakudo. :-)
PerlJam poincare101: there's a reason it's called a "fake executable"
jnthn The rest of perl6.c is just a little "loader" that tells Parrot to run that bytecode.
masak snarkyboojum: by the way, I'll see if I can get Yapsi into some sort of shape until tomorrow, so that it can do what yapsi-prototype can do. if so, I might release it on April 1 :) 21:53
poincare101 as in bytecode that's fed into parrot or real opcode for somethin like x86?
snarkyboojum parrot bytecode
poincare101 jnthn: I see.
what does vivification mean? 21:54
masak poincare101: it means automatically putting e.g. an array at a point where there was previously no entry in a hash. 21:55
PerlJam poincare101: what distinguishes "real opcode"?
masak poincare101: but it doesn't have to be an array, it can be another hash. it depends on the use you make of it.
jnthn PerlJam: The hardware runs it I guess. :-)
masak poincare101: for example, 'push %h<foo>, "OH HAI";'
arnsholt masak: Speaking of yapsi, I almost called my new project yapsy >:) 21:56
masak poincare101: if %h<foo> was empty before the push, we first create an empty array there. that's vivification.
arnsholt: confusion++ :P
"Salsa? No, Seltzer."
arnsholt Indeed =D
I went with parrotlog, in the end. But it would have been amusing =) 21:57
poincare101 PerlJam: Something can be run on a processor, like x86
masak: ah. 21:58
21:58 riffraff left
PerlJam poincare101: the parrot vm is a processor 21:58
snarkyboojum hardware processor? 21:59
:)
masak: oh hello! missed your message above 22:00
masak snarkyboojum: hi! it's because we are traveling at different time trajectories, just like lue predicted. 22:01
er. will predict. whatever.
snarkyboojum masak: w00t for release on April Fools' day :) 22:02
masak feels motivated to go for it
snarkyboojum: also, it'd be nice to sit down fairly soon and discuss where to go from there.
snarkyboojum let me know if there's anything I can do
cheerleading is fine too :) 22:03
masak snarkyboojum: I need to do a bit of braindumping and air some ideas :)
perhaps not now, since I need to fix my sleep.
jnthn rakudo: class B; method foo() { }
snarkyboojum masak: great - ping me whenever you like
p6eval rakudo 5c9338: ( no output )
22:03 PerlJam left
masak snarkyboojum: maybe we should set a meeting in a few hours, so I have a good reason to rise early tomorrow :) 22:03
snarkyboojum masak: sounds good to me 22:04
masak mentally sets his alarm clock
jnthn spectests a bunch of bits 22:05
cognominal say per6eval rakudo: my @a = < a >; say 'a' ~~ m/ @a /
colomon just pushed the eager .perl for Iterators patch. 22:06
cognominal arf
jnthn colomon: yay
colomon jnthn: any thoughts on adding roles when augmenting? 22:07
22:07 hercynium left
jnthn rakudo: grammar Foo { regex TOP { x } }; say 'xxx' ~~ Foo 22:07
p6eval rakudo 5c9338: OUTPUT«0␤» 22:08
jnthn rakudo: grammar Foo { regex TOP { x } }; say Foo.parse('xxx')
p6eval rakudo 5c9338: OUTPUT«x␤»
jnthn rakudo: my $x = 42; grammar Foo { regex TOP { x { say $x } } }; say Foo.parse('xxx')
p6eval rakudo 5c9338: OUTPUT«Lexical '$x' not found␤current instr.: 'perl6;Foo;_block76' pc 788 (EVAL_1:300)␤»
22:09 SmokeMachine left
bkeeler Hmm, that's not good 22:10
dalek kudo: 00d8d8d | (Solomon Foster)++ | src/core/Iterator.pm:
Make .perl on Iterators eager.
masak bkeeler: new bug?
jnthn > my $x = 42; grammar Foo { regex TOP { x { say $x } } }; say Foo.parse('xxx') 22:11
42
bkeeler masak: Not sure
jnthn x
masak: I changed something in the regex code-gen just now.
masak oh, ok.
jnthn masak: And I was pretty sure we musta had a bug before.
masak: That's the bug.
I'm not sure it's made it into RT 22:12
But anyway, it's an ex-bug now.
masak oh, ok.
jnthn Just wanted to check it was wrong in current master...otherwise I wouldn't have understood my patch as well as I thought. ;-)
jnthn goes to pick a beer
22:12 lichtkind joined
renormalist Hi! Has onyone tried Perlito and is currently awake? I wanted to try it out and have problems getting it to run. 22:13
22:14 Su-Shee left
bkeeler
.oO( Is Perlito a sedative then? )
22:14
masak well, that's it for tonight. 22:15
bkeeler G'night masak
renormalist I just follow the instructions from README on a fresh cloned git repo and get "mv: cannot stat `libast-perl5': No such file or directory" and later "can't execute at mp6.pl line 373." whch is a system to 6.pl
masak see you, hopefully early, tomorrow.
jnthn o/ masak
masak \o
jnthn masak: Hope you sleep well!
masak yeah. me too. :)
bkeeler hasn't tried perlito
22:15 masak left
renormalist m'kay 22:16
sorear CokeCokeCokeCoke: Memory use compiling Rakudo has fallen from 1000MiB to 260MiB. Time use (including time spent swapping) from 12 hours to 45 minutes. 22:18
bkeeler Woot!
22:19 Juerd joined
sorear What's a brown bag? 22:20
cognominal sorear, that's a grocery bag. So a brown bag meeting is discussing while eating, each one bringing his own food. 22:22
Or, in the street, a way to hide booze :) 22:23
CokeCokeCokeCoke sorear: awesome. 22:24
(thank chromatic.)
22:26 wallberg left 22:28 pmurias left
sorear wonders how much of a win it would be to only auto-localize $[_/!] in functions that use them 22:30
CokeCokeCokeCoke cognominal: (brown bag) ah, thanks for bringing back the memories of my childhood!
bkeeler Yeah, you really have to keep the booze hidden when you're a kid 22:33
22:37 nihiliad left 22:42 lest_away is now known as lestrrat
jnthn hopes his latest tweak will fix up some $*SCOPE leakage that's causing us trouble. 22:48
TimToady jnthn: yes, routines are always installed with an & sigil in the symbol tables 22:51
and I think perhaps <foo> compiles differently if there's a lexically scoped foo visible, and gets called directly as foo($¢) rather than $¢.foo in that case 22:54
we might have to disallow postdeclaration for that 22:55
jnthn TimToady: OK, good, I went the & route. :-) 22:56
bkeeler That was my first thought too
TimToady but a lexical has to take precedence over inheritance, if we allow it at all 22:57
bkeeler That should be easy enough to implement I think
TimToady alternately, we pick a different syntax
<&foo>
bkeeler <&foo> is specced to mean <{ foo() }> right now, correct? 22:58
TimToady since <$foo> already does much the same thing with 'my $foo'
and a regex is just a routine that is always going to take its first arg as a cursor, whether it's officially the invocant or not.
22:58 pjcj left
jnthn rakudo: class A { sub x() { say 42 }; method y() { x() } }; A.new.y 22:58
p6eval rakudo 00d8d8: OUTPUT«42␤» 22:59
22:59 pjcj joined
TimToady I'm quite willing to steal the <&foo> notation to make it mean something less dynamic 23:00
jnthn Means everyone who wrote regex foo { ... } ... /<foo>/ will have to tweak the codez. 23:01
But I guess that's not the end of the world.
After all, calling a method has different syntax from calling a sub...
TimToady but it might or might not be less confusing than just overriding <foo> with the lexical meaning
jnthn rakudo: class A { my sub x() { say 42 }; method y() { x() } }; A.new.y
TimToady I can argue it both wayz
p6eval rakudo 00d8d8: OUTPUT«42␤»
jnthn TimToady: Same. :-) 23:02
TimToady but <&foo> wouldn't necessarily capture in $<foo>
while <foo> would
<&foo> is more like <.foo>
so maybe we should have <foo> ambigous, and those two forms to disambiguate
*guous 23:03
I think that likes me.
jnthn Could work
grr.
TimToady let's go with that. 23:04
jnthn There's something rotten with $*SCOPE handling somewhere.
jnthn decides to look at that one tomorrow.
colomon: ping
TimToady but presumably we only pick the lexical one if it could take a Cursor as its first arg.
jnthn TimToady: heh.
TimToady: Bit too much for us to be able to statically look at in Rakudo right now. 23:05
Chances of us supporting that soonish are low.
TimToady well, we can assume they'll behave for the moment; it'll just blow up at run time if they don't
jnthn OK, that works.
We need to have the stuff to decide it eventually, for other things too. 23:06
But may (or may not...not sure yet) be too big an ask for pre-R*.
23:06 ruoso left
TimToady I'm not gonna ask for anything pre-R* we don't need for R*...except when I want to... :) 23:07
after all, I've taken on the mantle of Chief Tormentor...
but I wouldn't want you to die too soon, now...
bkeeler feels the torment
jnthn TimToady: In package_def in STD there's: 23:09
{ $*SCOPE ||= 'our'; }
I'm not sure yet, but I fear that may be leaking to places it shouldn't. 23:10
23:10 poincare101 left, eternaleye left
jnthn As in, accidentally the method our scoped. 23:11
(now that we pay attention to such things)
23:11 Chillance left
jnthn I've got such a leakage bug, and that seems the most likely candidate ATM. I need to dig more to be sure. 23:11
Oh. Hmm. I think it may be less straightforward though. :-/ 23:12
colomon jnthn: pong 23:15
skyping with parents, may be slwo to respond
jnthn colomon: I was going to ask, did you add any extra "augment Foo does Numeric" style things yet? 23:17
colomon no
jnthn ok 23:18
Just looking at patching augment + does up 23:19
23:24 wknight8111 joined 23:25 alester left
TimToady jnthn: termish localizes $*SCOPE to '' 23:25
jnthn TimToady: Ah.
TimToady: hmm
TimToady: I missed that. 23:26
Sorry.
I'll have to try the both.
lue hello everyone!
TimToady but I'm not everyone...
jnthn Google Street View visited my home town in England! Where there's a nice pub called "The Hole In The Wall", but sadly the stitching algorithm, er, well... xrl.us/bg5zox
colomon: Yay. :-) 23:28
> say Num ~~ Real
0
> use MONKEY_TYPING; augment class Num does Real { }
> say Num ~~ Real
1
colomon \o/ 23:29
lue phenny: tell masak I don't remember making any prediction based on time trajectories. A link to the backlog would jog my memory :)
phenny lue: I'll pass that on when masak is around.
jnthn lue: No no, you made it in the future.
23:30 Limbic_Region joined
lue that explains it :) 23:30
Oh zarking, I'm in the year 3095. Better leave... (good thing I have pandimensional wireless, or else I'd be messaging a dead Freenode server :)) 23:33
23:37 xomas left 23:39 shamu__ left 23:51 snarkyboojum left
jnthn colomon: Pushed. :-) 23:52
bkeeler Pulled :) 23:54
23:55 payload left 23:56 justatheory joined
lue Heaved :) 23:56
dalek kudo: 9f829b4 | jonathan++ | src/Perl6/Actions.pm:
Factor a little bit of commonality out of method_def and regex_def. Support our method/our regex (or my) style declarations. For regexes, get handling of lexical scopes correct, as we do for methods.
kudo: 666470e | jonathan++ | src/Perl6/Compiler/Module.pm:
Declaring a regex (or method) outside of some classy thing shouldn't be an error, just a warning that gets suppressed by writing my or our.
kudo: 3576524 | jonathan++ | src/metamodel/ClassHOW.pir:
Make it possible to add extra roles with an augment.
lue I see Numeric.pm and Real.pm were created recently 23:57
jnthn Yes, by colomon++ 23:58
lue why does dalek/pugssvn always put ++ by someone's name? Is it to ensure karma? 23:59
bkeeler Pretty much
dalek++
23:59 snarkyboojum joined