Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-10-20

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 k1lldash9 joined #perl6
00:01 k1lldash9 hi there
00:01 Mouq hello
00:02 k1lldash9 any recommendtations to the best "distro" to attempt perl 6 on?
00:02 k1lldash9 I mainly use centos 6
00:03 k1lldash9 I am very curious to see it!
00:03 timotimo if you're on linux, it's easy enough to build stuff for yourself if your distro doesn't have up-to-date packages for you
00:03 k1lldash9 ahh okay, I wasn't sure if there were maybe glibc or gcc dependencies that I may not have on cent 6
00:04 timotimo you could just build a java rakudo and not need gcc at all :)
00:04 k1lldash9 ahh okay, that makes sense :)
00:04 timotimo but you will need a java that's new enough to have invokedynamic and that stuff, i think that's java 7?
00:04 k1lldash9 I do have java 7
00:05 k1lldash9 guessing if you can do that.. you could then run it under Windows, yeah?
00:05 k1lldash9 (not that I want to, just curious)
00:06 timotimo great. all you need in that case is a clone of github.com/rakudo/rakudo and run ConfigureJVM.pl - i *think* it will give you the option to run --gen-nqp for java as well, though if it won't, just get a checkout of github.com/perl6/nqp in place and run ConfigureJVM.pl there, then "make all install"
00:06 timotimo (no need to sudo make install, it'll just install inside the checkout by default)
00:07 timotimo rakudo on jvm will give you terrible startup times, though :(
00:07 timotimo and you can use our evalbot to run snippets of code in here by starting lines with r:
00:08 timotimo r: "greetings kill -9".words.perl.say
00:08 camelia rakudo e55c66: OUTPUT«(signal SEGV)»
00:08 timotimo
00:08 timotimo r: say "hello?"
00:08 camelia rakudo e55c66: OUTPUT«hello?␤»
00:08 timotimo r: say "foo bar baz".words
00:08 camelia rakudo e55c66: OUTPUT«foo bar baz␤»
00:08 timotimo r: say "foo bar baz".words.perl
00:08 camelia rakudo e55c66: OUTPUT«("foo", "bar", "baz").list␤»
00:08 timotimo r: "foo bar baz".words.perl.say
00:08 camelia rakudo e55c66: OUTPUT«("foo", "bar", "baz").list␤»
00:08 timotimo r: "greetings kill -9".words.perl.say
00:08 camelia rakudo e55c66: OUTPUT«("greetings", "kill", "-9").list␤»
00:08 timotimo well, whatever that was didn't happen twice
00:09 jnthn Maybe got unlucky when it was part way through installing the latest build or something
00:12 k1lldash9 wow thanks for the input!
00:12 timotimo good sources for example code and things to try are rosettacode and the perl6 advent calendar
00:23 TimToady factored out common code on http://rosettacode.org/wiki/Zhang-Suen_thinning_algorithm#Perl_6
00:26 timotimo gather for 1..v-2 X 1..h-2 -> \y,\x { take y*h + x }  -  is this not the same without the gather and take?
00:30 dalek perl6-roast-data: f617131 | coke++ | perl6_pass_rates.csv:
00:30 dalek perl6-roast-data: today (automated commit)
00:30 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/f617131a40
00:30 sftp joined #perl6
00:35 lue TimToady: do I do 'perl6 zst.p6 FILE' or 'FILE > perl6 zst.p6' ? (I'm guessing the first one)
00:35 lue nvm, it just took a while to start :)
00:36 Mouq I like how http://rosettacode.org/wiki/Hofstadter_Q_sequence#Perl_6 has an OO version about the same size as all the other languages, and then it has this increadibly tiny, easier to understand, idiomatic solution
00:36 timotimo those methods for postcircumfix will no longer work, though
00:42 lue .oO(If only there were an antithesis to U+2588 FULL BLOCK for monospacing purposes, Timtoady's solution with " █" would align)
00:43 lue timotimo: wait, why wouldn't those multi methods work? Seem fine to me.
00:43 timotimo spec change
00:43 timotimo postcircumfix:<[ ]> is now a sub with multi dispatch rather than a method
00:43 timotimo i thought it got committed into nom alread
00:44 lue Why could it not simply be specified as a method though? Is it just more annoying to generate or something?
00:44 Mouq If so, S13 hasn't been updated: http://perlcabal.org/syn/S13.html#Type_Casting
00:45 Mouq (I don't think those pretty "@.[ **@slice ]" methods have been implemented anywhere though)
00:45 grondilu TimToady: why not 'constant DEBUG = True' instead of 'my $DEBUG = 1;'?
00:46 timotimo good point.
00:46 timotimo lue: all i know is that methods cannot easily be dispatched at compiletime, whereas subs can
00:47 jnthn Yeah, it's a performance thing, largely
00:47 jnthn Also consistency: postfixes are subs, so why not postcircumfixes?
00:47 jnthn But we really want the inlining for native arrays.
00:48 jnthn When somebody finally gets around to implementing them. ;)
00:49 TimToady don't use the csv file, use an image of the .# file
00:50 lue Oh. Too late :)
00:50 * lue hopes image wasn't meant in the .png sense
00:50 TimToady no, just ascii graphics
00:52 lue that's what I thought :)
00:54 lue actually, I did take the image, and not the csv file.
00:54 * lue is a couple minutes away from a fun gist :)
01:01 lue Incidentally, you can do the low bit/high bit thing with a couple of particular characters: https://gist.github.com/lue/7063531 (I only changed the output here, not the original file's .# usage)
01:04 TimToady unfortunately, FULL BLOCk is 0  :/
01:05 lue :( Not like it mattered, there's no guaranteed-same-width EMPTY BLOCK
01:07 jnthn Hah! Snowmen and comets! :P
01:07 TimToady okay, modified to use contant and avoid gather/take where list comprehension works
01:07 TimToady (still needs a "do" though)
01:08 TimToady tried ==> but it isn't a statement separator in rakudo yet
01:09 jnthn Will try and get to that during my upcoming vacation/hacking
01:09 jnthn 'cus I want to work on the parallelism aspects of ==> too
01:09 lue jnthn: annoyingly, the bits mean it has to be COMET SNOWMAN for low/high, instead of the right way 'round. But other than that, :)
01:09 jnthn I'm pretty sure the average comet has a lower temperature than the average snowman... :P
01:10 jnthn Been pondering what the API is for a ==> chain
01:10 geekosaur maybe they're measuring ISON :p
01:10 jnthn I'm wondering if we should do a Linq-ish thing where you use the type of the first thing to choose the monad or something...
01:11 jnthn So we can maybe do the observer pattern for reactive programming in a robuster way than I did in my YAPC::NA talk...
01:11 jnthn Wiring the subscriptions up with ==> I mean
01:12 jnthn In fact, I think it was that talk that motivated the change of ==> to a statement sep... :)
01:13 TimToady well, my motivation had nothing to do with that, and everything to do with statement-terminating right curly working as expected when ==> is on the next line
01:14 telex joined #perl6
01:14 TimToady and also just a general feeling that pipes should connect larger pieces than mere expressions
01:15 TimToady after all, they connect entire processes in shell programming
01:15 jnthn TimToady: Oh, I know that was the motivation for the fix, I just recalled it was me writing parens in a bunch of examples that were the trigger :)
01:15 TimToady and we want more control of scoping into the sides of feeds ops
01:16 TimToady ah, that may well be :)
01:16 jnthn It caught me out, so I'm happy to see that bit fixed
01:16 jnthn Just pondering the rest :)
01:17 jnthn Though, I've gotta catch a train at some point tomorrow, so maybe I should be pondering sleep... ))
01:17 jnthn 'night o/
01:18 TimToady if we need to make guarantees about external data structures are readable/writeable to one of the feed or the other
01:18 TimToady in order to preserve sanity, then we can do so
01:18 TimToady o/
01:18 TimToady *one side
01:32 ssutch joined #perl6
02:17 benabik joined #perl6
02:25 PZt joined #perl6
02:47 {amon} joined #perl6
03:08 REPLeffect joined #perl6
03:42 preflex joined #perl6
04:07 xinming joined #perl6
04:40 rindolf joined #perl6
04:46 [Coke] nqp-j: say(nqp::jvmeqaddr(Int,Num))
04:46 [Coke] camelia: help
04:46 camelia [Coke]: Usage: <(rakudo-jvm|nqp-jvm|star|pugs|nqp|std|niecza|rakudo|p5-to-p6|b|nqp-moarvm|nom|r|j|nqp-m|nqp-mvm|pnr|p6|nr|npr|n|perl6|rj|p56|prn|rn|r-j|r-jvm|p|rnp|nrp|rpn)(?^::\s) $perl6_program>
04:46 [Coke] nqp-jvm: say(nqp::jvmeqaddr(Int,Num))
04:46 camelia nqp-jvm: OUTPUT«1␤»
04:47 [Coke] .to jnthn : is this a bug? say(nqp::jvmeqaddr(Int,Num)) - returns true if they are both type objects, even if they aren't the same type
04:47 yoleaux [Coke]: I'll pass your message to jnthn.
05:12 diakopter :-)=-O
05:14 bruges joined #perl6
05:15 TimToady updated the OO solution for http://rosettacode.org/wiki/Hofstadter_Q_sequence#Perl_6
05:15 TimToady but the idiomatic solution *still* doesn't work under rakudo
05:18 Mouq r: my @Q = 1, 1, -> $a, $b { (state$n=1)++; @Q[$n-$a] + @Q[$n-$b] } ... *;
05:18 camelia rakudo e55c66: ( no output )
05:18 Mouq rakudo doesn't like recursive constants, it seems
05:19 Mouq r: my @Q = 1, 1, -> $a, $b { (state$n=1)++; @Q[$n-$a] + @Q[$n-$b] } ... *; @Q[^10].say
05:19 camelia rakudo e55c66: OUTPUT«1 1 2 3 3 4 5 5 6 6␤»
05:19 Mouq n: constant @Q = 1, 1, -> $a, $b { (state$n=1)++; @Q[$n-$a] + @Q[$n-$b] } ... *; @Q[^10].say
05:19 camelia niecza v24-98-g473bd20: OUTPUT«1 1 2 3 3 4 5 5 6 6␤»
05:21 TimToady recursive constants are, like, 90% of Haskell...
05:26 Mouq I think the it's just not being added the scope soon enough
05:26 TimToady agreed
05:28 moritz \o
05:28 Mouq o/
05:29 TimToady the my form happens to work because it notices that it's infinite and de-eagerizes it
05:30 Mouq r: constant @time-out = 1...*;
05:30 camelia rakudo e55c66: ( no output )
05:31 TimToady constant = is really more like a binding or a definition
05:31 TimToady not really assignment, so not eager
05:33 TimToady the semantics of pseudoassignment to any declaration depends on the declarator
05:39 TimToady for a constant, it's purely definitional, not even binding, since binding changes the meaning of the symbol after the fact, which keeps recursion from working
05:42 TimToady it has to be kind of a before-the-fact binding, if it's a binding
05:54 SamuraiJack joined #perl6
06:17 * Mouq hates emitting tons of debugging statements only to realize that the mistake is a dumb typo
06:21 moritz Mouq: that's an experience we have all made several times :-)
06:22 LWA joined #perl6
06:40 silumantengkorak joined #perl6
06:41 silumantengkorak left #perl6
06:42 kaare_ joined #perl6
06:45 LWA joined #perl6
06:53 rhr joined #perl6
06:58 * lue suddenly envisioned a module that adds a say statement after every existing statement, emitting the state of variables used in the previous statement
07:30 darutoko joined #perl6
07:49 denisboyun joined #perl6
07:57 yogan I'm trying a little tail recursion example with pattern matching, and can't get it to work. I have those two multi subs:
07:57 yogan multi sub sum ()          returns Int { 0             }
07:57 yogan multi sub sum (*$x, *@xs) returns Int { $x + sum(@xs) }
07:58 yogan sum(1, 2, 3);   # gives me "max. recursion depth exceeded" with rakudo
07:58 yogan Is my syntax wrong, or is this not supported?
08:07 Mouq r: multi sum(){0}; multi sum ($x, *@xs) { $x + sum(|@xs) }; say sum(1,2,3)
08:07 camelia rakudo e55c66: OUTPUT«6␤»
08:07 Mouq n: multi sum(){0}; multi sum ($x, *@xs) { $x + sum(|@xs) }; say sum(1,2,3)a
08:07 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/zpwCmOBhdn line 1:�------> [32m*@xs) { $x + sum(|@xs) }; say sum(1,2,3)[33m�[31ma[0m��Parse failed��»
08:07 Mouq n: multi sum(){0}; multi sum ($x, *@xs) { $x + sum(|@xs) }; say sum(1,2,3)
08:07 camelia niecza v24-98-g473bd20: OUTPUT«6␤»
08:08 Mouq r: multi sum(--> Int){0}; multi sum (Int $x, *@xs --> Int) { $x + sum(|@xs) }; say sum(1,2,3) # still works
08:08 camelia rakudo e55c66: OUTPUT«6␤»
08:11 Mouq yogan: In Perl 5 something like what you wrote would work. Perl 6, however, doesn't automatically flatten lists (for good reason), and so @xs ends up getting assigned to $x. |@xs flattens it
08:12 Rotwang joined #perl6
08:13 yogan Mouq: Ah, got it! So I ended up with the whole list in $x on every call... no wonder it won't terminate. :-)
08:15 yogan Oh, and making $x slurpy was also redundant. That made no sense.
08:16 Mouq Yeah, that confused me. I'm surprised it's valid
08:17 Mouq std: sub w (*$x) { 1 }
08:17 camelia std a0bcfb1: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/p6na5bgWfa line 1:â�¤------> [32msub w (*[33mâ��[31m$x) { 1 }[0mâ�¤ok 00:01 124mâ�¤Â»
08:17 Mouq std: sub w (*$x) { $x }
08:17 camelia std a0bcfb1: OUTPUT«ok 00:01 125m␤»
08:18 yogan Makes only sense for @ and %...
08:18 Mouq Oh, nvm
08:18 yogan Well, I guess it doesn't hurt, either.
08:18 FROGGS r: sub w(*$x) { say $x }; w()
08:18 camelia rakudo e55c66: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'w' will never work with no arguments (lines 1, 1)␤    Expected: :($x)␤»
08:18 Mouq "To match the first element of the slurpy list, use a "slurpy" scalar: sub quicksort (:$reverse, :$inplace, *$pivot, *@data)"
08:18 FROGGS r: sub w(*$x) { say $x }; w(1)
08:18 camelia rakudo e55c66: OUTPUT«1␤»
08:18 FROGGS r: sub w(*$x) { say $x }; w(1, 2)
08:18 camelia rakudo e55c66: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'w' will never work with argument types (Int, Int) (lines 1, 1)␤    Expected: :($x)␤»
08:18 berekuk joined #perl6
08:19 FROGGS okay, it doesn't affect $x on rakudo
08:19 FROGGS n: sub w(*$x) { say $x }; w()
08:19 camelia niecza v24-98-g473bd20: OUTPUT«␤»
08:19 FROGGS n: sub w(*$x) { say $x }; w(1)
08:19 camelia niecza v24-98-g473bd20: OUTPUT«1␤»
08:19 FROGGS n: sub w(*$x) { say $x }; w(1, 2)
08:19 camelia niecza v24-98-g473bd20: OUTPUT«1 2␤»
08:19 FROGGS interesting
08:20 FROGGS so, both are wrong
08:20 FROGGS nn: sub w(*$x) { say $x }; w([1, 2]) # should say 1, right?
08:20 FROGGS nr: sub w(*$x) { say $x }; w([1, 2]) # should say 1, right?
08:20 camelia rakudo e55c66, niecza v24-98-g473bd20: OUTPUT«1 2␤»
08:21 FROGGS no
08:21 FROGGS nr: sub w(*$x) { say $x }; w(1, 2) # but this
08:21 camelia niecza v24-98-g473bd20: OUTPUT«1 2␤»
08:21 camelia ..rakudo e55c66: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'w' will never work with argument types (Int, Int) (lines 1, 1)␤    Expected: :($x)␤»
08:21 donaldh joined #perl6
08:21 Mouq nr: sub w(*$x,*@x) { say $x; say @x }; w(1, 2)
08:21 * FROGGS needs moar coffee
08:21 camelia rakudo e55c66: OUTPUT«1␤2␤»
08:21 yogan Adding a slurpy array as Mouq showed in the quicksort example helps.
08:21 camelia ..niecza v24-98-g473bd20: OUTPUT«1 2␤␤»
08:22 FROGGS ahh, yes
08:22 FROGGS Mouq++
08:26 Mouq nr: sub w($x,*@x) { say $x; say @x }; say &w.candidates
08:26 camelia rakudo e55c66: OUTPUT«sub w($x, *@x) { ... }␤»
08:26 camelia ..niecza v24-98-g473bd20: OUTPUT«sub w(Any $x, *@x) { ... }␤»
08:26 Mouq nr: sub w(*$x,*@x) { say $x; say @x }; say &w.candidates
08:26 camelia niecza v24-98-g473bd20: OUTPUT«sub w(Any *$x, *@x) { ... }␤»
08:26 camelia ..rakudo e55c66: OUTPUT«sub w($x, *@x) { ... }␤»
08:27 Mouq nr: sub w(*@x) { say @x }; w()
08:27 camelia rakudo e55c66, niecza v24-98-g473bd20: OUTPUT«␤»
08:27 dalek nqp: cfaf30e | dwarring++ | examples/rubyish/ (7 files):
08:27 dalek nqp: rubyish - added .nil? method. removed non-standard // op
08:27 dalek nqp: review: https://github.com/perl6/nqp/commit/cfaf30e56f
08:38 retupmoca is there a good way to get the local machine's hostname in perl6?
08:38 retupmoca I have some code that's calling out to /bin/hostname, but that just feels like a bad idea
08:38 retupmoca and won't work on windows
08:39 k1lldash9 look for the reverse DNS resolution maybe?
08:39 k1lldash9 that's of course if the RDNS is setup correctly, so that might be a bad idea as well
08:40 retupmoca Ideally there would be something similar to perl5's Sys::Hostname
08:41 retupmoca maybe I'll have to write that
08:41 k1lldash9 ahh good point
08:43 FROGGS nr: say gethost # this is what is specced at S29:488
08:43 synopsebot Link: http://perlcabal.org/syn/S29.html#line_488
08:43 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'gethost' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.com…»
08:43 camelia ..rakudo e55c66: OUTPUT«===SORRY!===␤no ICU lib loaded␤»
08:45 retupmoca my local rakudo says gethost is undeclared
08:48 retupmoca since that's in the spec, I'll just run /bin/hostname until gethost is implemented then
08:49 FROGGS on the other hand you could implement it :o)
08:50 retupmoca could do that too
08:51 retupmoca it would be a good excuse to open up rakudo's source
08:51 dmol joined #perl6
09:35 pecastro joined #perl6
10:00 Rotwang joined #perl6
10:01 arnsholt jnthn: I think I've binary-searched my way to the appropriate patch for the bug from last night
10:03 arnsholt I don't understand the inner workings of P6Opaque.class and friends well enough to understand *why*, but it seems we need to create a new delegate in change_type if the original object has a delegate, even though the derived type has the same number of attributes
10:03 arnsholt That sound reasonable?
10:04 spider-mario joined #perl6
10:08 denis_boyun joined #perl6
10:13 benabik joined #perl6
10:30 berekuk joined #perl6
10:37 denis_boyun__ joined #perl6
10:44 jnthn arnsholt: That sounds like we might be hiding/working around a real bug...
10:44 yoleaux 04:47Z <[Coke]> jnthn: : is this a bug? say(nqp::jvmeqaddr(Int,Num)) - returns true if they are both type objects, even if they aren't the same type
10:44 jnthn arnsholt: If they're the same number of attributes they should also be the exact same attributes...
10:45 dmol joined #perl6
10:46 jnthn arnsholt: If you put in such a fix, I'd file an issue saying that it needs a closer look
10:46 arnsholt Hmm. Right
10:49 arnsholt I'll pick at it some more then
10:50 jnthn What does the patch that you have that avoids the problem look like, ooc?
10:51 arnsholt https://gist.github.com/arnsholt/7068002
10:52 arnsholt The only thing that's really changed is the if condition
10:53 arnsholt I factored out the repeated casts to P6OpaqueBaseInstance while I was at it, since the condition wouldn't gotten really overlong
10:53 arnsholt *would've gotten
11:00 jnthn yeah, that's the kinda thing I thought you meant. Hm
11:04 berekuk joined #perl6
11:08 arnsholt I tried just redoing the loop setting the delegate thingies, but that didn't work
11:08 arnsholt For some reason it has to create a new delegate
11:10 arnsholt Oh, but the old delegate has the wrong type, doesn't it?
11:10 arnsholt Could it be that inside the postcircumfix:<( )> it tries to look up the method via the delegate?
11:15 PacoAir joined #perl6
11:23 jnthn arnsholt: Method dispatch *shouldn't* ever do that...
11:24 arnsholt Hmm
11:24 sqirrel joined #perl6
11:24 jnthn That is, it's meant to look at the st
11:24 jnthn Which is update din the top-level object
11:24 arnsholt Yeah
11:24 jnthn The delegate should only be known on the inside of P6opaque
11:25 jnthn That is, if we're screwing something up with it, it should most probably be something in one of the REPR methods not checking for the delegate, or something...
11:26 arnsholt Yeah, that makes sense
11:29 berekuk joined #perl6
11:31 hummeleB1 joined #perl6
11:47 SamuraiJack joined #perl6
11:52 jnthn travel &
11:53 FROGGS jnthn: have fun
11:57 colomon joined #perl6
12:11 zakharyas joined #perl6
12:17 cognominal joined #perl6
12:38 dmol joined #perl6
12:38 hummeleB1 joined #perl6
12:49 dalek nqp/unified-build: 43315a1 | moritz++ | / (8 files):
12:49 dalek nqp/unified-build: factor out common definitions from the Makefile-$backend.in files to a Makefile-common.in
12:49 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/43315a1e2f
12:50 moritz 8 files changed, 103 insertions(+), 202 deletions(-)
12:50 arnsholt Nice!
13:08 denis_boyun joined #perl6
13:13 GlitchMr joined #perl6
13:31 grondilu joined #perl6
13:38 xinming joined #perl6
13:45 kaare_ joined #perl6
13:58 ggoebel10 joined #perl6
13:59 berekuk joined #perl6
14:00 ajr joined #perl6
14:07 ggoebel11 joined #perl6
14:11 BenGoldberg joined #perl6
14:22 dalek nqp/unified-build: bc9e3ce | moritz++ | tools/build/Makefile-Moar.in:
14:22 dalek nqp/unified-build: [moar] start to move generated files to gen/moar
14:22 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/bc9e3ce52d
14:22 dalek nqp/unified-build: 0dee6c2 | moritz++ | tools/build/Makefile-Moar.in:
14:22 dalek nqp/unified-build: [moar] move moar generated files to gen/moar/
14:22 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/0dee6c28bc
14:22 dalek nqp/unified-build: 9b35f5d | moritz++ | / (2 files):
14:22 dalek nqp/unified-build: [parrot] get rid of useless gen/ subdirs
14:22 dalek nqp/unified-build:
14:22 dalek nqp/unified-build: now that we build stuff in gen/parrot, it is redundant
14:22 dalek nqp/unified-build:
14:22 dalek nqp/unified-build: also clean up cleanup list
14:22 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/9b35f5de9f
14:27 stevan_ joined #perl6
14:44 rindolf joined #perl6
14:47 denisboyun joined #perl6
14:59 denisboyun joined #perl6
15:26 jaffa4 joined #perl6
15:27 jaffa4 hi all
15:27 jaffa4 does anyone use panda?
15:30 timotimo most people here do
15:31 jaffa4 it fails with Failed to remove the file '.work\1382200940_1\.git\objects\pack\pack-0c0f1cd3bec5dca5469eff761cf3bc2ac89d1d61.pack': unlink failed: Access is denied.
15:31 timotimo did you do anything as root recently? with sudo?
15:31 jaffa4 that is windows
15:32 timotimo rakudo recently learned to really delete files on windows, that should work
15:32 timotimo out of curiosity, what did you try to do?
15:33 jaffa4 you know top secret, I do not know if I should tell you ,I tried to install a module
15:33 timotimo the exact command please? what module?
15:33 timotimo that should be happening after the build is complete, right?
15:34 jaffa4 not sure maybe it is complete
15:34 jaffa4 How can I check that?
15:34 masak jaffa4: I guess the interesting thing is whether you can recreate the exact error.
15:35 timotimo well, what's the output?
15:35 timotimo there should be many lines of output normally
15:35 masak jaffa4: if you can, then someone with their fingers in the panda guts will be able to help you much better.
15:36 jaffa4 panda install XML::Writer
15:36 dalek nqp/unified-build: 4a1558c | moritz++ | tools/build/Makefile-JVM.in:
15:36 dalek nqp/unified-build: [JVM] remove useless gen/ dirs
15:36 dalek nqp/unified-build:
15:36 dalek nqp/unified-build: that stuff is in gen/jvm/ anyway
15:36 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/4a1558c22e
15:37 Mouq joined #perl6
15:37 jaffa4 where does panda install the modules?
15:39 jaffa4 http://pastebin.com/Z9MRRtAq
15:40 jaffa4 masak: like who?
15:40 timotimo parrot 5.5, eh? i think you're on an outdated rakudo, but that's understandable, the new compiler is out, iirc, but not our rakudo star release
15:41 timotimo rm_rf in shell::command has been taught to handle stubborn files on windows recently
15:42 timotimo https://github.com/tadzik/Shell-Command - see if you can get this into panda and bootstrap it again?
15:43 jaffa4 I have ini file module for perl 5, is it worth translating into perl 6?
15:43 japhb__ Those long backtraces are insane, BTW.  I see in one of them unlink happening supposedly inside mkdir.
15:43 timotimo there is a Config::INI module for perl6, you could see if it lacks features you have
15:44 timotimo https://github.com/tadzik/perl6-Config-INI/
15:44 timotimo oh, whaaaat? that's weird, japhb__
15:44 jaffa4 yes, mine is different, much more functions
15:45 jaffa4 I used mine for a small memory database
15:47 japhb__ Oh, in answer to the question about install location, it installs to the site lib.
15:47 japhb__ r: say %*CUSTOM_LIB<site>
15:47 camelia rakudo e55c66: OUTPUT«/home/p6eval/nom-inst/lib/parrot/5.9.0-devel/languages/perl6/site␤»
15:53 jaffa4 C:/rakudo/lib/parrot/5.5.0/languages/perl6/site
15:59 masak jaffa4: like who? tadzik, timo, donaldh, moritz -- or so it seems from the panda commit log.
15:59 jaffa4 timotimo:  bootstraping? how do I do that?
15:59 timotimo run bootstrap.pl or what it's called
15:59 timotimo it's just a perl6 script
15:59 timotimo inside the panda folder
16:00 dmol joined #perl6
16:03 jaffa4 there is no such a file
16:06 jaffa4 timotimo
16:07 timotimo there is not?
16:07 jaffa4 no
16:07 timotimo in that case, you have to clone github.com/tadzik/panda
16:07 timotimo that way you should get a sufficiently up-to-date Shell::Command, too, to get around the rm_rf problem
16:07 timotimo at least i hope so
16:08 timotimo for now i gotta run
16:12 japhb__ jaffa4: Remember to clone with --recursive
16:32 Mouq :D
16:32 * Mouq figured out how to bootstrap his changes
16:32 Mouq …And it worked!
16:33 moritz \o/
16:36 denis_boyun joined #perl6
16:54 kurahaupo joined #perl6
16:56 berekuk joined #perl6
17:07 kurahaupo_ joined #perl6
17:12 Vlavv` joined #perl6
17:16 kurahaupo joined #perl6
17:26 cognominal joined #perl6
17:30 kurahaupo joined #perl6
17:36 * masak accidentally trips over a box of pins, dropping some of them on the floor
17:36 masak oh! by the way,
17:36 masak I had some macro thoughts today. but I haven't had the tuits to write them up yet.
17:36 masak got pulled into a very ambitious dumpling making session. :)
17:42 moritz masak: sounds fun :-)
17:43 * moritz made some bløtkake for $wife
17:49 timotimo joined #perl6
17:51 yogan What's the reason that private attributes of classes are undefined by default, but public attributes are initialized with Any?
17:52 timotimo i don't understand. Any is undefined, too
17:52 yogan moritz: Du weißt, wie komisch bløtkake auf deutsch klingt, gell? ;-)
17:52 timotimo do you have a snippet of code to show that behavior?
17:52 yogan Sure, let me make it compact...
17:53 yogan r: class A { has $.x; has $!y }; A.new.perl.say;
17:53 camelia rakudo e55c66: OUTPUT«A.new(x => Any)␤»
17:54 masak yogan: that just means private-only attributes are not visible from the outside.
17:54 masak yogan: (as they shouldn't be, since they are not public)
17:55 yogan Oh, I see. .perl tricked me...
17:55 yogan Is there some built-in way to dump an object?
17:55 timotimo there is .DUMP
17:55 timotimo r: class A { has $.x; has $!y }; A.new.DUMP.say
17:55 camelia rakudo e55c66: OUTPUT«A<1>(␤    :x(▶Any),␤    :$!y(Any)␤)␤»
17:56 yogan Ha! Nice.
17:56 FROGGS .perl is what Data::Dumper is for p5
17:56 masak r: class A { { has $.x; has $!y }; .say for A.^attrs
17:56 camelia rakudo e55c66: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/O6vLABCQf_â�¤Unable to parse expression in block; couldn't find final '}'â�¤at /tmp/O6vLABCQf_:1â�¤------> [32m { has $.x; has $!y }; .say for A.^attrs[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤  â€¦Â»
17:56 timotimo (implementation specific)
17:56 Mouq r: class A { has $.x; has $!y }; .say for A.^attrs
17:56 camelia rakudo e55c66: OUTPUT«No such method 'attrs' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block  at /tmp/BaR1tRi6sS:1␤␤»
17:57 timotimo r: class A { has $.x; has $!y }; .say for A.^attributes
17:57 camelia rakudo e55c66: OUTPUT«Mu $!x␤Mu $!y␤»
18:00 dalek nqp/unified-build: 09388f6 | moritz++ | tools/build/Makefile-Parrot.in:
18:00 dalek nqp/unified-build: [parrot] start to rename Makefile variables
18:00 dalek nqp/unified-build:
18:00 dalek nqp/unified-build: the idea is to join the various Makefiles eventually, so we should avoid
18:00 dalek nqp/unified-build: name collisions.
18:00 dalek nqp/unified-build:
18:00 dalek nqp/unified-build: No functional changes
18:00 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/09388f6b3f
18:00 [Sno] joined #perl6
18:07 GlitchMr joined #perl6
18:11 masak moritz++
18:14 japhb__ Didn't panda used to be able to
18:15 japhb__ 'panda install .'?  Or am I just forgetting?
18:19 moritz fiddling that much with the build system isn't all too much fun
18:20 moritz most changes need a full recompile, and error messages are often cryptic
18:24 masak long builds kill the fun of most things.
18:24 masak humans enjoy rapid feedback.
18:24 moritz and that's the second problem
18:25 moritz most of my patches don't improve much for themselves
18:26 yogan What is the meaning of ▶ in the output of .DUMP?
18:27 japhb__ yogan: The thing in question is containerized
18:27 moritz yogan: I have no idea, but my guess would be a scalar container
18:27 japhb__ (inside a scalar container)
18:29 japhb__ yogan: A few other things are marked tersely like that, such as using the infinity symbol for infinite lists.
18:31 Mouq r: (1...*).DUMP.say
18:31 camelia rakudo e55c66: OUTPUT«∞List<1>(␤    :$!flattens(Mu),␤    :$!items(▶Mu),␤    :$!nextiter(∞ListIter<3>(␤        :$!list(=List<1>),␤        :$!reified(▶Mu),␤        :$!nextiter(▶Mu),␤        :$!rest(QRPA<4>(␤            ∞List<5>(␤                :$!flatten…»
18:31 yogan japhb__: Sorry, but what is containerized?
18:32 japhb__ moritz: It's definitely really important work, though.  It's going to make my life easier.
18:32 japhb__ yogan: As I said, held inside a scalar container.  Basically, held at a level of indirection.
18:32 jferrero joined #perl6
18:33 yogan japhb__: As in, lazy evaluated? Or what implications does the holding in a scalar container have?
18:33 Mouq r: (1, * * (1+1/2)...2).DUMP.say
18:33 camelia rakudo e55c66: OUTPUT«List<1>(␤    :$!flattens(Mu),␤    :$!items(▶Mu),␤    :$!nextiter(ListIter<3>(␤        :$!list(=List<1>),␤        :$!reified(▶Mu),␤        :$!nextiter(▶Mu),␤        :$!rest(QRPA<4>(␤            List<5>(␤                :$!flattens(Mu),␤…»
18:35 japhb__ Mouq: DUMP output can rapidly get really large.  Sometimes there's a LOT of magic going in seemingly simple things.
18:37 japhb__ Hmmm, there are a lot of hits for 'git grep container' in the specs tree.
18:38 japhb__ yogan: I think any answer I could give would be either oversimplify or else immediately beg another question.  I defer to the specs on this.
18:39 yogan japhb__: Sure. I'll read it up.
18:39 Mouq Aha! I can't compile because I did what I was trying to do too well :p / :s $<capture> = [a|b] / means / $<capture> = [[a|b]<.ws>] /, according to the rules. Kinda un-dwimmy though
18:40 japhb__ The short answer is that you often don't care about whether something is inside a scalar container or not; they are "translucent" in the sense that most of the time, Perl 6 just sees through scalar containers to whatever is inside.  There are of course operations for which it matters (otherwise it wouldn't be visible at all), but the specs will give you the details on that.
18:40 masak interesting, a live programming language: http://research.microsoft.com/en-us/people/smcdirm/liveprogramming.aspx?iedz00
18:41 masak research.microsoft.com++
18:42 lue hello world o/
18:43 japhb__ If the entire world greets you back, that could get rather deafening.  So I'll just say: "o/ lue!"
18:43 berekuk joined #perl6
18:45 masak japhb__: that certainly puts the "hello world" program into some perspective.
18:48 lue r: # say "HELLO LUE!" for ^7_000_000_000
18:48 camelia rakudo e55c66: ( no output )
18:48 japhb__ :-D
18:50 masak well, that's if "world" is "Earth humans", sure... :)
18:50 Mouq r: say "Combined recording of the world saying hello back: {55 + 10*log(7_000_000_000)} decibles"
18:50 camelia rakudo e55c66: OUTPUT«Combined recording of the world saying hello back: 281.691759860017 decibles␤»
18:51 Mouq I'm sure you'll be fine
18:51 geekosaur iirc 110's enough to cause deafness
18:52 xenoterracide joined #perl6
18:52 SamuraiJack joined #perl6
18:54 masak Mouq++ # science
19:11 denis_boyun joined #perl6
19:18 * Mouq un-afk
19:18 Mouq http://www.gcaudio.com/resources/howtos/loudness.html "Loudest sound possible — 194dB"
19:19 Mouq That doesn't seem right though
19:19 * moritz would be surprised if a nuclear bomb produces less than 194dB
19:20 jnthn evening, #perl6
19:22 geekosaur exponential scale, remember
19:22 Mouq Ah, apparently after 194dB in air, it stops being 'sound' :p
19:23 moritz Mouq: and is "explosion"?
19:23 geekosaur 194dB is probably the point at which molecules stop vibrating because they're completely disrupted
19:23 timotimo Mouq: that's probably where air liquefies or something like that :)
19:23 geekosaur although technically that doesn't stop sound
19:24 Mouq https://en.wikipedia.org/wiki/Sound_pressure#Examples_of_sound_pressure_and_sound_pressure_levels
19:24 geekosaur liquids carry sound though
19:25 geekosaur ah, ok, clipping, that makes sense
19:27 geekosaur for some reason I thought it would take a higher amplitude than that to lead to vacuum in the troughs
19:35 lue .oO(It should be possible to use either gravitational waves (should they exist) or somehow cause ripples in the fabric of spacetime to send sounds around IN SPACE.)
19:37 timotimo those would still be clipped to the speed of light, though?
19:44 Rotwang joined #perl6
19:47 geekosaur unclear
19:49 geekosaur if general relativity is correct then gravitational waves *are* ripples in the fabric of spacetime, and as such are not constrained by the speed of light
19:50 dalek nqp/unified-build: 3b237b5 | moritz++ | tools/build/Makefile- (4 files):
19:50 dalek nqp/unified-build: put more variables into Makefile-common.in
19:50 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/3b237b52e8
19:50 dalek nqp/unified-build: 86406eb | moritz++ | / (6 files):
19:50 dalek nqp/unified-build: More Makefile unification and disambiguation
19:51 dalek joined #perl6
19:53 denis_boyun joined #perl6
19:57 japhb__ I have a collection of modules, some of which can be compiled with all rakudo variants, and some of which need concurrency (so don't work on rakudo-parrot).  I'd like to be able to install this collection into each rakudo I build, regardless of backend.  However, panda will refuse to do the install on rakudo-parrot because some modules don't compile.
19:57 japhb__ Thoughts on working around this?
19:59 japhb__ I could split into multiple module collections (doesn't represent how I treat them, really), I could hack panda to take some kind of ignore compile failures flag, ...
20:00 masak japhb__: what's the simplest thing that could possibly work?
20:00 moritz eval
20:00 ssutch joined #perl6
20:00 masak suggestion: make that work now.
20:12 arnsholt jnthn: I've whacked a bit at the bug we talked about, and think I've found something potentially interesting
20:15 arnsholt Consider the updated version of the test script in https://gist.github.com/arnsholt/7059777
20:16 arnsholt After the mixin with does, inside the trait handlers, $r has the correct type. But outside of them in the normal script, it's a Sub+{Foo} instead of the Sub+{Foo}+{Bar[Str]} we want
20:16 arnsholt Does that give you any thoughts?
20:16 denisboyun joined #perl6
20:19 FROGGS maybe it is just its gistification?
20:20 arnsholt No, there's a behvaiour bug as well
20:22 arnsholt The bar method isn't visible for some reason
20:23 FROGGS you want to mixin a method into a sub?
20:24 arnsholt I want to add a method to the sub object
20:25 arnsholt (This is an actual regression in NativeCall on Rakudo/JVM, FWIW)
20:26 arnsholt I'm just having a devil of a time figuring out what's going on (and whether it's a Rakudo or NQP bug)
20:27 jnthn arnsholt: I wonder if the clone (from taking a closure) is to blame...
20:28 dalek nqp/unified-build: 492383b | moritz++ | tools/build/Makefile-common.in:
20:28 dalek nqp/unified-build: Makefile fix for PERL
20:28 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/492383bc48
20:28 dalek nqp/unified-build: 1a09cc6 | moritz++ | Configure (2 files):
20:28 dalek nqp/unified-build: Unify Configure.pl and ConfigureMoar.pl
20:28 dalek nqp/unified-build:
20:28 dalek nqp/unified-build: now "perl Configure.pl --backends=moar" creates a Makefile
20:28 dalek nqp/unified-build: suitable for building nqp on Moar
20:28 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/1a09cc6945
20:28 moritz ok, enough build and Configure hacking for today
20:29 moritz what's up with dalek?
20:30 jnthn arnsholt: Also, if maybe when we don't make a fresh delegate, it has an .st that needs updating
20:31 arnsholt Right
20:31 arnsholt So it's just the subs themselves being closures, or something else I'm not seeing?
20:32 masak lol, I... didn't quite blog, but I wrote some thoughts about a possible "each" macro. https://gist.github.com/masak/7074924 -- comments welcome.
20:34 Exodist joined #perl6
20:34 grondilu r: sub f { $^x**2 }; say f each ^10
20:34 camelia rakudo e55c66: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ZMIa04MpZ8â�¤Undeclared routine:â�¤    each used at line 1â�¤â�¤Â»
20:35 grondilu std: sub f { $^x**2 }; say f each ^10
20:35 camelia std a0bcfb1: OUTPUT«ok 00:01 125m␤»
20:35 grondilu n: sub f { $^x**2 }; say f each ^10
20:35 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'each' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_u…»
20:35 masak grondilu: conjectural feature :)
20:36 * arnsholt & # bedtime
20:36 FROGGS moritz: it is obviously not dalek's day
20:39 masak grondilu: especially since it depends (as the gist explains) on a conjectural macro feature...
20:39 lue masak: this is "eager Junction" each, right?
20:41 grondilu masak: I was not sure if the gist was suggesting an alternative implementation other an existing one.
20:44 masak lue: dunno what you mean by "eager Junction".
20:44 masak lue: but one of the (small) problems with the each junction is that it's quite different in semantics from the spec'd four.
20:45 lue not "eager", but "ordered" rather
20:45 masak I think I see what you mean by "eager" -- an "each" basically "evaporates" wherever you put it -- you can never store an "each" in a container like you can with the other junction types.
20:46 lue masak: no, I just misremembered the description of Each. S02 set me straight :P
20:46 masak an "each" is basically a for loop that pretends to be a single item value.
20:48 lue that's a better way to describe it actually. An ordered superposition doesn't make much sense outright.
20:50 moritz .oO( ordered superstition )
20:54 dalek nqp/unified-build: ef0d520 | moritz++ | Configure (2 files):
20:54 dalek nqp/unified-build: munge ConfigureJVM.pl into Configure.pl
20:54 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/ef0d520702
20:55 pmurias joined #perl6
20:55 FROGGS cool!
20:56 pmurias masak: re the live programming language it would be nice if they provided an executable
20:57 moritz next up: sleep, really &
20:57 FROGGS moritz: sleep well! #parrot spammer
21:12 FROGGS gnight
21:14 timotimo gnite froggs
21:23 Ulti this sounds oddly like all the goals of Perl6... http://x.rubini.us/
21:24 Ulti which is kind of funny considering the ending
21:24 Ulti "Purge the Perl
21:24 Ulti In general, anything inspired by Perl should be removed"
21:24 Ulti :S
21:28 lue (I almost guarantee the first thing you'll see someone picking up Rubinius-X doing is creating a way to emulate global variables.)
21:31 timotimo thought so as well
21:31 timotimo they'll probably get it up and running in less than 13 years, though
21:36 jnthn sleep &
21:37 geekosaur but it will be Less Than Awesome
21:42 timotimo maybe we'll have a working implementation of rubinius x on nqp before they do on rubinius :P
21:43 timotimo and then we make one more iteration of the design and write "purge all the ruby" where we mention forbidding to open classes at runtime and such
21:43 geekosaur that said, this is about the future of Ruby? I'm actually inclined to agree with removing the Perlisms, because in general Ruby took the worst of Perl instead of the best
21:43 timotimo this is more like a fork, actually
21:47 dmol joined #perl6
21:51 colomon joined #perl6
22:24 dalek nqp/stdsigspace: 22fc9a6 | Mouq++ | src/QRegex/P6Regex/ (2 files):
22:24 dalek nqp/stdsigspace: Attempt at getting sigspacing right
22:24 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/22fc9a6b2d
22:24 dalek nqp/stdsigspace: 9939724 | Mouq++ | src/ (3 files):
22:24 dalek nqp/stdsigspace: Try to do sigspace better in NQP::Grammar
22:24 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/9939724223
22:24 dalek nqp/stdsigspace: 729fab5 | Mouq++ | src/QRegex/P6Regex/ (2 files):
22:24 dalek nqp/stdsigspace: Do sigspace even more right
22:24 dalek nqp/stdsigspace:
22:24 dalek nqp/stdsigspace: Now only finds sigspace after an allowed metachar
22:24 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/729fab59d7
22:24 dalek nqp/stdsigspace: 8ad1461 | Mouq++ | src/ (3 files):
22:24 dalek nqp/stdsigspace: Small fixes to sigspace
22:24 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/8ad1461335
22:24 dalek nqp/stdsigspace: 3b73abb | Mouq++ | src/NQP/Grammar.nqp:
22:24 dalek nqp/stdsigspace: Replace sigspace in NQPGrammar so we can bootstrap
22:24 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/3b73abb0c7
22:24 dalek nqp/stdsigspace: 7f835ad | Mouq++ | src/ (11 files):
22:24 dalek nqp/stdsigspace: Bootstrap sigspace and get up to make
22:24 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/7f835add6d
22:24 * Mouq had to push eventually
22:25 Mouq It doesn't pass make test yet
22:27 timotimo :)
22:27 timotimo cool stuff
22:27 d4l3k_ joined #perl6
22:33 pmurias re rubinius x are the issues they claim to solve serious problems in ruby?
22:33 langdon_ joined #perl6
22:34 pmurias or is the main reason for the fork to bring interest to rubinius itself?
22:38 langdon_ left #perl6
23:04 berekuk_ joined #perl6
23:11 dalek nqp: d44b791 | Mouq++ | docs/ops.markdown:
23:11 dalek nqp: [docs] nqp::getcomp and nqp::bindcomp
23:11 dalek nqp: review: https://github.com/perl6/nqp/commit/d44b791fdd
23:17 timotimo Mouq: it confuses me, that you would do my $lang = My::Lang::Compiler.new() rather than passing just the class
23:18 [Coke] Mouq++
23:18 dalek nqp: bc45c01 | Mouq++ | docs/ops.markdown:
23:18 dalek nqp: [docs] missing apos
23:18 dalek nqp: review: https://github.com/perl6/nqp/commit/bc45c018b9
23:19 Mouq nqp: class A {}; nqp::bindcomp('bla', A.new)
23:19 camelia nqp: ( no output )
23:19 Mouq nqp: class A {}; nqp::bindcomp('bla', A)
23:19 camelia nqp: ( no output )
23:20 retupmoca p5eval: print hex("0F"); # what's the perl6 version of this?
23:20 p5eval retupmoca: 151
23:21 Mouq nqp: class A {}; nqp::bindcomp('bla', A); say(nqp::what(nqp::getcomp('bla')))
23:21 camelia nqp: OUTPUT«␤»
23:21 Mouq nqp: class A {}; nqp::bindcomp('bla', A.new); say(nqp::what(nqp::getcomp('bla')))
23:21 camelia nqp: OUTPUT«␤»
23:21 Mouq nqp: class A {}; class bla {}; nqp::bindcomp('bla', A.new); say(nqp::what(nqp::getcomp('bla')))
23:21 camelia nqp: OUTPUT«␤»
23:21 Mouq Hrm
23:22 Mouq timotimo: I'm not sure if it makes a difference. HLL::Compiler passes self to it, so I went with a .new()ed class
23:23 retupmoca r: say '0x0f'.Num
23:23 camelia rakudo e55c66: OUTPUT«15␤»
23:23 retupmoca oh
23:23 retupmoca ok
23:23 timotimo Mouq: ok
23:24 Mouq r: say 0x0f
23:24 camelia rakudo e55c66: OUTPUT«15␤»
23:24 timotimo since you can call .new on instances usually... yeah
23:24 Mouq r: say :16<0f>
23:24 camelia rakudo e55c66: OUTPUT«15␤»
23:24 Mouq r: say :16<f>
23:24 camelia rakudo e55c66: OUTPUT«15␤»
23:25 Mouq r: say :16(15)
23:25 camelia rakudo e55c66: OUTPUT«Nominal type check failed for parameter '$str'; expected Str but got Int instead␤  in sub unbase at src/gen/CORE.setting:6446␤  in block  at /tmp/9yj7nQt8IN:1␤␤»
23:25 Mouq r: say :16('0f')
23:25 camelia rakudo e55c66: OUTPUT«15␤»
23:26 retupmoca and that works even better
23:26 lue going through the slides again, it's fun to force yourself to not give up on a particular exercise (just because you want to go to the next ones) and then succeed.
23:26 lue r: say "0x0F".Int; say +"0x0F"
23:26 camelia rakudo e55c66: OUTPUT«15␤15␤»
23:38 dalek ecosystem: 1f6efff | (Andrew Egeler)++ | META.list:
23:38 dalek ecosystem: Add MIME::QuotedPrint
23:38 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/1f6efff590
23:39 retupmoca ^ that code is probably the slow way to do it, but it seems to work
23:40 timotimo yeah, string concat is pretty slow, you'd be better off having the bytes pushed into a list, then joining them at the end
23:40 timotimo you can do some timings
23:42 gshank joined #perl6
23:43 retupmoca so, is there a base64 module that isn't parrot-specific?
23:43 retupmoca I saw Enc::MIME::Base64, but panda won't compile it here
23:44 retupmoca because there are already two base64 modules - I'd rather not write another one
23:50 dalek perl6-most-wanted: 285a60a | (Andrew Egeler)++ | most-wanted/modules.md:
23:50 dalek perl6-most-wanted: Update modules.md
23:50 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/285a60abfd
23:52 timotimo r: say "retupmoca".list.reverse.join("")
23:52 camelia rakudo e55c66: OUTPUT«retupmoca␤»
23:52 timotimo r: say "retupmoca".comb.reverse.join("")
23:52 camelia rakudo e55c66: OUTPUT«acomputer␤»
23:52 timotimo r: say "retupmoca".reverse
23:52 camelia rakudo e55c66: OUTPUT«retupmoca␤»
23:56 colomon joined #perl6
23:56 retupmoca huh, irssi didn't highlight on that
23:56 retupmoca and yes, I came up with this name when I was...13 or so?
23:57 japhb__ It appears that nqp::copy on JVM does not by default copy over an existing file, while it does on parrot.  The JVM behavior results in being unable to successfully update modules installed with panda without manually removing the old installed files first.
23:58 lue r: say "bolton".flip
23:58 camelia rakudo e55c66: OUTPUT«notlob␤»

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

Perl 6 | Reference Documentation | Rakudo