Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-10-23

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 Oatmeal joined #perl6
00:02 Oatmeal joined #perl6
00:04 RabidGravy properly kebabed
00:07 dalek nqp: 88ef425 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/MultiCacheInstance.java:
00:07 dalek nqp: Prevent an off-by-one towards -Inf and bail if it can't be cached anyway.
00:07 dalek nqp: review: https://github.com/perl6/nqp/commit/88ef425282
00:09 TimToady it looks like the S05-metasyntax/repeat.t failures are due to the recent regex vs Bool changes, but they seem relatively benign, so I suppose we could just fudge 'em
00:22 tokuhiro_ joined #perl6
00:26 [Sno] joined #perl6
00:27 awwaiid Can we hook the evalbot up so it can run on the perl6.org frontpage, enlivening those examples a bit?
00:28 psch awwaiid: i'd rather wait for nqp-js to mature so it can run rakudo and splice that into perl6.org
00:28 psch awwaiid: 'cause that way we can even offer a REPL that isn't vulnerable in any way
00:28 awwaiid ah. wasn't sure if that was anytime soon
00:29 psch awwaiid: i don't know if it's anytime soon, i'm just saying that's the less risky and cleaner approach
00:29 awwaiid yeah, complete client side is about as safe as you can get :)
00:29 psch i'm not particularly good with JS and also pretty wrapped up in the jvm backend...
00:29 awwaiid but any random person can talk to the bot here right?
00:30 psch awwaiid: yes, but IRC vs HTTP is a difference, however small
00:30 awwaiid I saw in the github there is some magical flag you compile with or something to get a non-danger-allowed build or something
00:30 psch eh, RESTRICTED.setting is something, but it's far from exhaustive
00:31 mattn_jp joined #perl6
00:31 awwaiid so exposing to The HTTP Internets might be a bit much exposure? Also I think stateful, ie REPL, as you say would be better
00:32 mattn_jp DESTROY method is not implemented yet?
00:32 konobi js is pretty easy =0)
00:32 yoleaux 21 Oct 2015 15:14Z <pmurias> konobi: I'm not really sure one I put the various compiled files in the package.json containing directory, how should the files be loaded
00:32 yoleaux 21 Oct 2015 15:18Z <pmurias> konobi: should the user npm install -g nqp-js and the use Foo will be translated to 'require("nqp-js/Foo")'?
00:32 psch awwaiid: to be fair, "offer a useful experince" is a stronger argument than "be secure server-side" in my mind for something REPL-y on perl6.org
00:32 awwaiid mmm. would it be bad if I got a VM, tried to compile with RESTRICTED.setting, and exposed it over http?
00:32 mattn_jp m: use nqp; class Foo { submethod DESTROY { say "byebye"; } }; for 1..500 { my $foo = Foo.new(); undefine $foo; }
00:32 camelia rakudo-moar 4e35e8: ( no output )
00:32 psch awwaiid: RESTRICTED.setting always gets compiled for you, you just have to invoke nqp to use it instead of CORE.setting
00:33 mattn_jp m: use nqp; class Foo { submethod DESTROY { say "byebye"; } }; for 1..500 { my $foo = Foo.new(); undefine $foo; nqp::force_gc() }
00:33 camelia rakudo-moar 4e35e8: ( no output )
00:33 psch mattn_jp: there's no guarantee for when DESTROY gets evoked.  afaik, it mostly exists to make Inline::Perl5 easier
00:33 awwaiid that's interesting. is there a way to make my rakudo do that?
00:33 sufrostico joined #perl6
00:33 mattn_jp psch: roast have test for this: https://github.com/perl6/roast/blob/master/S12-construction/destruction.t
00:34 mattn_jp shouldn't be green. i guess
00:35 psch awwaiid: you can supply "--setting=RESTRICTED" to the perl6 script
00:36 awwaiid ooooooo
00:36 awwaiid o/
00:37 psch mattn_jp: S12-construction/destruction.t isn't run during make spectest; the file and contained tests exist but aren't tested
00:37 mattn_jp m: class Foo { submethod DESTROY { say "byebye"; } }; for 1..5000 { my $foo = Foo.new(); }
00:37 camelia rakudo-moar 4e35e8: OUTPUT«byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byebye␤byeb…»
00:37 kid51 joined #perl6
00:37 mattn_jp ah, seems less-er
00:37 psch mattn_jp: there's not yet an actual "these files are perl6.christmas" tag, so for now i'd go with rakduo/t/spectest.data as for "what's perl6?"
00:38 mattn_jp psch: okay. thanks.
00:38 awwaiid psch++ # showing me the bricks for me to build my jenga towers
00:38 psch awwaiid: just enough rope to hang your foot by :)
00:38 awwaiid how I like it
00:38 dalek rakudo/nom: 37fcfad | coke++ | / (3 files):
00:38 dalek rakudo/nom: use the same extension as the other p6 script
00:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37fcfadf44
00:38 dalek rakudo/nom: 05dd709 | coke++ | docs/release_guide.pod:
00:38 dalek rakudo/nom: Revert "use more -correct- unicode"
00:38 dalek rakudo/nom:
00:38 dalek rakudo/nom: This reverts commit d70ff74d4cae6ae9d880d33d39fd1edc96c8a385.
00:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/05dd7099f8
00:38 dalek rakudo/nom: c8fc189 | coke++ | docs/announce/2015.10.md:
00:38 dalek rakudo/nom: Revert "use more -correct- unicode"
00:38 dalek rakudo/nom:
00:38 dalek rakudo/nom: This reverts commit a76c349870bbc9f25fb0465d553139a9b1df9903.
00:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8fc189f7c
00:38 dalek rakudo/nom: aab87c3 | coke++ | docs/announce/2015.10.md:
00:38 dalek rakudo/nom: pick a name, add changes, people
00:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aab87c3a06
00:42 dalek rakudo/nom: db80714 | coke++ | tools/build/NQP_REVISION:
00:42 dalek rakudo/nom: [release] bump NQP revision
00:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/db807143ae
00:42 dalek rakudo/nom: 790a101 | coke++ | docs/release_guide.pod:
00:42 dalek rakudo/nom: Note release name
00:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/790a10139d
00:43 BenGoldberg joined #perl6
00:47 Ben_Goldberg joined #perl6
00:52 dalek rakudo/nom: be0f447 | coke++ | docs/release_guide.pod:
00:52 dalek rakudo/nom: add a note about tagging with the version
00:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/be0f447158
00:56 Effilry joined #perl6
01:00 atweiden joined #perl6
01:01 Effilry joined #perl6
01:04 araujo_ joined #perl6
01:08 [Coke] t/spec/S32-io/IO-Socket-Async hanging...
01:09 novapatch joined #perl6
01:10 TimToady will try to repro here
01:12 tokuhirom_ is there a way to implement grammar like `token foo { . ** $*BODY-LENGTH}`?
01:13 tokuhirom_ with `token bar { . { $*BODY-LENGTH = $/.Str.Int } }`
01:13 TimToady . ** {$*BODY-LENGTH}
01:15 tokuhirom_ wow! thanks
01:23 tokuhiro_ joined #perl6
01:25 garu tokuhirom_: dumbbench told me http-useragent is taking an average of 14 seconds to do what furl takes only 0.04 seconds to do O_O
01:25 tokuhirom_ heh
01:25 garu it's eating a lot of compile-time I suppose
01:25 garu wonder how to best benchmark the runtime
01:26 garu specially in ways that let us see how to improve things
01:26 garu is there a Devel::NYTProf equivalent for Perl 6 already?
01:27 TimToady try the --profile switch
01:28 garu TimToady: thanks!
01:32 TimToady [Coke]: didn't hang here...
01:34 [Coke] "normal" S17/async crap here. :|
01:37 softmoth joined #perl6
01:40 garu interesting... perl6 --profile tells me it is taking it 0.33 seconds to run (exec + gc + dyn opti)
01:41 garu tokuhirom_: still one order of magnitude slower than furl, but MUCH better :)
01:42 tokuhirom_ heh
01:45 garu TimToady++ # native embedded profiler \o/
01:46 TimToady I didn't do it :)
01:46 garu who did?? I must spread the karma :D
01:47 TimToady I think jnthn++ did the original work, but others++ have helped
01:47 garu only now I desperately want to hack on --profile to make it easier to translate between statements and profile entries
01:47 garu which is most definitely way out of my league since I'm just getting started
01:48 garu but I honestly want to help in any way I can
01:49 garu even if it is 'filling everyone with stupid questions and writing documentation or small helpers'
01:50 TimToady garu++
01:52 garu TimToady: any low hanging fruits of particular interest I can try and grab before christmas to let you and the other heroes do the heavy lifting? otherwise I'll come up with something :)
01:53 psch j: my $foo = [ 42 ]; $foo[1] = $foo; say EVAL $foo.perl # grml
01:53 camelia rakudo-jvm be0f44: OUTPUT«java.lang.NullPointerException␤  in block <unit> at EVAL_0:1␤  in block <unit> at /tmp/rZzatL7dRN:1␤␤»
01:53 psch there's lots of those around, still :/
01:53 psch probably not LHF though
01:55 pierrot joined #perl6
01:55 TimToady afk &
01:56 psch m: use Foo::from
01:56 camelia rakudo-moar be0f44: OUTPUT«===SORRY!===␤Could not find Foo::from in any of:␤  file#/home/camelia/.perl6/2015.09-473-gbe0f447/lib␤  inst#/home/camelia/.perl6/2015.09-473-gbe0f447␤  file#/home/camelia/rakudo-inst-1/share/perl6/lib␤  file#/home/camelia/rakudo-inst-1/share/per…»
01:57 psch garu: there's only RT #126087 tagged as LHF in RT currently, and iirc i pushed a fix for that some time ago, but neglected to say so in the ticket...
01:57 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126087
01:57 colomon joined #perl6
01:57 psch garu: that aside, what's interesting to you?
01:57 flussence [Coke]: I gave the spectest a run, t/spec/S32-io/IO-Socket-Async failed but no hangs here...
01:59 kaare_ joined #perl6
02:01 garu psch: I don't know... I'd like to learn the internals a bit I think. I'm also interested in toolchain stuff and creating tools that help other developers achieve more, faster
02:02 yeahnoob joined #perl6
02:03 psch garu: #126375 might be an interesting start into internals
02:03 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126375
02:03 konobi pmurias: give me a ping and I can give you a run down.
02:03 dayangkun joined #perl6
02:03 psch garu: it's about the unimplemented meta operator S
02:04 psch garu: i wouldn't say you'd need to implement the meta operator, an NYI Exception is probably sufficient at the moment
02:04 garu psch: thanks! would you mind if I nagged you now and again if I bump into issues or have any silly questions?
02:05 psch garu: as an overview, you'd need to find out how the operator is parsed, what kind of AST is built and how to throw an Exception instead
02:05 psch garu: sure, i'll answer questions whenever i'm around.  i'm pretty sure many other people readily help as well, though :)
02:07 garu psch++
02:08 psch r: my ::foo $x;
02:08 camelia rakudo-{moar,jvm} be0f44: ( no output )
02:08 noganex_ joined #perl6
02:08 psch r: my ::foo $x, say $x
02:08 camelia rakudo-moar be0f44: OUTPUT«Method 'gist' not found for invocant of class 'foo'␤  in block <unit> at /tmp/tmpfile:1␤␤»
02:08 camelia ..rakudo-jvm be0f44: OUTPUT«Unhandled exception: java.lang.StackOverflowError␤  in ␤  in ␤  in ␤  in ␤  in ␤  in new␤  in reification-target␤  in from-slurpy-flat␤  in bless␤  in new␤  in new␤  in ␤  in ␤  in ␤  in BUILDALL␤  in bless␤  in new␤  in …»
02:09 psch r: my $x, say $x
02:09 camelia rakudo-{moar,jvm} be0f44: OUTPUT«(Any)␤»
02:09 psch m: (::foo).say
02:09 camelia rakudo-moar be0f44: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol foo␤»
02:09 psch j: (::foo).say
02:09 camelia rakudo-jvm be0f44: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol foo␤»
02:10 psch j: my ::foo $x; say $x
02:10 camelia rakudo-jvm be0f44: OUTPUT«java.lang.StackOverflowError␤␤»
02:10 Ben_Goldberg m: my ::foo $x; say $x
02:10 camelia rakudo-moar be0f44: OUTPUT«Method 'gist' not found for invocant of class 'foo'␤  in block <unit> at /tmp/uayFm6yfT8:1␤␤»
02:12 psch j: my $x = "foo"; say MY::.values.grep(/foo/)
02:12 camelia rakudo-jvm be0f44: OUTPUT«Method 'match' not found for invocant of class 'Mu'␤  in block <unit> at /tmp/QZSHjC6AG_:1␤␤»
02:13 psch j: my $x = "foo"; say MY::.values.grep(m/foo/)
02:13 camelia rakudo-jvm be0f44: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/MvOrny03QO:1␤␤»
02:13 psch j: my $x = "foo"; say MY::.values.grep({ m/foo/ })
02:13 camelia rakudo-jvm be0f44: OUTPUT«Method 'match' not found for invocant of class 'Mu'␤  in block <unit> at /tmp/_XdXm6cnq2:1␤␤»
02:13 psch m: my $x = "foo"; say MY::.values.grep({ m/foo/ })
02:13 camelia rakudo-moar be0f44: OUTPUT«Method 'match' not found for invocant of class '!UNIT_MARKER'␤  in block <unit> at /tmp/53muFiv0lC:1␤␤»
02:13 psch r: my $x = "foo"; say MY::.values.grep: * eq 'foo' # pff
02:13 camelia rakudo-moar be0f44: OUTPUT«Use of uninitialized value of type !UNIT_MARKER in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in whatevercode  at /tmp/tmpfile:1␤Use of uninitialized value of type EXPORT in string context␤Any of .…»
02:13 camelia ..rakudo-jvm be0f44: OUTPUT«Cannot call infix:<eq>(Mu, Str); none of these signatures match:␤    ($x?)␤    (\a, \b)␤    (Blob:D $a, Blob:D $b)␤    (Str:D \a, Str:D \b --> Bool:D)␤    (str $a, str $b --> Bool:D)␤  in block <unit> at /tmp/tmpfile:1␤␤»
02:14 psch r: my $x = "foo"; say MY::.values.grep: { ( $_ // '' ) eq 'foo' } # i should stop short-handing tests
02:14 camelia rakudo-jvm be0f44: OUTPUT«()␤»
02:14 camelia ..rakudo-moar be0f44: OUTPUT«(foo)␤»
02:15 psch r: my $x; say MY::.keys.grep: { ($_ // '') eq 'x' }
02:15 camelia rakudo-{moar,jvm} be0f44: OUTPUT«()␤»
02:15 psch uh, wait, ::.keys is packages and classes..?
02:17 psch r: my $x; say MY::.keys.grep: { ($_ // '') eq '$x' } # well, they agree it exists...
02:17 camelia rakudo-{moar,jvm} be0f44: OUTPUT«($x)␤»
02:18 psch so i guess that's something about values, which is a MappyIterator...
02:23 leont joined #perl6
02:26 n0tjack joined #perl6
02:27 AndyDee joined #perl6
02:29 Ben_Goldberg m: my $x = 'foo'; say MY::<$x>
02:29 camelia rakudo-moar be0f44: OUTPUT«foo␤»
02:31 Ben_Goldberg m: my $x = 'foo'; say MY::.flat.reverse.hash<foo>
02:31 camelia rakudo-moar be0f44: OUTPUT«(Any)␤»
02:31 Ben_Goldberg m: my $x = 'foo'; say MY::.flat.reverse.hash.keys
02:31 camelia rakudo-moar be0f44: OUTPUT«($=pod !UNIT_MARKER EXPORT $_ $! ::?PACKAGE GLOBALish $¢ $=finish @?INC $x $/ $?PACKAGE)␤»
02:31 psch m: my $x = 'foo'; say MY::.values.elems.say
02:31 camelia rakudo-moar be0f44: OUTPUT«MVMContext representation does not support elems␤  in block <unit> at /tmp/VjKjwzXhBh:1␤␤»
02:31 psch m: my $x = 'foo'; say MY::.values.list.elems
02:31 camelia rakudo-moar be0f44: OUTPUT«13␤»
02:32 psch j: my $x = 'foo'; say MY::.values.list.elems
02:32 Ben_Goldberg m: my $x = 'foo'; say MY::.flat
02:32 camelia rakudo-jvm be0f44: OUTPUT«java.lang.NullPointerException␤  in block <unit> at /tmp/4UBvSWsYPb:1␤␤»
02:32 camelia rakudo-moar be0f44: OUTPUT«($=pod => [] !UNIT_MARKER => (!UNIT_MARKER) EXPORT => (EXPORT) $_ => (Any) $! => Nil ::?PACKAGE => (GLOBAL) GLOBALish => (GLOBAL) $¢ => Nil $=finish => (Mu) @?INC => (file#/home/camelia/.perl6/2015.09-473-gbe0f447/lib inst#/home/camelia/.perl6/2015.09-473…»
02:32 psch j: my $x = 'foo';  MY::.values
02:32 camelia rakudo-jvm be0f44: ( no output )
02:32 psch j: my $x = 'foo';  MY::.values.list
02:32 camelia rakudo-jvm be0f44: ( no output )
02:32 psch j: my $x = 'foo';  MY::.values.list.elems
02:32 camelia rakudo-jvm be0f44: OUTPUT«java.lang.NullPointerException␤  in block <unit> at /tmp/U86yuVj29c:1␤␤»
02:32 Ben_Goldberg m: my $x = 'foo'; say MY::.flat.elems
02:32 camelia rakudo-moar be0f44: OUTPUT«13␤»
02:32 Ben_Goldberg j: my $x = 'foo'; say MY::.flat.elems
02:33 camelia rakudo-jvm be0f44: OUTPUT«java.lang.NullPointerException␤  in block <unit> at /tmp/Ae5m7bP40O:1␤␤»
02:33 Ben_Goldberg r: my $x = 'foo'; say MY::.keys
02:33 camelia rakudo-moar be0f44: OUTPUT«($=pod !UNIT_MARKER EXPORT $_ $! ::?PACKAGE GLOBALish $¢ $=finish @?INC $x $/ $?PACKAGE)␤»
02:33 camelia ..rakudo-jvm be0f44: OUTPUT«($=finish ::?PACKAGE @?INC !UNIT_MARKER $/ $x $! GLOBALish EXPORT $¢ $=pod $_ $?PACKAGE)␤»
02:34 psch r: my $x = 'foo';  MY::.values.WHAT
02:34 camelia rakudo-{moar,jvm} be0f44: ( no output )
02:34 psch r: my $x = 'foo';  MY::.values.WHAT.say
02:34 camelia rakudo-{moar,jvm} be0f44: OUTPUT«(Seq)␤»
02:34 Ben_Goldberg r: my $x = 'foo'; say MY::.keys.sort
02:34 camelia rakudo-{moar,jvm} be0f44: OUTPUT«(!UNIT_MARKER $! $/ $=finish $=pod $?PACKAGE $_ $x $¢ ::?PACKAGE @?INC EXPORT GLOBALish)␤»
02:34 dalek rakudo/nom: bce31cb | coke++ | docs/release_guide.pod:
02:34 dalek rakudo/nom: reorder instructions
02:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bce31cbd8b
02:34 dalek rakudo/nom: 3df2630 | coke++ | VERSION:
02:34 dalek rakudo/nom: [release] bump VERSION
02:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3df26301e1
02:35 Ben_Goldberg r: my $x = 'foo'; MY::{$_}.WHAT.say for MY::.keys.sort
02:35 camelia rakudo-{moar,jvm} be0f44: OUTPUT«(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Str)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤»
02:35 Ben_Goldberg r: my $x = 'foo'; MY::{$_}.say for MY::.keys.sort
02:35 camelia rakudo-{moar,jvm} be0f44: OUTPUT«(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤$_␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤(Any)␤»
02:36 * Ben_Goldberg shrugs.
02:37 psch Ben_Goldberg: it's something about Iterators, that much i know :)
02:38 [Coke] rakudo 2015.10 is up on the download site, and tagged in the repo. I'll send out the announcement in the morning; now's a good time to grab the tarball and make sure I didn't screw anything up. JVM is busted, but moar looks good.
02:39 [Coke] .ask jnthn When you return, if you can build a tarball of the last moarvm tag we did while you were gone and upload that to the moarvm download site, jnthn++
02:39 yoleaux [Coke]: I'll pass your message to jnthn.
02:40 pierrot joined #perl6
02:40 psch r: try { POST { say 0 }; die "foo" };
02:40 camelia rakudo-jvm be0f44: ( no output )
02:40 camelia ..rakudo-moar be0f44: OUTPUT«0␤»
02:40 psch r: try { POST { say 0 }; try die "foo" };
02:40 camelia rakudo-{moar,jvm} be0f44: OUTPUT«0␤»
02:41 psch r: try { POST { say defined $! }; try die "foo" };
02:41 camelia rakudo-{moar,jvm} be0f44: OUTPUT«True␤»
02:41 psch oh duh, wrong test
02:41 psch r: try { POST { 0 }; die "foo" };
02:41 camelia rakudo-{moar,jvm} be0f44: ( no output )
02:42 psch hm, that gives "Postcond '{ 0 }' failed" locally
02:42 psch +ition
02:49 tokuhirom_ joined #perl6
02:55 psch r: my $data = "fo foo fooo"; say $data.match(/fo+/, :nth(2,3)).list
02:55 camelia rakudo-moar 3df263: OUTPUT«(「foo」 「fooo」)␤»
02:55 camelia ..rakudo-jvm 3df263: ( no output )
02:59 psch r: callframe.new.perl.say
02:59 camelia rakudo-moar 3df263: OUTPUT«CallFrame.new(level => 1, annotations => {:file("/tmp/tmpfile"), :line("1")}, my => Map.new("!UNIT_MARKER" => !UNIT_MARKER, "\$!" => Nil, "\$/" => Nil, "\$=finish" => Mu, "\$=pod" => [], "\$?PACKAGE" => GLOBAL, "\$_" => Any, "\$¢" => Nil, "::?PACKAGE" => …»
02:59 camelia ..rakudo-jvm 3df263: ( no output )
03:00 psch r: say callframe.new.starts-with("Callframe")
03:00 camelia rakudo-{moar,jvm} 3df263: OUTPUT«Method 'starts-with' not found for invocant of class 'CallFrame'␤  in block <unit> at /tmp/tmpfile:1␤␤»
03:00 psch r: say callframe.new.perl.starts-with("Callframe")
03:00 camelia rakudo-jvm 3df263: OUTPUT«java.lang.NullPointerException␤  in block <unit> at /tmp/tmpfile:1␤␤»
03:00 camelia ..rakudo-moar 3df263: OUTPUT«False␤»
03:06 awwaiid psch: http://laozi.thelackthereof.org:15555/ -- horrible idea in the form of a web repl running with --setting=RESTRICTED but otherwise just an EVAL with a session'd @history
03:09 awwaiid psch: code is at https://gist.github.com/awwaiid/3629e6a653a0b6743125
03:09 psch awwaiid: you probably also want some kind of runtime limitation...
03:10 psch or ulimits or something
03:10 awwaiid good idea
03:10 * psch doesn't know particularly much about server administration
03:10 awwaiid yeah. lots of things
03:11 awwaiid well I'll just let y'all crash my server for tonight and will ^C it in the morning
03:11 psch :D
03:11 psch awwaiid++
03:11 psch i'm not gonna touch it though, i'm taking notes on jvm spectest failures
03:11 * awwaiid stares at the log waiting anxiously for the first hits
03:11 awwaiid okie dkie
03:12 awwaiid gnight!
03:14 labster leont: I think I'd prefer those methods in IO::Spec myself.  I suspect that IO::Spec.select is used in exactly 0 modules, and could be moved, but I could be wrong.
03:14 tokuhiro_ joined #perl6
03:14 leont labster: I would prefer that too, but it seemed like a bigger change
03:14 labster also sorry about copying the bad design from P5.
03:15 skids .oO(Speaking of things like RESTRICTED I forsee one of the features people will want is the ability to safely run basic rx syntaxes from untrusted sources.)
03:15 leont If that method wasn't documented in S32, I would have changed it. In my head it should change there first
03:16 leont p5 File::Spec has it because it is an extract from ExtUtils::MakeMaker. EUMM has it because it's the second OO project in perl5 ever and people genuinly didn't know better back then
03:16 labster Well, let's just make a PR for that first.  Now if I could figure out where to move it...
03:16 leont Somewhere in IO?
03:19 labster Yes.  Somewhere.
03:21 psch r: sub f($x is rw) { $x++ }; f(1).say
03:21 labster Hard problem #1: naming things.
03:21 camelia rakudo-jvm 3df263: OUTPUT«Cannot assign to an immutable value␤  in sub f at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
03:21 camelia ..rakudo-moar 3df263: OUTPUT«Parameter '$x' expected a writable container, but got Int value␤  in sub f at /tmp/tmpfile:1␤  in block <unit> at /tmp/tmpfile:1␤␤»
03:23 leont Just realized today we had all 3 out of the "2" difficult problems in a project in a timespan two days or so, was a funny realization
03:24 psch r: my $a = :b; say $a.key =:= $a.key
03:24 camelia rakudo-{moar,jvm} 3df263: OUTPUT«True␤»
03:24 labster leont: IO::Spec::Select.select()?  This op is so far down the chain that "no one" should use it.
03:24 psch yay, accidental RT fix
03:24 labster woo!
03:25 softmoth joined #perl6
03:27 leont I can think of uses for it (translating between different path syntaxes, which is essentially my use-case too), but its uncommon
03:27 labster I'm already missing the days when you could just push massive changes to perl6/specs.
03:28 labster Oh, right.  When you don't want to look up the class yourself / don't want to rewrite that if loop.
03:28 labster *if block
03:28 * Ben_Goldberg wonders what an 'if loop' would look like.
03:29 psch m: role Foo { }; my $x = 1 but Foo; say $x ~~ Foo
03:29 camelia rakudo-moar 3df263: OUTPUT«True␤»
03:29 psch j: role Foo { }; my $x = 1 but Foo; say $x ~~ Foo
03:29 camelia rakudo-jvm 3df263: OUTPUT«False␤»
03:29 psch j: role Foo { }; my $x = 1 but Foo; say $x.WHAT
03:29 camelia rakudo-jvm 3df263: OUTPUT«(Int)␤»
03:29 psch j: role Foo { }; my $x = 1 but False; say so $x
03:29 camelia rakudo-jvm 3df263: OUTPUT«True␤»
03:29 Ben_Goldberg You can use 'r:', you know.
03:29 ugexe ouch
03:29 labster m: say "hi" if loop { last }
03:29 camelia rakudo-moar 3df263: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TlXboSyu8R␤Undeclared routine:␤    loop used at line 1␤␤»
03:30 Ben_Goldberg r: role Foo { }; my $x = 1 but Foo; say $x.WHAT
03:30 camelia rakudo-moar 3df263: OUTPUT«(Int+{Foo})␤»
03:30 camelia ..rakudo-jvm 3df263: ( no output )
03:30 labster if loop NYI
03:30 Ben_Goldberg r: role Foo { }; my $x = 1 but Foo; say $x ~~ Foo;
03:30 camelia rakudo-jvm 3df263: OUTPUT«False␤»
03:30 camelia ..rakudo-moar 3df263: OUTPUT«True␤»
03:30 * psch shrugs
03:30 leont labster: I'll probably be offline this weekend, but will adapt my PR if the spec change is approved
03:31 psch not the kind of feedback i expected, but i guess i should've moved to a query long ago, actually
03:32 labster leont: We may or may not do a very short deprecation cycle.  But this is very much the time to fix minor design decisions.
03:34 leont We'll see
03:36 leont We could really use a Pod::To::Groff and a Pod::To::Console (probably in that order), Pod::To::Text is functional but not exactly up to 2015 standards.
03:37 labster leont: agreed.  https://github.com/perl6/perl6-most-wanted/
03:41 zacts joined #perl6
03:58 xinming_ joined #perl6
04:01 llfourn joined #perl6
04:12 psch https://gist.github.com/peschwa/e2b203ffd43e700c6207
04:13 psch looks like a few failure modes that cause lots of test files to abort and a few wonky things in between
04:13 psch i'll probably look at "No such attribute '$!signature' for this object" tomorrow
04:14 psch that seems rather important, and sounds familiar enough to give me hope that i can get it worked out... :)
04:14 psch g'night #perl6 o/
04:20 tokuhirom_ joined #perl6
04:31 cognominal joined #perl6
04:34 araujo joined #perl6
04:34 araujo joined #perl6
04:44 rbk_ joined #perl6
04:51 rbk_ I get Unhandled exception: byte code stream corrupt (missing magic string) when I run the code at http://examples.perl6.org/categories/interpreters/RPN.html
04:51 rbk_ How can this be fixed?
04:53 n0tjack joined #perl6
05:05 FireFly joined #perl6
05:08 Timbus joined #perl6
05:08 rbk_ I get Unhandled exception: byte code stream corrupt (missing magic string) when I run the code at http://examples.perl6.org/categories/interpreters/RPN.html
05:09 rbk_ Any ideas on how this can be fixed?
05:10 labster_ joined #perl6
05:13 softmoth joined #perl6
05:19 yeahnoob joined #perl6
05:21 tokuhirom_ joined #perl6
05:22 llfourn where is the normal place to put tmp files needed for tests in t/
05:22 yoleaux 22 Oct 2015 19:40Z <lizmat> llfourn: commit 3c9c4591cf0f666607dd made my $rx = /./; say <one two three>.grep: { not $rx or so $rx } DWIM
05:23 llfourn lizmat: \o/
05:26 llfourn m: my $rx = /./; say <one two  three>.grep: { not $rx or so $rx }
05:26 camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
05:27 llfourn m: my $rx = /t/; say <one two  three>.grep: { not $rx or so $rx }
05:27 camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
05:27 llfourn m: my $rx = /two/; say <one two  three>.grep: { not $rx or so $rx }
05:27 camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
05:27 llfourn m: my $rx = /two/; say <one two  three>.grep: { not $rx or $_ ~~ $rx }
05:27 camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
05:28 llfourn m: my $rx = /two/; say <one two three>.grep: {  $_ ~~ $rx }
05:28 camelia rakudo-moar 3df263: OUTPUT«(two)␤»
05:37 llfourn m: my $rx = /t/; say <one two three>.grep: { not $rx or $rx }
05:37 camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
05:38 llfourn m: my $rx = /t/; say <one two three>.grep: { not $rx or so $rx }
05:38 camelia rakudo-moar 3df263: OUTPUT«(one two three)␤»
05:38 llfourn m: my $rx = /t/; say <one two three>.grep: { $rx }
05:38 camelia rakudo-moar 3df263: OUTPUT«(two three)␤»
05:40 llfourn .tell lizmat it's gotten rid of the calling match on Any. What I orignally wanted was { not $rx.defined or $_ ~~ $rx }. But { not $rx or so $rx } now means { not $_ ~~ $rx or $_ ~~ $rx } # always true
05:40 yoleaux llfourn: I'll pass your message to lizmat.
05:42 llfourn .tell lizmat actually the 'so' is redundant it seems { not $rx or $rx } means the same thing.
05:42 yoleaux llfourn: I'll pass your message to lizmat.
06:09 diana_olhovik joined #perl6
06:25 [Tux] test             50000    37.880    37.765
06:25 [Tux] test-t           50000    38.945    38.831
06:28 firstdayonthejob joined #perl6
06:34 rurban joined #perl6
06:38 Ven joined #perl6
06:40 dalek problem_solver_tutorial: 1eed18f | lichtkind++ | chapter/text0.md:
06:40 dalek problem_solver_tutorial: moving paragraph 6 to third position
06:40 dalek problem_solver_tutorial: review: https://github.com/perl6/problem_solver_tutorial/commit/1eed18f4b6
06:42 dalek problem_solver_tutorial: a7baf3d | lichtkind++ | table-of-content.md:
06:42 dalek problem_solver_tutorial: updating toc
06:42 dalek problem_solver_tutorial: review: https://github.com/perl6/problem_solver_tutorial/commit/a7baf3dc22
06:50 dalek problem_solver_tutorial: c24cc7c | lichtkind++ | / (3 files):
06:50 dalek problem_solver_tutorial: more toc content
06:50 dalek problem_solver_tutorial: review: https://github.com/perl6/problem_solver_tutorial/commit/c24cc7c6a4
06:56 darutoko joined #perl6
06:56 abraxxa joined #perl6
07:01 softmoth joined #perl6
07:02 domidumont joined #perl6
07:04 dalek problem_solver_tutorial: daf5af9 | lichtkind++ | / (2 files):
07:04 dalek problem_solver_tutorial: preparing the next bits
07:04 dalek problem_solver_tutorial: review: https://github.com/perl6/problem_solver_tutorial/commit/daf5af9385
07:09 rindolf joined #perl6
07:17 Ven joined #perl6
07:20 n0tjack joined #perl6
07:21 FROGGS joined #perl6
07:27 Ven joined #perl6
07:34 ely-se joined #perl6
07:35 Hotkeys gonna attempt to build w vs 2010
07:37 aborazmeh joined #perl6
07:37 aborazmeh joined #perl6
07:51 Hotkeys oh hey
07:52 Hotkeys it actually worked
08:00 FROGGS \o/
08:00 yoleaux 22 Oct 2015 20:22Z <nine> FROGGS: https://github.com/rakudo/rakudo/commit/416b5aa612
08:00 FROGGS nine++
08:09 itz_stmuk Niceville++
08:09 ollej left #perl6
08:09 TimToady is the next one Naughtyville?
08:10 TimToady I suppose December's should be NorthPole
08:11 pollei left #perl6
08:14 ribasushi joined #perl6
08:16 Ven joined #perl6
08:17 duncan_dmg joined #perl6
08:22 ambs joined #perl6
08:23 itz_stmuk my favourite release naming was the xemacs 21.4.x oxymoron series
08:23 itz_stmuk https://en.wikipedia.org/w/index.php?title=XEmacs&amp;curid=34204&amp;diff=21493211&amp;oldid=21248134
08:23 abaugher joined #perl6
08:24 itz_stmuk "Honest Recruiter" "Reasonable Discussion"
08:25 RabidGravy joined #perl6
08:33 rindolf joined #perl6
08:37 szabgab joined #perl6
08:37 szabgab p6: use Test; plan 1; ok 1;
08:37 yoleaux 18 Oct 2015 10:20Z <RabidGravy> szabgab: you might find something like https://gist.github.com/jonathanstowe/c569f10659f13cb43abd is even more idiomatic
08:37 yoleaux 18 Oct 2015 10:21Z <RabidGravy> szabgab: but otherwise yeah great :)
08:37 camelia rakudo-moar 3df263: OUTPUT«1..1␤ok 1 - ␤»
08:37 szabgab p6: use Test; plan 1; diag "hello"; ok 1;
08:37 camelia rakudo-moar 3df263: OUTPUT«1..1␤# hello␤ok 1 - ␤»
08:38 virtualsue joined #perl6
08:39 espadrine_ joined #perl6
08:39 szabgab strange
08:40 szabgab running a tests script using     prove -v -e"perl6 -Ilib"     does not show the diag message
08:40 szabgab running directly perl6 ...   shows the diag message
08:41 szabgab but my rakudo is a few weeks old, so who know?
08:46 moritz szabgab: sounds more like a question of what "prove" does
08:48 actualeyes_ joined #perl6
08:49 softmoth joined #perl6
08:50 RabidGravy I'm sure I have tests that do show diags
08:50 RabidGravy let's look
08:52 llfourn speaking of tests, what is the convention for tmp files needed during testing?
08:53 llfourn do i put them under $*TMPDIR is that what it's for? and what the best way to make sure they get deleted if something bad happens in the test?
08:54 * llfourn has never released a perl 5 module
08:54 RabidGravy END { ... }
08:54 RabidGravy delete the files in there
08:54 llfourn kk thanks :)
08:56 RabidGravy szabgab, yeah the https://github.com/jonathanstowe/Audio-Sndfile/blob/master/t/005-constructor.t does a diag that shows up in the outpur
08:56 RabidGravy output
08:56 szabgab the Test in Perl 6 print the diag message to STDOUT
08:57 szabgab while Test::More in Perl 5 prints it to STDERR
08:58 El_Che hi szabgab, coming to fosdem this time?
08:58 szabgab El_Che: not likely, though I'd love to
08:58 El_Che szabgab: you need to find a client in the neighborhood between now and then :)
08:58 pyrimidine joined #perl6
08:59 szabgab El_Che: that would be perfect :)
09:00 duncan_dmg joined #perl6
09:01 RabidGravy m: use NativeCall; my $b = CArray[num32].new; $b[10] = 0
09:01 camelia rakudo-moar 3df263: OUTPUT«This type cannot unbox to a native number␤  in method <anon> at lib/NativeCall/Types.pm:113␤  in block <unit> at /tmp/JBITit54Lc:1␤␤»
09:01 RabidGravy that's a new one
09:01 szabgab moritz: so it seesm prove let's throught the diag message of perl 5 that was printed to STDERR, but because in Perl 6 it is printed to STDOUT, prove hides it
09:04 RabidGravy szabgab, but it does in the code I posted above:
09:04 RabidGravy prove -v -e 'perl6 -Ilib' t/005-constructor.t
09:04 RabidGravy t/005-constructor.t ..
09:04 RabidGravy # Testing with libsndfile-1.0.25
09:07 kjs_ joined #perl6
09:08 szabgab RabidGravy: is that the prove that comes with perl 5 Test::Harness?
09:08 RabidGravy prove --version
09:08 RabidGravy TAP::Harness v3.35 and Perl v5.20.3
09:08 RabidGravy so yep
09:09 telex joined #perl6
09:09 szabgab could you please run the test  with      perl6 -Ilib ....  > out   and check if the diag is printed to stdout or stderr ?
09:12 [Sno] joined #perl6
09:14 RabidGravy stdout
09:15 moritz szabgab: then maybe we should change Test.pm to print to STDERR
09:15 szabgab I ran       prove -v -e "perl6 -Ilib" t/005-constructor.t    and I don't see the output
09:15 RabidGravy okay that's weird
09:15 szabgab prove --version TAP::Harness v3.35 and Perl v5.22.0
09:16 szabgab on OSX
09:18 lizmat .botsnack
09:18 yoleaux :D
09:18 synbot6 om nom nom
09:18 yoleaux 05:40Z <llfourn> lizmat: it's gotten rid of the calling match on Any. What I orignally wanted was { not $rx.defined or $_ ~~ $rx }. But { not $rx or so $rx } now means { not $_ ~~ $rx or $_ ~~ $rx } # always true
09:18 yoleaux 05:42Z <llfourn> lizmat: actually the 'so' is redundant it seems { not $rx or $rx } means the same thing.
09:18 szabgab anyway, how do I print to STDERR?
09:20 lizmat szabgab: in Test.pm, line 38, is where is determined that Test.pm prints to STDOUT
09:21 zostay joined #perl6
09:21 gonz_ joined #perl6
09:21 RabidGravy szabgab: '$*ERR.say: "foo"
09:22 lizmat note "foo"
09:23 szabgab Oh, thanks. I see 'note' goes to STDERR and diag goes to STDOUT
09:24 szabgab RabidGravy: and thanks that too
09:25 lizmat I get 2 spectest failures with Test.pm sending all its output to STDERR
09:26 lizmat and they're both tests specifically checking err/out output
09:26 lizmat so, fwiw, I don't see a reason why Test.pm would not send all its output to STDERR
09:27 lizmat if there is a good reason for that change...
09:28 espadrine_ joined #perl6
09:28 szabgab lizmat: let me check that perl 5 diag again
09:29 petercommand joined #perl6
09:29 Psyche^ joined #perl6
09:32 szabgab lizmat: just checked again in p5 Test::More diag goes to STDOUT and not goes to STDERR when running directly, though as I recall that behaviour also depends on some environment variables
09:32 szabgab so it would make sense to default to the same p6 Test
09:34 lizmat well, I'm not sure doing the same as p5 would always be the best  :-)
09:34 lizmat personally, I've been bitten by diag sending tou STDOUT in p5
09:34 lizmat *to
09:35 lizmat so I would like to hear the reason why it is a good idea to send diag output to STDOUT
09:35 szabgab ok, *  :)
09:35 lizmat and the rest to STDERR  :-)
09:36 Woodi joined #perl6
09:37 szabgab what is the difference between diag and note in p6 ?
09:37 lizmat note is core, diag is exported by Test
09:37 lizmat m: note "look ma, no Test"
09:37 camelia rakudo-moar 3df263: OUTPUT«look ma, no Test␤»
09:38 RabidGravy and the '#'
09:38 lizmat m: diag "look ma, no Test"
09:38 camelia rakudo-moar 3df263: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u_ytEkSXdi␤Undeclared routine:␤    diag used at line 1␤␤»
09:38 lizmat m: use Test; diag "look ma, no Test"
09:38 camelia rakudo-moar 3df263: OUTPUT«# look ma, no Test␤»
09:38 szabgab oh, so it is just a regular print to STDERR ?
09:38 lizmat m: use Test; diag "look ma\n newlines"
09:38 camelia rakudo-moar 3df263: OUTPUT«# look ma␤#  newlines␤»
09:38 lizmat note is just say on STDERR
09:39 lizmat diag prefixes every line with "# " and writes on STDERR
09:39 RabidGravy note can be thought an alternative to warn that doesn't print the context
09:39 szabgab oh, then it is not a good replacement for my needs :)
09:39 szabgab AFAIK TAP mandates that "# "
09:39 RabidGravy yeah
09:42 szabgab OK, I don't know
09:43 szabgab I can use     note "# bla"     for my purposes now.
09:46 domidumont1 joined #perl6
09:51 RabidGravy grr, github flaky this morning
09:55 Ven .u ⍝
09:55 yoleaux U+235D APL FUNCTIONAL SYMBOL UP SHOE JOT [So] (⍝)
09:58 pochi_ joined #perl6
09:59 pink_mist https://www.youtube.com/watch?v=MzJ0CytAsec this is perl5 related, but pretty funny nonetheless :P
09:59 dj_goku joined #perl6
10:01 mathw_ joined #perl6
10:01 krakan_ joined #perl6
10:01 mls_ joined #perl6
10:01 japhb_ joined #perl6
10:01 psch_ joined #perl6
10:02 El_Che_ joined #perl6
10:03 lucs_ joined #perl6
10:03 ilmari_ joined #perl6
10:03 preyalone_ joined #perl6
10:03 quuxman_ joined #perl6
10:04 ely-se .u 🕴
10:04 yoleaux No characters found
10:05 ely-se Bots that don't know about MAN IN BUSINESS SUIT LEVITATING suck.
10:05 ely-se no botsnack for you
10:05 synbot6 om nom nom
10:06 pecastro_ joined #perl6
10:06 Ven joined #perl6
10:06 ggherdov_ joined #perl6
10:08 lizmat synbot6 is really like the cookie monsters, it will eat any botsnack
10:08 synbot6 om nom nom
10:08 woodruffw joined #perl6
10:08 skaji joined #perl6
10:08 pink_mist well yoleaux wasn't going to get it, synbot6 might as well grab it :P
10:08 ben joined #perl6
10:08 ely-se pink_mist: what is "it"?
10:09 pink_mist the snack
10:09 ely-se the botsnack?
10:09 synbot6 om nom nom
10:09 * pink_mist doesn't want to get synbot6 all over him, so is very carefully avoiding saying botsnack
10:09 xxx joined #perl6
10:09 pink_mist 0_o that one didn't register :P
10:10 Bucciarati joined #perl6
10:11 lizmat maybe synbot6 has no appetite for botsnack anymore ?
10:11 synbot6 om nom nom
10:11 lizmat hmmm...
10:12 ely-se inb4 synbot6 vomits
10:14 raydiak joined #perl6
10:14 vytas joined #perl6
10:14 rindolf joined #perl6
10:14 lizmat m: sub a(Int:D() $a) { dd $a }; a "42"   # type smileys not complete first citizen yet :-(
10:14 camelia rakudo-moar 3df263: OUTPUT«Type check failed in binding $a; expected Int but got Str␤  in sub a at /tmp/bIORsmiOVK:1␤  in block <unit> at /tmp/bIORsmiOVK:1␤␤»
10:15 RabidGravy right I think that's fixed my native unboxing thing
10:15 lizmat m: sub a(Int() $a) { dd $a }; a "42"   # works ok without the smiley
10:15 camelia rakudo-moar 3df263: OUTPUT«Int $var = 42␤»
10:15 ugexe joined #perl6
10:16 spacebat joined #perl6
10:17 clkao joined #perl6
10:19 FROGGS lizmat: handling in params is not done yet, because the param-handling used to cheat in the past
10:20 FROGGS lizmat: otherwise we would not have had smileys there at all
10:20 lizmat aha, I guess that's also the reason it's so hard to get "use parameters" and "use invocant" to work
10:20 lizmat should I rakudobug it ?
10:21 FROGGS yeah :/
10:21 FROGGS (I was hoping to get the ticket count down to 2**10)
10:27 abraxxa joined #perl6
10:29 leont joined #perl6
10:29 pmurias joined #perl6
10:30 lizmat FROGGS: #126433   :-(
10:30 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126433
10:30 lizmat .oO( starting to feel more like the masakbot every day )
10:31 lizmat on a more humorous note: http://foksuk.nl/#fd6176c93539fec48b33c273b592a166
10:32 lizmat "Fokke & Sukke will not switch to Windows 10", "Because with XP, you're not botherd..." "by security updates all of the time"
10:32 nine That's almost too realistic to be funny :)
10:34 dalek ecosystem: 053c722 | (Tokuhiro Matsuno)++ | META.list:
10:34 dalek ecosystem: Added WebSocket.pm
10:34 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/053c722b36
10:35 nine .tell psch My "doesn't even warrant a comment" was highly sarcastic :) In fact I already have the comment you suggested in there.
10:35 yoleaux nine: I'll pass your message to psch.
10:35 ely-se lizmat: dat monitor
10:36 * pink_mist is always unsure whether to actually make such a comment or just remain quiet; commenting that something doesn't warrant a comment is after all a comment in itself, thereby defeating the purpose of the comment
10:37 lizmat .oO( I'm not gonna comment on that )
10:37 softmoth joined #perl6
10:38 pink_mist lizmat: :P
10:39 ely-se # no comment
10:39 huf i have no words
10:41 llfourn m: role A { multi method a(Str $a) {nextwith($a.Int)}}; class B is A { multi method a(Int $a) { say "win" } }; B.a("1")
10:41 camelia rakudo-moar 3df263: ( no output )
10:41 llfourn m: role A { multi method a(Str $a) {nextwith($a.Int)}}; class B is A { multi method a(Int $a) { say "win" } }; say B.a("1")
10:41 camelia rakudo-moar 3df263: OUTPUT«Nil␤»
10:41 llfourn why nextwith no work there?
10:42 llfourn m: role A { multi method a(Str $a) {nextwith($a.Int)}}; class B does A { multi method a(Int $a) { say "win" } }; say B.a("1") #fix does
10:42 camelia rakudo-moar 3df263: OUTPUT«Nil␤»
10:43 lizmat m: role A { multi method a(Str $a) {samewith($a.Int)}}; class B does A { multi method a(Int $a) { say "win" } }; say B.a("1")
10:43 camelia rakudo-moar 3df263: OUTPUT«Cannot call a(A: Int); none of these signatures match:␤    (B $: Int $a, *%_)␤    (B $: Str $a, *%_)␤  in method a at /tmp/DcdfCgAq4x:1␤  in block <unit> at /tmp/DcdfCgAq4x:1␤␤»
10:44 * llfourn learns about samewith
10:44 lizmat m: role A { multi method a(Str $a) {self.a($a.Int)}}; class B does A { multi method a(Int $a) { say "win" } }; say B.a("1")
10:44 camelia rakudo-moar 3df263: OUTPUT«win␤True␤»
10:45 lizmat I think, although I thought up samewith, it is really a bad alternative for doing self.name_of_method(alternate params)
10:45 lizmat the latter is much clearer, I thonk
10:45 lizmat *think
10:45 * llfourn never understood the difference between callwith nextwith and now...samewith
10:46 DrForr What, no previouswith Or am I courting fire here? :)
10:46 RabidGravy call* returns to the caller next* doesn't
10:47 llfourn lizmat: I think self.a or just $.a is fine I just knew about all these "withs" that I thought it might be idiomatic to use one :P
10:48 RabidGravy for me, self.meth(<different args>) is a common pattern in multis
10:49 RabidGravy not just in Perl 6 I might add
10:49 llfourn RabidGravy: yes it's a good place to convert things into better suited args to call the main method
10:56 dalek nqp: 78a6682 | (Pawel Murias)++ | src/QAST/C (2 files):
10:56 dalek nqp: Make --target=ast dump pre_deserialize and post_deserialize code for CompUnits.
10:56 dalek nqp: review: https://github.com/perl6/nqp/commit/78a6682111
10:56 dalek nqp: ba972b6 | (Pawel Murias)++ | src/QAST/ (3 files):
10:56 dalek nqp: Dump .fallback for VarWithFallback when doing --target=ast.
10:56 dalek nqp:
10:56 dalek nqp: Generalize printing out of tagged children nodes.
10:56 dalek nqp: review: https://github.com/perl6/nqp/commit/ba972b6965
10:57 ilmari a
10:57 ilmari bah
11:05 FROGGS m: sub a(Int:D() $a) { dd $a }; a Int
11:05 camelia rakudo-moar 3df263: OUTPUT«Parameter '$a' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in sub a at /tmp/7TJkatOmU2:1␤  in block <unit> at /tmp/7TJkatOmU2:1␤␤»
11:06 FROGGS this could do the DefiniteHOW type check in future...
11:07 FROGGS I mean, it does the typecheck anyway I guess, but it specialcases the smilies, which is what we dont need anymore
11:07 RabidGravy right, off shopping :-\
11:07 RabidGravy play nicely
11:07 FROGGS but changing it means changing the signature binder and other stuff
11:08 * FROGGS turns the music to level EXTRALOUD
11:08 * FROGGS shouts and throws LEGO™
11:08 DrForr . o ( Everything is AWESOME )
11:10 spider-mario joined #perl6
11:10 nine DrForr: noooooooooo! Now it won't stop for the rest of the day
11:10 DrForr Having done his evil deed for the day...
11:14 ely-se joined #perl6
11:15 aimicheng joined #perl6
11:21 lucasb_ joined #perl6
11:22 Ven joined #perl6
11:23 lucasb_ hello people. is there a moarvm tarball anywhere?
11:24 rindolf lucasb_: what kind of tarball?
11:24 yoleaux 20 Oct 2015 20:12Z <[Coke]> rindolf: - the description says S(1112), but you're looking at 11**12?
11:24 yoleaux 20 Oct 2015 20:34Z <[Coke]> rindolf: - oh, because your copy of the problem statement is missing formatting.
11:25 lucasb_ rindolf: the 2015.10 monthly release
11:25 rindolf lucasb_: ah, source?
11:25 lucasb_ yes
11:26 lizmat afaik, the tarball could not be uploaded because of jnthn's well deserved holiday
11:26 lizmat [Coke]++ did tag the release, so a tarball will become available sometime next week
11:27 lucasb_ oh, ok. thank you, lizmat
11:32 Skarsnik joined #perl6
11:33 pink_mist https://github.com/MoarVM/MoarVM/archive/2015.10.tar.gz isn't what you want?
11:34 FROGGS pink_mist: no, that's not quite it
11:34 pink_mist huh, ok
11:35 FROGGS the adhoc created zip file from github tags might contain other data
11:35 FROGGS this is not the tarball the release manager created
11:35 moritz should show up here: http://moarvm.org/releases/
11:37 tokuhir__ joined #perl6
11:41 Skarsnik Hello! I tried to bind a C lib with NativeCall. I have issue casting a pointer to a struct. I use nativecast but it does not give me proper result http://pastebin.com/PDFMqCxK (the equivalent C code, give me a length of 1 for the vector)
11:43 kid51 joined #perl6
11:43 moritz Skarsnik: why not declare gumbo_parse to return a gumbo_output_s in the first place?
11:43 Skarsnik does that work?
11:44 Skarsnik but etheir way I will need to use nativecast to get the other fields in goutput
11:44 gfldex Skarsnik: please file a report to rakudobug@perl.org
11:45 __Greg joined #perl6
11:45 __Greg left #perl6
11:45 FROGGS gfldex: why do you thing is it a rakudobug?
11:46 FROGGS Skarsnik: if I read it right in line 29, the errors member is inlined
11:46 ilbelkyr joined #perl6
11:46 FROGGS Skarsnik: if that is correct you need to use the HAS keyword in line 35
11:49 Skarsnik Oh right. I saw what you mean. Does that mean that I can replace stuff like node_t with node_s and nativecall will do the cast?
11:50 FROGGS Skarsnik: yes
11:55 Skarsnik hm, still does not work. and it change the nativesize of g_ouput
11:58 Skarsnik Interesting the C size of the goutput struct is 20 (in a C prog)
12:00 FROGGS Skarsnik: if nativecizeof reports a different size, then you declared the CStruct wrong
12:00 domidumont joined #perl6
12:01 FROGGS Skarsnik: and because that is important I usually test this; see the test 00-* https://github.com/FROGGS/p6-XML-LibXML/tree/master/t
12:02 Skarsnik well that weird   printf("GV: %d\n", sizeof(GumboVector));
12:02 Skarsnik printf("GO: %d\n", sizeof(GumboOutput)); I get 12 and 20. and I get this size if I use has (for GO), but with HAS it's 28.
12:05 Skarsnik https://github.com/google/gumbo-parser/blob/master/src/gumbo.h (the original header)
12:06 FROGGS uhh
12:07 FROGGS Skarsnik: don't use uint
12:07 Skarsnik I am surprised nobody write a small thing to create nativecall stuff from an header
12:07 FROGGS use uint32 if it is uint in C
12:07 moritz Skarsnik: the reason is that it's not small :/
12:07 FROGGS because it won't be a small thing thanks to macros and #includes :o)
12:08 Skarsnik ooh
12:08 moritz one could always use a C preprocessor that expands the macros and #includes
12:08 moritz still, requires a full C parser
12:08 Skarsnik It was the uint ><
12:08 FROGGS like clang
12:08 moritz and C isn't simple to parse
12:09 llfourn joined #perl6
12:09 Skarsnik I don't know, just parsing definition after the preprocessor does not look so hard ~~
12:09 DrForr And once you've undone the C macros there's a good chance that the structure that *looked* simple bears no relation to the code you see.
12:10 DrForr I've looked into it :/
12:10 abraxxa use llvm/clang?
12:11 leont m: $*OUT ~~ :t
12:11 camelia rakudo-moar 3df263: OUTPUT«Cannot find method 'isatty': no method cache and no .^find_method␤  in block <unit> at /tmp/rW4wFP2spA:1␤␤»
12:11 leont Smells like a bug to me, though probably one that needs an nqp implementation :-/
12:12 Skarsnik FROGGS, should nativecall doc be updated to include uint and the bool type (exist in C99)?
12:12 Skarsnik But thx for the help people :)
12:12 FROGGS Skarsnik: yes, we should update it
12:13 * [Coke] prepares to send out the email but checks backlog first...
12:14 Skarsnik I put int8 for bool but... apparently it depend on the compilateur ~~
12:15 tokuhir__ joined #perl6
12:15 pink_mist hmm, I thought C didn't have a bool type .. or has that changed in recent years?
12:16 JimmyZ joined #perl6
12:17 Skarsnik It's in C99 in stdbool.h
12:17 lizmat I wonder how hard it would be to make a method on Regex that would return a Str if the regex consists of characters that can be matched directly
12:18 lizmat /abc/  -> abc
12:18 llfourn /'abc'/ -> abc # ?
12:18 lizmat /^abc/ ->  ''   # because of ^
12:18 dalek rakudo/nom: c8c4946 | coke++ | docs/announce/2015.10.md:
12:18 dalek rakudo/nom: fix a whoopso
12:18 dalek rakudo/nom:
12:18 dalek rakudo/nom: This now matches the announcement sent out.
12:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8c4946610
12:18 moritz lizmat: iirc jnthn++ did a talk on inverting regexes with evil meta programming tricks
12:18 lizmat so we could optimize things like split /abc/
12:19 pink_mist lizmat: Higher Order Perl (for perl5) has some instructions for how to create an iterator for all the strings that would match a given regex :P
12:19 llfourn m: say 'abc' ~~ /abc/
12:19 camelia rakudo-moar 3df263: OUTPUT«「abc」␤»
12:20 leont How does a closed method on Tap sound? To check if you're Tap is still alive…
12:20 leont Or is that a sign I'm abusing Supplies?
12:21 rindolf joined #perl6
12:21 lucasb_ [Coke]: are talking about the release announce email? have you sent it already? I think I have a comment...
12:21 lizmat leont: .tap takes a :closing param that will be executed when the tap closes
12:21 moritz leont: no idea :-)
12:21 nine leont: yes, as far as I could find out there never has been a isatty method. Except maybe for some parrot thing
12:21 lizmat leont: maybe that would be better ?
12:22 lizmat nine: maybe we should make .t a NYI
12:22 FROGGS lizmat: a method on Regex would be too late me thinks
12:22 nine lizmat: yes. It is on the xmas list btw.
12:22 leont Would be cumbersome. What I really need is $tap.close if $tap.defined and not $tap.closed
12:22 colomon parrot definitely had isatty
12:22 yoleaux 22 Oct 2015 08:09Z <lizmat> colomon: is very-broken-combinations in List still needd ?
12:22 yoleaux 22 Oct 2015 13:08Z <lizmat> colomon: I've removed the code with 987cdeec38
12:23 FROGGS lizmat: but we can do that when optimizing a regex's AST
12:23 nine libuv and therefore moar already provides the needed information. It's just not used for an isatty implementation but for setting up STDOUT/STDERR.
12:23 lizmat FROGGS: it was just a thought for a possible opt
12:23 FROGGS lizmat: aye
12:23 lizmat nine: afaik, brrt has looked into that, and found it to be less than trivial
12:25 leont Yeah, this shouldn't be hard to implement if one's familiar with moar/jvm
12:25 leont Now my harness can't differentiate between outputting to file and outputting to console, defaulting to the latter. It's not quite optimal.
12:25 lizmat yup
12:26 softmoth joined #perl6
12:26 Skarsnik FROGGS, enums are assumed int (int32)? I saw some int8 with a quick look in your libxml binding
12:26 pink_mist NYI means Not Yet Invented?
12:26 moritz yes
12:27 pink_mist cool
12:27 colomon Not Yet Implemented
12:27 pink_mist ah, that works too :P
12:27 [Coke] lucasb_: you missed your window.
12:27 [Coke] what was your comment?
12:27 FROGGS Skarsnik: I don't know how the enum rules are yet...
12:29 Skarsnik from what I read, C standard said must fit in a int at least. but the compilo is free to change for a smaller thing if all value fit..
12:30 lucasb_ [Coke]: oops, sorry. I thought since the releases are for monthly users and they require moarvm 2015.10, but there isn't one right now
12:31 lucasb_ so, the user can download the tarballs, but they will not be able to build it until a moar tarball is released. but ok, it's harmless, we can wait :)
12:31 nine leont: use NativeCall; sub isatty(int) is native(Str) returns int { * }; say isatty(0) # just a thought
12:32 Ven joined #perl6
12:33 leont nine: is there a way to get the file descriptor out of a handle?
12:35 lucasb_ [Coke]: btw, thank you for the release!
12:36 lizmat leont: if we can, it should be through the $!PIO
12:37 lizmat but I don't know of any way
12:39 leont The real solution is $!PIO.isatty anyway
12:40 andreoss joined #perl6
12:41 andreoss m: use fatal; 0 == Nil
12:41 camelia rakudo-moar 3df263: OUTPUT«WARNINGS:␤Useless use of "==" in expression "0 == Nil" in sink context (line 1)␤Use of Nil in numeric context  in block <unit> at /tmp/bcogLD5gvx:1␤»
12:42 andreoss m: use fatal; say 0 == Nil
12:42 camelia rakudo-moar 3df263: OUTPUT«Use of Nil in numeric context  in block <unit> at /tmp/70PDFwiScC:1␤True␤»
12:42 andreoss how do i fatalize warnings?
12:44 [Coke] lucasb_: there is a tagged moarvm as was mentioned earlier.
12:44 [Coke] but if you're running the rakudo 2015.10 release, it doesn't need the moarvm tarball - it needs the moarvm tag in the git repo.
12:45 [Coke] you only need the moarvm tarball if you're building it yourself from the vm up. (rather than from rakudo down).
12:46 [Coke] (so, macports moarvm needs the tarball, e.g.)
12:46 lucasb_ [Coke]: you are right. I always built the 3 tarballs separated, moar->nqp->rakudo. I forgot about the git usage.
12:55 gfldex m: sub morebetter(Any:D $item){ $item ~ ' is better' }; my @l = 1,2,3; @l>>.=&morebetter; @l.perl.say;
12:55 camelia rakudo-moar c8c494: OUTPUT«["1 is better", "2 is better", "3 is better"]␤»
13:00 psch r: { say $^a }.assuming("52")()
13:00 yoleaux 10:35Z <nine> psch: My "doesn't even warrant a comment" was highly sarcastic :) In fact I already have the comment you suggested in there.
13:00 camelia rakudo-moar c8c494: OUTPUT«52␤»
13:00 camelia ..rakudo-jvm c8c494: OUTPUT«java.lang.RuntimeException: No such attribute '$!signature' for this object␤  in block <unit> at /tmp/tmpfile:1␤␤»
13:00 ambs joined #perl6
13:00 psch the jvm RTE is because of a missing decont, from the looks of it
13:00 psch ...but why is moar fine with that? :S
13:01 AndyDee joined #perl6
13:02 Oatmeal joined #perl6
13:04 FROGGS psch: because moar knows, and can do whatever the user intended to do
13:06 psch FROGGS: uhh, knows what?  knows to add deconts when neccessary?
13:08 FROGGS some stuff just works without a (for jvm/parrot) needed decont... dunno why axactly
13:08 FROGGS exactly*
13:09 psch hrm, that's a bit discouraging
13:10 psch i mean, it probably means we should port that
13:10 andreoss where the warning handling is described?
13:10 psch and *that* is discouraging :P
13:11 yakudza joined #perl6
13:13 psch i don't have any hope for finding out where that decont magic happens though i think
13:14 sufrostico joined #perl6
13:14 masak evenin', #perl6
13:14 llfourn o/ masak
13:14 psch hi masak o/
13:15 pmurias how do I call a method from a parent class?
13:15 pmurias masak: hi
13:16 gfldex m: multi foo(){}; say &foo.^methods.grep: *.defined;
13:16 camelia rakudo-moar c8c494: OUTPUT«(<anon> <anon> <anon> soft <anon> <anon> yada perl <anon> onlystar candidates unwrap wrap <anon> <anon> package leave <anon> <anon> cando <anon> <anon> <anon> <anon> multi <anon> <anon> add_phaser phasers assuming WHY set_why perl of <anon> returns fire_ph…»
13:16 gfldex m: multi foo(){}; say &foo.gist; say &foo.^name
13:16 camelia rakudo-moar c8c494: OUTPUT«sub foo (;; Mu | is raw) { #`(Sub|59059472) ... }␤Sub␤»
13:17 gfldex .gist seams to know the name of &foo. How do I get hold of it?
13:17 psch m: multi foo(){}; say &foo.VAR.name
13:17 camelia rakudo-moar c8c494: OUTPUT«foo␤»
13:17 psch i think there's another way too
13:17 gfldex that should do
13:18 llfourn m: my $f = sub foo(){}; say $f.name;
13:18 camelia rakudo-moar c8c494: OUTPUT«foo␤»
13:18 psch m: multi foo(){}; say &foo.name
13:18 camelia rakudo-moar c8c494: OUTPUT«foo␤»
13:18 psch yeah :P
13:18 llfourn :D
13:18 psch that's probably better
13:18 pmurias ah found that
13:18 llfourn masak: do you remember me asking about prebinding self to routines like in JS? http://irclog.perlgeek.de/perl6/2015-10-18#i_11394077
13:19 llfourn you can do it!
13:19 llfourn m: lass A { method a($a) { $a.say; } }; my $a = A.new; my &bound = $a.^find_method('a').assuming($a); bound('cool beans')
13:19 camelia rakudo-moar c8c494: OUTPUT«5===SORRY!5===␤Undeclared name:␤    A used at line 1␤Undeclared routine:␤    lass used at line 1. Did you mean 'last'?␤␤Other potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method a'?)…»
13:19 llfourn m: Class A { method a($a) { $a.say; } }; my $a = A.new; my &bound = $a.^find_method('a').assuming($a); bound('cool beans')
13:19 camelia rakudo-moar c8c494: OUTPUT«5===SORRY!5===␤Undeclared names:␤    A used at line 1␤    Class used at line 1␤␤Other potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method a'?)␤    at /tmp/uNcqCVL9F6:1␤    ------> …»
13:19 llfourn m: class A { method a($a) { $a.say; } }; my $a = A.new; my &bound = $a.^find_method('a').assuming($a); bound('cool beans')
13:19 camelia rakudo-moar c8c494: OUTPUT«cool beans␤»
13:19 * llfourn apologises for the spam
13:19 psch FROGGS: that one decont brings 6 spectest files to PASS and lets two other files fail differently
13:20 llfourn thanks to psch++ for revlealing assuming to me
13:20 raiph joined #perl6
13:21 dalek rakudo/nom: 9bc5a0a | peschwa++ | src/core/Block.pm:
13:21 dalek rakudo/nom: Add a missing decont.
13:21 dalek rakudo/nom:
13:21 dalek rakudo/nom: Apparently moar does some magic which makes us not need this, but jvm doesn't.
13:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9bc5a0a269
13:22 psch two files have about 40 failures with "Expected zip zop got zop zip" vOv
13:23 psch S32-array/adverbs.t and S32-hash/adverbs.t
13:24 timotimo tokuhiro++ # writing a websocket server library before i could finish mine, yay!
13:25 psch r: my %h; { %h{}:zip:zop; CATCH { default { .unexpected.perl.say } } }
13:25 camelia rakudo-jvm c8c494: OUTPUT«["zop", "zip"]␤»
13:25 camelia ..rakudo-moar c8c494: OUTPUT«["zip", "zop"]␤»
13:25 psch not sure if that should be thrown sorted or if the test should sort before comparing
13:27 pink_mist sorted? I'd argue that it should be in the same order they were encountered
13:27 pink_mist (which is the same order as sorted order in this case)
13:28 aborazmeh joined #perl6
13:28 aborazmeh joined #perl6
13:28 FROGGS psch: is that also such a missing-decont candidate?
13:28 FROGGS src/core/Baggy.pm:        my $iter := nqp::iterator(nqp::getattr(%!elems,Map,'$!storage'));
13:30 FROGGS note, I'm doing: grep -r -P 'nqp::getattr(|_s|_i|_n)\((?!nqp::decont)(?!self)' src/core/*
13:31 psch FROGGS: i have no FAILs in any test file with "bag" in its name
13:31 FROGGS mkay
13:32 psch i've pasted a gist for the spectest summary with comments ealier today...
13:32 psch https://gist.github.com/peschwa/e2b203ffd43e700c6207
13:32 timotimo uh oh
13:32 timotimo i may have just killed the 2015.10 tag from the moarvm repository
13:32 psch "No such attribute '$!signature'" is what i fixed with the decont just now
13:32 timotimo [Coke]: you might need to re-push it :o
13:32 FROGGS /o\
13:33 FROGGS yep, it is gone
13:34 psch m: MY::.values.list.elems # one of the more interesting jvm failures...
13:34 camelia rakudo-moar c8c494: ( no output )
13:34 psch j: MY::.values.list.elems # one of the more interesting jvm failures...
13:34 camelia rakudo-jvm c8c494: OUTPUT«java.lang.NullPointerException␤  in block <unit> at /tmp/kUy3vBFHP3:1␤␤»
13:34 psch (also grr muscle memory...)
13:34 FROGGS timotimo: I repushed [Coke]'s tag: https://github.com/MoarVM/MoarVM/releases/tag/2015.10
13:35 psch and there's three "expected Positional but got Seq" and three "this Seq has already been iterated"
13:36 psch hm, i think X::AdHoc instead of X::Paramter::RW is next though
13:38 [Coke] timotimo: how the hell can you kill a tag?
13:39 psch r: multi f(Int:D $) { "Int:D" }; multi f(int $) { "int" }; say f 5
13:39 camelia rakudo-{moar,jvm} c8c494: OUTPUT«int␤»
13:39 skids joined #perl6
13:39 psch oh, they agree
13:39 psch that's curious
13:40 timotimo [Coke]: in the github interface for releases and tags
13:40 timotimo i clicked on the 2015.10 release and there was a nice, shiny "delete" button
13:40 timotimo it said "this will delete the information for this tag"
13:40 Ven joined #perl6
13:40 timotimo and i was like "this sounds like exactly what i want! keep the tag, but throw out the github release shit!"
13:40 timotimo except it also killed the tag
13:41 timotimo at one point it was actually possible to go through the releases on github and delete them somehow
13:41 timotimo because people keep seeing the "19 releases" and thinking "cool! i want me some tarballs!"
13:41 psch m: ++4
13:41 camelia rakudo-moar c8c494: OUTPUT«Parameter '$a' expected a writable container, but got Int value␤  in block <unit> at /tmp/dJyhcT6rP1:1␤␤»
13:41 timotimo and then configure says "dude, where's my files?"
13:42 pmurias tarballs *feel* much more trustworthy then random stuff from github ;)
13:44 moritz and if you have submodules, there's a real difference :-)
13:44 timotimo i feel like asking github support about this
13:44 timotimo "can we either get a checkbox to disable the releases feature, or a way to get github to also package submodules with the tarball?"
13:45 pmurias couldn't Configure.PL warn about missing submodules?
13:45 timotimo yeah, that's also a possibility
13:46 timotimo however
13:46 Actualeyes joined #perl6
13:46 timotimo getting a message like "HEY MCFLY YOU BOZO! github releases don't work with submodules! unless you got POWER!" is ... not exactly friendly
13:46 Krabbe_ joined #perl6
13:47 pmurias timotimo: friendlier than stuff failing with a "omg! this rakudo thing is broken beyond repair and missing files!"
13:50 timotimo probably
13:50 * timotimo recently saw BttF 1 and 2 with friends and has been reminded of all the fun quotes
13:50 pmurias timotimo: ./nqp-m --optimize=off --target=ast should print out the ast with optimalization disabled?
13:52 ely-se joined #perl6
13:52 moritz you don't even need --optimize=off
13:52 moritz because optimizations happen after the "ast" stage
13:52 timotimo that'? right
13:52 timotimo we have a --target=optimize for seeing the optimized ast
13:52 moritz you need --stage=optimize to show the AST after optizmi.. what timotimo said
13:53 Actualeyes1 joined #perl6
13:53 * timotimo AFK for a bit
13:53 Actualeyes1 left #perl6
13:53 LarryWall joined #perl6
13:53 FROGGS ohh!
13:54 FROGGS the famous LarryWall just entered the hall! /o/
13:54 pmurias moritz: I see stuff like lowered_for_it__1 in the output
13:54 pmurias FROGGS: where are you?
13:54 LarryWall So... you guys must save a lot of money on condoms
13:54 FROGGS pmurias: at my office
13:54 Actualeyes1 joined #perl6
13:55 lizmat LarryWall: we do, because we don't live in Denmark
13:55 FROGGS LarryWall: O.o
13:55 masak hm, I can't /op on this channel anymore.
13:55 * masak hugs LarryWall instead
13:55 LarryWall So... any ladies online?
13:55 masak anyone else op?
13:55 FROGGS masak: maybe diakopter?
13:56 masak hmm.
13:56 FROGGS are condoms actually more expensive in .dk?
13:57 moritz masak: there you go
13:57 masak thanks :)
13:57 tadzik FROGGS: I guess they may be free in .NL :)
13:57 masak I think I just didn't remember how to ChanServ :)
13:57 moritz masak: /msg chanserv op #perl6
13:57 masak right.
13:58 lizmat tadzik: actually, they used to be if you were young, and knew where to get them
13:58 LarryWall What's your favorite Kalle Pimp song?
13:58 FROGGS tadzik: really? well, what do I know, I've got a bunch of kids instead :o)
13:58 LarryWall was kicked by masak: LarryWall
13:58 tadzik lizmat: oh, I think I know what you mean :)
13:58 FROGGS he was lame anyway
13:58 Skarsnik hm, does we have something to know the type associated with size_t in NativeCall? (or other standard type like that)
13:59 dalek rakudo/nom: 325951d | coke++ | docs/release_guide.pod:
13:59 dalek rakudo/nom: Claim YA release
13:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/325951d981
13:59 FROGGS m: native size_t is Int is ctype("size_t") is repr("P6int") { };
13:59 camelia rakudo-moar 9bc5a0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YqVCgOqEsm␤Unhandled C type 'size_t'␤at /tmp/YqVCgOqEsm:1␤»
13:59 FROGGS Skarsnik: no, not yet
14:00 FROGGS Skarsnik: we need to map these manually, that's why we just have a few
14:00 Skarsnik size_t is ulong for me
14:00 * masak .oO( ulong tea )
14:01 skids .oOlong tea
14:01 Skarsnik no way to get them from the c part of nativecall?
14:02 FROGGS Skarsnik: you can use Inline::C
14:03 Skarsnik I mean, in Nativecall code? could they be gathered when rakudo is build?
14:03 FROGGS Skarsnik: this information can only be gathered when C code is compiled
14:04 FROGGS Skarsnik: so, at the time we build moarvm
14:04 hey joined #perl6
14:04 hey Ranger price sort de ce corps
14:05 Skarsnik Sorry, I don't really know how everything is build x)
14:06 FROGGS Skarsnik: I think this is where we handle the 'is ctype' trait in moar: https://github.com/MoarVM/MoarVM/blob/master/src/6model/reprs/P6int.c#L112
14:06 FROGGS Skarsnik: and that's the place where site_t might want to go
14:08 dalek rakudo/nom: 9d67fe8 | lizmat++ | src/core/IO/ (2 files):
14:08 dalek rakudo/nom: Introducing IO::Path/Handle.split
14:08 dalek rakudo/nom:
14:08 dalek rakudo/nom: Just like Str.split, but then lazily on files.  This should allow us
14:08 dalek rakudo/nom: to implement the line-input-separator properly on file handles.
14:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d67fe8f04
14:09 lizmat fwiw, if you're sure about your line endings, "foo".IO.split("\n") is about 2x as fast as "foo".IO.lines
14:09 softmoth joined #perl6
14:09 RabidGravy joined #perl6
14:11 Ven shouldn't .lines defer to that then? :P or does it try to match \r, \r\n, and \n?
14:12 lizmat lines treats \n \r \r\n transparently, even if mixed in the same file
14:13 Skarsnik size_t is an unsigned integer type used to represent the size of any object (including arrays) in the particular implementation. The sizeof operator yields a value of the type size_t. The maximum size of size_t is provided via SIZE_MAX, a macro constant which is defined in the <stdint.h> header (cstdint header in C++). size_t is guaranteed to be at least 16 bits wide. Additionally, POSIX includes ssize_t, which is a signed integral
14:13 Skarsnik type of the same width as size_t.
14:13 Skarsnik Still confuse me on what size_t is x)
14:13 PerlJam lizmat: if we had a fast path .lines that just did split("\n"), that would be nice.   maybe .lines(:unix)  or somesuch
14:14 lizmat PerlJam: it should just look at what .nl is
14:14 lizmat and then DoTheRightThing(TM)
14:14 PerlJam even better
14:14 lizmat looking at that now  :-)
14:14 PerlJam lizmat++
14:15 gfldex i would prefere .lines(:unix), mostly because of Samba
14:16 PerlJam gfldex: one thing does not necessarily preclude the other.  Besides, you can set :nl
14:16 gfldex i would prefer not to be able to forget to set :nl :)
14:17 FROGGS Skarsnik: that just means that it depends on the platform
14:18 psch hmm, does the jvm binder even support throwing typed exception..?
14:19 gfldex I used to work for a typesetting shop with files coming both from clients and inhouse from Win, OSX and linux. Most stuff came from Win but every now and then some stuff came as a sql-dump from a client. Tripping over newlines and BOMs aint now fun.
14:20 psch actually, "does nqp.runtime.ExceptionHandling.dieInternal support dying with p6-level exceptions" is the better question...
14:20 lizmat gfldex: BOM's are now handles
14:20 gfldex having .lines a wee bit slower but having a nice default may slow down the computer part but will increase the productiviy on the human side.
14:20 lizmat gfldex: and \r \n \r\n are handled transparently by default
14:21 lizmat you can even mix line endings in a file (handy if it has been catted from different sources)
14:21 ely-se joined #perl6
14:22 andreoss \part
14:22 andreoss left #perl6
14:26 Krabbe_ left #perl6
14:26 lizmat gfldex: I stand corrected, it does *not* handle them transparently  :-()
14:27 gfldex please prevent hair grayage by making it transparently :)
14:27 lizmat Str.lines does support it transparently
14:27 lizmat hmmm....
14:28 * gfldex .oO( Perl 6 makes coders look young and beautiful! )
14:30 kmel joined #perl6
14:30 lizmat currently \n and \r\n are transparently supported when :chomp is True  (which is the default)
14:30 lizmat \r is currently *not* supported by default
14:31 timotimo oh
14:31 timotimo IO's lines handling \n, \r and \r\n transparently is something froggs worked on a long time ago, but if i understand jnthn correctly, at least \r\n will become a single grapheme in NFG in the near future
14:32 FROGGS true
14:32 tokuhiro_ joined #perl6
14:32 timotimo i wonder how much of the performance impact comes from \r\n being two characters so far
14:32 timotimo and how much of it comes from having multiple different potential split points
14:32 lizmat timotimo: most of the performance problem is chomping
14:33 lizmat that's a method call for each line
14:33 timotimo FROGGS: but multiple different line enders would still be interesting for cases where your lines end in "beep" and "boop" instead of \r, \n and \r\n
14:33 FROGGS timotimo: aye
14:33 timotimo lizmat: is there a good reason chomping doesn't live at the VM level? otherwise: is there a good reason the chomping logic isn't inlined to IO's lines method?
14:34 FROGGS timotimo: the design docs even say that you will be able to supply a regex there, but I hope that won't go in
14:34 lizmat FROGGS: IO::Handle.split supports regexes now, so you *can*
14:34 FROGGS timotimo: the reason that so much is high level is that .lines was meant to repeatedly call .get
14:34 FROGGS timotimo: so your custom handle type only needs to implement .get, and all is fine
14:35 telex joined #perl6
14:35 FROGGS timotimo: but nowadays, .lines doesnt call .get anymore, so that idea died
14:35 lizmat FROGGS: that was pre-GLR thinking
14:35 lizmat now we have pull-one() that needs to be implemented  :-)
14:35 FROGGS lizmat: that was an API design decision
14:35 FROGGS and it died before the GLR was a thing :o)
14:36 lizmat I'm not sure .get has a reason to love nowadays, with proper lazy lists and all
14:36 lizmat *live
14:36 FROGGS no reason to live? ó.ò
14:36 novapatch is .lines supposed to return the newline or not?
14:36 FROGGS err, love
14:36 FROGGS damn
14:36 lizmat novapatch: not by default
14:36 timotimo there's still a good reason to get a single line off of a file descriptor
14:36 timotimo so .get gets to stay, IMO
14:36 FROGGS novapatch: if you disable chomping you'll get the newlines
14:37 FROGGS timotimo: sure
14:37 lizmat timotimo: but then I'd rather implement .get as a shortcut to .lines
14:37 FROGGS timotimo: question is if .lines needs to call .get or not... and probably the answer is 'not'
14:38 risou joined #perl6
14:38 timotimo lizmat: .get should be .lines()[0]? :)
14:39 novapatch lizmat: thanks, glad to hear it :)
14:39 lizmat well, a little smarter than that: it would but the IO::Handle with the .lines Seq and feed from that ?
14:40 timotimo ah
14:40 timotimo yeah, that does make sense; how about re-configuring the file handle in between, though?
14:40 lizmat timotimo??
14:40 timotimo like, you're getting an HTTP message through a socket; the beginning will be ASCII with \r\n, terminated by \r\n\r\n, then the encoding could be EBCDIC
14:42 FROGGS aye
14:42 lizmat you could make the line ending \r\n\r\n then  ?
14:42 FROGGS we have this problem in H:UA
14:42 timotimo oh, you mean grab the header part with a single .get call?
14:42 lizmat yup
14:42 lizmat that should work now already, afaics
14:43 FROGGS still kinda ugly
14:43 FROGGS then you've got an ascii string which in fact is meant to a buf of some kind
14:43 ugexe headers are ascii
14:43 lizmat are we actually sure that a HTTP header is ASCII ?
14:43 ugexe fetch the rest in binary
14:44 ugexe yes
14:44 FROGGS aye
14:44 timotimo well ...
14:44 ugexe i use \r\n as newline and look for a blank line to know when i hit the body
14:45 timotimo IETF says to be lenient in what you accept and ... the other thing in what you send
14:45 timotimo https://en.wikipedia.org/wiki/Robustness_principle
14:45 ugexe its ascii so there is a base for getting the actual encoding
14:45 khw joined #perl6
14:46 timotimo what do you mean, "base"? :)
14:46 timotimo oh!
14:46 timotimo i see what you mean
14:46 tokuhirom joined #perl6
14:46 ugexe right, you would have to decode what you need to know the decoding otherwise
14:46 timotimo spec tells you the part that says "Content-Encoding: EBCDIC" must be encoded in ASCII
14:47 TimToady joined #perl6
14:48 timotimo oh wow, EBCDIC is kind of weird
14:48 ugexe spec says you can ignore non-ascii
14:50 timotimo UTF-EBCDIC is a character encoding used to represent Unicode characters. It is meant to be EBCDIC-friendly, so that legacy EBCDIC applications on mainframes may process the characters without much difficulty.  -  whaaaaaat %)
14:51 ilmari timotimo: it's to EBCDIC what UTF-8 is to ASCII
14:52 skids ...and "text/" and latin-1 must actually be windows1252 nowadays, per HTML5 spec.  Go figure.  People sure ran roughshod over those.
14:52 timotimo yeah, i get that
14:52 timotimo hm, i *think* moarvm actually supports 1252
14:53 skids Yeah I hooked up all the guts a while back.  It's as functional as latin-1 (which is, JVM has some issue)
14:53 timotimo :(
14:53 skids (The guts were thoughtfully already there I just glued them together)
14:53 timotimo skids++ # making perl6 compatible with the future from tha past
14:54 telex joined #perl6
14:55 TimToady joined #perl6
14:56 RabidGravy I think I changed something in H::UA to decode as latin-1 rather than ascii, something was blowing ip
14:57 RabidGravy up
14:57 ugexe there are lot of cases that has been done. Proc.out is another one
14:59 dalek rakudo/nom: 89b75fa | lizmat++ | src/core/IO/Handle.pm:
14:59 dalek rakudo/nom: Remove fossil
14:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/89b75faa7f
15:06 bpmedley joined #perl6
15:07 RabidGravy yeah, there are people to young to remember that ascii is 7-bit ;-)
15:07 ugexe IO::Spec.splitdir is broke now
15:07 n0tjack joined #perl6
15:08 ugexe trying to figure out the context
15:09 hoelzro o/ #perl6
15:09 RabidGravy haaaarr
15:11 rurban joined #perl6
15:11 tadzik nine: ping
15:14 dalek Heuristic branch merge: pushed 70 commits to specs/newio by lizmat
15:16 pfortuny joined #perl6
15:18 telex joined #perl6
15:20 ugexe m: my $path = "/home/user/Test.file"; say $path.IO.parent; say $path.IO.SPEC.splitdir($path.IO.parent)
15:20 camelia rakudo-moar 9d67fe: OUTPUT«"/home/user".IO␤Failed to open file /home/user: no such file or directory␤  in block <unit> at /tmp/zUWQbfOwIP:1␤␤»
15:20 ugexe star: my $path = "/home/user/Test.file"; say $path.IO.parent; say $path.IO.SPEC.splitdir($path.IO.parent)
15:20 camelia star-m 2015.09: OUTPUT«"/home/user".IO␤( home user)␤»
15:21 leont How do I get the type-object inside the class definition without typing it in full?
15:21 leont Now doing class Foo { method bar { 42 }; my $bar = Foo.bar }, is there a more generic way?
15:21 FROGGS ::?CLASS
15:22 n0tjack I'm trying to golf FizzBuzz; so far I've got grep {[&] $_ X%%[3,5] }, ^1024; -- can we do shorter?
15:22 n0tjack oh, hmm, I suppose that should be | instead of &
15:23 leont FROGGS: thanks! I knew there was a way, just didn't guess the sigil right
15:23 PerlJam n0tjack: where's the Fizz and the Buzz?
15:23 n0tjack m: grep {[|] $_ X%%[3,5] }, ^1024;
15:23 camelia rakudo-moar 9d67fe: ( no output )
15:23 psch m: say "Fizz"x$_%%3~"Buzz"x$_%%5||$_ for 1..100 # from RC
15:23 camelia rakudo-moar 9d67fe: OUTPUT«1␤2␤Fizz␤4␤Buzz␤Fizz␤7␤8␤Fizz␤Buzz␤11␤Fizz␤13␤14␤FizzBuzz␤16␤17␤Fizz␤19␤Buzz␤Fizz␤22␤23␤Fizz␤Buzz␤26␤Fizz␤28␤29␤FizzBuzz␤31␤32␤Fizz␤34␤Buzz␤Fizz␤37␤38␤Fizz␤Buzz␤41␤Fizz␤43…»
15:23 n0tjack m: say grep {[|] $_ X%%[3,5] }, ^1024;
15:23 camelia rakudo-moar 9d67fe: OUTPUT«(0 3 5 6 9 10 12 15 18 20 21 24 25 27 30 33 35 36 39 40 42 45 48 50 51 54 55 57 60 63 65 66 69 70 72 75 78 80 81 84 85 87 90 93 95 96 99 100 102 105 108 110 111 114 115 117 120 123 125 126 129 130 132 135 138 140 141 144 145 147 150 153 155 156 159 160 162…»
15:23 FROGGS leedo: :: always means something indirect, and it is compile time known (?)...
15:23 FROGGS err
15:23 FROGGS leont: ^^
15:23 FROGGS leedo: sorry
15:24 n0tjack PerlJam: Oh, I wasn't thinking about the actual strings fizz and buzz, just the logic
15:24 n0tjack psch: Oh, that's cute.
15:24 leont Related to that, how do I load a function from a runtime-required module?
15:25 n0tjack I guess the postfix topicalizers must have very high precedence
15:25 leont Currently doing require Terminal::ANSIColor; GLOBAL::Terminal::ANSIColor::EXPORT::DEFAULT::<&colored> // sub (Str $text, Str $) { $text }
15:25 leont That seems rather suboptimal
15:25 n0tjack seems like you can put anything before a postfix for or if or given
15:25 ugexe the above error can be worked aroudn with .dirname instead of .parent
15:26 moritz leont: require Terminal::ANSIColor <&colored>; # would be my first guess
15:27 Ven joined #perl6
15:28 alexm joined #perl6
15:28 hoelzro how does that impact the compiler, though? since the definition of &colored isn't available at compile time, can it figure out which type of callsite to use?
15:28 telex joined #perl6
15:29 AlexDaniel joined #perl6
15:29 hoelzro or maybe it falls back to some generic callsite
15:30 leont moritz: that seems to help :-)
15:30 PerlJam maybe look at S11:Runtime_Importation ?
15:30 synbot6 Link: http://design.perl6.org/S11.html#Runtime_Importation
15:31 skaji hi, I hope JSON::Pretty in rakudo core supports emitting one-line json and emitting canonical json (sorting object keys)
15:31 ilmari can I build/test nqp against a built git checkout of moar, or do I need to install moar to somewhere?
15:31 Ven joined #perl6
15:32 leont Can't make an optional import out of it, I expected this to work:
15:32 PerlJam skaji: I doubt it.
15:32 leont my &colored = try { require Terminal::ANSIColor <&colored>; &colored } // sub (Str $text, Str $) { $text };
15:32 FROGGS leont: you can also locate the symbol indirectly by doing: &::('colored') and ::('&colored')
15:33 psch heh, both r-j and r-m have problems with --stage=parse for something like "sub f (| ($a, $b)) { }"
15:33 psch r-j throws a StackOverflowError, r-m apparently loops
15:33 leont FROGGS: not sure I see what you mean
15:34 ugexe our $signal-handler := &::("signal") ~~ Failure ?? &::("signal-ignore") !! &::("signal")
15:35 FROGGS leont: if you require a module without importing anything there (because you are not sure what it exports), you can check/use the symbol later by doing what I wrote
15:35 leont How does that solve my problem?
15:35 skaji PerlJam: What you are saying is that they should be done outside rakudo, i.e. external modules, right?
15:35 timotimo yay, i finally gots me some medicine
15:35 FROGGS my &colored = try { require Terminal::ANSIColor; &::('colored') } // sub (Str $text, Str $) { $text };
15:36 FROGGS star-m; my &colored = try { require Terminal::ANSIColor; &::('colored') } // sub (Str $text, Str $) { $text }; say &colored
15:36 FROGGS star-m: my &colored = try { require Terminal::ANSIColor; &::('colored') } // sub (Str $text, Str $) { $text }; say &colored
15:36 camelia star-m 2015.09: OUTPUT«sub (Str $text, Str $) { #`(Sub|81817872) ... }␤»
15:36 TimToady joined #perl6
15:36 RabidGravy boom
15:37 FROGGS star-m: my &colored_ = try { require Terminal::ANSIColor; ::('&colored') }; say &colored_
15:37 camelia star-m 2015.09: OUTPUT«(Callable)␤»
15:37 FROGGS star-m: my &colored_ = try { require Terminal::ANSIColor; ::('&colored') }; say colored_(42)
15:37 camelia star-m 2015.09: OUTPUT«Cannot invoke this object␤  in block <unit> at /tmp/aRPvTxzDIz:1␤␤»
15:37 PerlJam skaji: That's where fancy stuff goes, yes  :)
15:37 FROGGS star-m: my &colored_ = try { require Terminal::ANSIColor <&colored>; &colored }; say colored_(42)
15:37 camelia star-m 2015.09: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in sub colored at /home/camelia/star-2015.09/share/perl6/lib/Terminal/ANSIColor.pm:51␤  in block <unit> at /tmp/EqW8iD79xA:1␤␤»
15:37 FROGGS :o(
15:37 RabidGravy boom
15:37 FROGGS I thought my version would work too
15:38 FROGGS RabidGravy: that's just because I'm stupid :o)
15:38 RabidGravy but hey I just learned that you can supply imports to are require
15:38 RabidGravy er, typing gibberish
15:38 kmel joined #perl6
15:38 FROGGS star-m: my &colored = try { require Terminal::ANSIColor <&colored>; &colored }; say colored(42, 'blue')
15:38 camelia star-m 2015.09: OUTPUT«Type check failed in binding $what; expected 'Str' but got 'Int'␤  in sub colored at /home/camelia/star-2015.09/share/perl6/lib/Terminal/ANSIColor.pm:51␤  in block <unit> at /tmp/EHWLdv51HM:1␤␤»
15:39 FROGGS star-m: my &colored = try { require Terminal::ANSIColor <&colored>; &colored }; say colored("42", 'blue')
15:39 camelia star-m 2015.09: OUTPUT«42␤»
15:39 FROGGS come on...
15:39 RabidGravy yeah
15:39 FROGGS tadzik: you module sucks :P
15:39 RabidGravy and it is indeed blue
15:40 FROGGS tadzik: the readme is not quite informative, and the test is, well... :o)
15:40 tadzik :(
15:40 telex joined #perl6
15:41 tadzik patches welcomE! :P
15:41 FROGGS heh
15:41 alexm left #perl6
15:42 colomon tadzik: still there?
15:42 vytas m: 'my @numbers[5..*] = 3,9 ... *;'
15:42 camelia rakudo-moar 89b75f: OUTPUT«WARNINGS:␤Useless use of constant string "my @numbers[5..*] = 3,9 ... *;" in sink context (line 1)␤»
15:43 vytas m: '@numbers[5..*] = 3,9 ... *;'
15:43 camelia rakudo-moar 89b75f: OUTPUT«WARNINGS:␤Useless use of constant string "@numbers[5..*] = 3,9 ... *;" in sink context (line 1)␤»
15:43 colomon tadzik: I’ve been getting this error for a while in the smoker support code: https://gist.github.com/
15:43 FROGGS vytas: that's just a string
15:43 PerlJam vytas: you want fewer single quotes.
15:43 colomon tadzik: err, https://gist.github.com/colomon/5cf7f3d3ed38c0f4cb56
15:43 dalek rakudo/nom: 0bbd62b | lizmat++ | src/core/Mu.pm:
15:43 dalek rakudo/nom: Eradicate Mu.munch now we're in beta officially
15:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0bbd62bd10
15:43 PerlJam (assuming you're trying to actually run the perl code in that string)
15:44 vytas m: my @numbers[5..*] = 3,9 ... *;
15:44 camelia rakudo-moar 89b75f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mFlFSSHgIf␤Shaped arrays not yet implemented. Sorry. ␤at /tmp/mFlFSSHgIf:1␤------> 3my @numbers[5..*]7⏏5 = 3,9 ... *;␤    expecting any of:␤        constraint␤»
15:44 FROGGS m: my @numbers; @numbers = [5..*] = 3,9 ... *; say @numbers
15:44 camelia rakudo-moar 89b75f: OUTPUT«[...]␤»
15:44 vytas m: my @numbers; @numbers[5..*] = 3,9 ... *; # does not generate error
15:44 camelia rakudo-moar 89b75f: ( no output )
15:44 FROGGS vytas: because these are two different things
15:45 FROGGS the exploding one is a shape declaration
15:45 FROGGS the working one is about assigning to certain slots
15:45 FROGGS m: my @numbers; @numbers = [5..*] = 3,9 ... *; say @numbers[^10]
15:45 camelia rakudo-moar 89b75f: OUTPUT«(3 9 15 21 27 33 39 45 51 57)␤»
15:45 FROGGS m: my @numbers; @numbers[5..*] = 3,9 ... *; say @numbers[^10]
15:45 camelia rakudo-moar 89b75f: OUTPUT«()␤»
15:45 FROGGS m: my @numbers; @numbers[5..*] = 3,9 ... *; say @numbers
15:45 camelia rakudo-moar 89b75f: OUTPUT«[]␤»
15:45 FROGGS err...
15:46 ugexe m: $*CWD.IO.SPEC.splitdir($*CWD.IO.parent).say
15:46 camelia rakudo-moar 89b75f: OUTPUT«'/home' is a directory, cannot do '.open' on a directory␤  in block <unit> at /tmp/rF6n38KcRb:1␤␤»
15:46 FROGGS I don't know what to think about that
15:46 leont How does this work in a one-liner but not in my module?
15:46 leont *works
15:46 duncan_dmg joined #perl6
15:47 leont star-m: module Foo { my &colored = try { require Terminal::ANSIColor <&colored>; &colored }; say colored("42", "blue") }
15:47 camelia star-m 2015.09: OUTPUT«Cannot invoke this object␤  in block <unit> at /tmp/HoC4Dt7CgT:1␤␤»
15:47 RabidGravy I had a thought earlier, which I know is quite rare, but can you make a custom Rangey thing (i.e. a range of arbitrary objects)?
15:47 RabidGravy so the range operator will delegate to some class to provide the values
15:47 PerlJam RabidGravy: I think as long as the objects support a .succ method, you may be able to
15:48 RabidGravy ah, .succ
15:48 vytas what's shape declaration ?
15:48 RabidGravy fabulous
15:48 timotimo you .succ
15:48 RabidGravy oh I know that
15:48 PerlJam vytas: my @numbers[5..10];  # the [5..10] part is defining the "shape" of the array
15:48 timotimo and your .succ .succs, too!
15:48 RabidGravy and the pony?
15:49 timotimo PerlJam: but that's not yet implemented
15:49 timotimo the pony actually .pred's
15:49 pollei joined #perl6
15:49 PerlJam timotimo: as vytas has discovered already
15:49 vytas my @numbers; @numbers[5..*] = 3,9 ... *; # how is this not shape declaration ?
15:49 timotimo it's not in a declaration
15:49 PerlJam vytas: "my @numbers;" is the declaration, and there is no shape
15:49 vytas agh... thank you
15:50 timotimo we've intentionally made shape definitions look like slices
15:50 timotimo compare it to this:
15:50 timotimo m: my %foo{Any}; %foo{10} = "hi"; say %foo.perl
15:50 camelia rakudo-moar 89b75f: OUTPUT«(my Any %{Any} = 10 => "hi")␤»
15:50 timotimo here the syntax for defining the types for the keys uses { }, because that's what a hash slice uses
15:52 PerlJam timotimo: now explain    my @array{ <foo bar baz> };    #  :-)
15:52 vytas m: my Any %foo; %foo{10} = "hi"; say %foo.perl
15:52 camelia rakudo-moar 89b75f: OUTPUT«(my Any % = "10" => "hi")␤»
15:52 Alina-malina joined #perl6
15:52 * [Coke] is so glad the niceville people were nice about me using their name. :)
15:52 vytas I guess i need to read more about Perl6..
15:53 timotimo PerlJam: i don't actually know anything about shape declarations :P
15:53 PerlJam vytas: who doesn't?  It's a big language with lots of features
15:53 RabidGravy where is niceville?
15:53 timotimo PerlJam: is that how you define an array that translates a set of keys into numbers instead?
15:53 PerlJam timotimo: aye.  S09:User-defined_array_indexing
15:53 synbot6 Link: http://design.perl6.org/S09.html#User
15:53 [Coke] vytas: welcome aboard.
15:54 [Coke] niceville is here: http://www.pm.org/groups/787.html
15:54 RabidGravy Florida
15:54 RabidGravy found it
15:54 PerlJam [Coke]: an excellent choice too btw
15:55 RabidGravy [Coke], cool that they only have one member too ;-)
15:56 RabidGravy I think I should start a Belvedere.pm
15:56 [Coke] hee, I just noticed that in his email. :)
15:56 synbot6 joined #perl6
15:56 PerlJam S09:User-defined_array_indexing
15:56 synbot6 Link: http://design.perl6.org/S09.html#User-defined_array_indexing
15:57 timotimo i should poke my buddy from Karlsruhe.pm so that perhaps we can do a little something in the next months
15:58 vytas m: my @numbers = ^20; @numbers[5..*] = 3, 9 ... *; say @numbers; # how to explain that second star becomes 15 because  numbers were 20 ...
15:58 camelia rakudo-moar 89b75f: OUTPUT«[0 1 2 3 4 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87]␤»
15:59 vytas agh actually is not
16:00 vytas got confused by http://learnxinyminutes.com/docs/perl6/ comment "Only the 15 needed values will be calculated" where it is actually all 20
16:00 [Coke] m: my @numbers = ^20; @numbers[5..*] = (3, 9 ... *); say @numbers;
16:00 camelia rakudo-moar 89b75f: OUTPUT«[0 1 2 3 4 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87]␤»
16:01 [Coke] anyway, it's 15, because 9-3 is 6 and 9+6 is 15
16:02 [Coke] vytas: the 15 replaced values are calculated.
16:02 [Coke] numbers still has 20 elements.
16:02 PerlJam vytas: Aye, that comment does seem to confuse.  you could make a PR to fix it.
16:03 vytas that's actually smart, though wasn't expecting at all. so it continues from 5th element
16:06 tokuhiro_ joined #perl6
16:08 lichtkind joined #perl6
16:08 TimToady m: my @numbers = ^20; @numbers[5..*].=reverse; say @numbers;
16:08 camelia rakudo-moar 89b75f: OUTPUT«[0 1 2 3 4 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5]␤»
16:08 diana_olhovik joined #perl6
16:09 lizmat m: dd $*SPEC
16:09 camelia rakudo-moar 89b75f: OUTPUT«IO::Spec::Unix $var = IO::Spec::Unix␤»
16:09 synbot6 joined #perl6
16:09 lizmat hmmm...
16:11 telex joined #perl6
16:11 PerlJam S09:User-defined array indexing    # with a coment
16:12 synbot6 joined #perl6
16:12 PerlJam S09:User-defined array indexing    # with a comment
16:12 synbot6 Link: http://design.perl6.org/S09.html#User-defined
16:12 PerlJam blah
16:13 lizmat m: dd *$SPEC.split("/")
16:13 camelia rakudo-moar 89b75f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wf_sKuo3PO␤Two terms in a row␤at /tmp/wf_sKuo3PO:1␤------> 3dd *7⏏5$SPEC.split("/")␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤      …»
16:13 lizmat m: dd $*SPEC.split("/")
16:13 camelia rakudo-moar 89b75f: OUTPUT«List $var = $(:volume(""), :dirname("/"), :basename("/"), :directory("/"))␤»
16:14 synbot6 joined #perl6
16:14 lizmat m: dd Int.split("/")
16:14 camelia rakudo-moar 89b75f: OUTPUT«Use of uninitialized value of type Int in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at /tmp/Um8QpAUWUp:1␤List $var = $("",)␤»
16:14 PerlJam S09:User-defined array indexing    # kill the wabbit!
16:14 synbot6 Link: http://design.perl6.org/S09.html#User-defined_array_indexing_
16:15 ^elyse^ joined #perl6
16:16 TimToady trailing _ is trailing
16:17 synbot6 joined #perl6
16:17 PerlJam S09:User-defined array indexing    # stupid bot
16:17 synbot6 Link: http://design.perl6.org/S09.html#User-defined_array_indexing
16:17 ilmari S666:Goats
16:17 ilmari S42:Goats
16:17 synbot6 Link: http://design.perl6.org/S42.html#Goats
16:18 * pink_mist is so glad ilmari didn't accidentally end those lines with an 'e'
16:22 Ven joined #perl6
16:29 telex joined #perl6
16:30 rindolf joined #perl6
16:35 [Coke] RT: 1,044; lta: 88; weird: 11; nom: 8; glr: 4; tests: 9; xmas: 74
16:37 dalek rakudo/nom: ca1cf74 | lizmat++ | src/core/ (8 files):
16:37 dalek rakudo/nom: Hopefully fix pand install p6doc issues
16:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ca1cf747b4
16:37 moritz lizmat: I like IO::Handle.split, but IO::Path.split seems dangerous to me, since IO::Path is still a rather stringy thing for me, and I'd expect it to work on the file name, not on the contents
16:38 lizmat so, how would you call it on IO::Path ?
16:40 lizmat hmmm... that could be the reason for the failure seen on P6-users
16:40 * lizmat is checking
16:42 lizmat sigh, that's it...  :-(
16:43 simula67 joined #perl6
16:45 ^elyse^ joined #perl6
16:48 tokuhirom joined #perl6
16:49 moritz lizmat: I'd spell it .open.split(...)
16:49 ilmari or .IO.split()?
16:50 moritz or that
16:51 lizmat yeah, but that's *exactly* what the problem is
16:51 lizmat .IO generates an IO::Path, which is considered to be stringy still
16:52 ilmari ah
16:52 lizmat I'm going for split-with for now
16:52 lizmat once I get the proto issues fixed in the setting
16:53 telex joined #perl6
16:54 xinming joined #perl6
16:58 telex joined #perl6
17:00 tokuhiro_ joined #perl6
17:01 firstdayonthejob joined #perl6
17:02 dalek nqp: af86b80 | (Pawel Murias)++ | src/QAST/SpecialArg.nqp:
17:02 dalek nqp: Dump extra info about QAST::SpecialArg when dumping the AST.
17:02 dalek nqp: review: https://github.com/perl6/nqp/commit/af86b801f1
17:02 dalek nqp: 7c502f6 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
17:02 dalek nqp: [js] HACK around a bug in NQP.
17:02 dalek nqp:
17:02 dalek nqp: We need to figure out why sometimes the for op gets a child with a declaration blocktype.
17:02 dalek nqp: review: https://github.com/perl6/nqp/commit/7c502f64ce
17:02 virtualsue joined #perl6
17:04 lizmat I think I'm going crazy: renaming it to anything else then "split", makes the setting fail to build
17:05 lizmat with a weird error about ObjAt.$!value not being declared
17:08 lizmat m: proto method split-with(|) { * }
17:08 camelia rakudo-moar ca1cf7: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method split-with'?)␤    at /tmp/gZodQ5w_fB:1␤    ------> 3proto method7⏏5 split-with(|) { * }␤»
17:09 lizmat m: proto method split-with(|) { * }; multi method split-with() {}
17:09 camelia rakudo-moar ca1cf7: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my method split-with'?)␤    at /tmp/0zrXZnkpRB:1␤    ------> 3proto method7⏏5 split-with(|) { * }; multi method split␤    Useless declaration of…»
17:09 lizmat m: class A { proto method split-with(|) { * } }
17:09 camelia rakudo-moar ca1cf7: ( no output )
17:11 lizmat feels like some kind of internal overflow  :-(
17:12 lizmat catch 22: if I don't put the protos in , setting doesn't build because it doesn't auto-generaye protos
17:12 lizmat if I do, I get: Error while compiling, type X::Attribute::Undeclared
17:12 lizmat symbol: $!value
17:12 lizmat package-name: ObjAt
17:13 lizmat apparently my previous commit solved the panda issue, so I'm not pursuing this further at this moment
17:13 loren joined #perl6
17:14 _28_ria joined #perl6
17:14 loren morning, #perl6
17:16 lizmat loren o/
17:16 loren say "xx" ~~ /^+/;    will hang up
17:16 loren hi, lizmat
17:16 duncan_dmg left #perl6
17:17 loren perl6 not report error, I think it should be /^\+/
17:17 lizmat m: say "xx" ~~ /^+/
17:17 camelia rakudo-moar ca1cf7: OUTPUT«Memory allocation failed; could not allocate 975405056 bytes␤»
17:17 lizmat looks like a rakudo bug to me  :)
17:17 lizmat would you care to report it ?
17:18 loren ok,
17:18 loren I will
17:18 lizmat loren++
17:18 loren I will send a email .
17:18 lizmat to rakudobug@perl.org
17:18 loren ok
17:18 loren I know it.
17:18 lizmat that will put it in the bug tracker
17:19 loren em
17:24 psch that should probably misparse, right?
17:25 psch anchors can't be quantified, can they
17:25 lizmat indeed...  I would say
17:28 moritz it's long know bug that if you quantify a zero-width match, it'll hang
17:31 lizmat aha, sorry, didn't know that
17:33 dalek rakudo-star-daily: d4d7fdc | coke++ | log/ (9 files):
17:33 dalek rakudo-star-daily: today (automated commit)
17:33 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/d4d7fdce50
17:33 dalek perl6-roast-data: 08d374f | coke++ | / (9 files):
17:33 dalek perl6-roast-data: today (automated commit)
17:33 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/08d374f24f
17:42 n0tjack joined #perl6
17:42 xfix joined #perl6
17:46 xfix joined #perl6
17:47 shlomif joined #perl6
17:49 PerlJam Hmm.
17:51 virtualsue joined #perl6
17:51 xfix joined #perl6
17:54 FROGGS joined #perl6
17:57 FROGGS o/
18:07 vendethiel joined #perl6
18:08 FROGGS joined #perl6
18:13 TEttinger joined #perl6
18:13 Jaglor left #perl6
18:23 dalek roast: c470227 | usev6++ | S05-modifier/counted-match.t:
18:23 dalek roast: Loose fudge for RT #125026
18:23 dalek roast: review: https://github.com/perl6/roast/commit/c4702273e1
18:23 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125026
18:42 [Coke] when interrupting a test run, you are told that all tests were successful when you might have only run 1 test.
18:42 [Coke] run 1 test *file
18:44 [Coke] why does "make j-test" run 3 different copies of the test harness?
18:45 FROGGS [Coke]: are you talking about the harness+evalserver+client?
18:46 [Coke] it runs prove 3 times instead of 1
18:46 [Coke] testing a fix...
18:46 [Coke] (so if the first 2 fails, but the third works, you have no idea the failures occurred.
18:48 domidumont joined #perl6
18:49 tokuhirom joined #perl6
18:52 leont Woot! My p6 harness isn't all that much slower than the p5 one (about 5% on compared to total runtime), which feels like a realistic amount of time for the start-up (which is slow)
18:57 dalek roast: cd4b6ba | usev6++ | S12-methods/chaining.t:
18:57 dalek roast: Test passes on rakudo.jvm now (RT #121945)
18:57 dalek roast: review: https://github.com/perl6/roast/commit/cd4b6ba10e
18:57 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=121945
18:57 uberbaud joined #perl6
18:58 n0tjack joined #perl6
18:59 [Coke] ./perl6-j t/03-jvm/01-interop.t dies in build dir with java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/CORE.setting'
19:00 [Coke] should we be running this test?
19:00 dalek rakudo/nom: f16b146 | coke++ | tools/build/Makefile-JVM.in:
19:00 dalek rakudo/nom: Only use one harness; not 3.
19:00 dalek rakudo/nom:
19:00 dalek rakudo/nom: (Previously, failures in the first harness would be hidden)
19:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f16b14616b
19:07 FROGGS ahh, that harness
19:08 FROGGS [Coke]: yes, let's keep running it, we hopefully pass that again this year
19:08 FROGGS leont: now
19:08 FROGGS leont: I did not expect that
19:08 FROGGS wow*
19:09 leont That may also be p5's harness being slow, but it's still good :-)
19:09 FROGGS hehe, yeah :o)
19:09 dalek nqp: add7e11 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
19:09 dalek nqp: [js] Tweak to nqp.dumpObj.
19:09 dalek nqp: review: https://github.com/perl6/nqp/commit/add7e1134d
19:09 dalek nqp: b71938d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
19:09 dalek nqp: [js] allow setting dynamic variables in signatures, like sub foo($*FOO) {...}
19:09 dalek nqp: review: https://github.com/perl6/nqp/commit/b71938db09
19:09 dalek nqp: baf46e1 | (Pawel Murias)++ | t/nqp/21-contextual.t:
19:09 dalek nqp: Test setting dynamic variables in sub signatures.
19:09 dalek nqp: review: https://github.com/perl6/nqp/commit/baf46e1579
19:13 yqt joined #perl6
19:14 dalek nqp: b46902b | (Pawel Murias)++ | src/vm/js/bin/run_tests_bootstrapped.pl:
19:14 dalek nqp: [js] Add passing tests 09 and 10 to make js-test-bootstrapped
19:14 dalek nqp: review: https://github.com/perl6/nqp/commit/b46902b4ff
19:16 tokuhiro_ joined #perl6
19:23 Hotkeys thanks whoever told me to use VS 2010 to build rakudo
19:23 Hotkeys worked no problem
19:25 hoelzro Hotkeys: did you end up using 32 or 64-bit?
19:26 Hotkeys 64 bit
19:28 psch i'd like to have at least the horribly bad failures out of j-roast before working on interop again, which is reasonable i think
19:28 hoelzro hmm, I'll have to try 2010 then
19:28 psch FROGGS: ISTR that you might know something about "control exception without handler"?
19:28 Hotkeys I didn't even put SP1 on it I don't think
19:29 Hotkeys idk if that matters
19:29 Hotkeys still built
19:29 psch FROGGS: there's four files that bail with that message
19:30 ^elyse^ is there some kind of tool to like, build and test Perl 6 projects?
19:30 ^elyse^ like makemaker in Perl 5
19:31 moritz you mean, like, panda?
19:31 moritz Grammar::Debugger fails its tests :(
19:32 PerlJam last time I checked panda wasn't good enough for building and testing local Perl 6 projects.  They had to be in the ecosystem first.
19:32 lizmat m: without 42 {} elsif 666 {}   # LTA error message :-)
19:32 camelia rakudo-moar f16b14: OUTPUT«5===SORRY!5=== Error while compiling /tmp/23DDGF74ZZ␤"unless" does not take "else", please rewrite using "if"␤at /tmp/23DDGF74ZZ:1␤------> 3without 42 {} 7⏏5elsif 666 {}   # LTA error message :-)␤»
19:32 PerlJam but ... ufo still works I think
19:32 ^elyse^ moritz: I don't know
19:41 pyrimidi_ joined #perl6
19:43 dalek rakudo/nom: f25bbe7 | lizmat++ | src/core/IO/Handle.pm:
19:43 dalek rakudo/nom: Remove paranoid check
19:43 dalek rakudo/nom:
19:43 dalek rakudo/nom: If you're going to mix high level methods with low level methods, you're
19:43 dalek rakudo/nom: going to get what you ask for
19:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f25bbe7f63
19:44 [Sno] joined #perl6
19:48 ^elyse^ I don't understand use. Is it very different from Perl 5? I have files in the right place but it tells me it can't find the module
19:48 ^elyse^ https://gist.github.com/rightfold/a4c337aa2cac36d797da
19:49 leont How do multi methods work with inheritance? Do the inherited methods compete in the subclass or not?
19:50 [Coke] I would do "PERL6LIB=lib prove -e perl6 -r t" and remove the use lib from the test file
19:50 ^elyse^ [Coke]: same error
19:51 [Coke] mv Grammar.p6 Grammar.pm ?
19:51 ^elyse^ that works :(
19:51 PerlJam ^elyse^: Grammar.pm6 should work too
19:51 ^elyse^ ooh right pm6 it should be
19:51 ^elyse^ thanks :)
19:54 [Coke] .u crying
19:54 yoleaux U+1F622 CRYING FACE [So] (😢)
19:54 yoleaux U+1F62D LOUDLY CRYING FACE [So] (😭)
19:54 yoleaux U+1F63F CRYING CAT FACE [So] (😿)
19:55 virtualsue joined #perl6
19:55 ^elyse^ what does unit mean in "unit module"?
19:55 [Coke] compilation unit
19:56 PerlJam ^elyse^: as in "compilation unit"
19:56 ^elyse^ why is it needed?
19:56 PerlJam ^elyse^: the "unit" declaration is an affirmative that you mean for the entire compilation unit to be a module
19:56 [Coke] S99:unit
19:56 synbot6 Link: http://design.perl6.org/S99.html#unit
19:58 ^elyse^ ok
20:00 PerlJam m: class A { multi method foo(Str) { say "string" }; multi method foo(Any) { say "any" }; }; class B is A { multi method foo(Int) { say "integer" }; };   B.new("hi"); B.new(5); B.new(pi);  # leont
20:00 camelia rakudo-moar f16b14: OUTPUT«Default constructor for 'B' only takes named arguments␤  in block <unit> at /tmp/rsHZoQj7Hx:1␤␤»
20:01 ^elyse^ can I import only a single function from a module?
20:01 PerlJam blah
20:01 ^elyse^ instead of all of them
20:01 PerlJam m: class A { multi method foo(Str) { say "string" }; multi method foo(Any) { say "any" }; }; class B is A { multi method foo(Int) { say "integer" }; };   B.new.foo("hi"); B.new.foo(5); B.new.foo(pi);  # leont
20:01 camelia rakudo-moar f16b14: OUTPUT«string␤integer␤any␤»
20:01 leont Awesome
20:01 lizmat ^elyse^: not yet
20:03 pmurias .tell konobi how should I profile node.js applications (to see if there are any low hanging speedups for nqp-js)
20:03 yoleaux pmurias: I'll pass your message to konobi.
20:07 ^elyse^ lizmat: ok
20:07 ^elyse^ guess I'll wait a little longer then
20:07 lizmat ^elyse^: please note that only those subs marked "is export" are actually exported
20:09 PerlJam ^elyse^: you can "tag" certain exported subs and only import a certain tag if you want.  (I'm pretty sure that works)
20:10 leont What was the name of the else that belongs to with again?
20:11 leont (these words are not Google compatible!)
20:11 lizmat orwith ?
20:11 lizmat m: with 42 {} orwith 666 {}
20:11 camelia rakudo-moar f16b14: ( no output )
20:12 leont Ah, that one!
20:14 [Coke] m: say "\c[GREEK QUESTION MARK]" eq "\c[SEMICOLON]" # why is this true?
20:14 camelia rakudo-moar f16b14: OUTPUT«True␤»
20:14 labster good morning, #perl6
20:16 PerlJam m: say ("\c[GREEK QUESTION MARK]\c[SEMICOLON]").ords
20:16 camelia rakudo-moar f16b14: OUTPUT«(59 59)␤»
20:17 PerlJam [Coke]: because greeks have funny ideas about interrogatives marks?
20:17 lucs Question: http://fpaste.scsys.co.uk/500480
20:17 vendethiel joined #perl6
20:19 lucs Pointers to (as specific as possible) docs welcome.
20:19 PerlJam [Coke]: and ... how did you discover this?
20:20 ugexe thats what i was wondering heh
20:20 dalek roast: 6082102 | usev6++ | S12-subset/subtypes.t:
20:20 dalek roast: Add tests for RT #123700
20:20 dalek roast: review: https://github.com/perl6/roast/commit/6082102ca7
20:20 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123700
20:21 pink_mist I think TimToady++ was playing around with that some days ago in here ... that's where I saw it first at least
20:22 pink_mist http://irclog.perlgeek.de/perl6/2015-10-19#i_11401165
20:24 PerlJam lucs: maybe it's confusing because it's written poorly?
20:24 lucs PerlJam: Actually, I have no idea what that structure means :/
20:25 lucs For example, what is  "0 => x y" , why no commas anywhere, etc.
20:26 PerlJam hold on, let me write it more sensibly
20:26 lucs Thanks
20:26 PerlJam http://fpaste.scsys.co.uk/500481
20:26 pink_mist http://design.perl6.org/S05.html#Return_values_from_matches may be enlightening perhaps?
20:27 [Coke] PerlJam: because evil people wrote a code filter to swap out your semicolons for not-semicolons.
20:27 [Coke] ah; this is why, I bet:
20:27 lucs PerlJam: D'oh! That was unexpected :) Nice.
20:27 [Coke] DecompositionSEMICOLON (U+003B)
20:27 dalek rakudo/nom: d97f0b2 | ugexe++ | src/core/Buf.pm:
20:27 dalek rakudo/nom: Fix unpack for templates using `*`
20:27 dalek rakudo/nom:
20:27 dalek rakudo/nom: Fixes: Buf.new("asdf".ords).unpack("N*").say # also S*, v*, L*, V*, n*
20:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d97f0b2e12
20:27 dalek rakudo/nom: 75ac71b | lizmat++ | src/core/Buf.pm:
20:27 dalek rakudo/nom: Merge pull request #559 from ugexe/patch-6
20:27 dalek rakudo/nom:
20:27 dalek rakudo/nom: Fix unpack for templates using `*`
20:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/75ac71b636
20:27 lucs pink_mist: Thanks, I'll read that.
20:28 n0tjack joined #perl6
20:28 pink_mist [Coke]: did you see my irclog link?
20:29 FireFly left #perl6
20:29 vendethiel any plan to allow named imports "by default", btw? that's an amazing feature. In pretty much any language I use, I do that (JS, clojure, haskell, D, etc, etc) and I miss often in 6
20:30 PerlJam lucs: basically, by adding the (), you've introduced another layer of structure in the return from the match.  :g gets you a list of matches, each of those has a $0 entry containing only the one character matched
20:31 PerlJam The docs pink_mist linked to probably explain better
20:31 [Coke] pink_mist: I beat him: http://irclog.perlgeek.de/perl6/2015-10-19#i_11396733
20:31 lucs PerlJam: Aha, I see. I think that link pink_mist seem to ... Right.
20:31 lucs Thanks.
20:31 pink_mist [Coke]: oh, haha :P
20:31 [Coke] I did miss the followup though. :)
20:31 [Coke] pink_mist++
20:33 _dolmen_ joined #perl6
20:33 PerlJam pretty soon there will be enough #perl people here that I won't be able to tell at a glance from the conversation if I'm on #perl or #perl6
20:37 nine tadzik: pong
20:37 nine 5 hours 26 minutes latency
20:44 mrsolo joined #perl6
20:51 colomon joined #perl6
20:55 pmurias vendethiel: named imports? you mean renaming the module on import?
20:55 vendethiel pmurias: no, explicitly naming the imports. "use Foo <bar baz>"
20:56 pmurias vendethiel: you can't do that in Perl 6?
20:57 vendethiel pmurias: not without manually writing an EXPORT :(
20:57 frew joined #perl6
20:58 pmurias vendethiel: use Sense <&common> seems to be in the spec
20:58 pmurias vendethiel: it's just not implemented yet?
20:58 vendethiel pmurias: I hope so :)
20:59 lizmat vendethiel: how would such an export look ?
20:59 PerlJam vendethiel: you can do  module Foo { sub foo is export( :mytag ) {} }   and then use Foo :mytag;  right now.
20:59 vendethiel PerlJam: I don't want to write ":mytag".
21:00 vendethiel lizmat: returns the variables with the keys specified
21:00 vendethiel sub EXPORT(@keys) { %EXPORTED.grep(*.key eq any(@keys)) } (where %EXPORTED was crafted from is export, supposedly)
21:03 n0tjack joined #perl6
21:12 leont How do I dynamically load a module? (IOW: a stringy require). require "foo" seems to expect a filename just like p5
21:14 PerlJam leont: my $mod = "Foo";  require ::($mod);  # you mean like this?
21:14 leont Yes, that looks good to me :-)
21:19 flussenc1 joined #perl6
21:19 lucs Where do I look in the docs to figure out "Bool:D"?
21:20 leont That's a type smiley
21:20 lucs Heh
21:20 pink_mist the :D means it needs to be defined
21:20 leont :D means defined, :U means undefined
21:20 lucs Hmm...
21:20 PerlJam lucs: http://doc.perl6.org/syntax/%3AD
21:21 lucs Okay, thanks.
21:22 rurban joined #perl6
21:40 telex joined #perl6
21:46 tokuhiro_ joined #perl6
21:49 dalek rakudo-star-daily: c6be89a | coke++ | log/ (9 files):
21:49 dalek rakudo-star-daily: today (automated commit)
21:49 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/c6be89a5bf
21:50 Hotkeys why does
21:51 Hotkeys m: say 1, 2, 4 ... 1000;
21:51 camelia rakudo-moar 75ac71: OUTPUT«(1 2 4 8 16 32 64 128 256 512)␤»
21:51 Hotkeys work fine
21:51 Hotkeys but
21:51 Hotkeys m: 0, 1, * + * ... 1000;
21:51 Hotkeys will refuse to work
21:51 camelia rakudo-moar 75ac71: OUTPUT«Memory allocation failed; could not allocate 1146880 bytes␤»
21:52 Hotkeys I know you can do
21:52 Hotkeys m: 0, 1, * + * ... * >= 1000;
21:52 camelia rakudo-moar 75ac71: ( no output )
21:52 Hotkeys m: say 0, 1, * + * ... * >= 1000;
21:52 camelia rakudo-moar 75ac71: OUTPUT«(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597)␤»
21:53 Hotkeys for more or less the same idea
21:53 Hotkeys er
21:53 lizmat Hotkeys: this smells like a bug to me
21:53 Hotkeys m: say 0, 1, * + * ...^ * >= 1000;
21:53 camelia rakudo-moar 75ac71: OUTPUT«(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987)␤»
21:53 Hotkeys there we go
21:53 Hotkeys same idea now
21:53 Hotkeys :p
21:54 Hotkeys I thought so too
21:54 Hotkeys wasn't sure
21:55 Hotkeys I was hoping it would work on camelia so that I could know to just update my build
21:55 Hotkeys I would look for the bug myself but I have no idea where it might lie
22:03 lizmat TimToady seems to know a lot about them  :-)
22:06 psch looks like only deduced sequences can have a non-exact stopper on the rhs of infix:<...>
22:06 psch m: say 2, 4, 6 ... 99
22:06 camelia rakudo-moar 75ac71: OUTPUT«(2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98)␤»
22:06 psch m: say 2, 4, 6, * + 2 ... 99
22:06 camelia rakudo-moar 75ac71: OUTPUT«(2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 …»
22:06 psch which really only makes sense from an implementation point of view, in my opinion
22:08 psch Hotkeys: somewhere in src/core/operators.pm:105ff is where you'd want to look i think
22:09 AlexDaniel m: my $that's = 'cool'; say $that's
22:09 camelia rakudo-moar 75ac71: OUTPUT«cool␤»
22:10 psch m: say 2, 4, 6, * + 2 ... * == 99
22:10 camelia rakudo-moar 75ac71: OUTPUT«(2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 …»
22:11 * leont is missing a wait method on Proc :-/
22:11 leont I can start process and redirect IO, but I can't wait until it died AFAICT. It's strange.
22:12 leont I could NativeCall to waitpid, but that feels rather dirty (and shouldn't be necessary)
22:19 leont Oh, and Proc.pid is empty, even better!
22:19 Hotkeys if I can find this bug I can officially say I helped with perl 6
22:21 leont Hmmm, it seems things work ok without waiting. Strange, but I can live with that
22:23 Hotkeys looks like it's probably in this gargantuan "SEQUENCE" sub in src/core/operators.pm
22:30 jdv79 Brobdingnagian?
22:30 jdv79 i dont even know how to say that
22:30 lizmat PromoMultiPlus ?
22:31 jdv79 clearly a fringe word.  yay thesaurus!
22:31 leont .tell FROGGS it seems the syntax I was looking for was: try { EVAL q{ use Terminal::ANSIColor; &colored } } // sub ($text, $) { $text }
22:31 yoleaux leont: I'll pass your message to FROGGS.
22:33 slobo joined #perl6
22:33 xxx joined #perl6
22:34 kid51 joined #perl6
22:42 dalek problem_solver_tutorial: a36b3b8 | lichtkind++ | / (2 files):
22:42 dalek problem_solver_tutorial: polish and reorder
22:42 dalek problem_solver_tutorial: review: https://github.com/perl6/problem_solver_tutorial/commit/a36b3b8277
22:45 TimToady Hotkeys: with a user-provide iteration function, you are quite literally trying to solve the halting problem
22:46 TimToady you cannot determine which way the inequality should go, since the sequence is not guaranteed to be monotonic
22:47 tokuhiro_ joined #perl6
22:52 lichtkind tabloid news: larry wall solves halting problem
22:55 TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... *)[^100]
22:55 camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
22:56 TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... 20)[^100]
22:56 camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
22:56 TimToady so should that end when the sequence hits 21?
22:57 TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... 21)[^100]
22:57 camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
22:57 TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ...^ 21)[^100]
22:57 camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
22:58 TimToady though it's not stopping at 21 there, which is odd
22:58 TimToady *that* could be a bug...
23:06 AlexDaniel m: macro foo { 'say ' }; foo/hello/;
23:06 camelia rakudo-moar 75ac71: OUTPUT«===SORRY!===␤Too few positionals passed; expected 3 arguments but got 2␤»
23:06 AlexDaniel no line number?
23:17 psch AlexDaniel: it's backend-specific callsite stuff
23:17 psch j: macro foo { 'say ' }; foo/hello/; # note this is different
23:17 camelia rakudo-jvm 75ac71: OUTPUT«===SORRY!===␤Wrong number of arguments passed; expected 3..3, but got 2␤»
23:18 psch AlexDaniel: i'm pretty sure those aren't supposed to bubble up to Perl 6 level, but i don't know if encountering them in macros is grounds for a ticket
23:18 psch AlexDaniel: considering macros are still under heavy planning
23:18 AlexDaniel okay
23:20 TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... * == 21)[^100]
23:20 camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13 18 5 17 12 19 7 16 9 11 2 11 9 16 7)␤»
23:20 TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... * == 3)[^100]
23:20 camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3)␤»
23:22 TimToady m: say (1, 1, -> *@a { slip @a[$_ - 1] + @a[$_], @a[$_] given ++$; } ... *|* == 21)[^100]
23:22 camelia rakudo-moar 75ac71: OUTPUT«(1 1 2 1 3 2 3 1 4 3 5 2 5 3 4 1 5 4 7 3 8 5 7 2 7 5 8 3 7 4 5 1 6 5 9 4 11 7 10 3 11 8 13 5 12 7 9 2 9 7 12 5 13 8 11 3 10 7 11 4 9 5 6 1 7 6 11 5 14 9 13 4 15 11 18 7 17 10 13 3 14 11 19 8 21 13)␤»
23:25 tokuhirom joined #perl6
23:27 BenGoldberg joined #perl6
23:43 raiph joined #perl6
23:51 zakharyas joined #perl6
23:52 _dolmen_ joined #perl6
23:55 tadzik nine: yeah, we'll have to switch to syn-syn/ack-ack :P
23:56 tadzik nine: anyway, I had questions about Inline::Python and the way it handles KeyboardInterrupt, but it's more suited for /query :)

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

Perl 6 | Reference Documentation | Rakudo