»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:07 xprime left 00:30 gfldex left 00:48 rurban left 01:03 anaeem1 joined 01:04 Rounin left, anaeem1 left, anaeem1 joined 01:06 geever left 01:09 anaeem1 left 01:24 gcole joined, telex left 01:26 telex joined 02:06 eli-se left 02:18 aindilis joined 02:33 jack_rabbit joined 02:48 jack_rabbit left 02:53 anaeem1 joined 02:58 anaeem1 left 03:11 noganex joined 03:14 noganex_ left 03:45 adu left 03:47 prime joined 03:48 raiph left 03:51 aborazmeh joined, aborazmeh left, aborazmeh joined 04:03 FROGGS__ joined 04:05 FROGGS[tab] left, Sqirrel left 04:06 FROGGS_ left 04:09 adu joined 04:19 adu left 04:20 adu joined 04:26 adu left 04:30 adu_ joined 04:33 ash_gti joined 05:07 tinyblak joined, tinyblak_ joined 05:11 tinyblak left 05:16 zakharyas joined 05:26 Milkmand1n joined, dustinm`_ joined 05:27 Milkmandan left, dustinm` left
dalek q: 3579bc7 | moritz++ | answers.md:
Fix typo/thinko/whatever-o
05:32
05:33 Sqirrel joined 05:34 jack_rabbit joined 05:42 aborazmeh left 05:45 skids left 05:49 anaeem1_ joined 05:51 zakharyas left 05:52 FROGGS[tab] joined 05:55 jack_rabbit left 05:56 esaym153 left 05:57 esaym153 joined 05:58 nige joined 06:02 adu_ left 06:07 aborazmeh joined, aborazmeh left, aborazmeh joined 06:10 ash_gti left
dalek c: 88dd3a4 | paultcochrane++ | lib/Type/IO.pod:
Fix minor typo, formatting and wording issues
06:14
06:16 C0rruptor joined 06:27 BenGoldberg left
[Tux] Ulti, it didn't really gain speed since 9 Mar 06:29
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
*I* am only working in test-t.pl
-rw-rw-r-- 1 merijn users 40940 Mar 20 15:01 test-t.pl 06:31
-rw-rw-r-- 1 merijn users 6711 Jan 14 18:18 test.pl
to show the amount of changes since test.pl :) 06:32
06:41 isBEKaml joined
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?␤»
isBEKaml p6: my @arr = <a b c d>; @arr.>>.say; #works
camelia rakudo-moar 0e5632: OUTPUT«d␤b␤c␤a␤»
06:43 rurban joined 06:44 rindolf joined
DrForr Good morning. 06:48
p6: grammar G { rule program { <term> } } 06:49
camelia ( no output )
DrForr I take it a grammar with an unspecified subrule is still valid at compile time? 06:50
TimToady same as any method 06:51
DrForr Fair enough.
06:52 xfix joined 06:54 aborazmeh left 07:00 rurban left 07:03 xprime joined 07:04 prime left
[Tux] tips on how to fix travis-ci.org/Tux/CSV/builds/55348795 would be appreciated <= panda not found in travis 07:05
07:08 C0rruptor left 07:15 isBEKaml left 07:16 anaeem1_ left, anaeem1_ joined 07:22 anaeem1_ left 07:29 marisa__ joined 07:42 nige left 07:43 gfldex joined 07:49 molaf joined 08:00 rurban joined 08:02 rindolf left
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,␤»
moritz that error message is LTA 08:03
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
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␤»
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
camelia rakudo-moar 0e5632: OUTPUT«(timeout)» 08:04
08:05 jack_rabbit joined, labster left
moritz the "is cached" doesn't seem to work here 08:06
and I messed up the definition, of course 08:11
08:13 darutoko joined
moritz and I'm able to compute ack(4, 1) in <2min on rakudo-moar 08:15
08:15 jack_rabbit left
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␤»
.. Prof: p.p6c.org/69fa6b
08:19 [Sno] left 08:20 [Sno] joined
moritz j: say 'still here?' 08:24
camelia rakudo-jvm 0e5632: OUTPUT«still here?␤»
moritz \o/
both prof-m and j still work
that's better than I dared to hope for :-)
masak good morning, #perl6 08:25
moritz \o masak 08:26
08:48 rurban left, rurban_ joined 08:49 rurban joined 08:53 sergot joined 09:03 anaeem1_ joined 09:07 anaeem1_ left 09:13 nige joined 09:15 Rounin joined 09:30 grondilu joined 09:32 gfldex left
DrForr Sorry for my rambling on #124141 but it looks like a gaping hole in docs to me :) 09:47
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124141
09:48 nige left
masak DrForr++ # bug report 10:00
also, I completely agree that the error message shouldn't be that. 10:01
and that it should probably hint "(did you forget to import Bug::Role?)"
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 {}␤»
DrForr Cool. Yeah, I figured it was easy to replicate on command line :)
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:05
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:06
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:07
10:11 FROGGS__ is now known as FROGGS
FROGGS morning 10:11
masak marnin', FROGGS 10:12
10:15 anaeem1 joined 10:25 virtualsue joined
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 …»
masak yeah. no.
use an accessor to get at the attribute from another class/role.
DrForr So they don't compose that way. Cool, good to know. 10:32
10:33 nige joined 10:36 eli-se joined
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␤»
masak DrForr: ^ this works, though
DrForr Yeah, just changed my code a little it.
masak between a role and a class
I'm not quite sure why.
10:38 rurban left 10:39 rurban joined
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
(also, don't name your roles "X" in production. X:: is the exceptions namespace.)
DrForr Right, and roles don't flatten into other roles so yada yada.
masak right.
DrForr I know, I was using it as a short example. 10:40
masak *nod*
suspected as much. still bears pointing out. :)
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:41
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
s/$/?
10:47 Foxcool left, Foxcool joined 10:48 anaeem1 left
eli-se hi 10:48
10:49 anaeem1 joined
DrForr Or come to think of it, will an action even fire on a non-{token,rule} in a grammar... 10:49
FROGGS it can only fire on tokens/rules 10:52
hi eli-se
10:53 anaeem1 left, spider-mario joined
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.
Good gravy, a perl6 backend to ANTLR. ISA...miniscule...N. 10:55
10:59 geever joined 11:04 kjs_ joined, nige left 11:07 kjs_ left 11:14 kjs_ joined
dalek p: 818a382 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/tools/EvalServer.java:
Capture the Java process STDOUT/-ERR.

