»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:06 tokuhiro_ joined, colomon joined 00:48 hypolin joined 01:01 alcapowned left 01:05 tokuhiro_ left 01:32 carillke left 01:35 Circlepuller joined, Circlepuller left 01:55 cognominal joined 02:02 Traceur joined, gootle joined 02:03 leprevost joined, Traceur left, Traceur joined 02:08 leprevost left 02:29 Traceur is now known as Guest71100, Guest71100 left 02:30 Guest71100 joined 02:35 renormalist left, renormalist joined 02:40 orafu left, orafu joined 02:41 daniel-s left 02:49 replore joined 02:50 lawrmcfa joined
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:50
it's old code for generating doc from parsed Perl code 02:51
02:53 nlpplz left 02:54 daniel-s joined 02:59 nlpplz joined, raiph left 03:05 replore left 03:16 gootle left, gootle joined 03:17 nemesys_ left 03:18 pmichaud left 03:20 pmichaud joined, nemesys joined 03:27 cognominal left 03:52 lawrmcfa left 04:12 telex left 04:17 fridim_ left 04:21 popl joined 04:22 telex joined 04:28 telex left 04:36 telex joined 04:37 fgomez left 04:43 skids left 05:09 hash_table left, wk left 05:19 sirrobert left, birdwindupbird joined 05:20 Guest71100 left, anuby joined, Traceur joined 05:21 Playb3yond joined 05:22 Traceur left 05:23 Traceur joined 05:29 fgomez joined
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 05:35 sirrobert joined 05:37 SamuraiJack joined 05:41 kurahaupo left 05:44 lawrmcfa joined 06:00 sirrobert left 06:02 sirrobert joined 06:04 nebuchadnezzar joined 06:21 fgomez left 06:25 kaleem joined 06:30 aharoni joined, popl left
jnthn morning, #perl6 07:00
07:04 brrt joined
brrt \o perl6 07:04
sorear o/ 07:09
07:10 xinming_ joined
tadzik oh hello 07:11
07:13 xinming left 07:19 kurahaupo joined 07:31 cognominal joined, wk joined
arnsholt o/ 07:37
07:40 wk left 07:47 hoelzro|away is now known as hoelzro 07:50 flightrecorder joined 07:53 FROGGS joined 07:55 hoelzro is now known as hoelzro|away 08:03 mishin joined 08:04 fhelmberger joined 08:05 mucker joined 08:09 wamba joined 08:12 hoelzro|away is now known as hoelzro
brrt is there stuff other than parcels that can flatten on the callee-side? 08:23
08:25 wamba left 08:27 kresike joined
kresike hello all you happy perl6 people 08:27
tadzik oh hey kresike 08:28
brrt \o kresike
basically
my question is
should callee-side flattening be polymorphic 08:29
kresike tadzik, brrt o/
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:30 Playb3yond left 08:33 wk joined 08:34 cognominal left
brrt jnthn: i kind of agree, the point being 08:35
the prototypical example of a p6 function being called with a javascript array 08:36
and, not having pmcs
wait… i have to think about this a bit
08:43 cognominal joined 08:47 dakkar joined 08:48 fgomez joined
brrt at any rate, that is a case of data compatibility 08:51
08:59 cognominal left 09:08 am0c joined 09:27 wk left 09:49 Patterner left 09:50 Psyche^ joined, Psyche^ is now known as Patterner 09:55 Psyche^ joined 09:57 Patterner left, Psyche^ is now known as Patterner 10:04 fhelmberger left, kurahaupo left 10:07 brrt left 10:09 fhelmberger joined, anuby left 10:10 daxim joined 10:31 hypolin left 10:39 dju left 10:48 Tracer joined 10:54 dju joined 11:05 Su-Shee_ joined, Traceur joined 11:06 Su-Shee left, Su-Shee_ is now known as Su-Shee 11:07 Tracer left 11:08 Tracer joined 11:10 Traceur left 11:17 am0c left, fhelmberger left, fhelmberger joined 11:20 brrt joined 11:26 cognominal joined 11:27 am0c joined 11:32 fhelmberger left 11:35 cognominal_ joined, fhelmberger joined 11:38 cognominal left 11:59 Tracer left
brrt is an aggegrate (cqrs terminology) a bit like a document 12:08
i.e, it contains the 'full graph' of some domain object
12:08 fridim_ joined 12:12 cibs left
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….
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
12:14 fridim_ left
brrt hmm, in a note taking application, would the full list be an aggegrate, or a single item on the list? 12:14
btw, that is how i understood it at first, but the cqrs.nu site has me a bit confused 12:15
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:21
What confused you on cqrs.nu, ooc? I do have a commit bit there... :) 12:22
12:22 mtk joined
brrt less curious than it seems when you have multiple users applying changes to the same data :-) 12:25
12:25 rindolf joined
brrt but thats good advice 12:26
well, basically it isn't that confusing, its just me still 'thinking' in the foreign-key-model
jnthn brrt: Oh, if you're in a collaborative domain then yes, it's good. :) 12:27
brrt well, the internet inherently makes everything collaborative :-) even if its just 1 person using multiple devices 12:28
also, i have many 'eventish' things happening to this system 12:30
'if not answered in n days send it to <x>' etc
jnthn aha 12:31
12:32 am0c left 12:35 dju left 12:36 benabik left
moritz sounds to me a bit like a ticket system 12:37
brrt yeah, thats a bit what it is 12:39
but its vague at this point
12:43 wamba joined 12:48 FROGGS left, integral left, flightrecorder left
[Coke] rn: say.HOW.say 12:49
p6eval niecza v22-7-g7df6137: OUTPUT«===SORRY!===␤␤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:␤------> say⏏.HOW.say␤␤Unhandled exception: Check failed␤␤ at /ho…
..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…
[Coke] \o/
brrt what is a saga, by the way? 12:51
oh, nm
12:56 integral joined, integral left, integral joined 12:57 hash_table joined 13:00 bluescreen10 joined, PacoAir joined 13:02 Su-Shee left 13:08 rindolf left 13:09 wamba left 13:10 integral left 13:14 integral joined, integral left, integral joined 13:25 GlitchMr joined 13:27 hash_table left, flightrecorder joined, FROGGS joined 14:00 stopbit joined 14:02 dju joined 14:06 Su-Shee joined 14:10 rindolf joined 14:13 dju left 14:16 dju joined 14:24 lawrmcfa left
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:28
brrt … thanks :-) 14:29
14:30 arlinius joined
moritz
.oO( an epic tale )
14:30
brrt thought epic was a noun 14:38
jnthn Can be a noun also.
.oO( It was an epic epic... )
14:39
[Coke] it's especially nouny when used agily.
brrt as in epicly, or is that forbidden? 14:40
arnsholt epically perhaps?
14:41 hash_table joined
[Coke] epicac? 14:44
14:56 fgomez left, benabik joined 15:00 fgomez joined, fgomez left 15:02 simcop2387 left, simcop2387 joined 15:04 Pleiades` left 15:05 bluescreen10 left 15:06 bluescreen10 joined 15:08 cognominal_ left, mishin left 15:09 Pleiades` joined 15:10 kaleem left 15:22 Pleiades` left 15:26 Woodi left 15:27 Woodi joined, Pleiades` joined 15:30 wamba joined, brrt left 15:31 hoelzro is now known as hoelzro|away
kresike bye folks 15:33
15:33 kresike left 15:38 Pleiades` left 15:43 benabik left 15:44 benabik joined 15:45 Pleiades` joined 15:50 benabik left 15:58 dju left 16:07 flightrecorder left, kaare__ joined 16:09 FROGGS left 16:12 dju joined 16:14 MayDaniel joined 16:33 wk joined 16:36 fhelmberger left 16:43 bluescreen10 left 16:58 snearch joined 17:00 snearch left, snearch joined 17:04 birdwindupbird left, fhelmberger joined, fhelmberger left 17:07 dakkar left, mikemol left 17:08 mikemol joined 17:13 fhelmberger joined, fhelmberger left 17:23 fhelmberger joined 17:24 fhelmberger left, fhelmberger_ joined 17:26 fglock joined 17:27 lawrmcfa joined 17:30 kikulli joined 17:33 kikulli left
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.
jnthn How long does Rakudo take, ooc? 17:40
17:43 spider-mario joined
colomon jnthn: on the machine in question, just under 6 minutes 17:50
jnthn That's...hardly fast.
colomon I certainly wouldn't object to a 100x speedup for Rakudo. :) 17:51
jnthn :)
Well, it all starts with --profile... :) 17:52
colomon perl6 --profile ?
jnthn yeah
And redirect stderr to callgrind.foobar
colomon doh!
perl6 --profile blah 2> callgrind.foobar ? 17:53
jnthn *nod*
colomon now running 17:54
17:54 mucker left
colomon jnthn++ 17:55
17:57 Pleiades` left
PerlJam what's a STEP file? 17:58
and rakudo++ for beating niecza in a speed race ;-) 17:59
18:00 Pleiades` joined
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.
colomon sorear: grab 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:08
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?
this is floppy era amounts of data :/ 18:10
sorear Ulti: welcome to #perl6
[Coke] w e l c o m e t o # (timeout)
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.
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
colomon Ulti: it's not the I/O, it's the parsing. 18:11
afk # emergency library run
Ulti also 6x100 minutes for parsing a 1.3MB file :'( 18:12
one thing that might be cool is having some form of segmenting or chuncking tocken so that a parser can run in parallel 18:13
*token 18:14
18:14 Chillance joined 18:15 snearch left
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
plenty of computers are hexacore so your 6 minutes goes down to 1 for free
18:31 fhelmberger joined 18:35 fhelmberger_ left, daxim left 18:37 fhelmberger left 18:39 mtk left 18:40 mtk joined, fgomez joined 18:51 _edwin joined 19:10 kevouze joined
colomon jnthn: ping? 19:11
19:12 SamuraiJack left
kevouze Hi. I am conducting a survey about newcommer experience in the Perl community. 19:13
jnthn colomon: pong
tadzik hello
kevouze blogs.perl.org/users/kevin_carillo/...urvey.html
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.
You just need to have joined Perl within the last 2 years.
tadzik I like survey, I'll do it
kevouze thanks
colomon jnthn: so, I've got a 121K callgrind profile output file. (Seems small?) What do I do with it?
tadzik unless I'm longer in the community, hm 19:14
kevouze you are too old :)
tadzik hey! I'm young! :P
my first yapc was last year, but I've been in Perl Mongers group for about 3-4 years
kevouze It have been told Perl6 is very newcomer oriented, it would be nice to have some data about PErl 6
tadzik I know someone to give the survey to 19:15
jnthn colomon: Look at it with kcachegrind
kevouze Would people here mind telling other Perl contributors about the survey? The dataset wil be released under CC license and available to Perl.
thanks 19:16
19:18 wamba left
colomon jnthn: installing kcachegrind on my Linux box. :) 19:19
19:23 birdwindupbird joined 19:24 kevouze_ joined 19:27 kevouze left
colomon jnthn: 90% of the time is spent in parse 19:31
19:32 wamba joined
jnthn Does any particular rule stand out? 19:32
Feel free to mail me the profile output also. 19:33
colomon Okay, just e-mailed it. Sorry, trying to do two things at once here. 19:34
Looks like MATCH is taking a lot of the time? 19:35
I'm not really sure what to look for in grammar profiles.
sirrobert colomon try stepping through it in the debugger... I find that super useful. 19:37
jnthn colomon: Yes, MATCH is taking up a huge amount of time 19:39
But also !reduce...hmm
Do you have any action methods?
colomon but that's to be expected, right? I mean, MATCH is most of what the program is doing, I'd think....
jnthn: no
19:41 fgomez left
jnthn Whoa. 19:41
Yeah, something is really up.
This is a very useful find.
_edwin rosettacode.org/wiki/Formal_power_series#Perl_6 19:44
colomon real-world-applications++
jnthn: have you grabbed my source code yet? 19:46
jnthn Not yet 19:47
19:49 kevouze_ left
colomon colomon: sorear: grab 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
:)
sorear fwiw, I conjecture that a missing :: is causing quadratic behavior in LTM 19:50
but I haven't had a chance to confirm this
colomon sorear: missing in my code, or in Niecza? 19:51
sorear colomon: in your code 19:56
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?
sjn _edwin: that code just looks.... nice!
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 19:58
_edwin sjn, thanks. it's glacially slow, though :/ 20:00
sjn can imagine 20:02
20:03 GlitchMr left 20:05 fglock left
_edwin std: gist.github.com/3861090 20:06
p6eval std 77327a4: OUTPUT«ok 00:02 65m␤»
_edwin phew
niecza does not like it, though 20:07
colomon _edwin: probably is the infix:<+>, etc. 20:08
I've never gotten extending arithmetic operators to work well in niecza. 20:09
_edwin: why does class FPS have @.coeffs?
_edwin niecza wants me to predeclare the multi infixes, it seems 20:10
colomon, shouldn't it? do you mean has vs. is?
colomon _edwin: actually, I see the issue now. 20:11
_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"
tadzik :)
colomon still, that's a really neat piece of code you've got there!
_edwin colomon, I see your point. maybe going to tweak it a bit 20:13
colomon _edwin: I'm delighted with your code! I think it compares really nicely to the other versions I've looked at there. 20:15
_edwin I also like the Haskell solution 20:17
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:18
and Ada calls the formal power series a "Taylor series" which makes my mathematical parts cringe ;) 20:20
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:21
_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:23
colomon _edwin: errr, I dunno. You may well may know more about it than I do. 20:24
_edwin trying to find it in the gsl source 20:26
gamma.c in libgsl has 1685 lines :} 20:31
no idea how much of this numerical math-fu is needed to get a gamma implementation that is "good enough" for CORE 20:32
colomon hmm, I didn't realize there was a complex version... 20:33
or is there? 20:34
colomon vainly tries to remember if he did anything significant with gamma in his college career...
20:34 kaare__ left
_edwin yes, it can be analytically continued 20:34
I think to everything except the non-positive integers 20:35
20:36 dju left 20:38 kurahaupo joined
dalek kudo/nom: f0acedf | jnthn++ | src/Perl6/Metamodel/ (3 files):
Make the method cache authoritative in some cases.

