Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-03-22

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
01:03 anaeem1 joined #perl6
01:04 anaeem1 joined #perl6
01:24 gcole joined #perl6
01:26 telex joined #perl6
02:18 aindilis joined #perl6
02:33 jack_rabbit joined #perl6
02:53 anaeem1 joined #perl6
03:11 noganex joined #perl6
03:47 prime joined #perl6
03:51 aborazmeh joined #perl6
03:51 aborazmeh joined #perl6
04:03 FROGGS__ joined #perl6
04:09 adu joined #perl6
04:20 adu joined #perl6
04:30 adu_ joined #perl6
04:33 ash_gti joined #perl6
05:07 tinyblak joined #perl6
05:07 tinyblak_ joined #perl6
05:16 zakharyas joined #perl6
05:26 Milkmand1n joined #perl6
05:26 dustinm`_ joined #perl6
05:32 dalek faq: 3579bc7 | moritz++ | answers.md:
05:32 dalek faq: Fix typo/thinko/whatever-o
05:32 dalek faq: review: https://github.com/perl6/faq/commit/3579bc7335
05:33 Sqirrel joined #perl6
05:34 jack_rabbit joined #perl6
05:49 anaeem1_ joined #perl6
05:52 FROGGS[tab] joined #perl6
05:57 esaym153 joined #perl6
05:58 nige joined #perl6
06:06 aborazmeh joined #perl6
06:06 aborazmeh joined #perl6
06:14 dalek doc: 88dd3a4 | paultcochrane++ | lib/Type/IO.pod:
06:14 dalek doc: Fix minor typo, formatting and wording issues
06:14 dalek doc: review: https://github.com/perl6/doc/commit/88dd3a4028
06:16 C0rruptor joined #perl6
06:29 [Tux] Ulti, it didn't really gain speed since 9 Mar
06:30 [Tux] if you look at README, csv.pl and test.pl both reflect the speed of the core: nothing changed during the span of README
06:30 [Tux] *I* am only working in test-t.pl
06:31 [Tux] -rw-rw-r-- 1 merijn users 40940 Mar 20 15:01 test-t.pl
06:31 [Tux] -rw-rw-r-- 1 merijn users  6711 Jan 14 18:18 test.pl
06:32 [Tux] to show the amount of changes since test.pl :)
06:41 isBEKaml joined #perl6
06:42 isBEKaml p6: my @arr = <a b c d>; @arr.>> .say; #whitespace sensitive?
06:42 camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Confused␤at /tmp/tmpfile:1␤------> 3my @arr = <a b c d>; @arr.>>7⏏5 .say; #whitespace sensitive?␤»
06:42 isBEKaml p6: my @arr = <a b c d>; @arr.>>.say; #works
06:42 camelia rakudo-moar 0e5632: OUTPUT«d␤b␤c␤a␤»
06:43 rurban joined #perl6
06:44 rindolf joined #perl6
06:48 DrForr Good morning.
06:49 DrForr p6: grammar G { rule program { <term> } }
06:49 camelia rakudo-moar 0e5632: ( no output )
06:50 DrForr I take it a grammar with an unspecified subrule is still valid at compile time?
06:51 TimToady same as any method
06:51 DrForr Fair enough.
06:52 xfix joined #perl6
07:03 xprime joined #perl6
07:05 [Tux] tips on how to fix https://travis-ci.org/Tux/CSV/builds/55348795 would be appreciated <= panda not found in travis
07:16 anaeem1_ joined #perl6
07:29 marisa__ joined #perl6
07:43 gfldex joined #perl6
07:49 molaf joined #perl6
08:00 rurban joined #perl6
08:02 moritz m: proto a(Int, Int) is cached {*}; multi a(Int \n, 0) { n + 1 }; multi (0, Int \m) { a m-1, 1 }; multi (\n, \m) { a m - 1, a m, n - 1 }; say a 3, 1
08:02 camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ReGswbEqUu␤ scoped variables not yet implemented. Sorry. ␤at /tmp/ReGswbEqUu:1␤------> 3(Int \n, 0) { n + 1 }; multi (0, Int \m)7⏏5 { a m-1, 1 }; multi (\n, \m) { a m - 1,␤»
08:03 moritz that error message is LTA
08:03 moritz m: proto a(Int, Int) is cached {*}; multi a(Int \n, 0) { n + 1 }; multi a(0, Int \m) { a m-1, 1 }; multi (\n, \m) { a m - 1, a m, n - 1 }; say a 3, 1
08:03 camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QVtv49TRAs␤ scoped variables not yet implemented. Sorry. ␤at /tmp/QVtv49TRAs:1␤------> 3(0, Int \m) { a m-1, 1 }; multi (\n, \m)7⏏5 { a m - 1, a m, n - 1 }; say a 3, 1␤»
08:03 moritz m: proto a(Int, Int) is cached {*}; multi a(Int \n, 0) { n + 1 }; multi a(0, Int \m) { a m-1, 1 }; multi a(\n, \m) { a m - 1, a m, n - 1 }; say a 3, 1
08:04 camelia rakudo-moar 0e5632: OUTPUT«(timeout)»
08:05 jack_rabbit joined #perl6
08:06 moritz the "is cached" doesn't seem to work here
08:11 moritz and I messed up the definition, of course
08:13 darutoko joined #perl6
08:15 moritz and I'm able to compute ack(4, 1) in <2min on rakudo-moar
08:16 moritz prof-m: proto a(Int, Int) is cached {*}; multi a(0, Int \n) { n + 1 }; multi a(Int \m, 0) { a m -1 , 1 }; multi a(Int \m, Int \n) { a m - 1, a m, n - 1 }; say a 3, 4
08:16 camelia prof-m 0e5632: OUTPUT«125␤»
08:16 camelia .. Prof: http://p.p6c.org/69fa6b
08:20 [Sno] joined #perl6
08:24 moritz j: say 'still here?'
08:24 camelia rakudo-jvm 0e5632: OUTPUT«still here?␤»
08:24 moritz \o/
08:24 moritz both prof-m and j still work
08:24 moritz that's better than I dared to hope for :-)
08:25 masak good morning, #perl6
08:26 moritz \o masak
08:48 rurban_ joined #perl6
08:49 rurban joined #perl6
08:53 sergot joined #perl6
09:03 anaeem1_ joined #perl6
09:13 nige joined #perl6
09:15 Rounin joined #perl6
09:30 grondilu joined #perl6
09:47 DrForr Sorry for my rambling on #124141 but it looks like a gaping hole in docs to me :)
09:47 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=124141
10:00 masak DrForr++ # bug report
10:01 masak also, I completely agree that the error message shouldn't be that.
10:01 masak and that it should probably hint "(did you forget to import Bug::Role?)"
10:02 masak m: class A does R {}
10:02 camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uq0_hApDkc␤Invalid typename␤at /tmp/uq0_hApDkc:1␤------> 3class A does7⏏5 R {}␤»
10:02 DrForr Cool. Yeah, I figured it was easy to replicate on command line :)
10:05 DrForr I figured that the official error message could be left intact, and if the RHS were a package name then the error message could be annotated.
10:06 DrForr It's also odd that 'use' doesn't appear to be documented yet. I know about it, and most perl6 hackers are old perl5 hands that do this as a matter of course, but eventually we're going to get *complete* perl newbies and the documentation needs to be patched.
10:07 DrForr I'm kind of busy with other stuff but I might make a pull request once I find the right place to patch the docs.
10:11 FROGGS morning
10:12 masak marnin', FROGGS
10:15 anaeem1 joined #perl6
10:25 virtualsue joined #perl6
10:30 DrForr m: role X { has $!y; }; role Z does X { method z { $!y++; } }
10:30 camelia rakudo-moar 0e5632: OUTPUT«===SORRY!===␤Error while compiling, type X::Attribute::Undeclared␤  symbol: $!y␤  package-kind: role␤  package-name: Z␤  what: attribute␤ at line 2, near "++; } }"␤Error while constructing error object:Could not locate compile-time value for …»
10:30 masak yeah. no.
10:30 masak use an accessor to get at the attribute from another class/role.
10:32 DrForr So they don't compose that way. Cool, good to know.
10:33 nige joined #perl6
10:36 eli-se joined #perl6
10:38 masak m: role R { has $!foo = "OH HAI" }; class C does R { method bar { say $!foo } }; C.new.bar
10:38 camelia rakudo-moar 0e5632: OUTPUT«OH HAI␤»
10:38 masak DrForr: ^ this works, though
10:38 DrForr Yeah, just changed my code a little it.
10:38 masak between a role and a class
10:38 masak I'm not quite sure why.
10:39 rurban joined #perl6
10:39 masak I think the idea is something like, a role flattens into a class, so it's already privvy to private details. or sump'n.
10:39 masak (also, don't name your roles "X" in production. X:: is the exceptions namespace.)
10:39 DrForr Right, and roles don't flatten into other roles so yada yada.
10:39 masak right.
10:39 DrForr I know, I was using it as a short example.
10:40 masak *nod*
10:40 masak suspected as much. still bears pointing out. :)
10:41 DrForr I also don't really think that this particular role should really exist as it only provides data rather than methods, but as it's still legal syntax I thought I'd roll with it for the time being.
10:46 DrForr Also, a philosophy question on grammars - Is it okay to use the grammar actions to essentially ignore building the parse tree, or will I run into problems later on if I have to backtrack and I can't unwind the action stack
10:46 DrForr s/$/?
10:47 Foxcool joined #perl6
10:48 eli-se hi
10:49 anaeem1 joined #perl6
10:49 DrForr Or come to think of it, will an action even fire on a non-{token,rule} in a grammar...
10:52 FROGGS it can only fire on tokens/rules
10:52 FROGGS hi eli-se
10:53 spider-mario joined #perl6
10:53 masak hi eli-se
10:53 DrForr Okay. The grammar I'm playing with is recursive-descent at the moment, but further iterations might not be. Probably puts it out of range of a perl6 grammar then anyway, and I'd have to just rely on tokenization anyway.
10:55 DrForr Good gravy, a perl6 backend to ANTLR. ISA...miniscule...N.
10:59 geever joined #perl6
11:04 kjs_ joined #perl6
11:14 kjs_ joined #perl6
11:17 dalek nqp: 818a382 | peschwa++ | src/vm/jvm/runtime/org/perl6​/nqp/tools/EvalServer.java:
11:17 dalek nqp: Capture the Java process STDOUT/-ERR.
11:17 dalek nqp:
11:17 dalek nqp: This correctly redirects output to STDOUT/-ERR made via JavaInterop to the
11:17 dalek nqp: eval-client, instead of printing on the terminal where the eval-server is
11:17 dalek nqp: executed.
11:17 dalek nqp: review: https://github.com/perl6/nqp/commit/818a38207a
11:17 coffee` joined #perl6
11:18 psch \o
11:18 jnthn afternoon, #perl6
11:21 dalek rakudo/nom: 20ffd3c | lizmat++ | src/core/natives.pm:
11:21 dalek rakudo/nom: Goodbye nibble, we hardly ever knew ya
11:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/20ffd3ccfe
11:23 jnthn Reminds me of http://en.wikipedia.org/wik​i/Nibbles_%28video_game%29 :)
11:24 eli-se Writing VMs is fun.
11:24 FROGGS jnthn: that was the very first thing I hacked on :o)
11:24 jnthn FROGGS: Wasn't the first, but I remember studying the QBasic nibbles source pretty early on :)
11:24 FROGGS (created more levels on my old i286 PC)
11:24 DrForr Heh, reminds me of the magazine of the same name. ('Nibble' that is, Apple ][ enthusiast mag)
11:25 jnthn iirc, it used loops for timing too :)
11:25 jnthn So faster computer = harder game :)
11:26 psch http://en.wikipedia.org/wiki/Gorillas_(video_game) was my preference, for playing and hacking
11:26 lizmat a glimpse of the future?  http://toons.gotblah.com/archive​/9chickweedlane/150322-0701.jpg   :-)
11:27 kjs_ joined #perl6
11:27 jnthn psch: Yes, I probably played that one more :)
11:36 jnthn DrForr: On your actions question earlier: the idea is that you use "make" to attach the AST node you made for a certain grammar rule to Match object, and the action methods higher up retrieve it with .made. That way, if a path turns out to be a dead end and a Match is thrown away, the AST node just goes away with it, nicely handling the backtracking case.
11:36 lizmat playing with CurtisOvidPoe's blogpost: http://blogs.perl.org/users/ovid/2​015/03/tiny-games-with-perl-6.html
11:36 lizmat m: 42.say.for(^6)    # shouldn't this just work ?
11:36 camelia rakudo-moar 0e5632: OUTPUT«42␤Unhandled exception: Method 'count' not found for invocant of class 'Range'␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/share/nqp/l​ib/Perl6/BOOTSTRAP.moarvm::4294967295)␤ from src/gen/m-CORE.setting:9545  (/home/camelia/rakudo-inst-2/share/per…»
11:37 rindolf joined #perl6
11:37 FROGGS DrForr: so instead of running code that has side effects in a branch that gets thrown away, you could return a piece of code to run it later
11:38 jnthn lizmat: I don't especially see how...you pass an invokable to .for
11:38 masak when I hear "running code that has side effects in a branch that gets thrown away", I think about `temp` and (especially) `let`.
11:38 masak to be honest, I haven't seen a convincing use case of `let`, or much of a use case at all.
11:39 jnthn lizmat: (^6).for({42.say}) would be a working example
11:39 jnthn lizmat: Though I'd probably always write "say 42 for ^6" :)
11:39 masak it seems a wonderfully useful construct for anything hypothetical/simulation-y. it's not clear to me why we're not promoting/using it more in code.
11:40 lizmat jnthn: ok, guess I wasn't awake yet
11:40 lizmat jnthn: although the error is LTA, can we agree on that ?
11:40 DrForr Indeed. I was more thinking along the lines of a more traditional yacc-based parser. I'm going to separate it out into two levels, but I thought I'd experiment with just the one for the time being. The grammar itself practically generates the TAC I'm looking at.
11:40 jnthn lizmat: Probably .map should expect a Callable.
11:40 jnthn I don't *think* it works on anything else.
11:41 jnthn And putting the & into the method sig would mean it does there, rather than at the point it tries to call .count
11:41 jnthn uh, it *dies* there
11:42 FROGGS[tab] joined #perl6
11:42 DrForr Also, what I'm working on has several different small grammars in it, and I thought it'd be nice to teach multiple approaches to the parsing problem. I was thinking like the traditional "calc" example you do in yacc, then later refinements add on a second layer.
11:42 lizmat afk again
11:44 DrForr It might also be instructive to have the grammar's make() method return closures that the backtracking process won't directly invoke, then at the top layer the made() method is left with a stack of closures to invoke. Just another alternative parsing strategy.
11:46 DrForr But as right now my top-level 'method TOP{}' isn't getting invoked, I'll have to explore *that* first.
11:47 psch the action method TOP needs a positional for the Match object
11:48 DrForr Right, it's got one, I just didn't specify $/ on-channel because I'm a lazy bastard :)
11:48 DrForr method TOP($/) { warn "Invoked" } # like so.
11:48 psch fwiw, naming it $/ is a convention with potentially surprising side effects
11:49 psch (that doesn't directly help your debugging efforts though :) )
11:49 jnthn It's generally a fine convention in so far as if you hit the surprise you're re-parsing, which is probably already a smell :)
11:50 jnthn m: grammar G { token TOP { <?> } }; class A { method TOP($/) { say here' } }; G.parse('', actions => A)
11:50 camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nbbMlpJoCq␤Two terms in a row␤at /tmp/nbbMlpJoCq:1␤------> 3} }; class A { method TOP($/) { say here7⏏5' } }; G.parse('', actions => A)␤    expecting any of:␤        infix stopper␤        infi…»
11:51 jnthn m: grammar G { token TOP { <?> } }; class A { method TOP($/) { say 'here' } }; G.parse('', actions => A)
11:51 camelia rakudo-moar 0e5632: OUTPUT«here␤»
11:51 jnthn DrForr: You're likely missing one of the ingredients in ^^ if your TOP ain't being called.
11:51 kjs_ joined #perl6
11:52 DrForr I was using :$actions as per the documentation. That seems to work for me, I'll debug further once I get back.
11:52 psch yeah, the convention is sensible.  i suppose nagging about regexen inside an action method could be a linter thing
11:53 DrForr The doco in grammars.pod doesn't mention surprising behavior for using $/ as an argument name, maybe there's something to be added.
11:54 psch DrForr: well, it's a general "this is how signatures and lexicals behave"-thing
11:54 psch m: sub f($a) { $a = 1 }; f 0
11:54 camelia rakudo-moar 20ffd3: OUTPUT«Cannot assign to an immutable value␤  in block <unit> at /tmp/jBYUkURMNc:1␤␤»
11:54 DrForr It just says that it makes $<foo> nicer than $/<foo> is all.
11:54 psch m: sub f($/) { "a" ~~ /a/ }; f 1
11:54 camelia rakudo-moar 20ffd3: OUTPUT«Cannot assign to a readonly variable or a value␤  in method ACCEPTS at src/gen/m-CORE.setting:16292␤  in sub f at /tmp/yZFqlWRoAU:1␤  in block <unit> at /tmp/yZFqlWRoAU:1␤␤»
11:55 psch DrForr: $/ as bare parameter isn't rw or copy, and ~~ tries to assign to it
11:55 DrForr Ah, because Match is an immutable object. Which of course is why there's a parallel '.make' method.
11:56 DrForr That error should be clear enough, I suppose.
11:56 DrForr Okay, food then back to hacking a VM onto a VM :)
12:02 eli-se .tell vendethiel hello world works!
12:02 yoleaux eli-se: I'll pass your message to vendethiel.
12:05 DrForr eli-se: What VM are you experimenting with, incidentally? (if you don't mind, of course)
12:05 eli-se custom
12:06 DrForr Righto, just curious. THe grammar I'm working on is a frontend to a VM as well, so similar paths &c.
12:06 DrForr Okay, food.
12:07 Ulti .tell japhb let me know if there is anything I can do to make this worthy of perl-bench https://github.com/japhb/perl6-bench/pull/23
12:07 yoleaux Ulti: I'll pass your message to japhb.
12:12 dalek Heuristic branch merge: pushed 90 commits to rakudo/union by FROGGS
12:12 moritz m: sub f(int, int) is cached { 42 }; say f(1, 2)
12:12 camelia rakudo-moar 20ffd3: OUTPUT«42␤»
12:14 moritz m: sub f(int $ where 0) { 42 }; say f 0
12:14 camelia rakudo-moar 20ffd3: OUTPUT«42␤»
12:15 FROGGS jnthn: I really need inlineable CStructs... I am binding a C++ lib right now and have to duplicate attributes which sucks...
12:15 Perl6_newbee joined #perl6
12:15 eli-se My compiler is written in Perl 5, but GitHub thinks it's Perl 6.
12:15 eli-se That must be really good Perl 5 code!
12:16 FROGGS eli-se: do you use Moose or something?
12:16 eli-se not at all
12:16 FROGGS hmmm
12:16 FROGGS I'd guessed it spots some P6ish keywords
12:19 sqirrel_ joined #perl6
12:20 marisa__ Github always think I am writing C code although I only wrote C++ code with lambda, auto, move and decltype... Try modifying .gitattribute
12:22 mr-foobar joined #perl6
12:22 eli-se Name your files .cpp and .hpp instead of .c and .h
12:22 eli-se and stop using malloc and free :p
12:27 psch m: say 1i
12:27 camelia rakudo-moar 20ffd3: OUTPUT«0+1i␤»
12:27 psch j: say 1i
12:27 camelia rakudo-jvm 20ffd3: OUTPUT«P6opaque representation can not unbox to a native num␤  in submethod BUILD at gen/jvm/CORE.setting:12902␤  in method new at gen/jvm/CORE.setting:12897␤  in block <unit> at /tmp/XxiXLiBaVo:1␤␤»
12:27 marisa__ I never use malloc and free. I don't even use new and delete :p I'd only used std::make_shared and std::make_unique my whole life. The truth is github language detection suck.
12:28 eli-se I use automatic storage duration.
12:29 marisa__ Yeah, me too.
12:29 molaf_ joined #perl6
12:29 eli-se I use new in a few places that have to do with my GC, since the values managed by the GC have to be trivially copyable since the GC will be compacting ASAP
12:30 eli-se but that's fine since the GC will call the finalizers
12:35 nine_ jnthn: a bit of a shame. In Perl 6 the most annoying syntax difference between map BLOCK and map EXPR finally goes away, but still we can only use map BLOCK (even though we can hide the fact, that we're passing a block). A use case for simpler string map is e.g. creating DBI queries: $dbh.do("insert into foo values ( { @values.map('?').join(', ') } )", Any, |@values);
12:39 timotimo o/
12:40 geekosaur nine_, as an ex-database type, I shudder at expanding placeholders inline like that
12:40 telex joined #perl6
12:40 nine_ geekosaur: why exactly?
12:41 geekosaur are you absolutely certain that the values you're putting in are safe to stringify?
12:41 nine_ geekosaur: do they have to be?
12:41 geekosaur frankly, if you have placeholders, use them, don't stringify yourself. not only do you have "little bobby tables" but you are stringifying non-strings so that SQL can parse them again, why?
12:42 timotimo nine_: may i suggest ('?' xx @values).join(', ') instead of mapping?
12:43 geekosaur also fun things like if one of them is a date and/or time, stringifying likes to introduce chances for something to switch timezones or date formats on you etc.
12:43 nine_ geekosaur: no, I'm not. I'm only dynamically creating the values (?, ?, ?, ?, ?) part of the query string. I'm passing the actual values to $dbh.do, so it can properly pass them to the database driver
12:43 nine_ timotimo: that's indeed much prettier
12:43 geekosaur oh, I misundersgood what you were trying to say witht hat map
12:44 timotimo not being able to '?, ' xx @values is annoying
12:44 timotimo we already have % in regexes ...
12:44 geekosaur (and as a haskeller I think map('?') meaning map(\_ -> '?') is bad too :p )
12:45 larion joined #perl6
12:46 timotimo i don't get it, geekosaur
12:46 vendethiel o/ eli-se
12:46 yoleaux 12:02Z <eli-se> vendethiel: hello world works!
12:46 vendethiel nice
12:48 geekosaur hm? they used map(literal) meaning ignore the passed-in value. in haskell I'd be saying "const" there to indicate I'm consuming something (the passed-in value). not sure how you'd express that in perl6 but you're screwing type handling by quietly having the map expression be either a value or a function from one value to another
12:51 vendethiel m: sub const($val) { -> |c { $val } }; say map(const('hey'), <a b c d>);
12:51 camelia rakudo-moar 20ffd3: OUTPUT«hey hey hey hey␤»
12:51 eli-se what is |c?
12:52 moritz caputre all the arguments
12:53 tinyblak joined #perl6
12:55 psch j: sub f(Num() $a) { say $a.WHAT }; sub g(Num() \a) { say a.WHAT }; f 1; g 1
12:55 camelia rakudo-jvm 20ffd3: OUTPUT«(Num)␤(Int)␤»
12:56 psch ^^^ that's behind a few dozend spectest failures on jvm
12:56 psch m: sub f(Num() $a) { say $a.WHAT }; sub g(Num() \a) { say a.WHAT }; f 1; g 1
12:56 camelia rakudo-moar 20ffd3: OUTPUT«(Num)␤(Num)␤»
13:00 DrForr m: grammar G { token TOP { <?> } }; class A { metod TOP($/) { say 'here' } }; my $v-foo = A.new; G.parse('',:$v-foo)
13:00 camelia rakudo-moar 20ffd3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cDHlmiA6wA␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/cDHlmiA6wA:1␤------> 3n TOP { <?> } }; class A { metod TOP($/)7⏏5 { say 'here' } }…»
13:00 DrForr m: grammar G { token TOP { <?> } }; class A { method TOP($/) { say 'here' } }; my $v-foo = A.new; G.parse('',:$v-foo)
13:00 camelia rakudo-moar 20ffd3: ( no output )
13:00 psch DrForr: :$actions is shorthand for actions => $actions
13:02 DrForr I understand that from reading the docs. But the shorthand notation there should still accept hyphenated variable names?
13:02 DrForr m: grammar G { token TOP { <?> } }; class A { method TOP($/) { say 'here' } }; my $v-foo = A.new; G.parse('',actions => $v-foo)
13:02 camelia rakudo-moar 20ffd3: OUTPUT«here␤»
13:03 psch DrForr: yeah, it does.  but you're passing a named parameter v-foo, which .parse doesn't do anything with
13:03 DrForr m: grammar G { token TOP { <?> } }; class A { method TOP($/) { say 'here' } }; my $foo = A.new; G.parse('',:$foo)
13:03 camelia rakudo-moar 20ffd3: ( no output )
13:03 psch m: sub f(*%_) { %_.perl.say }; my $a = "a"; say f :$a
13:03 camelia rakudo-moar 20ffd3: OUTPUT«("a" => "a").hash␤True␤»
13:03 psch m: sub f(*%_) { %_.perl.say }; my $b = "a"; say f :$b
13:03 camelia rakudo-moar 20ffd3: OUTPUT«("b" => "a").hash␤True␤»
13:04 psch DrForr: methods have an implicit slurpy hash for named arguments, to provide interface consistency http://design.perl6.org/S12​.html#Interface_Consistency
13:05 DrForr grammars.pod uses the ':$actions' notation that I was following.
13:05 psch m: my $actions = "foo"; my $v-foo = "bar"; say :$actions.perl; say :$v-foo.perl
13:05 camelia rakudo-moar 20ffd3: OUTPUT«"actions" => "foo"␤"v-foo" => "bar"␤»
13:05 psch DrForr: http://doc.perl6.org/type/Pair
13:06 DrForr It's also not failing on the version the channel 'bot is on. Hrming.
13:07 psch m: class A { method foo(:$actions, *%_) { say $actions; say "but: " ~ %_ }; my $actions = "action!"; A.new.foo(:$actions); my $v-foo = "uh, what?"; A.new.foo(:$v-foo)
13:07 camelia rakudo-moar 20ffd3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Gl6ZAbNVB6␤Unable to parse expression in block; couldn't find final '}' ␤at /tmp/Gl6ZAbNVB6:1␤------> 3$v-foo = "uh, what?"; A.new.foo(:$v-foo)7⏏5<EOL>␤    expecting any of:␤        statement en…»
13:07 psch m: class A { method foo(:$actions, *%_) { say $actions; say "but: " ~ %_ } }; my $actions = "action!"; A.new.foo(:$actions); my $v-foo = "uh, what?"; A.new.foo(:$v-foo)
13:07 camelia rakudo-moar 20ffd3: OUTPUT«action!␤but: ␤(Any)␤but: v-foo       uh, what?␤»
13:08 * psch isn't sure if that's actually helping
13:08 DrForr It is, but I think that's rather more fundamental than what I was looking at.
13:09 psch well, that's what it comes down to.  colonpair-for-named-args works, when your argument variables are called the same as the named parameter you want to bind them to
13:10 psch that is, the shortest colonpair notation —  :actions($v-foo) still works of course
13:11 DrForr Oh, good grief, I see what you're geting at. It's *not* a coincidence that 'actions' in ':$actions' matches the named parameter, I was thinking it was a positional argument.
13:12 DrForr Right. Back to work then.
13:14 DrForr I'm just used to reading a leading colon as a keyword in Lisp.
13:14 jnthn nine_: Would @values.map('?') just map every element to a '?'? If so, ('?' xx @values) will do just as well
13:15 timotimo jnthn: i told him the same thing :D
13:15 jnthn Oh
13:15 jnthn I'm still catching up :)
13:15 * timotimo is just proud of himself for catching that
13:18 anaeem1 joined #perl6
13:19 anaeem1 joined #perl6
13:21 diana_olhovik_ joined #perl6
13:27 skids joined #perl6
13:28 eli-se joined #perl6
13:35 zakharyas joined #perl6
13:40 espadrine joined #perl6
13:52 xfix joined #perl6
13:54 jnthn airport, flight, etc. &
13:54 timotimo bon voyage
13:54 C0rruptor joined #perl6
13:59 atroxaper joined #perl6
14:01 masak hello, #perl6...
14:01 masak ...FROM A TRAIN \o/
14:02 atroxaper hello, #perl6 !
14:02 atroxaper masak: o/
14:02 masak atroxaper: \o
14:04 atroxaper how can I make regex for sequens of any characters but not some of them? Or pare of them? For example any characters but not '*/'
14:04 vendethiel o/
14:04 timotimo that'd be <-[*/]>
14:04 timotimo you're looking for a "negated character class"
14:05 larion joined #perl6
14:05 sirdancealot joined #perl6
14:05 atroxaper '/*' <-[*/]>* '*/' is not work for  /* * */
14:06 aborazmeh joined #perl6
14:06 aborazmeh joined #perl6
14:07 atroxaper timotimo: i want to negated sequens of two characters.
14:07 timotimo oh
14:07 skids atroxaper: you can use <!before> but there may be a better way.
14:07 timotimo so more like a negative lookahead?
14:07 timotimo yeah, <!before ...> would do it
14:08 BenGoldberg joined #perl6
14:08 atroxaper Hm. Let's try...
14:18 atroxaper Does before get only one previous pointer or all which precede him?
14:18 atroxaper Oh.... Forget it))
14:18 skids m: '/*aaa*/' ~~ m/  '/*' ~ '*/' (a*) /; $/.gist.say
14:18 camelia rakudo-moar 20ffd3: OUTPUT«「/*aaa*/」␤ 0 => 「aaa」␤»
14:19 FROGGS[tab] joined #perl6
14:19 psch m: say '/* * */' ~~ m/ '/*' ~ '*/' ./;
14:19 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in method match at src/gen/m-CORE.setting:7499␤  in block <unit> at /tmp/dEDHvQNbYo:1␤␤»
14:19 psch i really dislike that about regex ~
14:20 atroxaper skids: What is '~'    ?
14:20 skids It should be sugar for nested parens.
14:20 skids But -- it seems to have a coupld issues right now.
14:21 masak agreed.
14:21 masak psch: so, it backtracked, and then the whole match threw an exception?
14:22 masak that's maybe the best reason I've heard so far for ~ not to throw an exception. it should fail the match, *like everything else* in the regex language.
14:24 psch masak: my example is flawed, i think.  needs a quantifier behind .
14:24 psch m: say '/* * */' ~~ m/ '/*' ~ '*/' .+/;
14:24 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in method match at src/gen/m-CORE.setting:7499␤  in block <unit> at /tmp/RliZfg4wqI:1␤␤»
14:24 masak it fails regardless, so I don't see why you'd need to add the '+'
14:24 psch but that probably should work, but doesn't.  i'd guess that it doesn't backtrack when it should?
14:24 masak the problem is that the '.' causes the '~' to backtrack.
14:24 skids m:  '/* * */' ~~ m/:dba('foo') '/*' ~ '*/' .+/;
14:24 masak and then the '~' fails, not by failing the match, but by throwing.
14:24 camelia rakudo-moar 20ffd3: ( no output )
14:25 psch yeah, throwing happens in FAILGOAL iirc
14:27 atroxaper I still don't know how parse C style comment like /**/    /* */    /* bb */    /* bb b */   /***/
14:27 atroxaper Can you help me?
14:28 flussence m: say '/* * */' ~~ m/ '/*' ~ '*/' [.+]/;
14:28 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in method match at src/gen/m-CORE.setting:7499␤  in block <unit> at /tmp/_qYBssWryd:1␤␤»
14:29 psch m: say '/* * */' ~~ m/ '/*' <!before '*/'> . '*/' /
14:29 camelia rakudo-moar 20ffd3: OUTPUT«False␤»
14:29 masak m: $_ ~~ /'/*' ([<!before '*/> .]*) '*/' / and say ~$0 for '/**/', '/* */', '/* bb */', '/* bb b */', '/***/'
14:29 camelia rakudo-moar 20ffd3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xfjH0Q7VmF␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/xfjH0Q7VmF:1␤------> 3$_ ~~ /'/*' ([<!before '*/> .]*) '*7⏏5/' / and say ~$0 for '/**/', '/* */', '/…»
14:29 psch m: say '/* * */' ~~ m/ '/*' <!before '*/'> .+ '*/' /
14:29 camelia rakudo-moar 20ffd3: OUTPUT«「/* * */」␤»
14:29 masak m: $_ ~~ /'/*' ([<!before '*/'> .]*) '*/' / and say ~$0 for '/**/', '/* */', '/* bb */', '/* bb b */', '/***/'
14:29 camelia rakudo-moar 20ffd3: OUTPUT«␤ ␤ bb ␤ bb b ␤*␤»
14:29 masak atroxaper: ^^
14:30 atroxaper masak: WOW! I have to parse your regex :)
14:30 atroxaper Thank you all!
14:30 masak it uses negative lookahead.
14:30 masak which means "make sure we're not at a '*/'"
14:31 masak m: /'/*' ([<!before '*/'> .]*) '*/' / and say ~$0 for '/**/', '/* */', '/* bb */', '/* bb b */', '/***/'
14:31 camelia rakudo-moar 20ffd3: OUTPUT«␤ ␤ bb ␤ bb b ␤*␤»
14:31 masak shorter :)
14:31 flussence (how hard would it be to programmatically get an AST of of a regex?)
14:31 virtualsue joined #perl6
14:32 masak flussence: check out jnthn's Grammar::Generative
14:32 flussence ooh, will do
14:32 grondilu ~ should work though, why doesn't it?
14:32 grondilu ('/*' ~ '*/' .*) I mean
14:32 * skids wonders why :dba keeps the exception from happening above
14:33 flussence ISTR something a few weeks ago where declarative regexes were misbehaving but making them procedural made them work fine...
14:34 atroxaper masak: Why we need . it the regex?
14:34 psch m: say '/* */' ~~ m/ '/*' ~ '*/' ./
14:34 camelia rakudo-moar 20ffd3: OUTPUT«「/* */」␤»
14:34 masak atroxaper: because <!before ...> is a zero-width match and you need to progress the match somehow.
14:34 masak atroxaper: the '.' means "grab one more character"
14:34 psch masak: i think that means that my unquantified example failed because it didn't find '*/' after one char but the quantified one fails because it doesn't backtrack
14:35 masak ok
14:35 skids Oh the :dba must just be making it fail always.
14:35 masak psch: I must be tired or something, because I've read what you just said twice now, and I'm not sure I get it.
14:35 psch m: say '/*  */' ~~ m/ '/*' ~ '*/' ...?/
14:35 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in method match at src/gen/m-CORE.setting:7499␤  in block <unit> at /tmp/TWRLh0Va7H:1␤␤»
14:36 masak psch: but, submit rakudobugs at will, I guess ;)
14:36 atroxaper masak: oh. I see :)
14:36 flussence also, I have a hunch that fixing that would fix https://github.com/jnthn/g​rammar-debugger/issues/13
14:37 psch masak: RT #68854 looks quite comprehensive, at a glance
14:37 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=68854
14:37 psch oh, but it's resolved
14:37 psch hm
14:37 psch m: say '/*  */' ~~ rule {  '/*' ~ '*/' ...? }
14:37 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in regex  at /tmp/bjRF3jjCoe:1␤  in method ACCEPTS at src/gen/m-CORE.setting:16292␤  in block <unit> at /tmp/bjRF3jjCoe:1␤␤»
14:38 * psch shrugs
14:38 psch i have jvm binder to fix :s
14:38 psch *a
14:40 xfix joined #perl6
14:44 masak yeah, that seems related.
14:46 timotimo ~ expects you to parse the stuff between the begin and end precisely
14:46 psch that was understanding, anyway.  that ~ doesn't allow backtracking into the expression afterwards
14:47 psch which makes it a bit less useful than i personally would like it to be
14:47 timotimo m: say '/*  */' ~~ rule {  '/*' ~ '*/' .+? }
14:47 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in regex  at /tmp/dm2BkjDH1s:1␤  in method ACCEPTS at src/gen/m-CORE.setting:16292␤  in block <unit> at /tmp/dm2BkjDH1s:1␤␤»
14:47 timotimo also, i believe you need to put parens around "...?"
14:47 timotimo m: say '/*  */' ~~ rule {  '/*' ~ '*/' [...?] }
14:47 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in regex  at /tmp/6sXcqdhuFW:1␤  in method ACCEPTS at src/gen/m-CORE.setting:16292␤  in block <unit> at /tmp/6sXcqdhuFW:1␤␤»
14:47 timotimo m: say '/*  */' ~~ rule {  '/*' ~ '*/' [..] }
14:47 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in regex  at /tmp/X7WDFspEbk:1␤  in method ACCEPTS at src/gen/m-CORE.setting:16292␤  in block <unit> at /tmp/X7WDFspEbk:1␤␤»
14:47 timotimo oh?
14:47 psch huh?
14:47 timotimo m: say '/*  */' ~~ regex {  '/*' ~ '*/' [..] }
14:47 camelia rakudo-moar 20ffd3: OUTPUT«「/*  */」␤»
14:48 timotimo sigspace
14:48 psch ah right
14:48 rurban joined #perl6
14:48 psch m: say '/* */' ~~ regex { '/*' ~ '*/' [..?] }
14:48 camelia rakudo-moar 20ffd3: OUTPUT«Unable to parse expression in ; couldn't find final '*/' ␤  in regex  at /tmp/mEmK_mdiY3:1␤  in method ACCEPTS at src/gen/m-CORE.setting:16292␤  in block <unit> at /tmp/mEmK_mdiY3:1␤␤»
14:48 masak timotimo: I think that's a good point. '~' is really a tool for token/rule that have backtracking turned off. because it really doesn't work well with backtracking.
14:48 psch yeah, but the .? doesn't get unmatched
14:48 timotimo aye
15:05 bbkr joined #perl6
15:06 bbkr moar: use Test; sub foo { my @a; return @a;}; is foo, Nil
15:06 bbkr r: use Test; sub foo { my @a; return @a;}; is foo, Nil
15:06 camelia rakudo-moar 20ffd3: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/tmpfile line 1␤# expected: (Nil)␤#      got: ''␤»
15:06 dalek rakudo-star-daily: 5a9f7da | coke++ | log/ (9 files):
15:06 dalek rakudo-star-daily: today (automated commit)
15:06 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/5a9f7da59e
15:06 dalek perl6-roast-data: bf55012 | coke++ | / (9 files):
15:06 dalek perl6-roast-data: today (automated commit)
15:06 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/bf55012469
15:08 timotimo bbkr: "is" uses string comparison
15:09 bbkr i see that it changed between 2015.02 and 2015.03, on 2015.02 this test passes
15:10 [Coke] joined #perl6
15:11 timotimo oh
15:12 jnthn Note that a ~ b c is *not* defined as syntax sugar for a c b
15:12 jnthn If that's all it did, it'd not really be worth it.
15:13 bbkr looks like empty array is not implicitly "flattened" to Nil now. however I don't see any changelog entry about it. explicit flattening works:
15:13 bbkr r: use Test; sub foo { my @a; return |@a;}; is foo, Nil
15:13 camelia rakudo-moar 20ffd3: OUTPUT«ok 1 - ␤»
15:14 jnthn bbkr: I think "is" got stricter around type object-y things
15:14 jnthn bbkr: It used to just stringify them to empty
15:14 jnthn So an empty array would probably have matched any type object, not just Nil, before
15:15 timotimo aye
15:15 timotimo jnthn: are you just on the airport or have wifi on the plane?
15:15 jnthn Airport
15:16 jnthn No plane wifi, usually...if there is it's extortionately priced and slow and given the flight is sub-hour usually and you can't use it for the first and last 10 minutes, it's really not worth it.
15:16 timotimo ah, OK
15:17 jnthn for those who *really* want a ~ b c to backtrack, it should be possible to define a token FAILGOAL(|) { <!> }
15:18 timotimo m: say "used to be 2359603, now is 2395358, that's a reduction to { 2359603 / 2395358 }% for nqp"
15:18 camelia rakudo-moar 20ffd3: OUTPUT«used to be 2359603, now is 2395358, that's a reduction to 0.98507321% for nqp␤»
15:18 jnthn I guess the other option would be to define FAILGOAL like that in Cursor, define it to throw in Grammar, and then use in /.../ would backtrack and in grammars would throw.
15:19 jnthn But maybe that's just differently unhelpful :)
15:19 timotimo m: say "used to be 47547366, now is 46871722, that's a reduction to { 46871722 / 47547366 }% for rakudo"
15:19 camelia rakudo-moar 20ffd3: OUTPUT«used to be 47547366, now is 46871722, that's a reduction to 0.985790086% for rakudo␤»
15:19 rmgk_ joined #perl6
15:19 jnthn timotimo: What's the measurement for? :)
15:19 timotimo not such a gigantic win
15:20 timotimo turning "mov TMP6, TC; mov ARG1, TMP6" into just "mov ARG1, TC"
15:20 timotimo if the first argument to a c function with TC as first arg into just that
15:20 jnthn It's > 1% in both cases
15:20 timotimo yeah
15:20 jnthn That is quite big for saving instructions :)
15:21 timotimo that's bytes
15:21 [Coke] anyone know what happened to hack this time?
15:21 jnthn timotimo: oh, not time...
15:21 timotimo nope
15:21 timotimo very much not so :)
15:22 jnthn Still, worth saving the memory and it will have to make things a little faster
15:22 jnthn callgrind gives exact instruction counts.
15:22 timotimo fair enough
15:24 jnthn Suspect it's another thing that the exprcomp thingy brrt++ will hopefully work on this summer will make easier.
15:27 dalek rakudo/nom: 1f7f691 | peschwa++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
15:27 dalek rakudo/nom: Correct an error in the Binder.
15:27 dalek rakudo/nom:
15:27 dalek rakudo/nom: Previously «sub f(Num() \a) { a.WHAT.say }; f 5» would print «(Int)», because
15:27 dalek rakudo/nom: the R-J Binder didn't pass the coerced value but the original value to the
15:27 dalek rakudo/nom: CallFrame.  With this patch we correctly print «(Num)».
15:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1f7f69101e
15:27 jnthn psch++
15:28 timotimo yes, the exprcomp will pretty much make this special case optimization superfluous
15:28 psch Mouq++ # for the opt that brought the Binder bug to the surface
15:29 timotimo with my limited ability to come up with super cool optimizations, i'm turning to smaller and smaller straws :P
15:37 jnthn bawdin thyme... &
15:38 aborazmeh joined #perl6
15:38 aborazmeh joined #perl6
15:39 eli-se joined #perl6
15:40 timotimo Stage parse      : 903.469
15:40 timotimo wowza
15:45 psch heh
15:45 psch m: say uniname -1
15:45 camelia rakudo-moar 20ffd3: OUTPUT«should eventually be unreachable␤  in sub uniname at src/gen/m-CORE.setting:8670␤  in block <unit> at /tmp/B_LbZ96Xk_:1␤␤»
15:46 psch eventually... :)
15:46 timotimo hehe.
15:48 jdv79 do the JSON::Jansson tests fail for anyone else on current
15:51 timotimo 137,308,341,032 instructions for stage parse
15:55 masak psch: that's an LTA error message. please submit rakudobug
15:57 psch masak: i'm not sure it's not a moar issue
15:57 psch MVM_unicode_get_name doesn't expect an adhoc throw, but MVM_codepoint_to_row_index throws one
15:58 psch the nqp or rakudo layers don't really seem involved, from my POV
15:59 psch but i don't know how to fix it offhand, and it probably shouldn't get lost...
16:00 gfldex joined #perl6
16:00 itz is libm math like "pow" done in nqp or MoarVM? or both?
16:00 timotimo in MoarVM for nqp-moar or in parrot for nqp-parrot
16:01 timotimo not exactly sure if we use java's built-in multi-prec math?
16:03 masak psch: I'd say it's a rakudobug even if it turns out to be a moar issue.
16:05 psch #124144
16:05 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=124144
16:05 masak psch++
16:12 flussence m: my bit $a = 2;
16:12 camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤Invalid int size for local/lexical␤»
16:12 flussence m: my bit $a = 1;
16:12 camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤Invalid int size for local/lexical␤»
16:12 flussence oh, lemme guess...
16:12 flussence m: my bit @a = [0,1].pick xx 8;
16:12 camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤MVMArray: Unsupported uint size␤»
16:13 psch m: my bit $x
16:13 camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤Invalid int size for local/lexical␤»
16:13 * flussence shrugs
16:13 psch m: my int1 $x
16:13 camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤Invalid int size for local/lexical␤»
16:19 timotimo m: say "the instruction  count went down to { 137308341032 / 137495380335 }%"
16:19 camelia rakudo-moar 1f7f69: OUTPUT«the instruction  count went down to 0.9986396684562%␤»
16:20 timotimo er, not % of course
16:20 timotimo m: say 0.9986396684562 * 100
16:20 camelia rakudo-moar 1f7f69: OUTPUT«99.86396684562␤»
16:20 timotimo m: say 100 - 0.9986396684562 * 100
16:20 camelia rakudo-moar 1f7f69: OUTPUT«0.13603315438␤»
16:20 timotimo less than 1% instruction count change
16:21 flussence small things like that can compound on each other though :)
16:21 timotimo well ... only if i do more improvement like that
16:25 azawawi joined #perl6
16:25 azawawi hi
16:26 timotimo heyo azawawi!
16:26 timotimo long time no sea :)
16:27 eli-se joined #perl6
16:28 azawawi im back :)
16:28 masak azawawi! \o/
16:29 * azawawi is now testing farabi6 on win32 and linux :)
16:29 * masak .oO( 好久不海了 ) :P
16:31 azawawi is there something like __FILE__ in Perl 6?
16:31 flussence $?FILE  ?
16:31 * azawawi takes a look
16:31 mr-foobar joined #perl6
16:31 flussence same pattern goes for $?LINE, $?CLASS and &?ROUTINE
16:32 flussence m: say $?FILE, $?LINE, $?CLASS, &?ROUTINE
16:32 camelia rakudo-moar 1f7f69: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DJdv6iMtAJ␤Variable '$?CLASS' is not declared␤at /tmp/DJdv6iMtAJ:1␤------> 3say $?FILE, $?LINE, $?CLASS7⏏5, &?ROUTINE␤    expecting any of:␤        postfix␤»
16:32 flussence m: say $?FILE, $?LINE, &?ROUTINE
16:32 camelia rakudo-moar 1f7f69: OUTPUT«5===SORRY!5=== Error while compiling /tmp/STXMoOcQMD␤Undeclared routine:␤    &?ROUTINE used at line 1␤␤»
16:32 flussence m: say $?FILE, $?LINE
16:32 camelia rakudo-moar 1f7f69: OUTPUT«/tmp/aoAJJIWMJr1␤»
16:33 flussence m: sub r { say &?ROUTINE }; r
16:33 camelia rakudo-moar 1f7f69: OUTPUT«sub r () { #`(Sub|52752312) ... }␤»
16:35 azawawi flussence: thx :)
16:35 azawawi flussence++
16:36 azawawi nice bug under win32... $*SPEC.catdir($*SPEC.splitdir("C:\\rakudo"))  -> C:rakudo # lol
16:37 azawawi m: $*SPEC.catdir($*SPEC.splitdir("C:\\rakudo"))
16:37 camelia rakudo-moar 1f7f69: ( no output )
16:37 azawawi m: say $*SPEC.catdir($*SPEC.splitdir("C:\\rakudo"))
16:37 camelia rakudo-moar 1f7f69: OUTPUT«C:\rakudo␤»
16:49 timotimo azawawi: the thing is, $*SPEC is IO::Spec::UNIX on the bot :)
16:49 timotimo or not?
16:49 timotimo i'm not sure
16:49 psch m: say $*SPEC.WHAT
16:49 camelia rakudo-moar 1f7f69: OUTPUT«(IO::Spec::Unix)␤»
16:50 psch doesn't $*SPEC go away eventually?
16:51 C0rruptor joined #perl6
16:51 azawawi timotimo: i noticed
16:51 FROGGS psch: lizmat said that, aye
16:51 FROGGS err, lizmat++
16:58 raiph joined #perl6
17:03 raiph j: say grammar g { rule t { '(' ~ ')' <TOP> }; rule TOP { [<t> | [<!before ')'> .]]* }}.parse('(foo(bar1))')
17:03 camelia rakudo-jvm 1f7f69: OUTPUT«Unable to parse expression in t; couldn't find final ')' ␤  in regex t at /tmp/gq7DgWcUJC:1␤  in regex TOP at /tmp/gq7DgWcUJC:1␤  in method parse at gen/jvm/CORE.setting:15713␤  in block <unit> at /tmp/gq7DgWcUJC:1␤␤»
17:05 nige joined #perl6
17:09 psch m: say uniprop("⅚", "Width")
17:09 camelia rakudo-moar 1f7f69: OUTPUT«0␤»
17:10 psch m: say uniprop("⅚", "Script")
17:10 camelia rakudo-moar 1f7f69: OUTPUT«Common␤»
17:11 psch m: say uniprop("⅚", "Block")
17:11 camelia rakudo-moar 1f7f69: OUTPUT«Number Forms␤»
17:12 eli-se joined #perl6
17:12 psch well, porting uniname to r-j was easy, but uniprop looks like a few giant switch/case statements
17:13 psch oh, but it's giant switch/case statements in moar too, so that's apparently a good way to implement it
17:13 anaeem1_ joined #perl6
17:17 sqirrel_ joined #perl6
17:18 [Coke] May 02, there's a hackathon in NYC. I'm close enough to head down if there's interest in a Perl 6 track.
17:18 [Coke] http://www.meetup.com/The-New-York-​Perl-Meetup-Group/events/221319780/
17:20 dalek rakudo/union: bf6b7e8 | FROGGS++ | lib/NativeCall.pm:
17:20 dalek rakudo/union: allow to pass CUnions as arguments
17:20 dalek rakudo/union: review: https://github.com/rakudo/rakudo/commit/bf6b7e8e51
17:20 dalek rakudo/union: bc3cd64 | FROGGS++ | t/04-nativecall/13-union. (2 files):
17:20 dalek rakudo/union: make CUnion tests endian-unaware
17:20 dalek rakudo/union: review: https://github.com/rakudo/rakudo/commit/bc3cd64558
17:23 timotimo psch: at least make sure you generate the switch/case statements :3
17:27 psch m: say uniprop("A", "Block")
17:27 camelia rakudo-moar 1f7f69: OUTPUT«Basic Latin␤»
17:27 psch that bit is gonna be fun
17:27 psch apparently a Java UnicodeBlock doesn't know its name, they're just stored as constants named after an approximation of the official block name
17:28 psch which means that'll be another huge switch/case statements :/
17:28 psch ugh
17:28 psch but it can't be a switch/case cause they don't work on object identity iirc
17:29 psch so it's «UnicodeBlock blk = UnicodeBlock.of(codePoint); if( blk == UncodeBlock.BASIC_LATIN ) { return "Basic Latin" } ...» or somesuch
17:38 psch timotimo: i think i first need to understand this whole unicode business a bit better
17:39 psch timotimo: but yeah, writing a few hundred lines of switch/case is probably not the best use of my time :)
17:39 timotimo :)
17:41 rurban joined #perl6
17:46 nige joined #perl6
17:47 azawawi how can an installed Perl 6 module know whether it is installed under site/lib or lib?
17:52 avar Isn't there a __FILE__ (IIRC it's $*FILE) that gives you the full path like in perl 5?
17:54 raiph azawawi: does http://design.perl6.org/S22.html#%25%3FRESOURCE look like the right design doc?
17:54 azawawi raiph: hmmm looks good
17:54 raiph m: say %?RESOURCE
17:54 camelia rakudo-moar 1f7f69: OUTPUT«5===SORRY!5=== Error while compiling /tmp/n991bd2IX8␤Variable '%?RESOURCE' is not declared␤at /tmp/n991bd2IX8:1␤------> 3say %?RESOURCE7⏏5<EOL>␤    expecting any of:␤        postfix␤»
17:55 itz m: say $?FILE
17:55 camelia rakudo-moar 1f7f69: OUTPUT«/tmp/FEv31Oazbc␤»
17:55 itz m: say $?CLASS
17:55 camelia rakudo-moar 1f7f69: OUTPUT«5===SORRY!5=== Error while compiling /tmp/86lhXnaCb9␤Variable '$?CLASS' is not declared␤at /tmp/86lhXnaCb9:1␤------> 3say $?CLASS7⏏5<EOL>␤    expecting any of:␤        postfix␤»
17:55 itz m: say $?PACKAGE
17:55 camelia rakudo-moar 1f7f69: OUTPUT«(GLOBAL)␤»
17:58 azawawi raiph: i could loop on @*INC to find my modules assets but then again what about dual-life modules...
17:58 psch $?FILE is a compiletime constant, so it should be correct inside of the file, no?
17:58 azawawi psch: nope
17:59 raiph azawawi: see also http://irclog.perlgeek.de/p​erl6/2015-03-03#i_10213360
17:59 azawawi psch: returns lib/MyModule.pm when run from the command line
18:00 azawawi raiph: thx for sharing that discussion
18:03 psch eww
18:03 psch precomp behavior of $?FILE seems rather weird
18:04 psch https://gist.github.com/pe​schwa/19dd88befeeeca0300a0
18:04 psch i.e. precomped $?FILE has the relative path from where the precomp process was invoked
18:05 psch but without precomp it's an absolute path
18:05 psch (at least that's assuming my data is sufficient, which it might not be)
18:05 dalek perl6.org: d893300 | moritz++ | source/compilers/index.html:
18:05 dalek perl6.org: Remove Parrot fossil
18:05 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/d893300651
18:06 psch (for one, i'm running on -j)
18:08 xfix joined #perl6
18:12 azawawi timotimo: ping
18:12 timotimo pong
18:13 azawawi timotimo: please check whether the last patch fixes the bug or not on your OSX (aka https://github.com/azawawi/farabi6/issues/49)
18:13 timotimo under callgrind, the setting compilation valgrind gets segfaulted :(
18:14 azawawi no perl6 under OSX?
18:14 timotimo i don't have osx at all
18:15 azawawi lol
18:15 azawawi but you have it installed under ~/perl6 right?
18:16 pecastro azawawi: I think I can confirm exactly the same thing. Panda started installing things under share/ and now ...
18:16 pecastro [pecastro@brutalix rakudo3]$ farabi6
18:16 timotimo yes, ~/perl6/install
18:16 pecastro Switching to panda-installed farabi6
18:16 pecastro farabi.js is not found in /home/pecastro/perl6/rakudo3/install/lang​uages/perl6/site/lib/Farabi6/files/assets
18:17 pecastro Friday farabi install via panda worked fine ...
18:17 azawawi pecastro: i see
18:17 dalek nqp: a7acff6 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
18:17 dalek nqp: Remove tabs, fix indentation.
18:17 dalek nqp: review: https://github.com/perl6/nqp/commit/a7acff6f6e
18:17 dalek nqp: e45d8de | peschwa++ | src/vm/jvm/ (2 files):
18:17 dalek nqp: Implement nqp::getuniname for the JVM backend.
18:17 dalek nqp: review: https://github.com/perl6/nqp/commit/e45d8ded49
18:17 azawawi pecastro: where is farabi.js in your machine btw ?
18:17 dalek rakudo/nom: 49f1dd0 | peschwa++ | tools/build/NQP_REVISION:
18:17 dalek rakudo/nom: Bump NQP_REVISION
18:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/49f1dd06ba
18:17 dalek rakudo/nom: 5e6ba8d | peschwa++ | src/core/Str.pm:
18:17 dalek rakudo/nom: Use nqp::getuniname on JVM
18:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e6ba8de95
18:17 dalek rakudo/nom: 5778e86 | peschwa++ | t/spectest.data:
18:17 dalek rakudo/nom: Enable S15-unicode-information/uniname.t for JVM.
18:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5778e86748
18:18 timotimo azawawi: currently shoveling around in the guts of moar, won't have a working rakudo for a few more minutes as i'm measuring stuff with callgrind right now
18:18 dalek roast: 71a4a94 | peschwa++ | S06-signature/errors.t:
18:18 dalek roast: Fudge a test for R-J that relies on &unival.
18:18 dalek roast: review: https://github.com/perl6/roast/commit/71a4a94bc5
18:18 dalek roast: 4ecfcdd | peschwa++ | S02-types/native.t:
18:18 dalek roast: Unfudge now passing tests.
18:18 dalek roast: review: https://github.com/perl6/roast/commit/4ecfcdd862
18:18 dalek roast: 5106aa1 | peschwa++ | S15-unicode-information/uniname.t:
18:18 dalek roast: Fudge for rakudo in general, not just rakudo.moar.
18:18 dalek roast: review: https://github.com/perl6/roast/commit/5106aa172f
18:18 azawawi timotimo: take your time :)
18:18 timotimo i'll take my timo :P
18:19 pecastro azawawi: /home/pecastro/perl6/rakudo3/install/share/p​erl6/site/lib/Farabi6/files/assets/farabi.js
18:19 azawawi pecastro: true the same here on my lubuntu vm
18:19 pecastro I'm on linux.
18:20 azawawi pecastro:  did you 'panda install Farabi6' now?
18:20 azawawi pecastro: since i just fixed it
18:20 timotimo i guess i'll run setting compilation under valgrind's memory checker
18:20 timotimo to see what i'm doing stupid
18:21 azawawi pecastro:  s/since/because/
18:23 timotimo d'oh
18:23 timotimo Stage parse      : --26561-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting
18:25 azawawi pecastro: ?
18:27 psch # expected: 'alpha:a|ident:a'
18:27 psch #      got: 'ident:a|alpha:a'
18:27 psch grrml
18:30 larion joined #perl6
18:35 psch m: say ("a" ~~ m/<alpha> && <ident>/).caps
18:35 camelia rakudo-moar 1f7f69: OUTPUT«alpha => 「a」 ident => 「a」␤»
18:35 psch j: say ("a" ~~ m/<alpha> && <ident>/).caps
18:35 camelia rakudo-jvm 1f7f69: OUTPUT«ident => 「a」 alpha => 「a」␤»
18:35 psch j: say ("a" ~~ m/<alpha> && <ident>/)>>.from
18:35 camelia rakudo-jvm 1f7f69: OUTPUT«0␤»
18:36 psch m: say ("a" ~~ m/<alpha> && <ident>/){*}>>.from
18:36 camelia rakudo-moar 1f7f69: OUTPUT«0 0␤»
18:36 arnsholt psch: That definitely sounds like a bug in the testing module, rather than the tested code
18:38 psch arnsholt: no, .caps is underspecified
18:38 raydiak j: say $*VM.config<dll>
18:38 psch http://design.perl6.org/S05.html#line_3143
18:38 camelia rakudo-jvm 1f7f69: OUTPUT«(Any)␤»
18:38 raydiak j: say $*VM.config
18:38 camelia rakudo-jvm 1f7f69: OUTPUT«nativecall.cc => cc, nativecall.ccdlflags => -fPIC -Wl,-E, nativecall.ccflags => -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64, nativecall.ld => cc, nativecall.lddlflags => -shared -O2 -…»
18:38 psch it sorts by .from, but doesn't specify what else if .from is equal
18:38 psch arnsholt: that's not to say that the test could catch it, but it shouldn't have to, because .caps returns Positional
18:39 psch *not say the test could*n't*
18:39 raydiak j: say $*VM.keys
18:39 camelia rakudo-jvm 1f7f69: OUTPUT«0␤»
18:39 psch (also s/underspecified/underspeculated/)
18:42 dalek roast: 8ae0b90 | usev6++ | S03-operators/arith.t:
18:42 dalek roast: Refer to RT #85750 for failing test on NetBSD
18:42 dalek roast:
18:42 dalek roast: also fudge test as 'todo' and add some references
18:42 dalek roast: review: https://github.com/perl6/roast/commit/8ae0b90b42
18:42 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=85750
18:42 raydiak j: say $*VM.config.keys
18:42 camelia rakudo-jvm 1f7f69: OUTPUT«runtime.jars nativecall.lddlflags nativecall.libs nativecall.ccdlflags nativecall.o runtime.classpath nativecall.ccflags nativecall.so runtime.bootclasspath prefix nativecall.ldflags nativecall.perllibs nativecall.ldout nativecall.ld nativecall.cc␤»
18:43 azawawi any idea how to get the canonical path of any filesystem path in Perl 6?
18:44 timotimo meh. asan doesn't spot anything :(
18:45 timotimo what is "&&"? i only know & (inside regex)
18:45 kjs_ joined #perl6
18:46 psch timotimo: i think && is to & as || is to |
18:46 timotimo i didn't know & did any sort of STM-like thing ?!
18:47 psch arnsholt: i mean, i agree that the test is operating on bad assumptions, but it shows an issue that actually matters
18:47 psch arnsholt: .caps builds an array from all named and positional captures, and sorts them only by .from, which with named ones can have different results on any execution
18:48 psch arnsholt: because the order before sorting can be different, because named captures are stored in a hash by key
18:50 psch timotimo: http://design.perl6.org/S05.html#line_828
18:50 azawawi m: IO::Path.new($*SPEC.catdir​('C:\\rakudo\\languages', '..', '..')).absolute
18:50 camelia rakudo-moar 1f7f69: OUTPUT«IO::Path is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method new at src/RESTRICTED.setting:32␤  in block <unit> at /tmp/ZpqEQtELl6:1␤␤»
18:51 azawawi $*SPEC.catdir('C:\\rakudo\\languages', '..', '..').path
18:51 azawawi m: $*SPEC.catdir('C:\\rakudo\\languages', '..', '..').path
18:51 camelia rakudo-moar 1f7f69: OUTPUT«Saw 1 call to deprecated code during execution.␤======================================​==========================================␤Method path (from Str) called at:␤  /tmp/ZwCk4IXKGL, line 1␤Deprecated since v2014.11, will be removed with release v20…»
18:51 azawawi m: $*SPEC.catdir('C:\\rakudo\\languages', '..', '..').path.absolute
18:51 camelia rakudo-moar 5778e8: OUTPUT«Saw 1 call to deprecated code during execution.␤======================================​==========================================␤Method path (from Str) called at:␤  /tmp/gyGQpTvonV, line 1␤Deprecated since v2014.11, will be removed with release v20…»
18:51 azawawi m: say $*SPEC.catdir('C:\\rakudo\\languages', '..', '..').path.absolute
18:51 camelia rakudo-moar 5778e8: OUTPUT«/home/camelia/C:\rakudo\languages/../..␤Saw 1 call to deprecated code during execution.␤======================================​==========================================␤Method path (from Str) called at:␤  /tmp/lOIOOkPqdq, line 1␤Deprecated since …»
18:52 FROGGS azawawi: can you do that in privmsg to camelia?
18:52 azawawi FROGGS: sorry about the noise
18:52 FROGGS np
18:52 timotimo ah, interesting. thank you ,ps
18:52 timotimo , psch
18:53 FROGGS I also did not know that && is a thing
18:54 dalek rakudo/union: 6ce6405 | FROGGS++ | t/04-nativecall/13-union.t:
18:54 dalek rakudo/union: test the sizeof of CUnions
18:54 dalek rakudo/union: review: https://github.com/rakudo/rakudo/commit/6ce6405bf0
18:59 * psch .oO( and now to show that maybe it's even moar that's wrong! )
18:59 psch m: say ("a" ~~ m/<alpha> && <ident>/).caps; say ("a" ~~ m/<ident> && <alpha>/).caps
18:59 camelia rakudo-moar 5778e8: OUTPUT«alpha => 「a」 ident => 「a」␤ident => 「a」 alpha => 「a」␤»
18:59 psch j: say ("a" ~~ m/<alpha> && <ident>/).caps; say ("a" ~~ m/<ident> && <alpha>/).caps
18:59 camelia rakudo-jvm 5778e8: OUTPUT«ident => 「a」 alpha => 「a」␤ident => 「a」 alpha => 「a」␤»
19:04 dalek roast: 6b4f3e3 | (Steve Mynott)++ | S03-operators/arith.t:
19:04 dalek roast: update RT#
19:04 dalek roast: review: https://github.com/perl6/roast/commit/6b4f3e3814
19:05 Mouq joined #perl6
19:21 colomon joined #perl6
19:27 itz hmmm RT really is a bit rubbish compared with github comments
19:29 jnthn evening o/
19:29 FROGGS hi jnthn
19:33 FROGGS jnthn: what are your feelings about passing and returning structs and unions would always mean struct* and union*?
19:33 FROGGS jnthn: so that that only attributes would be different, and would default to inline
19:34 lichtkind joined #perl6
19:36 jnthn FROGGS: I'm not even sure if "default to inline" is correct
19:36 FROGGS jnthn: then we'd need a trait to say so
19:37 jnthn Indeed.
19:37 FROGGS though, defaulting to inlining is easier to implement
19:38 jnthn That or we find a way to make scope decls extensible so NativeCall can export another one :P
19:38 FROGGS hmmm
19:38 jnthn Yes, easier to implement at the cost of having to put Pointer[...] all over the place in code :)
19:38 FROGGS I'm not sure about that scope idea :o)
19:38 FROGGS true
19:38 jnthn Me either; has already puns on things :)
19:39 jnthn Thing is, S09 alludes to compactness (e.g. being able to make a compact array of something) being a property of a type rather than its usage.
19:39 jnthn as I remember it, anyways
19:40 FROGGS I... don't get the connection
19:40 FROGGS ahh, maybe I do
19:41 FROGGS but that would mean that I have to create my union/struct twice, one for inlining and the other as argument/param and return type
19:42 kjs_ joined #perl6
19:42 moritz I need to pause the www.p6c.org for a while (so perl6.org will be unavailable for a short while)
19:42 FROGGS what also bugs me is that 'is rw' in signatures to produce an int* cannot be just be the same in attribute declarations
19:42 FROGGS k
19:43 psch m: say ("a" ~~ /(.) | ./); say ("a" ~~ /(.) & ./)
19:43 camelia rakudo-moar 5778e8: OUTPUT«「a」␤ 0 => 「a」␤「a」␤  => 「a」␤»
19:43 psch the mysterious case of the disappearing 0
19:43 FROGGS O.o
19:44 Mouq m: say ("a" ~~ /. & (.)/)
19:44 yoleaux 21 Mar 2015 09:53Z <lizmat> Mouq: t/spec/S32-num/real-bridge.t hangs for me on ok $zero == $zero.Complex, "0 == 0.Complex"
19:44 yoleaux 21 Mar 2015 10:04Z <lizmat> Mouq: these are the hanging tests: https://github.com/perl6/roast/commit/50d2fcb659
19:44 camelia rakudo-moar 5778e8: OUTPUT«「a」␤  => 「a」␤»
19:44 psch nothing up my sleeve!
19:44 FROGGS m: say ("a" ~~ /(.) | ./); $/ := Nil; say ("a" ~~ /(.) & ./)
19:44 camelia rakudo-moar 5778e8: OUTPUT«「a」␤ 0 => 「a」␤Cannot assign to an immutable value␤  in method ACCEPTS at src/gen/m-CORE.setting:16293␤  in block <unit> at /tmp/8whqFAKjvR:1␤␤»
19:44 Mouq lizmat++, Mouq--
19:44 FROGGS m: say ("a" ~~ /(.) | ./); $/ = Nil; say ("a" ~~ /(.) & ./)
19:44 camelia rakudo-moar 5778e8: OUTPUT«「a」␤ 0 => 「a」␤「a」␤  => 「a」␤»
19:44 dalek rakudo/nom: f5efb7d | TimToady++ | src/ (3 files):
19:44 dalek rakudo/nom: improve errors on anon multi/proto
19:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f5efb7da44
19:44 psch that kind of threw a wrench in my attempt to make .caps more reliable
19:45 psch m: say (" a" ~~ /(.) | ./); say (" a" ~~ /(.) & ./)
19:45 camelia rakudo-moar 5778e8: OUTPUT«「 」␤ 0 => 「 」␤「 」␤  => 「 」␤»
19:45 jnthn psch: At a guess, the code generated for the & stuff could be mis-managing the cstack
19:45 jnthn I forget how on earth & is compiled, but it does involve some trickery with the marks.
19:45 psch (i wanted \w there...)
19:45 psch m: say (" a" ~~ /(\w) | \w/); say (" a" ~~ /(\w) & \w/)
19:45 moritz www running again
19:45 camelia rakudo-moar 5778e8: OUTPUT«「a」␤ 0 => 「a」␤「a」␤  => 「a」␤»
19:46 pecastro azawawi Works fine again! ;)
19:46 psch jnthn: okay.  the regex match code isn't for me, though.  i'll RT it
19:46 FROGGS moritz++
19:47 psch m: say ("a" ~~ /(.) && ./)
19:47 camelia rakudo-moar 5778e8: OUTPUT«「a」␤  => 「a」␤»
19:48 psch oh hmm
19:48 psch i forgot to tag the uniname bug with [BUG]
19:51 jnthn There's a uniname bug?
19:51 psch m: say uniname -1
19:51 camelia rakudo-moar 5778e8: OUTPUT«should eventually be unreachable␤  in sub uniname at src/gen/m-CORE.setting:8671␤  in block <unit> at /tmp/xP7o6yewuo:1␤␤»
19:51 Rounin joined #perl6
19:51 jnthn Ah
19:52 jnthn That's probably alluding to "should implement NFG eventually" :)
19:52 psch jnthn: MVM_codepoint_to_row_index throws on codepoint < 0
19:53 psch jnthn: other functions return -1, which is what MVM_unicode_get_name expects
19:53 jnthn Ah
19:53 masak moritz: your submitting a rakudobug with the Ackermann function made me read up on the Ackermann function. I feel I finally understand it, and it doesn't look weird anymore. moritz++
19:54 masak (also, I read about a nice connection between the Ackermann function and category theory)
19:54 jnthn Sounds odd, though feeding negatives in to MVM_codepoint_to_row_index is almost certainly a no-no.
19:54 jnthn Anyway, will look at it while working on NFG.
19:56 anaeem1_ joined #perl6
19:58 psch oh
19:58 psch .caps isn't actually spec'd to work with overlapping captures
19:59 psch hm, not sure i understand this properly
19:59 anaeem1 joined #perl6
20:01 moritz PSA: I'm now setting up a new host, irc.p6c.org
20:02 moritz for IRC usage only
20:02 moritz so that people don't lose their precious IRC sessions when hack goes down
20:02 moritz (and this is meant to be a temporary hack, until the stability issues have been addressed
20:02 moritz )
20:03 psch j: say uniname -1
20:03 camelia rakudo-jvm 5778e8: OUTPUT«<illegal>␤»
20:04 psch j: say uniname 0x30000
20:04 camelia rakudo-jvm 5778e8: OUTPUT«<unassigned>␤»
20:04 psch m: say uniname 0x30000
20:04 camelia rakudo-moar 5778e8: OUTPUT«<unassigned>␤»
20:04 moritz m: say uniname 0x999999999999
20:04 camelia rakudo-moar 5778e8: OUTPUT«should eventually be unreachable␤  in block <unit> at /tmp/6L2som3tZ3:1␤␤»
20:04 moritz m: say uniname 0x9999999999
20:04 camelia rakudo-moar 5778e8: OUTPUT«should eventually be unreachable␤  in block <unit> at /tmp/sSO86h5aoH:1␤␤»
20:04 moritz m: say uniname 0x99999999
20:04 camelia rakudo-moar 5778e8: OUTPUT«should eventually be unreachable␤  in block <unit> at /tmp/M1WrByZCtm:1␤␤»
20:04 moritz m: say uniname 0x999999
20:04 camelia rakudo-moar 5778e8: OUTPUT«<illegal>␤»
20:05 psch j: say uniname 0x999999999999
20:05 camelia rakudo-jvm 5778e8: OUTPUT«<illegal>␤»
20:06 FROGGS would be nice to return Str instead of '<illegal>' me thinks
20:06 FROGGS or Nil
20:07 FROGGS Nil for <illegal> and Str for <unassigned>
20:07 FROGGS :o)
20:09 psch FROGGS: the nqp ops return str currently
20:10 masak agree about Nil
20:10 masak not so sure about Str
20:10 kjs_ joined #perl6
20:10 psch although i don't think that uniname is hot enough to care about the boxing/create()
20:11 yqt joined #perl6
20:19 * masak wonders what #perl6 will make of #124148
20:19 * synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=124148
20:19 masak synopsebot: wow, you're fast!
20:20 telex joined #perl6
20:21 moritz ok, irc.p6c.org is now up and running
20:21 moritz if you want an account, just tell me
20:21 moritz it's meant for IRC sessions only, no Perl 6 hacking there
20:22 FROGGS yeah, that makes sense
20:22 moritz and only until the hack freezes stop
20:23 jnthn masak: If .perl is to consistenty order them then it should do a .sort on the keys
20:24 jnthn masak: Backends are free to do whatever they please on this issue.
20:24 jnthn (e.g. iteration order cannot be relied upon)
20:24 jnthn I'm fine with .perl doing a sort, in that it's intended as a debugging aid.
20:25 masak me too.
20:27 moritz +1
20:30 FROGGS then .gist should sort also
20:35 nige joined #perl6
20:38 dalek rakudo/nom: 31d6106 | Mouq++ | src/core/Complex.pm:
20:38 dalek rakudo/nom: Let's get Real about this (fix Bridging to Complex). lizmat++
20:38 dalek rakudo/nom:
20:38 dalek rakudo/nom: alternatively: "Not Cool, Mouq"
20:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/31d610651a
20:38 dalek rakudo/nom: c60565d | Mouq++ | src/ (3 files):
20:38 dalek rakudo/nom: Merge branch 'nom' of https://github.com/rakudo/rakudo into nom
20:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c60565dcc4
20:38 dalek roast: 59876b1 | Mouq++ | S32-num/real-bridge.t:
20:38 dalek roast: Revert "Fudge hanging tests"
20:38 dalek roast:
20:38 dalek roast: This reverts commit 50d2fcb6595d0540efae2737c52b4a6bd1db8c54.
20:38 dalek roast: review: https://github.com/perl6/roast/commit/59876b169c
20:39 masak m: my @board = ['.' xx 15] xx 15;
20:39 camelia rakudo-moar f5efb7: ( no output )
20:40 masak used to be that one did the wrong thing. but then infix:<xx> got awesome \o/
20:40 masak one reason I love Perl 6 :>
20:41 diana_olhovik joined #perl6
20:48 FROGGS jnthn: I guess 'is inlined' might be ambiguous? or would that be okay?
20:50 [Sno] joined #perl6
20:50 FROGGS I am trying that now in the union branch, we can rename later if necessary
20:51 jnthn FROGGS: Well, can try it that way first...
20:51 jnthn FROGGS: I think we'll need to look a little more carefully at this in the context of S09 also.
20:52 anaeem1_ joined #perl6
20:52 FROGGS jnthn: I've read parts of S09 right now... but I did not spot anything that might be connected to inlined
20:53 FROGGS inlining*
20:55 kjs_ joined #perl6
20:56 * psch &
20:56 FROGGS o/ psch
20:56 timotimo o/
20:57 masak o/
21:04 FROGGS hmmm, I'm not sure this is doable with a trait :o(
21:06 jack_rabbit joined #perl6
21:06 FROGGS the representation containing the (not)inlined thing needs to know
21:07 FROGGS hmmm
21:15 jnthn FROGGS: Yes, that's the "tied to the type" thing I was mentioning earlier...
21:15 Ven joined #perl6
21:16 FROGGS and now Pointer[thing] looks nice again :P
21:16 * FROGGS .oO( Inlined[thing] )
21:28 timotimo i wouldn't mind having to write that
21:28 timotimo what will sized CArrays look like inside a CStruct?
21:28 timotimo (or union)
21:29 FROGGS has array $.thing[32]
21:29 timotimo mhh
21:29 timotimo k
21:31 virtualsue joined #perl6
21:34 TimToady m: proto a(Int, Int) is cached {*}; multi a(Int \n, 0) { n + 1 }; multi (0, Int \m) { a m-1, 1 }; multi (\n, \m) { a m - 1, a m, n - 1 }; say a 3, 1
21:34 camelia rakudo-moar c60565: OUTPUT«5===SORRY!5=== Error while compiling /tmp/o2S9mo6vYc␤An anonymous routine may not take a multi declarator␤at /tmp/o2S9mo6vYc:1␤------> 3{*}; multi a(Int \n, 0) { n + 1 }; multi7⏏5 (0, Int \m) { a m-1, 1 }; multi (\n, \m␤»
21:39 FROGGS m: proto a(Int, Int) is cached {*}; multi a(Int \n, 0) { n + 1 }; multi a(0, Int \m) { a m-1, 1 }; multi a(\n, \m) { a m - 1, a m, n - 1 }; say a 3, 1
21:39 timotimo Farabi6 is serving files from lib/Farabi6/files at http://:3030
21:40 camelia rakudo-moar c60565: OUTPUT«(timeout)»
21:40 timotimo oh lord
21:40 timotimo farabi6's static file serving is SUPER slow now
21:42 eli-se Use Nginx or a CDN.
21:42 FROGGS Inlined[thing] is very wrong me thinks
21:43 timotimo eli-se: hosting stuff from localhost ... i don't think a CDN would do any better :D
21:45 hoelzro jnthn, FROGGS[mobile]: ok, I reduced it down to a Moar/NQP/Rakudo commit triple:
21:46 hoelzro Rakudo: a593932 NQP: 6d19df1 MoarVM: c6e8df8
21:47 hoelzro although those Rakudo and NQP commits should probably be one *before* each of them, because each of them bump the {NQP,MOAR}_REVISION files
21:47 hoelzro I'm a bit sad that it's not an NQP change, but maybe it will lead to a fix for the JVM
21:48 dalek rakudo/nom: 561abb2 | raydiak++ | src/Perl6/ (2 files):
21:48 dalek rakudo/nom: Support angle-quoted Rat literals e.g. <1/2>
21:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/561abb2822
21:48 dalek rakudo/nom: 9ed9dcc | raydiak++ | src/core/PairMap.pm:
21:48 dalek rakudo/nom: Merge branch 'nom' into rat
21:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ed9dccf21
21:48 dalek rakudo/nom: 854d4b4 | raydiak++ | / (8 files):
21:48 dalek rakudo/nom: Merge branch 'nom' into rat
21:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/854d4b49ad
21:48 dalek rakudo/nom: af68137 | raydiak++ | src/Perl6/Actions.nqp:
21:48 dalek rakudo/nom: Rat literal ast optimization Mouq++
21:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af68137d0b
21:48 dalek rakudo/nom: af6bd02 | Mouq++ | src/Perl6/ (2 files):
21:48 dalek rakudo/nom: Merge pull request #392 from raydiak/rat
21:48 dalek rakudo/nom:
21:48 dalek rakudo/nom: Angle-quoted Rat literals
21:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af6bd025a5
21:49 hoelzro btw, I updated my R* docker image for the 2015.03 release: https://registry.hub.docker​.com/u/hoelzro/rakudo-star/
21:50 masak m: sub foo(@x) { @x.=grep(* %% 2) }; my @a = 1..10; foo(@a); say @a
21:50 camelia rakudo-moar c60565: OUTPUT«2 4 6 8 10␤»
21:52 jnthn hoelzro: Thing is, I did (afaik) port those changes to JVM too
21:52 jnthn hoelzro: Feel free to compare the two for anything I missed
21:52 hoelzro ah ha
21:52 diana_olhovik joined #perl6
21:53 hoelzro I can give it a shot, but I updated the ticket with the information I just posted here in case someone else feels like taking a crack at it
21:53 jnthn hoelzro: cbef59357 is the nqp-j commit in question
21:54 nsharrok joined #perl6
21:56 nsharrok joined #perl6
21:58 larion joined #perl6
22:00 anaeem1 joined #perl6
22:03 nsharrok joined #perl6
22:06 nsharrok Does anyone know how to install Perl6 on windows IIS 8.5?
22:09 raiph joined #perl6
22:10 kjs_ joined #perl6
22:15 davercc joined #perl6
22:24 masak nsharrok: have you tried the ordinary Windows installation instructions?
22:24 * masak knows nothing about IIS
22:27 pecastro joined #perl6
22:28 rurban joined #perl6
22:28 timotimo we do have a .msi file for last month's rakudo star already built and uploaded to rakudo.org
22:29 diana_olhovik_ joined #perl6
22:34 virtualsue https://groups.perlists.pm/sympa/a​rc/london.pm/2015-03/msg00013.html  # that itz guy again
22:38 lnr joined #perl6
22:42 * Mouq should probably at least sign up for the ABE.pm mailing list
22:45 kaare_ joined #perl6
22:52 StrykerKKD joined #perl6
23:03 masak 'night, #perl6
23:05 Mouq 'night masak :)
23:06 rurban joined #perl6
23:09 larion joined #perl6
23:16 kurahaupo joined #perl6
23:17 kurahaupo joined #perl6
23:22 timotimo virtualsue: "getting to see a part of the solar eclipse" is the whole reason you'd even bother, isn't it? :)
23:23 nsharrok Does anyone know how to get a handler mapping for rukudo star in IIS 8.5 working?
23:30 eli-se FROGGS[mobile]: I'm also playing with some C++ ABI fun now: http://coliru.stacked-croo​ked.com/a/e6ea838549029857 :p
23:47 anaeem1 joined #perl6
23:48 larion joined #perl6

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

Perl 6 | Reference Documentation | Rakudo