This correctly redirects output to STDOUT/-ERR made via JavaInterop to the eval-client, instead of printing on the terminal where the eval-server is executed.
11:17
11:17 coffee` joined
psch \o 11:18
11:18 kjs_ left
jnthn afternoon, #perl6 11:18
dalek kudo/nom: 20ffd3c | lizmat++ | src/core/natives.pm:
Goodbye nibble, we hardly ever knew ya
11:21
jnthn Reminds me of en.wikipedia.org/wiki/Nibbles_%28video_game%29 :) 11:23
eli-se Writing VMs is fun. 11:24
FROGGS jnthn: that was the very first thing I hacked on :o)
jnthn FROGGS: Wasn't the first, but I remember studying the QBasic nibbles source pretty early on :)
FROGGS (created more levels on my old i286 PC)
DrForr Heh, reminds me of the magazine of the same name. ('Nibble' that is, Apple ][ enthusiast mag)
jnthn iirc, it used loops for timing too :) 11:25
So faster computer = harder game :)
psch en.wikipedia.org/wiki/Gorillas_(video_game) was my preference, for playing and hacking 11:26
lizmat a glimpse of the future? toons.gotblah.com/archive/9chickwee...2-0701.jpg :-)
11:27 kjs_ joined
jnthn psch: Yes, I probably played that one more :) 11:27
11:29 FROGGS[tab] left
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: blogs.perl.org/users/ovid/2015/03/t...erl-6.html
m: 42.say.for(^6) # shouldn't this just work ?
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/lib/Perl6/BOOTSTRAP.moarvm::4294967295)␤ from src/gen/m-CORE.setting:9545 (/home/camelia/rakudo-inst-2/share/per…»
11:37 rindolf joined
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:37
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`.
to be honest, I haven't seen a convincing use case of `let`, or much of a use case at all.
jnthn lizmat: (^6).for({42.say}) would be a working example 11:39
lizmat: Though I'd probably always write "say 42 for ^6" :)
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.
lizmat jnthn: ok, guess I wasn't awake yet 11:40
jnthn: although the error is LTA, can we agree on that ?
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.
jnthn lizmat: Probably .map should expect a Callable.
I don't *think* it works on anything else.
And putting the & into the method sig would mean it does there, rather than at the point it tries to call .count 11:41
uh, it *dies* there
11:42 FROGGS[tab] joined
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
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:44
11:45 kjs_ left
DrForr But as right now my top-level 'method TOP{}' isn't getting invoked, I'll have to explore *that* first. 11:46
psch the action method TOP needs a positional for the Match object 11:47
DrForr Right, it's got one, I just didn't specify $/ on-channel because I'm a lazy bastard :) 11:48
method TOP($/) { warn "Invoked" } # like so.
psch fwiw, naming it $/ is a convention with potentially surprising side effects 11:49
(that doesn't directly help your debugging efforts though :) )
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 :)
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…»
jnthn m: grammar G { token TOP { <?> } }; class A { method TOP($/) { say 'here' } }; G.parse('', actions => A) 11:51
camelia rakudo-moar 0e5632: OUTPUT«here␤»
jnthn DrForr: You're likely missing one of the ingredients in ^^ if your TOP ain't being called.
11:51 kjs_ joined
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
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:53
psch DrForr: well, it's a general "this is how signatures and lexicals behave"-thing 11:54
m: sub f($a) { $a = 1 }; f 0
camelia rakudo-moar 20ffd3: OUTPUT«Cannot assign to an immutable value␤ in block <unit> at /tmp/jBYUkURMNc:1␤␤»
DrForr It just says that it makes $<foo> nicer than $/<foo> is all.
psch m: sub f($/) { "a" ~~ /a/ }; f 1
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␤␤»
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.
That error should be clear enough, I suppose. 11:56
Okay, food then back to hacking a VM onto a VM :)
11:59 FROGGS[tab] left
eli-se .tell vendethiel hello world works! 12:02
yoleaux eli-se: I'll pass your message to vendethiel.
DrForr eli-se: What VM are you experimenting with, incidentally? (if you don't mind, of course) 12:05
eli-se custom
DrForr Righto, just curious. THe grammar I'm working on is a frontend to a VM as well, so similar paths &c. 12:06
Okay, food.
Ulti .tell japhb let me know if there is anything I can do to make this worthy of perl-bench github.com/japhb/perl6-bench/pull/23 12:07
yoleaux Ulti: I'll pass your message to japhb.
12:12 mr-foobar left
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)
camelia rakudo-moar 20ffd3: OUTPUT«42␤»
moritz m: sub f(int $ where 0) { 42 }; say f 0 12:14
camelia rakudo-moar 20ffd3: OUTPUT«42␤»
FROGGS jnthn: I really need inlineable CStructs... I am binding a C++ lib right now and have to duplicate attributes which sucks... 12:15
12:15 Perl6_newbee joined
eli-se My compiler is written in Perl 5, but GitHub thinks it's Perl 6. 12:15
That must be really good Perl 5 code!
FROGGS eli-se: do you use Moose or something? 12:16
eli-se not at all
FROGGS hmmm
I'd guessed it spots some P6ish keywords
12:19 sqirrel_ joined, tinyblak_ left
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:20
12:22 mr-foobar joined
eli-se Name your files .cpp and .hpp instead of .c and .h 12:22
and stop using malloc and free :p
psch m: say 1i 12:27
camelia rakudo-moar 20ffd3: OUTPUT«0+1i␤»
psch j: say 1i
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␤␤»
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 virtualsue left
marisa__ Yeah, me too. 12:29
12:29 molaf_ joined
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:29
but that's fine since the GC will call the finalizers 12:30
12:32 molaf left
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:35
timotimo o/ 12:39
12:39 telex left
geekosaur nine_, as an ex-database type, I shudder at expanding placeholders inline like that 12:40
12:40 telex joined
nine_ geekosaur: why exactly? 12:40
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?
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?
timotimo nine_: may i suggest ('?' xx @values).join(', ') instead of mapping? 12:42
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
timotimo: that's indeed much prettier
geekosaur oh, I misundersgood what you were trying to say witht hat map
timotimo not being able to '?, ' xx @values is annoying 12:44
we already have % in regexes ...
geekosaur (and as a haskeller I think map('?') meaning map(\_ -> '?') is bad too :p )
12:45 larion joined
timotimo i don't get it, geekosaur 12:46
vendethiel o/ eli-se
yoleaux 12:02Z <eli-se> vendethiel: hello world works!
vendethiel nice
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:48
vendethiel m: sub const($val) { -> |c { $val } }; say map(const('hey'), <a b c d>); 12:50
camelia rakudo-moar 20ffd3: OUTPUT«hey hey hey hey␤»
eli-se what is |c? 12:51
moritz caputre all the arguments 12:52
12:53 tinyblak joined
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)␤»
psch ^^^ that's behind a few dozend spectest failures on jvm 12:56
m: sub f(Num() $a) { say $a.WHAT }; sub g(Num() \a) { say a.WHAT }; f 1; g 1
camelia rakudo-moar 20ffd3: OUTPUT«(Num)␤(Num)␤»
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' } }…»
DrForr m: grammar G { token TOP { <?> } }; class A { method TOP($/) { say 'here' } }; my $v-foo = A.new; G.parse('',:$v-foo)
camelia ( no output )
psch DrForr: :$actions is shorthand for actions => $actions
13:01 koo6 left 13:02 eli-se left
DrForr I understand that from reading the docs. But the shorthand notation there should still accept hyphenated variable names? 13:02
m: grammar G { token TOP { <?> } }; class A { method TOP($/) { say 'here' } }; my $v-foo = A.new; G.parse('',actions => $v-foo)
camelia rakudo-moar 20ffd3: OUTPUT«here␤»
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)
camelia ( no output )
psch m: sub f(*%_) { %_.perl.say }; my $a = "a"; say f :$a
camelia rakudo-moar 20ffd3: OUTPUT«("a" => "a").hash␤True␤»
psch m: sub f(*%_) { %_.perl.say }; my $b = "a"; say f :$b
camelia rakudo-moar 20ffd3: OUTPUT«("b" => "a").hash␤True␤»
psch DrForr: methods have an implicit slurpy hash for named arguments, to provide interface consistency design.perl6.org/S12.html#Interface_Consistency 13:04
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
camelia rakudo-moar 20ffd3: OUTPUT«"actions" => "foo"␤"v-foo" => "bar"␤»
psch DrForr: doc.perl6.org/type/Pair
DrForr It's also not failing on the version the channel 'bot is on. Hrming. 13:06
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…»
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)
camelia rakudo-moar 20ffd3: OUTPUT«action!␤but: ␤(Any)␤but: v-foo uh, what?␤»
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.
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:09
that is, the shortest colonpair notation — :actions($v-foo) still works of course 13:10
13:11 sqirrel_ left
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:11
Right. Back to work then. 13:12
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 kjs_ left
timotimo jnthn: i told him the same thing :D 13:15
jnthn Oh
I'm still catching up :)
timotimo is just proud of himself for catching that
13:18 anaeem1 joined 13:19 anaeem1 left, anaeem1 joined 13:21 diana_olhovik_ joined 13:23 anaeem1 left 13:27 skids joined 13:28 eli-se joined 13:35 zakharyas joined 13:40 espadrine joined 13:45 xfix left 13:52 xfix joined, Rounin left 13:53 rurban_ left
jnthn airport, flight, etc. & 13:54
timotimo bon voyage
13:54 C0rruptor joined 13:58 larion left 13:59 atroxaper joined
masak hello, #perl6... 14:01
...FROM A TRAIN \o/
atroxaper hello, #perl6 ! 14:02
masak: o/
masak atroxaper: \o
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/
timotimo that'd be <-[*/]>
you're looking for a "negated character class"
14:05 larion joined, sirdancealot joined
atroxaper '/*' <-[*/]>* '*/' is not work for /* * */ 14:05
14:06 aborazmeh joined, aborazmeh left, aborazmeh joined, xfix left
atroxaper timotimo: i want to negated sequens of two characters. 14:07
timotimo oh
skids atroxaper: you can use <!before> but there may be a better way.
timotimo so more like a negative lookahead?
yeah, <!before ...> would do it
14:08 BenGoldberg joined
atroxaper Hm. Let's try... 14:08
14:10 rurban left 14:11 aborazmeh left
atroxaper Does before get only one previous pointer or all which precede him? 14:18
Oh.... Forget it))
skids m: '/*aaa*/' ~~ m/ '/*' ~ '*/' (a*) /; $/.gist.say
camelia rakudo-moar 20ffd3: OUTPUT«「/*aaa*/」␤ 0 => 「aaa」␤»
14:19 FROGGS[tab] joined
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␤␤»
psch i really dislike that about regex ~
atroxaper skids: What is '~' ? 14:20
skids It should be sugar for nested parens.
But -- it seems to have a coupld issues right now. 14:21
masak agreed.
psch: so, it backtracked, and then the whole match threw an exception?
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:22
psch masak: my example is flawed, i think. needs a quantifier behind . 14:24
m: say '/* * */' ~~ m/ '/*' ~ '*/' .+/;
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␤␤»
masak it fails regardless, so I don't see why you'd need to add the '+'
psch but that probably should work, but doesn't. i'd guess that it doesn't backtrack when it should?
masak the problem is that the '.' causes the '~' to backtrack.
skids m: '/* * */' ~~ m/:dba('foo') '/*' ~ '*/' .+/;
masak and then the '~' fails, not by failing the match, but by throwing.
camelia ( no output )
psch yeah, throwing happens in FAILGOAL iirc 14:25
atroxaper I still don't know how parse C style comment like /**/ /* */ /* bb */ /* bb b */ /***/ 14:27
Can you help me?
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␤␤»
psch m: say '/* * */' ~~ m/ '/*' <!before '*/'> . '*/' / 14:29
camelia rakudo-moar 20ffd3: OUTPUT«False␤»
masak m: $_ ~~ /'/*' ([<!before '*/> .]*) '*/' / and say ~$0 for '/**/', '/* */', '/* bb */', '/* bb b */', '/***/'
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 '/**/', '/* */', '/…»
psch m: say '/* * */' ~~ m/ '/*' <!before '*/'> .+ '*/' /
camelia rakudo-moar 20ffd3: OUTPUT«「/* * */」␤»
masak m: $_ ~~ /'/*' ([<!before '*/'> .]*) '*/' / and say ~$0 for '/**/', '/* */', '/* bb */', '/* bb b */', '/***/'
camelia rakudo-moar 20ffd3: OUTPUT«␤ ␤ bb ␤ bb b ␤*␤»
masak atroxaper: ^^
atroxaper masak: WOW! I have to parse your regex :) 14:30
Thank you all!
masak it uses negative lookahead.
which means "make sure we're not at a '*/'"
m: /'/*' ([<!before '*/'> .]*) '*/' / and say ~$0 for '/**/', '/* */', '/* bb */', '/* bb b */', '/***/' 14:31
camelia rakudo-moar 20ffd3: OUTPUT«␤ ␤ bb ␤ bb b ␤*␤»
masak shorter :)
flussence (how hard would it be to programmatically get an AST of of a regex?)
14:31 virtualsue joined
masak flussence: check out jnthn's Grammar::Generative 14:32
flussence ooh, will do
grondilu ~ should work though, why doesn't it?
('/*' ~ '*/' .*) I mean
skids wonders why :dba keeps the exception from happening above
flussence ISTR something a few weeks ago where declarative regexes were misbehaving but making them procedural made them work fine... 14:33
atroxaper masak: Why we need . it the regex? 14:34
psch m: say '/* */' ~~ m/ '/*' ~ '*/' ./
camelia rakudo-moar 20ffd3: OUTPUT«「/* */」␤»
masak atroxaper: because <!before ...> is a zero-width match and you need to progress the match somehow.
atroxaper: the '.' means "grab one more character"
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
masak ok 14:35
skids Oh the :dba must just be making it fail always.
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.
psch m: say '/* */' ~~ m/ '/*' ~ '*/' ...?/
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␤␤»
masak psch: but, submit rakudobugs at will, I guess ;) 14:36
atroxaper masak: oh. I see :)
flussence also, I have a hunch that fixing that would fix github.com/jnthn/grammar-debugger/issues/13
psch masak: RT #68854 looks quite comprehensive, at a glance 14:37
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=68854
psch oh, but it's resolved
hm
m: say '/* */' ~~ rule { '/*' ~ '*/' ...? } 14:38
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␤␤»
psch shrugs
i have jvm binder to fix :s
*a
14:40 xfix joined
masak yeah, that seems related. 14:44
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
which makes it a bit less useful than i personally would like it to be 14:47
timotimo m: say '/* */' ~~ rule { '/*' ~ '*/' .+? }
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␤␤»
timotimo also, i believe you need to put parens around "...?"
m: say '/* */' ~~ rule { '/*' ~ '*/' [...?] }
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␤␤»
timotimo m: say '/* */' ~~ rule { '/*' ~ '*/' [..] }
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␤␤»
timotimo oh?
psch huh?
timotimo m: say '/* */' ~~ regex { '/*' ~ '*/' [..] }
camelia rakudo-moar 20ffd3: OUTPUT«「/* */」␤»
timotimo sigspace 14:48
psch ah right
14:48 rurban joined
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␤␤»
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.
psch yeah, but the .? doesn't get unmatched
timotimo aye
15:05 bbkr joined
bbkr moar: use Test; sub foo { my @a; return @a;}; is foo, Nil 15:06
r: use Test; sub foo { my @a; return @a;}; is foo, Nil
camelia rakudo-moar 20ffd3: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/tmpfile line 1␤# expected: (Nil)␤# got: ''␤»
dalek kudo-star-daily: 5a9f7da | coke++ | log/ (9 files):
today (automated commit)
rl6-roast-data: bf55012 | coke++ | / (9 files):
today (automated commit)
timotimo bbkr: "is" uses string comparison 15:08
bbkr i see that it changed between 2015.02 and 2015.03, on 2015.02 this test passes 15:09
15:10 [Coke] joined
timotimo oh 15:11
15:12 zakharyas left
jnthn Note that a ~ b c is *not* defined as syntax sugar for a c b 15:12
If that's all it did, it'd not really be worth it.
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
r: use Test; sub foo { my @a; return |@a;}; is foo, Nil
camelia rakudo-moar 20ffd3: OUTPUT«ok 1 - ␤»
jnthn bbkr: I think "is" got stricter around type object-y things 15:14
bbkr: It used to just stringify them to empty
So an empty array would probably have matched any type object, not just Nil, before
timotimo aye 15:15
jnthn: are you just on the airport or have wifi on the plane?
jnthn Airport
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
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"
camelia rakudo-moar 20ffd3: OUTPUT«used to be 2359603, now is 2395358, that's a reduction to 0.98507321% for nqp␤»
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.
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"
camelia rakudo-moar 20ffd3: OUTPUT«used to be 47547366, now is 46871722, that's a reduction to 0.985790086% for rakudo␤»
15:19 rmgk is now known as Guest61564, rmgk_ joined, Guest61564 left, rmgk_ is now known as rmgk
jnthn timotimo: What's the measurement for? :) 15:19
timotimo not such a gigantic win
turning "mov TMP6, TC; mov ARG1, TMP6" into just "mov ARG1, TC" 15:20
if the first argument to a c function with TC as first arg into just that
jnthn It's > 1% in both cases
timotimo yeah
jnthn That is quite big for saving instructions :)
timotimo that's bytes 15:21
[Coke] anyone know what happened to hack this time?
jnthn timotimo: oh, not time...
timotimo nope
very much not so :)
jnthn Still, worth saving the memory and it will have to make things a little faster 15:22
callgrind gives exact instruction counts.
timotimo fair enough
jnthn Suspect it's another thing that the exprcomp thingy brrt++ will hopefully work on this summer will make easier. 15:24
dalek kudo/nom: 1f7f691 | peschwa++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
Correct an error in the Binder.

Previously «sub f(Num() \a) { a.WHAT.say }; f 5» would print «(Int)», because the R-J Binder didn't pass the coerced value but the original value to the CallFrame. With this patch we correctly print «(Num)».
15:27
jnthn psch++
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
timotimo with my limited ability to come up with super cool optimizations, i'm turning to smaller and smaller straws :P 15:29
15:31 eli-se left 15:33 marisa__ is now known as lolisa, atroxaper left 15:34 rurban left
jnthn bawdin thyme... & 15:37
15:38 spider-mario left, aborazmeh joined, aborazmeh left, aborazmeh joined 15:39 eli-se joined
timotimo Stage parse : 903.469 15:40
wowza
15:43 aborazmeh left, espadrine left
psch heh 15:45
m: say uniname -1
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␤␤»
psch eventually... :) 15:46
timotimo hehe.
jdv79 do the JSON::Jansson tests fail for anyone else on current 15:48
timotimo 137,308,341,032 instructions for stage parse 15:51
masak psch: that's an LTA error message. please submit rakudobug 15:55
psch masak: i'm not sure it's not a moar issue 15:57
MVM_unicode_get_name doesn't expect an adhoc throw, but MVM_codepoint_to_row_index throws one
the nqp or rakudo layers don't really seem involved, from my POV 15:58
but i don't know how to fix it offhand, and it probably shouldn't get lost... 15:59
16:00 gfldex joined
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
not exactly sure if we use java's built-in multi-prec math? 16:01
masak psch: I'd say it's a rakudobug even if it turns out to be a moar issue. 16:03
psch #124144 16:05
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124144
masak psch++
flussence m: my bit $a = 2; 16:12
camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤Invalid int size for local/lexical␤»
flussence m: my bit $a = 1;
camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤Invalid int size for local/lexical␤»
flussence oh, lemme guess...
16:12 eli-se left
flussence m: my bit @a = [0,1].pick xx 8; 16:12
camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤MVMArray: Unsupported uint size␤»
psch m: my bit $x 16:13
camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤Invalid int size for local/lexical␤»
flussence shrugs
psch m: my int1 $x
camelia rakudo-moar 1f7f69: OUTPUT«===SORRY!===␤Invalid int size for local/lexical␤»
16:13 C0rruptor left
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%␤»
timotimo er, not % of course 16:20
m: say 0.9986396684562 * 100
camelia rakudo-moar 1f7f69: OUTPUT«99.86396684562␤»
timotimo m: say 100 - 0.9986396684562 * 100
camelia rakudo-moar 1f7f69: OUTPUT«0.13603315438␤»
timotimo less than 1% instruction count change
flussence small things like that can compound on each other though :) 16:21
timotimo well ... only if i do more improvement like that
16:23 sirdancealot is now known as sirsleepalot 16:25 azawawi joined
azawawi hi 16:25
timotimo heyo azawawi! 16:26
long time no sea :)
16:27 eli-se joined
azawawi im back :) 16:28
masak azawawi! \o/
azawawi is now testing farabi6 on win32 and linux :) 16:29
masak .oO( 好久不海了 ) :P
16:30 mr-foobar left
azawawi is there something like __FILE__ in Perl 6? 16:31
flussence $?FILE ?
azawawi takes a look
16:31 mr-foobar joined
flussence same pattern goes for $?LINE, $?CLASS and &?ROUTINE 16:32
m: say $?FILE, $?LINE, $?CLASS, &?ROUTINE
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␤»
flussence m: say $?FILE, $?LINE, &?ROUTINE
camelia rakudo-moar 1f7f69: OUTPUT«5===SORRY!5=== Error while compiling /tmp/STXMoOcQMD␤Undeclared routine:␤ &?ROUTINE used at line 1␤␤»
flussence m: say $?FILE, $?LINE
camelia rakudo-moar 1f7f69: OUTPUT«/tmp/aoAJJIWMJr1␤»
flussence m: sub r { say &?ROUTINE }; r 16:33
camelia rakudo-moar 1f7f69: OUTPUT«sub r () { #`(Sub|52752312) ... }␤»
azawawi flussence: thx :) 16:35
flussence++
nice bug under win32... $*SPEC.catdir($*SPEC.splitdir("C:\\rakudo")) -> C:rakudo # lol 16:36
m: $*SPEC.catdir($*SPEC.splitdir("C:\\rakudo")) 16:37
camelia ( no output )
azawawi m: say $*SPEC.catdir($*SPEC.splitdir("C:\\rakudo"))
camelia rakudo-moar 1f7f69: OUTPUT«C:\rakudo␤»
16:39 xfix left 16:42 eli-se left
timotimo azawawi: the thing is, $*SPEC is IO::Spec::UNIX on the bot :) 16:49
or not?
i'm not sure
psch m: say $*SPEC.WHAT
camelia rakudo-moar 1f7f69: OUTPUT«(IO::Spec::Unix)␤»
psch doesn't $*SPEC go away eventually? 16:50
16:51 C0rruptor joined
azawawi timotimo: i noticed 16:51
FROGGS psch: lizmat said that, aye
err, lizmat++
16:58 raiph joined 17:01 diana_olhovik_ left
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 17:06 bbkr left
psch m: say uniprop("⅚", "Width") 17:09
camelia rakudo-moar 1f7f69: OUTPUT«0␤»
psch m: say uniprop("⅚", "Script") 17:10
camelia rakudo-moar 1f7f69: OUTPUT«Common␤»
psch m: say uniprop("⅚", "Block") 17:11
camelia rakudo-moar 1f7f69: OUTPUT«Number Forms␤»
17:12 eli-se joined
psch well, porting uniname to r-j was easy, but uniprop looks like a few giant switch/case statements 17:12
oh, but it's giant switch/case statements in moar too, so that's apparently a good way to implement it 17:13
17:13 anaeem1_ joined 17:17 sqirrel_ joined
[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
www.meetup.com/The-New-York-Perl-Me...221319780/
dalek kudo/union: bf6b7e8 | FROGGS++ | lib/NativeCall.pm:
allow to pass CUnions as arguments
17:20
kudo/union: bc3cd64 | FROGGS++ | t/04-nativecall/13-union. (2 files):
make CUnion tests endian-unaware
timotimo psch: at least make sure you generate the switch/case statements :3 17:23
psch m: say uniprop("A", "Block") 17:27
camelia rakudo-moar 1f7f69: OUTPUT«Basic Latin␤»
psch that bit is gonna be fun
apparently a Java UnicodeBlock doesn't know its name, they're just stored as constants named after an approximation of the official block name
which means that'll be another huge switch/case statements :/ 17:28
ugh
but it can't be a switch/case cause they don't work on object identity iirc
so it's «UnicodeBlock blk = UnicodeBlock.of(codePoint); if( blk == UncodeBlock.BASIC_LATIN ) { return "Basic Latin" } ...» or somesuch 17:29
17:31 grondilu left
psch timotimo: i think i first need to understand this whole unicode business a bit better 17:38
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, nige left 17:43 Perl6_newbee left 17:46 nige joined
azawawi how can an installed Perl 6 module know whether it is installed under site/lib or lib? 17:47
avar Isn't there a __FILE__ (IIRC it's $*FILE) that gives you the full path like in perl 5? 17:52
raiph azawawi: does design.perl6.org/S22.html#%25%3FRESOURCE look like the right design doc? 17:54
azawawi raiph: hmmm looks good
raiph m: say %?RESOURCE
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␤»
itz m: say $?FILE 17:55
camelia rakudo-moar 1f7f69: OUTPUT«/tmp/FEv31Oazbc␤»
itz m: say $?CLASS
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 sqirrel_ left
itz m: say $?PACKAGE 17:55
camelia rakudo-moar 1f7f69: OUTPUT«(GLOBAL)␤»
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?
azawawi psch: nope
raiph azawawi: see also irclog.perlgeek.de/perl6/2015-03-03#i_10213360 17:59
azawawi psch: returns lib/MyModule.pm when run from the command line
raiph: thx for sharing that discussion 18:00
psch eww 18:03
precomp behavior of $?FILE seems rather weird
gist.github.com/peschwa/19dd88befeeeca0300a0 18:04
i.e. precomped $?FILE has the relative path from where the precomp process was invoked
but without precomp it's an absolute path 18:05
(at least that's assuming my data is sufficient, which it might not be)
dalek href="https://perl6.org:">perl6.org: d893300 | moritz++ | source/compilers/index.html:
Remove Parrot fossil
psch (for one, i'm running on -j) 18:06
18:08 xfix joined
azawawi timotimo: ping 18:12
timotimo pong
azawawi timotimo: please check whether the last patch fixes the bug or not on your OSX (aka github.com/azawawi/farabi6/issues/49) 18:13
timotimo under callgrind, the setting compilation valgrind gets segfaulted :(
azawawi no perl6 under OSX? 18:14
timotimo i don't have osx at all
azawawi lol 18:15
but you have it installed under ~/perl6 right?
pecastro azawawi: I think I can confirm exactly the same thing. Panda started installing things under share/ and now ... 18:16
[pecastro@brutalix rakudo3]$ farabi6
timotimo yes, ~/perl6/install
pecastro Switching to panda-installed farabi6
farabi.js is not found in /home/pecastro/perl6/rakudo3/install/languages/perl6/site/lib/Farabi6/files/assets
Friday farabi install via panda worked fine ... 18:17
azawawi pecastro: i see
dalek p: a7acff6 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Remove tabs, fix indentation.
p: e45d8de | peschwa++ | src/vm/jvm/ (2 files):
Implement nqp::getuniname for the JVM backend.
azawawi pecastro: where is farabi.js in your machine btw ?
dalek kudo/nom: 49f1dd0 | peschwa++ | tools/build/NQP_REVISION:
Bump NQP_REVISION
kudo/nom: 5e6ba8d | peschwa++ | src/core/Str.pm:
Use nqp::getuniname on JVM
kudo/nom: 5778e86 | peschwa++ | t/spectest.data:
Enable S15-unicode-information/uniname.t for JVM.
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 ast: 71a4a94 | peschwa++ | S06-signature/errors.t:
Fudge a test for R-J that relies on &unival.
ast: 4ecfcdd | peschwa++ | S02-types/native.t:
Unfudge now passing tests.
ast: 5106aa1 | peschwa++ | S15-unicode-information/uniname.t:
Fudge for rakudo in general, not just rakudo.moar.
azawawi timotimo: take your time :)
timotimo i'll take my timo :P
pecastro azawawi: /home/pecastro/perl6/rakudo3/install/share/perl6/site/lib/Farabi6/files/assets/farabi.js 18:19
azawawi pecastro: true the same here on my lubuntu vm
pecastro I'm on linux.
18:20 lolisa left
azawawi pecastro: did you 'panda install Farabi6' now? 18:20
pecastro: since i just fixed it
timotimo i guess i'll run setting compilation under valgrind's memory checker
to see what i'm doing stupid
azawawi pecastro: s/since/because/ 18:21
timotimo d'oh 18:23
Stage parse : --26561-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) - exiting
azawawi pecastro: ? 18:25
psch # expected: 'alpha:a|ident:a' 18:27
# got: 'ident:a|alpha:a'
grrml
18:29 nige left 18:30 larion left, larion joined
psch m: say ("a" ~~ m/<alpha> && <ident>/).caps 18:35
camelia rakudo-moar 1f7f69: OUTPUT«alpha => 「a」 ident => 「a」␤»
psch j: say ("a" ~~ m/<alpha> && <ident>/).caps
camelia rakudo-jvm 1f7f69: OUTPUT«ident => 「a」 alpha => 「a」␤»
psch j: say ("a" ~~ m/<alpha> && <ident>/)>>.from
camelia rakudo-jvm 1f7f69: OUTPUT«0␤»
psch m: say ("a" ~~ m/<alpha> && <ident>/){*}>>.from 18:36
camelia rakudo-moar 1f7f69: OUTPUT«0 0␤»
arnsholt psch: That definitely sounds like a bug in the testing module, rather than the tested code
psch arnsholt: no, .caps is underspecified 18:38
raydiak j: say $*VM.config<dll>
psch design.perl6.org/S05.html#line_3143
camelia rakudo-jvm 1f7f69: OUTPUT«(Any)␤»
raydiak j: say $*VM.config
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 -…»
psch it sorts by .from, but doesn't specify what else if .from is equal
arnsholt: that's not to say that the test could catch it, but it shouldn't have to, because .caps returns Positional
*not say the test could*n't* 18:39
raydiak j: say $*VM.keys
camelia rakudo-jvm 1f7f69: OUTPUT«0␤»
psch (also s/underspecified/underspeculated/)
dalek ast: 8ae0b90 | usev6++ | S03-operators/arith.t:
Refer to RT #85750 for failing test on NetBSD

also fudge test as 'todo' and add some references
18:42
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=85750
raydiak j: say $*VM.config.keys
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␤»
azawawi any idea how to get the canonical path of any filesystem path in Perl 6? 18:43
timotimo meh. asan doesn't spot anything :( 18:44
what is "&&"? i only know & (inside regex) 18:45
18:45 kjs_ joined
psch timotimo: i think && is to & as || is to | 18:46
timotimo i didn't know & did any sort of STM-like thing ?!
psch arnsholt: i mean, i agree that the test is operating on bad assumptions, but it shows an issue that actually matters 18:47
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
arnsholt: because the order before sorting can be different, because named captures are stored in a hash by key
timotimo: design.perl6.org/S05.html#line_828 18:50
azawawi m: IO::Path.new($*SPEC.catdir('C:\\rakudo\\languages', '..', '..')).absolute
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␤␤»
azawawi $*SPEC.catdir('C:\\rakudo\\languages', '..', '..').path 18:51
m: $*SPEC.catdir('C:\\rakudo\\languages', '..', '..').path
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…»
azawawi m: $*SPEC.catdir('C:\\rakudo\\languages', '..', '..').path.absolute
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…»
azawawi m: say $*SPEC.catdir('C:\\rakudo\\languages', '..', '..').path.absolute
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 …»
FROGGS azawawi: can you do that in privmsg to camelia? 18:52
azawawi FROGGS: sorry about the noise
FROGGS np
timotimo ah, interesting. thank you ,ps
, psch
FROGGS I also did not know that && is a thing 18:53
dalek kudo/union: 6ce6405 | FROGGS++ | t/04-nativecall/13-union.t:
test the sizeof of CUnions
18:54
18:58 kjs_ left
psch .oO( and now to show that maybe it's even moar that's wrong! ) 18:59
m: say ("a" ~~ m/<alpha> && <ident>/).caps; say ("a" ~~ m/<ident> && <alpha>/).caps
camelia rakudo-moar 5778e8: OUTPUT«alpha => 「a」 ident => 「a」␤ident => 「a」 alpha => 「a」␤»
psch j: say ("a" ~~ m/<alpha> && <ident>/).caps; say ("a" ~~ m/<ident> && <alpha>/).caps
camelia rakudo-jvm 5778e8: OUTPUT«ident => 「a」 alpha => 「a」␤ident => 「a」 alpha => 「a」␤»
19:00 azawawi left
dalek ast: 6b4f3e3 | (Steve Mynott)++ | S03-operators/arith.t:
update RT#
19:04
19:05 Mouq joined 19:22 colomon joined
itz hmmm RT really is a bit rubbish compared with github comments 19:27
jnthn evening o/ 19:29
FROGGS hi jnthn 19:30
jnthn: what are your feelings about passing and returning structs and unions would always mean struct* and union*? 19:33
jnthn: so that that only attributes would be different, and would default to inline
19:34 lichtkind joined
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.
FROGGS though, defaulting to inlining is easier to implement
jnthn That or we find a way to make scope decls extensible so NativeCall can export another one :P 19:38
FROGGS hmmm
jnthn Yes, easier to implement at the cost of having to put Pointer[...] all over the place in code :)
FROGGS I'm not sure about that scope idea :o)
true
jnthn Me either; has already puns on things :)
19:39 darutoko left
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
as I remember it, anyways 19:40
FROGGS I... don't get the connection
ahh, maybe I do
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:41
19:42 kjs_ joined
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
k
psch m: say ("a" ~~ /(.) | ./); say ("a" ~~ /(.) & ./) 19:43
camelia rakudo-moar 5778e8: OUTPUT«「a」␤ 0 => 「a」␤「a」␤ => 「a」␤»
psch the mysterious case of the disappearing 0
FROGGS O.o
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"
21 Mar 2015 10:04Z <lizmat> Mouq: these are the hanging tests: github.com/perl6/roast/commit/50d2fcb659
camelia rakudo-moar 5778e8: OUTPUT«「a」␤ => 「a」␤»
psch nothing up my sleeve!
FROGGS m: say ("a" ~~ /(.) | ./); $/ := Nil; say ("a" ~~ /(.) & ./)
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␤␤»
Mouq lizmat++, Mouq--
FROGGS m: say ("a" ~~ /(.) | ./); $/ = Nil; say ("a" ~~ /(.) & ./)
camelia rakudo-moar 5778e8: OUTPUT«「a」␤ 0 => 「a」␤「a」␤ => 「a」␤»
dalek kudo/nom: f5efb7d | TimToady++ | src/ (3 files):
improve errors on anon multi/proto
psch that kind of threw a wrench in my attempt to make .caps more reliable 19:45
m: say (" a" ~~ /(.) | ./); say (" a" ~~ /(.) & ./)
camelia rakudo-moar 5778e8: OUTPUT«「 」␤ 0 => 「 」␤「 」␤ => 「 」␤»
jnthn psch: At a guess, the code generated for the & stuff could be mis-managing the cstack
I forget how on earth & is compiled, but it does involve some trickery with the marks.
psch (i wanted \w there...)
m: say (" a" ~~ /(\w) | \w/); say (" a" ~~ /(\w) & \w/)
moritz www running again
camelia rakudo-moar 5778e8: OUTPUT«「a」␤ 0 => 「a」␤「a」␤ => 「a」␤» 19:46
pecastro azawawi Works fine again! ;)
psch jnthn: okay. the regex match code isn't for me, though. i'll RT it
FROGGS moritz++
psch m: say ("a" ~~ /(.) && ./) 19:47
camelia rakudo-moar 5778e8: OUTPUT«「a」␤ => 「a」␤»
psch oh hmm 19:48
i forgot to tag the uniname bug with [BUG]
jnthn There's a uniname bug? 19:51
psch m: say uniname -1
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
jnthn Ah 19:51
That's probably alluding to "should implement NFG eventually" :) 19:52
psch jnthn: MVM_codepoint_to_row_index throws on codepoint < 0
jnthn: other functions return -1, which is what MVM_unicode_get_name expects 19:53
jnthn Ah
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++
(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.
Anyway, will look at it while working on NFG.
19:55 anaeem1_ left 19:56 anaeem1_ joined 19:57 kaare_ left
psch oh 19:58
.caps isn't actually spec'd to work with overlapping captures
19:59 anaeem1_ left
psch hm, not sure i understand this properly 19:59
19:59 anaeem1 joined, rindolf left
moritz PSA: I'm now setting up a new host, irc.p6c.org 20:01
for IRC usage only 20:02
so that people don't lose their precious IRC sessions when hack goes down
(and this is meant to be a temporary hack, until the stability issues have been addressed
)
psch j: say uniname -1 20:03
camelia rakudo-jvm 5778e8: OUTPUT«<illegal>␤»
psch j: say uniname 0x30000 20:04
camelia rakudo-jvm 5778e8: OUTPUT«<unassigned>␤»
psch m: say uniname 0x30000
camelia rakudo-moar 5778e8: OUTPUT«<unassigned>␤»
moritz m: say uniname 0x999999999999
camelia rakudo-moar 5778e8: OUTPUT«should eventually be unreachable␤ in block <unit> at /tmp/6L2som3tZ3:1␤␤»
moritz m: say uniname 0x9999999999
camelia rakudo-moar 5778e8: OUTPUT«should eventually be unreachable␤ in block <unit> at /tmp/sSO86h5aoH:1␤␤»
moritz m: say uniname 0x99999999
camelia rakudo-moar 5778e8: OUTPUT«should eventually be unreachable␤ in block <unit> at /tmp/M1WrByZCtm:1␤␤»
moritz m: say uniname 0x999999
camelia rakudo-moar 5778e8: OUTPUT«<illegal>␤»
psch j: say uniname 0x999999999999 20:05
camelia rakudo-jvm 5778e8: OUTPUT«<illegal>␤»
20:05 kjs_ left
FROGGS would be nice to return Str instead of '<illegal>' me thinks 20:06
or Nil
Nil for <illegal> and Str for <unassigned> 20:07
:o)
psch FROGGS: the nqp ops return str currently 20:09
masak agree about Nil 20:10
not so sure about Str
20:10 kjs_ joined
psch although i don't think that uniname is hot enough to care about the boxing/create() 20:10
20:11 yqt joined 20:18 telex left
masak wonders what #perl6 will make of #124148 20:19
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124148
masak synopsebot: wow, you're fast!
20:20 telex joined
moritz ok, irc.p6c.org is now up and running 20:21
if you want an account, just tell me
it's meant for IRC sessions only, no Perl 6 hacking there
FROGGS yeah, that makes sense 20:22
moritz and only until the hack freezes stop
jnthn masak: If .perl is to consistenty order them then it should do a .sort on the keys 20:23
masak: Backends are free to do whatever they please on this issue. 20:24
(e.g. iteration order cannot be relied upon)
I'm fine with .perl doing a sort, in that it's intended as a debugging aid.
masak me too. 20:25
moritz +1 20:27
20:30 kjs_ left
FROGGS then .gist should sort also 20:30
20:35 nige joined
dalek kudo/nom: 31d6106 | Mouq++ | src/core/Complex.pm:
Let's get Real about this (fix Bridging to Complex). lizmat++

