Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-04-09

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:06 sftp left #perl6
00:07 sftp joined #perl6
00:09 rgrau joined #perl6
00:09 JodaZ left #perl6
00:16 tty234 left #perl6
00:28 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 #perl6
00:41 pmurias left #perl6
00:50 orafu left #perl6
00:51 allbery_b is now known as geekosaur
00:52 orafu joined #perl6
01:15 ymasory joined #perl6
01:27 stkowski left #perl6
01:37 kst left #perl6
01:51 ymasory left #perl6
01:51 TheMartianGeek joined #perl6
01:56 TheMartianGeek Hi, everyone.
01:56 TheMartianGeek 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 #perl6
02:22 stkowski left #perl6
02:25 whiteknight left #perl6
02:35 ymasory joined #perl6
02:36 leprevost joined #perl6
02:57 risou joined #perl6
03:01 sftp left #perl6
03:05 ymasory left #perl6
03:11 lue joined #perl6
03:11 lue hello world! o/
03:12 dayangkun__ joined #perl6
03:16 dayangkun_ left #perl6
03:18 MindosCheng left #perl6
03:19 hudnix left #perl6
03:27 Su-Shee left #perl6
03:28 jaldhar joined #perl6
03:32 dayangkun joined #perl6
03:34 Su-Shee joined #perl6
03:34 sufrostico left #perl6
03:35 dayangkun__ left #perl6
03:39 envi joined #perl6
03:40 sufrostico joined #perl6
03:44 mtk left #perl6
03:52 nymacro joined #perl6
03:52 mtk joined #perl6
03:53 imamelia joined #perl6
03:54 TheMartianGeek left #perl6
03:54 imamelia is now known as TheMartianGeek
03:54 sorear TheMartianGeek: welcome back
03:54 sorear lue: hi
04:07 dalek niecza: 22f649c | sorear++ | / (7 files):
04:07 dalek niecza: mergeback
04:07 dalek niecza: review: https://github.com/sorear/niecza/commit/22f649c0af
04:07 dalek niecza: 1f6f287 | sorear++ | lib/CORE.setting:
04:07 dalek niecza: Add reduced, CURSOR to Match
04:07 dalek niecza: review: https://github.com/sorear/niecza/commit/1f6f28789f
04:07 dalek niecza: dbc6072 | sorear++ | / (3 files):
04:07 dalek niecza: Grammar.parse sets $/
04:07 dalek niecza: review: https://github.com/sorear/niecza/commit/dbc6072eea
04:08 xinming_ joined #perl6
04:11 xinming left #perl6
04:22 silent_h_ left #perl6
04:32 mkramer1 joined #perl6
04:34 mkramer joined #perl6
04:37 mkramer1 left #perl6
04:41 nymacro left #perl6
04:50 sorear rakudo: "abc" ~~ /b/; say +$/
04:50 p6eval rakudo 4bf132: OUTPUT«0␤»
04:50 sorear rakudo: "ab123c" ~~ /\d+/; say +$/
04:50 p6eval rakudo 4bf132: OUTPUT«123␤»
05:01 mrkodiak left #perl6
05:08 dalek niecza: 7a13f8e | sorear++ | / (2 files):
05:08 dalek niecza: Add Cool.subst
05:08 dalek niecza: review: https://github.com/sorear/niecza/commit/7a13f8e4ce
05:08 dalek niecza: 11b6343 | sorear++ | / (5 files):
05:08 dalek niecza: Implement ClassHOW.can
05:08 dalek niecza: review: https://github.com/sorear/niecza/commit/11b63438ad
05:13 sorear How is $*PROGRAM_NAME determined?
05:21 TimToady argv[0]
05:22 sftp joined #perl6
05:23 sorear TimToady: iow, it's only meaningful for interpreters that can be used with unix shebang functionality?
05:24 frew is now known as frooh
05:32 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?
05:32 sorear mono run/Niecza.exe -c foo.pl ; mono obj/MAIN.exe # does $*PROGRAM_NAME have a meaningful value?
05:34 TimToady well, given you'd better record foo.pl for error messages, I'd say it should
05:35 TimToady foo.pl is what the programmer thinks the program name is
05:35 sorear oh, that's easy enough then
05:35 sorear just use the mainline's $?FILE
05:35 sorear (except niecza currently always uses absolute paths in $?FILE)
05:36 TimToady Unix doesn't generally supply the abs path in argv[0]
05:37 sorear hence "except"
05:37 sorear but it's close enough for now
05:37 TimToady nodnod
05:45 woosley joined #perl6
05:48 risou left #perl6
05:57 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:59 TimToady 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 TimToady *hold
06:00 TimToady actually, I think this was the kind with plastic, not paper
06:00 justatheory left #perl6
06:03 mkramer1 joined #perl6
06:03 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 mkramer left #perl6
06:04 TheMartianGeek Sounds...lovely...
06:08 mkramer joined #perl6
06:09 TheMartianGeek left #perl6
06:10 mkramer1 left #perl6
06:15 dalek niecza: ec30f29 | sorear++ | / (2 files):
06:15 dalek niecza: Implement ::> cut operator
06:15 dalek niecza: review: https://github.com/sorear/niecza/commit/ec30f29ae8
06:15 dalek niecza: fdfdee7 | sorear++ | / (3 files):
06:15 dalek niecza: Add .redo .next .last .goto methods to Label
06:15 dalek niecza: review: https://github.com/sorear/niecza/commit/fdfdee704d
06:15 dalek niecza: fffa4cd | sorear++ | / (2 files):
06:15 dalek niecza: Fix labelling of for-loops
06:15 dalek niecza: review: https://github.com/sorear/niecza/commit/fffa4cdb03
06:16 awoodland joined #perl6
06:19 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 #perl6
06:21 zb left #perl6
06:22 zb joined #perl6
06:59 Mowah joined #perl6
07:06 gantrixx left #perl6
07:14 makkksimal joined #perl6
07:18 makkksimal left #perl6
07:20 masak joined #perl6
07:20 masak weekend! \o/
07:22 mkramer left #perl6
07:22 mkramer joined #perl6
07:22 masak goals for today: (1) release Yapsi. (2) blog about somthing.
07:30 mkramer1 joined #perl6
07:33 mkramer left #perl6
07:41 kanishka joined #perl6
07:45 proller left #perl6
07:46 kanishka left #perl6
07:51 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.
07:51 masak is that normal?
07:53 kanishka joined #perl6
07:53 kanishka left #perl6
07:54 sorear masak: normal for 3.x under Windows
07:55 sorear 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.
07:55 masak don't know which version.
07:55 sorear masak: if he's got v4, try having him use the -v option to see if the recompilecheck is working
07:55 masak I will relay this. thanks.
07:56 * sorear must sleep
07:58 masak 'night. dream of bug-free software.
08:04 pjcj left #perl6
08:06 tadzik morning #perl6
08:07 pjcj joined #perl6
08:09 kst joined #perl6
08:10 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.
08:10 tadzik phenny: thanks
08:11 donri joined #perl6
08:22 masak morning, tadzik
08:23 tadzik hey masak
08:28 masak rakudo: .say for <A B> X~ <C D>
08:28 p6eval rakudo 4bf132: OUTPUT«AC␤AD␤BC␤BD␤»
08:28 masak rakudo: .say for [X~] <A B>, <C D>
08:28 p6eval rakudo 4bf132: OUTPUT«ABCD␤»
08:28 masak rakudo: .say for [X~] [<A B>], [<C D>]
08:28 p6eval rakudo 4bf132: OUTPUT«AC AD BC BD␤»
08:29 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␤»
08:33 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␤»
08:37 tadzik :)
08:41 masak this is in reference to http://itre.cis.upenn.edu/~myl/languagelog/archives/000795.html
08:45 * masak .STORE
08:46 kst left #perl6
08:49 nothingmuch joined #perl6
08:49 moritz good morning.
08:49 nothingmuch left #perl6
08:49 tadzik good morning moritz
08:53 JimmyZ joined #perl6
09:26 miso2217_ joined #perl6
09:32 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␤»
09:32 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: eggs | milk | sugar␤end: flour␤»
09:34 miso2217_ Using Perl 6 page 95 gives this:
09:34 rgrau left #perl6
09:34 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 #perl6
09:38 icwiener joined #perl6
09:39 MayDaniel joined #perl6
09:52 birdwindupbird left #perl6
09:52 donri left #perl6
09:54 JimmyZ left #perl6
10:19 MayDaniel left #perl6
10:23 colomon miso2217: the important bit in that last one is missing the space between the \, and 'and'?
10:31 colomon 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+) ** \\"␤»
10:31 colomon 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«list: eggs | milk | sugar␤end: flour␤»
10:34 slavik1 left #perl6
10:36 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␤␤»
10:36 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 | flour␤␤»
10:37 masak hm. why aren't my separators captured in $1 above?
10:38 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?
10:38 jnthn masak: I think ti's a bug.
10:38 jnthn phenny: tell sorear probably just about nothing
10:38 phenny jnthn: I'll pass that on when sorear is around.
10:39 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.
10:39 * masak submits rakudobug
10:39 masak Justin TV.
10:39 masak er, I mean. Justin Case.
10:41 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.
10:41 jnthn You don't fancy some RT exploration? ;)
10:42 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(' | ') }
10:42 p6eval rakudo 4bf132: OUTPUT«eggs | milk | sugar | flour␤␤»
10:42 miso2217_ the important point is the **\, and ** \, difference
10:42 masak rakudo: if 'eggs, milk, sugar and flour' ~~ m/:s (\w+) ** [((\, | 'and'))]/ { say $0.join(' | '); say $1.join(' | ') }
10:42 p6eval rakudo 4bf132: OUTPUT«eggs | milk | sugar | flour␤␤»
10:42 moritz http://stackoverflow.com/questions/5604128/does-a-perl-6-module-for-rakudo-exist-to-parse-mimes
10:43 masak "what is that mime trying to say?" -- "here, have this Perl 6 module"
10:44 masak 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 #perl6
10:45 moritz miso2217_: the problem about the 'if' stuff is that it should go into a chapter that's not yet written
10:45 moritz about statements and such
10:46 masak is it in a TODO list somewhere?
10:46 awoodland left #perl6
10:46 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
10:47 miso2217_ moritz: thx. I'll fix it
10:47 moritz masak: dunno
10:58 dayangkun_ joined #perl6
11:00 dayangkun left #perl6
11:05 dayangkun joined #perl6
11:08 dayangkun_ left #perl6
11:17 noganex_ joined #perl6
11:20 noganex left #perl6
11:27 whiteknight joined #perl6
11:27 dayangkun_ joined #perl6
11:30 dayangkun left #perl6
11:32 mtk left #perl6
11:34 Su-Shee left #perl6
11:40 mtk joined #perl6
11:47 nymacro joined #perl6
11:54 Patterner left #perl6
11:56 Psyche^ joined #perl6
11:56 Psyche^ is now known as Patterner
11:57 tadzik looks like there's a market for Email::MIME for Perl 6
12:00 Axius joined #perl6
12:05 dayangkun joined #perl6
12:08 dayangkun_ left #perl6
12:20 Su-Shee joined #perl6
12:31 PacoLinux left #perl6
12:33 PacoLinux joined #perl6
12:34 Chillance joined #perl6
12:37 dayangkun_ joined #perl6
12:40 dayangkun left #perl6
12:53 slavik joined #perl6
12:57 Axius left #perl6
12:58 vuliev joined #perl6
13:11 Chillance left #perl6
13:12 Chillance joined #perl6
13:18 hudnix joined #perl6
13:23 birdwindupbird joined #perl6
13:24 pmurias joined #perl6
13:24 pmurias hi
13:30 masak hi pmurias
13:33 dayangkun__ joined #perl6
13:36 dayangkun_ left #perl6
13:47 gbacon joined #perl6
13:51 gantrixx joined #perl6
14:00 MayDaniel joined #perl6
14:02 dayangkun__ left #perl6
14:11 takadonet left #perl6
14:21 zby_home_ joined #perl6
14:22 rgrau joined #perl6
14:22 jferrero joined #perl6
14:28 pmurias left #perl6
14:30 colomon left #perl6
14:36 colomon joined #perl6
14:44 MindosCheng joined #perl6
14:45 TheMartianGeek joined #perl6
14:46 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 masak first off, https://gist.github.com/908829/e9bad177e78265cde76772ad0799d7d4ac3400a6 (which I posted a few days ago) works nicely, and outputs 36 lines of the desired output.
14:46 masak but I wasn't happy with the sub at lines 11..15.
14:46 masak so I rewrote it as https://gist.github.com/908829/3af6c425a2768753e63d82efd420d487009bfdaf -- much nicer
14:47 masak and it should be identical in function... but...
14:47 masak the correct 36 solutions are still output, but now they're on the same line with spaces between them.
14:48 masak it looks like things do when a list or array has been stringified with prefix:<~>
14:48 masak so maybe I'm getting a double layer of lists somewhere.
14:49 masak I'd be happy if someone could shed some light on this.
14:50 masak (for those who want to actually run the code, the 'ng-compat' branch of GGE is needed.)
14:52 Rotwang joined #perl6
14:59 pmurias joined #perl6
15:03 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
15:03 phenny sorear: 10:38Z <jnthn> tell sorear probably just about nothing
15:05 pmurias sorear: hi
15:06 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 #perl6
15:07 sorear interesting, looks like ** doesn't handle :s yet properly
15:09 sorear jnthn: ping
15:14 pmurias sorear: i should use let and letvar for registers in nam?
15:16 sorear yes
15:21 masak oh -- https://gist.github.com/908829/648dd197e56195f1cc83cdc8a6bde8b647a2cc84 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 am0c joined #perl6
15:23 masak further clues/insights are still very much welcome.
15:24 risou joined #perl6
15:26 moritz .list is usually necessary if the iterators somehow get mixed up otherwise
15:34 colomon I have to admit to never being able to figure out ahead of time when [ ]s and .lists will be needed.
15:34 uniejo left #perl6
15:35 moritz [ ] is quite easy - when you want a single item
15:35 woosley left #perl6
15:38 miso2217_ joined #perl6
15:40 TimToady rakudo still doesn't quite believe in lol, so occasionally over-lols a parcel on your behalf, I suspect
15:44 sorear jnthn: ping
15:44 jnthn sorear: pong
15:46 charmander joined #perl6
15:50 birdwindupbird left #perl6
15:52 charmander left #perl6
15:54 justatheory joined #perl6
15:57 sorear jnthn: I wish to understand roles in a 6model-like framework.
15:57 jnthn sorear: Me too :)
15:57 jnthn sorear: The stuff in NQP is my best guess so far but is only part of the answer and has issues.
15:58 jnthn If you're looking for a well thought out model to copy, then I don't have one.
15:58 jnthn 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.
15:59 jnthn Most of the issues now related to the generic-y stuff and reifying generic type parameters.
15:59 jnthn A big mistake in Rakudo's current model is that it doesn't treat $?CLASS as generic.
15:59 jnthn The NQP one at least fixes that part.
16:00 jnthn But it makes no attempt on the full parametric role case and probably makes at least one simplification too many.
16:01 jnthn Generally though, I think it's best to see every role declaration as really declaring a "role factory"
16:01 jnthn I differentiate that at the meta-object level.
16:01 sftp left #perl6
16:02 jnthn So one meta-object for the parametric role factory will produce meta-objects for concrete instantiations of the role.
16:02 jnthn I'm quite happy with that part of the design.
16:02 TimToady and instantiations are more or less anonymous then...
16:02 TimToady though perhaps are named from within the class with MyRole::
16:02 jnthn $?ROLE at least.
16:03 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...
16:03 TimToady in the class, you have to say which one
16:03 sorear Yes genericy stuff is a large part of where I get confused
16:03 jnthn *non-sensical
16:04 TimToady I mean naming roles more for distinguishing which method to call
16:04 jnthn Ah, that case.
16:04 jnthn Yeah, that's tricky also.
16:04 sorear jnthn: I think that makes sense.  Foo::Bar is using Foo.WHO, which is shared between all instantiations
16:04 TimToady that seems to point to a concrete role somehow, at least in the abstract :)
16:05 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" } # ?
16:06 sorear 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.
16:06 TimToady well, or it forces Bar to be generic as well
16:07 jnthn sorear: Role bodies run once per time you instantiate the role.
16:07 jnthn Roles bodies are more like subroutines, as opposed to class bodies which are like immediate blocks.
16:07 jnthn TimToady: That sounds...tricky...
16:08 jnthn 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"
16:08 jnthn Big +1 to doing something conservative like that, yes.
16:08 TimToady might have to be "my class" at minimum
16:10 TimToady 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?
16:11 TimToady it's intended to be memoizable
16:11 * jnthn sees no problems with memoizing it
16:11 sftp joined #perl6
16:11 TimToady otherwise we get bazillions of identical anon classes floating around
16:12 sorear seems to me like Role[$arg] is just .assuming
16:12 TimToady I guess the question is how we determine identity though
16:12 sorear TimToady: the current approximation niecza uses is "$a ~~ Str && $b ~~ Str ?? $a eq $b !! False"
16:12 * TimToady thinks about the difficulty of comparing sigs
16:13 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
16:14 TimToady the whole 'but' thing is intended to be at least as robust as Ruby's mixins
16:15 TimToady and the hope has been that all the generic stuff is orthogonal to that mixin/composition business
16:16 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...
16:17 moritz what upgrade?
16:17 jnthn walk &
16:17 TimToady there were broadcast messages about a reboot after upgrade
16:18 TimToady and aptitude is running...
16:18 Kovensky left #perl6
16:18 TimToady considering it's been up 383 days, I'd say it's overdue for a reboot
16:19 TimToady just for security issues, if nothing else
16:19 ymasory joined #perl6
16:20 moritz 09:19:52 up 189 days, 22:11,  6 users,  load average: 0.00, 0.00, 0.00
16:20 sorear moritz: host02
16:20 moritz oh
16:20 TimToady it only effects four of us though
16:20 sorear moritz: the one TimToady, diakopter, and I are IRCing from
16:20 TimToady *aff
16:20 sorear who's on fourth?
16:21 sorear $.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 #perl6
16:21 moritz p6eval is on 4th
16:21 jedai joined #perl6
16:22 TimToady Actually, if 4th is home plate, it would be Tomorrow, I believe.
16:23 TimToady funny, baseball is 0-based, since home plate is both 0th and 4th
16:24 diakopter TimToady: oh, graham is updating kernel/debian version
16:24 jedai_ left #perl6
16:24 masak my @bases[4:map(*%4)];
16:25 * masak submits the over-lol explanation as a rakudobug
16:26 sorear TimToady: $.foo = $(self.foo); $.foo(1,2,3) = $(self.foo(1,2,3)); @.foo = @(self.foo); # Correct?
16:27 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.
16:28 sorear "it's too elegant to be wrong"
16:29 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:30 TimToady 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?
16:31 diakopter no idea
16:31 diakopter netstat -anp |less  shows much fewer than that
16:32 diakopter 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
16:33 TimToady 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
16:34 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?
16:35 TimToady I can call that one either way, depending on who we decide to confuse
16:36 awoodland joined #perl6
16:36 TimToady I'm inclined to force them into one slot
16:36 TimToady since that's what people will expect from $. semantics
16:37 TimToady but we don't have to force it the same way that $. does
16:37 TimToady this is one of those places where we're going to need all the speed we can get
16:38 TimToady so we can't really afford turtles all the way down here
16:39 TimToady does this make some sense to you?
16:39 leprevost left #perl6
16:41 sorear yes
16:41 TimToady basically, slot names have no sigils or twigils, which fits better with other languages' OO too
16:42 TimToady and . vs ! is really picking virtual vs concrete slot semantics, is all
16:46 sorear So anything that changes the behavior of $! belongs in the REPR, not the HOW?
16:46 sorear Does that make $!foo() = $(self!foo) != $!foo ?
16:50 TimToady yes, that's what I mean about the user pessimizing it to require a call
16:50 birdwindupbird joined #perl6
16:50 sorear TimToady: is there implicitly a method !foo so that $!foo() will work?
16:51 sorear (after has $!foo)
16:51 TimToady I think it can probably be autogenerated when the call is seen
16:51 sorear nodnod
16:51 sorear --
16:51 sorear What is the operational interpretation of $.x := y (or, self.x.item := $y)
16:51 sorear ?
16:51 TimToady or perhaps 'trusts' does it
16:52 TimToady 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:53 TimToady oh wait, you said . not !
16:54 TimToady ENEVERENOUGHCAFFEINE
16:54 * diakopter wants 'always' and 'never' somewhere in Perl 6
16:56 TimToady we have a special declaration for 'rw', maybe we need a specialer declaration for 'rebindable'
16:56 TimToady if we need more repr info from the method call that isn't available by default
16:57 sorear TimToady: how do you think $object.method() := $rhs can be implemented?
16:58 * TimToady doesn't know, and doesn't care if it's NYI because TimToady doesn't know
16:58 masak 'is rb'
16:59 TimToady I almost typed that, but felt it wrested the meaning of 'r'
16:59 TimToady and probably needs better dehuffmanization in any case
17:00 TimToady 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 TimToady *ion
17:00 envi left #perl6
17:02 ymasory_ joined #perl6
17:02 ymasory left #perl6
17:02 ymasory_ is now known as ymasory
17:02 alester joined #perl6
17:02 sorear I get the feeling TimToady and I think about 'rebinding' in entirely different ways
17:04 * TimToady thinks of it as little more than replacing a pointer, and wanders off to debind more of his house siding :)
17:05 masak std: my @seasons[4:map(*%4)];
17:05 p6eval std 4608239: OUTPUT«ok 00:01 122m␤»
17:05 masak niecza: my @seasons[4:map(*%4)]; @seasons[-4..7] = 'a' .. 'l';
17:06 p6eval niecza v4-47-gfffa4cd: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤You can't adverb that at /tmp/_KN5e7uDRk line 1:␤------> [32mmy @seasons[4:map(*%4)[33m⏏[31m]; @seasons[-4..7] = 'a' .. 'l';[0m␤␤Traits, postconstraints, and shapes on variable declarators NYI at /tmp/_KN5e7uDRk line 1:␤------>
17:06 p6eval ..[32mmy @seasons[4…
17:06 * masak thought so
17:06 masak shouldn't be too hard to implement.
17:06 masak maybe tomorrow on the plane I'll give it a shot.
17:11 * jnthn sees attributes as variables that are stored in an object, rather than a lexpad or package.
17:12 jnthn @foo and $foo don't go in the same slot, and I'm rather unhappy with the notion that @!foo and $!foo would.
17:13 masak +1
17:13 jnthn $!foo() to me is just like $foo() - that is, find a thingy, and call it.
17:13 jnthn If we want to do cute stuff, it can go in method space.
17:14 jnthn In a strangely consistent way, even $.foo() is two operations - find a method foo to call and then invoke it.
17:18 diakopter left #perl6
17:19 pmurias sorear: $foo.foo() := was implemented in smop/mildew by returning a special object that supported .BIND
17:19 sorear left #perl6
17:19 TimToady left #perl6
17:20 sftp left #perl6
17:20 pmurias left #perl6
17:21 pmurias joined #perl6
17:21 sftp joined #perl6
17:21 MayDaniel left #perl6
17:25 rgrau left #perl6
17:36 diakopter joined #perl6
17:39 sorear joined #perl6
17:40 sorear hi
17:40 diakopter ahoy
17:40 tadzik hey
17:41 TheMartianGeek left #perl6
17:42 TheMartianGeek joined #perl6
17:53 gbacon left #perl6
18:00 Rotwang left #perl6
18:01 birdwindupbird Can one tell me how to install p6 module?
18:02 moritz birdwindupbird: see https://github.com/tadzik/Pies/ for an installier
18:05 TheMartianGeek left #perl6
18:05 TheMartianGeek joined #perl6
18:10 tadzik oh, testers^Wusers :)
18:12 whiteknight left #perl6
18:12 tzhs left #perl6
18:13 Axius joined #perl6
18:14 birdwindupbird tadzik: t/panda/fetcher.t .... fatal: failed to open '/home/kuku/.panda/src/Pies/t//objects': No such file or directory
18:15 birdwindupbird left #perl6
18:17 tadzik why, thanks for support
18:18 tadzik 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:19 tadzik 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.
18:19 tadzik maybe I should diag() in tests about that
18:21 lue hello world! o/
18:21 masak lue! \o/
18:22 imamelia joined #perl6
18:22 am0c left #perl6
18:24 TheMartianGeek left #perl6
18:24 imamelia is now known as TheMartianGeek
18:25 justatheory left #perl6
18:26 gbacon joined #perl6
18:28 tadzik hello lue!
18:35 risou left #perl6
18:39 Axius left #perl6
18:39 Axius joined #perl6
18:48 Axius left #perl6
18:49 Axius joined #perl6
18:51 kfo joined #perl6
18:54 kfo_ left #perl6
18:54 TheMartianGeek left #perl6
18:56 Axius left #perl6
18:56 Axius joined #perl6
18:58 Axius left #perl6
18:58 Axius joined #perl6
19:07 TheMartianGeek joined #perl6
19:07 s1n left #perl6
19:10 zby_home_ left #perl6
19:11 TimToady joined #perl6
19:18 TheMartianGeek left #perl6
19:19 TheMartianGeek joined #perl6
19:24 sorear TimToady: \o/
19:25 * TimToady wonders why he brought up irssi when he ought to have been getting lunch...
19:27 donri joined #perl6
19:31 gbacon left #perl6
19:34 sftp left #perl6
19:34 masak .u invisible times
19:34 phenny U+2062 INVISIBLE TIMES (⁢)
19:35 masak bad Unicode Consortium!
19:38 sftp joined #perl6
19:38 sorear why bad?
19:39 masak it's a highly personal opinion, of course. but I don't believe that is a character at all.
19:39 masak in 'ab', 'a' and 'b' are multiplied not because there's an invisible character between them, but because they are juxtaposed.
19:39 pmurias shouldn't all the invisible characters look the same?
19:40 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.
19:40 masak pmurias: greek pi and math pi, for example.
19:43 pmurias masak: maybe INVISIBLE TIMES was imported into unicode from some strange character encoding
19:45 lue blag toast (some might consider it important):  https://rdstar.wordpress.com/2011/04/09/supernova-made-public/
19:45 alester left #perl6
19:45 lue My guess is INVISIBLE TIMES is there for lazy math parsers.
19:45 tadzik lue: nice!
19:46 s1n joined #perl6
19:47 moritz Mathematica treats TTIAR as a multiplication
19:48 tadzik lue: tests are failing
19:48 tadzik http://wklej.org/id/509442/
19:48 lue what is TTIAR?
19:49 TimToady moritz: mathematical language is well known to be parsable only by geniuses
19:49 moritz lue: Two Terms In A Row
19:49 TimToady lue: two terms in a row
19:50 moritz TimToady: mathematicians are so unbeliably lazy regarding the scope of their symbols
19:50 nymacro left #perl6
19:50 TimToady isn't everything just the scope of the current paper?
19:51 moritz ... except when it isn't
19:51 TimToady well, maybe not i, j, k..
19:51 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™?
19:51 moritz and variables are reused for different purposes
19:52 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:56 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:57 masak 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:58 alester joined #perl6
19:58 TimToady people laugh about redefining π, but then mathematicians redefine i all the time...
19:59 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.
20:00 moritz also consider that $[ was deprecated in p5
20:00 TimToady mainly because it was a global
20:01 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
20:01 masak moritz: I know what it is. and I see the connection to user-defined indices.
20:02 masak moritz: but how does it factor into disablind .[] access on .{} arrays?
20:02 moritz sorry, have to run, bbl.
20:02 masak is it an argument for or against, or neither?
20:02 TimToady he's just trying to confuse you, which would be redundant.  :)
20:03 justatheory joined #perl6
20:03 masak :D
20:06 masak if I weren't confused, would I submit so many bug reports?
20:07 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:08 sbp superpi
20:10 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?
20:11 lue (or a roll of tape σ).
20:12 moritz masak: I meant that the deprecation was another piece of evidence for the danger of user-defined array indexing
20:14 masak moritz: well, I thought we already addressed that danger by pushing the user-defined indexing off to .{}
20:14 masak moritz: but maybe you're saying that's not enough? that's what I'm saying.
20:14 Axius left #perl6
20:18 lue afk for a while
20:22 sorear masak: I replied to Hakan
20:22 masak great.
20:29 masak 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:30 snarkyboojum left #perl6
20:32 snarkyboojum joined #perl6
20:38 pmurias who's Hakan?
20:42 masak a long-time user of Perl 5 with a definite interest in Perl 6. whom I have the pleasure to know.
20:43 masak his preferred means of communication is email, or he would be here on #perl6, I guess.
20:49 sorear masak: is he also playing with Rakudo?
20:50 masak yes, mostly.
20:51 masak he's currently going through the synopses and testing things.
20:55 pmurias masak: he mails you privatly? or on the mailing list?
20:55 masak the former.
20:56 justatheory left #perl6
20:59 tadzik every new user is an event :)
21:04 tadzik lue: I know more about the bug now
21:05 tadzik lue: http://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:06 tadzik oic
21:10 tadzik 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:15 masak lue: from Grammar.pm6, line 12: proto token block { {*} } # maybe {*} would be better?
21:15 masak lue: that comment, is it out-of-date?
21:16 masak lue: anyway, the code looks promising.
21:31 zer0o joined #perl6
21:34 masak 'night, #perl6
21:34 moritz \o
21:35 masak left #perl6
21:43 jaldhar left #perl6
21:43 jaldhar joined #perl6
21:52 alester left #perl6
21:54 imamelia joined #perl6
21:56 TheMartianGeek left #perl6
21:56 imamelia is now known as TheMartianGeek
22:04 sorear TimToady: after func() := $rhs; how does := know which pointer to replace?
22:07 * 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:08 Rotwang joined #perl6
22:08 alester joined #perl6
22:08 takadonet joined #perl6
22:08 takadonet hey all
22:09 tadzik hey
22:09 tadzik I just thought a nice GSoC idea would be to make use of Parrot's tree-optimizer. Guess it's too late now
22:14 sorear jnthn: I vote for primitive and restricted, because being a method call is quite wrong
22:15 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
22:15 sorear nqp: my $x := 1; my $y := $x; $x := 2; say($y)
22:15 p6eval nqp: OUTPUT«1␤»
22:15 sorear rakudo: my $x := 1; my $y := $x; $x := 2; say($y)
22:15 p6eval rakudo 4bf132: OUTPUT«2␤»
22:16 * jnthn goes with nqp here
22:16 jnthn You too?
22:16 sorear yes
22:16 * jnthn wonders why binding in Rakudo ended up being compiled differently to in NQP...
22:18 jnthn Maybe I'll make it do the same as NQP in the nom branch and see what happens :)
22:18 alester left #perl6
22:20 mj41 left #perl6
22:23 justatheory joined #perl6
22:34 Mowah left #perl6
22:35 icwiener left #perl6
22:35 icwiener joined #perl6
22:46 [particle]1 joined #perl6
22:47 [particle] left #perl6
22:48 Sarten-X left #perl6
22:53 Chillance left #perl6
22:55 Rotwang left #perl6
22:56 arlinius left #perl6
22:59 Sarten-X joined #perl6
23:02 awoodland left #perl6
23:03 [Coke] left #perl6
23:06 sorear alpha: my $x := 1; my $y := $x; $x := 2; say($y)
23:06 p6eval alpha : OUTPUT«1␤»
23:06 sorear mildew: my $x := 1; my $y := $x; $x := 2; say($y)
23:06 p6eval mildew: OUTPUT«sh: /home/mildew/perl5/perlbrew/bin/perl: not found␤»
23:14 Helios` left #perl6
23:17 justatheory left #perl6
23:18 justatheory joined #perl6
23:18 Helios` joined #perl6
23:20 cotto left #perl6
23:21 cotto joined #perl6
23:22 takadonet NO!!!!! : Record separator must be a single character
23:22 takadonet damn u Parrot
23:25 * takadonet shakes his fist
23:27 jnthn takadonet: Which record separator?
23:27 takadonet jnthn: "\n>"
23:27 takadonet for these fasta file format : http://en.wikipedia.org/wiki/FASTA_format
23:28 takadonet planning in reading one record at a time and then see if I can parse one whole record
23:28 takadonet want a lazy grammar/action
23:29 [Coke] joined #perl6
23:30 takadonet it can still work but it will be strange
23:33 TheMartianGeek left #perl6
23:34 takadonet night all
23:34 takadonet left #perl6
23:35 mtk left #perl6
23:44 mtk joined #perl6
23:50 jferrero left #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo