Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-10-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 tokuhiro_ joined #perl6
00:06 colomon joined #perl6
00:48 hypolin joined #perl6
01:35 Circlepuller joined #perl6
01:55 cognominal joined #perl6
02:02 Traceur joined #perl6
02:02 gootle joined #perl6
02:03 leprevost joined #perl6
02:03 Traceur joined #perl6
02:30 Guest71100 joined #perl6
02:35 renormalist joined #perl6
02:40 orafu joined #perl6
02:49 replore joined #perl6
02:50 lawrmcfa joined #perl6
02:50 cognominal src/utils/ in rakudo seems to contain fossil code. According to git blame, It has not been touched since Feb 2008 and does not appear anywhere in the Makefile
02:51 cognominal it's old code for generating doc from parsed Perl code
02:54 daniel-s joined #perl6
02:59 nlpplz joined #perl6
03:16 gootle joined #perl6
03:20 pmichaud joined #perl6
03:20 nemesys joined #perl6
04:21 popl joined #perl6
04:22 telex joined #perl6
04:36 telex joined #perl6
05:19 birdwindupbird joined #perl6
05:20 anuby joined #perl6
05:20 Traceur joined #perl6
05:21 Playb3yond joined #perl6
05:23 Traceur joined #perl6
05:29 fgomez joined #perl6
05:30 moritz n: say times.new(:roman)
05:30 p6eval niecza v22-7-g7df6137: OUTPUT«Unhandled exception: Cannot unbox a Variable[] from an object of repr P6opaque␤  at /home/p6eval/niecza/lib/CORE.setting line 1534 (Parcel.raw_elems @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1584 (Parcel.gist @ 10) ␤  at /home/p6eval/niecza/lib/C…
05:31 Traceur left #perl6
05:35 sirrobert joined #perl6
05:37 SamuraiJack joined #perl6
05:44 lawrmcfa joined #perl6
06:02 sirrobert joined #perl6
06:04 nebuchadnezzar joined #perl6
06:25 kaleem joined #perl6
06:30 aharoni joined #perl6
07:00 jnthn morning, #perl6
07:04 brrt joined #perl6
07:04 brrt \o perl6
07:09 sorear o/
07:10 xinming_ joined #perl6
07:11 tadzik oh hello
07:19 kurahaupo joined #perl6
07:31 cognominal joined #perl6
07:31 wk joined #perl6
07:37 arnsholt o/
07:50 flightrecorder joined #perl6
07:53 FROGGS joined #perl6
08:03 mishin joined #perl6
08:04 fhelmberger joined #perl6
08:05 mucker joined #perl6
08:09 wamba joined #perl6
08:23 brrt is there stuff other than parcels that can flatten on the callee-side?
08:27 kresike joined #perl6
08:27 kresike hello all you happy perl6 people
08:28 tadzik oh hey kresike
08:28 brrt \o kresike
08:28 brrt basically
08:28 brrt my question is
08:29 brrt should callee-side flattening be polymorphic
08:29 kresike tadzik, brrt o/
08:29 jnthn brrt: I still think the thing you are calling callee-side flattening is really all handled in Array/List and not really much to do with calling conventions.
08:33 wk joined #perl6
08:35 brrt jnthn: i kind of agree, the point being
08:36 brrt the prototypical example of a p6 function being called with a javascript array
08:36 brrt and, not having pmcs
08:36 brrt wait… i have to think about this a bit
08:43 cognominal joined #perl6
08:47 dakkar joined #perl6
08:48 fgomez joined #perl6
08:51 brrt at any rate, that is a case of data compatibility
09:08 am0c joined #perl6
09:50 Psyche^ joined #perl6
09:55 Psyche^ joined #perl6
10:09 fhelmberger joined #perl6
10:10 daxim joined #perl6
10:48 Tracer joined #perl6
10:54 dju joined #perl6
11:05 Su-Shee_ joined #perl6
11:05 Traceur joined #perl6
11:08 Tracer joined #perl6
11:17 fhelmberger joined #perl6
11:20 brrt joined #perl6
11:26 cognominal joined #perl6
11:27 am0c joined #perl6
11:35 cognominal_ joined #perl6
11:35 fhelmberger joined #perl6
12:08 brrt is an aggegrate (cqrs terminology) a bit like a document
12:08 brrt i.e, it contains the 'full graph' of some domain object
12:08 fridim_ joined #perl6
12:13 jnthn I don't really see it like a document. Mostly I see it as a representation of the current state of some domain entity, ideal for validating further changes to it. Yes, it may encapsulate a fairly complex object graph if needed.
12:13 brrt right….
12:14 jnthn If you're doing event sourcing, then I find the aggregate best thought of as "a model of the past, useful for making decisions about a requested change now"
12:14 brrt hmm, in a note taking application, would the full list be an aggegrate, or a single item on the list?
12:15 brrt btw, that is how i understood it at first, but the cqrs.nu site has me a bit confused
12:21 jnthn A note taking application feels like a curious domain to apply CQRS to. :) The way I've found easiest to figure out aggregate boundaries is to work out my events, then commands, then look at what invariants need to be enforced. The invariants you need tend to give a good clue to the aggregate boundaries.
12:22 jnthn What confused you on cqrs.nu, ooc? I do have a commit bit there... :)
12:22 mtk joined #perl6
12:25 brrt less curious than it seems when you have multiple users applying changes to the same data :-)
12:25 rindolf joined #perl6
12:26 brrt but thats good advice
12:26 brrt well, basically it isn't that confusing, its just me still 'thinking' in the foreign-key-model
12:27 jnthn brrt: Oh, if you're in a collaborative domain then yes, it's good. :)
12:28 brrt well, the internet inherently makes everything collaborative :-) even if its just 1 person using multiple devices
12:30 brrt also, i have many 'eventish' things happening to this system
12:30 brrt 'if not answered in n days send it to <x>' etc
12:31 jnthn aha
12:37 moritz sounds to me a bit like a ticket system
12:39 brrt yeah, thats a bit what it is
12:39 brrt but its vague at this point
12:43 wamba joined #perl6
12:49 [Coke] rn: say.HOW.say
12:49 p6eval niecza v22-7-g7df6137: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/C2uy1Dkr86 line 1:â�¤------> [32msay[33mâ��[31m.HOW.say[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /ho…
12:49 p6eval ..rakudo 870d18: OUTPUT«␤Null PMC access in get_bool()␤  in attributes at src/stage2/gen/nqp-mo.pm:1151␤  in method perl at src/gen/CORE.setting:791␤  in method gist at src/gen/CORE.setting:786␤  in sub say at src/gen/CORE.setting:7250␤  in method say at src/gen/CORE.setting:781␤  in bloc…
12:49 [Coke] \o/
12:51 brrt what is a saga, by the way?
12:51 brrt oh, nm
12:56 integral joined #perl6
12:56 integral joined #perl6
12:57 hash_table joined #perl6
13:00 bluescreen10 joined #perl6
13:00 PacoAir joined #perl6
13:14 integral joined #perl6
13:14 integral joined #perl6
13:25 GlitchMr joined #perl6
13:27 flightrecorder joined #perl6
13:27 FROGGS joined #perl6
14:00 stopbit joined #perl6
14:02 dju joined #perl6
14:06 Su-Shee joined #perl6
14:10 rindolf joined #perl6
14:16 dju joined #perl6
14:28 masak brrt: a saga is an old '70s notion of dividing a big transaction into many reversible steps, so as not to globally lock an entire database for a large batch job, which was a problem at the time.
14:29 brrt … thanks :-)
14:30 arlinius joined #perl6
14:30 moritz .oO( an epic tale )
14:38 * brrt thought epic was a noun
14:38 jnthn Can be a noun also.
14:39 jnthn .oO( It was an epic epic... )
14:39 [Coke] it's especially nouny when used agily.
14:40 brrt as in epicly, or is that forbidden?
14:40 arnsholt epically perhaps?
14:41 hash_table joined #perl6
14:44 [Coke] epicac?
14:56 benabik joined #perl6
15:00 fgomez joined #perl6
15:02 simcop2387 joined #perl6
15:06 bluescreen10 joined #perl6
15:09 Pleiades` joined #perl6
15:27 Woodi joined #perl6
15:27 Pleiades` joined #perl6
15:30 wamba joined #perl6
15:33 kresike bye folks
15:44 benabik joined #perl6
15:45 Pleiades` joined #perl6
16:07 kaare__ joined #perl6
16:12 dju joined #perl6
16:14 MayDaniel joined #perl6
16:33 wk joined #perl6
16:58 snearch joined #perl6
17:00 snearch joined #perl6
17:04 fhelmberger joined #perl6
17:08 mikemol joined #perl6
17:13 fhelmberger joined #perl6
17:23 fhelmberger joined #perl6
17:24 fhelmberger_ joined #perl6
17:26 fglock joined #perl6
17:27 lawrmcfa joined #perl6
17:30 kikulli joined #perl6
17:36 colomon phenny: tell sorear Rakudo absolutely murders Niecza for timing when parsing a 1.3 meg STEP file -- Niecza takes over 100x as long to parse it.
17:36 phenny colomon: I'll pass that on when sorear is around.
17:40 jnthn How long does Rakudo take, ooc?
17:43 spider-mario joined #perl6
17:50 colomon jnthn: on the machine in question, just under 6 minutes
17:50 jnthn That's...hardly fast.
17:51 colomon I certainly wouldn't object to a 100x speedup for Rakudo.  :)
17:51 jnthn :)
17:52 jnthn Well, it all starts with --profile... :)
17:52 colomon perl6 --profile  ?
17:52 jnthn yeah
17:52 jnthn And redirect stderr to callgrind.foobar
17:52 colomon doh!
17:53 colomon perl6 --profile blah 2> callgrind.foobar  ?
17:53 jnthn *nod*
17:54 colomon now running
17:55 colomon jnthn++
17:58 PerlJam what's a STEP file?
17:59 PerlJam and rakudo++ for beating niecza in a speed race ;-)
18:00 Pleiades` joined #perl6
18:06 sorear colomon: can you send me the code and the file?  I bet this is a bug
18:06 phenny sorear: 17:36Z <colomon> tell sorear Rakudo absolutely murders Niecza for timing when parsing a 1.3 meg STEP file -- Niecza takes over 100x as long to parse it.
18:08 colomon sorear: grab https://github.com/colomon/perl6-ISO_10303-21 and then run mono /path/to/niecza/run/Niecza.exe -Ilib bin/step-scan.pl t/CAx/clamp.stp
18:09 colomon jnthn: profile run is done... but I need be running a fresh outfit to the library for my wife (some sort of horrible tea accident has happened)
18:09 Ulti how can parising just 1.3MB take 6 minutes, are you doing something ontop of just parsing?
18:10 Ulti this is floppy era amounts of data :/
18:10 sorear Ulti: welcome to #perl6
18:10 [Coke] w e l c  o  m    e     t    o      # (timeout)
18:10 colomon Ulti: nope, I'm just checking to make sure the file can be parsed.  I don't actually do anything with the parse yet.
18:10 Ulti I dunno the perl6 I've been running hasn't made me feel like the IO is slow, but I guess I haven't done too much
18:11 colomon Ulti: it's not the I/O, it's the parsing.
18:11 colomon afk # emergency library run
18:12 Ulti also 6x100 minutes for parsing a 1.3MB file :'(
18:13 Ulti one thing that might be cool is having some form of segmenting or chuncking tocken so that a parser can run in parallel
18:14 Ulti *token
18:14 Chillance joined #perl6
18:15 Ulti so the first top level chunk token is matched a few times then a thread starts up to parse the internals of it whilst another one deals with the next chunk
18:15 Ulti plenty of computers are hexacore so your 6 minutes goes down to 1 for free
18:31 fhelmberger joined #perl6
18:40 mtk joined #perl6
18:40 fgomez joined #perl6
18:51 _edwin joined #perl6
19:10 kevouze joined #perl6
19:11 colomon jnthn: ping?
19:13 kevouze Hi. I am conducting a survey about newcommer experience in the Perl community.
19:13 jnthn colomon: pong
19:13 tadzik hello
19:13 kevouze http://blogs.perl.org/users/kevin_carillo/2012/1​0/newcomer-experience-and-contributor-behavior-i​n-perl-and-other-foss-communities---survey.html
19:13 kevouze Are there people here who would be keen to fill in the survey? It would interesting be able compare Perl6 practices with other perl projects.
19:13 kevouze You just need to have joined Perl within the last 2 years.
19:13 tadzik I like survey, I'll do it
19:13 kevouze thanks
19:13 colomon jnthn: so, I've got a 121K callgrind profile output file.  (Seems small?)  What do I do with it?
19:14 tadzik unless I'm longer in the community, hm
19:14 kevouze you are too old :)
19:14 tadzik hey! I'm young! :P
19:14 tadzik my first yapc was last year, but I've been in Perl Mongers group for about 3-4 years
19:14 kevouze It have been told Perl6 is very newcomer oriented, it would be nice to have some data about PErl 6
19:15 tadzik I know someone to give the survey to
19:15 jnthn colomon: Look at it with kcachegrind
19:15 kevouze Would people here mind telling other Perl contributors about the survey? The dataset wil be released under CC license and available to Perl.
19:16 kevouze thanks
19:19 colomon jnthn: installing kcachegrind on my Linux box.  :)
19:23 birdwindupbird joined #perl6
19:24 kevouze_ joined #perl6
19:31 colomon jnthn: 90% of the time is spent in parse
19:32 wamba joined #perl6
19:32 jnthn Does any particular rule stand out?
19:33 jnthn Feel free to mail me the profile output also.
19:34 colomon Okay, just e-mailed it.  Sorry, trying to do two things at once here.
19:35 colomon Looks like MATCH is taking a lot of the time?
19:35 colomon I'm not really sure what to look for in grammar profiles.
19:37 sirrobert colomon try stepping through it in the debugger... I find that super useful.
19:39 jnthn colomon: Yes, MATCH is taking up a huge amount of time
19:39 jnthn But also !reduce...hmm
19:39 jnthn Do you have any action methods?
19:39 colomon but that's to be expected, right?  I mean, MATCH is most of what the program is doing, I'd think....
19:39 colomon jnthn: no
19:41 jnthn Whoa.
19:41 jnthn Yeah, something is really up.
19:41 jnthn This is a very useful find.
19:44 _edwin http://rosettacode.org/wiki​/Formal_power_series#Perl_6
19:44 colomon real-world-applications++
19:46 colomon jnthn: have you grabbed my source code yet?
19:47 jnthn Not yet
19:49 colomon colomon: sorear: grab https://github.com/colomon/perl6-ISO_10303-21 and then run mono /path/to/niecza/run/Niecza.exe -Ilib bin/step-scan.pl t/CAx/clamp.stp
19:49 colomon :)
19:50 sorear fwiw, I conjecture that a missing :: is causing quadratic behavior in LTM
19:50 sorear but I haven't had a chance to confirm this
19:51 colomon sorear: missing in my code, or in Niecza?
19:56 sorear colomon: in your code
19:57 colomon sorear: you have a place in mind?  it's easy enough to test.
19:57 sorear but, if it is something up with your code, what is Rakudo doing to not be so affected?
19:57 sjn _edwin: that code just looks.... nice!
19:58 sorear colomon: no, this is just based on this being the problem the last 2-3 times I wrote a parser that was a hundred times slower than expected
20:00 _edwin sjn, thanks. it's glacially slow, though :/
20:02 * sjn can imagine
20:06 _edwin std: https://gist.github.com/3861090
20:06 p6eval std 77327a4: OUTPUT«ok 00:02 65m␤»
20:06 _edwin phew
20:07 _edwin niecza does not like it, though
20:08 colomon _edwin: probably is the infix:<+>, etc.
20:09 colomon I've never gotten extending arithmetic operators to work well in niecza.
20:09 colomon _edwin: why does class FPS have @.coeffs?
20:10 _edwin niecza wants me to predeclare the multi infixes, it seems
20:10 _edwin colomon, shouldn't it? do you mean has vs. is?
20:11 colomon _edwin: actually, I see the issue now.
20:12 _edwin i got past the multi complain of niecza, but then niecza hangs :(
20:12 colomon I think perhaps it would be better organized if it was "role FPS" (with no @.coeffs) and then there was an "explicit coeffs FPS" class which (like all the practical FPS classes) "does FPS"
20:12 tadzik :)
20:12 colomon still, that's a really neat piece of code you've got there!
20:13 _edwin colomon, I see your point. maybe going to tweak it a bit
20:15 colomon _edwin: I'm delighted with your code!  I think it compares really nicely to the other versions I've looked at there.
20:17 _edwin I also like the Haskell solution
20:18 _edwin yes, most of the others are not nice, and worse I think some miss the point of the mutual definition of sine and cosine
20:20 _edwin and Ada calls the formal power series a "Taylor series" which makes my mathematical parts cringe ;)
20:21 colomon _edwin: btw, I am (slowly) working at getting gamma into Niecza.  And hopefully once we've got a proof-of-concept implementation it can sneak over to the spec and Rakudo.
20:23 _edwin from an abstract point-of-view I like the prospect of the gamma function in the spec. however, it is hard to get right numerically, isn't it?
20:24 colomon _edwin: errr, I dunno.  You may well may know more about it than I do.
20:26 * _edwin trying to find it in the gsl source
20:31 _edwin gamma.c in libgsl has 1685 lines :}
20:32 _edwin no idea how much of this numerical math-fu is needed to get a gamma implementation that is "good enough" for CORE
20:33 colomon hmm, I didn't realize there was a complex version...
20:34 colomon or is there?
20:34 * colomon vainly tries to remember if he did anything significant with gamma in his college career...
20:34 _edwin yes, it can be analytically continued
20:35 _edwin I think to everything except the non-positive integers
20:38 kurahaupo joined #perl6
20:44 dalek rakudo/nom: f0acedf | jnthn++ | src/Perl6/Metamodel/ (3 files):
20:44 dalek rakudo/nom: Make the method cache authoritative in some cases.
20:44 dalek rakudo/nom:
20:44 dalek rakudo/nom: This makes it much cheaper for things that are doing can style checks,
20:44 dalek rakudo/nom: which is the case for grammars without any actions, .? and so forth.
20:44 dalek rakudo/nom: colomon++ for the profile that led to this.
20:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f0acedfc5a
20:44 jnthn colomon: I'd be interested to know how much that helps.
20:44 colomon jnthn: pulling...
20:47 _edwin colomon++, I followed the first part of your advice already (ExplicitFPS)
20:51 jnthn colomon: On memory usage, note taht:
20:51 jnthn token standard_keyword { <upper> [ <upper> | <digit> ]* }
20:51 jnthn This will make match objects for every single character, since <upper> captures. If you won't need to get at the actual individual characters, do
20:51 jnthn token standard_keyword { <.upper> [ <.upper> | <.digit> ]* }
20:52 _edwin hm, as long as FPS is a class, implementing its method coeffs { ... } in a derived class by an attribute @.coeffs works
20:52 jnthn Which calls the rule but won't capture.
20:52 colomon jnthn++ jnthn++
20:52 jnthn Maybe similar for character
20:52 jnthn And some of the others :)
20:52 _edwin when I change to "role FPS" I get an error that ExplicitFPS does not implement the method coeffs
20:53 _edwin it seems the implicit accessor method does not count towards the role
20:53 colomon _edwin: you can easily explicitly define it, obviously, but I am surprised, I admit.
20:53 _edwin is it a bug or a feature? :}
20:53 jnthn Well, things at composition time have to happen in some order.
20:54 colomon _edwin: I think you need jnthn for that question.  :)
20:54 jnthn At the moment roles are composed *then* we compose attributes.
20:55 jnthn iirc, it has to be that way because roles can contribute attributes that need accessors generating too
20:55 jnthn Is the issue that the role has a required method?
20:55 _edwin yes
20:55 jnthn Yeah...
20:55 jnthn I don't think we can fix that by swapping around the order compose does things.
20:55 jnthn But I agree it's icky
20:56 _edwin and the derived class just "has @.coeffs" and not "method coeffs { @.coeffs }"
20:56 jnthn Yeah
20:56 jnthn I suspect it's possible for the role applier to give back a list of things that are required
20:56 jnthn But not complain about them immediately
20:56 jnthn And then we check if they're there later
20:57 sirrobert is there a way in code to know whether I'm in the debugger or not?
20:57 sirrobert I have a small bit of code that breaks if I'm in the debugger and not if I'm not.  I want it to auto-disable when I'm debugging.
20:57 _edwin oh, when I switch to a role FPS and supply the require method, I get "maximum recursion depth exceeded"
20:57 jnthn sirrobert: Er, I'd whine at the guy who wrote the debugger to fix it :)
20:58 sirrobert ok =)  who wrote it?
20:58 jnthn _edwin: I think you want method coeffs { @!coeffs }
20:58 jnthn _edwin: I think the requirement/accessor thing should really be fixed. Please file a ticket.
20:58 jnthn sirrobert: That'd be me :)
20:59 sirrobert jnthn: heh ok
20:59 jnthn sirrobert: I need to sleep rather soon, but if you can file a github issue at https://github.com/jnthn/rakudo-debugger/issues I'll be happy to look at in in the next day or so.
20:59 colomon jnthn: the change to p6 shaved a minute off the time -- now 4m54s instead of ~6m
20:59 sirrobert let me put together the golfiest script I can to show you the problem.
21:00 colomon jnthn: I'll run another profile and see what's up this time.
21:00 _edwin jnthn, thanks, the @!coeffs helps
21:00 colomon and try your suggested changes to the grammar as well.
21:00 jnthn colomon: Shaving a minute off with a patch I did in half an hour ain't bad. :)
21:01 colomon jnthn: agreed!
21:01 jnthn Also around 15% - 20% gain is the upper bound of what I expected, so seems it hit about there.
21:01 colomon jnthn: it is much appreciated.
21:01 colomon jnthn: but I'd love to get it down to, say, one minute.  :)
21:02 jnthn Well, it spends a huge amount of time creating match objects, which is not only memory but also time.
21:03 PerlJam jnthn: just add some code to preallocate them  ;)
21:03 colomon jnthn: yes, I'm doing a prelim timing on my Mac before trying that change (while I run another profile on the linux box)
21:05 sirrobert jnthn:  https://gist.github.com/3861432  (breaks the debugger but not rakudo)
21:05 sirrobert jnthn:  btw, great job on the debugger =)  made my life much easier (jnthn++)
21:06 sirrobert looking forward to when some key features get in =)
21:06 grondilu joined #perl6
21:06 grondilu my @a = 1 .. *; say (@a »*» 2)[^3]
21:06 grondilu rn: my @a = 1 .. *; say (@a »*» 2)[^3]
21:06 p6eval niecza v22-7-g7df6137: OUTPUT«(timeout)»
21:06 p6eval ..rakudo 870d18: OUTPUT«␤»
21:07 jnthn grondilu: hyperops are eager
21:07 jnthn sirrobert: ah, I see what's going on...
21:07 grondilu there is no lazy alternative?
21:07 sirrobert do tell =)
21:08 colomon grondilu: @a X* 2
21:08 grondilu rn: my @a = 1 .. *; say (@a X* 2)[^3]
21:08 colomon or @a.map(* * 2)
21:08 p6eval niecza v22-7-g7df6137: OUTPUT«(timeout)»
21:08 p6eval ..rakudo 870d18: OUTPUT«2 4 6␤»
21:08 sirrobert jnthn: is the debugger trying to flush stdout, but I've redefined the class without a flush?
21:08 jnthn sirrobert: Yeah, but I think I'm gonna fix the debugger to tie itself to the normal $*OUT.
21:09 grondilu rn: my @a = 1 .. *; say (map * *2, @a)[^3]
21:09 sirrobert good idea =)
21:09 jnthn sirrobert: So people debugging things that do IO capturing won't run into this.
21:09 p6eval niecza v22-7-g7df6137: OUTPUT«(timeout)»
21:09 p6eval ..rakudo 870d18: OUTPUT«2 4 6␤»
21:09 jnthn sirrobert: While I have a debugger user to hand: what features do you miss most?
21:09 sirrobert ++jnthn:  great.  Also, I should probably make that bit o' code into an ecosystem module that's robust.
21:10 sirrobert jnthn: 1) ability to add breakpoints from within code (rather than just within the debugger)
21:10 colomon grondilu: in niecza, the timeout is from @a = 1..*, I think.
21:10 colomon n: my @a := 1 .. *; say (@a X* 2)[^3]
21:10 sirrobert jnthn: 2) ncurses stuff =)
21:10 p6eval niecza v22-7-g7df6137: OUTPUT«2 4 6␤»
21:10 sirrobert jnthn:  3)  step over/in/out
21:11 sirrobert those are the huge three
21:11 sirrobert jnthn: (in no particular order)
21:11 grondilu colomon: ok, thanks
21:11 sirrobert jnthn:  I think I would want step to be step over by default, then step into/out by specific command
21:12 sirrobert jnthn: (or maybe "si" for step into, "so" for step out, and "s/<enter>" for step over
21:13 jnthn sirrobert: Step over/step in/step out should be quite doable.
21:13 sirrobert jnthn:  OH!  and 4) make 'self' available.  debugging currently doesn't let me see object properties.
21:13 sirrobert jnthn: thanks =)
21:14 jnthn Oh!
21:14 sirrobert jnthn: I use the debugger almost daily =)
21:15 jnthn sirrobert: Thanks for the ideas, I've turned them into GitHub issues :)
21:15 sirrobert woot =)  thanks
21:16 jnthn I've got a 40 min slot at Nordic Perl Workshop at the weekend to show/talk about the debugger. :)
21:16 sirrobert heh nice
21:16 sirrobert I use it a LOT
21:16 jnthn So I've been hoping to get some new things in to talk about :)
21:16 sirrobert heh nod
21:16 _edwin jnthn, I will file a rakudobug tomorrow. needing some sleep now, bye
21:16 jnthn _edwin: Thanks, see you o/
21:17 colomon jnthn: using <.digit> instead of <digit> in a few places there shaved another 10% off the runnining time.
21:17 colomon jnthn++
21:18 sirrobert jnthn:  fwiw, I would order them 4,3,1,2 probably.
21:18 jnthn sirrobert: I know shamefully little about ncurses so that's probably wise :)
21:19 colomon jnthn: though that's with the older rakudo
21:20 sirrobert jnthn: heh
21:21 jnthn colomon: Yeah. Doing similar with <upper> may yield a another such improvement.
21:22 colomon you mean internally (in token upper) or where upper is used?
21:23 jnthn Where it's used
21:23 jnthn token standard_keyword { <upper> [ <upper> | <digit> ]* }
21:23 jnthn Like in that one
21:23 jnthn Suppose there's a keyword like foobar then at the moment this will create six match objects, one per character.
21:24 [Coke] colomon: http://boingboing.net/2012/10/09/s​heet-music-for-super-mario-br.html
21:24 jnthn Whereas in reality you probably only care about the keyword as a whole.
21:24 colomon jnthn: right, I already got keyword (based on your previous suggestion)
21:24 * [Coke] wonders if it would make sense to flip the sense of what gets a match object.
21:25 jnthn [Coke]: Probably not; you only tend to care about this in your handful of tokenizer-y things.
21:26 jnthn Most of the rest of the time you do care about that pieces.
21:26 colomon jnthn: ah, so in (for instance) token page I might as well add the dot to <reverse_solidus>
21:26 colomon because I never care about that value at all.
21:26 jnthn colomon: Yes
21:26 jnthn non_q_char may be another example
21:26 jnthn (where you don't care)
21:26 jnthn I don't know the thing you're parsing well enough to guess these :)
21:27 jnthn token special may or may not be cheaper if written as a char class
21:27 jnthn The code probably gets more readable though :)
21:28 jnthn <[ ! " * ... ]> instead of '!' | '"' | '*' |  ...
21:29 jnthn Time for some sleep &
21:30 sirrobert wave
21:30 * colomon is littering dots throughout his grammar...
21:31 colomon jnthn++ and good night
21:31 colomon jnthn: sleep well and dream of large speedups
21:31 sirrobert what bot handles karma?
21:32 fgomez joined #perl6
21:32 colomon karma jnthn
21:32 aloha jnthn has karma of 2766.
21:35 sirrobert colomon: thanks =)
21:36 sirrobert ok, I'm out.  wave
21:56 grondilu r: say (1, 2) Z+ (10, 20, 30);
21:56 p6eval rakudo f0aced: OUTPUT«11 22␤»
21:57 * grondilu would have liked to get 11 22 30
21:59 grondilu I mean, isn't there a simple way to do vectorial addition in arbitrary dimension?
22:00 colomon nr: say (1, 2) >>+<< (10, 20, 30)
22:00 p6eval niecza v22-7-g7df6137: OUTPUT«Unhandled exception: Ran off end of non-dwimmy left␤  at /home/p6eval/niecza/lib/CORE.setting line 1437 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3126 (ANON @ 32) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3133 (_hyper_posi @ 11) ␤  at …
22:00 p6eval ..rakudo f0aced: OUTPUT«Lists on both side of non-dwimmy hyperop of infix:<+> are not of the same length␤left: 2 elements, right: 3 elements␤  in sub hyper at src/gen/CORE.setting:12184␤  in block  at src/gen/CORE.setting:12163␤  in block  at /tmp/WMPGy1AzyL:1␤␤»
22:00 colomon nr: say (1, 2) <<+>> (10, 20, 30)
22:00 p6eval rakudo f0aced, niecza v22-7-g7df6137: OUTPUT«11 22 31␤»
22:01 colomon still no 11 22 30
22:01 colomon *not
22:01 grondilu r: say (1, 2, 0, 0 ... *) Z+ (10, 20, 30);  # but that's kind of cheating
22:01 p6eval rakudo f0aced: OUTPUT«11 22 30␤»
22:02 supernovus joined #perl6
22:03 hash_table joined #perl6
22:05 grondilu r: sub infix:<V+>(@a, @b) { my @z := 0, 0 ... *; @a > @b ?? (@a Z+ (@b, @z)) !! ((@a, @z) Z+ @b) }; say (1, 2) V+ (10, 20, 30)
22:05 p6eval rakudo f0aced: OUTPUT«11 22 30␤»
22:05 supernovus Uhg, I wish rakudo used github's bug tracker instead of the monstrosity that is rt.
22:09 cognominal joined #perl6
22:11 supernovus Two quick questions. 1.) Anyone with a rakudo commit bit want to look at https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=115120  it's a small easy patch that adds an important feature to the pack function. 2.) How does one go about getting a commit bit on rakudo?
22:13 fgomez joined #perl6
22:13 supernovus gotta run, bbl
22:17 TimToady grondilu: 0, 0, ... * is better spelled 0 xx *
22:18 TimToady also, spec has , * meaning that on the end of a list, but I don't know if anyone implements that
22:18 tokuhiro_ joined #perl6
22:30 kevouze joined #perl6
22:31 [Coke] supernovus: submit a TPF CLA.
22:32 [Coke] http://www.perlfoundation.org/​contributor_license_agreement
22:34 [Coke] supernovus - is there a test in roast that patch makes pass?
22:37 [Coke] (If no one beats me to it, I'll try to apply that patch tonight after $kidstuff.
22:42 cognominal joined #perl6
22:51 raiph joined #perl6
22:55 sftp joined #perl6
22:57 skids joined #perl6
23:21 gfldex joined #perl6
23:25 _jaldhar joined #perl6
23:39 free203 joined #perl6
23:50 thou joined #perl6

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

Perl 6 | Reference Documentation | Rakudo