This makes it much cheaper for things that are doing can style checks, which is the case for grammars without any actions, .? and so forth.
  colomon++ for the profile that led to this.
20:44
jnthn colomon: I'd be interested to know how much that helps.
colomon jnthn: pulling...
20:45 birdwindupbird left
_edwin colomon++, I followed the first part of your advice already (ExplicitFPS) 20:47
jnthn colomon: On memory usage, note taht: 20:51
token standard_keyword { <upper> [ <upper> | <digit> ]* }
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
token standard_keyword { <.upper> [ <.upper> | <.digit> ]* }
_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.
colomon jnthn++ jnthn++
jnthn Maybe similar for character
And some of the others :)
_edwin when I change to "role FPS" I get an error that ExplicitFPS does not implement the method coeffs
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.
_edwin is it a bug or a feature? :}
jnthn Well, things at composition time have to happen in some order.
colomon _edwin: I think you need jnthn for that question. :) 20:54
jnthn At the moment roles are composed *then* we compose attributes.
iirc, it has to be that way because roles can contribute attributes that need accessors generating too 20:55
Is the issue that the role has a required method?
_edwin yes
jnthn Yeah...
I don't think we can fix that by swapping around the order compose does things.
But I agree it's icky
_edwin and the derived class just "has @.coeffs" and not "method coeffs { @.coeffs }" 20:56
jnthn Yeah
I suspect it's possible for the role applier to give back a list of things that are required
But not complain about them immediately
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?
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.
_edwin oh, when I switch to a role FPS and supply the require method, I get "maximum recursion depth exceeded"
jnthn sirrobert: Er, I'd whine at the guy who wrote the debugger to fix it :) 20:58
sirrobert ok =) who wrote it?
jnthn _edwin: I think you want method coeffs { @!coeffs }
_edwin: I think the requirement/accessor thing should really be fixed. Please file a ticket.
sirrobert: That'd be me :)
sirrobert jnthn: heh ok 20:59
jnthn sirrobert: I need to sleep rather soon, but if you can file a github issue at github.com/jnthn/rakudo-debugger/issues I'll be happy to look at in in the next day or so.
colomon jnthn: the change to p6 shaved a minute off the time -- now 4m54s instead of ~6m
sirrobert let me put together the golfiest script I can to show you the problem.
colomon jnthn: I'll run another profile and see what's up this time. 21:00
_edwin jnthn, thanks, the @!coeffs helps
colomon and try your suggested changes to the grammar as well.
jnthn colomon: Shaving a minute off with a patch I did in half an hour ain't bad. :)
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.
colomon jnthn: it is much appreciated.
jnthn: but I'd love to get it down to, say, one minute. :)
jnthn Well, it spends a huge amount of time creating match objects, which is not only memory but also time. 21:02
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)
sirrobert jnthn: gist.github.com/3861432 (breaks the debugger but not rakudo) 21:05
21:05 hash_table left
sirrobert jnthn: btw, great job on the debugger =) made my life much easier (jnthn++) 21:05
looking forward to when some key features get in =) 21:06
21:06 grondilu joined
grondilu my @a = 1 .. *; say (@a »*» 2)[^3] 21:06
rn: my @a = 1 .. *; say (@a »*» 2)[^3]
p6eval niecza v22-7-g7df6137: OUTPUT«(timeout)»
..rakudo 870d18: OUTPUT«␤»
jnthn grondilu: hyperops are eager 21:07
sirrobert: ah, I see what's going on...
grondilu there is no lazy alternative?
sirrobert do tell =)
colomon grondilu: @a X* 2 21:08
grondilu rn: my @a = 1 .. *; say (@a X* 2)[^3]
colomon or @a.map(* * 2)
p6eval niecza v22-7-g7df6137: OUTPUT«(timeout)»
..rakudo 870d18: OUTPUT«2 4 6␤»
sirrobert jnthn: is the debugger trying to flush stdout, but I've redefined the class without a flush?
jnthn sirrobert: Yeah, but I think I'm gonna fix the debugger to tie itself to the normal $*OUT.
grondilu rn: my @a = 1 .. *; say (map * *2, @a)[^3] 21:09
sirrobert good idea =)
jnthn sirrobert: So people debugging things that do IO capturing won't run into this.
p6eval niecza v22-7-g7df6137: OUTPUT«(timeout)»
..rakudo 870d18: OUTPUT«2 4 6␤»
jnthn sirrobert: While I have a debugger user to hand: what features do you miss most?
sirrobert ++jnthn: great. Also, I should probably make that bit o' code into an ecosystem module that's robust.
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.
n: my @a := 1 .. *; say (@a X* 2)[^3]
sirrobert jnthn: 2) ncurses stuff =)
p6eval niecza v22-7-g7df6137: OUTPUT«2 4 6␤»
sirrobert jnthn: 3) step over/in/out
those are the huge three 21:11
jnthn: (in no particular order)
grondilu colomon: ok, thanks
sirrobert jnthn: I think I would want step to be step over by default, then step into/out by specific command
jnthn: (or maybe "si" for step into, "so" for step out, and "s/<enter>" for step over 21:12
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.
jnthn: thanks =) 21:14
jnthn Oh!
sirrobert jnthn: I use the debugger almost daily =)
jnthn sirrobert: Thanks for the ideas, I've turned them into GitHub issues :) 21:15
sirrobert woot =) thanks
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
I use it a LOT
jnthn So I've been hoping to get some new things in to talk about :)
sirrobert heh nod
_edwin jnthn, I will file a rakudobug tomorrow. needing some sleep now, bye
jnthn _edwin: Thanks, see you o/
21:17 _edwin left
colomon jnthn: using <.digit> instead of <digit> in a few places there shaved another 10% off the runnining time. 21:17
jnthn++
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 :)
colomon jnthn: though that's with the older rakudo 21:19
sirrobert jnthn: heh 21:20
jnthn colomon: Yeah. Doing similar with <upper> may yield a another such improvement. 21:21
colomon you mean internally (in token upper) or where upper is used? 21:23
jnthn Where it's used
token standard_keyword { <upper> [ <upper> | <digit> ]* }
Like in that one
Suppose there's a keyword like foobar then at the moment this will create six match objects, one per character.
[Coke] colomon: boingboing.net/2012/10/09/sheet-mus...io-br.html 21:24
jnthn Whereas in reality you probably only care about the keyword as a whole.
colomon jnthn: right, I already got keyword (based on your previous suggestion)
[Coke] wonders if it would make sense to flip the sense of what gets a match object.
jnthn [Coke]: Probably not; you only tend to care about this in your handful of tokenizer-y things. 21:25
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>
because I never care about that value at all.
jnthn colomon: Yes
non_q_char may be another example
(where you don't care)
I don't know the thing you're parsing well enough to guess these :)
token special may or may not be cheaper if written as a char class 21:27
The code probably gets more readable though :)
<[ ! " * ... ]> instead of '!' | '"' | '*' | ... 21:28
Time for some sleep & 21:29
sirrobert wave 21:30
colomon is littering dots throughout his grammar...
jnthn++ and good night 21:31
jnthn: sleep well and dream of large speedups
sirrobert what bot handles karma?
21:32 fgomez joined
colomon karma jnthn 21:32
aloha jnthn has karma of 2766.
sirrobert colomon: thanks =) 21:35
ok, I'm out. wave 21:36
21:36 sirrobert left 21:44 rindolf left 21:50 aharoni left 21:54 fgomez left
grondilu r: say (1, 2) Z+ (10, 20, 30); 21:56
p6eval rakudo f0aced: OUTPUT«11 22␤»
grondilu would have liked to get 11 22 30 21:57
I mean, isn't there a simple way to do vectorial addition in arbitrary dimension? 21:59
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 …
..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␤␤»
colomon nr: say (1, 2) <<+>> (10, 20, 30)
p6eval rakudo f0aced, niecza v22-7-g7df6137: OUTPUT«11 22 31␤»
colomon still no 11 22 30 22:01
*not
grondilu r: say (1, 2, 0, 0 ... *) Z+ (10, 20, 30); # but that's kind of cheating
p6eval rakudo f0aced: OUTPUT«11 22 30␤»
22:02 supernovus joined 22:03 hash_table joined
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␤»
supernovus Uhg, I wish rakudo used github's bug tracker instead of the monstrosity that is rt.
22:07 PacoAir left 22:09 cognominal joined
supernovus Two quick questions. 1.) Anyone with a rakudo commit bit want to look at rt.perl.org/rt3/Public/Bug/Display...?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:11
22:11 spider-mario left 22:13 fgomez joined
supernovus gotta run, bbl 22:13
22:13 supernovus left
TimToady grondilu: 0, 0, ... * is better spelled 0 xx * 22:17
22:18 fgomez left
TimToady also, spec has , * meaning that on the end of a list, but I don't know if anyone implements that 22:18
22:18 tokuhiro_ joined 22:19 MayDaniel left 22:30 kevouze joined
[Coke] supernovus: submit a TPF CLA. 22:31
www.perlfoundation.org/contributor_..._agreement 22:32
22:33 _jaldhar left
[Coke] supernovus - is there a test in roast that patch makes pass? 22:34
22:35 cognominal left
[Coke] (If no one beats me to it, I'll try to apply that patch tonight after $kidstuff. 22:37
22:42 cognominal joined 22:47 stopbit left 22:51 raiph joined 22:54 sftp left 22:55 sftp joined 22:57 skids joined 23:07 Chillance left 23:14 arlinius left 23:19 gfldex left 23:21 gfldex joined 23:25 _jaldhar joined 23:26 kevouze left 23:37 wamba left 23:39 free203 joined 23:40 thou left 23:44 free203 is now known as leguin 23:50 thou joined