»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 virtualsue left
segomos_ jnthn: thanks for your help on everything 00:03
00:20 itz left
psch m: Inf.Int.say 00:24
camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!===␤Cannot coerce Inf or NaN to an Int␤»
psch actually rather goes to sleep instead of browsing rt. 00:26
00:26 psch left 00:27 btyler joined 00:28 btyler left 00:30 lizmat left 00:33 woolfy left 00:43 FROGGS left 00:49 vendethiel left 00:53 yogan joined, atrodo joined, timotimo joined, tokuhirom joined 00:55 ggherdov_ joined 01:00 FROGGS joined 01:03 FROGGS_ joined 01:06 FROGGS left 01:10 klapperl_ left 01:11 Su-Shee left, klapperl joined 01:12 Su-Shee joined 01:19 Akagi201_ joined 01:23 Akagi201_ left 01:26 BenGoldberg left 01:31 mr-foobar left 01:32 BenGoldberg joined 01:44 ilbot3 left 01:45 rurban1 joined 01:46 ilbot3 joined 01:47 rurban2 joined 01:49 rurban1 left
Mouq BenGoldberg: Hackity, but: gist.github.com/Mouq/8d6548b27e614bff1abf 01:50
01:51 rurban2 left
Mouq Oh, wait, bug in that 01:52
Lots of bugs actually
BenGoldberg Even if buggy, the idea is kinda cool :) 01:53
Mouq Updated quick to be slightly less awful :) 01:55
'night #perl6
01:55 Mouq left
[Coke] what happened to feather? 02:17
02:27 noganex joined 02:30 noganex_ left 02:37 nnunley left 02:45 Akagi201_ joined
TimToady_ Thundergnat++ for three GTK entries on RC in a row 02:47
we're now only 40 behind Python
and only 103 from the leader, Tcl 02:48
02:48 rurban1 joined 02:52 rurban1 left 02:54 hoverboard joined 03:02 araujo left 03:15 uniejo joined 03:21 xragnar_ joined, xragnar is now known as Guest27639, Guest27639 left, xragnar_ is now known as xragnar 03:29 BenGoldberg left 03:32 TimToady_ is now known as TimToady 03:49 rurban1 joined 03:53 uniejo left 03:55 estrabd left 03:59 pdcawley left 04:02 estrabd joined 04:03 estrabd left 04:04 estrabd joined 04:09 hoverboard left 04:15 punter joined 04:16 punter left 04:31 pdcawley joined 04:35 obra_ is now known as obra 04:36 pdcawley left 04:37 pdcawley joined 04:42 pdcawley left 04:46 pdcawley joined 04:49 rurban1 left 04:50 rurban1 joined 04:53 pdcawley left 05:01 rurban1 left 05:11 gfldex joined 05:14 petercom1and is now known as petercommand 05:20 pdcawley joined 05:32 rurban1 joined 05:34 pdcawley left, SamuraiJack_ joined 05:36 rurban1 left 05:45 darutoko joined 05:58 pdcawley joined 06:00 lizmat joined, woolfy joined 06:03 kaare_ joined 06:05 pdcawley left 06:21 SamuraiJack joined, SamuraiJack_ left 06:25 SamuraiJack left 06:27 SamuraiJack joined 06:29 dmol joined 06:41 Rotwang joined 06:47 sisar joined 06:57 sisar_ joined
sisar_ rakudo: say IO::Path.^methods; #what decides the order in which the methods are printed ? 06:58
camelia rakudo-parrot 8de0fd: OUTPUT«SPEC dir BUILD path parts basename directory volume Bridge Int succ pred IO open is-absolute is-relative absolute relative cleanup resolve parent child copy chmod contents d e f s l r w x z modified accessed changed umask ACCEPTS new Str gist perl Numeri…»
..rakudo-moar 8de0fd: OUTPUT«SPEC dir BUILD path parts basename directory volume Bridge Int succ pred IO open watch is-absolute is-relative absolute relative cleanup resolve parent child copy chmod contents d e f s l r w x z modified accessed changed umask ACCEPTS new Str gist perl Nu…»
..rakudo-jvm 8de0fd: OUTPUT«SPEC dir BUILD path parts basename directory volume Bridge Int succ pred IO open is-absolute is-relative absolute relative cleanup resolve parent child copy chmod contents f w accessed umask d e s r l z x modified changed ACCEPTS new Str gist perl Numeric␤»
FROGGS_ maybe the order they are in the method table? 06:59
sisar_ would getting them in alphabetical order be a bad default ? 07:00
07:00 sisar left
sisar_ FROGGS_: what is a method table ? 07:00
07:01 lizmat left, bluescreen100 left
FROGGS_ a lookup list so that you know which type has what methods... 07:01
but in fact I don't know much about the implementation here 07:02
sisar_ FROGGS_: now I wonder what decides the order in the method table :-) maybe the inheritance heirarchy.
anyway, i suggest alphabetical output for that 07:04
FROGGS_ sisar_: you can find out by searching for 'method methods' in rakudo's src
sisar_ ok
07:04 dmol left 07:05 woolfy left 07:06 schogen joined 07:08 sisar_ left 07:12 sisar joined 07:14 bluescreen100 joined 07:16 SamuraiJack left 07:29 sisar left 07:34 rurban1 joined 07:38 rurban1 left 07:41 spider-mario joined 07:51 denis_boyun_ joined 07:58 denis_boyun_ left 08:13 kaare_ left 08:18 sisar joined 08:30 sisar left 08:35 rurban1 joined 08:39 rurban1 left 08:40 kweetal joined 08:41 woolfy joined, lizmat joined 08:45 kivutar joined 08:51 lizmat_ joined 08:52 rindolf left, rindolf joined 08:54 lizmat left 09:00 vendethiel joined 09:03 rindolf left 09:04 rindolf joined 09:07 SevenWolf left
ChoHag I have written this: gist.github.com/ChoHag/5bf910fa4b04d51bfa5f but I can't help feeling somehow like it's The Wrong Way. 09:16
vendethiel ChoHag: how so ? 09:17
ChoHag I don't know.
vendethiel you can also use method postcircumfix:<{ }>, but subs are easier to inline 09:18
ChoHag Oh I'm not interested in performance at this point, just playing with perl.
Or rather, performance is a side note. 09:20
vendethiel with current perl 6 implementations, it better be :-P 09:24
m: class A { has $.i; submethod BUILD($!i) {}; method postcircumfix:<{ }>(Int $n) {} }; say A.new(5){60}; 09:25
camelia rakudo-moar 8de0fd: OUTPUT«Default constructor for 'A' only takes named arguments␤ in method new at src/gen/m-CORE.setting:827␤ in block at /tmp/gZ6yj93YPo:1␤␤»
vendethiel m: class A { has $.i; method postcircumfix:<{ }>(Int $n) {} }; say A.new(i => 5){60};
camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!===␤postcircumfix:<{ }> not defined for type A␤»
vendethiel uh. 09:26
09:32 anaeem1_ joined 09:36 rurban1 joined
masak good antenoon, #perl6 09:37
09:38 rurban2 joined, itz joined 09:40 rurban1 left 09:42 rurban2 left 09:43 lizmat_ left 09:46 woolfy left
moritz \o masak 09:51
09:59 anaeem1_ left, kaare_ joined, virtualsue joined
timotimo ChoHag: you can also override at_key, bind_key, assign_key 10:03
then you get the "mighty" postcircumfix:<{ }> "for free" 10:04
ChoHag Override them in what?
timotimo in your class
those are methods
see also Hash.pm in src/core/ 10:05
10:05 dmol joined 10:13 kivutar left 10:14 virtualsue left 10:15 anaeem1_ joined 10:19 anaeem1_ left
jnthn m: class LazyHashyThing does Associative { method at_pos($key) { $key.uc } }; my %h := LazyHashyThing.new; say %h<omg> 10:31
camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!===␤postcircumfix:<{ }> not defined for type LazyHashyThing␤»
jnthn oops
m: class LazyHashyThing does Associative { method at_key($key) { $key.uc } }; my %h := LazyHashyThing.new; say %h<omg>
camelia rakudo-moar 8de0fd: OUTPUT«OMG␤»
jnthn There we go
Clearly, more coffee needed. Or maybe coffee doens't help against just being full of cold...
ChoHag Can you store a multi method in a variable? So that $foo(1) and $foo(1,"string") will DTRT? 10:32
Or would you just have $foo be something like: { real_multi_method(\args) }
vendethiel ChoHag: you *can*, but it has some issues with lexpads ATM 10:33
well, you need to first declare it as multi, then capture it 10:34
10:38 schogen left 10:39 rurban1 joined, schogen joined 10:40 pdcawley joined 10:43 rurban1 left 10:51 denis_boyun joined 10:53 virtualsue joined
jnthn You can $foo = &some_multi; 10:58
m: my $adder = &infix:<+>; say $adder(1); say $adder(1, 1); 10:59
camelia rakudo-moar 8de0fd: OUTPUT«1␤2␤»
ChoHag I have class AutoHash is Hash. How can I override new (which Hash provides) or BUILD (which it doesn't) so that I can strip some named arguments off the call to AutoHash.new() and pass the rest up to the parent Hash class? 11:02
11:02 anaeem1_ joined, telex left 11:03 pdcawley left 11:04 telex joined 11:05 anaeem1_ left
jnthn method new(:$thing, :$another, *%rest) { callwith(|%rest) } # or so, but I guess you want to do something with the other named args 11:06
11:10 pdcawley joined 11:15 pdcawley left 11:16 pdcawley joined 11:20 pdcawley_ joined 11:21 pdcawley left, itz left 11:22 kivutar joined 11:29 denis_boyun left, denis_boyun_ joined 11:32 virtualsue left 11:34 itz joined 11:40 rurban1 joined 11:44 rurban1 left 11:59 pdcawley_ left 12:00 BenGoldberg joined
FROGGS_ o/ 12:05
12:09 schogen left
BenGoldberg \o 12:09
12:09 schogen joined
BenGoldberg . o O ( That ascii person looks more like he's getting something down from a shelf, than waving hello, but whatever :) ) 12:10
FROGGS_ :o) 12:30
12:34 schogen left 12:35 schogen joined
moritz m: * but * 12:36
camelia ( no output )
vendethiel moritz: do you want to see the world burning ? Because that's how you get the world burning
BenGoldberg m: say * but * 12:37
camelia rakudo-moar 8de0fd: OUTPUT«*␤»
BenGoldberg m: (* but *).WHAT.say
camelia rakudo-moar 8de0fd: OUTPUT«(Whatever+{<anon>})␤»
jnthn m: (* but *).^methods(:local)>>.name>>.say 12:39
camelia rakudo-moar 8de0fd: OUTPUT«Whatever␤»
jnthn haha
12:40 rurban1 joined
moritz lol 12:43
m: say (* but *)(Int, Bool).^name
camelia rakudo-moar 8de0fd: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤ in block at /tmp/bdWOm1D33b:1␤␤»
12:44 schogen left 12:45 rurban1 left, schogen joined 12:50 isBEKaml joined 13:00 kurahaupo joined
moritz m: say (* but *)(Int).^name 13:06
camelia rakudo-moar 8de0fd: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤ in block at /tmp/8hQwbVM71u:1␤␤»
13:06 SamuraiJack joined
moritz m: say (* but *).^roles 13:08
camelia rakudo-moar 8de0fd: OUTPUT«(<anon>)␤»
moritz m: say (* but *).^name
camelia rakudo-moar 8de0fd: OUTPUT«Whatever+{<anon>}␤»
13:20 schogen left 13:21 schogen joined
FROGGS_ lol, I blogged # usev5.wordpress.com/ 13:28
timotimo \o/ 13:32
FROGGS_: "deliverable", not "diliverable" 13:33
FROGGS_ timotimo: thanks! will change 13:35
timotimo otherwise, FROGGS++ :) 13:37
13:39 schogen left 13:41 rurban1 joined, denis_boyun_ left 13:44 Alina-malina left 13:45 rurban1 left 13:46 kivutar left 13:53 rurban1 joined, vendethiel left 13:57 xenoterracide joined
masak FROGGS_: ss/all our GSOC student<()>/s/ 13:57
FROGGS++ # blog post 13:58
timotimo masak: oh that's a cute use of <( and )> 13:59
masak also, perhaps a more minor thing: ss/This is <((in several ways) (interesting))>/$1 $0/ -- I believe that's a question of German vs English placement of adverbials.
timotimo: patent pending ;)
14:04 xenoterracide left 14:05 orafu left 14:06 OuLouFu joined, OuLouFu is now known as orafu 14:07 xenoterracide_ joined 14:09 isBEKaml left, Alina-malina joined 14:10 Alina-malina left
timotimo yeah, that looks like a germanism 14:11
which is funny, because english is also a germanic language :P
14:11 Alina-malina joined
masak .oO( which is in several ways funny ) 14:13
timotimo: I find that, several families and groupings notwithstanding, each individual language tends to have lots of arbitrary restrictions of the type "no, you can't say it that way, because because!" 14:14
timotimo aye 14:15
masak probably chiseled out over the centuries as the ground to the figure of actual usage.
but that usage is *contingent*, and thus so are the restrictions. 14:16
timotimo m: $_ = "foo bar"; s/foo<()>/ooooo/; .say
camelia rakudo-moar 8de0fd: OUTPUT«fooooooo bar␤»
masak :D
timotimo i'm a tiny bit surprised that <()> doesn't parse as a single thing and errors out
masak that's because <( and )> are individual ops, and not a grouping construct.
m: $_ = "foo"; s/f)>o<(o/!/; .say 14:17
camelia rakudo-moar 8de0fd: OUTPUT«foo␤»
masak expected that to match, and replace *something*
m: $_ = "foo"; s/fo<(o/!/; .say
camelia rakudo-moar 8de0fd: OUTPUT«fo!␤»
masak ah.
ok, fair enough. Rakudo has it right. 14:18
m: $_ = "foo"; s/<()>/!/; .say
camelia rakudo-moar 8de0fd: OUTPUT«!foo␤»
masak I could argue both ways about whether *that* one is an "empty" regex, though.
but I don't see the harm in allowing it -- which tends to mean Perl allows it.
timotimo m: $_ = "foo bar"; s/<</!/; .say 14:20
camelia rakudo-moar 8de0fd: OUTPUT«!foo bar␤»
timotimo same reason that's allowed, IMO.
oh ... actually
yeah, i do see your point
14:21 atroxaper joined, atroxaper left 14:25 woolfy joined, lizmat joined
masak well, << is an *anchor*. <( is just a directive, really. 14:28
timotimo mhh
14:29 woolfy left 14:30 woolfy joined, xenoterracide_ left 14:32 vendethiel joined 14:34 xenoterracide_ joined 14:36 anaeem1 joined 14:38 xragnar left 14:39 schogen joined, xragnar joined
masak another way to say it is that << still acts on the target string just as much as 'foo' and \d do. 14:47
whereas <( acts on the matching process, more akin to what () and {} do.
timotimo mhh, right 14:48
moritz s/matching/capturing/ process, actually 14:51
14:56 guru joined, guru is now known as Guest58523 14:57 amkrankr1leuen left
masak ok, sure. 14:57
14:57 Guest58523 is now known as ajr_
masak reaches 22:09 of www.youtube.com/watch?v=8OJ7ih8EE7s and gets a bit of an epiphany on macros 14:58
macros are really all about a safe and rich "interchange" or "negotiation" between "macro land" and "program land". 14:59
vendethiel oh, a masak macros are really
masak for simplicity, we can imagine the macro as having been written years ago by a competent developer, stuffed away in a module somewhere, and used profitably by users.
that means that this old macro will be "used" time and time again by code from the future (from its perspective). 15:00
in other words, the macro is in the same business as a base class written to be extended, or a function written to accept callbacks.
remember, our three high-level use cases here are "generate, analyze and typecheck code". (from scalamacros.org/) 15:01
"generate" is what we've mostly been looking at as use cases. that's what quasis do for us. quasi interpolation makes it a bit more dynamic and useful. hopefully the scopes make sense, too. 15:02
moritz sounds like you realized that macros are abstractions (sorry, could not quite resist) 15:03
masak heh.
well, yeah, but lots of things are abstractions. functions, classes.
moritz 17:00 < masak> in other words, the macro is in the same business as a base class written to be extended, or a function written to accept callbacks. 15:04
masak what I'm saying is that the macros are the special subtype of "responsible" abstraction that has to negotiate with its caller.
or at least often they are.
in the cases where they aren't, probably most of the time a function, inlining, and dead code elimination would do just fine.
that was an insight that bothered me early on. like, the sense of macros being a feature looking for a use case. 15:05
but then I found the "generate, analyze and typecheck" slogan, and then I felt better.
because it really hinges on the macro being "aware" enough of (a) the context in which it is being invoked, and (b) the arguments/code it is being invoked *with*. 15:06
15:06 xenoterracide_ left
masak this really points us towards the need for (a) a way to evaluate ASTs to values, (b) ways/better ways to construct/manipulate/navigate ASTs, and (c) ways to refer to the context around the macro invocation. 15:09
15:09 anaeem1 left 15:10 Akagi201_ left
moritz (c) makes a mit uneasy, actually. I imagine a macro rumamging around in the containing lexpad like a shady character in someone elses cupboards 15:11
but I guess it really is necessary
vendethiel masak: generate, analyze and type-check ? 15:20
to me, type checking is just part of the two firsts.
but it's more of an idea, somewhat ... I write my ruby like it's lisp.
(which is probably why I think crystal looks so cool, being ruby with type inference and macros) 15:21
masak: but then, you need a specced AST format.
which might or might not be what the compiler itself is using, after all ... 15:22
masak moritz: I was thinking more a readonly access than a read-write access. but maybe it needs to be one of those great power/great responsibility things. 15:26
vendethiel: re crystal: url? 15:27
vendethiel masak: github.com/manastech/crystal/
thought I linked it several times already, so I didn't want to spam it haha
masak vendethiel: yeah, "you need a specced AST format" is a thought that comes up with worrying regularity in my thoughts on macros.
vendethiel well, it's because it's normal in the grand scheme of dissection
masak ah, and crystal-lang.org/
vendethiel masak: yep. It's ruby, with typing and powerful type inference, and macros. 15:28
I havn't had the opportunity to toy with it yet because I've experienced issues on windows, but it looks nifty. 15:29
.oO( Why do everybody want to bring macros to ruby ? after elixir, crystal. )
jnthn FROGGS_: Any reason your blog ain't on planeteria.org/perl6/ ? 15:35
15:35 [particle]1 joined 15:36 [particle] left 15:37 amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined
masak another useful model when thinking about macros is the "three sites" thinking. there's the macro itself, the callsite where we use the macro, and the code that the macro generates and splices into the program. all of these want to interact, but only some of the interactions (in certain directions) make sense. 15:37
ah, I should draw a diagram, I think.
the three sites correspond, respectively, to the concerns of the macro author, the program author, and the compiler. kinda. 15:40
vendethiel masak: let's avoid non-hygienic stuff~ 15:41
masak heh -- sorry, the non-hygienic stuff is already spec'd and part of my ongoing grant. 15:43
it will be up to the macro author to avoid it, by choice.
but that's a good example of two interactions.
moritz FROGGS++'s blog added to planeteria.org/perl6/
ChoHag How can you change 'if $var:defined { ... }' to 'given $var { when ?? { ... } }' without making undefined be the degenerate case?
masak let's see. the hygienic version would be "generated code gets to see macro code". 15:44
the non-hygienic version would be "generated code gets to see the callsite code", and sometimes vice versa.
vendethiel masak: I disagree on that point.
It can *see* the callsite and be hygienic
masak yeah, I think I'm working with too loose definitions here. 15:45
vendethiel and you don't actually need macros for what they're currently available in p6 15:46
just changing the meta model, using proxies and other dynamic method adding works 15:47
(also `our export` :P)
quasiquotes are very important, though 15:48
I think I've read the scalac guys want to move codegen from the compiler to use quasiquotes instead. 15:49
masak macros and quasis are really just a way to participate in the compilation pipeline. 15:50
15:52 xenoterracide_ joined 16:03 xenoterracide_ left 16:04 raiph joined, zakharyas joined 16:15 virtualsue joined 16:31 molaf__ joined 16:34 molaf_ left 16:38 SamuraiJack left 16:44 smls joined
japhb Is this known while trying to install first modules after bootstrapping panda successfully: Could not download module metadata: Failed to connect: connection refused in method update at lib/Panda/Ecosystem.pm:91 16:51
?
That was from a build I ran last night. If it's fixed already, I can build again ....
timotimo i believe we restarted the server 16:52
16:52 carlin_ joined
japhb timotimo: Ah, OK, will try again. 16:52
japhb watches it all build again .... 16:53
16:54 virtualsue left
japhb Gah, well that failed pretty hard 16:56
timotimo oh crap ...
japhb Now panda won't run from my rebuild script at all.
japhb wonders what's gone wrong
===SORRY!=== 16:57
Missing or wrong version of dependency 'src/gen/m-Metamodel.nqp'
Huh.
16:58 labster joined
jnthn Did you bootstrap or rebootstrap? 16:58
japhb applies fire to the clones
jnthn really doesn't know Panda that well, though...
vendethiel
.oO( He set fire ... To the clones ... Watch it burn, lalalala )
japhb jnthn: bootstrap
16:59 R0b0t1` joined
labster I had an issue with panda a few days ago where a new install couldn't see anything in the ecosystem after bootstrap.pl. Running rebootstrap fixed it, but it was weird on a clean install. 17:01
17:02 R0b0t1 left
labster Maybe a bug, maybe the YAPC::NA hotel's rather questionable wifi. 17:02
japhb Last night I was able to wget the module metadata JSON file, but if I went into the REPL and even tried to connect an IO::Socket::INET to the same host and port, it would immediately error saying connection refused. 17:05
Made me wonder if it was confused about return values from the underlying socket calls, or had gotten DNS wrong, or something like that. 17:06
smls When I try `panda install NativeCall` with R* 2014.04, a whole bunch of tests fail with: "No such method 'config' for invocant of type 'Hash'" :(
do I need a newer 17:07
Rakudo?
japhb I'm back to the behavior from earlier of being unable to download the module metadata. If I try to connect at the REPL, I get: 17:09
> my $s = IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000));
Failed to connect: connection refused
jnthn smls: R* already includes NativeCall
smls: Of note, a version that works with the rakudo you have. 17:10
japhb Connecting in the same way to www.google.com port 80 works fine.
WTH
17:11 pdcawley joined
smls jnthn: Oh, right. 17:12
But why does Panda insist on installing its own NativeCall as a dependency for GTK::Simple ?
timotimo japhb: could be panda-server is still b0rked?
17:12 virtualsue joined
japhb No, it gets weirder. If I use `host feather.perl6.nl` to get an IPv4 address, and connect using that, it works. 17:13
japhb wonders what happens if he tries the IPv6 address
Hmmm, 'Failed to resolve host name' 17:14
tadzik smls: panda doesn't know about R* modules
japhb timotimo: if you do the socket connect I had above in the REPL, using feather.perl6.nl, does it work for you? 17:15
timotimo i'm in a hurry, running late
japhb tadzik: I thought that was planned for R* a while back (to install all modules using the R* panda)?
timotimo: no worries
smls tadzik: So that means I cannot install GTK::Simple on 2014.04?
17:16 labster left
japhb smls: I believe there is a --no-deps or so 17:16
smls installing that way failed too, but thanks 17:22
17:25 itz left, R0b0t1` is now known as R0b0t1
japhb smls: Maybe other dependencies that you need to install manually first, so that the --no-deps becomes a noop? 17:27
smls no, this time I hit a parsing error in lib/GTK/Simple.pm6 17:28
maybe I'll investigae later
17:29 carlin joined, carlin left 17:30 raiph left
tadzik japhb: it was :( 17:32
japhb tadzik: What blocked it? 17:34
tadzik tuits 17:35
japhb Oh. :-(
tadzik or rather: nobody ever tried :D
:)
FROGGS_ jnthn: no, no idea... (v5@planeteria)
who's the admin?
japhb I could swear that *someone* put some tuits to making that transition less painful ....
17:35 araujo joined
jnthn FROGGS_: It got added by now, I think :) 17:35
FROGGS_ \o/
awesome :o)
jnthn oh, or I thought it did, but don't see it... 17:36
FROGGS_ hmmm, I don't see it
jnthn 15:43moritzFROGGS++'s blog added to planeteria.org/perl6/ 17:37
FROGGS_ ahh
jnthn Maybe it takes a while to appear 17:38
FROGGS_ yeah, perhaps it runs on the jvm :P 17:39
vendethiel "Perl 6 is a highly capable, feature-rich programming language with over 25 years of history." 17:46
does that work ?
moritz perl's history is >25 years, Perl 6's isn't 17:47
vendethiel mmmh, hmm. But perl's history is perl 6's history, isn't it ? 17:48
outside of the diverging year (but that doesn't change the count)
FROGGS_ "Perl 6 is a highly capable, feature-rich programming language made for the upcoming hundred years."
sort of
but when nobody thought of Perl 6 back then, then this is not directly Perl 6's history 17:49
vendethiel I'm not nobody thought ever thought of the future, but that's still history. I don't get your remark? 17:54
17:54 rurban1 left
vendethiel oh, I should make clear that I'm using "Perl 6" namingly here because there's another perl 5 tutorial 17:56
18:00 xinming_ joined 18:03 xinming left
TimToady our flight is 1.5 hours delayed; apparently they broke the air conditioner on the plane 18:07
japhb Is there anyone that can recreate my problem with 'my $s = IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000));' ? 18:08
carlin_ who needs airconditioning? just open a window
jnthn carlin_: On a plane, that solution kinda sucks :P
japhb TimToady: When you fill a metal cylinder with several tens of thousands of watts of humans, I would bet that becomes a critical feature.
FROGGS_ it actually blows
TimToady well, it does a bit of both, generally 18:09
R0b0t1 So what is this :identifier stuff?
TimToady m: say :identifier.perl
camelia rakudo-moar 8de0fd: OUTPUT«"identifier" => Bool::True␤»
R0b0t1 Construction?
TimToady m: say :host<feather.perl.nl>.perl
camelia rakudo-moar 8de0fd: OUTPUT«"host" => "feather.perl.nl"␤»
TimToady constructs Pair objects 18:10
R0b0t1 m: say :host<feather.perl6.nl>
camelia rakudo-moar 8de0fd: OUTPUT«␤»
R0b0t1 Pair objects?
TimToady you just passed a named argument to 'say', which it ignored
which is likely a bug
in the case above, it was named arguments to .new 18:11
18:11 sjn_ joined
TimToady used to initialize the attributes 18:11
Pair objects turn into named args when you use them in an argument list to a function or method
R0b0t1 I see 18:12
FROGGS_ ohh noes /o\, this proves that it sucks! www.youtube.com/watch?v=SqARHIKuuuU
R0b0t1 So a pair is a sigiled name and an object?
TimToady no sigil
japhb R0b0t1: A pair is literally that, a pair of things. Exactly two, and one is the key and the other the value. 18:13
TimToady just a key and a value
like one entry in a hash
FROGGS_ m: say (:host<feather.perl6.nl>)
camelia rakudo-moar 8de0fd: OUTPUT«"host" => "feather.perl6.nl"␤»
FROGGS_ m: say (:host<feather.perl6.nl>).perl
camelia rakudo-moar 8de0fd: OUTPUT«"host" => "feather.perl6.nl"␤»
FROGGS_ m: say (:host<feather.perl6.nl>).WHAT
camelia rakudo-moar 8de0fd: OUTPUT«(Pair)␤»
R0b0t1 The syntax is a bit strange, but okay.
FROGGS_ one get used to it :o)
TimToady well, you can use host => "feather.perl.nl" instead if you like 18:14
FROGGS_ good thing is that you can chain them
m: use QAST:from<NQP>:ver(*)
camelia ( no output )
TimToady => is something like . in Lisp
oh, different sense of 'chain'
japhb say foo => bar => baz => quux 18:15
m: say foo => bar => baz => quux
camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!=== Error while compiling /tmp/P1SkeRFQfF␤Undeclared routine:␤ quux used at line 1␤␤»
japhb m: say foo => bar => baz => 'quux'
camelia rakudo-moar 8de0fd: OUTPUT«␤»
japhb m: say (foo => bar => baz => 'quux').perl
camelia rakudo-moar 8de0fd: OUTPUT«"foo" => "bar" => "baz" => "quux"␤»
japhb cons lists for the win
R0b0t1 Neat 18:19
FROGGS_ m: fail 42 18:32
camelia rakudo-moar 8de0fd: OUTPUT«Unhandled exception: 42␤ at src/gen/m-CORE.setting:11409 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:117)␤ from src/gen/m-CORE.setting:12867 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:s…»
FROGGS_ m: die 42 18:33
camelia rakudo-moar 8de0fd: OUTPUT«42␤ in block at /tmp/7zxhbL3xsI:1␤␤»
FROGGS_ why do we get a low level backtrace for 'fail' ?
jnthn FROGGS_: I think because it's sunk back in NQP land... 18:34
m: fail 42; 1;
camelia rakudo-moar 8de0fd: OUTPUT«Unhandled exception: 42␤ at src/gen/m-CORE.setting:11409 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:117)␤ from src/gen/m-CORE.setting:12867 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:s…»
jnthn Hm, maybe not that then.
FROGGS_ I like to fix it... perhaps I find the position of my bug then :o)
jnthn go for it :) 18:35
I've got a handful of Rakudo patches that improve assignment to scalar code-gen quite a bit, but dinner first...
18:36 virtualsue left
FROGGS_ dinner++ 18:36
18:37 pdcawley left
japhb WTH? As a sanity check, I tried connecting to feather.perl6.nl port 80 (instead of 3000), and ... it worked. 18:42
japhb is really confused now. 18:43
18:43 pdcawley joined 18:44 kaare_ left
japhb Oooh! I see this in wget's output: 18:45
Connecting to feather.perl6.nl (feather.perl6.nl)|2a02:2308:10::f:1|:3000... failed: Connection refused.
Connecting to feather.perl6.nl (feather.perl6.nl)|193.200.132.135|:3000... connected.
But for port 80:
Resolving feather.perl6.nl (feather.perl6.nl)... 2a02:2308:10::f:1, 193.200.132.135
Connecting to feather.perl6.nl (feather.perl6.nl)|2a02:2308:10::f:1|:80... connected.
So, my DNS lookup is returning the AAAA record before the A record, but port 3000 is only listening on the IPv4 address, not the IPv6 address, while port 80 is listening on both (I checked by forcing the IPv4 address) 18:47
So ... can someone with the proper powers on feather fix the listen addresses on port 3000? :-) 18:48
Also, the IO::Socket::INET code (or lower layers) should probably attempt to connect on multiple different addresses, if available for the given host. 18:49
Is address resolution exposed at the Perl 6 level anywhere? 18:51
18:52 darutoko left 18:53 carlin_ left, carlin joined
FROGGS_ japhb: don't think so 18:53
it is in nqp for parrot and should be in moarvm for moar 18:54
18:54 pdcawley left, virtualsue joined 19:01 schogen left
TimToady is wondering whether we're dispatching to tap targets assuming a single $ argument, or whether we can feed directly to a multi-arg multiple-dispatch... 19:03
it would be a shame to have to redispatch just to unpack a $ into a |c
19:04 rindolf left 19:05 hoverboard joined
TimToady it looks like the args are \val and passed on as val, but maybe they should be |val? 19:06
19:07 virtualsue left
TimToady just thinkin' how Erlang can pass messages directly to pattern matchers 19:08
19:10 itz joined 19:12 virtualsue joined 19:15 asterite joined
timotimo smls: i don't get a parse error in gtk-simple; did you pull latest? 19:22
vendethiel Where's the syn part about `macro is parsed` ? I can't seem to find it. 19:30
TimToady wonders whether we should have a 'macro regex' instead of using the trait mechanism 19:31
and the macro just returns whatever you 'make' 19:32
vendethiel TimToady: macro grammar ;-)
TimToady well, one would get grammatical categories for free with macro-regex infix:sym<foo> and such 19:33
19:33 LLamaRider joined
FROGGS_ jnthn: it looks like there are two issues... one in main.nqp about sink, and one about the way &fail works 19:40
TimToady I guess it would want a declarator that puts it into the curren tslang
FROGGS_ jnthn: and I think I have a fix for the latter 19:41
vendethiel m: say 3+4; { sub infix:<+>($foo, $bar) { say $foo }; "foo" + "bar"; }; say 3+4;
camelia rakudo-moar 8de0fd: OUTPUT«7␤foo␤7␤»
TimToady slang regex infix:sym<op> { <sym> { make quasi { } } } and such
well, probably slang token in the normal case 19:42
jnthn FROGGS_: OK, nice :)
FROGGS_ jnthn: for 'fail 42; 1' there was no backtrace at all fwiw, now there is one :o) 19:43
19:43 Sqirrel joined
FROGGS_ spectests 19:43
jnthn ok :)
I pushed a bunch of stuff a bit ago
FROGGS_ it just was "SORRY\n=======\n42", which sucks slightly, especially for beginners 19:44
okay, will pull right before pushing
jnthn ok :)
Am currently discovering that it's possible to choke on ice cream...and working on inlining things containing extops. 19:45
FROGGS_ O.o
TimToady well, maybe infix is a bad example for a category macro
FROGGS_ don't inline ice cream then ó.ò
wrap has four fails currently 19:46
BenGoldberg . o O (mmm, ice cream)
jnthn yeah, I think those are new tests
FROGGS_ ahh, that is known: github.com/coke/perl6-roast-data/b....out#L2281
FROGGS_ .oO( We all scream for ice cream! ) 19:47
no new fail and I'm at S29 already... seems like I didn't break anything 19:48
vendethiel m: sub postfix:<xy>(Int $n) {$n*3}; say 3xy; 19:50
camelia rakudo-moar 8de0fd: OUTPUT«9␤»
timotimo ah, d'oh 19:52
now i see what's wrong about the isconcrete optimization %)
jnthn result register. argument register. what's the difference? :P 19:53
timotimo if i was the one who implemented that, i think i probably thought i was setting a fact on the result register
jnthn Well, the fact goes on the result reg 19:54
timotimo rather than setting the instruction to a constant literal and setting the literal's result value
jnthn Right. :)
btw, one thong I notice now...
uh, thing
Is we could probably use the const_i64_16
And get more compact code. Feel free to tweak that. 19:55
timotimo sure
TimToady my plane is now only going to be about 3.5 hours late... 19:56
well, at least Orlando has wifi
FROGGS_ TimToady: :/
19:57 virtualsue left
vendethiel (at this point, and considering how I've seen everybody saying this, I'm not scared of planes because of crashes, but because of delays) 19:57
TimToady well, at least a busted AC is not likely to take down a plane... 19:58
not unless it shoots flames or some such
20:00 hoverboard left
vendethiel anybody still have the link to that "scheme slang" I think I've seen ? 20:00
I seem to remember something like that ...
FROGGS_ I pushed:
fix 'fail' so it also prints a backtrace
This works in all cases except when the fail is the last statement of
our program. The call to .sink in main.nqp seems to introduce a problem,
which results in a low level backtrace that does not even show the file
and line number of the user's code.
github.com/rakudo/rakudo/commit/6b...4699f1b09b 20:01
and it nicely shows the error I have in Archive::Tar :o)
20:03 LLamaRider left
timotimo jnthn: i'm going to benchmark a rakudo-moar on the current rakudo head; without my spesh const_i64_16 tuning, but with the osr and isconcrete fixes 20:05
jnthn timotimo: OK, nice
FROGGS_ jnthn: why was there a 'my &fail := ...' instead of a sub? is that so damn faster?
jnthn FROGGS_: No
FROGGS_ because it does not allow to export a sub fail from a module fwiw 20:06
jnthn FROGGS_: Actually worse 'cus it frustrates inling.
FROGGS_ had to fight that in v5
k
jnthn FROGGS_: The problem is that a sub introduces a return handler
So
sub return(\x) { ...get return handler... }
TimToady jnthn: can a tap call into a multiple dispatch with multiple args directly, or would it need a helper closure currently?
timotimo a "tap" call?
TimToady .tap( &my_multi_sub } 20:07
jnthn I think got interesting in terms of the return handler...
TimToady er, )
FROGGS_ m: sub foo { fail 42 }; sub bar { foo }; bar()
camelia rakudo-moar 8de0fd: OUTPUT«Unhandled exception: 42␤ at src/gen/m-CORE.setting:11409 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:117)␤ from src/gen/m-CORE.setting:12867 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:s…»
FROGGS_ ahh, well, can't check the bt here anyway
jnthn TimToady: It can be a multi-dispatch sub, but "more" provides one more value...
20:07 user3 joined
jnthn TimToady: So it's only useful if you're planning to dispatch on type 20:08
20:08 user3 left
jnthn TimToady: Of course, you can use unpacking in the signatures of the multi to do unpacking; it'll be a perfectly ordinary multi-dispatch. 20:08
TimToady what if you have a supply that supplies Capture objects?
FROGGS_ m: sub foo { fail 42; 1 }; sub bar { foo; 1 }; bar()
camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!===␤42␤»
FROGGS_ that is weeeeeird
locally I get: 42 20:09
in sub bar at -e:1
in block at -e:1
dunno if it supposed to show foo, I guess so
jnthn TimToady: Hm, I'm strugglying a tiny bit on a use case for that. If you wanted to flatten the capture into a call then you'd need a closure to help do that, I guess
{ foo(|$_) } or so
TimToady which isn't necessary in Erlang
messages basically go straight to pattern matchers 20:10
would be nice to avoid the indirection
jnthn I do plenty of message-based things, but I just use types for my messages.
TimToady seems passing $ would just be a degerate case
*generate
one can always pass an item through as the first and only arg of a Capture 20:11
so I'm wondering what would be the cost of saying we always pass Captures as messages 20:13
or Parcels, maybe
(and then there's all the objects that can behave as a 1-item Parcel without the wrapper)
so I'm thinking this might be another spot we should be lazy about context 20:14
jnthn TimToady: Quite high...
It wasn't so long ago you mentioned |capture is an escape hatch. 20:15
Spesh heavily agrees. It won't even touch a callsite that flattens.
TimToady well, what about Parcel if , and bare thing otherwise, that would be very expensive for anything that can be its own parceloid
jnthn And things are about the same on JVM with invokedynamic...
Flattening callsites are a huge pain optimization wise. 20:16
And I'm heavily disinclined to like a design that makes my quite-hard-enough-thanks optimization job even harder...
What's the actual Erlang feature you're wanting to recreate easily here? 20:17
TimToady you basically send messages to a proto
in p6 terms
jnthn I'd thought Erlang was more about actors...
timotimo jnthn: should i also run a nqp master and compare that against our released version? 20:18
TimToady well that's how it does actors :P
jnthn In which case I'd have thought we really want an actors module that uses the MOP to introduce an "actor" keyword, which provides asynchronous dispatch of methods....
jnthn has even pondered writing such a module ;)
I agree there's more than one way to actor-like things :) 20:19
20:19 asterite left
TimToady anywho, have to pack up and go to a different gate, just something to think about whether the default is quite right 20:19
jnthn Heck, .act on a supply is even short for "actor"...
TimToady biab &
jnthn Well, it's one of the meanings, anyway :)
k
timotimo oh, i'm not actually sure if i pulled latest perl6-bench, i may be missing benchmarks in this run :| 20:20
jnthn timotimo: Can you include Perl 5 too? :)
timotimo i can 20:21
jnthn thx
I'm working on inline improvements as we speak, but having the set with OSR but not inline improvements is nice.
timotimo ok
jnthn (so we can see how much each helps)
timotimo yes, i need to pull perl6-bench first 20:22
how long until you push? and would you bump?
jnthn It'll be at least an hour or so. 20:23
The extops case is not quite trivial.
timotimo ok
japhb: can we rename either nqp-moarvm or rakudo-moar so that they line up? 20:27
46 benchmarks now rather than 43 20:28
should be more interesting, as these benchmarks are a bit bigger than the rest
20:29 smls left 20:35 virtualsue joined 20:41 SHODAN left 20:43 SHODAN joined
vendethiel m: my $a_ = 5; say $a_ 20:44
camelia rakudo-moar 8de0fd: OUTPUT«5␤»
vendethiel m: my $a"_ = 5; say $a"_
camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!=== Error while compiling /tmp/makxddcAGq␤Two terms in a row␤at /tmp/makxddcAGq:1␤------> my $a⏏"_ = 5; say $a"_␤ expecting any of:␤ scoped declarator␤ constraint␤ postfi…»
vendethiel m: my $long'variable-name_ = 5; 20:45
camelia ( no output )
TimToady is back; flight is now delayed about 7 hours; they're flying in a new plane from Detroit 20:50
Just For Us
FROGGS_ ohh dear
are they about to build that new plane? 20:51
TimToady Michigan is right next to Florida, right?
FROGGS_ I have no idea :o)
jnthn 7 hours? ugh. 20:53
Delays longer than the trip itself really suck...
TimToady esp for the volunteers picking you up on the other end, who would probably have stayed out at the lake if they'd known we'd be so late
jnthn :( 20:54
20:54 ajr_ left
TimToady with all our messaging, we will be fast friends with them before we've even met them... 20:54
20:55 virtualsue left 20:58 LLamaRider joined
vendethiel First sketch of Perl6 learnxinyminutes : github.com/Nami-Doc/learnxinyminut...ee2e913128 20:59
lee__ missing an oxford comma in the list of VMs :D 21:00
TimToady oxford++ 21:01
jnthn bah, what's so great about oxford...
TimToady only the commas :) 21:02
ChoHag Given a class (not mine) which has a private attribute, how could I extend that class in such a way that I could examine that attribute? 21:04
TimToady you can always cheat
jnthn ChoHag: Inheritance doesn't grant you access to the parent class attributes, so it's the usual answer for "how do I access private things": through the MOP. 21:05
ChoHag Lingustic rules are for people who don't know how to write.
TimToady where MONKEY_TYPING is one form of cheating :)
jnthn Ah, I guess extend could mean things other than inherit
In which case, yeah, augment after using what TimToady++ said.
ChoHag Yes. Sorry.
Extend in the Microsoft sense.
TimToady ChoHag: unfortunately the AP style guide folks don't know how to write :/
vendethiel As a french one, I'm afraid I despise the oxford comma, so no :P 21:07
TimToady Adam and Eve, Abbot and Costello, and Laural and Hardy would all disagree.
ChoHag I've always been a simple start to finish type of coder. Things like object orientation and the like are just fancy ways of wrapping up bits en route so I never paid much attention to what the various terms mean.
Especially since the number of programming paradigms seems to have exploded recently. 21:08
I think it's the September effect.
vendethiel TimToady: they wouldn't.
itz is feather down?
ChoHag ergo, there are objects, and they can be changed. Whether that's by inheritence, roles, fucking about with the machine code at run time, it's the same. 21:09
TimToady I think Asterix and Obelix would also prefer to be written with the comma :)
ChoHag The CPU doesn't know or care, so why should I? It's like knowing the names and particulars of linguistic grammar rules. 21:10
(There. Conversations reduce()d.)
FROGGS_ jnthn: fyi, I pushed to rakudo
jnthn FROGGS_: Cool. I just segfaulted it... 21:11
TimToady well, if English would put the 'and' out front it with a reduce operator like P6, the issue wouldn't arise :)
FROGGS_ jnthn: you... what?
carlin Common arguments for consistent use of the serial comma: Use of the comma is consistent with conventional practice
ChoHag So on MOP buggery, what can I do? In a role which is does/butted, something like self.HOW.get_value_I_don't_remember_the_function_name(self, 'hidden_attribute')?
carlin Common arguments against consistent use of the serial comma: Use of the comma is inconsistent with conventional practice
from en.wikipedia.org/wiki/Serial_comma#...nd_against -- good johb wikipedia 21:12
ChoHag I want to be read-only. I promise!
TimToady smiles, winks at, and nudges Chohag. 21:13
ChoHag carlin: My argument: Writing is one medium of many among the forms of communication humans continue to (re-)invent, and if people feel the need to pin rules down on the matter they are welcome to do so as effectively as butterfly collectors.
itz $ panda install Task::Star 21:14
Could not download module metadata: Failed to connect: connection refused
hmm wget works
TimToady we already got a bunch of publishers doing logical quoting and series comma, including O'Reilly++
the french should be in favor of anything that is revolutionary... 21:15
FROGGS_ damn, I seem to have hit a 'next LABEL' bug :/
TimToady we'll have to hunt down whoever implemented that... 21:16
FROGGS_ /o\
TimToady: ha! try to get to my place :P
TimToady can't even get to Nashville...
and in any case doesn't have his passport with him, since it's getting extra pages installed 21:17
m: FROGGS_: goto FROGGS_; 21:18
camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!=== Error while compiling /tmp/ErLmkK9HTX␤Undeclared routine:␤ goto used at line 1␤␤»
TimToady n: FROGGS_: goto FROGGS_;
camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
FROGGS_ hehe
no way!
TimToady unfortunately my niecza is busted, won't compile under mono 3
so you're safe until someone ports niecza to mono 3 21:19
or hacks goto into rakudo
TimToady looks around for a volunteer 21:20
itz does IO::Socket::INET work with ipv6?
FROGGS_ my niecza still works
TimToady don't upgrade your mono
FROGGS_ k 21:21
TimToady or your .NET
ChoHag Bah it might help if I saved the .pl with the change I'm testing...
TimToady just type u in vim till it gets back to where you were...
(this is why I almost never exit vim, just have it autosave on ^Z) 21:22
sort of a micro revision control system
ChoHag Is there a shorter way to write self.HOW.attributes(self).grep({$_.name ~~ '$!foo'})[0].get_value(self)? 21:28
jnthn .grep(*.name eq '$!foo') 21:30
itz panda doesn't work on an ipv6 system since feather has an ipv6 address and port 3000 isn't bound on it
ChoHag What about the whole attributes.grep.get_value chain? 21:31
Is there a 'get_attribute' for example? 21:32
And if not, why not?
FROGGS_ \o/ 21:35
I can print the content of a tar 21:36
TimToady \o/
Nothing can stop us now!
FROGGS_ *g* 21:38
jnthn ChoHag: The fact it hurts is meant to be a fairly storng hint that it's usually a bad idea. 21:41
ChoHag It *is* a bad idea. 21:43
But I'm not going to let that stop me.
TimToady use I'LL_BE_A_MONKEY'S_UNCLE; 21:44
jnthn If you want to use something non-spec, I *think* .get_attribute_for_usage('$!name') may work...
It's the thing the compiler uses to resolve attribute names when it wants to do usage/declaration checks.
TimToady we should randomly switch internal method names between _ and - each version just to make it more painful 21:45
ChoHag And the odd unicode symbol. Or apostrophe. 21:46
Throw in a few british spellings.
TimToady and a few french spellings... 21:47
just to be fair
ChoHag ITYM 􏿽xE9quitable. 21:48
TimToady and maybe a bit of klingon just to be...not killed...
jnthn hopes somebody other than him is going to be putting the french into the internals 21:49
My French vocab is a bit limited. I forgot most of what I learend at high school, and the only new French word I learned this year is gode... 21:50
TimToady is that like doge?
vendethiel TimToady: not quite ... 21:52
trust me, I'm french
actually, let me fix that -- don't trust me, I'm french.
carlin I'd love to know the circumstances that one would come to learn that word 21:53
(having just translated it)
I like how it means "good" in Norwegian 21:54
jnthn carlin: Was sat next to somebody who did a typo when trying to search for doge :P 21:55
vendethiel now imagine that happening to kids 21:56
BenGoldberg One might also have been searching for "geode"
carlin that's a gode excuse :p 21:57
vendethiel I lost my last ounce of innocence at the FPW2014 anyway. 21:59
22:00 SevenWolf joined
zengargo1le unpack doesn't seem to support the * in something like 'NNCxxxN*', is there some new format? 22:09
timotimo what was that * for? 22:10
zengargo1le like 'N' xx $count but just 'N' to the end i guess... that was the p5 unpack format for something.. 22:11
timotimo oh? 22:12
zengargo1le a few N's, a char, 3 pad bytes, then all N's
timotimo was the count supplied as an extra argument?
zengargo1le more like one of the initial N is the count
BenGoldberg With a *, it would mean use the entire string.
zengargo1le right. 22:13
that's what i want.
timotimo ah, ok
the strings length is known of course
TimToady our new plane has finally taken off from Detroit, sigh...
zengargo1le i'm using 'N' xx $count now, since the 'N*' didn't do the trick.
but it seems awful to have a string of thousands of N to unpack a long buffer. 22:14
22:14 dmol left
timotimo aye 22:16
TimToady: i wish you a pleasant flight!
TimToady well, the plane still has to get to Orlando in one piece 22:17
22:17 LLamaRider left
TimToady and doubtless it'll be time for the evening electrical storm by then... 22:17
last night's was a dandy 22:18
22:18 zakharyas left 22:19 raiph joined 22:20 pdcawley joined 22:23 itz left, R0b0t1 left 22:25 colomon_ joined 22:36 kivutar joined 22:38 R0b0t1 joined 22:43 spider-mario left 22:47 tgt joined
[Coke] waves from oregon. 22:47
22:48 tgt left
[Coke] ENODALEK? 22:48
carlin Dalek is MIA 22:50
timotimo aye :(
cognominal blame the talibans 22:56
22:56 LLamaRider joined
TimToady compiling Test.pm with perl6-j: Unhandled exception: Method 'count' not found for invocant of class 'Scalar' 22:57
jnthn o.O
TimToady with current head, also with =master
22:57 LLamaRider left
jnthn TimToady: Is it a load-time failure? 22:57
(as in, does perl6-j -e "say 42" also fail?) 22:58
TimToady yes 22:59
jnthn ugh
[Coke] oh, I never pushed my commits from the other day.
22:59 ClarusCogitatio left
jnthn wonders how recently what broke 22:59
*that
TimToady j: say 42
camelia rakudo-jvm 8de0fd: OUTPUT«42␤»
22:59 amkrankruleuen left
TimToady gist.github.com/anonymous/ea6d6afd908f00f3ece6 is the error 23:01
jnthn What if you add --ll-exception ?
I'm vaguely suspecting one of 6a7df16, 78f85e1, or perhaps even 8de1f65, but it's not clear why they'd affect JVM in an odd way 23:03
23:03 ClarusCogitatio joined
TimToady gist.github.com/anonymous/a83350804b0654290a60 23:03
jnthn eek 23:04
23:05 Rotwang left
TimToady wanders off to look for dinner 23:05
since our New Plane is supposed to get here in a little over an hour... 23:06
bbl &
jnthn OK. Think I found it.
23:07 amkrankruleuen joined 23:08 thou left 23:11 pdcawley left 23:16 pdcawley_ joined
timotimo interestingly, the self-describing-numbers benchmark takes a really long time 23:18
TimToady 2nd prize: 2 meals at Outback Steakhouse... 23:22
the only actual restaurant in this terminal 23:23
jnthn: seems fixed, thanks 23:26
23:26 hoverboard joined
timotimo i got ze timings 23:29
jnthn TimToady: With the latest NQP patch?
Yeah, I just got it build here too
Bumping
timotimo t.h8.lv/p6bench/2014-06-29-OSR_inlinefix.htmljnthn 23:31
i'm surprised, not too much has changed 23:34
in the very last benchmark, 9 million names, nqp has actually become slower
er, rakudo-moar has become slower
nqp has become a bit faster
jnthn Curious. 23:36
timotimo: Uh, quite big changes in some benchmarks.
timotimo oh, *damn* that log-log scale 23:37
jnthn Most of the while loop ones make it an extra notch
Curious about that rc-9-billion-names one. 23:38
NQP beats Perl 5 for that one.
23:38 pdcawley_ left
jnthn rc-dragon-curve Rakudo doesn't do awfully on. rc-self-describing-numbers is awful, though. 23:39
timotimo only in the very first ones 23:40
23:40 pdcawley joined
jnthn Note that inline doesn't handle things with return handlers left behind yet 23:42
timotimo ah 23:45
that would be most things, eh?
131mb is our startup memory use for rakudo-moar now
23:46 gfldex left
timotimo 21.5 for nqp 23:46
jnthn Well, it's a bunch of things. Not ++ and <= though, which are the couple I was looking at.
23:59 pdcawley left