alternatively: "Not Cool, Mouq"
20:38
kudo/nom: c60565d | Mouq++ | src/ (3 files):
Merge branch 'nom' of github.com/rakudo/rakudo into nom
ast: 59876b1 | Mouq++ | S32-num/real-bridge.t:
Revert "Fudge hanging tests"

This reverts commit 50d2fcb6595d0540efae2737c52b4a6bd1db8c54.
masak m: my @board = ['.' xx 15] xx 15; 20:39
camelia ( no output )
20:39 virtualsue left
masak used to be that one did the wrong thing. but then infix:<xx> got awesome \o/ 20:40
one reason I love Perl 6 :>
20:41 diana_olhovik joined
FROGGS jnthn: I guess 'is inlined' might be ambiguous? or would that be okay? 20:48
20:50 [Sno] left, [Sno] joined
FROGGS I am trying that now in the union branch, we can rename later if necessary 20:50
jnthn FROGGS: Well, can try it that way first... 20:51
20:51 anaeem1 left
jnthn FROGGS: I think we'll need to look a little more carefully at this in the context of S09 also. 20:51
20:52 anaeem1_ joined
FROGGS jnthn: I've read parts of S09 right now... but I did not spot anything that might be connected to inlined 20:53
inlining*
20:55 kjs_ joined
psch & 20:56
FROGGS o/ psch
timotimo o/
masak o/ 20:57
FROGGS hmmm, I'm not sure this is doable with a trait :o( 21:04
21:05 gfldex left 21:06 jack_rabbit joined
FROGGS the representation containing the (not)inlined thing needs to know 21:06
hmmm 21:07
21:10 kjs_ left 21:13 diana_olhovik left
jnthn FROGGS: Yes, that's the "tied to the type" thing I was mentioning earlier... 21:15
21:15 Ven joined
FROGGS and now Pointer[thing] looks nice again :P 21:16
FROGGS .oO( Inlined[thing] ) 21:17
21:25 molaf_ left
timotimo i wouldn't mind having to write that 21:28
what will sized CArrays look like inside a CStruct?
(or union)
21:28 Rounin left
FROGGS has array $.thing[32] 21:29
timotimo mhh
k
21:30 raiph left 21:31 virtualsue joined 21:32 xfix left
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:35
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␤»
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 :3030
camelia rakudo-moar c60565: OUTPUT«(timeout)» 21:40
timotimo oh lord
farabi6's static file serving is SUPER slow now
eli-se Use Nginx or a CDN. 21:42
FROGGS Inlined[thing] is very wrong me thinks
timotimo eli-se: hosting stuff from localhost ... i don't think a CDN would do any better :D 21:43
21:44 FROGGS left 21:45 bjz left
hoelzro jnthn, FROGGS[mobile]: ok, I reduced it down to a Moar/NQP/Rakudo commit triple: 21:45
Rakudo: a593932 NQP: 6d19df1 MoarVM: c6e8df8 21:46
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
I'm a bit sad that it's not an NQP change, but maybe it will lead to a fix for the JVM
dalek kudo/nom: 561abb2 | raydiak++ | src/Perl6/ (2 files):
Support angle-quoted Rat literals e.g. <1/2>
21:48
kudo/nom: 9ed9dcc | raydiak++ | src/core/PairMap.pm:
Merge branch 'nom' into rat
kudo/nom: 854d4b4 | raydiak++ | / (8 files):
Merge branch 'nom' into rat
kudo/nom: af68137 | raydiak++ | src/Perl6/Actions.nqp:
Rat literal ast optimization Mouq++
kudo/nom: af6bd02 | Mouq++ | src/Perl6/ (2 files):
Merge pull request #392 from raydiak/rat

Angle-quoted Rat literals
hoelzro btw, I updated my R* docker image for the 2015.03 release: registry.hub.docker.com/u/hoelzro/rakudo-star/ 21:49
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:50 larion left 21:51 FROGGS[tab] left
jnthn hoelzro: Thing is, I did (afaik) port those changes to JVM too 21:52
hoelzro: Feel free to compare the two for anything I missed
hoelzro ah ha
21:52 diana_olhovik joined
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 21:56 nsharrok left, nsharrok joined 21:57 nsharrok left 21:58 larion joined, pecastro left 22:00 anaeem1_ left, anaeem1 joined 22:01 Ven left 22:03 nsharrok joined 22:05 anaeem1 left
nsharrok Does anyone know how to install Perl6 on windows IIS 8.5? 22:06
22:08 nige left 22:09 raiph joined 22:10 kjs_ joined 22:13 rurban left 22:15 davercc joined
masak nsharrok: have you tried the ordinary Windows installation instructions? 22:24
22:24 geever left
masak knows nothing about IIS 22:24
22:27 pecastro joined, diana_olhovik left 22:28 rurban joined
timotimo we do have a .msi file for last month's rakudo star already built and uploaded to rakudo.org 22:28
22:29 diana_olhovik_ joined 22:33 yqt left
virtualsue groups.perlists.pm/sympa/arc/londo...00013.html # that itz guy again 22:34
22:38 lnr joined 22:40 rurban left, kjs_ left
Mouq should probably at least sign up for the ABE.pm mailing list 22:42
22:45 kaare_ joined 22:48 coffee` left 22:52 larion left, StrykerKKD joined 23:02 diana_olhovik_ left
masak 'night, #perl6 23:03
Mouq 'night masak :) 23:05
23:06 rurban joined 23:09 larion joined 23:14 larion left 23:16 kurahaupo joined 23:17 kurahaupo left, kurahaupo joined
timotimo virtualsue: "getting to see a part of the solar eclipse" is the whole reason you'd even bother, isn't it? :) 23:22
nsharrok Does anyone know how to get a handler mapping for rukudo star in IIS 8.5 working? 23:23
eli-se FROGGS[mobile]: I'm also playing with some C++ ABI fun now: coliru.stacked-crooked.com/a/e6ea838549029857 :p 23:30
23:44 StrykerKKD left 23:46 aindilis left 23:47 anaeem1 joined 23:48 gcole left, larion joined 23:52 rurban left, larion left, anaeem1 left