»ö« 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:06 sftp left 00:07 sftp joined 00:09 rgrau joined, JodaZ left 00:16 tty234 left
sorear phenny: tell jnthn I want to add roles to niecza as my next large project. How much of RakudoRoles will survive nom? 00:28
phenny sorear: I'll pass that on when jnthn is around.
00:32 donri left 00:41 pmurias left 00:50 orafu left 00:51 allbery_b is now known as geekosaur 00:52 orafu joined 01:15 ymasory joined 01:27 stkowski left 01:37 kst left 01:51 ymasory left, TheMartianGeek joined
TheMartianGeek Hi, everyone. 01:56
I thought of something I'd like to see in Perl 6 a couple weeks ago, but I forgot what it was...
02:21 stkowski joined 02:22 stkowski left 02:25 whiteknight left 02:35 ymasory joined 02:36 leprevost joined 02:57 risou joined 03:01 sftp left 03:05 ymasory left 03:11 lue joined
lue hello world! o/ 03:11
03:12 dayangkun__ joined 03:16 dayangkun_ left 03:18 MindosCheng left 03:19 hudnix left 03:27 Su-Shee left 03:28 jaldhar joined 03:32 dayangkun joined 03:34 Su-Shee joined, sufrostico left 03:35 dayangkun__ left 03:39 envi joined 03:40 sufrostico joined 03:44 mtk left 03:52 nymacro joined, mtk joined 03:53 imamelia joined 03:54 TheMartianGeek left, imamelia is now known as TheMartianGeek
sorear TheMartianGeek: welcome back 03:54
lue: hi
dalek ecza: 22f649c | sorear++ | / (7 files):
mergeback
04:07
ecza: 1f6f287 | sorear++ | lib/CORE.setting:
Add reduced, CURSOR to Match
ecza: dbc6072 | sorear++ | / (3 files):
Grammar.parse sets $/
04:08 xinming_ joined 04:11 xinming left 04:22 silent_h_ left 04:32 mkramer1 joined 04:34 mkramer joined 04:37 mkramer1 left 04:41 nymacro left
sorear rakudo: "abc" ~~ /b/; say +$/ 04:50
p6eval rakudo 4bf132: OUTPUT«0␤»
sorear rakudo: "ab123c" ~~ /\d+/; say +$/
p6eval rakudo 4bf132: OUTPUT«123␤»
05:01 mrkodiak left
dalek ecza: 7a13f8e | sorear++ | / (2 files):
Add Cool.subst
05:08
ecza: 11b6343 | sorear++ | / (5 files):
Implement ClassHOW.can
sorear How is $*PROGRAM_NAME determined? 05:13
TimToady argv[0] 05:21
05:22 sftp joined
sorear TimToady: iow, it's only meaningful for interpreters that can be used with unix shebang functionality? 05:23
05:24 frew is now known as frooh
TimToady well, you still get argv[0] even in C programs, what's missing is an executable name that's different from program name 05:32
sorear mono run/Niecza.exe foo.pl # does $*PROGRAM_NAME have a meaningful value?
mono run/Niecza.exe -c foo.pl ; mono obj/MAIN.exe # does $*PROGRAM_NAME have a meaningful value?
TimToady well, given you'd better record foo.pl for error messages, I'd say it should 05:34
foo.pl is what the programmer thinks the program name is 05:35
sorear oh, that's easy enough then
just use the mainline's $?FILE
(except niecza currently always uses absolute paths in $?FILE)
TimToady Unix doesn't generally supply the abs path in argv[0] 05:36
sorear hence "except" 05:37
but it's close enough for now
TimToady nodnod
05:45 woosley joined 05:48 risou left
TimToady protip: do not microwave your casadia with a twist-tie under it, or your casadia will end up dominated by the unmistakable flavor of a shorted circuit that is boiling off its magic PCB smoke... 05:57
whatever tar-like adhesive they use in those things to hole the wire inside the paper really doesn't like it when the wire starts sparking in the microwave 05:59
*hold
actually, I think this was the kind with plastic, not paper 06:00
06:00 justatheory left 06:03 mkramer1 joined
TimToady you'd think you could remove the twist-tie part of it and eat the rest, but no, whatever it outgassed made the whole thing completely noxious 06:03
06:03 mkramer left
TheMartianGeek Sounds...lovely... 06:04
06:08 mkramer joined 06:09 TheMartianGeek left 06:10 mkramer1 left
dalek ecza: ec30f29 | sorear++ | / (2 files):
Implement ::> cut operator
06:15
ecza: fdfdee7 | sorear++ | / (3 files):
Add .redo .next .last .goto methods to Label
ecza: fffa4cd | sorear++ | / (2 files):
Fix labelling of for-loops
06:16 awoodland joined
sorear rakudo: for 1,2,3 -> $a, $b { say "$a|$b" } 06:19
p6eval rakudo 4bf132: OUTPUT«1|2␤Not enough positional parameters passed; got 1 but expected 2␤ in <anon> at line 2:/tmp/ptOimqu0gF␤ in main program body at line 1␤»
06:20 birdwindupbird joined 06:21 zb left 06:22 zb joined 06:59 Mowah joined 07:06 gantrixx left 07:14 makkksimal joined 07:18 makkksimal left 07:20 masak joined
masak weekend! \o/ 07:20
07:22 mkramer left, mkramer joined
masak goals for today: (1) release Yapsi. (2) blog about somthing. 07:22
07:30 mkramer1 joined 07:33 mkramer left 07:41 kanishka joined 07:45 proller left 07:46 kanishka left
sorear masak: \o/ 07:51
masak sorear: a colleague of mine tried out Niecza. he says that startup time for him is consistently on the order of one minute, and not just the first time he runs it.
is that normal?
07:53 kanishka joined, kanishka left
sorear masak: normal for 3.x under Windows 07:54
masak: there was a bug which completly broke the recompilation checker then, so the setting kept getting rebuilt 07:55
masak this seems to be Mono, though.
don't know which version.
sorear masak: if he's got v4, try having him use the -v option to see if the recompilecheck is working
masak I will relay this. thanks.
sorear must sleep 07:56
masak 'night. dream of bug-free software. 07:58
08:04 pjcj left
tadzik morning #perl6 08:06
08:07 pjcj joined 08:09 kst joined
tadzik phenny: tell sorear looks like it works, after git pull, make clean and git clean -fdx. Works fine now 08:10
phenny tadzik: I'll pass that on when sorear is around.
tadzik phenny: thanks
08:11 donri joined
masak morning, tadzik 08:22
tadzik hey masak 08:23
masak rakudo: .say for <A B> X~ <C D> 08:28
p6eval rakudo 4bf132: OUTPUT«AC␤AD␤BC␤BD␤»
masak rakudo: .say for [X~] <A B>, <C D>
p6eval rakudo 4bf132: OUTPUT«ABCD␤»
masak rakudo: .say for [X~] [<A B>], [<C D>]
p6eval rakudo 4bf132: OUTPUT«AC AD BC BD␤»
masak rakudo: my @a = [<A B>], [<C D>], [<E F>]; .say for [X~] @a 08:29
p6eval rakudo 4bf132: OUTPUT«ACE ACF ADE ADF BCE BCF BDE BDF␤»
masak rakudo: .say for [X~] [<hen man>], [<n k>], [<ing ell>] 08:33
p6eval rakudo 4bf132: OUTPUT«henning hennell henking henkell manning mannell manking mankell␤»
tadzik :) 08:37
masak this is in reference to itre.cis.upenn.edu/~myl/languagelog...00795.html 08:41
masak .STORE 08:45
08:46 kst left 08:49 nothingmuch joined, nothingmuch left
moritz good morning. 08:49
tadzik good morning moritz
08:53 JimmyZ joined 09:26 miso2217_ joined
miso2217_ rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) **\, 'and' (\w+)/ { say 'list: ', $/[0].join(' | '); say 'end: ', $/[1]; } else { say 'no match' } 09:32
p6eval rakudo 4bf132: OUTPUT«list: sugar␤end: flour␤»
miso2217_ rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** \, 'and' (\w+)/ { say 'list: ', $/[0].join(' | '); say 'end: ', $/[1]; } else { say 'no match' }
p6eval rakudo 4bf132: OUTPUT«list: eggs | milk | sugar␤end: flour␤»
miso2217_ Using Perl 6 page 95 gives this: 09:34
09:34 rgrau left
miso2217_ rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** \,'and' (\w+)/ { say 'list: ', $/[0].join(' | '); say 'end: ', $/[1]; } else { say 'no match' } 09:34
p6eval rakudo 4bf132: OUTPUT«no match␤»
09:36 mj41 joined 09:38 icwiener joined 09:39 MayDaniel joined 09:52 birdwindupbird left, donri left 09:54 JimmyZ left 10:19 MayDaniel left
colomon miso2217: the important bit in that last one is missing the space between the \, and 'and'? 10:23
rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** \ ,'and' (\w+)/ { say 'list: ', $/[0].join(' | '); say 'end: ', $/[1]; } else { say 'no match' } 10:31
p6eval rakudo 4bf132: OUTPUT«===SORRY!===␤Missing block at line 22, near "(\\w+) ** \\"␤»
colomon rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** \, 'and' (\w+)/ { say 'list: ', $/[0].join(' | '); say 'end: ', $/[1]; } else { say 'no match' }
p6eval rakudo 4bf132: OUTPUT«list: eggs | milk | sugar␤end: flour␤»
10:34 slavik1 left
masak rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** (\, 'and'?)/ { say $0.join(' | '); say $1.join(' | ') } 10:36
p6eval rakudo 4bf132: OUTPUT«eggs | milk | sugar␤␤»
masak rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** (\, | 'and')/ { say $0.join(' | '); say $1.join(' | ') }
p6eval rakudo 4bf132: OUTPUT«eggs | milk | sugar | flour␤␤»
masak hm. why aren't my separators captured in $1 above? 10:37
jnthn masak: This looks familiar... 10:38
phenny jnthn: 00:28Z <sorear> tell jnthn I want to add roles to niecza as my next large project. How much of RakudoRoles will survive nom?
jnthn masak: I think ti's a bug.
phenny: tell sorear probably just about nothing
phenny jnthn: I'll pass that on when sorear is around.
masak jnthn: do you think it's a reported bug? :) 10:39
jnthn masak: Not sure. I mostly recall working around it in the Perl 6 grammar somewhere at some point.
masak submits rakudobug
Justin TV.
er, I mean. Justin Case.
jnthn ... 10:41
miso2217_ colomon: yes I think it's a bug in the book page 95, it's minor, but worth a correction. I can do it in the book if needed.
jnthn You don't fancy some RT exploration? ;)
moritz miso2217_: want to fix it? do you have a github account? 10:42
masak rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** [(\, | 'and')]/ { say $0.join(' | '); say $1.join(' | ') }
p6eval rakudo 4bf132: OUTPUT«eggs | milk | sugar | flour␤␤»
miso2217_ the important point is the **\, and ** \, difference
masak rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** [((\, | 'and'))]/ { say $0.join(' | '); say $1.join(' | ') }
p6eval rakudo 4bf132: OUTPUT«eggs | milk | sugar | flour␤␤»
moritz stackoverflow.com/questions/5604128...arse-mimes
masak "what is that mime trying to say?" -- "here, have this Perl 6 module" 10:43
SCNR 10:44
miso2217_ moritz: I can, I comented the coment 53 you made on the book (about if (1){} ), I don't know if this is enough to commit changes?
10:45 Tedd1 joined
moritz miso2217_: the problem about the 'if' stuff is that it should go into a chapter that's not yet written 10:45
about statements and such
masak is it in a TODO list somewhere? 10:46
10:46 awoodland left
moritz miso2217_: you have commit access to the book now, feel free to fix the regex thing 10:46
miso2217_ Yes I know, I was talking just about the ** \,'and' (without space between the \, and the 'and' problem on page 95
moritz: thx. I'll fix it 10:47
moritz masak: dunno
10:58 dayangkun_ joined 11:00 dayangkun left 11:05 dayangkun joined 11:08 dayangkun_ left 11:17 noganex_ joined 11:20 noganex left 11:27 whiteknight joined, dayangkun_ joined 11:30 dayangkun left 11:32 mtk left 11:34 Su-Shee left 11:40 mtk joined 11:47 nymacro joined 11:54 Patterner left 11:56 Psyche^ joined, Psyche^ is now known as Patterner
tadzik looks like there's a market for Email::MIME for Perl 6 11:57
12:00 Axius joined 12:05 dayangkun joined 12:08 dayangkun_ left 12:20 Su-Shee joined 12:31 PacoLinux left 12:33 PacoLinux joined 12:34 Chillance joined 12:37 dayangkun_ joined 12:40 dayangkun left 12:53 slavik joined 12:57 Axius left 12:58 vuliev joined 13:11 Chillance left 13:12 Chillance joined 13:18 hudnix joined 13:23 birdwindupbird joined 13:24 pmurias joined
pmurias hi 13:24
masak hi pmurias 13:30
13:33 dayangkun__ joined 13:36 dayangkun_ left 13:47 gbacon joined 13:51 gantrixx joined 14:00 MayDaniel joined 14:02 dayangkun__ left 14:21 zby_home_ joined 14:22 rgrau joined, jferrero joined 14:28 pmurias left 14:30 colomon left 14:36 colomon joined 14:44 MindosCheng joined 14:45 TheMartianGeek joined
masak this is the first bug in quite some time that I can't describe with a one-liner. perhaps someone can help minimize or explore it? 14:46
first off, gist.github.com/908829/e9bad177e78...d4ac3400a6 (which I posted a few days ago) works nicely, and outputs 36 lines of the desired output.
but I wasn't happy with the sub at lines 11..15.
so I rewrote it as gist.github.com/908829/3af6c425a27...87009bfdaf -- much nicer
and it should be identical in function... but... 14:47
the correct 36 solutions are still output, but now they're on the same line with spaces between them.
it looks like things do when a list or array has been stringified with prefix:<~> 14:48
so maybe I'm getting a double layer of lists somewhere.
I'd be happy if someone could shed some light on this. 14:49
(for those who want to actually run the code, the 'ng-compat' branch of GGE is needed.) 14:50
14:52 Rotwang joined 14:59 pmurias joined
sorear good * #perl6 15:03
phenny sorear: 08:10Z <tadzik> tell sorear looks like it works, after git pull, make clean and git clean -fdx. Works fine now
sorear: 10:38Z <jnthn> tell sorear probably just about nothing
pmurias sorear: hi 15:05
sorear niecza: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** (\, | 'and')/ { say $0.join(' | '); say $1.join(' | ') } 15:06
p6eval niecza v4-47-gfffa4cd: OUTPUT«eggs | milk | sugar␤, | , ␤»
15:07 miso2217_ left
sorear interesting, looks like ** doesn't handle :s yet properly 15:07
jnthn: ping 15:09
pmurias sorear: i should use let and letvar for registers in nam? 15:14
sorear yes 15:16
masak oh -- gist.github.com/908829/648dd197e56...b647a2cc84 fixes my issue above. I don't understand why a .list call is necessary there, and I suspect it's a bug that it is. 15:21
15:21 am0c joined
masak further clues/insights are still very much welcome. 15:23
15:24 risou joined
moritz .list is usually necessary if the iterators somehow get mixed up otherwise 15:26
colomon I have to admit to never being able to figure out ahead of time when [ ]s and .lists will be needed. 15:34
moritz [ ] is quite easy - when you want a single item 15:35
15:35 woosley left 15:38 miso2217_ joined
TimToady rakudo still doesn't quite believe in lol, so occasionally over-lols a parcel on your behalf, I suspect 15:40
sorear jnthn: ping 15:44
jnthn sorear: pong
15:46 charmander joined 15:50 birdwindupbird left 15:52 charmander left 15:54 justatheory joined
sorear jnthn: I wish to understand roles in a 6model-like framework. 15:57
jnthn sorear: Me too :)
sorear: The stuff in NQP is my best guess so far but is only part of the answer and has issues.
If you're looking for a well thought out model to copy, then I don't have one. 15:58
I've done 3 or so implementations or roles so far. Each one has bene less wrong than the previous one, but all have not been quite right yet.
Most of the issues now related to the generic-y stuff and reifying generic type parameters. 15:59
A big mistake in Rakudo's current model is that it doesn't treat $?CLASS as generic.
The NQP one at least fixes that part.
But it makes no attempt on the full parametric role case and probably makes at least one simplification too many. 16:00
Generally though, I think it's best to see every role declaration as really declaring a "role factory" 16:01
I differentiate that at the meta-object level.
16:01 sftp left
jnthn So one meta-object for the parametric role factory will produce meta-objects for concrete instantiations of the role. 16:02
I'm quite happy with that part of the design.
TimToady and instantiations are more or less anonymous then...
though perhaps are named from within the class with MyRole::
jnthn $?ROLE at least.
TimToady well, that's from within the role 16:03
jnthn In general though, role Foo { role Bar { } } and Foo::Bar is kinda non-sneical...
TimToady in the class, you have to say which one
sorear Yes genericy stuff is a large part of where I get confused
jnthn *non-sensical
TimToady I mean naming roles more for distinguishing which method to call 16:04
jnthn Ah, that case.
Yeah, that's tricky also.
sorear jnthn: I think that makes sense. Foo::Bar is using Foo.WHO, which is shared between all instantiations
TimToady that seems to point to a concrete role somehow, at least in the abstract :)
jnthn sorear: well, I worry more over role Foo[::T] { class Bar is T { } } 16:05
sorear jnthn: role Foo { say "Hello world"; say "Hello $?CLASS" } # ?
jnthn: I think that's a compile time error. class statements run at BEGIN time and T isn't available then 16:06
jnthn sorear: I was pondering just forbidding nesting other packages within roles entirely, but maybe we can be more fine-grained too.
TimToady well, or it forces Bar to be generic as well
jnthn sorear: Role bodies run once per time you instantiate the role. 16:07
Roles bodies are more like subroutines, as opposed to class bodies which are like immediate blocks.
TimToady: That sounds...tricky...
TimToady: One important difference between roles and classes is that classes are always concrete. 16:08
TimToady just sayin' the error might be "We haven't figgered out how to implement that yet"
jnthn Big +1 to doing something conservative like that, yes.
TimToady might have to be "my class" at minimum
I just find it irritating in other langauges where the designers and implementors blame the poor programmer for wanting to do something that just isn't understood well enough yet 16:10
sorear niecza memoizes 'but'. will this be an issue?
TimToady it's intended to be memoizable 16:11
jnthn sees no problems with memoizing it
16:11 sftp joined
TimToady otherwise we get bazillions of identical anon classes floating around 16:11
sorear seems to me like Role[$arg] is just .assuming 16:12
TimToady I guess the question is how we determine identity though
sorear TimToady: the current approximation niecza uses is "$a ~~ Str && $b ~~ Str ?? $a eq $b !! False"
TimToady thinks about the difficulty of comparing sigs
sorear which is good enough to prevent a bazillion instantiations of STD::balanced 16:13
TimToady but at least the role sigs should be bound before such a comparison is necessary
the whole 'but' thing is intended to be at least as robust as Ruby's mixins 16:14
and the hope has been that all the generic stuff is orthogonal to that mixin/composition business 16:15
jnthn Rakudo has figuring out what to mix in and doing the actual mixing in of it separated out. 16:16
TimToady wonders how much longer the upgrade on appflux will take...
moritz what upgrade? 16:17
jnthn walk &
TimToady there were broadcast messages about a reboot after upgrade
and aptitude is running... 16:18
16:18 Kovensky left
TimToady considering it's been up 383 days, I'd say it's overdue for a reboot 16:18
just for security issues, if nothing else 16:19
16:19 ymasory joined
moritz 09:19:52 up 189 days, 22:11, 6 users, load average: 0.00, 0.00, 0.00 16:20
sorear moritz: host02
moritz oh
TimToady it only effects four of us though
sorear moritz: the one TimToady, diakopter, and I are IRCing from
TimToady *aff
sorear who's on fourth?
$.foo = $(self.foo); $.foo(1,2,3) = $(self.foo(1,2,3)); @.foo = @(self.foo); # Correct? 16:21
TimToady Whence is on fourth.
16:21 Kovensky joined
moritz p6eval is on 4th 16:21
16:21 jedai joined
TimToady Actually, if 4th is home plate, it would be Tomorrow, I believe. 16:22
funny, baseball is 0-based, since home plate is both 0th and 4th 16:23
diakopter TimToady: oh, graham is updating kernel/debian version 16:24
masak my @bases[4:map(*%4)];
masak submits the over-lol explanation as a rakudobug 16:25
sorear TimToady: $.foo = $(self.foo); $.foo(1,2,3) = $(self.foo(1,2,3)); @.foo = @(self.foo); # Correct? 16:26
TimToady I believe so, and I think that's what rakudo does 16:27
sorear TimToady: $!foo = $(self!foo); $!foo(1,2,3) = $(self!foo(1,2,3)); @!foo = @(self!foo); # I hold this true, jnthn does not.
"it's too elegant to be wrong" 16:28
TimToady well, I can argue it both ways, but I'd only do it your way if those sub calls are optimizable away nearly all the time 16:29
the ! calls are really subs, not methods, in my mind, and the ! attrs are intended to be as fast as possible, if not faster 16:30
sorear diakopter: do you know why there are about 150 tcp connections on host04 now?
diakopter no idea 16:31
netstat -anp |less shows much fewer than that
did you mean host02? 16:32
TimToady the $! and @! forms are intended to act as much like variables as possible; we only really need to pessimize them into an extra call when the user forces us to
it's as close as we let the user get to the repr stuff without actually calling explicit repr introspection 16:33
sorear diakopter: oh, yes I did
TimToady so, while it may be beautiful to analogize between . and !, they're really at different abstraction levels 16:34
sorear TimToady: are $!foo and @!foo references to the same slot?
TimToady I can call that one either way, depending on who we decide to confuse 16:35
16:36 awoodland joined
TimToady I'm inclined to force them into one slot 16:36
since that's what people will expect from $. semantics
but we don't have to force it the same way that $. does 16:37
this is one of those places where we're going to need all the speed we can get
so we can't really afford turtles all the way down here 16:38
does this make some sense to you? 16:39
16:39 leprevost left
sorear yes 16:41
TimToady basically, slot names have no sigils or twigils, which fits better with other languages' OO too
and . vs ! is really picking virtual vs concrete slot semantics, is all 16:42
sorear So anything that changes the behavior of $! belongs in the REPR, not the HOW? 16:46
Does that make $!foo() = $(self!foo) != $!foo ?
TimToady yes, that's what I mean about the user pessimizing it to require a call 16:50
16:50 birdwindupbird joined
sorear TimToady: is there implicitly a method !foo so that $!foo() will work? 16:50
(after has $!foo) 16:51
TimToady I think it can probably be autogenerated when the call is seen
sorear nodnod
--
What is the operational interpretation of $.x := y (or, self.x.item := $y)
?
TimToady or perhaps 'trusts' does it
same as any other variable, it just happens to be in an object instead of a lexpad, and doesn't work on native types 16:52
oh wait, you said . not ! 16:53
ENEVERENOUGHCAFFEINE 16:54
diakopter wants 'always' and 'never' somewhere in Perl 6
TimToady we have a special declaration for 'rw', maybe we need a specialer declaration for 'rebindable' 16:56
if we need more repr info from the method call that isn't available by default
sorear TimToady: how do you think $object.method() := $rhs can be implemented? 16:57
TimToady doesn't know, and doesn't care if it's NYI because TimToady doesn't know 16:58
masak 'is rb'
TimToady I almost typed that, but felt it wrested the meaning of 'r' 16:59
and probably needs better dehuffmanization in any case
it just feels like allowing rebinding is one of those things that could slow down ordinary OO significantly, so ought to be handled with declarative pessimizatoin 17:00
*ion
17:00 envi left 17:02 ymasory_ joined, ymasory left, ymasory_ is now known as ymasory, alester joined
sorear I get the feeling TimToady and I think about 'rebinding' in entirely different ways 17:02
TimToady thinks of it as little more than replacing a pointer, and wanders off to debind more of his house siding :) 17:04
masak std: my @seasons[4:map(*%4)]; 17:05
p6eval std 4608239: OUTPUT«ok 00:01 122m␤»
masak niecza: my @seasons[4:map(*%4)]; @seasons[-4..7] = 'a' .. 'l';
p6eval niecza v4-47-gfffa4cd: OUTPUT«===SORRY!===␤␤You can't adverb that at /tmp/_KN5e7uDRk line 1:␤------> my @seasons[4:map(*%4)⏏]; @seasons[-4..7] = 'a' .. 'l';␤␤Traits, postconstraints, and shapes on variable declarators NYI at /tmp/_KN5e7uDRk line 1:␤------> 17:06
..my @seasons[4…
masak thought so
shouldn't be too hard to implement.
maybe tomorrow on the plane I'll give it a shot.
jnthn sees attributes as variables that are stored in an object, rather than a lexpad or package. 17:11
@foo and $foo don't go in the same slot, and I'm rather unhappy with the notion that @!foo and $!foo would. 17:12
masak +1 17:13
jnthn $!foo() to me is just like $foo() - that is, find a thingy, and call it.
If we want to do cute stuff, it can go in method space.
In a strangely consistent way, even $.foo() is two operations - find a method foo to call and then invoke it. 17:14
pmurias sorear: $foo.foo() := was implemented in smop/mildew by returning a special object that supported .BIND 17:19
17:19 sorear left, TimToady left 17:20 sftp left, pmurias left 17:21 pmurias joined, sftp joined, MayDaniel left 17:25 rgrau left 17:36 diakopter joined 17:39 sorear joined
sorear hi 17:40
diakopter ahoy
tadzik hey
17:41 TheMartianGeek left 17:42 TheMartianGeek joined 17:53 gbacon left 18:00 Rotwang left
birdwindupbird Can one tell me how to install p6 module? 18:01
moritz birdwindupbird: see github.com/tadzik/Pies/ for an installier 18:02
18:05 TheMartianGeek left, TheMartianGeek joined
tadzik oh, testers^Wusers :) 18:10
18:12 whiteknight left, tzhs left 18:13 Axius joined
birdwindupbird tadzik: t/panda/fetcher.t .... fatal: failed to open '/home/kuku/.panda/src/Pies/t//objects': No such file or directory 18:14
18:15 birdwindupbird left
tadzik why, thanks for support 18:17
I have to do something about this. The test pass, the above fatal is from eval_dies_ok(), but everyone thinks it's a bug 18:18
phenny: tell birdwindupbird if you look closely, you notice that the tests pass. The above message is just a side effect of checking the behaviour of a doomed to fail situation, and is completely ok 18:19
phenny tadzik: I'll pass that on when birdwindupbird is around.
tadzik maybe I should diag() in tests about that
lue hello world! o/ 18:21
masak lue! \o/
18:22 imamelia joined, am0c left 18:24 TheMartianGeek left, imamelia is now known as TheMartianGeek 18:25 justatheory left 18:26 gbacon joined
tadzik hello lue! 18:28
18:35 risou left 18:39 Axius left, Axius joined 18:48 Axius left 18:49 Axius joined 18:51 kfo joined 18:54 kfo_ left, TheMartianGeek left 18:56 Axius left, Axius joined 18:58 Axius left, Axius joined 19:07 TheMartianGeek joined, s1n left 19:10 zby_home_ left 19:11 TimToady joined 19:18 TheMartianGeek left 19:19 TheMartianGeek joined
sorear TimToady: \o/ 19:24
TimToady wonders why he brought up irssi when he ought to have been getting lunch... 19:25
19:27 donri joined 19:31 gbacon left 19:34 sftp left
masak .u invisible times 19:34
phenny U+2062 INVISIBLE TIMES (⁢)
masak bad Unicode Consortium! 19:35
19:38 sftp joined
sorear why bad? 19:38
masak it's a highly personal opinion, of course. but I don't believe that is a character at all. 19:39
in 'ab', 'a' and 'b' are multiplied not because there's an invisible character between them, but because they are juxtaposed.
pmurias shouldn't all the invisible characters look the same?
sorear Has anyone here tried to use niecza with mono 2.4? 19:40
masak pmurias: yes, but that's not a problem. lots of distinct characters in Unicode can look the same.
pmurias: greek pi and math pi, for example.
pmurias masak: maybe INVISIBLE TIMES was imported into unicode from some strange character encoding 19:43
lue blag toast (some might consider it important): rdstar.wordpress.com/2011/04/09/su...de-public/ 19:45
19:45 alester left
lue My guess is INVISIBLE TIMES is there for lazy math parsers. 19:45
tadzik lue: nice!
19:46 s1n joined
moritz Mathematica treats TTIAR as a multiplication 19:47
tadzik lue: tests are failing 19:48
wklej.org/id/509442/
lue what is TTIAR?
TimToady moritz: mathematical language is well known to be parsable only by geniuses 19:49
moritz lue: Two Terms In A Row
TimToady lue: two terms in a row
moritz TimToady: mathematicians are so unbeliably lazy regarding the scope of their symbols 19:50
19:50 nymacro left
TimToady isn't everything just the scope of the current paper? 19:50
moritz ... except when it isn't 19:51
TimToady well, maybe not i, j, k..
lue tadzik: I know, that's why I finally decided to give SUPERNOVA to the world. Dealing with grammars/actions alone is !fun. Did you hear grammars are the Offical Archenemy of Me™?
moritz and variables are reused for different purposes
lue Everything's in the scope of the current paper, there are just a lot of things people have agreed upon. (I could, theoretically, use ^ to denote imaginary numbers instead of i, but I wouldn't be well-liked.) 19:52
masak I'm reading TAoCP II right now. Knuth writes very well, but I found myself being slightly bothered that he sometimes introduces new symbols/operators in his formulas right after the formulas themselves. 19:56
it's in the same sentence, even. but I'm getting to like one-pass parsing, and the style throws me off a bit. :) 19:57
19:58 alester joined
TimToady people laugh about redefining π, but then mathematicians redefine i all the time... 19:58
masak TimToady: re-reading the 'User-defined array indexing' section of S09, I realized that the first things I'd want to do would be to write a pragma to disable .[] indexing on arrays with user-defined indexes. the risk of accidentally doing .[] on such an array (and introducing a logical bug) would be too great. at least for me. 19:59
moritz also consider that $[ was deprecated in p5 20:00
TimToady mainly because it was a global
masak moritz: I can sort of see the connection, but please spell it out. :) 20:01
moritz masak: $[ held the first index of all arrays
masak moritz: I know what it is. and I see the connection to user-defined indices.
moritz: but how does it factor into disablind .[] access on .{} arrays? 20:02
moritz sorry, have to run, bbl.
masak is it an argument for or against, or neither?
TimToady he's just trying to confuse you, which would be redundant. :)
20:03 justatheory joined
masak :D 20:03
if I weren't confused, would I submit so many bug reports? 20:06
lue I once read about making π = 2π, or creating a three-pronged version of pi (which looked suspiciously like one way to write lowecase (archaic) sampi ϡ) 20:07
sbp superpi 20:08
TimToady I dunno, σ kinda looks like an unwinding circle 20:10
lue masak: wouldn't a confused person try using programs in unintended ways (to get unconfused, of course), thereby finding bugs?
(or a roll of tape σ). 20:11
moritz masak: I meant that the deprecation was another piece of evidence for the danger of user-defined array indexing 20:12
masak moritz: well, I thought we already addressed that danger by pushing the user-defined indexing off to .{} 20:14
moritz: but maybe you're saying that's not enough? that's what I'm saying.
20:14 Axius left
lue afk for a while 20:18
sorear masak: I replied to Hakan 20:22
masak great.
he's a vital driver for my set of questions and bug reports lately. I'm basically going through a backlog of things he's sent me and taking action on them. :) 20:29
20:32 snarkyboojum joined
pmurias who's Hakan? 20:38
masak a long-time user of Perl 5 with a definite interest in Perl 6. whom I have the pleasure to know. 20:42
his preferred means of communication is email, or he would be here on #perl6, I guess. 20:43
sorear masak: is he also playing with Rakudo? 20:49
masak yes, mostly. 20:50
he's currently going through the synopses and testing things. 20:51
pmurias masak: he mails you privatly? or on the mailing list? 20:55
masak the former.
20:56 justatheory left
tadzik every new user is an event :) 20:59
lue: I know more about the bug now 21:04
lue: wklej.org/id/509518/ will give you some more info, the ambient content isn't parsed. Anyway, where did you get those .listvars method? 21:05
oic 21:06
lue: okay I tracked it down. There is no @sample[3], so @sample[3].listvars crashes. If you comment that out, you are just with one failing test 21:10
masak lue: from Grammar.pm6, line 12: proto token block { {*} } # maybe {*} would be better? 21:15
lue: that comment, is it out-of-date?
lue: anyway, the code looks promising. 21:16
21:31 zer0o joined
masak 'night, #perl6 21:34
moritz \o
21:35 masak left 21:43 jaldhar left, jaldhar joined 21:52 alester left 21:54 imamelia joined 21:56 TheMartianGeek left, imamelia is now known as TheMartianGeek
sorear TimToady: after func() := $rhs; how does := know which pointer to replace? 22:04
jnthn wonders whether we're better off with binding being very primitive and fast, but more restricted in its use, or with := boiling down to a !BIND call on the LHS that we maybe can optimize away in some cases... 22:07
22:08 Rotwang joined, alester joined, takadonet joined
takadonet hey all 22:08
tadzik hey 22:09
I just thought a nice GSoC idea would be to make use of Parrot's tree-optimizer. Guess it's too late now
sorear jnthn: I vote for primitive and restricted, because being a method call is quite wrong 22:14
jnthn sorear: I'd vote the same way. 22:15
sorear jnthn: after my $x := $y; $x := 2 and $y := 2 should not be the same
nqp: my $x := 1; my $y := $x; $x := 2; say($y)
p6eval nqp: OUTPUT«1␤»
sorear rakudo: my $x := 1; my $y := $x; $x := 2; say($y)
p6eval rakudo 4bf132: OUTPUT«2␤»
jnthn goes with nqp here 22:16
You too?
sorear yes
jnthn wonders why binding in Rakudo ended up being compiled differently to in NQP...
Maybe I'll make it do the same as NQP in the nom branch and see what happens :) 22:18
22:18 alester left 22:20 mj41 left 22:23 justatheory joined 22:34 Mowah left 22:35 icwiener left, icwiener joined 22:46 [particle]1 joined 22:47 [particle] left 22:48 Sarten-X left 22:53 Chillance left 22:55 Rotwang left 22:56 arlinius left 22:59 Sarten-X joined 23:02 awoodland left 23:03 [Coke] left
sorear alpha: my $x := 1; my $y := $x; $x := 2; say($y) 23:06
p6eval alpha : OUTPUT«1␤»
sorear mildew: my $x := 1; my $y := $x; $x := 2; say($y)
p6eval mildew: OUTPUT«sh: /home/mildew/perl5/perlbrew/bin/perl: not found␤»
23:17 justatheory left 23:18 justatheory joined, Helios` joined 23:20 cotto left 23:21 cotto joined
takadonet NO!!!!! : Record separator must be a single character 23:22
damn u Parrot
takadonet shakes his fist 23:25
jnthn takadonet: Which record separator? 23:27
takadonet jnthn: "\n>"
for these fasta file format : en.wikipedia.org/wiki/FASTA_format
planning in reading one record at a time and then see if I can parse one whole record 23:28
want a lazy grammar/action
23:29 [Coke] joined
takadonet it can still work but it will be strange 23:30
23:33 TheMartianGeek left
takadonet night all 23:34
23:34 takadonet left 23:35 mtk left 23:44 mtk joined 23:50 jferrero left