Camelia, the Perl 6 bug

IRC log for #perl6, 2012-09-04

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:00 Chillance joined #perl6
00:08 raiph joined #perl6
00:22 raiph http://blogs.perl.org/users/perl_6_reports/2012/​09/perl6-summary-for-week-ending-2012-09-01.html
00:28 ggoebel__ joined #perl6
00:36 dayangkun joined #perl6
00:40 test joined #perl6
00:45 * TimToady wonders what the best way to spec a longest-list zip is when you don't know which list is shorter
00:46 benabik joined #perl6
00:51 TimToady in particular, I'm still not entirely happy with http://rosettacode.org/wiki/Same_Fringe
00:52 TimToady the current solution won't work when we differentiate lexotic gather/take from dynamic
00:52 TimToady since one of the takes is dynamic, and the other lexical
00:53 TimToady so one gather cannot service both, as it stands
00:53 TimToady also, just using a sentinal value is kinda bogus anyway
00:54 scott_ joined #perl6
00:54 TimToady but a longest-list zip has to specify what to do when there's only one value
00:55 TimToady and there are several possibilities
00:55 TimToady 1. return value X when there's only one argument
00:56 TimToady 2. assume X for any missing argument
00:56 TimToady 3. assume A for missing left argument, or B for missing right argument
00:58 TimToady (when the operation isn't symmetrical, such as division)
00:59 TimToady we can probably assume that 2 is a degenerate case of 3, and maybe even 1 in some cases
01:00 TimToady so maybe what we want to say is that Z returns the short list, or until both lists are explicitly infinite
01:01 colomon hmmm
01:02 TimToady that could be an expensive test though
01:04 TimToady 1 is also covered mostly by the shorter rule plus $value xx *, if you can chop that off at the length of the longer list somehow
01:04 TimToady but maybe we should use an adverb here
01:04 colomon I've never been completely comfortable with that, I've got to admit.  (Just was looking at a piece of code like that in Math::Polymnnomial.)
01:05 colomon I was thinking adverb, but thought you'd sworn them off.  :)
01:05 TimToady well, I was trying to think of a way to base the default on the operator's nullary value, but that's actually kinda wrongish
01:06 TimToady the nullary of infix:<===>() is True
01:06 * colomon is crazily imagining a function -> $last-left, $last-right, $current-left, $current-right { ... }
01:08 colomon if both lists end, Z stops.  if one ends, you call the specified sub with those arguments, or end if no sub was specified.
01:08 colomon ugly but relatively thorough.
01:10 colomon all fringe($a) Z=== fringe($b) :extend({ False; })
01:10 TimToady that's the 1 case, I guess
01:11 colomon yeah
01:11 TimToady :default(A,B) for 3 maybe
01:12 TimToady :default(A,A) handles 2, or maybe just :default(A)
01:12 colomon yeah, that seems not unreasonable.
01:13 TimToady this might or might not be related to wanting the right side of X to allow a closure based on the left argument
01:13 TimToady so you can do triangular subscripts
01:13 hypolin joined #perl6
01:14 tokuhiro_ joined #perl6
01:14 TimToady for ^@x X -> $x { $x ..^ @y} -> $x,$y {...} or some such
01:15 TimToady though really one would like sugar that looks more like:
01:15 TimToady for ^@x -> $x X $x..^@y -> $y {...}
01:16 TimToady currently the only way to do that is with nested for loops
01:16 TimToady likewise multidimensional subscripts across a ;
01:17 TimToady but probably not related the the longest-Z problem
01:17 TimToady since in this case we're calling a closure to produce the entire right-hand list
01:17 TimToady not just processing missing args
01:21 TimToady one almost wants a form of 'for' that puts the list in between the -> and the {}
01:22 TimToady for -> $x, $y (^@x X $x..^@y) {...}
01:23 TimToady but that's not feasible without better distinguishing syntax
01:23 TimToady since () is valid in sigs already
01:24 TimToady there are also solutions that implicitly refer to the arg on the left
01:25 colomon TimToady: any idea why the rule list { '(' [ <parameter> [',' <parameter>]* ] ')' } would get me an error in Rakudo and work fine in Niecza?
01:25 TimToady ^@x X *..^@y   # if it weren't that * already means something to ..
01:25 colomon "Too many positional parameters passed; got 2 but expected 1" is the error.
01:25 colomon and I got the same when I said <parameter>* % ','
01:26 TimToady * rather than + ?
01:26 TimToady your first formulation is equiv to +%, not *%
01:27 colomon I think I actually want * rather than, but I've tried both, and I'm mostly just trying to get anything to work.
01:27 TimToady is it really a rule with sigspace?
01:27 colomon (just checked, and * % works fine with niecza too.)
01:27 colomon I'm not completely sure I understand sigspace, but I think it is.
01:28 colomon I need to allow whitespace around the commas.
01:28 TimToady you're only allowing whitespace before the first comma
01:28 TimToady you need space after the second <param>
01:29 TimToady and with the old whitespace rules, you might need [<parameter> ]* % [',' ] or some such
01:30 colomon does sigspace give you <.ws>+ or <.ws>*?  The spec seemed unclear to me.
01:30 TimToady you never quantify ws
01:30 TimToady it covers multiple spaces all by itself
01:30 TimToady it's different from \s+
01:31 colomon I'm pretty sure both of those appear in the S05....
01:32 TimToady sincerely doubt it
01:32 colomon yeah, I can't find it now.  may have been hallucinating.
01:33 colomon does <.ws> match the null string?  is it more like \s*   ?
01:33 TimToady it does if it's not between alnums
01:34 TimToady between alphanums is \s+ instead
01:34 TimToady well, and comments
01:34 TimToady and pod....
01:34 TimToady :)
01:35 TimToady or however you've defined token ws...
01:35 test__ joined #perl6
01:38 colomon going back to my initial question: any notion why this stuff would blow up in Rakudo?
01:39 fgomez joined #perl6
01:40 colomon ah.  got it.  apparently you can't name a rule "list" in Rakudo.
01:40 colomon wonder if that's a known rakudobug?
01:44 colomon TimToady++
01:44 sorear I think it is
01:44 yarp joined #perl6
01:44 sorear tbh I'm suprised it works in niecza
01:46 FROGGS__ joined #perl6
01:50 FROGGS joined #perl6
02:04 colomon no heredocs in rakudo?
02:04 erkan joined #perl6
02:04 erkan joined #perl6
02:12 Rg12 joined #perl6
02:14 sorear colomon: afaik no
02:14 colomon grumble, grumble, grumble
02:21 orafu joined #perl6
02:22 jeffreykegler joined #perl6
02:24 dayangkun joined #perl6
02:37 cognominal_ joined #perl6
02:47 jeffreykegler joined #perl6
02:53 erkan joined #perl6
02:53 erkan joined #perl6
02:56 erkan joined #perl6
03:13 thou joined #perl6
04:19 dayangkun joined #perl6
04:36 dayangkun joined #perl6
05:29 moritz \o
05:35 masak o/
05:39 sorear Φ
05:40 TimToady |o|
05:42 fhelmberger joined #perl6
05:46 yarp r: say [+] 1 .. 100;
05:46 p6eval rakudo 962b9b: OUTPUT«5050␤»
05:48 erkan joined #perl6
05:48 erkan joined #perl6
06:01 cognominal_ joined #perl6
06:12 nodmonkey joined #perl6
06:28 eiro joined #perl6
06:30 dalek std: 2b0f93d | larry++ | STD.pm6:
06:30 dalek std: 'use v6' was clobbering %*LANG
06:30 dalek std: review: https://github.com/perl6/std/commit/2b0f93de56
06:30 dalek std: 116afb0 | larry++ | STD_P5.pm6:
06:30 dalek std: 'use v6' was clobbering %*LANG
06:30 dalek std: review: https://github.com/perl6/std/commit/116afb03a2
06:30 dalek std: fb53aa3 | larry++ | boot/ (2 files):
06:30 dalek std: rebootstrap
06:30 dalek std: review: https://github.com/perl6/std/commit/fb53aa30e9
07:01 stepnem joined #perl6
07:01 dayangkun joined #perl6
07:01 brrt joined #perl6
07:09 FROGGS__ joined #perl6
07:09 FROGGS joined #perl6
07:10 masak rn: { say "Another nice day in $^locale" }("Perl 6 land")
07:10 p6eval rakudo 962b9b, niecza v21-1-ga8aa70b: OUTPUT«Another nice day in Perl 6 land␤»
07:10 masak \o/
07:10 sorear sleep&
07:12 masak rn: my ($c1, $c2) = ({ my $i = 0; { $i++ } }() for ^2); say $c1() for ^5; say $c2() for ^5
07:12 p6eval niecza v21-1-ga8aa70b: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Int␤  at /tmp/AKDEvh9386 line 1 (mainline @ 8) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4138 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4139 (module-CORE @ 571)…
07:12 p6eval ..rakudo 962b9b: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤  in  at src/gen/BOOTSTRAP.pm:826␤  in any  at src/gen/BOOTSTRAP.pm:810␤  in block  at /tmp/KBxucdHwxb:1␤␤»
07:12 masak rn: my ($c1, $c2) = ({ my $i = 0; { $i++ } } for ^2); say $c1() for ^5; say $c2() for ^5
07:12 p6eval niecza v21-1-ga8aa70b: OUTPUT«0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤»
07:12 p6eval ..rakudo 962b9b: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤  in  at src/gen/BOOTSTRAP.pm:826␤  in any  at src/gen/BOOTSTRAP.pm:810␤  in block  at /tmp/gxAf866dXL:1␤␤»
07:12 masak hm.
07:12 masak rn: my ($c1, $c2) = ({ my $i = 0; -> { $i++ } } for ^2); say $c1() for ^5; say $c2() for ^5
07:12 p6eval rakudo 962b9b: OUTPUT«0␤1␤2␤3␤4␤0␤1␤2␤3␤4␤»
07:12 p6eval ..niecza v21-1-ga8aa70b: OUTPUT«{ ... }␤{ ... }␤{ ... }␤{ ... }␤{ ... }␤{ ... }␤{ ... }␤{ ... }␤{ ... }␤{ ... }␤»
07:13 FROGGS good morning
07:13 masak FROGGS! \o/
07:13 masak sorear: I'm with Rakudo on this one. what's Niecza up to?
07:19 moritz n: my ($c1, $c2) = ({ my $i = 0; -> { $i++ } } for ^2); say $c1()() for ^5; say $c2()() for ^5
07:19 p6eval niecza v21-1-ga8aa70b: OUTPUT«0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤»
07:21 dayangkun joined #perl6
07:21 masak n: { say "OH HAI" }
07:21 p6eval niecza v21-1-ga8aa70b: OUTPUT«OH HAI␤»
07:22 masak n: { say "OH HAI" } for ^2
07:22 p6eval niecza v21-1-ga8aa70b:  ( no output )
07:22 masak r: { say "OH HAI" } for ^2
07:22 p6eval rakudo 962b9b: OUTPUT«OH HAI␤OH HAI␤»
07:25 kresike joined #perl6
07:26 kresike good morning all you happy perl6 people
07:28 masak kresike! \o/ good morning!
07:28 tadzik oh hai
07:29 masak tadzik! \o/
07:29 kresike masak, tadzik o/
07:29 masak is a grammar the least powerful solution in Perl 6 that will match balanced parentheses?
07:30 tadzik 'tsme!
07:31 masak (i.e. given a "----(abc(d(e)f)gh)--", I want a way to find each ")" corresponding to each "(")
07:32 Circlepuller_ r: ^2.code
07:32 p6eval rakudo 962b9b: OUTPUT«No such method 'code' for invocant of type 'Int'␤  in block  at /tmp/fKB2mytgRp:1␤␤»
07:32 Circlepuller_ o
07:32 Circlepuller_ hmm
07:32 masak Circlepuller_: precedence.
07:32 Circlepuller_ r: ^2.perl
07:32 p6eval rakudo 962b9b:  ( no output )
07:32 Circlepuller_ ok
07:32 masak r: say (^2).perl
07:32 p6eval rakudo 962b9b: OUTPUT«0..^2␤»
07:32 Circlepuller_ interesting
07:32 masak Circlepuller_: see S03 for details.
07:32 masak Circlepuller_: basically, method-call dot wins over prefix ops.
07:33 masak (and colon is not a prefix op) :)
07:33 masak rn: my $a = 42; say :$a.perl
07:33 p6eval rakudo 962b9b, niecza v21-1-ga8aa70b: OUTPUT«"a" => 42␤»
07:44 masak rn: my $balanced = / \( [ <-[()]>+ | $balanced ]* \) /; say so $_ ~~ $balanced for "()", ")(", "(())", "((", "(()())"
07:44 p6eval rakudo 962b9b, niecza v21-1-ga8aa70b: OUTPUT«True␤False␤True␤False␤True␤»
07:44 masak that's fairly light-weight.
07:45 masak heh, you can't do that trick in Perl 5, can you? :)
07:45 FROGGS is that the boob operator? "(()())"
07:45 masak no, it's an ordinary string.
07:45 FROGGS -.-
07:46 * FROGGS draws a sign
07:46 masak however, ^..^ has been called "neko operator", which I find cute.
07:49 mathw Morning
07:51 FROGGS morning
07:54 masak rn: sub infix:<lceq>($a, $b) { lc($a) eq lc($b) }; say "Morning" lceq "morning"
07:54 p6eval rakudo 962b9b, niecza v21-1-ga8aa70b: OUTPUT«True␤»
07:56 au perl: my $balanced = qr/ \( (?: (?> [^()]+ ) | (?R) )* \) /x; print 0+($_ ~~ $balanced) for "()", ")(", "(())", "((", "(()())"
07:56 au ^^^ that trick in perl5
07:57 au eval: my $balanced = qr/ \( (?: (?> [^()]+ ) | (?R) )* \) /x; print 0+($_ ~~ $balanced) for "()", ")(", "(())", "((", "(()())"
07:57 buubot_backup au: 10101
07:58 masak ah. au++
08:00 masak was gonna say that something like (?R) will probably not work in a Thompson engine... but it probably does.
08:00 masak the general case of a variable interpolation in Perl 6 doesn't, though.
08:00 au yeah. (?R) is a static rewrite
08:01 masak right. it's no more complicated than quantifiers in that sense.
08:01 au yup
08:02 * au ponders adding support for that to the newly-updated regex-genex module
08:12 * masak wants to write a Thompson engine for lists instead of strings
08:15 kresike masak, will that be a four stroke or a two stroke engine ? :o)
08:19 Psyche^ joined #perl6
08:20 masak good question. in either case, it will be very silent.
08:22 leont joined #perl6
08:32 dakkar joined #perl6
08:48 masak TimToady: re http://rosettacode.org/wiki/Same_Fringe#Perl_6 -- did you consider nesting the multis inside the sub that calls it? given that they're just auxiliary functions, I mean.
08:49 masak I'm half-toying with the idea of "anonymous multis" when I see fringeˊ -- would probably be possible to provide some not-too-ugly syntax for that through a syntax-extending module.
08:50 moritz multi( -> (sig1) { }, -> (sig2) { }, ...)
08:53 masak somethinglikethat.
08:54 masak though that makes them look like blocks, not siggies.
08:54 masak er, s/siggies/routines/
08:54 masak maybe "multies:\n  multi (sig1) { }, multi (sig2) { }, ...;"
09:12 masak rn: multi ($a) { say $a }
09:12 p6eval niecza v21-1-ga8aa70b: OUTPUT«[31m===[0mSORRY![31m===[0m��Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/oEvMJH9FrQ line 1:�------> [32mmulti ($a) [33m�[31m{ say $a }[0m��Parse failed��»
09:12 p6eval ..rakudo 962b9b: OUTPUT«===SORRY!===␤ scoped variables is not yet implemented. Sorry. ␤at /tmp/VHl__Zn3xa:1␤»
09:12 * masak wonders what it would take to modify the grammar to accept that.
09:12 masak neither of those two errors is very good, by the way.
09:12 masak std: multi ($a) { say $a }
09:12 p6eval std fb53aa3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/nFRbB74BCv line 1:â�¤------> [32mmulti ($a) [33mâ��[31m{ say $a }[0mâ�¤    expecting any of:â�¤        infix or meta-infixâ�¤    initializerâ�¤
09:12 p6eval ..trai…
09:20 dayangkun joined #perl6
09:27 moritz r: anon multi () { }
09:27 p6eval rakudo 962b9b: OUTPUT«===SORRY!===␤Confused␤at /tmp/h71pNoA58m:1␤»
09:28 masak n: anon multi () {}
09:28 p6eval niecza v21-1-ga8aa70b: OUTPUT«[31m===[0mSORRY![31m===[0m��Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/QKWozsQbP9 line 1:�------> [32manon multi () [33m�[31m{}[0m��Parse failed��»
09:29 moritz r: multi sub () {}
09:29 p6eval rakudo 962b9b: OUTPUT«===SORRY!===␤Cannot put multi on anonymous routine␤at /tmp/N8tZ10FdZj:1␤»
09:36 MayDaniel joined #perl6
09:39 dayangkun joined #perl6
09:41 FROGGS an anonymous sub is always multi, isnt it?
09:44 moritz no, it's always "only"
09:44 moritz because if it's anonymous, you can't use a second multi of the same name to add a candidate
09:46 FROGGS it has no name, how should I declare a second anon sub with the same name?
09:47 masak FROGGS: that's what I was proposing a syntax extension for above.
09:47 masak it's currently not possible.
09:48 masak feels like we have all the semantic components for it.
09:48 masak nowadays a proto is the dispatch point for all the multi candidates. and you register each new multi with the proto.
09:52 FROGGS so then I will be able to pass a bunch of anon subs to a callback and the right one will be picked?
09:52 FROGGS is there another usecase?
09:53 masak that sounds like *the* use case ;)
09:53 FROGGS k
09:53 FROGGS ;o)
09:55 masak having said that, I realize that that makes its use very limited. maybe virtually useless, in fact.
09:56 masak in cases like fringeˊ, you want to call the same multi from many different places. having multiple call sites basically requires a name.
09:56 masak so... never mind, I guess. :)
09:57 mathw I'm not sure it's a useful feature
09:59 masak right.
09:59 FROGGS might be handy, but I guess you almost always know what you will get from a callback, and that there is only one signature needed
10:02 mathw I suppose there might be some kind of case for a callback that you could connect different signatured functions to in order to get slightly different effects, but that could just end up being incredibly confusing.
10:02 masak aye.
10:02 mathw Probably everyone would hate you, and you'd have to go write pre-generics Java for all eternity.
10:02 masak I'm now squarely in the "named multis" camp :)
10:03 moritz you can use a named multi for callbacks too
10:03 masak indeed.
10:22 sergot hi o/ !
10:25 snearch joined #perl6
10:26 masak sergocie! \o/
10:29 erkan joined #perl6
10:29 erkan joined #perl6
10:38 daxim joined #perl6
10:42 dalek ecosystem: 2b4f4e7 | (Alexandr A Alexeev)++ | META.list:
10:42 dalek ecosystem: added DateTime::Format::W3CDTF
10:42 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/2b4f4e7d0a
10:42 dalek ecosystem: c51ec69 | tadzik++ | META.list:
10:42 dalek ecosystem: Merge pull request #10 from afiskon/patch-1
10:42 dalek ecosystem:
10:42 dalek ecosystem: added DateTime::Format::W3CDTF
10:42 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/c51ec69b80
10:46 dakkar joined #perl6
10:48 spider-mario joined #perl6
10:54 wk joined #perl6
10:59 sergot karma sergot
10:59 aloha sergot has karma of 4.
10:59 sergot \o/
10:59 sergot :)
11:00 leont joined #perl6
11:03 tadzik sergot++ # new modules page
11:04 tadzik well-deserved karma :)
11:06 masak sergot++ # what tadzik said
11:09 moritz sergot++ # modules page
11:15 moritz https://gist.github.com/2934374 # anybody want to add a Perl 6 version as a comment?
11:18 marmay joined #perl6
11:20 sergot thanks ! \o/
11:24 masak moritz: hm, looks like an interesting challenge.
11:25 moritz the discussion on reddit suggests an OO-approach for Java instead
11:26 moritz (which is think would be more idiomatic)
11:26 masak aye.
11:26 masak runtime poly.
11:28 moritz one "you think this is cute today" idea:
11:28 moritz my %vars; sub add(*@args) { [+] @args }; sub var($name) { %vars{$name} }
11:29 moritz my $ast = [&add, 24, [&var, 'a'] ]
11:30 moritz sub evaluate(@ast) { my ($fun, @rest) = @ast; $fun(@rest.map: { $_ ~~ Positional ?? evaluate($_) !! $_ } ) }
11:31 masak here's my version: https://gist.github.com/ca5a82ae76951cc387cc
11:31 masak I want to try to re-implement it with pairs, not arrays. but this was the one I knew I could get working.
11:32 Chillance joined #perl6
11:33 moritz ooh, that's nice
11:33 masak ;)
11:37 dalek rakudo/export-constant: bb9d84b | moritz++ | src/ (2 files):
11:37 dalek rakudo/export-constant: export trait for constants
11:37 dalek rakudo/export-constant: review: https://github.com/rakudo/rakudo/commit/bb9d84b4d6
11:43 masak there. https://gist.github.com/ca5a82ae76951cc387cc
11:43 masak took a bit of fiddling to get it to work, but I think I like the format better with Pair.
11:44 moritz but the code is nicer with arrays
11:44 masak I'd like it even better if I could write `:key<add>` instead of `:$key where 'add'` ;)
11:44 moritz that matching, mostly
11:44 moritz aye
11:44 tadzik I liked the previous one better
11:44 masak maybe I should spec that...
11:45 masak tadzik: the previous one clearly has cleaner matching logic.
11:45 masak but it waterbeds up in the input format.
11:45 tadzik yeah
11:45 tadzik right
11:45 moritz to waterbed
11:46 masak which one should I contribute to https://gist.github.com/2934374 ?
11:46 moritz the one with arrays
11:46 tadzik +1
11:46 tadzik less magical, less scary :)
11:49 masak consider it done.
11:57 colomon masak++
11:57 masak https://gist.github.com/2934374#gistcomment-531226
11:59 moritz masak++
12:03 moritz phenny: tell jnthn branch export-constant works and passes all tests, but I'd like some input from you if that's a valid approach
12:03 phenny moritz: I'll pass that on when jnthn is around.
12:04 moritz my testcase being    module A { constant flurp is export = 42 }; import A; say flurp
12:06 awoodland joined #perl6
12:07 sivoais joined #perl6
12:08 JimmyZ joined #perl6
12:13 arnsholt flurp. Nice name ^_^
12:20 leont joined #perl6
12:21 tokuhiro_ joined #perl6
12:34 [Coke] TimToady: any feedback on rosettacode/sierpinski_triangle.t in roast before I try to make that more... automated?
12:35 FROGGS__ joined #perl6
12:36 [Coke] (which won't happen until at least this weekend.)
12:42 * [Coke] wonders if he should be more annoyed that this internal website requires IE, or happy that there is a citrix farm setup so he can use IE, even from his mac.
12:45 arnsholt I use windows by doing SSH with X forwarding to our Linux login cluster and then running a premade rdesktop script from there
12:45 arnsholt A bit annoying =)
12:49 FROGGS joined #perl6
12:50 dalek modules.perl6.org: 2e2790d | flussence++ | web/lib/P6Project/HTML.pm:
12:50 dalek modules.perl6.org: s/GTM/GMT/
12:50 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/2e2790df7d
13:10 * masak suddenly realizes that the 'given' construct is pretty much equivalent to Lisp's 'let' construct
13:11 * [Coke] remains stuck on new nqp.
13:11 * [Coke] feels MikeFair's pain.
13:12 flussence masak: Javascript has a 'let' too, but without a concept of a default variable it's pretty horrible to use
13:14 flussence (or am I thinking of "with"? my JS's a bit rusty...)
13:17 flussence oh, yeah I had those mixed up. 'let' is more like lexical scoping in JS.
13:21 am0c joined #perl6
13:23 masak flussence: yes, JavaScript's 'with' is not recommended by leading experts.
13:23 dalek rakudo/nom: 2948c89 | coke++ | t/spectest.data:
13:23 dalek rakudo/nom: Run 2 rosettacode tests.
13:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2948c89bd7
13:23 masak flussence: the real problems with it start with it not being statically analyzable. that is, its behavior may vary from run to run, even during the same program run.
13:24 masak flussence: which, incidentally, is also bad for optimization. besides virtually never being what you expect as a programmer.
13:24 [Coke] with - unfortunate, since it makes for some nicer looking code.
13:25 skids joined #perl6
13:26 masak the agreement with which the feature is disliked is so unanimous that 'with' was *removed* in ES5.
13:26 masak not deprecated. removed.
13:28 arnsholt masak: Good point about the let. Although given only lets you do one variable =)
13:29 arnsholt Also, one of my colleagues when I worked at Opera had some wonderful horror stories on compiling and optimising JS
13:30 masak arnsholt: you can use 'for' to do several variables ;)
13:30 masak rn: for 1, 2, 3 -> $a, $b, $c { say "$a $b $c" }
13:30 p6eval rakudo 962b9b, niecza v21-1-ga8aa70b: OUTPUT«1 2 3␤»
13:31 masak rn: given [1, 2, 3] -> [$a, $b, $c] { say "$a $b $c" }
13:31 p6eval rakudo 962b9b: OUTPUT«1 2 3␤»
13:31 p6eval ..niecza v21-1-ga8aa70b: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 1287 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 266 (Mu.Str @ 15) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting…
13:31 masak ah, works with 'given' too if you use nested sigs.
13:31 masak sorear: Niecza doesn't do nested signatures?
13:31 * masak checks the compiler table
13:32 masak Niecza has green there.
13:32 masak hm.
13:32 masak rn: sub foo([$a, $b, $c]) { say "$a $b $c" }; foo([1, 2, 3])
13:32 p6eval rakudo 962b9b, niecza v21-1-ga8aa70b: OUTPUT«1 2 3␤»
13:32 bluescreen10 joined #perl6
13:32 masak seems it's just with given that it works less well.
13:32 * masak submits nieczissue
13:33 arnsholt masak: Oooh, nice one. I'm sure my Lisp programmer friends will love that one =D
13:35 masak well, Perl 6 comes fairly close to (but in the end shies away from) real Prolog-like unification in its signatures.
13:36 arnsholt I think full-on Haskell/Prolog-style destructuring binds would be ever so slightly overkill
13:36 masak probably.
13:37 masak but what we have of them is really nice.
13:37 arnsholt I like the feature we have
13:37 arnsholt Yeah, that =)
13:37 masak jnthn's famous signatures talk has a nice example of how you can use nested signatures in a destructuring-bindish kind of way.
13:40 arnsholt Yeah, I think of that stuff pretty much like destructuring bind
13:40 TimToady http://rosettacode.org/wiki/Pattern_matching
13:41 arnsholt /multiple value bind
13:41 [Coke] TimToady: ooh, that "output" block will be very helpful.
13:41 TimToady the p6 solution closely cargo cults^W^Wresembles the Haskell solution
13:41 att joined #perl6
13:43 [Coke] TimToady: the output block doesn't match rakudo-current's output, though.
13:44 [Coke] output block seems to have one extra closing ]
13:44 TimToady it's random
13:45 TimToady and if it has an extra ], that's a .perl bug
13:45 TimToady or a pebcak :)
13:46 [Coke] no, the output block on RC says ...]]]], but rakudo ends with ...]]]
13:46 [Coke] (if the output is possibly random, I'd change the block to "sample output", or somesuch.)
13:48 TimToady that's not the RC way :)
13:48 stopbit joined #perl6
13:48 TimToady anyway, this is one of times I wish .perl was .pretty
13:49 TimToady or that we had a reliable .yaml
13:53 arnsholt Awww. Common Lisp defmethod won't let me specify multis with differing arities
13:53 * arnsholt has a sad
13:55 benabik joined #perl6
13:55 TimToady masak: the least powerful (by some def) balanced paren matcher is probably 1 while s/'()'// and check the remainder
13:56 [Coke] seen dalek?
13:56 aloha dalek was last seen in #parrot 13 mins 22 seconds ago saying "parrot/native_pbc: review: https://github.com/parrot/parrot/commit/4747cdaf00".
13:57 gongyiliao joined #perl6
13:58 masak TimToady: yet another case where "modify private copy" seems to be a viable paradigm.
13:59 masak TimToady: I'm toying with the idea of a programming language with immutability for all shared references, but mutability for all references that haven't been shared yet.
13:59 TimToady but your mutators are sharers :)
14:00 TimToady so you only get one mutation...
14:00 masak hm, not the way I picture it. let me see if I can come up with a good example.
14:01 TimToady are you picturing a distinction between intrinsics and extrinsics?  Perl 6 sure tries to avoid that...
14:02 benabik joined #perl6
14:02 masak I think I might be picturing that. I don't know exactly what those two terms entail, but that sounds like what I may have in mind.
14:02 TimToady P5 separated them, with the result that P5 could never talk about how it felt, because it was all subconscious
14:02 masak hm :)
14:03 masak in a way, I picture all mutable calculations as taking place in a monad-like environment where you're not supposed to peek or ask "how's it going?"
14:03 masak (but without mentioning or needing the word "monad")
14:04 TimToady so call it IO to make it completely misleading :)
14:04 masak heh :)
14:04 benabik joined #perl6
14:04 TimToady while you're at it, call types "data"
14:06 masak that is confusing. some day I will grok that bit of Haskell.
14:07 TimToady well, in the pure FP mindset, there's really no such thing as data just sitting there in a spot of memory; it's all just functions and arguments
14:08 TimToady so "data" means "here's the shape of my data"--but that's kind of a low-level type
14:09 pmichaud good morning, #perl6
14:09 masak good am, pm
14:10 FROGGS \o pmichaud
14:10 pmichaud (.perl as .pretty)  -- I wouldn't mind doing things to make our .perl prettier
14:11 masak TimToady: I would consider free variables in lambda calculus to be neither functions nor arguments :)
14:11 TimToady maybe switch to pretty mode for anything longer than a line by default
14:12 TimToady and parameters, sure
14:12 TimToady which eventually get bound
14:12 masak right.
14:12 masak and of course, everything that isn't a function can be Church-encoded as one, or equivalent.
14:13 masak but one has to be pretty... pure... to want to do that. :P
14:13 TimToady there's also a reason it's called the Turing Tarpit :)
14:14 masak well, I don't see much sport in constructing a language where the biggest challenge is using the language itself... :)
14:14 masak the closest to such a language I've been using lately is probably JavaScript.
14:14 TimToady makes it easy to reimplement though
14:15 TimToady the odd thing about Haskell was that it was so hard to implement; but then, I guess I know something about that...
14:16 TimToady One bites of more than N can chew...
14:17 masak Haskell is not exactly close to the metal.
14:17 TimToady well, neither is Lisp, exactly...
14:17 masak I'd say it's closer, though.
14:17 masak but yeah, Lisp was also a leap. first GC language, for example.
14:18 TimToady current computer tech understands OO much better than FP, at least until you start getting all polymorphic
14:19 TimToady but to a C++ programmar, an object is just a fancy struct
14:19 * masak .oO( if your OO isn't polymorphic, then what's the point of it being OO? )
14:19 masak oh wait, that opinion belongs to my previous understanding of OO :P
14:20 TimToady memory holds state; that violates FP right off the bat
14:21 masak TimToady: I think OO and FP are two incompatible local optima, which can nevertheless be combined in various ways in the same program.
14:21 TimToady we don't actually know how to build FP computers yet, the Lisp Machine notwithstanding
14:21 masak C# seems to be very much evolving in this direction.
14:21 TimToady well, certainly we've taken our shot at it as well
14:22 TimToady and there are senses where each is "more fundamental" than the other in the design of P6
14:22 masak TimToady: recently I've come to view OO/imperative as Turing's heritage, and FP as Church's heritage. the amazing thing about FP is how it keeps asserting itself in modern programming languages in the guise of solid design principles.
14:23 TimToady methods are just functions in Perl 6; otoh most of our operator functions end up dispatching to methods
14:23 TimToady masak: yes, kind of like a sheep in wolf's clothing, or some such
14:23 masak Turing: "the computer is a tape recorder acting on an infinite tape". Church: "computing is the rewriting of accurately scoped substrings".
14:24 TimToady but they're really the same, if you consider the tape the state of the rewriting
14:24 masak yah, but that's not generally how the tape is used :)
14:24 masak I agree that they're both powerful enough to describe the other.
14:24 masak actually doing so is Not Recommended.
14:24 TimToady sure it is; it's just a very messy set of rewriting rules :)
14:25 masak hm, I guess any implementation of an FP language is in a sense Church's rules on a Turing tape... :)
14:25 masak so I take that back.
14:25 pmichaud it's a very messy set of rewriting rules, that are excellent for tormenting implementors.  :-P
14:26 TimToady we try
14:26 masak anyway, ++jnthn is very eager to use the following pun in some talk: "On The Separation of Church and State" :P
14:27 pmichaud heh
14:27 pmichaud jnthn++
14:28 GlitchMr joined #perl6
14:28 TimToady the universe, otoh, seems to be both OO and FP, depending on how you look at it
14:28 TimToady which surfaces in funny ways, like the particle/wave duality
14:29 masak I keep hearing that the particle/wave duality is totally bogus. Feynman said it. "light is particles", he said.
14:30 TimToady well, he's just redefining particles there
14:30 masak could be.
14:30 TimToady but the particles themselves are described with "wave functions"
14:31 FROGGS class particle is wave { ... }?
14:31 masak FROGGS: pretty sure the universe doesn't use inheritance. not even single inheritance :P
14:31 FROGGS ;o)
14:31 masak the universe probably uses roles or something even fancier.
14:31 sirrobert re: universe being OO and FP--  it's probably "truer" to think of it as human cognition utilizing both approaches
14:32 sirrobert imho =)
14:32 TimToady fundamentally, it's either math, or topology (or both, if you're a topologist)
14:33 sirrobert well, *we* either mathemtize or topologize it.  *it* may be something other
14:33 sirrobert ^a
14:33 TimToady indeed
14:33 FROGGS r: module A { our constant $SDL_INIT = 42; }; load A; say $SDL_INIT;
14:33 p6eval rakudo 2948c8: OUTPUT«===SORRY!===␤Variable $SDL_INIT is not declared␤at /tmp/rOQD31YZsS:1␤»
14:33 FROGGS should that work?
14:33 TimToady I suspect the universe is made of quantum foam, and all we ever see are persistent accounting errors
14:34 TimToady and extra electron over here, then later an extra electron over there, so we call them the same electron
14:34 Ulti photons aren't particles or waves in the classical physics sense, there isn't any duality in their nature just in the mathematical descriptions used if you only use statistical descriptions you can unify everything mathematicaly
14:34 arnsholt sirrobert: I dunno. Turing machines and lambda calculus aren't the only Turing-complete formalisms
14:34 Ulti maths != reality
14:34 arnsholt Neural networks are Turing-complete as well
14:34 Ulti despite what mathmagicians like to think
14:34 TimToady but it's really someone didn't turn in their receipt to accounting, and the whole company's balance sheet is of by 47 euro...
14:34 TimToady *off
14:34 sirrobert arnshot: I don't mean those two exclusively
14:35 dalek rakudo/nom: 63de79c | (Salve J. Nilsen)++ | docs/architecture. (2 files):
14:35 dalek rakudo/nom: Updated architecture docs to current state
14:35 dalek rakudo/nom:
14:35 dalek rakudo/nom: - Updated SVG, describing the compilation pipeline, with help
14:35 dalek rakudo/nom:   from pmichaud++
14:35 dalek rakudo/nom: - Updated the HTML prose describing the different steps in the
14:35 dalek rakudo/nom:   pipeline, with help from pmichaud++
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/63de79cd3d
14:35 dalek rakudo/nom: 3791f05 | (Salve J. Nilsen)++ | src/Perl6/Grammar.pm:
14:35 dalek rakudo/nom: Merge remote-tracking branch 'rakudo/nom' into nom
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3791f05e31
14:35 dalek rakudo/nom: 1905259 | (Salve J. Nilsen)++ | docs/architecture. (2 files):
14:35 dalek rakudo/nom: Updated description of the Core settings
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/19052593e5
14:35 dalek rakudo/nom: 558f0de | (Salve J. Nilsen)++ | src/ (5 files):
14:35 dalek rakudo/nom: Merge remote-tracking branch 'rakudo/nom' into nom
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/558f0de3d1
14:35 dalek rakudo/nom: 103e95a | (Salve J. Nilsen)++ | / (32 files):
14:35 dalek rakudo/nom: Merge remote-tracking branch 'rakudo/nom' into nom
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/103e95a98f
14:35 dalek rakudo/nom: cc18589 | pmichaud++ | docs/architecture. (2 files):
14:35 dalek rakudo/nom: Merge pull request #79 from sjn/nom
14:35 dalek rakudo/nom:
14:35 dalek rakudo/nom: Updates to the architecture document and SVG
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cc18589ba7
14:35 sjn yay!
14:36 tadzik sjn++
14:36 moritz sjn++
14:36 arnsholt Karma! =)
14:36 arnsholt Also, docs. sjn++
14:36 masak sjn++
14:36 sjn moritz: nice if you could take a look at the architecture.html file too :)
14:37 TimToady Util: just because we make up and/or discover math all the time doesn't imply that the universe is not made out of something we would classify as math if we understood it a few levels better than we do
14:37 masak arnsholt: funges are an interesting kind of turing-complete automatons. :)
14:37 sjn moritz: (since you did most of that one earlier)
14:37 moritz sjn: I hope I'll get around to it later tonight
14:37 sjn s/most of/all of/
14:37 sjn sweet
14:37 pmichaud yes, I applied the commit and hope others will add their improvements as appropriate :)
14:37 tadzik TimToady: s/Util/Ulti/, maybe?
14:37 tadzik those 2 guys are confusing :)
14:37 sirrobert I'm trying to understand proto regexes.  Why doesn't this do what I want it to do?
14:37 TimToady yeah, sorry
14:37 sirrobert r: grammar G { proto token TOP { * } token TOP:sym<a>  { 'a' }; } class G::A { method TOP { say "TOP"; } method a { say 'first'; } } my $first   = 'abc'; G.parse: $first,  :actions(G::A.new);
14:37 p6eval rakudo 2948c8: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2, near "proto toke"␤»
14:37 sirrobert woops, one sec...
14:38 arnsholt masak: Oh, I'd forgotten about those. They're a bit weird
14:38 sirrobert r: grammar G { proto token TOP { * }; token TOP:sym<a>  { 'a' };; }; class G::A { method TOP { say "TOP"; }; method a { say 'first'; }; }; my $first   = 'abc'; G.parse: $first,  :actions(G::A.new);
14:38 p6eval rakudo 2948c8:  ( no output )
14:38 pmichaud you need method TOP:sym<a>
14:38 arnsholt I'm a bit fond of string rewriting systems, TBH. I think I've been doing too much (La)TeX =)
14:39 Ulti TimToady: apart from you have no way to prove that your maths is the correct interpretation
14:39 sirrobert pmichaud: ahh...
14:39 pmichaud r: grammar G { proto token TOP { * }; token TOP:sym<a>  { 'a' };; }; class G::A { method TOP { say "TOP"; }; method TOP:sym<a> { say 'first'; }; }; my $first   = 'abc'; G.parse: $first,  :actions(G::A.new);
14:39 p6eval rakudo 2948c8: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in method TOP:sym<a> at /tmp/vqnVXSgkl_:1␤  in any !reduce at src/stage2/QRegex.nqp:582␤  in any !cursor_pass at src/stage2/QRegex.nqp:549␤  in regex TOP:sym<a> at /tmp/vqnVXSgkl_:1␤  in any !protoregex …
14:39 pmichaud r: grammar G { proto token TOP { * }; token TOP:sym<a>  { 'a' };; }; class G::A { method TOP { say "TOP"; }; method TOP:sym<a>($/) { say 'first'; }; }; my $first   = 'abc'; G.parse: $first,  :actions(G::A.new);
14:39 p6eval rakudo 2948c8: OUTPUT«first␤»
14:39 masak arnsholt: I think lambda calculus is a lot "cleaner" than the universal Turing machine, even though the latter may be said to be simpler.
14:40 arnsholt Depends on what "simple" means, I guess
14:40 sirrobert pmichaud:  thanks... I can work with that to get a better understanding; semi-afk to process it
14:40 Ulti also I'm Ulti not Util ;) dont want anyone getting the blame for my comments
14:40 kresike bye folks
14:40 arnsholt In the "how easy is it to implement as a machine" sense Turing machines are simpler, but that's not the only possible meaning of simple I think
14:41 arnsholt There is for example the "possible to do non-trivial things with it" sense, where Turing machines fail rather badly compared to lambda calculus =)
14:42 arnsholt & # Homewards bound
14:42 sirrobert arnsholt & kresike: wave
14:42 masak arnsholt: yeah, there's something weird going on there. I mean they're both equivalent, but...
14:42 TimToady Ulti: well, not even God tries to prove all his math correct; he seems to like to statistical approaches, Einstein notwithstanding on the subject of dice...
14:42 masak arnsholt: lambda calculus feels less turing-tarpit-ish than the turing machine in that sense.
14:43 masak arnsholt: things are arduous and long-winded in unadorned lambda calculus as well, but at least you have higher-order functions out of the box, which really helps.
14:43 masak on the turing machine, you have to emulate them somehow.
14:44 Ulti also on turing completeness http://en.wikipedia.org/wiki/Rule_110
14:44 masak aye, that's a good example, too.
14:44 spider-mario joined #perl6
14:45 masak probably counts as more of a Turing Tarpit than even Malbolge ;)
14:45 masak Game of Life is similarly Turing Complete.
14:46 TimToady but on OO vs FP, not even physicists are sure where the state is stored: see the Holographic notion
14:48 sirrobert in the case of "grammar G { proto token TOP { * }; token TOP:sym<a> {'a'};}" with corresponding action...
14:48 sirrobert how do I add a new token TOP:sym<$something> with corresponding action during runtime?
14:48 masak sirrobert: using the MOP, supposedly.
14:48 sirrobert heh
14:48 sirrobert which parts? =)
14:48 masak but... Are You Sure You Want That?
14:48 sirrobert .^add_method?
14:48 sirrobert masak: yep
14:49 TimToady well, that's the OO answer :)
14:49 masak aye, .^add_method should do it.
14:49 TimToady the FP answer is that there's this function we call derivation
14:49 masak maybe look at how Rakudo does it with grammars.
14:49 TimToady which allows you to add methods
14:49 masak TimToady: :)
14:49 masak sirrobert: I think TimToady is suggesting you subclass at runtime.
14:50 masak but that's only an option if the names are known statically, no?
14:50 masak of the rules/methods, I mean.
14:50 fgomez joined #perl6
14:50 szabgab joined #perl6
14:50 TimToady I'm suggesting, as the universe does, that it's all fundamentally FP when you want it to be OO, and vice versa.  :)
14:51 szabgab rakud
14:51 szabgab rakudo: my $a=2; my $b; say defined($b) ?? $a+$b !! "undef"
14:51 p6eval rakudo 2948c8: OUTPUT«undef␤»
14:51 sirrobert What's the best example code for subclassing at runtime?
14:51 tadzik Test::Mock maybe
14:51 TimToady "rakud" looks like it should be a Hebrew root of some sort
14:51 szabgab rakudo: my $a=2; my $b; say defined $b ?? $a+$b !! "undef"
14:51 p6eval rakudo 2948c8: OUTPUT«True␤»
14:51 szabgab TimToady: it is rikud and mean dancing
14:51 moritz TimToady: because you have heard of "likud" or so
14:52 sirrobert tadzik: thanks
14:52 szabgab but the main issue is that a string is covering my input line :)
14:52 TimToady more because I know that Hebrew roots tend toward 3 consonants :)
14:52 szabgab very strange, it it is a github link to camelia.txt
14:52 moritz szabgab: note that 'defined' used to be a prefix op, and is now an ordinary list op
14:52 szabgab anyway, is the preference right in the esecond example?
14:52 moritz szabgab: so the precedence has changed
14:53 moritz n: my $a=2; my $b; say defined $b ?? $a+$b !! "undef"
14:53 szabgab thanks
14:53 p6eval niecza v21-1-ga8aa70b: OUTPUT«True␤»
14:53 moritz yes, it's right. Just not what it used to be
14:53 masak one less exception to remember.
14:53 benabik joined #perl6
14:53 TimToady sirrobert: or just do a mixin, which is run-time composition
14:53 szabgab TimToady:  the majority, but there are 2 long roots and 4 long ones too
14:54 szabgab though those are usually repeating 2 :)
14:54 TimToady why I said "tend toward" :)
14:54 szabgab yep
14:55 TimToady though, to be sure, I always hedge my remarks...well, almost always...
14:56 masak rn: my $o1 = class { method foo { say "foo!"; self } }; my $o2 = $o1 but role { method bar { say "bar!" } }; $o2.foo.bar
14:56 p6eval rakudo 2948c8, niecza v21-1-ga8aa70b: OUTPUT«foo!␤bar!␤»
14:56 masak \o/
14:56 moritz \o/ an autopun
14:56 Hugh_ joined #perl6
14:56 masak indeed.
14:56 masak TimToady is good at those.
14:58 Ulti out of interest is anyone working on concurrency in Rakudo?
14:58 tadzik I tried
14:58 sirrobert TimToady, masak, et. al:  The mixin approach makes the most sense to me at this moment, so I'm going with that for now.
14:58 Ulti :]
14:58 sirrobert thanks all (got a POC functional)
14:58 tadzik waiting for Parrot guys to investigate what I found
14:59 Ulti is the idea to use pthreads rather than forked processes?
14:59 masak tadzik: maybe they are waiting for you, in an unfortunate kind of deadlock situation...? :)
14:59 Ulti lol
14:59 tadzik :P
14:59 masak boom! autopun!
14:59 tadzik I hope they don't just sit silent but not work :>
15:00 tadzik reference: https://gist.github.com/3610283
15:00 * masak hopes they don't have to share forks around a table
15:00 tadzik :>
15:00 benabik joined #perl6
15:01 Ulti I only ask because I'm really interested in the bioinformatics applications for perl6 and one thing is that most operations are trivially parallelisable either by loop unrolling or using junctions for combinatorics
15:02 Ulti a lot of the software I use tends to have implementations with pthreads and mpi depending on how "wide" you want to go
15:02 TimToady when you say "loop unrolling", I don't think of that as parallel.  do you mean something more like "pipelined"?
15:03 MayDaniel joined #perl6
15:04 thou joined #perl6
15:05 masak TimToady: you're thinking of serial unrolling, where the loop is rolled downwards in the code. parallel unrolling means unrolling it sideways. :P
15:05 Ulti TimToady: perhaps,   my @sequences; for my $seq (@sequences) {}     you can just add an outer loop that chunks the original @sequences to be executed in parallel... all the data values are independent
15:06 TimToady well, oddly, what the serial unrolling does is allow the CPU to use its parallel pipelines better, go figure
15:06 arnsholt masak: Yeah, I agree on Turing machine vs. lambda calculus. We have a course at uni. of Oslo which is logic and foundations of computation, and the "write a Turing machine" exercises they have are pretty fundamental, where as lambda calculus things can be a lot more interesting
15:06 TimToady Ulti: okay, we'd just call those "hypers" here
15:06 Ulti ok
15:07 TimToady or maybe even "races", if you don't care about the order of the result
15:07 TimToady but nobody implements race yet
15:07 benabik joined #perl6
15:08 Ulti are these the terms used in the spec, maybe I should go read it
15:08 masak arnsholt: I wonder if there's an absolute sense in which lambda calculus is "better suited" (than turing state machine settings) for composing operations into a program.
15:08 arnsholt Good point
15:08 benabik_ joined #perl6
15:08 arnsholt Well, lambda calculus is a whole lot more compositional in general than Turing machines at least
15:09 moritz there are some tables for how the complexity of a program changes when you convert them to another representation
15:09 TimToady Ulti: yeah, S02:4664 and thereabouts
15:09 Ulti thanks :)
15:09 moritz and iirc turing -> lambda was O(n**7) in the worst case, or something
15:09 masak moritz: ouch.
15:09 moritz or maybe it was some other representation to Turing machine
15:10 TimToady though the verbiage there for hyper sounds confusingly like race semantics, but that's not the intent
15:10 TimToady map/reduce is more like race than like hyper really
15:10 arnsholt moritz: Ooh, that's interesting
15:11 arnsholt I remember reading some stuff on SO that some O(n) things in Turing machine had to be O(n log n) or summat like that
15:11 Ulti also it might be worth me mentioning GNU parallel which is written in Perl5, I'm probably one of its heaviest users... it just wraps data around whatever you want over a network or just splits into forked processes on one machine
15:11 arnsholt But I cannae remember where exactly
15:12 masak TimToady: um. I'd say that reduce is neither race nor hyper...
15:13 TimToady I mean as it's used by, say Google, to retrieve results from a server farm
15:14 Ulti also Hadoop used by Yahoo and Facebook
15:14 Ulti if the actual implementation of parallelism could be altered at runtime that would be quite useful...
15:15 masak Ulti: that sounds like the responsibility of a dynamic optimizer.
15:15 TimToady Ulti: sure, that's why Perl 6 tries to let you specify the form of parallelism you desire without locking you to an implementation
15:16 Ulti well I was more thinking it would be really neat to be able to specify things like "use this Hadoop cluster"  "use these EC2 nodes"  "use this many OS threads locally"
15:16 TimToady at least for the 3 or 4 most embarrasingly parallelizable kinds of things
15:16 TimToady Ulti: that would be in the realm of a pragma to make suggestings to the compler
15:18 Ulti so you can get your hooks into perl6 that deeply from your own code?
15:18 jaldhar joined #perl6
15:18 Ulti thats pretty cool
15:19 * masak .oO( it's hooks all the way down )
15:20 pmichaud heck, we can even write debuggers without modifying the compiler at all :)
15:20 pmichaud well, jnthn++ can, at least :)
15:21 masak ...how the heck did he do that?! :P
15:21 pyrimidine joined #perl6
15:21 * masak needs to read source
15:22 moritz by subclass Actions.pm iirc
15:24 pyrimidine grammars will be enormously useful in bioinformatics (aka 'multiple format hell')
15:24 Ulti so if I write something using race, is it just currently dealt with serially rather than exploding with an error?
15:24 masak rn: race say 1 + 1
15:24 p6eval rakudo cc1858: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&race' called (line 1)␤»
15:24 p6eval ..niecza v21-1-ga8aa70b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤      'race' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1435 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37) â�¤  at /home…
15:24 TimToady I doubt any compiler even recognizes the word yet
15:25 masak Ulti: not even recognized yet.
15:25 Ulti heh ok
15:25 erkan joined #perl6
15:26 dalek std: b87ea13 | larry++ | CORE.setting:
15:26 dalek std: add race
15:26 dalek std: review: https://github.com/perl6/std/commit/b87ea13bfa
15:26 TimToady there, STD has it now, why are you other guys so slow?  :)
15:26 Ulti lol
15:27 masak I see nothing unfair about that comparison.
15:27 Ulti I should probably not ask anymore awkward questions until I've atleast finished the MacPort I promised ;)
15:28 TimToady masak and I are both cretans, unless it's cretins...
15:28 pyrimidine croutons?
15:28 TimToady I'm allergic to those.
15:29 pyrimidine cretins?
15:29 pyrimidine I'm allergic to those as well
15:29 TimToady fortunately, I'm not :P
15:29 pyrimidine :)
15:30 daxim masak shaves all men that don't shave themselves
15:31 TimToady write that in multi sigs and you might have something
15:32 masak daxim: this explains a lot, actually. :)
15:32 masak daxim: I was wondering why all my razors were so paradoxial.
15:32 masak c*
15:33 TimToady .oO(crazors?)
15:33 * masak .oO( call my razors! )
15:36 * TimToady thinks ^..^ looks more like a kitsune
15:37 masak aww :)
15:38 masak hadn't thought of that, but I can definitely see the similarity.
15:38 masak https://en.wikipedia.org/wiki/File:Fox0290.jpg :)
15:39 TimToady and re http://irclog.perlgeek.de/​perl6/2012-09-04#i_5959071 I think that would destroy the one-linerness of all the functions, which has a certain charm
15:41 masak point.
15:44 j0hnnY left #perl6
15:45 TimToady anonymous multis are usually called "switches" :)
15:46 masak :)
15:48 FROGGS joined #perl6
15:49 FROGGS__ joined #perl6
16:02 brrt left #perl6
16:05 [Coke] pmichaud: https://gist.github.com/362278 - feedback greatly appreciated.
16:06 erkan joined #perl6
16:06 erkan joined #perl6
16:07 masak [Coke]: hm, was that the right URL?
16:08 [Coke] no, definitely not.
16:08 [Coke] https://gist.github.com/3622787
16:08 [Coke] masak++
16:10 kaare joined #perl6
16:10 masak [Coke]++ # for experimenting with HLLs
16:10 pmichaud [Coke]: looking
16:11 pmichaud oh.
16:11 pmichaud in QAST (as it stands now), the thing that comes back from a parse *must* be a QAST::CompUnit containing a single QAST::Block
16:11 pmichaud PAST was friendlier about that.
16:11 pmichaud not sure why that results in the NPA, but I do know that's a difference.  Just a sec and I'll work on it locally.
16:12 * masak .oO( everything works as long as your feet find the intended path on the planks in the swamp ) :P
16:13 pmichaud heh.... jnthn++ and I experienced exactly that on the return hike from Preikestolen :P
16:13 TimToady just carry your own planks; Church says you only need two or so
16:13 pmichaud (finding the intended path; we didn't have our own planks)
16:14 [Coke] masak: that sounds like a metaphor for all the development on partcl ever.
16:14 pmichaud [Coke]: https://gist.github.com/3622948
16:15 [Coke] pmichaud: thank you. that is the closest thing to having a working partcl on nqp I've had in several weeks. ;)
16:16 pmichaud I already discussed with jnthn++ at #mtmh2012 that we need to improve the error trapping or liberalness-of-what-we-accept in that instance.
16:16 [Coke] pmichaud: I had tried Stmts containing a Stmt at one point, and got a slightly different but unhelpful error as well.
16:16 pmichaud [Coke]: noted.  I'll see about updating the code shortly.
16:16 [Coke] pmichaud++
16:17 [Coke] pmichaud++ #for the both the future update and just now help
16:18 masak TimToady: yes, but those two planks are some planks.
16:19 TimToady that's because the Möbius planks
16:19 TimToady *they're
16:19 masak and that's why you only need two. :)
16:20 masak having more wouldn't make the system more powerful, just more confusing.
16:20 daxim insubordinate pirate ants are made to walk the möbius plank
16:21 daxim INFINITELY
16:21 TimToady I can just picture that
16:21 * pmichaud just realized that the path to a complete Perl 6 implementation is actually a mobius loop.  :-|
16:22 TimToady you can say that again
16:22 masak this also explains a lot.
16:23 * masak .oO( with our luck, the path is a Möbius loop of barbers who shave all who don't shave themselves )
16:23 TimToady the swamp is actually a Klein bottle of Kleene stars, which there is likely also a picture of somewhere
16:23 [Coke] bah! now that I have working code, I have to hack on $dayjob for the rest of the day!
16:24 TimToady "It's full of Kleene stars!"
16:24 masak TimToady: that sounds like a fitting description of STD.pm6 and its generated Perl 5 file. "a swamp of Kleene stars" :)
16:25 TimToady well, I'll take a swamp over a tarpit any day
16:25 bluescreen10 joined #perl6
16:27 mst swamps tend to be less flammable
16:27 mst though unfortunately a trifle on the soggy side
16:27 TimToady depends on how much methane is being generated
16:28 mst which is a function of your choice of COW implementation
16:28 * TimToady wonders what the simplest molecule is that can be construed as a Möbius strip
16:29 TimToady I'll bet half of all plasmids are that way
16:29 masak certainly something with carbons and hydrogens can be folded into a Möbius strip.
16:29 TimToady methane can't
16:30 TimToady oh wait, it doesn't have carbons, only hydrogens
16:30 masak it has one carbon :)
16:30 TimToady ethane then
16:30 masak no, I meant. you can probably do it with sufficiently many Cs and Hs, and nothing else.
16:31 masak I know you need at least 3 to make a ring. preferably 4.
16:31 masak carbons, that is.
16:31 TimToady buckytoruses, yum
16:31 masak you probably need quite a bit more than 4 to make a Möbius strip.
16:31 TimToady you need something that has sides
16:32 TimToady so you can turn two sides into one side
16:34 bluescreen10 joined #perl6
16:41 ifim joined #perl6
16:43 bluescreen10 joined #perl6
16:44 _jaldhar joined #perl6
16:49 pmichaud https://gist.github.com/3623354  # for [Coke]++  -- would this have been better?
16:51 mst hrm
16:51 mst is Configure.pl going to rebuild parrot every time I run it?
16:52 pmichaud from a star release?
16:52 pmichaud It might.  We might need some logic to detect that an already-good-enough Parrot has been built.
16:53 mst I'll try and figure out the logic
16:53 mst I assume a hacky patch against 2012.08 that you can clean up would suffice?
16:53 pmichaud very much so, yes.
16:54 pmichaud even just filing an issue would likely suffice :)
16:55 [Coke] pmichaud++: yes, that would have been much easier to diagnose.
16:57 pmichaud ...although it looks as though just having a QAST::Block is sufficient, too.
16:57 pmichaud so maybe I'll just have the compiler add a block node if one isn't there.
16:58 leont joined #perl6
16:59 mst yeah, but filing an issue would mean stopping what I'm doing
16:59 mst whereas hitting it with a stick until it does what I want wouldn't
16:59 pmichaud mst: hit away!
16:59 colomon mst++
17:01 mst ... oh poo. I'm going to have to reconfigure it at least once anyway
17:01 mst of COURSE I forgot to pass down the blooming path options
17:01 mst (non-relocatable things)--
17:04 pmichaud [Coke]: okay, if I automatically wrap the tree into a QAST::Block, the NPA error goes away, as expected.  But the command line "./nqp eek.nqp -e 'eek'"  also results in no output (and correctly so).  Is that what you would've expected, or should we do something about that too?
17:05 pmichaud (if this is better discussed at another time, such as when you aren't $dayjob preoccupied, that's fine too)
17:05 [Coke] I just returned a value, I didn't output it. seems legit.
17:06 pmichaud okay, I'll leave it at that then.
17:06 [Coke] I might expect the exit value to magically be 3, but I doubt that also.
17:06 pmichaud I just don't want the silence/non-output to be too big of an obstacle.  :)
17:06 [Coke] is that... mst? welcome aboard. ;)
17:07 pmichaud I agree the exit value should perhaps be 3... not sure why it isn't.
17:11 [Coke] eh. it's a bit magical. no worries.
17:14 dalek nqp: 962ffbe | pmichaud++ | src/ (2 files):
17:14 dalek nqp: QAST::Compiler automatically wraps QAST trees in QAST::Block when needed
17:14 dalek nqp: (i.e., if the root is neither QAST::CompUnit nor QAST::Block).
17:14 dalek nqp: review: https://github.com/perl6/nqp/commit/962ffbe897
17:15 pmichaud hmmm, it's lunchtime.  bbiaw
17:20 benabik joined #perl6
17:37 ifim left #perl6
17:41 nodmonkey joined #perl6
17:43 marmay joined #perl6
17:48 erkan joined #perl6
17:48 erkan joined #perl6
17:50 masak why don't more imperative languages have an amb-like control flow construct? something like 'attempt { A } else { B }', and then something like 'backtrack' to try subsequent branches?
17:50 masak it would help implement Prolog-like searches, as well as regex engine logic.
17:51 mst what are the semantics of that?
17:51 GlitchMr I guess that peek and poke won't be ever feature in Perl 6?
17:51 GlitchMr Even if Perl 6 takes features from many languages
17:51 leont Because it's strange to most people
17:52 masak mst: if the code succeeds without 'backtrack' being run, only A is run. otherwise B is attempted (and the effects of A forgotten).
17:52 masak GlitchMr: what is your use case?
17:52 GlitchMr Crashing Perl 6?
17:52 mst masak: hmm
17:52 masak GlitchMr: direct memory access isn't very portable.
17:53 * leont is sure he read a wikipedia page about it, but he can't find it anywhere anymore
17:54 mst masak: assuming an A without side effects, 'use Try::Tiny; try { A } || do { B }' and backtrack being a flow controlexception would work
17:55 mst masak: not that I'm saying that's an optimal implemenation, but I've used stuff of that ilk to experiment
17:55 masak ooh
17:56 masak well, yes. the construct I'm thinking of is essentially exception-like.
17:56 mst alternatively, zefram did some interesting stuff with non-local returns
17:56 mst that'd be better
17:57 mst here we go
17:57 mst masak: https://metacpan.org/module/Scope::Escape::Sugar
17:57 masak nice.
17:57 benabik joined #perl6
18:00 TimToady masak: revised http://rosettacode.org/wiki/Same_Fringe#Perl_6 for ya
18:00 masak yay
18:01 TimToady also changed it not to take the Any
18:01 TimToady which isn't Any now, but Cool
18:01 TimToady because it is
18:01 TimToady kinda
18:01 TimToady would still like a better longest zip
18:01 masak *nod*
18:01 mst Cool for Cat6? # rakudo over ethernet
18:02 masak mst: Cool is the type manifestation of "scalars are Int-y and Num-y and Str-y at the same time" in Perl 6.
18:02 TimToady but in this case, it's just punning on "I'm done, we're cool."
18:03 moritz http://doc.perl6.org/type/Cool
18:03 masak r: say $_ ~~ Cool for Int, Num, Str, Signature
18:03 p6eval rakudo cc1858: OUTPUT«True␤True␤True␤False␤»
18:03 mst I was just going for "cool for cats"
18:03 TimToady and because nobody's gonna put a Cool typeobject into their tree, we hope
18:03 masak mst: we do have a Cat type, too ;)
18:03 TimToady and a Rat type, but no Mouse yet
18:03 mst let's not have one of those, the Moose only stands on it.
18:04 masak :P
18:04 TimToady someone should implement http://rosettacode.org/wiki/Mouse_position though
18:06 FROGGS I can do that using SDL^^
18:07 * FROGGS .oO( did that right now for bubble breaker game )
18:08 FROGGS just a bit more speed would be nice
18:09 FROGGS takes 14 seconds to start up -.-
18:09 moritz did you precompile?
18:09 moritz (the modules, that is)
18:10 FROGGS no, I dont
18:10 tadzik FROGGS: Frozen Bubble?
18:11 FROGGS ohh no, frozen bubble is about 8k lines of code inlcuding C/xs stuff, dont wanna do that right now
18:11 FROGGS how to precompile modules?
18:11 FROGGS here is a screenshot: http://yapgh.blogspot.de/2011/03/sdl-​perl-game-contest-week-3-roundup.html
18:12 FROGGS its the perl5 version but it looks (and feels) the same
18:12 FROGGS except the speed of course
18:12 FROGGS I'll port Saving Sue (a frogger clone) too some day
18:13 cognominal__ joined #perl6
18:13 tadzik FROGGS: in perl 6?
18:13 FROGGS sure
18:13 tadzik use ufo :)
18:13 tadzik that's the best way
18:13 tadzik then just 'make'
18:14 FROGGS k
18:14 cognominal joined #perl6
18:16 mst masak: was it 'make test' or 'make spectest' that tested everything?
18:16 mst ah, rakudo-test and rakudo-spectest
18:16 FROGGS make test just gives an info msg
18:16 mst don't mind me, failure to RTF(README)
18:18 SamuraiJack joined #perl6
18:19 FROGGS brb, lunch
18:23 masak mst: I wouldn't have known the answer; I don't use Rakudo Star much. I run straight off Rakudo.
18:23 sorear good * #perl6
18:24 sorear n: sub foo($x [$y,$z]) { say $z }; foo([2,1
18:24 p6eval niecza v21-1-ga8aa70b: OUTPUT«[31m===[0mSORRY![31m===[0m��Unable to parse array composer at /tmp/oyWC_IeXHu line 1:�------> [32msub foo($x [$y,$z]) { say $z }; foo([[33m�[31m2,1[0m�Couldn't find final ']'; gave up at /tmp/oyWC_IeXHu line 1 (EOF):�------> [32msub foo($x [$y,$z])…
18:24 sorear n: sub foo($x [$y,$z]) { say $z }; foo([2,1]) # masak, niecza does do nestedsigs
18:24 p6eval niecza v21-1-ga8aa70b: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/aCVPLtoZD1 line 1:â�¤------> [32msub foo([33mâ��[31m$x [$y,$z]) { say $z }; foo([2,1]) # mas[0mâ�¤  $y is declared but not used at /tmp/aCVPLtoZD1 line 1:â�¤------> [32msub foo($x [[33mâ��[31m$y,$z]…
18:24 sorear n: sub foo($x [$y,$z]) { say $z }; foo([2,1]) # masak, niecza does do nestedsigs #OK
18:24 p6eval niecza v21-1-ga8aa70b: OUTPUT«1␤»
18:27 masak sorear! \o/
18:28 masak sorear: yes, I realized. but it doesn't do them with 'given', it seems.
18:31 sorear mmh?
18:31 sorear n: given [1,2] -> [$x,$y] { say $y }
18:31 p6eval niecza v21-1-ga8aa70b: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/ekaXNcKp1i line 1:â�¤------> [32mgiven [1,2] -> [[33mâ��[31m$x,$y] { say $y }[0mâ�¤â�¤Any()â�¤Â»
18:31 sorear hmm
18:31 sorear n: given [1,2] -> $ [$x,$y] { say $y } #OK
18:31 p6eval niecza v21-1-ga8aa70b: OUTPUT«Any()␤»
18:32 sorear oh
18:32 wk joined #perl6
18:32 sorear the inline signature binder is failing to recognize this a case that needs to delegate to the full signature binder
18:33 GlitchMr glitchmr@feather ~> perl6
18:33 GlitchMr perl6                perl6-2012.07        perl6-2012.08        perl6-debug          perl6-debug-2012.08
18:33 GlitchMr This works well
18:34 mst huh, this is looking promising ...
18:34 * mst grins
18:34 mst (I'll explain in a bit :)
18:34 GlitchMr perl6-debug is not part of 2012.07?
18:34 sorear correct
18:34 sorear it's the big new feature of .089
18:34 * mst grumbles
18:35 sorear I was there two weeks ago when jnthn++ shocked the world by releasing it
18:35 mst pmichaud: bad star dist, it should NOT need to run stuff on install
18:35 mst pmichaud: ... oh, hahahahaha, it needs to -be- installed to run the built version to do stuff doesn't it EW
18:37 test___ joined #perl6
18:37 lizmat joined #perl6
18:41 masak mst: 'fraid so.
18:41 masak sorear: oh, that would explain it.
18:42 TimToady revised http://rosettacode.org/wiki/Sortin​g_algorithms/Counting_sort#Perl_6 for style
18:43 TimToady kinda funny that their highlighter highlights the 'sort' of 'counting-sort'
18:43 TimToady someone needs to teach it about hyphenated identifiers
18:44 att joined #perl6
18:44 GlitchMr I've feeling it's Perl 5 parser modified to support Perl 6 keywords
18:44 GlitchMr For GeSHi
18:44 stopbit joined #perl6
18:45 GlitchMr GeSHi is probably worst syntax highlighter, but well, it works... in most cases
18:45 sorear i'd be amazed if someone has a working perl 6 highlighter
18:45 GlitchMr It works like - try to match every RegExp, if it matches move pointer and try that again
18:45 GlitchMr It doesn't support changing contexts - everything is single context
18:47 GlitchMr Or perhaps it does - http://qbnz.com/highlighter/de​mo.php?id=308951&amp;lang=php
18:47 GlitchMr It highlights variable name
18:47 GlitchMr in string
18:48 pmichaud mst: yeah, I totally don't like the build+install dependencies we have now.  While I was in .eu we developed our plan for eliminating (or at least reducing) the dependencies; it now just depends on tuits to implement the plan.
18:49 pmichaud likely won't be fixed in september release, but it could happen in october or november.  it's a fairly high-ish priority for us.
18:50 pmichaud that's the case at least for perl6 modules.  For parrot stuff... well, we have to build from the installed version of parrot, sadly.
18:51 mst yeah, well, we can discuss relocatability later once I make it work for /usr/bin/perl
18:51 sorear /usr/bin/perl !?
18:51 GlitchMr GeSHi is supposed to highlight PHP code, support for other languages was added later
18:51 GlitchMr 'REGEXPS' => array(
18:51 GlitchMr //Variables
18:52 GlitchMr 0 => "[\\$]+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"
18:52 GlitchMr ),
18:52 GlitchMr But even then, this RegExp to match variables is simply incorrect
18:52 tokuhiro_ joined #perl6
18:53 GlitchMr oh, I went into wrong language
18:53 GlitchMr What I wanted is PHP
18:53 GlitchMr I went into PHP Brief
18:53 GlitchMr Which apperently removes highlighting of 4000 functions... it does more
18:53 GlitchMr It's also more outdated
18:55 GlitchMr Oh, I see... GeSHi actually supports two contents. Normal content and string content. It's hacky...
18:56 GlitchMr contexts*
18:56 GlitchMr s/content/context/g
18:59 sorear if you want to talk geshi, BenBE is active in #rosettacode and I think he created the thing.
19:00 GlitchMr The problem is that you would have to move EVERY keyword to RegExp
19:00 GlitchMr GeSHi keywords use \b to check if they match
19:05 mst ...
19:06 mst ok, why does calling 'make install' again re-do all the copying and compiling :(
19:06 sorear I just poked BenBE, hopefully ey'll be around soon
19:08 arnsholt mst: If it redoes the compilation without you having changed anything, it's likely a Makefile bug
19:08 moritz installation isn't done via Makefile
19:08 FROGGS I'd say the makefile simply doesnt check for existing output files to skip that part
19:08 moritz there's a p5 script that does the compilation and copying
19:09 FROGGS wow, written in an antique language :P
19:09 jnthn evening o/
19:09 phenny jnthn: 12:03Z <moritz> tell jnthn branch export-constant works and passes all tests, but I'd like some input from you if that's a valid approach
19:10 FROGGS cool, exporting constants++
19:10 takadonet left #perl6
19:10 moritz fwiw exporting variables like that doesn't work yet. I have a patch locally, but it doesn't share the variable between the two packages :(
19:11 sorear jnthn: hi!
19:11 mst moritz: well, then it needs more timestamp checking
19:11 jnthn o/ sorear, moritz
19:12 moritz \o jnthn
19:13 jnthn moritz: I'm probably too sick to look at that tonight, but will try and get to it.
19:13 jnthn tomorrow evening or so
19:14 moritz jnthn: ok, no hurry, get well soon!
19:14 FROGGS cool, after using ufo for my SDL stuff my game starts in 2 secs instead of 14
19:14 moritz \o/
19:15 FROGGS masak++
19:15 raiph joined #perl6
19:15 * masak .oO( the grey ones made me do it )
19:15 mst \o/ I think this works
19:15 sorear o/ raiph
19:15 arnsholt aliens++ # =)
19:16 moritz FROGGS: di you read the README of ufo? :-)
19:16 moritz *did
19:16 FROGGS ya, I did ;o)
19:16 arnsholt Also, masak++
19:16 FROGGS crazy ppl these nerds are
19:16 arnsholt ufo was one of the first Perl 6 things I contributed to I think
19:17 raiph hi sorear and crew
19:17 moritz \o raiph
19:17 FROGGS hi raiph
19:20 FROGGS arnsholt: if I have a c-structure that keeps a pointer to another structure that has raw pixel data, how can I obtain that pixel data?
19:20 tadzik FROGGS: whoa, how can I run this bubble game?
19:20 moritz CArray[Int] and then unpack that?
19:20 raiph Of the 3 #perl6 summaries so far (http://blogs.perl.org/users/perl_6_reports/), matt polly said: "second week ... by far the best. Maybe trying a darker and more muted shade of red". anyone disagree?
19:21 _jaldhar joined #perl6
19:21 FROGGS moritz: I dont know how to get that stuff as CArray... I just can get the pointer so far
19:21 arnsholt Depends on the struct with the pixel data, I guess
19:21 arnsholt What're the relevant bits of the C struct definitions?
19:21 FROGGS tadzik: I'll push that stuff to github in a few minutes
19:22 tadzik awesome
19:22 FROGGS arnsholt: http://www.libsdl.org/docs/html/sdlsurface.html
19:22 moritz FROGGS: well, if the pointer is a return value, you do   returns(CArray[Int])   instead of  returns(OpaquePointer)
19:23 FROGGS moritz: I get a surface (see link) via function call, so I can use the right return-type to get its content
19:23 wk joined #perl6
19:23 FROGGS but its content has a pointer to another struct
19:24 FROGGS I really just have the plain pointer (within an CArray[int] for example)
19:24 arnsholt But I think you're gonna run into the sized int array problem again
19:25 moritz I fear so, yes
19:25 FROGGS I can get around that
19:25 moritz you can go strcts + CArray all the way down
19:25 FROGGS I get my structs as CArray[int]'s, and basically unpack that to separate the struct members
19:26 FROGGS I need something like: get_buf( OpaquePointer addr, Int len )
19:27 FROGGS someone wrote Inline:C for Perl6? ;o)
19:27 arnsholt FROGGS: So what kind of thing is pixels pointing at?
19:28 arnsholt Some kind of opaque data structure?
19:28 FROGGS its the data of the pixel according to the pixelformat
19:29 FROGGS so you first read the pixelformat (bpp for example), and then read the pixeldata
19:29 FROGGS len is bpp*8 * image_width * image_height
19:29 arnsholt Ah, right. So you need to interpret the void* according to the info in the pixeldata struct
19:29 FROGGS right
19:29 arnsholt That's another thing I've been mulling over
19:29 FROGGS can be one to four bytes per pixel
19:29 arnsholt Sometime we need to reinterpret a pointer to a different kind of thing
19:30 FROGGS typecasting?
19:30 arnsholt Won't work (if it's possible)
19:30 FROGGS what do you mean then by "different kind of thing"?
19:30 TimToady .oO(will work if it's impossible?)
19:31 arnsholt I think I'll have to add another dyncall_* op that takes a CArray/CStruct/CPointer object and reinterprets the C pointer into the desired class
19:31 * arnsholt goes to add an issue
19:32 FROGGS and a way to get the raw buffer?
19:32 moritz +1
19:33 FROGGS what I would like to do in the end with the pixels is to get a binding between a 2d array and the memory area, so I can r/w these pixels in Perl
19:33 FROGGS like having overridable IN/OUT methods for transforming the data
19:37 BenBE joined #perl6
19:37 * BenBE heard there was a discussion about GeSHi?
19:38 sorear GlitchMr: ping
19:38 FROGGS tadzik: please checkout the froggs branch: https://github.com/PerlGameDev/SDL6/tree/froggs
19:38 FROGGS maybe use ufo to install...
19:39 FROGGS tadzik: and then run the script in bin, perl6 branch: https://github.com/FROGGS/Ga​mes-BubbleBreaker/tree/perl6
19:39 BenBE sorear: I didn't write GeSHi (that was done by Nigel McNie, but I'm maintaining it and most parts of the current (stable) engine are based on work by Millian Wolf and me.
19:40 FROGGS tadzik: IMO, you need to chdir to that BubbleBreaker dir so that it can find its gfx
19:40 BenBE Also language file usually are sent in by people using the language; thus if you want to improve language support just update the language file and send it to me, the geshi-devel ML or the SF.net tracker.
19:41 FROGGS tadzik: the perl5 version does a bit more, like collecting (high)score and draw lines around your selection of bubbles
19:41 GlitchMr sorear: pong
19:41 tadzik FROGGS: is there are reason why we don't have this SDL6 in panda?>
19:41 tadzik or do we
19:41 FROGGS there is an older version
19:42 BenBE GlitchMr: Hi.
19:42 FROGGS its not yet in panda because its pre-pre-alpha, that I hacked the last days
19:42 GlitchMr Hi
19:43 BenBE Regarding the hyphen issue: There's (not officially documented, but in use by quite some languages) an option to define the delimiting Regexp for keywords.
19:43 moritz delimiting regex, or regex that matches a full keyword?
19:43 BenBE It's PCRE (or what PHP thinks is Perl-compatible ;-)) so you should have no problems with creating those regex.
19:44 BenBE The keywords themselves are built into a regex internally, thus adopting the delimiters for keywords should suffice.
19:44 moritz ok
19:44 moritz oh, I was mixing up keywords and identifiers in my head
19:45 GlitchMr Myself, I can find only one GeSHi advantage over other syntax highlighters - it supports more languages compared to other highlighters
19:46 BenBE The second issue: There's a developement version of GeSHi supportig nested contexts (as deeply nested as you like). Unfortunately the language file format for the Developement version (GeSHi 1.1.X) is not fully fixed, but it sould give you the nesting you like.
19:46 MayDaniel joined #perl6
19:46 GlitchMr But, I guess when highlighting it doesn't matter if s < > [ [ ] ] is highlighted correctly
19:47 BenBE Sometimes it does ;-) And I usually I try to keep it as closely to the semantics of the highlighted language as possible with the parser.
19:47 sorear std: s < > [ [ ] ]
19:47 p6eval std b87ea13: OUTPUT«[31m===[0mSORRY![31m===[0m�Null pattern not allowed at /tmp/gEdPPzyT94 line 1:�------> [32ms < [33m�[31m> [ [ ] ][0m�Parse failed�FAILED 00:00 41m�»
19:47 sorear std: s <x> [ [ ] ]
19:47 p6eval std b87ea13: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of brackets around replacement; in Perl 6 please use assignment syntax at /tmp/EUkSBnNtTl line 1:�------> [32ms <x> [33m�[31m[ [ ] ][0m�Parse failed�FAILED 00:00 42m�»
19:47 TimToady well, it'd be nice if "foo { expr() } baz" knew about interpolated expressions
19:47 TimToady std: use v5; s <x> [ [ ] ]
19:48 p6eval std b87ea13: OUTPUT«ok 00:01 53m␤»
19:48 GlitchMr (not that you can get accurate)
19:49 BenBE At least not with the old parser ;-) The new one improves on some issues the old one inherently has, but at the cost of less performance.
19:50 * BenBE is thinking of porting the currently existing language files for the old parser to the new developement version. At least for Perl this might be a real advantage.
19:50 GlitchMr I think I even have found syntax highlighting issues in JavaScript, but those are edge cases
19:50 GlitchMr Like - if (something) /regexp/.method()
19:50 tadzik FROGGS: that doesn't quite work for me
19:51 tadzik I get Could not find SDL::Video in any of: /home/tadzik/.perl6/lib, /home/tadzik/.perl6/lib, /home/tadzik/src/parrot/install/li​b/4.7.0-devel/languages/perl6/lib
19:51 GlitchMr s/edge/corner/
19:51 tadzik seems that only SDL.pm got installed from SDL6
19:52 FROGGS hmmm, then do: PERL6LIB=/path/to/SDL6/lib perl6 bin/bubble-breaker.pl
19:52 BenBE That JS looks correct to me ... Even with light-blue highlighting for the Regex ...
19:52 fhelmberger joined #perl6
19:52 tadzik FROGGS: now it can't find SDL::App
19:52 GlitchMr it is?
19:53 GlitchMr I probably misunderstood it with other highlighter
19:53 BenBE Just checked with qbnz.com (which runs a trunk version).
19:53 GlitchMr mixed*
19:53 FROGGS tadzik: :(   its in the same dir
19:54 BenBE BTW: GeSHi even tries to highlight Perl Regexp for some easy cases ... And even those easy cases take quite some lines of Regexp to get right ;-)
19:54 fhelmberger_ joined #perl6
19:55 BenBE If you find some issues I'd be glad to get some small testcase I can add to the GeSHi code repo for testing; or if you know a fix a small patch.
19:55 GlitchMr If I would find it
19:55 GlitchMr I knew I had long testcase to test JS syntax highlighting
19:55 GlitchMr It was full of things that nobody would normally do
19:56 GlitchMr Perhaps it's still on old PC
19:56 BenBE If you find it again just drop me a mail. BenBE ... geshi dot org
19:57 GlitchMr I know it has .js extension
19:57 GlitchMr but that isn't really helpful
19:57 tadzik FROGGS: no idea why this doesn't get installed
19:58 dalek specs: 1ccffdd | larry++ | S02-bits.pod:
19:58 dalek specs: clarify difference between hyper and race
19:58 dalek specs: review: https://github.com/perl6/specs/commit/1ccffdd9f1
19:58 BenBE Do you know of a (mostly) complete list of Perl6 keywords? Maybe we could get the perl6 lang file a bit more recent that way.
19:58 BenBE Same for perl5 would be nice too.
19:58 FROGGS tadzik: but you are on the froggs branch, right?
19:58 GlitchMr Perhaps http://doc.perl6.org/ will be helpful
19:58 tadzik em, I don't think so
19:58 FROGGS you need froggs branch for SDL6 and perl6 branch of the game
19:58 tadzik oh, I have two copies of SDL6 too :)
19:59 GlitchMr As for Perl 5, try http://perl5.git.perl.org/perl​.git/blob/HEAD:/t/op/cproto.t
19:59 TimToady well, one could extract keywords out of STD.pm6
19:59 FROGGS this will be in panda then this week ;o)
19:59 GlitchMr It contains all Perl 5 keywords
20:00 GlitchMr All keywords are below __DATA__ line
20:00 GlitchMr __DATA__ is __halt_compiler(); in PHP
20:01 BenBE Well, GeSHi sees keywords also to contain functions, constants, reserved words, ...
20:01 GlitchMr But, this list also contains keywords which should be parsed specially
20:02 GlitchMr m isn't simply keyword
20:02 FROGGS ya, perl isnt easy to parse
20:02 FROGGS but I guess PHP is
20:02 GlitchMr Anyways, bye
20:02 GlitchMr I have to quit, sorry
20:02 FROGGS bye
20:03 PerlJam PHP has less context sensitivity.
20:03 BenBE sorear: Plz forward him to get back to me by mail; maybe we could update the language file somewhat.
20:04 moritz BenBE: the vim syntax file for Perl 6 is relative good
20:04 moritz BenBE: at least it can serve as an initial list of keywords
20:04 PerlJam alester++
20:04 pyrimidine joined #perl6
20:04 BenBE Basically I always need someone who's kinda used to a language to spot the issues and can decide on different situations ...
20:04 * BenBE doesn't use vim ;-)
20:05 moritz https://github.com/petdance/vim-p​erl/blob/master/syntax/perl6.vim
20:05 leont BenBE: No one is perfect ;-)
20:06 sorear BenBE: could you pm me the address that you want me to give him?
20:06 leont (re. not using vim ;-) )
20:11 sivoais joined #perl6
20:14 dalek doc: 7ea682f | moritz++ | lib/terms.pod:
20:14 dalek doc: start to document terms
20:14 dalek doc: review: https://github.com/perl6/doc/commit/7ea682f0ed
20:14 tadzik FROGGS: Oh wow, it runs
20:14 tadzik this does need advertising
20:14 moritz nr: class A { self }
20:14 p6eval rakudo cc1858: OUTPUT«===SORRY!===␤'self' used where no object is available␤at /tmp/8WSCwzCVmZ:1␤»
20:14 p6eval ..niecza v21-1-ga8aa70b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤'self' used where no object is available at /tmp/hT9jIkcONB line 1:â�¤------> [32mclass A { self[33mâ��[31m }[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1435 (die @ 5) â�¤  at /ho…
20:16 moritz r: say now.WHAT
20:16 p6eval rakudo cc1858: OUTPUT«Instant()␤»
20:17 FROGGS tadzik: these problems will go away soon
20:17 tadzik the lack of advertising?
20:17 FROGGS no, the need for it ;o)
20:18 tadzik I'm confused :)
20:20 FROGGS you wont need to switch any branches when using panda for example
20:20 tadzik yes
20:20 FROGGS and there will be a proper readme of course
20:20 FROGGS thats it basically
20:20 tadzik but, I mean the fact that we have an SDL game in Perl 6 needs advertising
20:20 tadzik this is Something
20:21 FROGGS ahh, gotcha
20:21 FROGGS thats why I'm doing it, to expand the modules list a little and to show that there is something that might interest ppl
20:23 immortal joined #perl6
20:23 immortal joined #perl6
20:26 * __sri loves the simplicity of Goroutines and hopes Perl 6 will have something similar http://www.golang-book.com/10#section1
20:27 * [Coke] simplifies his life and unsubs from p5p. ahhhh.
20:27 tadzik __sri: async {} looks similar
20:28 erkan joined #perl6
20:28 erkan joined #perl6
20:28 tadzik I love Go's concurrency as well
20:28 __sri isn't async {} just a coroutine?
20:29 tadzik cold be
20:29 tadzik could, even
20:30 masak 'night, #perl6
20:31 FROGGS gnight
20:31 __sri nn
20:32 __sri https://sites.google.com/site/go​patterns/concurrency/coroutines (for those wondering what the difference between goroutine and coroutine is)
20:32 sirrobert having a hard-ish time getting this working... any help?   https://gist.github.com/3626130
20:33 sirrobert runtime-dynamic grammar construction
20:35 sorear that create sub is wrong on so many levels
20:35 sirrobert woops, a couple of stray semicolons
20:35 erkan joined #perl6
20:35 sirrobert fixing
20:35 erkan joined #perl6
20:35 sorear it looks like you're trying to have the role statements run at runtime
20:35 sorear it doesn't work like that.
20:36 sirrobert ok
20:36 sorear role statements ALWAYS run at the *instant they are parsed*
20:36 sirrobert to avoid an X/Y:  what I *really* want to do is modify a grammar at runtime
20:36 sirrobert that was my best stab at it so far
20:37 sorear you need to use eval.
20:37 sirrobert hmmmmm
20:37 sirrobert ok
20:37 sorear also, save yourself some headaches later and use "my role"
20:37 sirrobert return the roles and apply them as vars?
20:41 erkan joined #perl6
20:41 erkan joined #perl6
20:41 sorear yes
20:42 sirrobert getting closer... it doesn't work, but it doesn't die =)
20:42 sorear gist?
20:42 sirrobert updating, one sec
20:42 sorear (it's _possible_ to do this without eval, but only by relying on nonportable MOP aspects.)
20:43 sirrobert updated.
20:43 sirrobert some inner squishy bit in me wants to do it without eval
20:43 sirrobert but I'll survive with eval for now
20:45 sorear which compiler are you using?
20:45 sirrobert rakudo
20:46 sorear The reason it's not working is that you're missing an eval on line 21.
20:46 sirrobert got it working (was missing an eval)
20:46 [Coke] hee.
20:46 sirrobert Is this the best approach to this for now?
20:46 sorear I recommend changing "role" to " anon role DescriptiveNameHere "
20:46 sirrobert hmmm ok (never used "anon" before)
20:47 sirrobert but I like it =)
20:47 sorear role { ... } means anon role ANON { ... }
20:47 sirrobert yeah, but more explicit
20:47 * sirrobert likes.
20:47 sorear debugging gets annoying when you have a million objects all named ANON
20:47 sirrobert heh nod
20:47 PerlJam Hmm.
20:48 sirrobert ok, great... that's basically functional
20:48 PerlJam Wouldn't parameterized roles work?
20:49 sirrobert ok, one more twist (and thanks, sorear++ =)
20:49 sirrobert I'd like to pass an anonymous sub into "create()" to be the 'action'... updating the gist...
20:50 bruges joined #perl6
20:50 sirrobert updated
20:50 sorear 'eval' closes over variables, you can just call the sub from the action
20:50 sorear also, you may be interested in https://github.com/rakudo/rakudo/b​lob/nom/src/Perl6/Grammar.pm#L2802
20:50 sorear that's the part of Rakudo which handles grammar self-modification
20:50 sorear eval-free but very unportable/depending on gritty details
20:50 buubot_backup sorear: ERROR: Can't locate object method "gritty" via package "details" (perhaps you forgot to load "details"?) at (eval 20) line 1.
20:50 sirrobert bookmarking
20:51 erkan joined #perl6
20:51 erkan joined #perl6
20:51 tadzik ahaha
20:51 sorear you should just be able to put { &mtd($/) } on line 23
20:52 sirrobert sorear: trying some variations on that (check the gist) but not working yet
20:52 sorear sirrobert: what you have currently in the gist won't work because bare &mtd isn't a call
20:52 sorear in perl6
20:53 sorear '&foo()' # calls foo
20:53 sirrobert yeah
20:53 sirrobert the current version does something weird
20:54 sirrobert output is reversed (b\na instead of a\nb)
20:55 sirrobert I think it's getting called during eval
20:55 sirrobert instead of during parse
20:56 sorear ah
20:56 sorear yes
20:56 sorear &mtd($/) interpolates in a double quote string
20:56 sorear maybe backslash the & and $
20:56 sirrobert oh, right
20:56 sirrobert yeah that works
20:57 sirrobert closure of &mtd in eval is weird (but super nice)
20:57 sirrobert ok, thanks again sorear++... been tinkering with that forever
20:57 sirrobert from there I can get to where I want to go
20:57 sorear r: my $x = 5; say q:c'$x = {$x}' # does rakudo support this?
20:57 p6eval rakudo cc1858: OUTPUT«===SORRY!===␤Colons may not be used to delimit quoting constructs at line 2, near ":c'$x = {$"␤»
20:57 sorear r: my $x = 5; say Q:c '$x = {$x}' # does rakudo support this?
20:58 p6eval rakudo cc1858: OUTPUT«===SORRY!===␤Colons may not be used to delimit quoting constructs at line 2, near ":c '$x = {"␤»
20:59 mst bash$ cpan-upload Rakudo-Star-2012.08_000.tar.gz
20:59 mst may or may not work for anybody other than me but
20:59 mst http://trout.me.uk/perl/Rak​udo-Star-2012.08_000.tar.gz
21:00 mst will install rakudo into your local::lib and then
21:00 mst eval $(perl -MRakudo::Star::Paths)
21:00 buubot_backup mst: ERROR: syntax error at (eval 20) line 1, near "$(perl "
21:00 mst will add the right thing to $PATH
21:00 sorear perl 6 on CPAN?
21:01 tadzik wow
21:01 tadzik mst++
21:02 mst sorear: if I'm going to write an Object::Remote backend to let people use rakudo objects from /usr/bin/perl
21:02 mst there's no fun if they can't just cpan rakudo, now is there? :)
21:02 PerlJam mst++
21:02 leont mst++
21:02 mst also, now you get to smoke Star across all the cpantesters nodes
21:03 mst (and I get to delay writing the O::R backend another weekend or two while I finish some other stuff without feeling -terminally- guilty about it ;)
21:05 mst oh hell, PAUSE has falsely indexed stuff in there because parrot bundles a bunch of random perl5 stuff
21:06 leont Fortunately, you're a PAUSE admin ;-)
21:06 mst yeah, I haven't made any mess here that I can't clean up myself
21:06 mst hahahah no wait only metacpan is screwed
21:06 mst it's a dev release
21:06 mst PAUSE won't've indexed anything
21:06 * mst grins and stops panicking
21:07 mst anyway, I was hunting for
21:07 mst https://metacpan.org/module/MSTROUT/Rakudo​-Star-2012.08_000/lib/Rakudo/Star/Paths.pm
21:10 glosoli joined #perl6
21:10 glosoli left #perl6
21:12 _jaldhar joined #perl6
21:16 oops joined #perl6
21:22 * leont 's laptop is grinding to a halt, as expected…
21:23 sorear leont: did you try to install rakduo star?
21:24 leont Yeah
21:24 raiph joined #perl6
21:25 leont Until a few moments ago I was a gig into swap
21:25 leont Now comes swapping back in that gig :-|
21:26 sorear leont: rakudo takes about a gig and a half to build currently, IIRC
21:26 leont So I noticed
21:26 [Coke] I think recent estimates were closer to 1.2G, not that that helps much. ;)
21:28 PerlJam maybe the CPAN dist could probe memory and mention that to the user (and give them a way to abort)
21:29 erkan joined #perl6
21:29 erkan joined #perl6
21:30 sorear PerlJam: +1
21:30 sorear how many popular OSes have easy ways to probe memory?
21:32 pmichaud I have an idea to reduce the build memory requirement, but it'll take a bit of time to implement.
21:32 pmichaud good chance I can get it into the 2012.09 release, though.
21:32 diakopter ?
21:33 sorear $ sysctl -n hw.memsize
21:33 sorear 8589934592
21:33 PerlJam pmichaud: do less work?
21:33 sorear this seems to be a working osx way
21:38 mst PerlJam: git://git.shadowcat.co.uk/scpubgit/Rakudo-Star.git
21:38 mst PerlJam: patches, tweaks etc. welcome - it's not a clever thing (intentionally)
21:38 sorear $ perl -nE '/^MemTotal:/ && /(\d+)/ && say $1 * 1024' /proc/meminfo
21:38 sorear 1041145856
21:38 sorear hmm
21:39 sorear there must be a CPAN module for this. :D
21:39 leont One?
21:40 leont mst: you should use $Config{path_sep} instead of hardcoding that ':' though, if you want it to work on silly operating systems from Redmond
21:41 gfldex i believe to have found a bug
21:41 gfldex r: https://gist.github.com/3626896
21:41 p6eval rakudo cc1858: OUTPUT«foo␤buzz␤use of uninitialized value of type Any in string context  in regex tb at /tmp/pXU22QtzrI:9␤␤␤bar␤True␤»
21:42 gfldex when 'G.parse($s2)' is commented out it works as expected
21:42 gfldex n: https://gist.github.com/3626896
21:42 p6eval niecza v21-1-ga8aa70b: OUTPUT«foo␤buzz␤Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 1287 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 266 (Mu.Str @ 15) ␤  at /tmp/j44MhENcJv line 9 (G.tb @ 11) ␤  at /tmp/j44MhENcJv line 8 (G.T…
21:43 sergot good night! o/
21:43 benabik joined #perl6
21:47 mst leont: it also doesn't work for csh
21:48 mst leont: in the long run I want to extract the local::lib shell generation stuff and share it
21:48 benabik joined #perl6
21:48 leont Right, makes sense
21:48 sorear aha, Sys::MemInfo
21:48 leont Also, something is wrong with the install or the R::S::Path, For me it installed Rakudo to core but the R::S::P to site
21:49 sorear leont: suprisingly, there *does* appear to be only one general module for this
21:49 sorear not that it was easy to find
21:51 leont Also, it can't find libparrot for me (could it be you're making assumptions about local::lib taking care of stuff, I'm on perlbrew
21:53 mst leont: huh, I used INSTALLARCHLIB which I -thought- was going to contain the right thing
21:53 mst leont: shit, I probably wanted INSTALLSITEARCH didn't I?
21:53 leont Yeah, probably
21:53 mst bah ... oh well, this is why I shipped it for people to look at :)
21:54 leont Or actually you want it to depend on INSTALLDIRS…
21:54 mst tweaks, suggestions, patches all very much welcome
21:55 sorear hmm.  I remember being very angry at Module::AutoInstall for throwing up a yes/no prompt in the middle of an overnight install run
21:55 leont That is one bit of MakeMaker that I rather dislike, it doesn't have a generic switch for such things
21:56 mst sorear: I fixed all of those, I think
21:57 mst sorear: of course, there are still dists with old autoinstalls bundled ... but I'm pretty sure a re-dist with latest M::I fixes those now
21:57 leont Also, the packlist isn't complete, so the only way to uninstall it is a rm
21:57 mst right, that's because it relies on its own install mechanism
21:59 sorear mst: This was in 2007, I think
22:00 leont Might still be nice if we can append the right things to it if that information is available
22:00 mst oh, absolutely
22:00 mst I'm not saying that isn't a valid bug, I'm just explaining -why-
22:01 immortal joined #perl6
22:01 immortal joined #perl6
22:01 Circlepuller joined #perl6
22:13 Chillance joined #perl6
22:32 skids joined #perl6
22:41 bruges joined #perl6
22:49 Exodist joined #perl6
22:55 xinming_ joined #perl6
22:57 japhb o/
22:58 japhb Back after a few days away, and haven't caught up with backlogging yet, but I did notice a comment in the Rakudo Changelog about a performance increase from QAST.  How big was it?
23:03 dalek doc: ac0c829 | (Geoffrey Broadwell)++ | lib/variables.pod:
23:03 dalek doc: Subset of Pod cleanups in variables.pod that are wins with current Pod parser
23:03 dalek doc: review: https://github.com/perl6/doc/commit/ac0c8299db
23:06 whiteknight joined #perl6
23:13 sorear o/ japhb
23:21 japhb o/
23:21 japhb How goes it, sorear?
23:21 sorear good
23:22 japhb Get any hacking in over the long weekend?
23:24 sorear Didn't try
23:25 japhb Same here.  Mostly time with family and RL friends.
23:28 _jaldhar joined #perl6
23:31 average_drifter joined #perl6
23:56 _jaldhar joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs