Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-09-04

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:03 leont I'm not sure how to deal with me «Failed to find '_testing/source1' while trying to do '.d'» error
00:05 ggherdov joined #perl6
00:06 noganex joined #perl6
00:08 vendethiel- joined #perl6
00:11 btyler joined #perl6
00:11 moritz_ joined #perl6
00:11 yukko joined #perl6
00:11 cosimo_ joined #perl6
00:13 nbrown__ joined #perl6
00:35 dj_goku has anyone ever thought about writing tests for all the code found on rosetta code for perl6?
00:35 Ben_Goldberg joined #perl6
00:36 telex joined #perl6
00:37 flussence like https://github.com/perl6/roast/tree/master/rosettacode ?
00:37 flussence there's not much to see there...
00:38 jerrycheung joined #perl6
00:38 dj_goku flussence: kind of, but all the pages.
00:43 dayangkun joined #perl6
00:47 nbrown__ joined #perl6
00:50 nbrown___ joined #perl6
00:53 japhb Gah, I'm getting myself twisted in knots.  How would you define a token that can be one or more characters, each of which can be any character except whitespace or "]"?
00:53 japhb For some reason I keep getting the syntax a little wrong and causing barfage.
00:59 firefish5000 I would think <-[ \s \] ]>+ or <![ \s \] ]>+
01:00 FROGGS_ joined #perl6
01:00 japhb THANK YOU.  God, that was finicky.
01:01 firefish5000 Your welcome, im glad i was usefull!
01:02 firefish5000 By deleting the *.moarvm created by panda durring installs, will the modules be built on every run like... usual?
01:03 firefish5000 on every perl6-m run, that is.
01:04 avuserow joined #perl6
01:23 avuserow joined #perl6
01:27 ab5tract joined #perl6
01:37 * grondilu looks at roast/rosettacode and thinks what should be done is role rosettacode { proto solve-task(|) {*}; method expected-output returns Str {...} } or somehting like that.
01:41 yeahnoob joined #perl6
01:45 pitterfumped joined #perl6
02:00 FROGGS__ joined #perl6
02:02 noganex_ joined #perl6
02:10 japhb .tell jnthn My current biggest concurrency pain is that errors that occur inside a Promise will show a backtrace starting at the .result call -- so you can't see where the actual problem occurred, only where it was *noticed*.
02:10 japhb ENOYOLEAUX
02:11 japhb (Above behavior seen on r-j, not tested on r-m yet)
02:19 chenryn joined #perl6
02:36 lastofthe left #perl6
02:51 dj_goku is there a hosted roaster website?
02:54 kaleem joined #perl6
02:57 grondilu m: (my @ = Mu) but role {}
02:57 camelia rakudo-moar cf69d8: OUTPUT«Unhandled exception: This type does not support elems␤   at src/gen/m-CORE.setting:8762  (/home/p6eval/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:REIFY:34)␤ from src/gen/m-CORE.setting:9232  (/home/p6eval/rakudo-inst-2/languages/perl6/ru…»
02:59 raiph joined #perl6
03:02 grondilu n: (my @ = Mu) but role {}
03:02 camelia niecza v24-109-g48a8de3: ( no output )
03:18 yeahnoob joined #perl6
03:18 rindolf joined #perl6
03:25 yeahnoob joined #perl6
03:26 jerrycheung joined #perl6
03:27 yeahnoob_ joined #perl6
03:28 xfix joined #perl6
03:28 xfix joined #perl6
03:29 yeahnoob_ joined #perl6
03:36 jack_rabbit joined #perl6
03:44 xenoterracide joined #perl6
03:46 dalek rakudo/nom: 70d08dd | (Rob Hoelz)++ | src/Perl6/Grammar.nqp:
03:46 dalek rakudo/nom: Convert two more END-related things in POD parsing
03:46 dalek rakudo/nom:
03:46 dalek rakudo/nom: It's finish now
03:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70d08ddb53
03:46 dalek rakudo/nom: 6869029 | (Rob Hoelz)++ | src/Perl6/Grammar.nqp:
03:46 dalek rakudo/nom: Fix paragraph and abbreviated comments
03:46 dalek rakudo/nom:
03:46 dalek rakudo/nom: Except for table comments, that is
03:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/686902999e
03:46 dalek rakudo/nom: a3228b9 | (Rob Hoelz)++ | src/Perl6/ (3 files):
03:46 dalek rakudo/nom: Fix table POD
03:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a3228b9e15
03:57 yeahnoob joined #perl6
04:05 mberends joined #perl6
04:05 ingy m: 42.chars
04:05 camelia rakudo-moar cf69d8: ( no output )
04:05 ingy m: say 42.chars
04:05 camelia rakudo-moar cf69d8: OUTPUT«2␤»
04:05 ingy that weirds me out
04:06 ingy I guess its all in the name of perl strings are numbers are strings are…
04:07 * ingy is porting a little coffeescript to p6 :)
04:16 Rudy__ joined #perl6
04:16 Rudy__ left #perl6
04:18 revdiablo joined #perl6
04:18 PlanetJelly joined #perl6
04:28 ingy m: "thingy" ~~ / (<[aeiou]> *) /
04:28 camelia rakudo-moar cf69d8: ( no output )
04:28 ingy m: say "thingy" ~~ / (<[aeiou]> *) /
04:28 camelia rakudo-moar cf69d8: OUTPUT«「」␤ 0 => 「」␤␤»
04:28 ingy m: say "thingy" ~~ / (<[aeiou]> +) /
04:28 camelia rakudo-moar cf69d8: OUTPUT«「i」␤ 0 => 「i」␤␤»
04:28 ingy why??
04:32 geekosaur at a guess, it can match with count 0 at the start
04:43 xenoterracide joined #perl6
04:45 ingy geekosaur: yeah, seems to be. thx
04:50 chenryn joined #perl6
04:55 ingy geekosaur: https://github.com/ingydotnet/pig-latin-acme/tree/master/lib/Pig
04:55 ingy take a look at https://github.com/ingydotnet/pig-latin-acme/blob/master/lib/Pig/Latin.pm6
04:55 ingy and https://github.com/ingydotnet/pig-latin-acme/blob/master/test/test.pl6
04:56 ingy it works but it's just my n00b p6 code
04:57 MikeFair joined #perl6
05:00 raiph joined #perl6
05:02 PlanetJelly Perl 6 is amazing!
05:07 virtualsue joined #perl6
05:08 kaare_ joined #perl6
05:16 grondilu m: role Foo { method WHICH { "Foo!" } }; (my %h{Foo}){1 but Foo}++; say %h.perl;  # this works fine
05:16 camelia rakudo-moar a3228b: OUTPUT«Hash[Any,Foo].new(1 => 1)␤»
05:16 grondilu m: role Foo { method WHICH { "Foo!" } }; (my %h{Foo}){[1] but Foo}++; say %h.perl;  # this doesn't
05:16 camelia rakudo-moar a3228b: OUTPUT«cannot stringify this␤  in method at_key at src/gen/m-CORE.setting:10031␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2796␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2831␤  in block <unit> at /tmp/i3Px_aFCNl:1␤␤»
05:29 * grondilu realises that Foo.WHICH can not overload Int.WHICH anyway.
05:33 [Sno] joined #perl6
05:35 sivoais joined #perl6
05:42 anaeem1_ joined #perl6
05:44 dalek rakudo/nom: e3d66c2 | TimToady++ | src/core/GatherIter.pm:
05:44 dalek rakudo/nom: use non-relocatable values for gather sentinels
05:44 dalek rakudo/nom:
05:44 dalek rakudo/nom: Presuming that Any.new.WHICH has a more stable address than [] does.
05:44 dalek rakudo/nom: Anyway, passes the same tests, so appears to be no worse.
05:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e3d66c2001
05:52 domidumont joined #perl6
05:56 gfldex joined #perl6
05:59 yeahnoob joined #perl6
06:00 virtualsue joined #perl6
06:05 darutoko joined #perl6
06:24 lizmat leont: .d return a Failure object if the path does not exist, True if it exists and it is a directory, and False if it exists and not a directory
06:25 tardisx joined #perl6
06:25 mr-foobar joined #perl6
06:26 lizmat the easiest way to check for failure of to check for definedness or boolean context
06:26 lizmat s/of/is
06:30 davido_ joined #perl6
06:30 davido_ Why is ~ used for concatenation?
06:31 nwc10 davido_: Can't use . (from Perl 5) because . is used for method calls.
06:31 grondilu m: my %h{Parcel}; %h{().Parcel}++
06:31 camelia rakudo-moar a3228b: OUTPUT«No such method 'succ' for invocant of type 'Parcel'␤  in sub postfix:<++> at src/gen/m-CORE.setting:1943␤  in block <unit> at /tmp/Lf2G3TlE7k:1␤␤»
06:31 nwc10 davido_: as to why ~ rather than something else, I'm not sure if there is an obvious something else
06:32 kaleem joined #perl6
06:32 nwc10 and for a few years early in the spec it was _ not ~
06:32 nwc10 and that was messier
06:32 yeahnoob joined #perl6
06:32 ingy but why not ' . '
06:32 ingy ?
06:32 virtualsue joined #perl6
06:32 nwc10 _ was a pain because significant whitespace was needed
06:32 ingy 'foo . bar' is error
06:32 TimToady because it's better this way :)
06:33 nwc10 also, I suspect that TimToady prefers golfers to Guido
06:33 nwc10 or his inner self does
06:33 TimToady but mainly because ~ looks like a piece of string
06:34 ingy TimToady: can you do a quick review of https://github.com/ingydotnet/pig-latin-acme/blob/master/lib/Pig/Latin.pm6
06:34 ingy for me and davido_
06:35 TimToady you should use .words instead of .split, esp since I just made it 6 times faster
06:36 ingy I'll see if my old p6 supports it
06:36 TimToady also join(' ') can just be .Str, or prefix ~
06:36 TimToady there's that string again...
06:36 ingy but also since the point is mostly ports between 10 langs, not sure I want it
06:37 TimToady it's terribly imperative, from an FP point of view :)
06:37 ingy cool
06:38 ingy also is there a better way to https://github.com/ingydotnet/pig-latin-acme/blob/master/test/test.pl6#L1 ?
06:38 TimToady also, stylewise, if you use .map: you don't need the ); at the end
06:38 ingy .map seemed to require (
06:38 TimToady see the colon there
06:38 mr-fooba_ joined #perl6
06:38 ingy are you saying I can have ( and not )?
06:39 Timbus .map does, .map: doesnt
06:39 ingy k
06:39 TimToady doesn't use lib 'lib' work?
06:39 ingy that's nice
06:39 ingy no
06:39 ingy well not here
06:39 ingy let me get a --version
06:39 TimToady well, you'd have to ask lismat++
06:39 TimToady *z
06:40 ingy forgive this: This is Rakudo Perl 6, version 2011.07 built on parrot 3.6.0 0
06:40 Timbus omg
06:40 TimToady um...
06:40 nwc10 it's a package from a distro?
06:40 ingy what's the cool way to install a new p6 quick
06:40 Timbus take that to a museum
06:40 TimToady rakudobrew maybe
06:40 FROGGS morning
06:41 sergot hi o/
06:41 TimToady or just clone the github repo
06:42 Timbus git clone rakudo; perl Configure.pl --gen-moar; make install
06:42 FROGGS firefish5000: a normal perl6-m run does not create .moarvm files... only when you set --target=mbc and --output=path/to/file.pm.moarvm
06:45 ingy Timbus: ☺
06:46 ingy building 4014-08 ★
06:47 Timbus let us know how it runs after 2000 years of improvement :P
06:47 FROGGS I'd like to know what backend is in use in 2k years :o)
06:48 Timbus 2-bit computer compatibility layer
06:48 ingy :P
06:48 Timbus base 2* computer
06:49 ingy Timbus: does `make install` install next to the `perl` that did the Configure.PL?
06:49 ingy .pl
06:49 * ingy hopes so
06:49 TimToady no, merely installs in install/bin
06:49 Timbus it installs into a local folder
06:50 TimToady you can make a symlink to that if you like
06:50 Timbus i made a symlink to it in one of my /bin folders
06:50 Timbus .. there is an echo in here,
06:50 ingy that's so ghetto :\
06:51 dayangkun joined #perl6
06:51 TimToady we've had a lot of trouble with people running old versions :P
06:51 Timbus self contained programs are non-ghetto in linux, these days
06:51 ingy I remember working to solve this with you guys like 4000 years ago
06:52 moritz_ ingy: you can configure a --prefix
06:53 ingy moritz_: it should default to next to the perl used (imho)
06:53 moritz_ ingy: nope; many folks don't have the permessions to do that
06:54 moritz_ ingy: and since you need "make install" to use perl6 from outside the build directory, defaulting to somewhere you can write to is essential
06:55 ingy you could certainly check the writability, and say 'please use --prefix'
06:55 ingy like cpanm would do
06:55 ingy or about anything else
06:56 ingy I'll gripe about this another time
06:56 ingy too late now
06:57 TimToady or maybe too early :)
07:00 ingy $ /home/ingy/bin/perl6
07:00 ingy /home/ingy/bin/perl6: 2: exec: /home/ingy/rakudo-star-2014.08/install/bin/moar: not found
07:01 ingy I used: perl Configure.pl --backend=moar --gen-moar; make install
07:02 zakharyas joined #perl6
07:02 ingy grr. the install dir is non-relocatable?
07:04 FROGGS yes
07:05 ingy working now.
07:06 * ingy tries in vain to harness the pain
07:06 ingy but it melts away :[
07:06 yeahnoob joined #perl6
07:07 FROGGS I just extend my PATH to /home/froggs/dev/rakudo/install/bin...
07:07 FROGGS so that I can rename the rakudo dir in case I test a star release
07:08 FROGGS I don't favor symlinks from /usr/local/bin/ for that reason
07:09 FROGGS but I often have different versions of rakudo on my box, and others might stick longer to the same compiler version, or at list stick to only one version at a time
07:10 FROGGS would be nice if a bunch of packagers would join our midst :/
07:10 grondilu m: my %h{Parcel}; %h{().Parcel} += pi; say %h.keys;
07:10 camelia rakudo-moar e3d66c: OUTPUT«Nil␤»
07:10 grondilu m: my %h{Parcel}; %h{().Parcel} += pi; say %h.values;
07:10 camelia rakudo-moar e3d66c: OUTPUT«Nil␤»
07:11 grondilu ^can't I use an empty parcel as key?
07:11 grondilu m: (my %h{Parcel}){().Parcel} = pi; say %h.values;
07:11 camelia rakudo-moar e3d66c: OUTPUT«Nil␤»
07:12 FROGGS I thought only strings are supported atm as keys...
07:12 grondilu it's quite recent
07:13 FROGGS m: (my %h{Parcel}){(42,)} = pi;
07:13 camelia rakudo-moar e3d66c: OUTPUT«cannot stringify this␤  in method at_key at src/gen/m-CORE.setting:10031␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2796␤  in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:2836␤  in block <unit> at /tmp/bcTw0V8Ida:1␤␤»
07:14 grondilu m: say (my %h{Parcel}){$(42,)} = pi;  # you need to itemize
07:14 camelia rakudo-moar e3d66c: OUTPUT«3.14159265358979␤»
07:15 grondilu hum
07:15 grondilu that gave me this idea:
07:15 grondilu m: say (my %h{Parcel}){$(Nil,)} = pi;
07:15 camelia rakudo-moar e3d66c: OUTPUT«3.14159265358979␤»
07:15 grondilu m: (my %h{Parcel}){$(Nil,)} = pi; say %h.values
07:15 camelia rakudo-moar e3d66c: OUTPUT«3.14159265358979␤»
07:16 grondilu FROGGS++ :)
07:16 FROGGS ahh :o)
07:17 FROGGS m: my %h{Parcel}; %h{().Parcel.item} += pi; say %h.keys
07:17 camelia rakudo-moar e3d66c: OUTPUT«␤»
07:17 FROGGS m: my %h{Parcel}; %h{().Parcel.item} += pi; say %h.values
07:17 camelia rakudo-moar e3d66c: OUTPUT«3.14159265358979␤»
07:17 FROGGS okay
07:22 DarthGandalf joined #perl6
07:23 grondilu that's actually better since $(Nil,) is actually not empty
07:23 grondilu m: say .elems for $(Nil,), ().Parcel.item
07:23 camelia rakudo-moar e3d66c: OUTPUT«1␤0␤»
07:24 yoleaux joined #perl6
07:32 virtualsue joined #perl6
07:32 ingy TimToady: have a look at https://github.com/ingydotnet/pig-latin-acme/blob/master/lib/Pig/Latin.cafe for comparison. The only thing I like better about Perl6 over CafeScript is that Perl6 actually exists :)
07:33 ingy the idea is to see if we can gen all the langs from .cafe
07:33 * ingy heads to bed before #perl6 shoots him full of holes…
07:36 * moritz_ has a chronical dislike for languages that don't have explicit variable declarations
07:37 Timbus the exact same thing written in the exact same way in two not-exact-same languages
07:40 ingy Timbus: I don't grok the implicit statement I suspect you were making
07:44 Timbus ingy, all you are comparing is syntax, not really expressiveness or structure. i cant see 'the difference' in the languages here
07:45 FROGGS yeahnoob: have you seen that TimToady++ was able to make .comb (what .words uses) about sic times faster? this will make your original code faster, though I guess it won't be faster than the grammar version
07:46 Timbus i thought he just made .words faster by not using .comb
07:46 FROGGS ohh
07:46 FROGGS Timbus: yes of course, you are right
07:46 yeahnoob oh? I will try it. Just replace ".words" with ".comb" ?
07:46 yeahnoob U should know im a 100% newbie
07:47 Timbus no, use .words
07:47 FROGGS .words is faster now
07:47 bjz joined #perl6
07:47 yeahnoob ohaha
07:47 FROGGS so you would have to installed the latest rakudo compiler...
07:47 FROGGS but you are using rakudo star, correct?
07:48 yeahnoob rakudo-star yes
07:48 ingy Timbus: I'm not making any syntax comparisons. That's not the point of the repo. The point is porting a program (that uses common OO idioms) around to different common OO languages to see what information would be needed to generate all of them.
07:48 yeahnoob for a noob, it's hard to use the newest rakudo on github's head version
07:49 SamuraiJack joined #perl6
07:49 FROGGS yeahnoob: yeah, that I'd say you stick to the grammar version :o)
07:49 ingy &
07:51 yeahnoob IS the grammar syntax  more lower level than .words in Perl 6?
07:51 domidumont joined #perl6
07:52 FROGGS yeahnoob: it is just a different approach
07:52 yeahnoob Ola
07:52 FROGGS grammars are so powerful, clean and nice to write that I cannot call them low level
07:52 FROGGS but it fits the task better
07:53 yeahnoob FROGGS: I see that now.:)
07:54 FROGGS because in the other approach you fetched lines... and that is pretty expensive because we read a chunk, search for the newline character(s), then read another chunk or split what we have and remember the remaining chars for the next line to concat them...
07:55 FROGGS pretty expensive operation...
07:56 bjz joined #perl6
08:02 grondilu joined #perl6
08:04 kurahaupo joined #perl6
08:06 lizmat commute to Swiss Perl Workshop&
08:06 yoleaux 3 Sep 2014 23:01Z <japhb> lizmat: I saw your benchmark in the comments for the List.ACCEPTS optimization.  Care for a perl6-bench commit bit?  :-)
08:06 colomon joined #perl6
08:06 lizmat .tell japhb I'll take a bit  :-)
08:06 yoleaux lizmat: I'll pass your message to japhb.
08:07 domidumont joined #perl6
08:08 moritz ... in a bit
08:09 moritz multi method grep(Mu $test) is rw {
08:09 moritz self.map({ $_ if $_ ~~ $test });
08:09 moritz }
08:09 moritz LHF: check if this can be optimized to    self.map({ $_ if $test.ACCEPTS($_) })
08:09 moritz and benchmark if it makes any difference
08:10 fhelmberger joined #perl6
08:10 moritz same with grep-index, first etc.
08:11 moritz in fact, it'd seem to me that all instances of ~~ in src/core/Any could be replaced either with .ACCEPTS or with nqp::istype()
08:11 yeahnoob FROGGS: I think what you said about the grammar should be added into the "Using Perl6" book.
08:11 colomon joined #perl6
08:12 FROGGS yeahnoob: would you mind taking care of that?
08:14 yeahnoob But English is not my native language. I'm in China, only Chinese very well...so...
08:14 moritz as far as I am concerned, "Using Perl 6" is dead, and new doc efforts should go to doc.perl6.org
08:14 moritz though I won't stop anybody from contributing anywhere
08:15 yeahnoob FROGGS: my english = "chinese-style english" everywhere;
08:17 nine yeahnoob: documentation in non-native English is better than no documentation. It's much easier to improve existing documentation than to write new.
08:20 ab5tract joined #perl6
08:24 jimmyz joined #perl6
08:24 jimmyz yeahnoob: 您好 :P
08:25 jimmyz yeahnoob: 北京 杭州?
08:25 yeahnoob jimmyz: Let's change #perl6 to chinese channel. :)  我在成都。您好:)
08:25 jimmyz
08:26 moritz if you bring in 1 billion perl 6 hackers, by all means :-)
08:26 moritz (or even a million would do for a start :-)
08:26 jimmyz 这里有几个中国人
08:27 jimmyz
08:31 yeahnoob Chinese people love QQ all the time, but not IRC channel.
08:31 xiaomiao which is good ;)
08:32 nine yeahnoob: everybody loves "some crappy, proprietary, centralized messaging service" all the time, but not IRC channel...
08:33 xiaomiao nine: that crappy proprietary thing supports UTF-8 cleanly and has a mobile phone client
08:34 FROGGS my irc clients do utf8 properly, and I've also got a phone client
08:34 nine xiaomiao: both true for IRC AFAICT. At least I could see (not read) your UTF-8 characters and there's plenty of mobile clients.
08:34 xiaomiao nine: well, IRC servers are encoding-agnostic, and IRC clients ... hrm ...
08:35 moritz IRC clients do whatever they please
08:38 xiaomiao yes, so the results are mostly undefined
08:40 moritz though detecting well-formed UTF-8 is pretty easy
08:40 moritz so many clients get that right
08:40 moritz as do the logs: http://irclog.perlgeek.de/perl6/2014-09-04#i_9295629
08:41 jimmyz 你们离题了。。。
08:42 xiaomiao moritz: hmm, looking at e.g Thunderbird suggests that UTF* is a highly complex experimental thing that no one can implement completely
08:44 dakkar joined #perl6
08:46 jimmyz 不是关于 Perl 6 的主题争论,不应该在这里吧 :)
08:55 woolfy left #perl6
08:58 * nwc10 wonders how much Chinese jnthn has managed to pick up
09:00 FROGGS nwc10: depends on the size of the car I'd say
09:02 chenryn joined #perl6
09:02 donaldh joined #perl6
09:14 Ven joined #perl6
09:16 Ven o, #perl6
09:22 nwc10 FROGGS++
09:38 dalek ecosystem: 95b8739 | grondilu++ | META.list:
09:38 dalek ecosystem: Adding Clifford
09:38 dalek ecosystem:
09:38 dalek ecosystem: Geometric Algebra module.  Works fine locally on a recent MoarVM, and is actually quite fast when compared to version 0.2.3, so I add this version 0.3.0
09:38 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/95b8739339
09:38 grondilu ^ so I added this.  I didn't want to add previous versions because it was slow and buggy.  But this one seems to work fine.
09:39 woshty joined #perl6
09:45 Ven .tell hoelzro https://github.com/grondilu/clifford/blob/master/lib/MultiVector.pm6#L5 :(
09:45 yoleaux Ven: I'll pass your message to hoelzro.
09:45 Ven grondilu++
09:46 denis_boyun joined #perl6
09:49 domidumont joined #perl6
09:51 virtualsue joined #perl6
09:55 timotimo o/
09:57 FROGGS "good morning" timotimo :P
09:57 timotimo :\
09:57 timotimo could be better
09:57 FROGGS grondilu++
09:58 tadzik why the quotes, it is before noon :)
09:58 FROGGS hehe
09:58 timotimo thank you tadzik :)
09:58 FROGGS timotimo: just turn it into a good day instead :o)
09:58 timotimo will try my best
10:00 FROGGS "Do. Or do not. There is no try." - a Jedi
10:01 Ven "stop smoking pot" - said jedi's teacher
10:02 spider-mario joined #perl6
10:02 timotimo linux is "no matter what you do, you can always find a Hard Way to do it"
10:02 timotimo timo is "let's do it the hard way! it'll be more elegant!"
10:03 Ven "Ohhh. Great philosopher. Pseudo-philosophical discussions does not make one great."
10:03 Ven - yoda
10:03 FROGGS timotimo: I usually do the very easy way and maybe improve it later :o)
10:05 spider-mario joined #perl6
10:16 timotimo there is no "later" in this case :)
10:23 colomon NativeCall does not seem to have fixed itself.
10:23 FROGGS no
10:24 timotimo that would have been nice ...
10:34 grondilu .oO( subset Tuple of Parcel where { not [or] @$_ »~~» Scalar } )
10:34 grondilu m: subset Tuple of Parcel where { not [or] @$_ »~~» Scalar }; say $_ ~~ Tuple for $(1, 3), $(^10), $(my @ = 4, 5)
10:34 camelia rakudo-moar e3d66c: OUTPUT«True␤False␤False␤»
10:35 grondilu m: subset Tuple of Parcel where { not [or] @$_ »~~» Scalar }; say $_ ~~ Tuple for $(1, 3), $(^10,), $(my @ = 4, 5)
10:35 camelia rakudo-moar e3d66c: OUTPUT«True␤True␤False␤»
10:35 grondilu m: subset Tuple of Parcel where { not [or] @$_ »~~» Scalar }; say $_ ~~ Tuple for $(1, 3), $(^10,), $(my @ = 4, 5), $(my $ = 43, 42)
10:35 camelia rakudo-moar e3d66c: OUTPUT«True␤True␤False␤True␤»
10:37 grondilu my $p = $(my $ = 1, 5); say $p.WHICH; say $p »~~» Scalar
10:37 grondilu m: my $p = $(my $ = 1, 5); say $p.WHICH; say $p »~~» Scalar
10:37 camelia rakudo-moar e3d66c: OUTPUT«Parcel|(Scalar|67314928)(Int|5)␤False False␤»
10:37 grondilu m: my $p = $(my $ = 1, 5); say $p.WHICH; say $p[0] ~~ Scalar
10:37 camelia rakudo-moar e3d66c: OUTPUT«Parcel|(Scalar|65143832)(Int|5)␤False␤»
10:38 grondilu ^ seems wrong
10:39 moritz m: my $p = $(my $ = 1, 5); say $p.WHICH; say $p[0].VAR ~~ Scalar
10:39 camelia rakudo-moar e3d66c: OUTPUT«Parcel|(Scalar|82195512)(Int|5)␤True␤»
10:39 grondilu m: my $p = $(my $ = 1, 5); say $p.WHICH; say $p[0].WHICH
10:39 camelia rakudo-moar e3d66c: OUTPUT«Parcel|(Scalar|58115080)(Int|5)␤Int|1␤»
10:44 leont joined #perl6
10:48 grondilu m: say (my $ = 1).WHICH
10:48 camelia rakudo-moar e3d66c: OUTPUT«Int|1␤»
10:48 telex joined #perl6
10:48 FROGGS m: class X::Foo is Exception { method message { "bar" } }; say X::Foo.new # is it meant to fail like that?
10:48 camelia rakudo-moar e3d66c: OUTPUT«bar␤␤Error while creating backtrace: Op 'backtrace' needs an exception object␤  in method new at src/gen/m-CORE.setting:11652␤  in method backtrace at src/gen/m-CORE.setting:11803␤  in code  at src/gen/m-CORE.setting:11813␤  in method gist at s…»
10:58 leont What is the way to do private methods? «my method» no longer seems to work as I expected to… (it worked a year ago when I last touched this code)
10:59 masak leont: method !foo
10:59 masak leont: and then $obj!foo
10:59 grondilu S12:235
10:59 synopsebot Link: http://perlcabal.org/syn/S12.html#line_235
11:00 leont That's why I tried, but I'm getting an "attribute not not declared" exception
11:01 masak m: class C { method !foo { say "OH HAI" }; method bar { self!foo } }; C.new.bar
11:01 camelia rakudo-moar e3d66c: OUTPUT«OH HAI␤»
11:01 masak works for me :)
11:01 leont Ah, yes that works for me
11:01 masak suggest doing it that way, then ;)
11:02 leont It seems the $.method syntax doesn't extend to $!method, which is what I had expected
11:02 masak it doesn't.
11:02 masak in fact, those are two namespaces, so you can have `$!attr` and `method !attr` at the same time.
11:07 masak m: class C { has $!foo = "wow!"; method !foo { say "lol!" }; method bar { say $!foo; self!foo } }; C.new.bar
11:07 camelia rakudo-moar e3d66c: OUTPUT«wow!␤lol!␤»
11:10 carlin was someone investigating the NativeCall test failure? It's caused a lot of fallout in the smoketests by the looks of things
11:13 anaeem1_ joined #perl6
11:19 FROGGS carlin: I was
11:19 FROGGS it is due to the Parcel patches
11:32 chenryn joined #perl6
11:33 pmurias joined #perl6
11:35 pmurias masak: re choosing the editor to integrate things the grammar creation support into, the hard part won't be choosing the editor that has the avalible hooks, but choosing one that all the various Perl 6 programmers are fine with using
11:36 masak pmurias: (a) there is no such editor, (b) I don't see why that has to be a criterion. :)
11:37 domidumont joined #perl6
11:39 timotimo my desktop boots again!
11:40 chenryn joined #perl6
11:46 * colomon doesn't put his books on the desktop
11:46 colomon *boots
11:46 colomon sigh.  nothing like ruining a terrible joke with a typo
11:46 Gruber joined #perl6
11:47 nebuchad` joined #perl6
11:48 gtodd1 joined #perl6
11:49 bjz joined #perl6
11:50 erdic_ joined #perl6
11:50 exodist_ joined #perl6
11:50 timotimo :)
11:50 bcode joined #perl6
11:51 bcode joined #perl6
11:51 khisanth_ joined #perl6
11:51 daxim joined #perl6
11:54 bcode joined #perl6
11:54 FROGGS *g*
11:55 hoelzro Ven: wow, that's a bad one
11:55 yoleaux 09:45Z <Ven> hoelzro: https://github.com/grondilu/clifford/blob/master/lib/MultiVector.pm6#L5 :(
11:55 hoelzro morning #perl6
11:56 moritz panda bootstrap is broken here, with latest rakudo + nqp + moar
11:57 moritz http://perlpunks.de/paste/show/5408539f.531a.82
11:57 moritz I'd guess the parcel flattening change has caused some dependency calculation thingy to fail
11:58 moritz or.. something
11:58 moritz wait, it actually compiled it correctly
11:58 moritz ah no, my panda is too old. Never mind
11:58 moritz all is well.
11:59 timotimo phew.
12:12 timotimo japhb: do you think http://www.flotcharts.org/ could be an interesting alternative to jqplot?
12:14 PerlJam Good morning all
12:16 timotimo .tell japhb http://www.flotcharts.org/ seems to be a quite nice plotting library for javascript and it seems to be in more active development than jqplot
12:16 yoleaux timotimo: I'll pass your message to japhb.
12:26 Rotwang joined #perl6
12:29 amkrankruleuen joined #perl6
12:29 amkrankruleuen joined #perl6
12:36 moritz am I correct in assuming that CArray doesn't know its own length?
12:36 xenoterracide joined #perl6
12:37 moritz m: sub a(*@a) { say @a.perl }; say a 1..5
12:37 camelia rakudo-moar e3d66c: OUTPUT«Array.new(1, 2, 3, 4, 5)␤True␤»
12:44 PerlJam I got the impression from the one line description in ops.markdown that nqp::replace() would modify its first arg (the string), but reality seems to differ.  Is there an op that will modify a string in-place?
12:45 moritz I'm pretty sure there isn't
12:45 moritz because parrot at least has immutable strings
12:50 dalek nqp: aa79786 | duff++ | docs/ops.markdown:
12:50 dalek nqp: Improve description of nqp::replace
12:50 dalek nqp: review: https://github.com/perl6/nqp/commit/aa797861e1
12:51 dalek zavolaj: f923faf | moritz++ | lib/NativeCall.pm6:
12:51 dalek zavolaj: fix nativecast test failures
12:51 dalek zavolaj:
12:51 dalek zavolaj: since the built-in slicing does not like our CArray, provider our
12:51 dalek zavolaj: own (potentially slicing) multi postcircumfix:<[ ]>.
12:51 dalek zavolaj:
12:51 dalek zavolaj: No idea if this is the right fix. Maybe TimToady++ has a better idea.
12:51 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/f923faf5e8
12:53 moritz eeks
12:53 sergot moritz++
12:53 moritz I made other tests fail :(
12:53 moritz # expected: 23.45
12:53 moritz # got:      23.45
12:54 [Coke] O_o
12:54 sergot o0
12:54 moritz why, thank you very much
12:54 [Coke] PerlJam++ nqp docs!
12:55 sergot moritz: cant we do this somehow in the .t file?
12:55 moritz sergot: do what?
12:55 sergot override [] postcircumfixes
12:55 moritz sergot: that doesn't fix it in other user's code
12:56 sergot umm, right, shame on me
12:56 moritz oh, I see what the problem is
12:57 moritz 23.45 is actually a one-element parcel containing that number
12:57 moritz and that numifies to 1
12:57 moritz but stringifies to 23.45
12:59 moritz m: say Range ~~ Positional
12:59 camelia rakudo-moar e3d66c: OUTPUT«True␤»
12:59 moritz m: say Range ~~ Iterable
12:59 camelia rakudo-moar e3d66c: OUTPUT«True␤»
12:59 kurahaupo joined #perl6
13:01 dalek zavolaj: 62c5f9d | moritz++ | lib/NativeCall.pm6:
13:01 dalek zavolaj: Fix tests
13:01 dalek zavolaj:
13:01 dalek zavolaj: turns out that we must not return a Parcel for a single-element slice/array access
13:01 dalek zavolaj: review: https://github.com/jnthn/zavolaj/commit/62c5f9d885
13:02 SamuraiJack joined #perl6
13:03 PerlJam moritz: Why *mustn't* we return a Parcel for a single-element slice?  That seems like the right thing to me.
13:06 colomon PerlJam: I'm guessing because it adds overhead for by far the most common case?
13:06 [Coke] just saw many methods doing that dance in Str yesterday. if multiple return values, something listy, but a single value? return the item only
13:07 [Coke] er, that's a slightly different dance, looking at the patch
13:08 PerlJam Still ... both dances feel wantarray-ish to me and that feels wrong.
13:09 FROGGS moritz++ # it took me hours and I was searching in a complete different direction :o(
13:09 lastofthe joined #perl6
13:09 colomon moritz++
13:10 * FROGGS is happy
13:13 SamuraiJack_ joined #perl6
13:13 leont Hmmmm, IO::Pipe isn't implemented yet? That's a bummer
13:14 PhilH left #perl6
13:14 philh_ joined #perl6
13:17 leont And shouldn't there be a list form of shell?
13:18 leont (or would that be called differently
13:18 leont )
13:18 colomon leont: taking a list of command line arguments?
13:18 leont Yes
13:18 leont Because quoting correctly is a PITA, and you're likely to do it wrong
13:18 colomon makes sense to me
13:18 moritz m: say (42, ) + 1 # for PerlJam
13:18 camelia rakudo-moar e3d66c: OUTPUT«2␤»
13:18 * colomon launches another smoke run now that NativeCall is fixed
13:18 moritz PerlJam: that's why we have to return the element, not the parcel
13:19 moritz leont: the list form is called run(), and it doesn't do shell meta stuff
13:21 FROGGS leont: and we have open( :p ) instead of IO::Pipe
13:22 timotimo we do not only have open :p, we also have asynchronous subprocess spawning and communication
13:23 Juerd :p is cute.
13:24 Juerd Can we get :þ for something? :)
13:25 PerlJam Juerd: bi-directional pipe? :)
13:25 FROGGS leont: all primitives should be there, so it is just a matter of writing some Perl 6 glue code to implement IO::Pipe fwiw
13:25 leont Ah, I see
13:25 Juerd PerlJam: I like it!
13:25 Juerd PerlJam: Just like -> and <->
13:26 Juerd The ascii variant could be bp, which is like þ taken apart, and could stand for "bidirectional pipe"
13:27 PerlJam moritz: perhaps the diag output of is_approx should be amended to include the difference and tolerance?  I don't know if that would have helped to figure out what was going on or not.
13:27 leont Is :p open documented?
13:27 leont Ah, yes it is, sort of
13:28 SamuraiJack_ joined #perl6
13:28 leont Should probably be listed in the open synopsis, I had read over it initially
13:28 FROGGS leont: there is a consensus to not think of pipes as files, so ... I dunno
13:29 FROGGS it is more like run/shell
13:30 leont Fair enough, I suspect IO::Pipe will be a more sensible interface in the end anyway
13:31 moritz PerlJam: maybe
13:31 ivanshmakov joined #perl6
13:34 PerlJam My brain is still objecting to (42,) not being equal to 42.   Perhaps it's because we go out of our way to make my $item = 42;  say $item[0][0][0];  # output 42
13:34 leont And what about multiplexing asynchronous IO?
13:35 PerlJam leont: Did you see jnthn's YAPC::EU talk?  http://www.jnthn.net/papers/2014-yapceu-async.pdf
13:39 colomon PerlJam: equal in what sense?
13:40 moritz heh, I just found that in python, two terms in a row are reported as "SyntaxError: invalid syntax"
13:41 moritz we (can) do better than that!
13:42 FROGGS[mobile] joined #perl6
13:42 leont PerlJam: I don't remember much IO in there, mostly threads, but I can imagine that approach being more useful in perl6, will reread
13:42 tadzik btw, the yapc-announced http://matrix.org is up :)
13:43 flussence yay \o/
13:43 leont Ah, Proc::Async is what I want :-)
13:46 ribasushi joined #perl6
13:47 PerlJam colomon: I dunno.  My brain isn't firing on all cylinders about this particular  :)
13:48 PerlJam Or, maybe it's just misfiring into thinking that single item parcels should just evaluate to that item in and item context.
13:48 PerlJam s/and/an/
13:51 Woodi joined #perl6
13:59 colomon Ah, yes, smoke test much better after moritz++'s patch: http://host07.perl6.com:8080/report
14:00 sqirrel joined #perl6
14:00 PerlJam colomon++  that's neat!   I didn't know anyone had setup a module smoker yet.
14:01 raiph joined #perl6
14:01 carlin colomon: what OS are the tests run on?
14:01 colomon carlin: linux
14:02 colomon carlin: a mildly obsolete version of ubuntu, I think.  ;)
14:03 carlin colomon: would you be able to install libsodium-devel? Crypt::Reop needs it to be built/tested
14:04 leont How do I look up Proc::Async's docs?
14:04 colomon carlin: apt-get  libsodium-devel    ?
14:05 colomon *install
14:05 colomon hmmm, my system doesn't know what  libsodium-devel is
14:05 tadzik leont: if they aren't on doc.perl6.org, there probably aren't any
14:06 fhelmberger_ joined #perl6
14:06 carlin colomon: ah well, thanks for trying
14:06 PerlJam leont: read the source?
14:06 tadzik yeah, apparently that's the way :/
14:06 tadzik or read jnthn's slides
14:06 carlin I'm not sure ubuntu has a package for it now that I'm searching and nothingi s coming up
14:06 colomon carlin: is it just this?  https://github.com/jedisct1/libsodium
14:07 carlin colomon: yeah that's it
14:07 colomon carlin: any obvious reason I can't just git clone and go?
14:07 mattp_ joined #perl6
14:08 leont It seems I can't find the source either, does it exist outside of jnthn's computer?
14:08 chenryn joined #perl6
14:08 PerlJam leont: As I recently found out, it's bundled with Rakudo.  :)
14:08 domidumont joined #perl6
14:09 PerlJam leont: src/core/Proc/Async.pm
14:09 leont «Could not find Proc::Async», on a rakudo built yesterday :-s
14:10 moritz_ joined #perl6
14:10 leont I have no idea what I'm doing wrong here
14:10 grondilu_ joined #perl6
14:10 anaeem1 joined #perl6
14:10 carlin colomon: it should just work
14:10 carlin colomon: do ./autogen.sh, then ./configure and sudo make install should do it
14:11 colomon carlin: I grabbed the 0.7.0 source, which has ./configure already.  make-ing now
14:12 colomon carlin: okay, I just successfully installed Crypt::Reop on the same machine that does the smoke tests, so unless there's something wonky going on, it should work in the smoke tests tomorrow.
14:13 carlin colomon++ thanks
14:13 colomon carlin: what does Crypt::Reop do, anyway?  :)
14:13 carlin It's nice to confirm my code works on a machine that isn't mine :)
14:13 leont Ah, it seems I can't use them, but it is already preloaded
14:14 leont That's confusing
14:14 FROGGS[mobile] n: say Proc::Async
14:14 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Any␤  at /tmp/dkKgyYkRRQ line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module…»
14:14 PerlJam leont: agreed.
14:14 FROGGS[mobile] m: say Proc::Async
14:14 camelia rakudo-moar e3d66c: OUTPUT«(Proc::Async)␤»
14:14 FROGGS[mobile] leont: it is there
14:14 carlin colomon: reop is a PGP-esque thing, and Crypt::Reop is a NativeCall interface to it
14:14 carlin colomon: so encryption to put it simply
14:14 FROGGS[mobile] don't 'use' it
14:14 tadzik m: Proc::Async.^methods.sort.say
14:14 camelia rakudo-moar e3d66c: OUTPUT«Code object coerced to string (please use .gist or .perl to do that)  in any p6sort at src/vm/moar/Perl6/Ops.nqp:346␤␤Code object coerced to string (please use .gist or .perl to do that)  in any p6sort at src/vm/moar/Perl6/Ops.nqp:346␤␤Code object …»
14:15 tadzik interesting
14:15 colomon carlin: I got encryption from the "Crypt" bit.  ;)
14:15 moritz : Proc::Async.^methods.mpa(*.Str).sort.say
14:15 moritz m: Proc::Async.^methods.mpa(*.Str).sort.say
14:15 camelia rakudo-moar e3d66c: OUTPUT«No such method 'mpa' for invocant of type 'Parcel'␤  in block <unit> at /tmp/Vyfid44tW2:1␤␤»
14:15 PerlJam heh
14:15 moritz m: Proc::Async.^methods.map(*.Str).sort.say
14:15 camelia rakudo-moar e3d66c: OUTPUT«Code object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/uxalAPnqIF:1␤␤Code object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/uxalAPnqIF:1␤␤Code object coerced to string (p…»
14:15 moritz m: Proc::Async.^methods.map(*.gist).sort.say
14:15 camelia rakudo-moar e3d66c: OUTPUT«<anon> <anon> <anon> close_stdin kill print say start stderr_bytes stderr_chars stdout_bytes stdout_chars write␤»
14:16 carlin colomon: more info about reop if you're interested; http://www.tedunangst.com/flak/post/reop
14:16 FROGGS[mobile] leont: it is Part of core like Int or IO::Path
14:17 anaeem1 joined #perl6
14:17 FROGGS[mobile] that's why we have a>20k lines setting
14:19 colomon carlin: "Internet told me they were safe."   ha!
14:20 leont FROGGS[mobile]: I figured that out by now, but a better error on «use Core::Module» would be very helpful for newbies
14:20 PerlJam m: use JSON::Pretty;  # this should be a no-op since it's core IMHO
14:20 camelia rakudo-moar e3d66c: OUTPUT«===SORRY!===␤Could not find JSON::Pretty in any of: /home/p6eval/rakudo-inst-2/languages/perl6/lib, /home/p6eval/rakudo-inst-2/languages/perl6␤»
14:20 FROGGS[mobile] leont: true
14:20 FROGGS[mobile] will do that
14:21 FROGGS joined #perl6
14:21 muraiki joined #perl6
14:21 ingy joined #perl6
14:22 _sri joined #perl6
14:22 sqirrel joined #perl6
14:22 \00 joined #perl6
14:23 go|dfish joined #perl6
14:24 jnthn evening, #perl6
14:24 Psyche^ joined #perl6
14:25 masak aloha, #perl6 :)
14:25 PerlJam greetings!
14:25 moritz PerlJam: it should say "Did you mean: Darling::Pretty"
14:29 colomon \o
14:30 PerlJam m: class Proc::Async { #`( oops! ) };
14:30 camelia rakudo-moar e3d66c: ( no output )
14:31 PerlJam That we can do that without getting a symbol redeclaration error is weird.
14:31 SamuraiJack_ joined #perl6
14:31 jnthn PerlJam: It's not one because the setting is an outer lexical scope, and if you declare someting in a nested lexical scope that's never an error.
14:33 fhelmberger joined #perl6
14:33 grondilu joined #perl6
14:33 17SAA3K0R joined #perl6
14:33 17SAA04J2 joined #perl6
14:33 silug joined #perl6
14:36 pmurias how will we specify if EVAL should use FROGGS v5 mode or the real perl5?
14:36 PerlJam I just worry a little that the more names we have as part of the setting, the more likely our users are to use one for their own purposes and accidentally confuse themselves.
14:36 moritz PerlJam: we just have to use different names
14:36 moritz sorry, meant pmurias
14:41 timotimo ohay jnthn
14:42 pmurias and the language implementations have to be preloaded with use?
14:44 moritz presumably
14:46 leont Is there a way to make an attribute required?
14:46 PerlJam leont: has $.thingy = !!! 'thingy is required';
14:47 jnthn die is probably better
14:47 jnthn As stub code executed is a weird error for that...
14:47 jnthn If you're writing a BUILD method, then the attributive binding with a required param is another way
14:48 jnthn *submethod
14:48 PerlJam jnthn: that's why I put the message.
14:49 * PerlJam really wishes a bare !!! were smart enough to grab the name of the attribute and say "$attr-name is required"
14:50 treehug88 joined #perl6
14:51 jnthn Well, nothing preventing writing a module supplying an is required trait.
14:52 jnthn May even be one already on modules.perl6.org
14:54 eiro_ joined #perl6
14:55 eiro_ hello everyone
14:56 timotimo good day to you, eiro!
14:56 * masak usually does '$.thingy = REQUIRED '$.thingy', with REQUIRED defined as a sub that dies
14:56 masak but I expect this kind of thing would eventually get soaked up as a macro that obviated repeating the name
14:56 jnthn A trait could grab the name and avoid duping it, though...
14:57 moritz and include the class name in the error message
14:57 hoelzro ahoy #perl6
14:59 firefish5000 Hmm, I'v done somthing to my code that causes .perl to hang.
14:59 tadzik hello eiro_!
14:59 * firefish5000 wonders if overriding gist is part of the reason
14:59 pmurias wouldn't it make sense to change the language passed to the EVAL to a proper lexical thing?
14:59 hoelzro firefish5000: what'd you do?
15:00 moritz pmurias: you mean, an object?
15:00 moritz pmurias: then you could just say $obj.EVAL(...) in the first place :-)
15:01 firefish5000 I would have to upload my code, since I cannot reproduce it any other way... one moment
15:02 moritz firefish5000: that's pretty easy to do with self-referential structures
15:02 moritz m: my @a = (1, 2, 3); push @a, $@a; say @a.perl
15:02 camelia rakudo-moar e3d66c: OUTPUT«(timeout)»
15:03 pmurias moritz: EVAL(...) is not a regular subroutine it can read non dynamic lexical from the caller
15:03 * firefish5000 googles self-referential structure
15:03 moritz firefish5000: "circular" might be the more common term
15:03 moritz @a contains a reference to @a
15:04 moritz => infinite loop
15:04 firefish5000 would $!var print but $!var.perl hang in such case?
15:04 moritz depends on what's in $!var (how it stringifies, mostly)
15:04 moritz but that's possible, yes
15:05 moritz m: class A { has $.thing is rw }; my $x = A.new(); $x.thing = $x; say $x; say $x.perl;
15:05 camelia rakudo-moar e3d66c: OUTPUT«(timeout)»
15:05 moritz m: class A { has $.thing is rw }; my $x = A.new(); $x.thing = $x; print $x; say $x.perl;
15:05 camelia rakudo-moar e3d66c: OUTPUT«(timeout)A<139737578349296>»
15:06 moritz that prints fine, but doesn't .perl
15:07 mr-foobar joined #perl6
15:09 firefish5000 hmm... I have a create method which I use to call new with positional parameters. that may have done it..
15:09 moritz that's not the point
15:09 moritz but it might be easier if you did show your code :-)
15:10 * firefish5000 fixes up his code.
15:10 raiph joined #perl6
15:15 lizmat joined #perl6
15:15 PerlJam firefish5000: just make sure you don't accidentlly fix the problem out of existence.  (It's okay to do it *purposefully* however ;)
15:16 firefish5000 lol, i'll try not to.. Anyone know how to make __DATA__ sections? =begin DATA?
15:18 PerlJam firefish5000: =begin data    I dunno if the all-caps version is equivalent
15:18 leont What's the difference between act and tap on a supply?
15:19 PerlJam come to think of it, I don't know if even =begin data itself is implemented
15:19 timotimo leont: "act" will ensure that the code you supply will only be run by a single thread
15:19 timotimo whereas "tap" will run whenever it gets to
15:19 timotimo so "act" will give you "actor semantics"
15:20 firefish5000 Alright, ill make it a normal variable at the top then. (cannot get $=data or the like to work)
15:21 philh_ Hello all, I have a Q about currying that I've posted on SO, to avoid flooding you here: http://stackoverflow.com/questions/25669107/when-can-i-use-the-whatever-star
15:22 timotimo firefish5000: i used the pod variables stuff once before, i shall find an example for you
15:22 firefish5000 timotimo: Thanks!
15:23 timotimo m: say $=pod.perl;␤=mydata␤    Hello there!␤␤
15:23 camelia rakudo-moar e3d66c: OUTPUT«Array.new(Pod::Block::Named.new(name => "mydata", config => ().hash, contents => Array.new(Pod::Block::Para.new(config => ().hash, contents => Array.new("Hello there!")))))␤»
15:23 timotimo m: say $=mydata.perl;␤=mydata␤    Hello there!␤␤
15:23 camelia rakudo-moar e3d66c: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ZyOZQUkuh8â�¤Variable '$=mydata' is not declaredâ�¤at /tmp/ZyOZQUkuh8:1â�¤------> [32msay $=mydata.perl[33mâ��[31m;[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤Â»
15:23 timotimo m: say $=pod<mydata>.perl;␤=mydata␤    Hello there!␤␤
15:23 camelia rakudo-moar e3d66c: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => "postcircumfix:<\{ }> not defined for type Array"))␤»
15:23 timotimo m: say $=pod[0].perl;␤=mydata␤    Hello there!␤␤
15:23 camelia rakudo-moar e3d66c: OUTPUT«Pod::Block::Named.new(name => "mydata", config => ().hash, contents => Array.new(Pod::Block::Para.new(config => ().hash, contents => Array.new("Hello there!"))))␤»
15:23 timotimo m: say $=pod[0].Str;␤=mydata␤    Hello there!␤␤
15:23 camelia rakudo-moar e3d66c: OUTPUT«Pod::Block::Named<139642023070976>␤»
15:23 timotimo m: say $=pod[0].contents.Str;␤=mydata␤    Hello there!␤␤
15:23 camelia rakudo-moar e3d66c: OUTPUT«Pod::Block::Para<139964838261784>␤»
15:23 timotimo m: say $=pod[0].contents[0].contents.Str;␤=mydata␤    Hello there!␤␤
15:23 camelia rakudo-moar e3d66c: OUTPUT«Hello there!␤»
15:24 timotimo well, quite frankly that's not very awesome.
15:24 timotimo $=mydata is supposed to work per spec, afaik ... maybe hoelzro can look into that, he's been working on documentation stuff a lot recently
15:25 hoelzro hmm, I'm not familiar with $=mydata
15:26 kaare_ joined #perl6
15:28 * PerlJam wonders what the scoping is on $=data
15:29 moritz pod-scoped!
15:29 FROGGS jnthn: how do I get a list of all known symbols?
15:29 masak *all* of them!?
15:29 masak :P
15:30 masak m: say "There are currently {(^1e15).roll} known symbols."
15:30 camelia rakudo-moar e3d66c: OUTPUT«(timeout)»
15:30 masak heh.
15:30 japhb botsnack
15:30 yoleaux 08:06Z <lizmat> japhb: I'll take a bit  :-)
15:30 yoleaux 12:16Z <timotimo> japhb: http://www.flotcharts.org/ seems to be a quite nice plotting library for javascript and it seems to be in more active development than jqplot
15:31 jnthn FROGGS: Um...all in what context?
15:31 masak m: say "There are currently {(1..1_000_000_000_000_000).roll} known symbols."
15:31 camelia rakudo-moar e3d66c: OUTPUT«There are currently 956832594083256 known symbols.␤»
15:31 hoelzro oh, I see
15:31 FROGGS jnthn: in list context :P
15:31 hoelzro it's a foo
15:31 * japhb wonders what lizmat was referring to ...
15:32 diakopter .botsnack
15:32 yoleaux :D
15:32 jnthn japhb: iirc from the backlog scanning, perl6-bench
15:32 moritz yes, perl6-bench commit bit
15:32 japhb Oh, yes, gotcha.
15:33 firefish5000 Alright, CronParser uploaded Here http://pastebin.com/kGVDFqTs# .
15:33 japhb .ask lizmat Are you lizmat on GitHub as well?
15:33 yoleaux japhb: I'll pass your message to lizmat.
15:34 PerlJam CronParser?!?   cool!
15:35 * PerlJam gets a little excited when old and new technologies come together ;)
15:36 japhb timotimo: I have no objection to Flot, as long as the license is compatible, the performance and features are sufficient ... and someone else does the work to convert over to it (preferably in a branch).  Right now I have no need to replace jqplot, but I have noted requests in the past.
15:36 firefish5000 timotimo:I ended up using a heredoc, but i'll try using podvars? (cant think of a name for them) in my projects
15:36 FROGGS jnthn: I want to display a message in ModuleLoader.nqp in case someone tries to load e.g. Proc::Async
15:37 jnthn m: say CORE::.keys
15:37 camelia rakudo-moar e3d66c: OUTPUT«%DEPRECATIONS @UNITS &zip %pvalcodecache %propcodecache $?TABSTOP $UINT64_UPPER $sprintfHandlerInitialized $default &samewith &lastcall &nextsame &callsame &nextwith &callwith &proceed &succeed &redo &next &last &take &take-rw &return &return-rw &RETURN-PA…»
15:37 firefish5000 PerlJam: don't get too excited, I havn't a clue what I am doing.
15:37 lizmat messages, please
15:37 yoleaux 15:33Z <japhb> lizmat: Are you lizmat on GitHub as well?
15:37 lizmat yes
15:37 japhb lizmat: You now have a commit bit.  Have the appropriate amount of fun.  :-)
15:38 lizmat thank you, japhb  :-)
15:38 japhb \o/ More contributors!
15:39 woolfy joined #perl6
15:39 leont Where could «cannot stringify this\n  in submethod BUILD» come from? I'm not doing any stringy things in there, that line is the submethod declaration
15:40 dalek rakudo/nom: 4a2aac5 | TimToady++ | src/core/GatherIter.pm:
15:40 dalek rakudo/nom: just use Mu.new, good enough for =:= identity
15:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4a2aac51d0
15:40 PerlJam leont: I usually see that when I try to output an arrayish thing in NQP
15:40 japhb OOC, timotimo, aside from having "gone stable", why do you want to switch away from jqplot?  (I originally chose it because I had a good friend that had used it for something else, so I had someone to bug with questions if I had trouble.)
15:40 kaleem joined #perl6
15:41 * lizmat is enjoying the view in Hafelfingen
15:42 leont PerlJam: seems changing :@args to :$args fixed it, but not a very intuitive error
15:42 itz_ joined #perl6
15:43 PerlJam leont: maybe you wanted to use join(" ", @args) on output if you really wanted @args
15:44 firefish5000 the spot with the problems is on line 187 in class Cron method NextCmd. (realizing I didn't comment my code very well)
15:44 leont I don't want to output it at all!
15:44 PerlJam oh, then something else may have been trying to output it for some reason
15:44 leont I'm opening a Proc::Async, that may be involved
15:46 timotimo japhb: actually ... i'm not 100% sure. there's the thing where when the annotation on the side that explains what color means which implementation becomes so big that there's only a centimeter or two left for the graphs
15:47 hoelzro someone was on the channel last night and gave me an idea about docs on core classes/methods
15:47 hoelzro what if there were an optional --docs switch to Configure.pl that would build and attach docs to core objects?
15:47 hoelzro that way, build time shouldn't be impacted, but we could ship star releases with the --docs switch on, so users can use .WHY to explore
15:48 PerlJam firefish5000: I don't immediately see that your structure is self-referential or any thing, but I may have just missed it.
15:48 hoelzro is that something others on this channel would find useful? if so, I can start working on that
15:48 lizmat leont: fwiw, Proc::Async isn't even specced at this moment
15:48 japhb timotimo: So essentially that it handles the key for really dense graphs badly?  We can solve that one in jqplot just by changing the legend gravity when it goes over a certain threshold of compiler count.
15:48 timotimo OK :)
15:48 lizmat jnthn: maybe I should spec it?  or you may want to spec it ?
15:48 * PerlJam read "ship star releases" as "starship releases" for some reason
15:49 japhb Wishful thinking?
15:49 hoelzro PerlJam: that makes me that that we should start calling Star release managers captains =)
15:49 lizmat .oO( Rakudo <=> )
15:50 PerlJam hoelzro: what does that mean "attach docs to core objects"?
15:50 rindolf joined #perl6
15:50 FROGGS m: say 42.WHY
15:50 camelia rakudo-moar e3d66c: OUTPUT«(Any)␤»
15:50 FROGGS ohh ó.ò
15:50 hoelzro PerlJam: it would mean that ~Str.WHY eq 'Built-in class for strings. Objects of type Str are immutable.
15:50 hoelzro '
15:51 hoelzro I could write a script (well, I've actually already written most of it =/) to generate the docs from doc.perl6.org
15:51 PerlJam hoelzro: sure, but where would that come from?  How would that be different that without the --docs option?
15:51 lizmat m: "Life, the Universe, and Everything".WHY.say   # for FROGGS
15:51 camelia rakudo-moar e3d66c: OUTPUT«42␤»
15:51 jnthn lizmat: Where "it" is?
15:52 FROGGS lizmat++
15:52 PerlJam hoelzro: isn't the main problem that the source isn't annotated with the appropriate text to populate WHY?
15:52 hoelzro PerlJam: well, the plan is that I would generate a core_docs.pm that would be put into CORE.setting
15:52 lizmat jnthn: the Proc::Async spec
15:52 hoelzro PerlJam: well, there was a discussion about annotating the source of the core objects a while back
15:52 PerlJam hoelzro: oh, so you would "manually" build the WHY for all of the stuff in src/core?
15:52 hoelzro some feel it may slow down the parse
15:52 hoelzro and we'd have to move and sync the docs with doc.perl6.org
15:53 hoelzro PerlJam: yes
15:53 hoelzro using a dirty trick >:)
15:53 firefish5000 PerlJam: My Cron::TimeA class doesn't hang which is the only thing I thought may have been self-referential.
15:53 PerlJam hoelzro: I think I get it now.  Yes, that would be awesome.
15:53 jerrycheung joined #perl6
15:54 lizmat ++hoelzro
15:55 jnthn lizmat: Ah, feel free
15:56 jnthn lizmat: It's still all kinda new.
15:56 lizmat and people are already dying to use it !  :-)
15:57 lizmat there are no spectest for it either yet, are there ?
15:58 hoelzro good to see others approve
15:58 hoelzro the tricky part will be creating a ./perl6-docless-m that I can run my script with to generate core_docs.pm =/
15:59 denis_boyun joined #perl6
16:00 PerlJam hoelzro: It would be really nice to have in the REPL.  Just like in python's REPL you can do "help(int)"
16:00 timotimo hehehe.
16:00 hoelzro that's exactly WHY I want to do this =)
16:01 PerlJam Though "~Int.WHY" seems a little weird to type to get documentation.  Maybe we need a convience method on Mu or Any or something so that Int.docs would work
16:02 PerlJam and maybe it could also be Int.docs('HTML') too
16:02 hoelzro PerlJam: well, we could provide a help() sub
16:02 jnthn lizmat: No. I only had time to get a first version of it working ahead of YAPC, and now things are a little busy.... Feel free to pick it up. :)
16:03 leont jnthn: how do I use the stdout supply from Proc::Async? It's not clear to me at all.
16:04 jnthn leont: .tap or .act it, as with any Supply
16:04 jnthn leont: It's throw chars (or bytes) at you whenever some arrive
16:04 jnthn *It'll
16:04 TimToady stdout?
16:05 jnthn TimToady: You're tapping the stdout of the process you spawned.
16:05 TimToady ah, okay
16:06 leont I thought I did that, turns out I made a small mistake in my code :-s
16:06 * TimToady looks at his coffee and wonders why it's not working yet...
16:06 jnthn Constructing $*VM and $*DISTRO is some work. I've got them, and some others, constructed on first use.
16:06 jnthn Unfortunately, loads of first uses for both are in setting up @*INC and friends.
16:07 lizmat yes, that's why I didn't bother making them lazy
16:07 jnthn Wrong conclusion.
16:07 lizmat ah?
16:08 jnthn We can't afford this.
16:09 jnthn I just profiled lazifying them.
16:09 TimToady our normal module lookup should be independent of vm or distro, so it should only kick in for dev situations, and should probably be factored out somehow from startup in any case
16:09 jnthn 50% of the cost of loading the setting is now attributable to setting up @*INC
16:09 TimToady "it" being INC semantics
16:09 jnthn uh, that's not quite true
16:10 jnthn 50% of the stuff called from the setting mainline is now in there
16:10 jnthn 30% of overall load time
16:11 lizmat I'm not following anymore
16:12 jnthn lizmat: I don't have a concrete suggesiton yet really, and need to sleep soon.
16:12 lizmat several things are needed: maybe DISTRO can be factored out
16:12 lizmat but $*VM is needed
16:12 TimToady or can be moved up to setting compile time, not user startup time
16:13 lizmat *?VM  ?  I'm all for it!
16:13 jnthn lizmat: But by demanding $*DISTRO and $*VM and the other work that it does, the code in the block that sets up @*INC and friends accounts for 30% of our startup
16:13 TimToady or can be put into a disk cache of some sort
16:13 lizmat $?VM rather
16:13 lizmat last time I tried that, it dies badly at deserializing
16:13 leont It's working :-) (at least the parts I've written already) \o/
16:13 TimToady the common case is that $*VM will be nearly identical to $?VM
16:14 TimToady maybe we need to track what is really dynamic better
16:15 lizmat yes...
16:15 lizmat and BTW, whatever happened to "first get it working, then get it working fast"?
16:15 lizmat S11 is still not implemented
16:15 TimToady we're at the comma :P
16:15 lizmat *not* as far as S11 and S22 are concerned  :-(
16:16 TimToady the comma is unequally distributed :)
16:16 lizmat and I'm getting pretty frustrated at being blocked on that  :-(
16:16 TimToady what's blocking you?
16:17 lizmat the whole spaghetti mess that is module loading at the moment
16:17 jnthn lizmat: While that applies in general, here we have a situation where it's impacting everything else...
16:18 lizmat to get sane semantics and extensibility, I think this needs to be done mostly in Perl 6 space
16:18 dalek rakudo/nom: c1090b2 | jonathan++ | src/core/ (4 files):
16:18 dalek rakudo/nom: Lazily construct more hefty objects at startup.
16:18 dalek rakudo/nom:
16:18 dalek rakudo/nom: Both $*DISTRO and $*VM end up getting used during initialization; this
16:18 dalek rakudo/nom: will need some further attention. For $*KERNEL and $*PERL we get the
16:18 dalek rakudo/nom: benefit right off.
16:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c1090b2434
16:18 TimToady I suspect some of this will straighten out as we find ways of simplifying standard module importation
16:18 firefish5000 I Noticed that it's the grammar that .perl is hanging on. Here is a version with only my grammar http://pastebin.com/GjHrrcav (a lot less clutter now)
16:18 jnthn lizmat: I'm not saying that something has to change Right Now
16:18 TimToady it's those darn devs that keep wanting to do weird stuff...
16:19 lizmat I'm one of those darn devs...
16:19 PerlJam yeah ... like use CPAN *and* Perl 6 *at the same time*  ;)
16:19 lizmat it's just that reality is outweirding me
16:20 akaseki joined #perl6
16:20 jnthn lizmat: Just that this kind of impact can't really stand
16:20 TimToady we'll figure something out
16:20 jnthn Aye
16:21 TimToady a lot of packages put these sorts of decisions into their installer, for instance
16:21 jnthn The thing with module loading is that while it's fine if the very low level of it is in NQP, current ModuleLoader ends up trying to own the "figure out what to load" as well as the lower-level pieces.
16:21 rindolf joined #perl6
16:21 lizmat the other day I profiled t/spec/S02-types/WHICH.t
16:22 lizmat and shuddered at the sight of how much was spent in reifying and gimmeing
16:22 TimToady well, that's the list refactor
16:22 jnthn lizmat: Inclusive, or exclusive? But yes.
16:22 TimToady which I'm working on, feebly
16:22 davido_ joined #perl6
16:22 * jnthn has seen profiles where the exclusive time in reify is rather worryingly high...
16:23 lizmat so this startup optimizing right now, really feels very premature to me
16:24 jnthn lizmat: Sorry, but it's high, high time to deal with our startup time. It affects spectest time, ability to use Perl 6 for quick scripting things, initial user perception...
16:24 PerlJam jnhtn++
16:25 colomon +1
16:25 TimToady well, we need to figure it out without tearing each other's heads off, is my suggestion :)
16:25 jnthn If htat's what I'm doing, I should probably go to bed.
16:25 jnthn 'ngiht
16:25 TimToady night
16:25 PerlJam sleep well jnthn
16:26 lizmat gnight jnthn
16:26 akaseki joined #perl6
16:26 firefish5000 Ohh, mayby .perl is working on it, just taking a long time? (at least it works with just the grammar, from my last paste)
16:28 lizmat TimToady, jnthn: also the brokenness of "use lib" is worrying me
16:29 lizmat use lib is the *only* module atm of which its effects are *not* lexically scoped
16:30 lizmat and this is all due, afaics, to the fact that I cannot export a dynamic @*INC to the CALLER:: context at compile time
16:30 pmurias I need to install NativeCall separately from rakudo?
16:31 lizmat CALLER:: in this case: the lexpad of the code doing "use"
16:31 FROGGS pmurias: yes
16:31 FROGGS pmurias: but it is part of star
16:32 pmurias Inline-Perl5 is developed against start or rakudo HEAD?
16:32 FROGGS pmurias: that shouldnt matter
16:33 FROGGS because there are no VM patches that aid Inline::Perl5 yet
16:33 TimToady the name of that namespace is really supposed to be COMPILING, not CALLING
16:33 TimToady er, CALLER
16:34 TimToady but yea, we need to establish some kind of lexical hints mechanism
16:34 TimToady we can't just rely on tweaking dynamics in the parser
16:34 TimToady especially since some of these hints have to persist to passes after the parser
16:34 FROGGS ohh! %^H ?
16:34 lizmat I would call this a 6.0 blocker
16:35 lizmat anyways, off for some socializing in Olten...  &
16:35 FROGGS more fore the impl than for the spec?
16:35 FROGGS k, see ya :o)
16:35 leont lizmat: have fun!
16:36 FROGGS lizmat / jnthn: I am also in favor that ModuleLoader.nqp is only in charge for loading bytecode by absolute filename after the setting has been loaded
16:36 TimToady more like copying some of the compiler's $*FOO into $?FOO space; we probably don't need a %?HINTS if the ? mechanism itself will server
16:39 domidumont joined #perl6
16:40 TimToady first step is to figure out what the module loader really needs to know, and how much of that is truly dynamic, and how much is coming in through VM and DISTRO merely because it's been convenient up till now, but that can either be determined more statically, or at install time, or via system call that bypasses those vars
16:41 nine pmurias: i'm developing on HEAD, but should not matter yet
16:41 TimToady p5 completely ignores its config vars on startup, basically
16:42 FROGGS TimToady: the module loader just needs to know the file extensions (.jar, .moarvm, .pir)
16:42 TimToady so the question is what currently prevents p6 from taking the same approach?
16:42 FROGGS that's all me thinks
16:42 denis_boyun joined #perl6
16:43 TimToady so maybe those should be nqp instructions to the VM
16:43 TimToady or some known function to call
16:44 FROGGS nqp::loadbytecode(%chosen<load>); <-- we already pass the ab solute file name down to the VM
16:44 telex joined #perl6
16:44 TimToady so leave off the extension and let the VM add it?
16:45 TimToady that's one appraoch, not suggesting it's the right approach
16:45 * TimToady is thinking more of introspection of the VM and OS
16:46 TimToady another approach is to break up the loading of $*VM and $*DISTRO to only penalize you for the parts you load
16:47 TimToady or figure out what we need to load, and put them into different variables that don't pull in everything
16:47 TimToady there's lots of ways to fix this, I suspect
16:48 TimToady but we all tend to fall into the XY trap from time to time
16:48 firefish5000 joined #perl6
16:48 FROGGS we don't need $*VM and $*DISTRO at all when loading a module, since the fileexts are hard coded due to our fudge blocks
16:48 FROGGS but setting up @*INC involves fetching paths from the VM, so we build $*VM first
16:49 FROGGS and $*DISTRO might be needed for the PATHSEP to handle PERl6LIB
16:50 denis_boyun_ joined #perl6
16:52 timotimo hrm.
16:52 timotimo we could conceivably put th estuff into hll symbol namespace?
16:52 timotimo and nqp::gethllsym and such
16:59 kaleem joined #perl6
17:03 dalek rakudo-star-daily: 239bcdd | coke++ | log/ (14 files):
17:03 dalek rakudo-star-daily: today (automated commit)
17:03 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/239bcdd8b2
17:03 dalek perl6-roast-data: 1af5629 | coke++ | / (4 files):
17:03 dalek perl6-roast-data: today (automated commit)
17:03 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/1af56296fa
17:03 jack_rabbit joined #perl6
17:04 FROGGS hmmmm, my CPANda explodes because of al label in a method, but I can't find it O.o
17:04 [Coke] .seen carlin
17:04 yoleaux I saw carlin 14:16Z in #perl6: <carlin> colomon: more info about reop if you're interested; http://www.tedunangst.com/flak/post/reop
17:05 [Coke] carlin: your recent change to S32-temporal/local.t has resulted in many failing tests on the daily runner.
17:05 zakharyas joined #perl6
17:06 timotimo aye
17:06 timotimo on my system, too
17:08 leont This doesn't DWIM, can someone tell my what I should do: while $!partial_input ~~ s/ $<line>=(\N+) \n// {
17:10 timotimo you want to cut the beginning of the string off every time?
17:11 PerlJam leont: at a guess, probably use the method form of s///.   while $!partial_input.=subst( /$<line>=(\N+) \n/, '') { ... }
17:11 FROGGS m: my $i; LOOP: while $i++ < 10 { }
17:11 camelia rakudo-moar 4a2aac: ( no output )
17:12 FROGGS m: my $i; LOOP: while $i++ < 10 { say $i; next LOOP }
17:12 camelia rakudo-moar 4a2aac: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
17:12 FROGGS m: my $i; LOOP: while $i++ < 10 { say $i; last LOOP }
17:12 camelia rakudo-moar 4a2aac: OUTPUT«1␤»
17:12 FROGGS m: my $i; LOOP: while $i++ < 10 { say $i; last LOOP }; say LOOP
17:12 camelia rakudo-moar 4a2aac: OUTPUT«1�Label<LOOP>(at /tmp/QfjsfhoZNk:1, '[32mmy $i; LOOP: while $[33m�[31mLOOP[32m: while $i++ < 10 { [0m')�»
17:12 FROGGS eww
17:12 leont PerlJam: that seems to have helped :-)
17:19 itz_ is S30 intended just to doc perl modules which ship with rakudo itself and not anything else?
17:19 [Coke] arglebargle. I suspect it's a DST issue.
17:21 gfldex joined #perl6
17:22 spider-mario joined #perl6
17:22 [Coke] e.g:
17:23 [Coke] # expected: '1998-12-31T18:59:60-0500'
17:23 [Coke] #      got: '1998-12-31T19:59:60-0400'
17:26 dalek doc: 0e775e7 | (Steve Mynott)++ | lib/HomePage.pod:
17:26 dalek doc: langauge typo corrected
17:26 dalek doc: review: https://github.com/perl6/doc/commit/0e775e7b8d
17:26 leont jnthn: how do I drain the input supply on termination of the process in Proc::Async?
17:27 [Coke] timotimo: ... looks like we just need to change the expected results from a -05 based tz to the declared -04 timezone. would you agree?
17:28 [Coke] ... no, more things have -05 than just the failures.
17:30 leont $proc.start().then(-> { something with the input supply })?
17:32 dalek roast: 67373d0 | coke++ | S32-temporal/local.t:
17:32 dalek roast: Fudge recently-unskipped tests.
17:32 dalek roast: review: https://github.com/perl6/roast/commit/67373d05b9
17:37 hoelzro itz_ brings up an interesting point: why are S32-* and perl6/doc distinct things?
17:37 [Coke] timotimo: I fudged it.
17:41 timotimo i have no clue about timezones :)
17:41 timotimo i chose .o
17:41 timotimo i chose to.
17:47 PerlJam sorear was online?!?
17:48 dalek specs: fb6b129 | (Steve Mynott)++ | S (2 files):
17:48 dalek specs: the the -> the
17:48 dalek specs: review: https://github.com/perl6/specs/commit/fb6b1298f5
17:49 leont $foo.=subst() doesn't allow me to check for success/failure :-s, that is unfortunate
17:50 timotimo you can put a { $success = 1 } inside your regex %)
17:50 FROGGS PerlJam: his avatar is often here :o)
17:50 sorear joined #perl6
17:51 FROGGS m: "abc".subst(/b/, ''); say so $/
17:51 camelia rakudo-moar c1090b: OUTPUT«True␤»
17:51 FROGGS m: "abc".subst(/b/, ''); say so $/; "abc".subst(/d/, ''); say so $/;
17:51 camelia rakudo-moar c1090b: OUTPUT«True␤False␤»
17:51 FROGGS leont: ^^
17:52 TimToady he wants to use .=
17:53 TimToady does it work for that?
17:53 TimToady (and I thought we turned off the $/ binding for .subst once upon a time...)
17:54 PerlJam m:  my $s = "abc"; $s.=subst(/b/, ''); say so $/; $s.=subst(/d/, ''); say so $/;
17:54 camelia rakudo-moar c1090b: OUTPUT«True␤False␤»
17:55 sqirrel joined #perl6
17:56 TimToady m: my $s = "abc"; $s.=subst(/(b)/, { $0 ~ $0 }).say
17:56 camelia rakudo-moar c1090b: OUTPUT«abbc␤»
17:56 TimToady m: my $s = "abc"; $s.=subst(/(b)/, "$0$0").say
17:56 camelia rakudo-moar c1090b: OUTPUT«ac␤»
17:56 TimToady I guess that's right
17:57 PerlJam If a tad confusing :)
17:57 PerlJam (at least it took me a second to go from "huh?" to "oh.")
17:58 leont jnthn: still haven't figured out how to drain stdout_chars, do you have any gist of you using it?
17:58 dalek doc: 88a0434 | Kamil++ | bin/p6doc:
17:58 dalek doc: p6doc shall not ignore files that have only declarative comments
17:58 dalek doc: review: https://github.com/perl6/doc/commit/88a043440d
17:58 dalek doc: 19725c6 | (Steve Mynott)++ | bin/p6doc:
17:58 dalek doc: Merge pull request #25 from teodozjan/master
17:58 dalek doc:
17:58 dalek doc: p6doc not ignore files that have only declarative comments
17:58 dalek doc: review: https://github.com/perl6/doc/commit/19725c61b0
17:59 TimToady m: my @s = "abc", "bcd", "bb""; @s».=subst(/(b)/, { $0 ~ $0 }); say @s
17:59 camelia rakudo-moar c1090b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/D2aqKpGav1â�¤Two terms in a rowâ�¤at /tmp/D2aqKpGav1:1â�¤------> [32mmy @s = "abc", "bcd", "bb"[33mâ��[31m"; @s».=subst(/(b)/, { $0 ~ $0 }); say @[0mâ�¤    expecting any of:â�¤        postfix…»
17:59 TimToady m: my @s = "abc", "bcd", "bb"; @s».=subst(/(b)/, { $0 ~ $0 }); say @s
17:59 camelia rakudo-moar c1090b: OUTPUT«ac cd b␤»
18:00 TimToady m: my @s = "abc", "bcd", "bb"; @s».=subst(/(b)/, -> $/ { $0 ~ $0 }); say @s
18:00 camelia rakudo-moar c1090b: OUTPUT«abbc bbcd bbb␤»
18:01 TimToady it's not entirely clear that we should support implicit $/ binding in the method forms
18:01 PerlJam That p6doc patch isn't quite right.  #| and #= don't have to appear at the beginning of a line.
18:01 TimToady though it does allow the "so $/" there
18:03 itz_ PerlJam: oh yeah
18:04 itz_ whats the best fix? just to remove the ( )?
18:06 PerlJam I dunno.  I'd probably do   / ^'='/ || / '#|' | '#=' /
18:08 FROGGS TimToady: I made it bind to $/, but perhaps because of a misunderstanding of the spec
18:09 TimToady well, it's been argued both ways
18:10 FROGGS question for me is: what is the most important rule here? a) methods shall not have side effects or b) every regex binds to $/
18:10 PZt joined #perl6
18:10 FROGGS nowadays I tend to think a)
18:11 * PerlJam still thinks b)
18:11 PerlJam But that might be some residual p5think
18:12 itz_ PerlJam: is that really any different to /^'=' | '#|' | '#='/
18:12 PerlJam itz_: nah, probably not.  I'm just unsure on the precedence of ^ vs. |
18:16 itz_ m: print 1 if  "a#=" ~~ m/^'=' | '#|' | '#='/
18:16 camelia rakudo-moar c1090b: OUTPUT«1»
18:16 itz_ you had me worried there :)
18:18 dalek doc: 2b4bfef | (Steve Mynott)++ | bin/p6doc:
18:18 dalek doc: <PerlJam> That p6doc patch isn't quite right.  #| and #= don't have to appear at the beginning
18:18 dalek doc: review: https://github.com/perl6/doc/commit/2b4bfef891
18:24 [Sno] joined #perl6
18:33 dalek zavolaj/cglobal: 7df6815 | (Tobias Leich)++ | lib/NativeCall.pm6:
18:33 dalek zavolaj/cglobal: expose C globals like native subs
18:33 dalek zavolaj/cglobal: review: https://github.com/jnthn/zavolaj/commit/7df68154c1
18:35 dalek nqp/cglobal: 1f05ba9 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
18:35 dalek nqp/cglobal: add op nativecallglobal on moar only atm
18:35 dalek nqp/cglobal: review: https://github.com/perl6/nqp/commit/1f05ba9d5d
18:36 raiph joined #perl6
18:37 BizarreCake joined #perl6
18:41 dalek zavolaj/cglobal: f923faf | moritz++ | lib/NativeCall.pm6:
18:41 dalek zavolaj/cglobal: fix nativecast test failures
18:41 dalek zavolaj/cglobal:
18:41 dalek zavolaj/cglobal: since the built-in slicing does not like our CArray, provider our
18:41 dalek zavolaj/cglobal: own (potentially slicing) multi postcircumfix:<[ ]>.
18:41 dalek zavolaj/cglobal:
18:41 dalek zavolaj/cglobal: No idea if this is the right fix. Maybe TimToady++ has a better idea.
18:41 dalek zavolaj/cglobal: review: https://github.com/jnthn/zavolaj/commit/f923faf5e8
18:41 dalek zavolaj/cglobal: 62c5f9d | moritz++ | lib/NativeCall.pm6:
18:41 dalek zavolaj/cglobal: Fix tests
18:41 dalek zavolaj/cglobal:
18:41 dalek zavolaj/cglobal: turns out that we must not return a Parcel for a single-element slice/array access
18:41 dalek zavolaj/cglobal: review: https://github.com/jnthn/zavolaj/commit/62c5f9d885
18:41 dalek zavolaj/cglobal: d26adfb | (Tobias Leich)++ | lib/NativeCall.pm6:
18:41 dalek zavolaj/cglobal: Merge branch 'master' of https://github.com/jnthn/zavolaj into cglobal
18:41 dalek zavolaj/cglobal: review: https://github.com/jnthn/zavolaj/commit/d26adfb927
18:42 raiph m: (* + *).WHAT.say; (* min *).WHAT.say; # is this a known bug?
18:42 camelia rakudo-moar c1090b: OUTPUT«(WhateverCode)␤(Whatever)␤»
18:42 TimToady m: say (my $ = 1,).WHICH  # <-- grondilu
18:42 camelia rakudo-moar c1090b: OUTPUT«Parcel|(Scalar|56631976)␤»
18:43 TimToady it isn't a Parcel without the comma, so derefs the $
18:48 moritz raiph: not sure it's a bug; there are explicit exceptions for several operators to not autocurry
18:50 TimToady looks kinda buggy to me
18:50 TimToady min is not one of those exceptions, that I know of
18:50 grondilu_ TimToady: ok, noted
18:51 grondilu joined #perl6
18:57 guru joined #perl6
18:58 mberends joined #perl6
19:01 davido_ joined #perl6
19:02 leont Progress! I have part of an async TAP harness written down :-)
19:03 FROGGS Function X::Panda needs parens to avoid gobbling block
19:03 FROGGS at /home/froggs/dev/nqp/install/languages/perl6/site/bin/panda:64
19:03 FROGGS ------> CATCH { when X::Panda { say $_.message }⏏ }
19:03 FROGGS jnthn: I think I found a precomp bug :o(
19:04 FROGGS jnthn: it seems that the symbol X::Panda is not defined when panda is precompiled
19:04 FROGGS leont++
19:04 FROGGS :o)
19:04 nwc10 how do I translate this program to Perl 6 using threads:
19:04 nwc10 perl -e 'use threads; threads->new(sub {print "Hello world\n"})->join() for 1..9'
19:05 nwc10 I'm specifically wanting to benchmark threads. Not the nice high level things.
19:05 nwc10 the Internet is not coming up with answers that work for me
19:06 flussence Thread.start(...).finish should work
19:06 vendethiel- nwc10: await do for ^10 { start { say "Hello World" } }
19:06 vendethiel- m: await do for ^10 { start { say "Hello World" } }
19:06 camelia rakudo-moar c1090b: OUTPUT«Hello World␤Hello World␤Hello World␤Hello World␤Hello World␤Hello World␤Hello World␤Hello World␤Hello World␤Hello World␤»
19:07 Ven joined #perl6
19:08 nwc10 um, technically ^10 is 0..9 not 1..9 isn't it?
19:08 nwc10 I can fix the perl 5 to line up with that
19:09 Ven m: say @(^10)
19:09 camelia rakudo-moar c1090b: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
19:09 Ven nwc10: ^10 is 0..^10
19:09 Ven perl6++ :)
19:09 [Coke] Yes, that's twhat he just said.
19:10 Ven oh, I misread :D
19:10 grondilu ^$n is on top of the P6 idioms I miss in P5
19:10 Ven well then, 1..9 or 1..^10, right.
19:10 zakharyas joined #perl6
19:11 nwc10 oh, actually I don't need it :-)
19:11 nwc10 dumbbench -- env ~/Sandpit/5182i/bin/perl5.* -MMoose -Mthreads -e 'threads->new(sub {print "Hello world\n"})->join() '
19:11 nwc10 cmd: Rounded run time per iteration: 3.115e-01 +/- 2.5e-03 (0.8%)
19:11 nwc10 dumbbench -- env ./perl6-m -e 'await do { start { say "Hello World" } }'
19:11 nwc10 cmd: Rounded run time per iteration: 3.108e-01 +/- 3.3e-03 (1.1%)
19:12 nwc10 so, at *one* thread, rakudo beats ithreads once Perl 5 has loaded Moose
19:12 nwc10 also, seemingly gratuitous use of env is because for some reason dumbbench doesn't work if I just tried to run perl-6 directly
19:12 nwc10 I have not yet used strace to figure out why
19:13 nwc10 (it's really slow. It doesn't make snse)
19:13 nwc10 anyway, rakudo concurrency already just for the win
19:13 nwc10 times for 5.20.1-RC1 are about the same as 5.18.2
19:35 brrt joined #perl6
19:36 brrt \o
19:36 yoleaux 3 Sep 2014 00:05Z <timotimo> brrt: i wonder why i didn't get any inlines at all in the previous instance i tried it, but now i do see inlines show up in the jitlog. maybe it only shows inlines if it has deopt points nearby?
19:36 brrt timotimo: i rely on 'inline' annotations in the spesh graph. if the spesh graph doesn't have them, then i don't know anything about them, either
19:38 dwarring joined #perl6
19:46 TimToady obviously we need a single point of control to decide whether an item can serve as its own "parcel", and it should be roughly the dual of .[0] on non-positionals
19:46 TimToady but noms first &
19:51 itz joined #perl6
19:59 slavik joined #perl6
20:00 timotimo o/ brrt
20:00 brrt \o timotimo
20:00 brrt how's stuff been :-)
20:00 brrt .... omg, segv in emacs
20:00 brrt ....
20:04 timotimo i've nommed things today :3
20:04 timotimo but that's not a big difference to other days
20:04 timotimo i suppose things are fine :)
20:08 brrt :-)
20:08 * brrt is rather tired actually, has been very busy week so far :-)
20:09 brrt low priority off-topic question, but can anybody here guess why photosynthesis can split water molecules into protons and oxygen by the power of a few photons, and 'regular' light cannot split water?
20:09 brrt i.e. if the energy of light is sufficient to split water, why is water stable under normal conditions?
20:10 brrt (i ask because i'm not in agreement on how common-sense the answer is)
20:10 timotimo that's what a "catalyst" is for :)
20:10 pippo joined #perl6
20:10 pippo o/ #perl6
20:10 colomon \o
20:11 brrt that's basically a good answer.. there is another, simpler one :-)
20:12 brrt (although i don't deny that the catalytic function is essential)
20:12 pippo question. May I use a grammar prior to its definition? I want to put the grammar's code definition at the bottom of my perl script?
20:12 timotimo what does a modern person use to build html things?
20:12 PerlJam pippo: predeclare it and I bet you can
20:13 pippo PerlJam: how ?
20:13 brrt timotimo: markdown if that person can get away with it
20:13 PerlJam pippo: grammar Foo;
20:14 pippo PerlJam: trying…
20:15 pippo PerlJam: nope :-( No such method 'TOP' for invocant of type 'Foo'
20:15 timotimo brrt: no, i do need html
20:15 brrt anyway, the simpler reason is that water is mostly transparent :-)
20:15 brrt no way to capture the energy of a photon if you're just letting them through
20:15 timotimo ah, duh :)
20:16 timotimo PerlJam: no, grammar Foo; is not a predeclaration
20:16 timotimo pippo: you want grammar Foo { ... };
20:17 pippo PerlJam: Yesssssssssssssssssss!!! TY!
20:17 breinbaas joined #perl6
20:17 pippo timotimo: Yesssssssssssssssssss!!! TY!
20:17 PerlJam heh.
20:17 PerlJam timotimo++
20:17 pippo :-))
20:18 TimToady another answer is that it takes the energy of several photons to split one molecule
20:19 TimToady yet another answer is that a photon can indeed split water if it's energetic enough to make the water look opaque :)
20:20 brrt yeah :-)
20:21 brrt and a last would be that /if/ oceanic water would be split by light, it would quickly react to water again
20:21 brrt because where would the oxygen+protons go?
20:21 brrt (in photosynthesis they are carefully kept apart)
20:21 TimToady well, assuming there wasn't enough energy to transmute something
20:21 krunen joined #perl6
20:22 brrt typically there isn't :-)
20:22 TimToady thankfully :)
20:22 brrt timotimo: i'm still not clear on what exactly you want
20:22 TimToady you're living in the O-zone
20:23 TimToady well, not that UV has enough energy either
20:25 brrt hmm... as i understand it it doesn't take all that much energy to split water as long as you have a good catalyst and a thermodynamic driver
20:25 TimToady takes "cosmic rays" to get ¹⁴C
20:26 TimToady most of them ain't photons though
20:27 brrt what is a cosmic ray, in general?
20:28 gfldex a proton
20:28 gfldex a very very fast proton
20:29 * brrt didn't know that
20:30 gfldex brrt: here you can even learn where they come from: https://www.youtube.com/watch?v=aTBvPxQIFts
20:31 brrt awesome :-)
20:32 brrt do we have a markdown parser in p6 yet?
20:35 tadzik yes
20:36 tadzik sergot++ and masak++ did that
20:38 brrt ooh nice
20:40 btyler nativecall bindings to discount would probably be pretty easy too
20:40 btyler I might do that
20:43 dolmen joined #perl6
20:47 Ven joined #perl6
20:54 kurahaupo_ joined #perl6
20:57 akaseki joined #perl6
21:02 brrt left #perl6
21:11 dalek nqp: 21215cb | (David Warring david.warring@gmail.com)++ | examples/rubyish/rubyish.nqp:
21:11 dalek nqp: Construct positional before named arguments.
21:11 dalek nqp:
21:11 dalek nqp: Work around for nqp#179. rubyish tests now all passing on MoarVM.
21:11 dalek nqp: review: https://github.com/perl6/nqp/commit/21215cb792
21:13 vendethiel- dwarring++
21:13 timotimo oh cool
21:13 timotimo time to write more tests :)
21:13 vendethiel- 'break it!
21:15 dalek rakudo/nom: 72f0e37 | duff++ | src/core/Str.pm:
21:15 dalek rakudo/nom: A more efficient Str.samecase
21:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/72f0e37a3c
21:15 dwarring heh
21:16 timotimo .seen tony-o
21:16 yoleaux I saw tony-o 29 Aug 2014 17:02Z in #perl6: <tony-o> lol
21:16 timotimo not too long ago, yay
21:17 timotimo .tell tony-o i'm going to play around with your HTTP::Server::Async for a bit :)
21:17 yoleaux timotimo: I'll pass your message to tony-o.
21:19 SamuraiJack joined #perl6
21:19 dwarring nqp jvm is missing HasAttrStore, so rubyish not working too well there yet
21:19 dwarring (repr *HashAttrStore)
21:20 dwarring needed for classes
21:23 [Coke] PerlJam: how much more efficient is that samecase?
21:25 PerlJam "lots"  :)
21:27 PerlJam In my testing I samecased a string with 1000 characters and patterns of 100 and 1000 characters.  The original samecase took (on average) .6 and .9 seconds respecitively.  The new one takes something like 0.002 and 0.011 seconds.
21:29 PerlJam also, with the original I was only patient enough to wait for it to try 10 runs because they took so long, but with the new one I can stand 1000 runs easily. :)
21:29 timotimo .tell tony-o it seems like your documentation and implementation disagree on the handling of the responsestack; your documentation says the sub should return True or False to influence further processing on the request, but the implementation seems to ignore the return value
21:29 yoleaux timotimo: I'll pass your message to tony-o.
21:37 DarthGandalf joined #perl6
21:41 itz_ joined #perl6
21:46 itz joined #perl6
21:56 itz_ joined #perl6
22:09 firefish5000 Is there a way to lock variables when using threads? (i believe NYI the last time I tried)
22:09 timotimo we do have locks
22:09 timotimo but using some pattern/primitive that doesn't require locks is usually a better way to go
22:11 firefish5000 Thats good to here. But I'll try making my old code  work without it. Thanks!
22:11 grondilu std: class Foo {}; multi infix:<**>(Foo $, -1) { "1/Foo" };
22:11 camelia std 53b3ca6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed parameter at /tmp/aAWj3M1V5B line 1:â�¤------> [32mclass Foo {}; multi infix:<**>(Foo $, [33mâ��[31m-1) { "1/Foo" };[0mâ�¤    expecting any of:â�¤     nameâ�¤   parameterâ�¤      signatureâ�¤Parse failedâ�¤FAILED 00:01 127mâ�¤Â»
22:12 grondilu std: class Foo {}; multi infix:<**>(Foo $, $ where -1) { "1/Foo" };
22:12 camelia std 53b3ca6: OUTPUT«ok 00:01 128m␤»
22:12 grondilu m: class Foo {}; multi infix:<**>(Foo $, $ where -1) { "1/Foo" }; say Foo **-1
22:12 camelia rakudo-moar c1090b: OUTPUT«1/Foo␤»
22:13 * grondilu is surprised he can't use -1 as a litteral parameter in a multi
22:13 grondilu std: class Foo {}; multi infix:<+>(Foo $, -1) { "-1+Foo" };
22:13 camelia std 53b3ca6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed parameter at /tmp/zWf0UbS8O9 line 1:â�¤------> [32mclass Foo {}; multi infix:<+>(Foo $, [33mâ��[31m-1) { "-1+Foo" };[0mâ�¤    expecting any of:â�¤     nameâ�¤   parameterâ�¤      signatureâ�¤Parse failedâ�¤FAILED 00:01 127mâ�¤Â»
22:18 PerlJam grondilu: you can always use  $ where -1 in the mean time
22:18 PerlJam (but, yeah, it seems buggy that a literal -1 doesn't work)
22:19 grondilu I'll use $ where -1 as a workaround indeed
22:24 PerlJam std: sub foo (-1) { }
22:24 camelia std 53b3ca6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed parameter at /tmp/0mpOzuHfu6 line 1:â�¤------> [32msub foo ([33mâ��[31m-1) { }[0mâ�¤    expecting any of:â�¤   nameâ�¤   parameterâ�¤      routine_defâ�¤    signatureâ�¤Parse failedâ�¤FAILED 00:01 122mâ�¤Â»
22:25 PerlJam std: sub foo (-Inf) { }
22:25 camelia std 53b3ca6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed parameter at /tmp/j8drqPjEyW line 1:â�¤------> [32msub foo ([33mâ��[31m-Inf) { }[0mâ�¤    expecting any of:â�¤ nameâ�¤   parameterâ�¤      routine_defâ�¤    signatureâ�¤Parse failedâ�¤FAILED 00:01 122mâ�¤Â»
22:25 PerlJam r: sub foo (-1) { }
22:25 camelia rakudo-jvm c1090b: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤  in  (gen/jvm/main.nqp)␤␤»
22:25 camelia ..rakudo-{parrot,moar} c1090b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Malformed parameterâ�¤at /tmp/tmpfile:1â�¤------> [32msub foo ([33mâ��[31m-1) { }[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix…»
22:25 PerlJam r: sub foo (-Inf) { }
22:25 camelia rakudo-{parrot,moar} c1090b: ( no output )
22:25 camelia ..rakudo-jvm c1090b: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤  in  (gen/jvm/main.nqp)␤␤»
22:31 kurahaupo joined #perl6
22:36 pippo night #perl6
22:36 pippo left #perl6
22:39 dirtyob joined #perl6
22:40 leont Is there a conventient way to pass %( $/ ) except with Strings instead of match objects? Now converting by hand, feels like more code than it should.
22:42 PerlJam leont: I don't think so.  But, I too wish for something like that.
22:46 leont Best I can currently come up with is «| %( $/.kv.map( -> $key, $value { $key => $value.Str } ))»
22:49 lastofthe joined #perl6
22:49 PerlJam I'd just use $^k and $^v myself, but that looks about like what I came up with last time I thought about it.
22:50 PerlJam I think I might have done ~$^v instead of calling .Str, but whatever
22:51 leont Right, I forgot about implicit named args :-)
22:52 lizmat they're positionals... not named args
22:52 leont I just realized that after I said it
22:52 * leont hasn't felt like such a noob in years :-p
22:52 lizmat «| %( $/.kv.map(  { $^k => ~$^v } ))»
22:53 TimToady |%($/kv.map(* => *)) maybe
22:53 TimToady er, with a ~
22:54 leont Shiny
22:54 TimToady there are also ways of captureing only strings using [] instead of (), sometimes
22:55 lizmat .oO( maybe a .spairs method, which would automagically stringify values
22:56 lizmat )
22:56 valiantfirkin joined #perl6
22:56 leont Yeah, I suspect this would be common enough to warrant a method
22:57 _thou joined #perl6
22:58 lizmat anyways... need to get up rather early again...  so good night #perl6!
22:58 firefish5000 Vim runs awfly slow when editing perl6 code. Anyone know any workarounds?
23:02 burpcopper joined #perl6
23:02 TimToady write smaller modules?
23:04 leont I'm observing the same, I suspect the perl6 mode is at fault
23:04 grondilu firefish5000: I recently decided to put # vim: syntax=off on the bottom of long modules
23:04 grondilu though Ideally there should be a perl6-light.vim
23:05 TimToady I've never had much trouble, except that sometimes it takes a while for the highlighting to reach where I am, but that doesn't stop me from editing
23:05 grondilu TimToady: you're using vim-perl?
23:05 TimToady there may well be some inefficiencies in the current code that could be addressed
23:05 TimToady no, just "big" vim
23:06 grondilu hat do you mean?
23:06 * grondilu thought he had the biggest vim ever
23:07 firefish5000 grondilu, I'll try syntax off (though Ill probably just deal with it most of the time)
23:07 TimToady some linuxes ship with a minimal vim that doesn't do very much, I just mean bigger than that
23:07 TimToady but not with -perl
23:07 TimToady for some reason never got into vim-perl
23:08 TimToady maybe because I knew I'd rewrite the whole thing if I did :)
23:09 * grondilu removes his .vim/syntax/perl6.vim linked to vim-perl's syntax file.  He then realizes his install of Vim apparently comes with a shipped perl6 syntax file
23:12 grondilu well it seems that my syntax file is /usr/share/vim/vim74/syntax/perl6 and it's from vim-perl anyway
23:12 firefish5000 The syntax brace matching is buggy and with just a few hundred lines it's slow... Mayby I should try making a 'big-vim' and see if that solves the problem. (jk)
23:14 xragnar joined #perl6
23:18 grondilu hum I was looking at the different versions of vim on my distrib and that made me learn about https://github.com/scrooloose/syntastic  Could be nice to have this work with perl6
23:19 * firefish5000 wonders if he should enable the 'perl' use flag on his vim instilation..
23:20 grondilu unless you do a lot of Vim scripting it's probably not much useful.
23:22 firefish5000 Rreally? that's too bad..
23:29 * leont is observing 100 CPU usage when doing anything interesting with Promises :-/
23:33 tadzik :| that doesn't sound right
23:34 firefish5000 Any plans for panda to have a upgrade/rebuild (backend?)/reinstall option? (I currently search my history for 'panda install' after rakudo/moarvm upgrades)
23:35 tadzik firefish5000: I think you're looking for rebootstrarp
23:35 xenoterracide joined #perl6
23:35 tadzik firefish5000: rakudobrew does that for you automatically after every rakudo update
23:39 firefish5000 does rakudo brew handle the upgrades or could it work with a system installation?
23:39 chenryn joined #perl6
23:40 tadzik it does everything, doesn't touch the system installation
23:40 tadzik keeps everything in $HOME
23:41 firefish5000 Alright, I'll give it a try. Thanks tadzik!
23:41 tadzik you're welcome :)
23:41 tadzik firefish5000: recommended reading: http://feather.perl6.nl/~tjs/talks/plpw14/rakudobrew/#/
23:47 firefish5000 Thanks! One last question, can it sync with git versions of rakudo/nqp/moarvm? (if so I'll remove my system installation)
23:50 zapho53 joined #perl6
23:50 Rotwang joined #perl6
23:51 tadzik firefish5000: it does use git, yes
23:51 tadzik I'm not sure what do you mean by "sync with git versions"
23:52 firefish5000 latest git head, not just rakudo star. It looks lake it should since it does use git.
23:54 zapho53 Where can I find up to date documentation for Perl 6? Perl Foundation site lists a book on github which hasn't been updated for 2 years but I imagine a lot may have changed since then.
23:58 tadzik firefish5000: you can specify any git tag or whatever goes into 'git checkout'
23:59 tadzik firefish5000: by default it's HEAD
23:59 firefish5000 That will work! Thanks Again!

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

Perl 6 | Reference Documentation | Rakudo