»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:02 hundskatt left 00:18 spider-mario left, jaldhar joined 00:19 tyatpi joined 00:33 wolfman2000 joined 00:37 s1n left 00:40 xinming joined 00:42 spaceships joined, spaceships left 00:49 spaceships joined 00:50 s1n joined 00:53 Chillance joined 00:55 jaldhar left 01:10 araujo joined, araujo left, araujo joined 01:29 Chillance left 01:51 wknight8111 left 01:57 tyatpi left 02:16 spaceships left 02:19 wolf2k_away joined, wolfman2000 left 02:22 wolf2k_away is now known as wolfman2000 02:23 tyatpi joined 02:24 orafu left, orafu joined 02:42 leprevost left 02:54 leprevost joined
[Coke] finally gets home and can read backscroll. 02:57
... and that wasn't as interesting as he had hoped. ah well. ;) 03:04
what do I do if I want to install rakudo AND gen parrot? 03:29
(somewhere not the default) 03:30
sorear o/ [Coke] 03:31
03:31 tyatpi left
[Coke] ~~ 03:43
03:47 thou left 03:59 localhost left 04:01 localhost joined 04:09 mikemol joined 04:21 jaldhar joined 04:28 jaldhar left 04:29 sftp left, jaldhar joined, sftp joined 04:45 tyatpi joined 04:55 kaare_ joined 04:57 lestrrat left 04:58 lestrrat joined 05:04 lestrrat left 05:05 lestrrat joined 05:20 lestrrat left 05:21 lestrrat joined 05:22 sisar left 05:24 birdwindupbird joined
moritz r: say ('1a' ... *)[^5] 05:28
p6eval rakudo 45679a: OUTPUT«1a 1b 1c 1d 1e␤»
moritz r: say ('1a', '1b' ... *)[^5]
p6eval rakudo 45679a: OUTPUT«Cannot convert string to number: trailing characters after number in '1⏏b' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:9058␤ in sub infix:<-> at src/gen/CORE.setting:2381␤ in sub infix:<-> at src/gen/CORE.setting:2381␤ in block <anon> at src/gen…
05:34 lestrrat left 05:35 shevy left, lestrrat joined 05:38 sisar joined
moritz r: my $x = 4 + 2i; say $x.clone(re => 5) 05:43
p6eval rakudo 45679a: OUTPUT«Cannot assign to a non-container␤ in method clone at src/gen/CORE.setting:763␤ in block <anon> at /tmp/rwbH4rRPP8:1␤␤»
moritz r: my $x = 4 + 2i; $x = 5 + i * $x.im; say $x
p6eval rakudo 45679a: OUTPUT«5+2i␤»
05:47 shevy joined, sisar left 05:56 shevy left
moritz p6: say ('e', 'd' ... 'a') 06:35
p6eval rakudo 45679a, niecza v17-12-g8b5d5e7: OUTPUT«e d c b a␤»
..pugs: OUTPUT«*** ␤ Unexpected "'"␤ expecting operator or ")"␤ at /tmp/ZiHjeJTh5c line 1, column 19␤»
dalek ok: 36caba6 | moritz++ | src/regexes.pod:
[regex] update ** separator syntax to use % instead
06:57
tadzik good morning 07:32
phenny tadzik: 18 May 18:50Z <moritz> tell tadzik that panda's copy of JSON::Tiny needs the same fixes as upstream JSON::Tiny
07:35 sisar joined
sisar moritz++ #replying to my email ! 07:36
from Wikipedia: "In object-oriented and functional programming, an immutable object is an object whose state cannot be modified after it is created." What is 'state' of an object? 07:40
sorear the current values of fields 07:54
it's a rather primitive concept; if you want a proper explanation, I'll need to detour into operational semantics 07:55
07:58 pernatiy joined
Woodi what is operational semantics ? :) 08:01
morning everyone :)
dalek ok: bda5a7f | moritz++ | src/grammars.pod:
[grammar] update to new % regex separator syntax
08:05
08:10 hundskatt joined 08:20 cognominal left 08:21 cognominal joined, cognominal left 08:23 cognominal joined
moritz has anybody planned to make 2012.05 star release? 08:51
09:23 cognominal left, cognominal joined 09:27 NamelessTee joined 09:32 sergot joined
sergot gi o/ 09:32
hi*
sorear o/ 09:38
Woodi: I don't know of a short explanation
moritz r: my $x = 1 < 2 ?? *.succ !! *.pred; say $x(5) 09:44
p6eval rakudo 45679a: OUTPUT«6␤»
Woodi during BEGIN I do HOW.add_method, is it possible to move this creation to compile time ? 09:51
moritz erm, BEGIN *is* at compile time 09:52
Woodi oo, ok :) 09:53
moritz r: BEGIN say 'oh hai'; 1 1
p6eval rakudo 45679a: OUTPUT«oh hai␤===SORRY!===␤Confused␤at /tmp/33BOJEfdnl:1␤»
moritz you see that it executes the BEGIN block before it even tries to parse the text after it 09:54
Woodi but BEGIN is executed during precompilation, right ?
moritz sure 09:55
Woodi r: constant %h = { 'a' => 1 } 10:06
p6eval rakudo 45679a: ( no output )
Woodi r: constant %h = { 'a' => 1 }; %h.perl
p6eval rakudo 45679a: ( no output )
Woodi r: constant %h = { 'a' => 1 }; say %h.perl
p6eval rakudo 45679a: OUTPUT«{"a" => 1}␤»
10:07 zby_home_ joined
sorear sleep& 10:09
10:09 goraki joined, goraki left 10:11 goraki joined, goraki left
moritz close to where I live, there's a job opening as "open source world saviour". I wonder if Ii should apply as "Wielder of the Swiss Army Chain Saw +12" :-) 10:12
10:12 whiteknight joined, whiteknight is now known as Guest4227, [hds] joined 10:13 sisar left
[hds] morning 6s. 10:15
moritz helo [hds]
10:15 sisar joined
Woodi methods can have methods ? 10:24
perl6: class A { method b { method c { say 'c' }; self.c } }; my $a = A.new; $a.b
p6eval niecza v17-12-g8b5d5e7: OUTPUT«===SORRY!===␤␤Methods must be used in some kind of package at /tmp/wXMlx2OXl3 line 1:␤------> class A { method b { method c ⏏{ say 'c' }; self.c } }; my $a = A.new;␤␤Unhandled exception: Check failed␤␤ at /home/p6eval…
..pugs, rakudo 45679a: OUTPUT«c␤»
10:33 fridim_ joined 10:52 spider-mario joined, sergot left 11:13 JimmyZ_ joined 11:14 JimmyZ_ left 11:15 JimmyZ_ joined 11:17 JimmyZ_ left 11:18 JimmyZ_ joined 11:21 JimmyZ_ left 11:22 JimmyZ_ joined 11:25 xinming_ joined 11:26 mdupont joined 11:27 xinming left 11:29 JimmyZ__ joined 11:31 JimmyZ_ left 11:32 mdupont left 11:46 JimmyZ__ left 11:47 JimmyZ_ joined 11:49 snearch joined
felher How do i compile an run a perl6 program with nom? I tried "nom --target=pir main.pl > main.pir" and then "parrot main.pir", but i get "Missing or wrong version of dependency 'src/Perl6/World.pm". Maybe i have to set some include path? 11:53
Oh, i actually tried "~/sources/perl6/rakudo_nom/install/bin/parrot main.pir" 11:54
moritz felher: I think you can only precompile modules right now, not scripts 11:55
felher moritz: oh, okay. How do i do that? Also "nom --target=pir module.pm > module.pir"? And will they be used by nom automatically? 11:56
Hm... No, it doesn't seem to be that easy :) 12:01
12:03 jferrero left 12:07 mdupont joined 12:11 JimmyZ__ joined
moritz perl6 --target=pir --output=module.pir module.pm 12:11
and it's used automatically
12:12 JimmyZ_ left
moritz if module.pir is in path, and has a newer timestamp than the .pm file, iirc 12:12
felher moritz++ 12:26
awesome.
from 6s down to 2s startup time :)
moritz felher: github.com/masak/ufo writes makefiles for you that help you with precompilation 12:28
felher moritz: thnx :) The program is to be used in half an hour, so i'll check that out later :) 12:30
moritz felher: be sure to read the README when you have a few spare minutes 12:31
:-)
felher moritz: okay. I will :) 12:32
felher -> afk
12:56 janosik joined 13:01 NamelessTee left 13:02 NamelessTee joined 13:03 Chillance joined 13:07 Psyche^ joined 13:09 mikemol left 13:10 Patterner left, Psyche^ is now known as Patterner, mikemol joined 13:14 mikemol left 13:46 vinian joined 14:00 tyatpi left 14:03 uniejo joined 14:04 uniejo left, uniejo joined, uniejo left
gfldex masak: i think that would be nice for a challenge: www.blogcdn.com/www.engadget.com/me...ktwo-w.jpg 14:07
14:08 explorer_ joined
dalek kudo/nom: 5f7d68e | kboga++ | src/core/Str.pm:
Removes duplicated fullwidth digits in rangechar (oops, kboga--)
14:14
14:16 JimmyZ__ left 14:33 Guest4227 left 14:47 daemon left 14:49 daemon joined 15:21 icwiener joined 15:23 janosik left 15:40 sjohnson left 15:43 sisar left 15:53 sftp left, sftp joined 15:54 sjohnson joined, vinian left 15:56 sisar joined 16:14 pat_js joined 16:29 s1n left 16:32 NamelessTee left, NamelessTee joined 16:38 snearch left 16:43 s1n joined 16:44 gfldex left 16:45 gfldex joined 16:48 s1n left 16:50 lichtkind joined 16:51 PacoAir joined
lichtkind it is possible to use zero with assertion in regex jus with |c and without angle brackets? 16:51
moritz no 16:52
|c would be parsed as an alternative
16:57 sergot joined
sergot hi o/ 16:57
dalek blets: fe8092e | (Herbert Breunung)++ | docs/appendix- (3 files):
linking and explaining the cookbook appendix
16:59
17:04 s1n joined 17:06 zostay left
lichtkind moritz: thank you 17:10
17:14 plobsing joined 17:16 brrt joined 17:20 brrt left 17:26 birdwindupbird left
dalek blets: 4a4e9ef | (Herbert Breunung)++ | docs/appendix- (2 files):
calarify escape symbol pipe; moritz++
17:26
17:26 thou joined 17:28 leprevost left
lichtkind hai sergot 17:32
17:36 mucker joined 17:44 thou left
sisar masak: what happened to the Userdocs For Christmas project ? 17:47
moritz sisar: there are a few files in the docs/u4x directory in the mu repo 17:49
sisar looks
moritz it's what is rendered on doc.perl6.org/ iirc
sisar feels sad at the sorry state of perl6 documentation 17:57
moritz too 17:58
17:58 birdwindupbird joined
moritz the only constant-ish doc effort is lichtkind++'s tablets, and I think those are pretty low priority in the overall picture of what kind of docs we need 17:59
sisar :( 18:02
sisar quit 18:05
18:05 sisar left
spider-mario I am rather satisfied by perlcabal.org/syn/ 18:28
18:28 s1n left 18:38 sisar joined
lichtkind moritz: what kind you think we need? 18:40
moritz lichtkind: perldoc style docs and books
lichtkind moritz: the actual tablets are much more perldoc style then the appendices 18:41
18:43 s1n joined
sorear good * #perl6 18:44
colomon o/
19:00 havenn joined
moritz lichtkind: got an example? 19:06
19:08 s1n left
lichtkind moritz: tablets.perl6.org/tablet-2-basic-syntax.html has a bit content 19:11
19:12 plobsing left
colomon hmmm, Labenslust Polka is taking a long time to convert... bug or disturbingly complex polka? 19:17
19:22 [hds] left 19:23 s1n joined
moritz not "Lebenslust"? 19:23
Woodi I got: Cannot call 'trait_mod:<is>'; none of these signatures match: ... when trying to subclass. what it means ? 19:29
gfldex Woodi: can you gist the code in question? 19:31
moritz Woodi: probably that the parent class isn't known as a type name 19:32
colomon moritz: spelling is due to my great-great-grandfather. or possibly I just have trouble reading his handwriting. ;)
moritz phenny: "lebenslust"? 19:33
phenny moritz: "lebenslust" (de to en, translate.google.com)
moritz erm
I'd translate it as "joy of living"
gfldex "love of life" according to dict.leo.org
Woodi gfldex: cannot gist probably, it appears on use Module; 19:34
gfldex or "lust for life" 19:35
the meaning is slightly off in both cases tho
moritz r: class A { }; class B is A::X { }
p6eval rakudo 5f7d68: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Mu:U $child, Mu:U $parent)␤:(Attribute:D $attr, :rw(:$rw)!)␤:(Attribute:D $attr, :readonly(:$readonly)!)␤:(Attribute:D $attr, :box_target(:$box_target)!)␤:(Routine:D $r, :rw(:$rw)!)␤:(Rout…
moritz Woodi: like that?
gfldex Woodi: are you sure the module path is in @*INC? 19:36
19:37 kaare_ left
Woodi use Class; in Subclass movet to next problem :) 19:37
19:38 wolfman2000 left
Woodi yes, libs are ok 19:38
hmm, $!priv is not accesible in subclass ?
moritz of course not 19:39
anybody can subclass your classes
giving them access to your privates just because they declare themselves your children wouldn't be good encapsulation
Woodi not sure 19:41
but if it is that way then ok
moritz it's OK not to be sure; I'm sure for you too :-)
Woodi I think it limits code reuse... childrens classes are not quite aliens for me 19:42
moritz well, you can still create public accessors
Woodi public fields are for code outside hierarchy... 19:43
just thinking...
moritz I don't see the point
everybody who uses your code must stick to its API 19:44
what's the point in having two public but different APIs, one for inheritance, one for usage?
Woodi for me subclassing is just like write all code in class from the start, parents are just to share parts for siblings 19:45
moritz what's the point in forcing somebody to subclass to just to give them access to certain features? 19:46
Woodi: but that is bad encapsulation
Woodi encapsulations is for thing out of hierarchy
moritz Woodi: encapsulation means respecting boundaries, not just acting as if stuff was copied & pasted
no
encapsulation is for your own sanity
there's no need to limit your sanity when talking about subclassing 19:47
Woodi I am just in case I need parent as 'code inlining' :) 19:48
just want add few methods nothing more
eg. making field with socket public break encapsulation. or makes better design maybe, do not know 19:51
19:54 havenn left 19:55 pat_js left 20:04 havenn joined 20:13 mucker left 20:15 havenn left
dalek blets: 21e6fa9 | moritz++ | docs/tablet-2-basic-syntax.txt:
explain .gist
20:18
20:32 adu joined 20:34 Tedd1 left 20:35 cognominal left 20:36 cognominal joined
colomon sorear: Let my ABC program run on a big file, and got this result: gist.github.com/2732306 20:39
20:39 zby_home_ left
sorear colomon: that would be an out-of-memory error. 20:46
colomon ah
using incredible amounts of memory would probably also explain why it's so slow. 20:47
I think it may be time to rip out some long-standing ABC code which appears to be wildly inefficient. :) 20:50
20:58 birdwindupbird left
adu ok 20:59
I finally uploaded it 21:00
sergot good night o/ ! 21:02
21:02 sergot left 21:03 s1n left 21:18 s1n joined 21:21 benabik left 21:24 s1n left 21:25 benabik joined 21:28 adu left 21:39 s1n joined 21:41 kboga joined 21:43 icwiener left 21:51 s1n left 21:52 REPLeffect left 21:54 mdupont left 22:02 adu joined 22:03 colomon left 22:06 s1n joined, REPLeffect joined
adu I keep getting "Unable to obtain PAST from Regex;Match" 22:08
22:14 geistteufel left 22:15 geistteufel joined 22:17 colomon joined
adu I'm really confused 22:20
colomon backlogs
adu colomon: you're not going to find much
I've been talking to myself
colomon aduI keep getting "Unable to obtain PAST from Regex;Match"
yeah 22:21
I'm afraid I won't be much help with PAST issues.
colomon may also be called away to do work; officially he is volunteering at the Folk Society Concert this evening. But the only thing going on right now is soundchecking the feature performer. 22:22
adu github.com/andydude/dreme/blob/mas...Actions.pm
colomon Do you know where the error is happening? 22:23
adu colomon: well, almost all inputs give that
colomon huh
adu except "#[say #t]"
which I think I've handled correctly
but it says "Could not find sub sbuiltin_abuiltin_ybuiltin_" 22:24
so I don't think it's correct
colomon What is your grammar? 22:26
adu github.com/andydude/dreme/blob/mas...e/Datum.pm
colomon Have you tried testing it without the HLL:: uses? 22:28
adu yes, and I can't figure out how to use HLL::Compiler from rakudo 22:29
colomon excuse me, checking out CDs for sale
adu do you mean 'is's? 22:30
colomon yes 22:37
personally, I don't know what HLL::Compiler does
if you can get it working without that stuff, then it's just a matter of figuring out how to make HLL::Compiler work. If you know what I mean.
22:39 sisar left
adu when I test without HLL::Compiler I usually test without the actions, and so my problem is that the grammar is all I know how to write 22:39
HLL::Compiler is not very well documented, so I don't know what it does either
but I do know that all you need to do is build a PAST in your Actions, and HLL::Compiler can convert that to PIR 22:40
colomon I think most of the people who know how to do that are asleep right now.
22:41 jaldhar left
adu hmm 22:41
22:42 jaldhar joined 22:52 bacek left
colomon sorear: think I just eliminated two parses on each note processed. I'm hoping that will help my speed a bit. :) 22:57
errr, no, that didn't help at all. darn it, parses are fast in niecza. 23:11
23:12 NamelessTee left
lichtkind good night 23:12
o/
23:20 aindilis joined, fridim_ left 23:36 glen_ joined
glen_ hi there 23:36
eeee
23:37 glen_ left
colomon o/ 23:37
whoops, too late.
23:39 adu left 23:41 lichtkind left
araujo greets around 23:48
araujo goes testing the json module
23:48 spider-mario left, NamelessTee joined
tadzik good late-evening 23:50
colomon o/ 23:51
anyone know a fast p6 way of figuring out if a number is a power of two? 23:52
23:53 adu joined 23:55 colomon left
Timbus can p6 do bitwise stuff 23:55
tadzik yes 23:56
gfldex biwise operators: perlcabal.org/syn/S03.html#line_828 23:57
Timbus just found that. ty 23:58
flussence r: for ^10 { my $npot = ?$^i.fmt('%b').flip.chop.index('1'); say "$^i -> $npot" }
p6eval rakudo 5f7d68: OUTPUT«0 -> False␤1 -> False␤2 -> False␤3 -> False␤4 -> False␤5 -> False␤6 -> True␤7 -> False␤8 -> False␤9 -> False␤»
flussence r: for ^10 { my $npot = ?$^i.fmt('%b').flip.chop.index('1').defined; say "$^i -> $npot" }
p6eval rakudo 5f7d68: OUTPUT«0 -> False␤1 -> False␤2 -> False␤3 -> True␤4 -> False␤5 -> True␤6 -> True␤7 -> True␤8 -> False␤9 -> True␤»
flussence (probably not fast though...) 23:59