Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-11-16

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:00 araujo joined #perl6
00:03 japhb Switching to bigint ops, Str.Numeric() stress is about 10% slower again, but does way better in the type correctness test.
00:03 dalek nqp/nfa: 5680b10 | jnthn++ | src/QRegex/NFA.nqp:
00:03 dalek nqp/nfa: Fix NFA construction for the empty literal, so / '' / now gets its NFA built properly. Gets 45-smartmatch.t building and passing again.
00:03 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/5680b10130
00:04 jnthn japhb: Well, correct first, then we can work on performance. The bigint code only just landed; I'm sure there's some room yet for making things faster :)
00:05 japhb jnthn, yup, my feelings exactly.  :-)
00:07 japhb Sanity check -- Are the following true statements: 1. It doesn't make any sense to do 'my int $foo :=', because you can't bind to a native var.  2. For 6model types (including importantly Int), binding is faster than assignment.
00:09 jnthn Both correct
00:10 jnthn And in the case of 2 the optimizer should be able to do something intelligent to give a further benefit at some point too.
00:10 japhb Excellent, thank you jnthn++
00:30 jasonmay perl6: say ...;
00:30 p6eval rakudo abc35c: OUTPUT«Failure.new()␤»
00:30 p6eval ..pugs b927740: OUTPUT«*** Cannot use this control structure outside a 'routine' structure␤    at /tmp/y_QZfP1KIL line 1, column 5-8␤»
00:30 p6eval ..niecza v11-23-g18f7db0: OUTPUT«Unhandled exception: >>>Stub code executed␤  at /tmp/I8yVseOS5W line 1 (mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2224 (ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2225 (module-CORE @ 58) ␤  at /home/p6eval/niecza/lib/CORE…
00:30 jnthn 'night, #perl6
00:30 diakopter o/
00:31 japhb o/
00:39 whiteknight joined #perl6
00:43 japhb nom: for 0 .. 20 -> $exp { my $foo = 16 ** $exp; say "broken if ! @ 16 ** $exp" if !$foo; say "broken unless @ 16 ** $exp" unless $foo; }
00:43 p6eval nom abc35c: OUTPUT«broken unless @ 16 ** 16␤broken unless @ 16 ** 17␤broken unless @ 16 ** 18␤broken unless @ 16 ** 19␤broken unless @ 16 ** 20␤»
00:44 japhb jnthn, moritz: ^^
00:45 japhb jnthn, moritz: note that on a 32-bit system, the threshold where unless starts to fail is 16 ** 8
00:47 rjbs perl6: my @a; say defined @a;
00:47 p6eval rakudo abc35c, niecza v11-23-g18f7db0: OUTPUT«Bool::True␤»
00:47 p6eval ..pugs b927740: OUTPUT«1␤»
00:48 rjbs Is @a every undefined?
00:48 rjbs s/y//
00:50 japhb nom: my @a := Mu; say @a.defined;
00:50 p6eval nom abc35c: OUTPUT«Bool::False␤»
00:51 japhb rjbs: ^^
00:51 japhb Mind you, that's kinda pathological.  :-)
01:19 woosley joined #perl6
01:21 envi_ joined #perl6
01:22 envi_ joined #perl6
01:25 rjbs perl6: my @a := Mu; say (@a // 123)
01:25 p6eval rakudo abc35c, niecza v11-23-g18f7db0: OUTPUT«123␤»
01:25 p6eval ..pugs b927740: OUTPUT«*** No such subroutine: "&Mu"␤    at /tmp/MILb5BRICn line 1, column 1-12␤»
01:25 rjbs Thanks.
01:53 wolfman2000 joined #perl6
02:01 hypolin joined #perl6
02:20 alvis joined #perl6
02:35 ethndbst joined #perl6
02:35 ethndbst joined #perl6
02:42 eiro_ joined #perl6
02:56 donri joined #perl6
03:01 [Coke] ho, rjbs.
03:03 rjbs ahoyhoy
03:06 cooper joined #perl6
03:23 dukeleto what is the new "master" branch of Rakudo again? nom ?
03:23 dukeleto are releases being cut from nom?
03:24 dukeleto or is that the dev tip?
03:26 rjbs left #perl6
03:26 Tamal joined #perl6
03:27 Tamal hello every one
03:28 Tamal hello
03:31 dukeleto Tamal: howdy
03:31 Tamal :)
03:31 Tamal ci need help
03:31 Tamal GM
03:32 Tamal is their any web framework for perl6
03:32 Tamal ?
03:32 replore joined #perl6
03:32 ethndbst joined #perl6
03:38 donri yes
03:40 Tamal hello
03:40 Tamal can u tell ?
03:40 Tamal is their any web framework for perl6 ?
03:45 donri yes
03:48 Tamal where ?
03:48 Tamal plz tell
03:50 lichtkind just look under module.perl6.org
03:50 lichtkind its called web.pm
03:50 lichtkind just look under modules.perl6.org
03:56 colomon dukeleto: nom is the master now.  I think there have been a couple of releases from it.
04:00 dukeleto colomon: awesome
04:01 colomon mind you, it still is missing some features that the old master (now dubbed "b") has.
04:01 * dukeleto just submitted a hague grant for PL/Perl6 (Rakudo in Postgres as a stored procedure language)
04:01 colomon ooo, interesting!
04:02 dukeleto colomon: do most perl 6 modules still work with nom ?
04:02 dukeleto colomon: http://pgxn.org/dist/plparrot/html/plperl6.html
04:02 colomon I'm not up-to-date, but last time I checked the answer was no.
04:02 dukeleto :(
04:03 dukeleto colomon: is there a list somewhere of regressions from "b" to nom ?
04:04 colomon not that I know of.
04:04 colomon :( indeed.
04:04 colomon it may be I've just been out of the loop.
04:05 * dukeleto has been in another loop universe if colomon has been out of the loop
04:09 birdwindupbird joined #perl6
04:13 lichtkind good night
04:15 daniel-s joined #perl6
04:31 mkramer joined #perl6
04:39 moritz nom: say so 2**64
04:39 p6eval nom abc35c: OUTPUT«Bool::True␤»
04:39 moritz nom: say so 2**32
04:39 p6eval nom abc35c: OUTPUT«Bool::True␤»
04:40 moritz nom: say so 16 ** 18
04:40 p6eval nom abc35c: OUTPUT«Bool::True␤»
04:40 moritz nom: say "OH NOEZ" unless 16 ** 18
04:41 p6eval nom abc35c: OUTPUT«OH NOEZ␤»
04:41 moritz jnthn: it seems that 'unless' doesn't go through .Bool, but tries to unbox the int idrectly
04:47 moritz jnthn: or maybe it is related to the boolification protocol (which I don't grok)?
04:47 packetknife joined #perl6
04:49 mkramer left #perl6
04:49 molaf joined #perl6
04:52 sorear good * #perl6
05:01 ethndbst joined #perl6
05:01 ethndbst joined #perl6
05:08 cognominal joined #perl6
05:09 cbk1090 joined #perl6
05:11 birdwindupbird joined #perl6
05:13 odoacre joined #perl6
05:30 kaleem joined #perl6
05:31 thou joined #perl6
05:34 autin joined #perl6
05:35 Chillance joined #perl6
05:55 Timbus nom: say "foo" unless 1
05:55 p6eval nom abc35c:  ( no output )
05:55 Timbus nom: say "foo" unless 2 ** 64
05:55 p6eval nom abc35c: OUTPUT«foo␤»
05:55 Timbus heh
05:56 Timbus nom: say "foo" if !2 ** 64
05:56 p6eval nom abc35c:  ( no output )
05:56 Timbus :I
05:57 Timbus nom: say "foo" if not 2 ** 64
05:57 p6eval nom abc35c:  ( no output )
05:57 Timbus nom: say "foo" if 2 ** 64
05:57 p6eval nom abc35c:  ( no output )
05:58 Timbus i see
05:58 cbk1090 Timbus, Do you know any good examples of perl6 Grammars on the net?
05:58 Timbus aside from std.pm
05:59 Timbus hmm many of the languages in parrot use them
06:00 Timbus check if winxed and lua use them..
06:00 tadzik no, yes, iirc
06:00 tadzik plenty of modules from modules.perl6.org use some sort of grammras
06:00 Timbus https://github.com/fperrad/lua/​blob/master/src/nqp/grammar.pg
06:01 cbk1090 ok...
06:01 Timbus https://github.com/parrot/cardinal​/blob/master/src/parser/grammar.pg
06:01 Timbus theres two good ones
06:01 Timbus were you looking more for like, a tutorial or simplified breakdown of grammars
06:02 moritz the JSON grammar is nice
06:03 Timbus nom: say "foo" if (2 ** 64 but True)
06:03 p6eval nom abc35c:  ( no output )
06:03 Timbus pfft
06:03 tadzik nom: say 2 ** 64
06:03 moritz https://github.com/moritz/json/blo​b/master/lib/JSON/Tiny/Grammar.pm
06:03 p6eval nom abc35c: OUTPUT«18446744073709551616␤»
06:03 tadzik nom: say 2 ** 128
06:03 p6eval nom abc35c: OUTPUT«340282366920938463463374607431768211456␤»
06:03 tadzik awesome :>
06:03 Timbus is it using gmp
06:03 tadzik nom: say (2 ** 128).WHAT
06:03 p6eval nom abc35c: OUTPUT«Int()␤»
06:04 tadzik Timbus: libtommath
06:04 Timbus never even heard of it
06:04 Timbus im assuming its not as fast but more portable. because thats basically how it always goes
06:04 * moritz neither
06:04 Timbus when comparing to gmp
06:05 * tadzik neither
06:05 tadzik until recently, "libtommath" "nqp" "awesome"
06:05 Timbus lol
06:10 Timbus http://hackage.haskell.org/trac/ghc/wiki/​ReplacingGMPNotes/PerformanceMeasurements well heres some graphs and junk. it'll do
06:11 cbk1090 here is what I have so far.... http://pastebin.com/nMpp60yB
06:12 cbk1090 I'm not sure if I use rule or token...?
06:13 cbk1090 I was using the JSON::Tiny::Grammar as an example.
06:13 Timbus tokens have significant whitespace. rules don't
06:14 cbk1090 ok then I'll use rules.
06:14 Timbus so tokens are more like individual units i guess
06:15 Timbus sooo whats stardate?
06:15 cbk1090 oh sorry I changed that to date.
06:15 Timbus it can't be \N though..
06:15 Timbus well it can
06:15 cbk1090 but sence I was using Zulu time I thought it would be cool to call it stardate. :)
06:16 cbk1090 I did use rule date{ \d**4 \- \d\d \- \d\d T \d\d\ : \d\d\ : \d\d Z }  but it didn't work.
06:18 Timbus well i guess it depends on your usage
06:18 cbk1090 I'm testing it by doing this: if Record::Grammar.parse($line) { say "MATCH FOUND USING GRAMMER";} else {say "GRAMMAR NOT FOUND.";}
06:20 Timbus yeah that'd work.
06:21 Timbus so what are you parsing out
06:21 cbk1090 then is should match TOP right?
06:21 Timbus yes
06:22 cbk1090 the record a line of text stored as: date {TAB} topic {TAB} remarks
06:23 ethndbst joined #perl6
06:23 ethndbst joined #perl6
06:23 Timbus well yeah, but if its tab delimited, why not just have date, topic and remark as '.+'
06:25 cbk1090 I think I did something like that at first but it didn't work so I found another example and went with the \N+
06:26 Timbus does the string you are parsing contain any newlines anywhere?
06:27 cbk1090 well no I don't think so, maybe at the end..?
06:28 Timbus well, \N+ seems inappropriate in that case
06:28 Timbus \T matches anything but a tab
06:29 Timbus you should consider using that, unless your line has tabs inside it that aren't delimiters
06:29 cbk1090 the line of text is made like this: $db.say("$dateStamp \t  $topic \t $remarks");
06:30 cbk1090 I use tabs
06:32 Timbus i mean, if $remarks has a tab in it,
06:32 Timbus it might make it a bit messy
06:32 cbk1090 the input is taken from the commnd line (topic_remarks)
06:32 cbk1090 no remarks will not have a tab ever.
06:33 cbk1090 after the input is given the dateStamp is added.
06:33 Timbus in that case, rule parse { <date>=[\T*] \t <topic>=[\T*] \t <remarks>=[\T*] }
06:34 Timbus uh, rule TOP
06:34 cbk1090 so can you explain <date>=[\T*] for me?
06:35 Timbus sure
06:35 cbk1090 as I understand I define date or topic as another rule..?
06:35 sorear <date>=[\T*] is a syntax error
06:35 sorear perhaps you meant $<date>=[\T*]
06:35 Timbus $<data>
06:35 Timbus beaten
06:36 Timbus :[
06:37 Timbus it's how you name a submatch in perl6 grammars, without having to make a whole new rule essentially.
06:39 Timbus http://perlcabal.org/syn/S05.html#Named_scal​ar_aliases_applied_to_non-capturing_brackets cbk1090
06:39 replore joined #perl6
06:40 koban joined #perl6
06:40 koban left #perl6
06:42 cbk1090 ok I'll work with that for a bit.  Thank you very much.
06:57 wtw joined #perl6
06:58 cognominal_ joined #perl6
07:39 vmspb joined #perl6
07:46 sorear o/ vmspb
07:47 vmspb hi
08:00 ethndbst joined #perl6
08:00 ethndbst joined #perl6
08:22 vmspb joined #perl6
08:35 packetknife joined #perl6
08:38 Saran joined #perl6
08:39 Saran A newbee here :)
08:39 Saran *newbie
08:47 Saran Any one out there?
08:47 Saran Looking forward to contribute on parrot opensource
08:49 mj41 joined #perl6
08:50 cognominal joined #perl6
08:53 cognominal joined #perl6
08:55 cognominal Saran, if you are interested in parrot the VM as opposed to Perl 6, a language implemented on top of it,  #parrot on irc.perl.org is a better channel that here.
08:55 cognominal I mean #parrot would be a more appropriate channel.
08:58 jnthn morning, #perl6
08:59 Saran ok.thanks < cognominal >
09:00 jnthn moritz, japhb: Suspect it's boolification protocol; will fix later today.
09:02 Saran url for parrot..on irc.perl.org?
09:04 cognominal Aran,   irc.perl.org is the server and #parrot the channel
09:34 kaleem_ joined #perl6
09:43 muixirt joined #perl6
09:43 muixirt good morning
09:44 muixirt congratulations for bigint and the speedups of rakudo perl made possible!
09:50 Woodi perl6: my $r = ':1'; my Int $l = substr( $r, 1, $r.bytes ); say $l
09:50 p6eval rakudo abc35c: OUTPUT«Type check failed in assignment to '$l'; expected 'Int' but got 'Str'␤  in block <anon> at /tmp/QZffMsf3ma:1␤  in <anon> at /tmp/QZffMsf3ma:1␤»
09:50 p6eval ..niecza v11-23-g18f7db0: OUTPUT«Unhandled exception: Nominal type check failed for scalar store; got Str, needed Int or subtype␤  at /tmp/l87s8Herif line 1 (mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2224 (ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2225 …
09:50 p6eval ..pugs b927740: OUTPUT«1␤»
09:51 Woodi perl6: my $r = ':1'; my $l = substr( $r, 1, $r.bytes ); say $l
09:51 p6eval pugs b927740, rakudo abc35c, niecza v11-23-g18f7db0: OUTPUT«1␤»
09:51 jnthn muixirt: It's nice to be making progress :)
09:53 dakkar joined #perl6
09:53 mls morning
09:53 phenny mls: 15 Nov 20:47Z <jnthn> tell mls I tried to bring in your directaccess patch to nqp again, but it breaks the Rakudo build.
09:54 mls ts ts. ok, I'll fix it.
09:54 Woodi 'ts' like used by E.Weatherwax ?
10:00 mls Granny weatherwax? From Pterry?
10:03 woosley left #perl6
10:03 envi_ joined #perl6
10:04 Woodi yes. just wonder where 'ts' comes from. maybe just English ?
10:04 Woodi # she use 'ts ts ts' during poker rounds
10:05 mls dunnu, I'm from germany. It's used here as a sign of disapproval
10:05 Woodi seems universal :)
10:06 Woodi on: my Int $l = substr( ... : is it bug ?
10:07 jnthn No, it's correct.
10:07 jnthn substr returns a Str.
10:07 mls I should re-read some of the discworld books, I don't remember that 'ts ts ts' quote.
10:07 mux Ook! Oook!
10:08 mls bad monkey!
10:08 Woodi jnthn: should, but I hope for autoconversion
10:09 jnthn Woodi: It's a type *constraint*.
10:11 Woodi ...for $lenght var...
10:12 Woodi work on pugs
10:12 Woodi mls: from: Witches Abroad probably
10:12 mls thanks.
10:13 ab5tract joined #perl6
10:13 Woodi do 'pugs' comes from 'Riftwar Saga' ?
10:15 snearch joined #perl6
10:18 Timbus nay, it comes from hugs
10:19 Timbus http://www.haskell.org/hugs/
10:19 Woodi oh, k :)
10:38 mls jnthn: the build works for me. now running spectest
10:39 mls jnthn: did you re-apply both ae3236c8 and ca125937?
10:39 jnthn mls: Oh! I somehow missed ca125937, it seems
10:40 mls that explains it ;)
10:57 daxim joined #perl6
11:05 vmspb rakudo: $_=2; say "1 $_ #"
11:05 p6eval rakudo abc35c: OUTPUT«===SORRY!===␤Confused at line 1, near "say \"1 $_ "␤»
11:09 vmspb rakudo: $_=2; say "  $_ #"
11:09 p6eval rakudo abc35c: OUTPUT«===SORRY!===␤Confused at line 1, near "say \"  $_ "␤»
11:09 vmspb rakudo: $_=2; say " $_ #"
11:09 p6eval rakudo abc35c: OUTPUT«===SORRY!===␤Confused at line 1, near "say \" $_ #"␤»
11:14 jnthn rakudo: $_=2; say " $_ "
11:14 p6eval rakudo abc35c: OUTPUT« 2 ␤»
11:14 jnthn rakudo: $_=2; say " $_ x#"
11:14 p6eval rakudo abc35c: OUTPUT« 2 x#␤»
11:14 jnthn rakudo: $_=2; say " $_ #"
11:14 p6eval rakudo abc35c: OUTPUT«===SORRY!===␤Confused at line 1, near "say \" $_ #"␤»
11:14 jnthn rakudo: $_=2; say " $_ # "
11:14 p6eval rakudo abc35c: OUTPUT«===SORRY!===␤Confused at line 1, near "say \" $_ #"␤»
11:14 jnthn std: $_=2; say " $_ # "
11:14 p6eval std be1f10e: OUTPUT«ok 00:01 122m␤»
11:14 jnthn ugh
11:20 vmspb perl6: $_=2; say "$_#"
11:20 p6eval rakudo abc35c: OUTPUT«===SORRY!===␤Confused at line 1, near "say \"$_#\""␤»
11:20 p6eval ..pugs b927740, niecza v11-23-g18f7db0: OUTPUT«2#␤»
12:12 Psyche^ joined #perl6
12:21 skangas joined #perl6
12:23 wtw joined #perl6
12:23 lestrrat joined #perl6
12:23 tomaw joined #perl6
12:23 buubot_backup joined #perl6
12:23 literal joined #perl6
12:37 bluescreen10 joined #perl6
12:53 molaf joined #perl6
12:58 vmspb perl6: say "\x40_\x[40]"
12:58 p6eval pugs b927740, rakudo abc35c, niecza v11-23-g18f7db0: OUTPUT«@_@␤»
12:58 vmspb perl6: say «\x40_\x[40]»
12:58 p6eval pugs b927740: OUTPUT«decodeUTF8': bad data: '\171'␤decodeUTF8': bad data: '\187'␤@_@␤»
12:58 p6eval ..rakudo abc35c, niecza v11-23-g18f7db0: OUTPUT«@_@␤»
12:58 vmspb perl6: say <<\x40_\x[40]>>
12:58 p6eval pugs b927740, niecza v11-23-g18f7db0: OUTPUT«@_@␤»
12:58 p6eval ..rakudo abc35c: OUTPUT«\x40_\x[40]␤»
13:11 mtk joined #perl6
13:31 colomon phenny: tell arnsholt Oh, I've already implemented big hunks of this continued fraction code without knowing it.  Check out the infinite precision Pi code I blogged about back in spring.
13:31 phenny colomon: I'll pass that on when arnsholt is around.
13:40 dalek nqp: 86080ba | mls++ | src/ (3 files):
13:40 dalek nqp: reapply directaccess patches now that we again build against an up-to-date parrot
13:40 dalek nqp: review: https://github.com/perl6/nqp/commit/86080ba3a1
13:44 daniel-s joined #perl6
13:48 Patterner joined #perl6
13:48 slavik1 joined #perl6
13:48 takadonet joined #perl6
13:48 jjore joined #perl6
13:48 imarcusthis joined #perl6
13:48 ascent_ joined #perl6
13:48 frettled joined #perl6
13:48 kthakore joined #perl6
13:48 jfried joined #perl6
13:48 sivoais joined #perl6
13:49 sivoais joined #perl6
13:50 [Coke] (regressions) - ack "nom regression" t/spec is a good start.
13:50 [Coke] )(for dukeleto's comment yesterday)
13:56 tokuhirom joined #perl6
14:01 envi_ joined #perl6
14:13 benabik joined #perl6
14:13 benabik joined #perl6
14:23 sayu joined #perl6
14:24 envi_|2 joined #perl6
14:25 DarthGandalf joined #perl6
14:25 dalek rakudo/nom: 8f1f5d1 | coke++ | t/spectest.data:
14:25 dalek rakudo/nom: track failure modes
14:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f1f5d149c
14:26 mls hi guys
14:26 mls I just merged my exception branch into parrot master
14:26 jnthn mls: nice - what does it bring?
14:26 mls not much, except speed
14:26 jnthn mls: Note that we can't do anything in nom (or nqp master) related to it until after this month's Rakudo release.
14:26 mls and you can inline blocks with hjandlers
14:26 mls handlers
14:27 jnthn mls: But feel free to make branch in nqp if there's updates needed to take advantage of it there
14:27 mls (this needs a change in the invoke_skipnextctx op)
14:27 jjore_ joined #perl6
14:27 jnthn OK
14:27 jnthn Feel free to patch that in a branch too
14:27 jnthn We merge them after tomorrow's release
14:28 jnthn Or just wait a day or so :)
14:28 jnthn mls: How much is the speed win, ooc?
14:28 _jfried joined #perl6
14:28 ascent__ joined #perl6
14:28 mls uh, what I was trying to say: because of the implementation changes rakudo will need the following patch once it uses the new parrot: https://gist.github.com/1370157
14:28 Psyche^ joined #perl6
14:28 frettled_ joined #perl6
14:29 kthakore_ joined #perl6
14:29 mls about the speed win: exception handlers can now be created with a const "key" pmc as argument, thus only one pmc needs to be created
14:30 mls also finding the correct handler should be much faster
14:30 mls I didn't do any real measurements, though
14:30 jnthn \o/
14:30 jnthn Great, I will do a Parrot bump and take care of that patch after the release. (Prob Friday.)
14:31 mls I basically changed the implementation to support a "pop_upto_eh" opcode, it op pops the eh stack until the specified handler is reached
14:31 mls you can also specify an exception, like with the finalize op
14:32 [Coke] if you didn't measure anything, what drove the change?
14:32 mls I needed that op because currently there's no way to pop the handlers when an exception occurs, as we don't know how many handlers where pushed after our handler was installed
14:32 [Coke] </troll>
14:33 [Coke] ah, so the potential speedups are a side effect? hokay.
14:33 mls so currently we really must do a ".return" at the end of the handler, which prevents inlining of code
14:34 mls for rakudo, we'll need to change the "rethrow_skipnextctx" op again: we can't skip all handlers from the context
14:35 mls (it was ok when there was no inlining)
14:36 mls so we need to change the op to take two exceptions as arguments, the exception to rethrow and the exception to get the current handler position from
14:38 jnthn meeting - bbl &
14:38 jnthn mls++ # exceptional hacking
14:38 mls ;)
14:40 mls coke: see https://github.com/parrot/parrot/pull/194 for all the changes
14:40 takadonet joined #perl6
14:43 slavik1 joined #perl6
14:46 mkramer1 joined #perl6
14:58 molaf joined #perl6
15:17 tty234 joined #perl6
15:18 bluescreen10 joined #perl6
15:45 takadonet left #perl6
15:47 icwiener joined #perl6
15:47 thou joined #perl6
16:04 dalek mu: 56852c7 | jimmy++ | docs/zh-cn/syn/S02-bits.pod:
16:04 dalek mu: fixed wording in docs/zh-cn/syn/S02-bits.pod
16:04 dalek mu: review: https://github.com/perl6/mu/commit/56852c71cf
16:10 alester joined #perl6
16:12 mkramer joined #perl6
16:26 frettled joined #perl6
16:36 Util In [S03], regarding the xx operator:
16:36 Util Since the expression on the left is treated as a thunk that is re-evaluated
16:36 Util each time, expressions that rely on this behavior are possible
16:36 Util vs:
16:36 Util The left side of
16:36 Util an C<xx> is evaluated only once.  (To call a block repeatedly, use a C<map>
16:36 Util Looks like TimToady changed the former in the "Replication" section (git show 68d062fc),
16:36 Util but not the latter in "Changes_to_Perl_5_operators".
16:40 kaleem joined #perl6
16:40 dalek specs: 421501c | larry++ | S03-operators.pod:
16:40 dalek specs: fossil dug up by Util++
16:40 dalek specs: review: https://github.com/perl6/specs/commit/421501cbd2
16:42 Util TimToady: thanks
16:54 colomon pre-report:
16:54 colomon * Did nothing p6ish except worry that the state of the module tools is sadly lacking in both nom and niecza.
16:54 colomon plan:
16:55 colomon * Hope to get the mandelbrot script working in Gtk (note: potential Advent calendar topic)
16:55 colomon * Continue advocating for the modules
16:55 colomon EOR
16:56 TimToady um
16:56 TimToady ww
16:57 colomon dang it!
16:57 colomon TimToady++
16:57 colomon ack, it's just been that kind of year
17:04 Woodi loop (...) { my $head = substr( $data, 0, 1 ); if $head eq '+' { $tail = substr( $data, 1, $s.bytes ); push @results, $tail; next } }
17:05 TimToady colomon: Perl 6 is a force of nature, but it's also grace.  <-- obligatory Tree of Life reference
17:05 Woodi is a way to not do substr two times ? something like cutting head from string or replace second substr with fast truncate front element   ?
17:07 TimToady in short, you want strings structured as Lisp lists :)
17:07 benabik Or ropes.
17:08 benabik There are lots of strings are made of shorter strings data structures.
17:08 colomon shouldn't that be easy to do as a regular expression?
17:08 Woodi yes, [head,tail] :)
17:08 TimToady but Perl 6 does not require such a representation for strings, except insofar as it might be an optimization
17:09 Woodi benabik: but i ask about Perl6 :)
17:09 benabik Woodi: So implement a MyString class in P6.  :-D
17:09 Woodi i ask for whatever is faster
17:09 TimToady if you don't mind getting lists out instead of strings, you can transform a string into a cons list, which in Perl 6 is represented using =>
17:10 TimToady lessee...
17:10 cosimo joined #perl6
17:11 TimToady perl6: my $s = 'abc'; say [=>] $s.comb
17:11 p6eval rakudo 8f1f5d, niecza v11-23-g18f7db0: OUTPUT«"a" => "b" => "c"␤»
17:11 p6eval ..pugs b927740: OUTPUT«abc␤»
17:11 Woodi i gets strings from network, such pure string protocol. converting would probably cost more then substr...
17:11 TimToady well, that depends on a lot of things, but your substr algo is O(N*2)-ish
17:12 TimToady it depends on how your p6 implementation represents strings internally, and how you want to process the tails
17:12 Woodi i thinked about lazy split too... is something available ?
17:13 TimToady are you only caring about the front characters? or are you actually doing something with the tails?
17:14 Woodi head for decide what to do. if '+' then push tail and next, else proces tail
17:14 Woodi TimToady: what that example do ? 'cons list' is just list ?
17:15 TimToady well, it's a pair list, not a p6 list
17:15 TimToady but if you only want to strip leading +, it's likely overkil
17:16 Woodi .comb is split ?
17:17 Woodi split // ?
17:17 TimToady in regex it's more like / '+'+? (.*) { push @tails, $1 } <!> /
17:17 TimToady split // is replaced by .comb
17:18 TimToady but it doesn't sound like you want to split the whole string, just the first few chars
17:18 kaare_ joined #perl6
17:18 Woodi yes. just wondering about 'lazy' comb
17:19 Woodi and just get first elem. it can have better performance ?
17:19 TimToady well, maybe, but there's some overhead to setting up a lazy list too
17:20 TimToady which approach is better is likely to be implementation dependent
17:20 TimToady so this is starting to sound like premature optimization to me
17:21 Woodi hmm, just version 0.4 :)
17:23 Woodi need to test regex version
17:24 colomon comb was lazy in b.
17:24 colomon I can't tell if it is in nom or not.
17:25 Woodi just using b :)
17:28 colomon It looks like it isn't lazy in nom?
17:28 TimToady colomon: maybe your pi code will work under nom with the new Ints?
17:29 colomon TimToady: that it might!
17:29 TimToady then you might get your subsigs back
17:29 TimToady then it might happily show up on rosettacode :)
17:30 colomon :)
17:30 TimToady or point out other places nom has regressed, which is also a form of progress :)
17:32 Util #phaser time?
17:33 colomon wait, did it move forward with the time change?
17:33 Woodi can head and tail are in spec ?
17:34 Woodi do* ?
17:34 Woodi are ?
17:34 colomon not sure what you're trying to ask, but I think the answer is no.  :)
17:35 arnsholt Woodi: It's "are", and I don't think so
17:35 phenny arnsholt: 13:31Z <colomon> tell arnsholt Oh, I've already implemented big hunks of this continued fraction code without knowing it.  Check out the infinite precision Pi code I blogged about back in spring.
17:36 Woodi just wonder about std functional language feature :) but maybe it is not required in spec...
17:36 Woodi thanx arnsholt :)
17:36 arnsholt colomon: Ooh, that's spiffy. I'll definitely take a look at that
17:36 TimToady you can bind lists to ($head, *@tail), but strings aren't lists
17:36 orafu joined #perl6
17:37 colomon arnsholt: I'd be interested in collaborating on a module for continued fractions, if you're up for it.
17:37 arnsholt But I think head would by $list[0] and rest would be $list[1..], or something like that
17:37 TimToady subscripting is often a smell in Perl 6
17:37 arnsholt Yeah, that sounds interesting
17:37 Woodi right, just unshift ? :)
17:37 arnsholt Collaboration is often a good way for me to keep working on stuff =)
17:38 arnsholt Collaboration is generally a good fit for me, in general, really
17:38 TimToady shift/unshift can also be a smell, if you're trying for immutable semantics
17:40 Woodi what if i name it iterator ? :)
17:40 colomon arnsholt: okay, what do we call the module?
17:41 Woodi hmm, iterator do not destroy probably...
17:42 colomon arnsholt: Math::ContinuedFraction ?
17:42 arnsholt My working name has been CFRat
17:42 arnsholt But Math::ContinuedFraction sounds good
17:42 colomon I dunno, Math::CFRat?  :)
17:42 arnsholt Lots more descriptive
17:43 arnsholt Math::* is probably a good idea, at any rate
17:43 colomon I guess it might depend on how often you have to explicitly spell out the name in code that uses them.
17:44 arnsholt Yeah
17:44 arnsholt Isn't there supposed to be some way of aliased import though? =)
17:44 ethndbst joined #perl6
17:44 ethndbst joined #perl6
17:46 colomon Want to go with Math::ContinuedFraction for the moment?
17:46 colomon I'm just looking for a name for a github repo.  (Unless you've already got one?)
17:46 arnsholt Nope, no repo yet
17:47 arnsholt So Math::ContinuedFraction works fine for me
17:47 colomon okay, I'll get on that in the next couple of minutes.  you have a github id?
17:47 arnsholt (Which timezone are you in, BTW?)
17:47 arnsholt I'm arnsholt on github as well
17:48 colomon Eastern US
17:48 mberends joined #perl6
17:48 arnsholt 'k. I'm CET, so you're six hours behind me if memory serves
17:57 ksi joined #perl6
18:03 mkramer joined #perl6
18:03 colomon arnsholt: okay, we've got a github repo: https://github.com/colomon/Math-ContinuedFractions
18:04 colomon do you want to start by adding what you've got so far to it?
18:04 arnsholt Nah, there's not really any code yet
18:04 arnsholt All in my brane, unfortunately
18:04 colomon ah, no worries.  :)
18:05 TimToady I always cringe a little when languages force you to declare that you're using "math", when the whole universe is arguably made out of math
18:07 TimToady admittedly, continued fractions are a bit out there on the barbie spectrum
18:08 TimToady but I'm not sure math should be ghettoized
18:08 Woodi perl6: loop ( my $i; $i<10; $i++ ) {  # / '+'+? (.*) { push @tails, $1 } <!> /; say 'hi' }
18:08 p6eval rakudo 8f1f5d: OUTPUT«===SORRY!===␤Missing block at line 1, near "( my $i; $"␤»
18:08 p6eval ..pugs b927740: OUTPUT«*** ␤    Unexpected end of input␤    expecting "use", statements or "}"␤    at /tmp/G0o5mnyey_ line 2, column 1␤»
18:08 p6eval ..niecza v11-23-g18f7db0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Whitespace required before < operator at /tmp/Xt3VfRljvd line 1:â�¤------> [32mloop ( my $i; $i<[33mâ��[31m10; $i++ ) {  # / '+'+? (.*) { push @tai[0mâ�¤â�¤Parse failedâ�¤â�¤Â»
18:09 Woodi that comment is to complicated :)
18:09 Woodi on separate line too
18:09 TimToady read niecza's actual error message
18:10 arnsholt The "barbie spectrum" nicely put =)
18:10 Woodi yes, niecza cannot parse after ' < ', but at least b have problem with that
18:11 sorear I don't quite get barbie spectrum
18:11 TimToady b is incorrect in allowing infix < where postfix < is expected
18:11 TimToady "Math is hard, let's go shopping."  --Barbie
18:12 Woodi rakudo: loop ( my $i; $i < 10; $i++ ) {  # / '+'+? (.*) { push @tails, $1 } <!> /; say 'hi' }
18:12 p6eval rakudo 8f1f5d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 1␤»
18:13 sorear note, everything after # is ignored
18:13 TimToady why are you trying to use a comment there?
18:13 * TimToady is tempted to invoke mjd
18:13 diakopter I suspect he thinks there are newlines in there
18:13 Woodi becouse i must on #perl6
18:13 dalek niecza: cdd4e66 | mberends++ | docs/niecza-gtk.html:
18:13 dalek niecza: [docs/niecza-gtk.html] slides used at London Perl Workshop 2011
18:13 dalek niecza: review: https://github.com/sorear/niecza/commit/cdd4e66861
18:13 TimToady the comment still makes no sense whatsoever
18:14 Woodi exploded on separate lines in b
18:14 TimToady even if there are newlines
18:14 diakopter oh
18:14 Woodi nah, my mistake, ' < ' was real problem.
18:15 Woodi so spaces are required in v6 now ?
18:15 sorear it's funny, most of the great mjd quotes are actually mjd-pretending-to-be-mst
18:16 slavik1 someone needs to use perl6 in production so I can get that job
18:17 PerlJam sorear: I doubt that.
18:17 slavik1 "what perl6 qualifications do you have?" "I have it installed and hang out in #perl6 all the time" "hired"
18:17 slavik1 best job eva!
18:18 PerlJam sorear: unless you mean that mst does a good job of pretending to be mjd sometimes  ;)
18:19 TimToady mjd is not the sort of person to pretend to be anyone other than his own pretend personna
18:20 TimToady he's kind of a "primary source", as it were...
18:20 the-golem joined #perl6
18:21 slavik1 are we talking football now?
18:21 plobsing joined #perl6
18:21 Woodi it would be OT...
18:21 TimToady mst has his own shape, distinct from either kind of football
18:22 TimToady er, mjd
18:22 TimToady well, mst too
18:26 PerlJam If mjd waxed prosaic more often he'd start to look like tchrist to me, so I can kind of see the mst/mjd connection in a similar way
18:32 Vlavv` joined #perl6
18:37 sorear hmm.  I am not aware of tchrist's work.
18:38 flussence he's the Crazy Unicode Guy :D
18:38 TimToady that's only his latest incarnation...
18:39 TimToady http://www.perl.com/doc/FMTEYEWTK/
18:40 sorear I would have thought khw would get that epithet
18:41 localhost joined #perl6
18:41 TimToady he's also a co-author of the Camel Book
18:42 TimToady and the Perl Cookbook
18:44 TimToady and he's one of the honorary crazy uncles of my family
18:45 TimToady though it's not clear that anyone who associates with my family can be considered entirely sane
18:47 buubot_backup joined #perl6
19:05 mkramer joined #perl6
19:16 mj41 joined #perl6
19:26 Moukeddar joined #perl6
19:26 integral joined #perl6
19:26 integral joined #perl6
19:33 Woodi rakudo: my @a; push Any, @a; say @a
19:33 p6eval rakudo 8f1f5d: OUTPUT«No applicable candidates found to dispatch to for 'push'. Available candidates are:␤:(Positional @a, Positional @elems)␤␤  in block <anon> at /tmp/RsOOwstYD2:1␤  in <anon> at /tmp/RsOOwstYD2:1␤»
19:34 Woodi how to get eg.: ['a', Any, 'b'] ?
19:36 colomon rakudo: my @a = 'a', Any, 'b'; say @a.perl
19:36 p6eval rakudo 8f1f5d: OUTPUT«Array.new("a", Any, "b")␤»
19:36 ethndbst joined #perl6
19:36 mkramer joined #perl6
19:38 bluescreen10 joined #perl6
19:38 Woodi hmm :) but i need to add to existing array
19:40 Woodi rakudo: my @a; my $b = Any; @a[1] = 'c'; undef @a[1]; say @a
19:40 p6eval rakudo 8f1f5d: OUTPUT«===SORRY!===␤Unsupported use of undef as a verb; in Perl 6 please use undefine function or assignment of Nil at line 1, near " @a[1]; sa"␤»
19:40 colomon rakudo: my @a; push @a, Any; say @a.perl
19:41 p6eval rakudo 8f1f5d: OUTPUT«===SORRY!===␤Confused at line 1, near "\x{4} say @a.p"␤»
19:41 bluescreen10 joined #perl6
19:41 colomon rakudo: my @a; @a.push: Any; say @a.perl
19:41 p6eval rakudo 8f1f5d: OUTPUT«===SORRY!===␤Confused at line 1, near "\x{4} say @a.p"␤»
19:41 colomon rakudo: my @a; @a.push(Any); say @a.perl
19:41 p6eval rakudo 8f1f5d: OUTPUT«===SORRY!===␤Confused at line 1, near "\x{4} say @a.p"␤»
19:41 colomon huh
19:42 colomon rakudo: my @a; @a[0] = Any; say @a.perl
19:42 p6eval rakudo 8f1f5d: OUTPUT«===SORRY!===␤Confused at line 1, near "\x{4} say @a.p"␤»
19:42 Woodi 'my'
19:42 colomon std: my @a; @a[0] = Any; say @a.perl
19:42 p6eval std be1f10e: OUTPUT«ok 00:01 123m␤»
19:42 bluescreen10 joined #perl6
19:42 colomon rakudo: my @a; say @a.perl
19:42 p6eval rakudo 8f1f5d: OUTPUT«Array.new()␤»
19:43 colomon rakudo: my @a; @a[0] = Any; say @a.perl
19:43 p6eval rakudo 8f1f5d: OUTPUT«Array.new(Any)␤»
19:43 colomon rakudo: my @a = 'a'; @a[+@a] = Any; say @a.perl
19:43 TimToady colomon: you were using "ay" instead of "say"
19:43 p6eval rakudo 8f1f5d: OUTPUT«Array.new("a", Any)␤»
19:44 TimToady or no, there was a ^D in your input somehow
19:44 colomon TimToady: errr, no I wasn't.  everything I typed... yeah, must have been something like that.
19:44 colomon rakudo: my @a = 'a'; push @a, Any; say @a.perl
19:44 p6eval rakudo 8f1f5d: OUTPUT«Array.new("a", Any)␤»
19:45 Woodi rakudo: my @a = ['a']; @a[-1] = Any; say @a.perl
19:45 p6eval rakudo 8f1f5d: OUTPUT«Cannot use negative index -1 on Array␤  in method <anon> at src/gen/CORE.setting:6388␤  in <anon> at src/gen/Metamodel.pm:2082␤  in find_method_fallback at src/gen/Metamodel.pm:2080␤  in find_method at src/gen/Metamodel.pm:787␤  in block <anon> at /tmp/YaIHuWl3DL:1…
19:46 TimToady std: my @a = ['a']; @a[-1] = Any; say @a.perl
19:46 p6eval std be1f10e: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of [-1] subscript to access from end of array; in Perl 6 please use [*-1] at /tmp/vwTpm__dlr line 1:�------> [32mmy @a = ['a']; @a[-1][33m�[31m = Any; say @a.perl[0m�Parse failed�FAILED 00:01 123m�»
19:46 Woodi rakudo: my @a = ['a']; @a[*-1] = Any; say @a.perl
19:46 p6eval rakudo 8f1f5d: OUTPUT«Array.new(Any)␤»
19:46 Woodi rakudo: my @a = ['a']; @a[*-1] = Any; say @a
19:46 p6eval rakudo 8f1f5d: OUTPUT«Use of uninitialized value in string context␤␤»
19:47 TimToady also, note that the first element of @a is not 'a'
19:47 TimToady you didn't need teh []
19:48 TimToady which makes an array of array
19:48 colomon b: my @a = ['a']; @a[-1] = Any; say @a.perl # thought we had a better error message for this....
19:48 p6eval b 1b7dd1: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in main program body at line 22:/tmp/wD78MPr2gw␤»
19:48 colomon ugh!
19:48 colomon niecza: my @a = ['a']; @a[-1] = Any; say @a.perl # thought we had a better error message for this....
19:48 p6eval niecza v11-24-gcdd4e66: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Unsupported use of [-1] subscript to access from end of array; in Perl 6 please use [*-1] at /tmp/QsFFPmVVmz line 1:â�¤------> [32mmy @a = ['a']; @a[-1][33mâ��[31m = Any; say @a.perl # thought we had a b[0mâ�¤â�¤Parse failedâ�¤â�¤Â»â€¦
19:49 TimToady niecza essentially uses STD's grammar
19:49 Woodi rakudo: my @a = 'a', 'b'; push @a, Any; say @a
19:49 p6eval rakudo 8f1f5d: OUTPUT«Use of uninitialized value in string context␤a b ␤»
19:49 Woodi rakudo: my @a = 'a', 'b'; push @a, Any; say @a.perl
19:49 p6eval rakudo 8f1f5d: OUTPUT«Array.new("a", "b", Any)␤»
19:49 Woodi b: my @a = 'a', 'b'; push @a, Any; say @a.perl
19:49 p6eval b 1b7dd1: OUTPUT«["a", "b", Any]␤»
19:49 Woodi tada :)
19:50 Woodi thanks colomon++
19:50 colomon you're welcome
19:50 colomon sorry my attempts to help were so noisy!
19:56 Woodi rakudo: my $c = '+'; if $c ~~ any('+',':') { say '+:' }
19:56 p6eval rakudo 8f1f5d: OUTPUT«+:␤»
19:56 Woodi is this faster or || version ?
19:59 colomon Woodi: why don't you time it and find out?  :)
20:00 Woodi becouse I cannot trust numbers in development env. want to know 'technology' below syntax...
20:02 colomon my guess is no one really knows the answer at this point, and it's subject to change, too.
20:03 colomon also, why not $c eq any('+', ':')
20:03 colomon not that I know eq would be faster than ~~
20:04 Woodi colomon: I was not sure about this and first in memory was ~~
20:04 bluescreen10 joined #perl6
20:04 Woodi theoretically junctions can autothread but only 2 cases here... max 3
20:05 MayDaniel joined #perl6
20:05 MayDaniel joined #perl6
20:06 Woodi k, gn #perl6
20:06 colomon I think this is where TimToady is supposed to show up and mumble about premature optimization....
20:06 colomon o/
20:07 moritz \o from Oslo
20:07 * moritz haz the internetz
20:07 colomon \o/
20:07 jnthn o/ moritz
20:07 mberends o/ moritz
20:13 moritz ... but time for bed, got up 16 hours ago
20:16 pothos joined #perl6
20:22 y3llow joined #perl6
20:24 dalek nqp/nfa: 46e0f9e | jnthn++ | src/QRegex/Cursor.nqp:
20:24 dalek nqp/nfa: Fix an LTM tie-breaking bug; diakopter++ for spotting.
20:24 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/46e0f9e4ea
20:24 Transformer joined #perl6
20:30 felipe joined #perl6
20:32 thou joined #perl6
20:50 dalek nqp/nfa: cecd970 | diakopter++ | src/QAST/ (2 files):
20:50 dalek nqp/nfa: move node() from QAST::Regex to QAST::Node; add $!node to QAST::Node
20:50 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/cecd970ad0
20:50 dalek nqp/nfa: abf900a | diakopter++ | src/QRegex/Cursor.nqp:
20:50 dalek nqp/nfa: Merge branch 'nfa' of github.com:perl6/nqp into nfa
20:50 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/abf900aa74
20:50 diakopter sigh. me and my merging branches
20:56 Sarten-X joined #perl6
20:58 tokuhirom joined #perl6
21:00 MayDaniel joined #perl6
21:04 tadzik ===SORRY!===
21:04 tadzik Incorrect pre-compiled version of src/gen/Metamodel.pm loaded
21:04 tadzik I've already rebuilt Rakudo, any more ideas?
21:04 jnthn tadzik: Hm
21:05 jnthn tadzik: What're you doing to get that?
21:05 fsergot joined #perl6
21:05 jnthn tadzik: It normally happens when there's leftover pre-compiled modules
21:05 tadzik jnthn: env PERL6LIB=/home/tadzik/src/perl/pan​da/blib/lib:/home/tadzik/src/perl/​panda/lib:/home/tadzik/.perl6/lib perl6 --target=pir --output=blib/lib/Panda/Ecosystem.pir lib/Panda/Ecosystem.pm
21:05 tadzik they're all make-cleaned
21:05 tadzik or freshly built
21:05 tadzik env PERL6LIB=/home/tadzik/src/perl/pan​da/blib/lib:/home/tadzik/src/perl/​panda/lib:/home/tadzik/.perl6/lib perl6 --target=pir --output=blib/lib/Pies.pir lib/Pies.pm
21:05 jnthn tadzik: Have you an installed perl6?
21:05 tadzik ^ that finishes successfully
21:05 tadzik jnthn: yes
21:06 jnthn tadzik: Are you running the installed one?
21:06 jnthn Or your build directory one?
21:06 tadzik installed one
21:07 tadzik oh wait
21:07 tadzik it uses Shell::Command, which is installed
21:07 tadzik okay, nvm
21:07 jnthn phew :)
21:08 tadzik phew :) It could use a "when loading xxx" :)
21:09 jnthn seems so
21:09 jnthn It's really meant to report the module itself
21:11 tadzik nom: class A { has $!a }; class B is A { method foo { $!a = 5} }
21:11 p6eval nom 8f1f5d: OUTPUT«===SORRY!===␤Attribute $!a not declared in class B at line 1, near " = 5} }"␤»
21:11 tadzik correct?
21:11 jnthn Yes
21:12 tadzik nom: class A { has $.a }; class B is A { method foo { $.a = 5} }
21:12 p6eval nom 8f1f5d:  ( no output )
21:12 tadzik mhm
21:14 tadzik oh, no Test::Mock on nom?
21:14 jnthn tadzik: Didn't update it yet
21:15 dalek rakudo/protoregexes: 88f6945 | jnthn++ | src/Perl6/Grammar.pm:
21:15 dalek rakudo/protoregexes: Parse current protoregex syntax; keep older deprecated ones for now, though we'll put a warning in the next * release about them.
21:15 dalek rakudo/protoregexes: review: https://github.com/rakudo/rakudo/commit/88f6945e43
21:15 dalek rakudo/protoregexes: 829f9d3 | jnthn++ | src/Perl6/Actions.pm:
21:15 dalek rakudo/protoregexes: Update actions so we can, in theory, handle protoregexes, though the NFA construction explodes for some reason.
21:15 dalek rakudo/protoregexes: review: https://github.com/rakudo/rakudo/commit/829f9d3d10
21:21 am0c joined #perl6
21:28 dalek rakudo/protoregexes: a8b2873 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
21:28 dalek rakudo/protoregexes: Add nqpattr cheat used for now by protoregexes implementation, so the NFA builder can get at NFAs for subrules. And with this, we seem to have workingish protoregexes - to the limit of the NFA engine (which still means more powerful than the literal only we had before).
21:28 dalek rakudo/protoregexes: review: https://github.com/rakudo/rakudo/commit/a8b2873499
21:28 dalek nqp/nfa: ad45f01 | jnthn++ | src/QRegex/NFA.nqp:
21:28 dalek nqp/nfa: Twiddle NFA subrule merge logic to avoid needing to boolify.
21:28 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/ad45f0152c
21:30 jnthn https://gist.github.com/1371475 # runs now
21:30 jnthn (In the branch, which also needs your nqp to be built from the nfa branch latest.)
21:30 tadzik woohoo!
21:30 tadzik jnthn++
21:31 * tadzik fixing panda, one test at a time
21:31 jnthn Some failing tests, it seems
21:31 [Coke] jnthn: woot. Do you have a beer card I can top off?
21:31 jnthn ...beer card? :)
21:31 tadzik it's like a credit card, but better
21:31 [Coke] like a credit card that only works on beer. ;)
21:31 [Coke] tadzik: exactly!
21:31 jnthn What a wonderful tidea!
21:31 jnthn *idea
21:31 jnthn Wish I had one :)
21:32 tadzik let's turn it into a startup!
21:32 * PerlJam imagines [Coke] having trouble making the rent because he topped off jnthn's beer card  ;)
21:32 colomon tadzik++
21:32 [Coke] PerlJam: no doubt!
21:32 jnthn OK, question.
21:33 jnthn We have a nom compiler release tomorrow.
21:33 jnthn Nobody signed up to release manage yet.
21:33 * colomon looks shocked
21:33 colomon moved up a week because of the US holiday?
21:33 jnthn colomon: Parrot release was tue, no?
21:33 colomon no, I just missed the 1st on my calendar.
21:34 jnthn :)
21:34 colomon it's really hard to see it in the dark, honest!
21:34 jnthn So, at this point I could in theory try and land some protoregex support for the release.
21:34 tadzik # Method 'copy' not found for invocant of class 'IO'
21:34 tadzik who wants an LHF?
21:35 tadzik # Method 'uniq' not found for invocant of class 'List'
21:35 tadzik another one
21:35 PerlJam jnthn: if you had an extra day, would you still be asking the question?
21:35 PerlJam (or just do it?)
21:36 colomon tadzik: what's IO.copy supposed to do?
21:36 jnthn PerlJam: I'm mostly saying, there's some risk landing something sizable a day before - or on the day of - the release.
21:36 tadzik colomon: I suppose copy files from place to place; worked in b, istr it was non-speccy
21:37 PerlJam jnthn: there's always risk ;-)
21:37 jnthn ;-)
21:37 tadzik jnthn: I like the way you spell "fun"
21:38 tadzik also, I suppose everyone using nom is ready for suprises :)
21:38 PerlJam tadzik++
21:38 jnthn OK
21:39 felher joined #perl6
21:40 jnthn I need to spend tomorrow day time at $dayjob. I'll have the evening. I may be able to deal with the couple of test regressions tonight.
21:40 PerlJam If there are still any "early adopters" for each compiler release, they'll shake out any bugs quickly and then everyone will be looking forward to the Dec release
21:40 jnthn If I can do that, then I get things merged tomorrow evening, then either (a) somebody wants to step up to do the release but is willing to do it later on tomorrow, or (b) nobody does and I have to release it.
21:40 PerlJam Speaking of Dec ... is everyone ready for another advent calendar?
21:42 colomon hopefully someone will step up.
21:42 jnthn Would be appreciated. :)
21:43 PerlJam I was thinking about it, but decided my life was in enough disarray right now that I wouldn't have any time.
21:44 PerlJam (Though, if we waited to release the Friday after tukey day, I'd probably be able to do it)
21:44 PerlJam er, turkey day
21:44 colomon I might have the time, but my life is in enough disarray right now I can't really commit 24 hours ahead.
21:45 PerlJam So ... sounds like "surprise release manager" this month  :)
21:45 [Coke] jnthn: what country are you in?
21:45 [Coke] (regularly)
21:45 jnthn [Coke]: Sweden
21:51 thou joined #perl6
21:52 fsergot joined #perl6
22:04 mkramer1 joined #perl6
22:08 mkramer joined #perl6
22:08 jnthn nom: m/abc (:i def) ghi/
22:08 p6eval nom 8f1f5d: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <anon> at /tmp/zOseEUZvAX:1␤  in <anon> at /tmp/zOseEUZvAX:1␤»
22:11 dalek nqp/nfa: 0bbd9c1 | jnthn++ | src/QRegex/NFA.nqp:
22:11 dalek nqp/nfa: Handle empty concat nodes in NFA builder; fixes tests we regressed in the protoregexes branch.
22:11 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/0bbd9c1d47
22:26 dalek rakudo/protoregexes: e41953a | jnthn++ | src/Perl6/Grammar.pm:
22:26 dalek rakudo/protoregexes: Ensure that regex compiler sees the name of the regex. Fixes use of <sym> in protoregexes, and protoregex.t now passes all but one test (which seems to be unrelated to protoregexes themselves).
22:26 dalek rakudo/protoregexes: review: https://github.com/rakudo/rakudo/commit/e41953a3b5
22:27 diakopter jnthn: test 4 in nqp/t/nqp/32-protoregex.t fails because $<symbols><sym> is empty
22:27 diakopter fyi
22:27 diakopter even when the correct token is run
22:28 jnthn yeah
22:28 jnthn Not got to that one yet
22:28 * diakopter starts to really grok NFA.nqp finally
22:38 PerlJam Did NQP ever get the new % regex syntax?
22:38 jnthn PerlJam: Not yet
22:38 jnthn Unless it sneaked in without me noticing
22:48 Moukeddar joined #perl6
22:50 dalek nqp/nfa: 2668e04 | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
22:50 dalek nqp/nfa: Ensure that <sym> captures.
22:50 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/2668e046c0
22:50 jnthn diakopter: ^ fixes 32-protoregex.t
22:53 Timbus did moritz ever blog about software dev models/design patterns and the like? He's talked about them a few times in here..
22:53 sorear good * #perl6
22:53 Timbus I'm undertaking a pretty big task for work and I'm not sure if I should be reaching for perl or C#/mono
22:54 sorear C#/mono is pretty cool and very underloved by OSS folks
22:55 Timbus yeah
23:04 thou joined #perl6
23:04 sorear Timbus: there are questions like "how big" and "what kind"
23:05 sorear C# isn't the best tool for extraction and reporting (yes I know this is a backronym)
23:12 imarcusthis joined #perl6
23:13 Timbus sorear, mid-size, probably only me as the dev tho, big gui, many modules, maybe a dozen hardware interfaces
23:14 Timbus constant state-tracking of those devices (its laboratory software). to a lesser extent theres some reporting/collating/data munging
23:15 Timbus but nothing that needs perl-level lifting.
23:24 buubot_backup joined #perl6
23:27 jnthn night, #perl6
23:27 diakopter o/
23:34 daxim joined #perl6
23:38 sorear Timbus: Perl5 has no real threads; this might be important
23:49 Moukeddar joined #perl6
23:49 sorear o/ Moukeddar
23:50 Moukeddar hi sorear , how are you doing?
23:50 sorear good
23:51 Moukeddar good to hear :D
23:52 sorear bit busy between the end of the semester and holiday prep
23:52 whiteknight joined #perl6
23:52 Moukeddar oh, hard times heh?
23:54 daemon joined #perl6
23:57 sorear I wouldn't say that
23:57 sorear in colloquial English usage, "hard times" means you're struggling to get food
23:59 Moukeddar aw, i didn't know that

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

Perl 6 | Reference Documentation | Rakudo