Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-06-28

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:03 segomos_ jnthn: thanks for your help on everything
00:24 psch m: Inf.Int.say
00:24 camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!===␤Cannot coerce Inf or NaN to an Int␤»
00:26 * psch actually rather goes to sleep instead of browsing rt.
00:27 btyler joined #perl6
00:53 yogan joined #perl6
00:53 atrodo joined #perl6
00:53 timotimo joined #perl6
00:53 tokuhirom joined #perl6
00:55 ggherdov_ joined #perl6
01:00 FROGGS joined #perl6
01:03 FROGGS_ joined #perl6
01:11 klapperl joined #perl6
01:12 Su-Shee joined #perl6
01:19 Akagi201_ joined #perl6
01:32 BenGoldberg joined #perl6
01:46 ilbot3 joined #perl6
01:46 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
01:47 rurban2 joined #perl6
01:50 Mouq BenGoldberg: Hackity, but: https://gist.github.com/Mouq/8d6548b27e614bff1abf
01:52 Mouq Oh, wait, bug in that
01:52 Mouq Lots of bugs actually
01:53 BenGoldberg Even if buggy, the idea is kinda cool :)
01:55 Mouq Updated quick to be slightly less awful :)
01:55 Mouq 'night #perl6
02:17 [Coke] what happened to feather?
02:27 noganex joined #perl6
02:45 Akagi201_ joined #perl6
02:47 TimToady_ Thundergnat++ for three GTK entries on RC in a row
02:47 TimToady_ we're now only 40 behind Python
02:48 TimToady_ and only 103 from the leader, Tcl
02:48 rurban1 joined #perl6
02:54 hoverboard joined #perl6
03:15 uniejo joined #perl6
03:21 xragnar_ joined #perl6
03:49 rurban1 joined #perl6
04:02 estrabd joined #perl6
04:04 estrabd joined #perl6
04:15 punter joined #perl6
04:31 pdcawley joined #perl6
04:37 pdcawley joined #perl6
04:46 pdcawley joined #perl6
04:50 rurban1 joined #perl6
05:11 gfldex joined #perl6
05:20 pdcawley joined #perl6
05:32 rurban1 joined #perl6
05:34 SamuraiJack_ joined #perl6
05:45 darutoko joined #perl6
05:58 pdcawley joined #perl6
06:00 lizmat joined #perl6
06:00 woolfy joined #perl6
06:03 kaare_ joined #perl6
06:21 SamuraiJack joined #perl6
06:27 SamuraiJack joined #perl6
06:29 dmol joined #perl6
06:41 Rotwang joined #perl6
06:47 sisar joined #perl6
06:57 sisar_ joined #perl6
06:58 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…»
06:58 camelia ..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…»
06:58 camelia ..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␤»
06:59 FROGGS_ maybe the order they are in the method table?
07:00 sisar_ would getting them in alphabetical order be a bad default ?
07:00 sisar_ FROGGS_: what is a method table ?
07:01 FROGGS_ a lookup list so that you know which type has what methods...
07:02 FROGGS_ 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.
07:04 sisar_ anyway, i suggest alphabetical output for that
07:04 FROGGS_ sisar_: you can find out by searching for 'method methods' in rakudo's src
07:04 sisar_ ok
07:06 schogen joined #perl6
07:12 sisar joined #perl6
07:14 bluescreen100 joined #perl6
07:34 rurban1 joined #perl6
07:41 spider-mario joined #perl6
07:51 denis_boyun_ joined #perl6
08:18 sisar joined #perl6
08:35 rurban1 joined #perl6
08:40 kweetal joined #perl6
08:41 woolfy joined #perl6
08:41 lizmat joined #perl6
08:45 kivutar joined #perl6
08:51 lizmat_ joined #perl6
08:52 rindolf joined #perl6
09:00 vendethiel joined #perl6
09:04 rindolf joined #perl6
09:16 ChoHag I have written this: https://gist.github.com/Ch​oHag/5bf910fa4b04d51bfa5f but I can't help feeling somehow like it's The Wrong Way.
09:17 vendethiel ChoHag: how so ?
09:17 ChoHag I don't know.
09:18 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.
09:20 ChoHag Or rather, performance is a side note.
09:24 vendethiel with current perl 6 implementations, it better be :-P
09:25 vendethiel 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␤␤»
09:25 vendethiel m: class A { has $.i; method postcircumfix:<{ }>(Int $n) {} }; say A.new(i => 5){60};
09:25 camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!===␤postcircumfix:<{ }> not defined for type A␤»
09:26 vendethiel uh.
09:32 anaeem1_ joined #perl6
09:36 rurban1 joined #perl6
09:37 masak good antenoon, #perl6
09:38 rurban2 joined #perl6
09:38 itz joined #perl6
09:51 moritz \o masak
09:59 kaare_ joined #perl6
09:59 virtualsue joined #perl6
10:03 timotimo ChoHag: you can also override at_key, bind_key, assign_key
10:04 timotimo then you get the "mighty" postcircumfix:<{ }> "for free"
10:04 ChoHag Override them in what?
10:04 timotimo in your class
10:04 timotimo those are methods
10:05 timotimo see also Hash.pm in src/core/
10:05 dmol joined #perl6
10:15 anaeem1_ joined #perl6
10:31 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␤»
10:31 jnthn oops
10:31 jnthn m: class LazyHashyThing does Associative { method at_key($key) { $key.uc } }; my %h := LazyHashyThing.new; say %h<omg>
10:31 camelia rakudo-moar 8de0fd: OUTPUT«OMG␤»
10:31 jnthn There we go
10:31 jnthn Clearly, more coffee needed. Or maybe coffee doens't help against just being full of cold...
10:32 ChoHag Can you store a multi method in a variable? So that $foo(1) and $foo(1,"string") will DTRT?
10:32 ChoHag Or would you just have $foo be something like: { real_multi_method(\args) }
10:33 vendethiel ChoHag: you *can*, but it has some issues with lexpads ATM
10:34 vendethiel well, you need to first declare it as multi, then capture it
10:39 rurban1 joined #perl6
10:39 schogen joined #perl6
10:40 pdcawley joined #perl6
10:51 denis_boyun joined #perl6
10:53 virtualsue joined #perl6
10:58 jnthn You can $foo = &some_multi;
10:59 jnthn m: my $adder = &infix:<+>; say $adder(1); say $adder(1, 1);
10:59 camelia rakudo-moar 8de0fd: OUTPUT«1␤2␤»
11:02 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 anaeem1_ joined #perl6
11:04 telex joined #perl6
11:06 jnthn method new(:$thing, :$another, *%rest) { callwith(|%rest) } # or so, but I guess you want to do something with the other named args
11:10 pdcawley joined #perl6
11:16 pdcawley joined #perl6
11:20 pdcawley_ joined #perl6
11:22 kivutar joined #perl6
11:29 denis_boyun_ joined #perl6
11:34 itz joined #perl6
11:40 rurban1 joined #perl6
12:00 BenGoldberg joined #perl6
12:04 FROGGS_ o/
12:09 BenGoldberg \o
12:09 schogen joined #perl6
12:10 BenGoldberg . o O ( That ascii person looks more like he's getting something down from a shelf, than waving hello, but whatever :) )
12:30 FROGGS_ :o)
12:35 schogen joined #perl6
12:36 moritz m: * but *
12:36 camelia rakudo-moar 8de0fd: ( no output )
12:36 vendethiel moritz: do you want to see the world burning ? Because that's how you get the world burning
12:37 BenGoldberg m: say * but *
12:37 camelia rakudo-moar 8de0fd: OUTPUT«*␤»
12:37 BenGoldberg m: (* but *).WHAT.say
12:37 camelia rakudo-moar 8de0fd: OUTPUT«(Whatever+{<anon>})␤»
12:39 jnthn m: (* but *).^methods(:local)>>.name>>.say
12:39 camelia rakudo-moar 8de0fd: OUTPUT«Whatever␤»
12:39 jnthn haha
12:40 rurban1 joined #perl6
12:43 moritz lol
12:43 moritz m: say (* but *)(Int, Bool).^name
12:43 camelia rakudo-moar 8de0fd: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in block  at /tmp/bdWOm1D33b:1␤␤»
12:45 schogen joined #perl6
12:50 isBEKaml joined #perl6
13:00 kurahaupo joined #perl6
13:06 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 #perl6
13:08 moritz m: say (* but *).^roles
13:08 camelia rakudo-moar 8de0fd: OUTPUT«(<anon>)␤»
13:08 moritz m: say (* but *).^name
13:08 camelia rakudo-moar 8de0fd: OUTPUT«Whatever+{<anon>}␤»
13:21 schogen joined #perl6
13:28 FROGGS_ lol, I blogged # http://usev5.wordpress.com/
13:32 timotimo \o/
13:33 timotimo FROGGS_: "deliverable", not "diliverable"
13:35 FROGGS_ timotimo: thanks! will change
13:37 timotimo otherwise, FROGGS++ :)
13:41 rurban1 joined #perl6
13:53 rurban1 joined #perl6
13:57 xenoterracide joined #perl6
13:57 masak FROGGS_: ss/all our GSOC student<()>/s/
13:58 masak FROGGS++ # blog post
13:59 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.
13:59 masak timotimo: patent pending ;)
14:06 OuLouFu joined #perl6
14:06 xenoterracide_ joined #perl6
14:09 Alina-malina joined #perl6
14:11 timotimo yeah, that looks like a germanism
14:11 timotimo which is funny, because english is also a germanic language :P
14:11 Alina-malina joined #perl6
14:13 * masak .oO( which is in several ways funny )
14:14 masak 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:15 timotimo aye
14:15 masak probably chiseled out over the centuries as the ground to the figure of actual usage.
14:16 masak but that usage is *contingent*, and thus so are the restrictions.
14:16 timotimo m: $_ = "foo bar"; s/foo<()>/ooooo/; .say
14:16 camelia rakudo-moar 8de0fd: OUTPUT«fooooooo bar␤»
14:16 masak :D
14:16 timotimo i'm a tiny bit surprised that <()> doesn't parse as a single thing and errors out
14:16 masak that's because <( and )> are individual ops, and not a grouping construct.
14:17 masak m: $_ = "foo"; s/f)>o<(o/!/; .say
14:17 camelia rakudo-moar 8de0fd: OUTPUT«foo␤»
14:17 * masak expected that to match, and replace *something*
14:17 masak m: $_ = "foo"; s/fo<(o/!/; .say
14:17 camelia rakudo-moar 8de0fd: OUTPUT«fo!␤»
14:17 masak ah.
14:18 masak ok, fair enough. Rakudo has it right.
14:18 masak m: $_ = "foo"; s/<()>/!/; .say
14:18 camelia rakudo-moar 8de0fd: OUTPUT«!foo␤»
14:18 masak I could argue both ways about whether *that* one is an "empty" regex, though.
14:18 masak but I don't see the harm in allowing it -- which tends to mean Perl allows it.
14:20 timotimo m: $_ = "foo bar"; s/<</!/; .say
14:20 camelia rakudo-moar 8de0fd: OUTPUT«!foo bar␤»
14:20 timotimo same reason that's allowed, IMO.
14:20 timotimo oh ... actually
14:20 timotimo yeah, i do see your point
14:21 atroxaper joined #perl6
14:25 woolfy joined #perl6
14:25 lizmat joined #perl6
14:28 masak well, << is an *anchor*. <( is just a directive, really.
14:28 timotimo mhh
14:30 woolfy joined #perl6
14:32 vendethiel joined #perl6
14:34 xenoterracide_ joined #perl6
14:36 anaeem1 joined #perl6
14:39 schogen joined #perl6
14:39 xragnar joined #perl6
14:47 masak another way to say it is that << still acts on the target string just as much as 'foo' and \d do.
14:47 masak whereas <( acts on the matching process, more akin to what () and {} do.
14:48 timotimo mhh, right
14:50 moritz s/matching/capturing/ process, actually
14:56 guru joined #perl6
14:57 masak ok, sure.
14:57 * masak reaches 22:09 of https://www.youtube.com/watch?v=8OJ7ih8EE7s and gets a bit of an epiphany on macros
14:59 masak 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
14:59 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.
15:00 masak that means that this old macro will be "used" time and time again by code from the future (from its perspective).
15: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:01 masak remember, our three high-level use cases here are "generate, analyze and typecheck code". (from http://scalamacros.org/)
15:02 masak "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:03 moritz sounds like you realized that macros are abstractions (sorry, could not quite resist)
15:03 masak heh.
15:03 masak well, yeah, but lots of things are abstractions. functions, classes.
15:04 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.
15:04 masak or at least often they are.
15:04 masak in the cases where they aren't, probably most of the time a function, inlining, and dead code elimination would do just fine.
15:05 masak that was an insight that bothered me early on. like, the sense of macros being a feature looking for a use case.
15:05 masak but then I found the "generate, analyze and typecheck" slogan, and then I felt better.
15:06 masak 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:09 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:11 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 moritz but I guess it really is necessary
15:20 vendethiel masak: generate, analyze and type-check ?
15:20 vendethiel to me, type checking is just part of the two firsts.
15:20 vendethiel but it's more of an idea, somewhat ... I write my ruby like it's lisp.
15:21 vendethiel (which is probably why I think crystal looks so cool, being ruby with type inference and macros)
15:21 vendethiel masak: but then, you need a specced AST format.
15:22 vendethiel which might or might not be what the compiler itself is using, after all ...
15:26 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 masak vendethiel: re crystal: url?
15:27 vendethiel masak: https://github.com/manastech/crystal/
15:27 vendethiel thought I linked it several times already, so I didn't want to spam it haha
15:27 masak vendethiel: yeah, "you need a specced AST format" is a thought that comes up with worrying regularity in my thoughts on macros.
15:27 vendethiel well, it's because it's normal in the grand scheme of dissection
15:27 masak ah, and http://crystal-lang.org/
15:28 vendethiel masak: yep. It's ruby, with typing and powerful type inference, and macros.
15:29 vendethiel I havn't had the opportunity to toy with it yet because I've experienced issues on windows, but it looks nifty.
15:29 vendethiel .oO( Why do everybody want to bring macros to ruby ? after elixir, crystal. )
15:35 jnthn FROGGS_: Any reason your blog ain't on http://planeteria.org/perl6/ ?
15:35 [particle]1 joined #perl6
15:37 amkrankruleuen joined #perl6
15:37 amkrankruleuen joined #perl6
15:37 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 masak ah, I should draw a diagram, I think.
15:40 masak the three sites correspond, respectively, to the concerns of the macro author, the program author, and the compiler. kinda.
15:41 vendethiel masak: let's avoid non-hygienic stuff~
15:42 masak heh -- sorry, the non-hygienic stuff is already spec'd and part of my ongoing grant.
15:43 masak it will be up to the macro author to avoid it, by choice.
15:43 masak but that's a good example of two interactions.
15:43 moritz FROGGS++'s blog added to planeteria.org/perl6/
15:43 ChoHag How can you change 'if $var:defined { ... }' to 'given $var { when ?? { ... } }' without making undefined be the degenerate case?
15:44 masak let's see. the hygienic version would be "generated code gets to see macro code".
15:44 masak the non-hygienic version would be "generated code gets to see the callsite code", and sometimes vice versa.
15:44 vendethiel masak: I disagree on that point.
15:44 vendethiel It can *see* the callsite and be hygienic
15:45 masak yeah, I think I'm working with too loose definitions here.
15:46 vendethiel and you don't actually need macros for what they're currently available in p6
15:47 vendethiel just changing the meta model, using proxies and other dynamic method adding works
15:47 vendethiel (also `our export` :P)
15:48 vendethiel quasiquotes are very important, though
15:49 vendethiel I think I've read the scalac guys want to move codegen from the compiler to use quasiquotes instead.
15:50 masak macros and quasis are really just a way to participate in the compilation pipeline.
15:52 xenoterracide_ joined #perl6
16:04 raiph joined #perl6
16:04 zakharyas joined #perl6
16:15 virtualsue joined #perl6
16:31 molaf__ joined #perl6
16:44 smls joined #perl6
16:51 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 japhb ?
16:51 japhb That was from a build I ran last night.  If it's fixed already, I can build again ....
16:52 timotimo i believe we restarted the server
16:52 carlin_ joined #perl6
16:52 japhb timotimo: Ah, OK, will try again.
16:53 * japhb watches it all build again ....
16:55 japhb Gah, well that failed pretty hard
16:56 timotimo oh crap ...
16:56 japhb Now panda won't run from my rebuild script at all.
16:56 * japhb wonders what's gone wrong
16:57 japhb ===SORRY!===
16:57 japhb Missing or wrong version of dependency 'src/gen/m-Metamodel.nqp'
16:57 japhb Huh.
16:58 labster joined #perl6
16:58 jnthn Did you bootstrap or rebootstrap?
16:58 * japhb applies fire to the clones
16:58 * jnthn really doesn't know Panda that well, though...
16:58 vendethiel .oO( He set fire ... To the clones ... Watch it burn, lalalala )
16:58 japhb jnthn: bootstrap
16:59 R0b0t1` joined #perl6
17:01 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:02 labster Maybe a bug, maybe the YAPC::NA hotel's rather questionable wifi.
17:05 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:06 japhb 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'" :(
17:07 smls do I need a newer
17:07 smls Rakudo?
17:09 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 japhb > my $s = IO::Socket::INET.new(:host<feather.perl6.nl>, :port(3000));
17:09 japhb Failed to connect: connection refused
17:09 jnthn smls: R* already includes NativeCall
17:10 jnthn 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.
17:10 japhb WTH
17:11 pdcawley joined #perl6
17:12 smls jnthn: Oh, right.
17:12 smls But why does Panda insist on installing its own NativeCall as a dependency for GTK::Simple ?
17:12 timotimo japhb: could be panda-server is still b0rked?
17:12 virtualsue joined #perl6
17:13 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
17:14 japhb Hmmm, 'Failed to resolve host name'
17:14 tadzik smls: panda doesn't know about R* modules
17:15 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
17:15 japhb tadzik: I thought that was planned for R* a while back (to install all modules using the R* panda)?
17:15 japhb timotimo: no worries
17:15 smls tadzik: So that means I cannot install GTK::Simple on 2014.04?
17:16 japhb smls: I believe there is a --no-deps or so
17:22 smls installing that way failed too, but thanks
17:27 japhb smls: Maybe other dependencies that you need to install manually first, so that the --no-deps becomes a noop?
17:28 smls no, this time I hit a parsing error in lib/GTK/Simple.pm6
17:28 smls maybe I'll investigae later
17:29 carlin joined #perl6
17:32 tadzik japhb: it was :(
17:34 japhb tadzik: What blocked it?
17:34 tadzik tuits
17:35 japhb Oh.  :-(
17:35 tadzik or rather: nobody ever tried :D
17:35 tadzik :)
17:35 FROGGS_ jnthn: no, no idea... (v5@planeteria)
17:35 FROGGS_ who's the admin?
17:35 japhb I could swear that *someone* put some tuits to making that transition less painful ....
17:35 araujo joined #perl6
17:35 jnthn FROGGS_: It got added by now, I think :)
17:35 FROGGS_ \o/
17:35 FROGGS_ awesome :o)
17:36 jnthn oh, or I thought it did, but don't see it...
17:36 FROGGS_ hmmm, I don't see it
17:37 jnthn 15:43moritzFROGGS++'s blog added to planeteria.org/perl6/
17:37 FROGGS_ ahh
17:38 jnthn Maybe it takes a while to appear
17:39 FROGGS_ yeah, perhaps it runs on the jvm :P
17:46 vendethiel "Perl 6 is a highly capable, feature-rich programming language with over 25 years of history."
17:46 vendethiel does that work ?
17:47 moritz perl's history is >25 years, Perl 6's isn't
17:48 vendethiel mmmh, hmm. But perl's history is perl 6's history, isn't it ?
17:48 vendethiel outside of the diverging year (but that doesn't change the count)
17:48 FROGGS_ "Perl 6 is a highly capable, feature-rich programming language made for the upcoming hundred years."
17:48 FROGGS_ sort of
17:49 FROGGS_ but when nobody thought of Perl 6 back then, then this is not directly Perl 6's history
17:54 vendethiel I'm not nobody thought ever thought of the future, but that's still history. I don't get your remark?
17:54 rurban1 left #perl6
17:56 vendethiel oh, I should make clear that I'm using "Perl 6" namingly here because there's another perl 5 tutorial
18:00 xinming_ joined #perl6
18:07 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
18:08 jnthn carlin_: On a plane, that solution kinda sucks :P
18:08 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.
18:08 FROGGS_ it actually blows
18:09 TimToady well, it does a bit of both, generally
18:09 R0b0t1 So what is this :identifier stuff?
18:09 TimToady m: say :identifier.perl
18:09 camelia rakudo-moar 8de0fd: OUTPUT«"identifier" => Bool::True␤»
18:09 R0b0t1 Construction?
18:09 TimToady m: say :host<feather.perl.nl>.perl
18:09 camelia rakudo-moar 8de0fd: OUTPUT«"host" => "feather.perl.nl"␤»
18:10 TimToady constructs Pair objects
18:10 R0b0t1 m: say :host<feather.perl6.nl>
18:10 camelia rakudo-moar 8de0fd: OUTPUT«␤»
18:10 R0b0t1 Pair objects?
18:10 TimToady you just passed a named argument to 'say', which it ignored
18:10 TimToady which is likely a bug
18:11 TimToady in the case above, it was named arguments to .new
18:11 sjn_ joined #perl6
18:11 TimToady used to initialize the attributes
18:11 TimToady Pair objects turn into named args when you use them in an argument list to a function or method
18:12 R0b0t1 I see
18:12 FROGGS_ ohh noes /o\, this proves that it sucks! https://www.youtube.com/watch?v=SqARHIKuuuU
18:12 R0b0t1 So a pair is a sigiled name and an object?
18:12 TimToady no sigil
18:13 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
18:13 TimToady like one entry in a hash
18:13 FROGGS_ m: say (:host<feather.perl6.nl>)
18:13 camelia rakudo-moar 8de0fd: OUTPUT«"host" => "feather.perl6.nl"␤»
18:13 FROGGS_ m: say (:host<feather.perl6.nl>).perl
18:13 camelia rakudo-moar 8de0fd: OUTPUT«"host" => "feather.perl6.nl"␤»
18:13 FROGGS_ m: say (:host<feather.perl6.nl>).WHAT
18:13 camelia rakudo-moar 8de0fd: OUTPUT«(Pair)␤»
18:13 R0b0t1 The syntax is a bit strange, but okay.
18:13 FROGGS_ one get used to it :o)
18:14 TimToady well, you can use host => "feather.perl.nl" instead if you like
18:14 FROGGS_ good thing is that you can chain them
18:14 FROGGS_ m: use QAST:from<NQP>:ver(*)
18:14 camelia rakudo-moar 8de0fd: ( no output )
18:14 TimToady => is something like . in Lisp
18:14 TimToady oh, different sense of 'chain'
18:15 japhb say foo => bar => baz => quux
18:15 japhb m: say foo => bar => baz => quux
18:15 camelia rakudo-moar 8de0fd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/P1SkeRFQfFâ�¤Undeclared routine:â�¤    quux used at line 1â�¤â�¤Â»
18:15 japhb m: say foo => bar => baz => 'quux'
18:15 camelia rakudo-moar 8de0fd: OUTPUT«␤»
18:15 japhb m: say (foo => bar => baz => 'quux').perl
18:15 camelia rakudo-moar 8de0fd: OUTPUT«"foo" => "bar" => "baz" => "quux"␤»
18:15 japhb cons lists for the win
18:19 R0b0t1 Neat
18:32 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/perl​6/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…»
18:32 FROGGS_ m: die 42
18:32 camelia rakudo-moar 8de0fd: OUTPUT«42␤  in block  at /tmp/7zxhbL3xsI:1␤␤»
18:33 FROGGS_ why do we get a low level backtrace for 'fail' ?
18:34 jnthn FROGGS_: I think because it's sunk back in NQP land...
18:34 jnthn m: fail 42; 1;
18:34 camelia rakudo-moar 8de0fd: OUTPUT«Unhandled exception: 42␤   at src/gen/m-CORE.setting:11409  (/home/p6eval/rakudo-inst-1/languages/perl​6/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…»
18:34 jnthn Hm, maybe not that then.
18:34 FROGGS_ I like to fix it... perhaps I find the position of my bug then :o)
18:35 jnthn go for it :)
18:35 jnthn I've got a handful of Rakudo patches that improve assignment to scalar code-gen quite a bit, but dinner first...
18:36 FROGGS_ dinner++
18:42 japhb WTH?  As a sanity check, I tried connecting to feather.perl6.nl port 80 (instead of 3000), and ... it worked.
18:43 * japhb is really confused now.
18:43 pdcawley joined #perl6
18:45 japhb Oooh!  I see this in wget's output:
18:45 japhb Connecting to feather.perl6.nl (feather.perl6.nl)|2a02:2308:10::f:1|:3000... failed: Connection refused.
18:45 japhb Connecting to feather.perl6.nl (feather.perl6.nl)|193.200.132.135|:3000... connected.
18:45 japhb But for port 80:
18:45 japhb Resolving feather.perl6.nl (feather.perl6.nl)... 2a02:2308:10::f:1, 193.200.132.135
18:45 japhb Connecting to feather.perl6.nl (feather.perl6.nl)|2a02:2308:10::f:1|:80... connected.
18:47 japhb 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:48 japhb So ... can someone with the proper powers on feather fix the listen addresses on port 3000?  :-)
18:49 japhb 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:51 japhb Is address resolution exposed at the Perl 6 level anywhere?
18:53 carlin joined #perl6
18:53 FROGGS_ japhb: don't think so
18:54 FROGGS_ it is in nqp for parrot and should be in moarvm for moar
18:54 virtualsue joined #perl6
19:03 * 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 TimToady it would be a shame to have to redispatch just to unpack a $ into a |c
19:05 hoverboard joined #perl6
19:06 TimToady it looks like the args are \val and passed on as val, but maybe they should be |val?
19:08 TimToady just thinkin' how Erlang can pass messages directly to pattern matchers
19:10 itz joined #perl6
19:12 virtualsue joined #perl6
19:15 asterite joined #perl6
19:22 timotimo smls: i don't get a parse error in gtk-simple; did you pull latest?
19:30 vendethiel Where's the syn part about `macro is parsed` ? I can't seem to find it.
19:31 * TimToady wonders whether we should have a 'macro regex' instead of using the trait mechanism
19:32 TimToady and the macro just returns whatever you 'make'
19:32 vendethiel TimToady: macro grammar ;-)
19:33 TimToady well, one would get grammatical categories for free with macro-regex infix:sym<foo> and such
19:33 LLamaRider joined #perl6
19:40 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
19:41 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;
19:41 camelia rakudo-moar 8de0fd: OUTPUT«7␤foo␤7␤»
19:41 TimToady slang regex infix:sym<op> { <sym> { make quasi { } } } and such
19:42 TimToady well, probably slang token in the normal case
19:42 jnthn FROGGS_: OK, nice :)
19:43 FROGGS_ jnthn: for 'fail 42; 1' there was no backtrace at all fwiw, now there is one :o)
19:43 Sqirrel joined #perl6
19:43 * FROGGS_ spectests
19:43 jnthn ok :)
19:43 jnthn I pushed a bunch of stuff a bit ago
19:44 FROGGS_ it just was "SORRY\n=======\n42", which sucks slightly, especially for beginners
19:44 FROGGS_ okay, will pull right before pushing
19:44 jnthn ok :)
19:45 jnthn Am currently discovering that it's possible to choke on ice cream...and working on inlining things containing extops.
19:45 FROGGS_ O.o
19:45 TimToady well, maybe infix is a bad example for a category macro
19:45 FROGGS_ don't inline ice cream then ó.ò
19:46 FROGGS_ wrap has four fails currently
19:46 BenGoldberg . o O (mmm, ice cream)
19:46 jnthn yeah, I think those are new tests
19:46 FROGGS_ ahh, that is known: https://github.com/coke/perl6-roast-data/bl​ob/master/log/rakudo.moar_summary.out#L2281
19:47 * FROGGS_ .oO( We all scream for ice cream! )
19:48 FROGGS_ no new fail and I'm at S29 already... seems like I didn't break anything
19:50 vendethiel m: sub postfix:<xy>(Int $n) {$n*3}; say 3xy;
19:50 camelia rakudo-moar 8de0fd: OUTPUT«9␤»
19:52 timotimo ah, d'oh
19:52 timotimo now i see what's wrong about the isconcrete optimization %)
19:53 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
19:54 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
19:54 jnthn Right. :)
19:54 jnthn btw, one thong I notice now...
19:54 jnthn uh, thing
19:54 jnthn Is we could probably use the const_i64_16
19:55 jnthn And get more compact code. Feel free to tweak that.
19:55 timotimo sure
19:56 TimToady my plane is now only going to be about 3.5 hours late...
19:56 TimToady well, at least Orlando has wifi
19:56 FROGGS_ TimToady: :/
19:57 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:58 TimToady well, at least a busted AC is not likely to take down a plane...
19:58 TimToady not unless it shoots flames or some such
20:00 vendethiel anybody still have the link to that "scheme slang" I think I've seen ?
20:00 vendethiel I seem to remember something like that ...
20:00 FROGGS_ I pushed:
20:00 FROGGS_ fix 'fail' so it also prints a backtrace
20:00 FROGGS_
20:00 FROGGS_ This works in all cases except when the fail is the last statement of
20:00 FROGGS_ our program. The call to .sink in main.nqp seems to introduce a problem,
20:00 FROGGS_ which results in a low level backtrace that does not even show the file
20:00 FROGGS_ and line number of the user's code.
20:01 FROGGS_ https://github.com/rakudo/rakudo/commit/​6be4d2b36a5e7393ac2eb4544938ed4699f1b09b
20:01 FROGGS_ and it nicely shows the error I have in Archive::Tar :o)
20:05 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
20:05 FROGGS_ jnthn: why was there a 'my &fail := ...' instead of a sub? is that so damn faster?
20:05 jnthn FROGGS_: No
20:06 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.
20:06 FROGGS_ had to fight that in v5
20:06 FROGGS_ k
20:06 jnthn FROGGS_: The problem is that a sub introduces a return handler
20:06 jnthn So
20:06 jnthn sub return(\x) { ...get return handler... }
20:06 TimToady jnthn: can a tap call into a multiple dispatch with multiple args directly, or would it need a helper closure currently?
20:06 timotimo a "tap" call?
20:07 TimToady .tap( &my_multi_sub }
20:07 jnthn I think got interesting in terms of the return handler...
20:07 TimToady er, )
20:07 FROGGS_ m: sub foo { fail 42 }; sub bar { foo }; bar()
20:07 camelia rakudo-moar 8de0fd: OUTPUT«Unhandled exception: 42␤   at src/gen/m-CORE.setting:11409  (/home/p6eval/rakudo-inst-1/languages/perl​6/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…»
20:07 FROGGS_ ahh, well, can't check the bt here anyway
20:07 jnthn TimToady: It can be a multi-dispatch sub, but "more" provides one more value...
20:07 user3 joined #perl6
20:08 jnthn TimToady: So it's only useful if you're planning to dispatch on type
20:08 user3 left #perl6
20:08 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?
20:08 FROGGS_ m: sub foo { fail 42; 1 }; sub bar { foo; 1 }; bar()
20:08 camelia rakudo-moar 8de0fd: OUTPUT«===SORRY!===␤42␤»
20:08 FROGGS_ that is weeeeeird
20:09 FROGGS_ locally I get: 42
20:09 FROGGS_ in sub bar at -e:1
20:09 FROGGS_ in block  at -e:1
20:09 FROGGS_ dunno if it supposed to show foo, I guess so
20:09 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
20:09 jnthn { foo(|$_) } or so
20:09 TimToady which isn't necessary in Erlang
20:10 TimToady messages basically go straight to pattern matchers
20:10 TimToady would be nice to avoid the indirection
20:10 jnthn I do plenty of message-based things, but I just use types for my messages.
20:10 TimToady seems passing $ would just be a degerate case
20:10 TimToady *generate
20:11 TimToady one can always pass an item through as the first and only arg of a Capture
20:13 TimToady so I'm wondering what would be the cost of saying we always pass Captures as messages
20:13 TimToady or Parcels, maybe
20:13 TimToady (and then there's all the objects that can behave as a 1-item Parcel without the wrapper)
20:14 TimToady so I'm thinking this might be another spot we should be lazy about context
20:14 jnthn TimToady: Quite high...
20:15 jnthn It wasn't so long ago you mentioned |capture is an escape hatch.
20:15 jnthn Spesh heavily agrees. It won't even touch a callsite that flattens.
20:15 TimToady well, what about Parcel if , and bare thing otherwise, that would be very expensive for anything that can be its own parceloid
20:15 jnthn And things are about the same on JVM with invokedynamic...
20:16 jnthn Flattening callsites are a huge pain optimization wise.
20:16 jnthn And I'm heavily disinclined to like a design that makes my quite-hard-enough-thanks optimization job even harder...
20:17 jnthn What's the actual Erlang feature you're wanting to recreate easily here?
20:17 TimToady you basically send messages to a proto
20:17 TimToady in p6 terms
20:17 jnthn I'd thought Erlang was more about actors...
20:18 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
20:18 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....
20:18 * jnthn has even pondered writing such a module ;)
20:18 jnthn I agree there's more than one way to actor-like things :)
20:19 asterite left #perl6
20:19 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"...
20:19 TimToady biab &
20:19 jnthn Well, it's one of the meanings, anyway :)
20:19 jnthn k
20:20 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? :)
20:21 timotimo i can
20:21 jnthn thx
20:21 jnthn I'm working on inline improvements as we speak, but having the set with OSR but not inline improvements is nice.
20:21 timotimo ok
20:21 jnthn (so we can see how much each helps)
20:22 timotimo yes, i need to pull perl6-bench first
20:22 timotimo how long until you push? and would you bump?
20:23 jnthn It'll be at least an hour or so.
20:23 jnthn The extops case is not quite trivial.
20:23 timotimo ok
20:27 timotimo japhb: can we rename either nqp-moarvm or rakudo-moar so that they line up?
20:28 timotimo 46 benchmarks now rather than 43
20:28 timotimo should be more interesting, as these benchmarks are a bit bigger than the rest
20:35 virtualsue joined #perl6
20:43 SHODAN joined #perl6
20:44 vendethiel m: my $a_ = 5; say $a_
20:44 camelia rakudo-moar 8de0fd: OUTPUT«5␤»
20:44 vendethiel m: my $a"_ = 5; say $a"_
20:44 camelia rakudo-moar 8de0fd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/makxddcAGqâ�¤Two terms in a rowâ�¤at /tmp/makxddcAGq:1â�¤------> [32mmy $a[33mâ��[31m"_ = 5; say $a"_[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        constraintâ�¤        postfi…»
20:45 vendethiel m: my $long'variable-name_ = 5;
20:45 camelia rakudo-moar 8de0fd: ( no output )
20:50 * TimToady is back; flight is now delayed about 7 hours; they're flying in a new plane from Detroit
20:50 TimToady Just For Us
20:50 FROGGS_ ohh dear
20:51 FROGGS_ are they about to build that new plane?
20:51 TimToady Michigan is right next to Florida, right?
20:51 FROGGS_ I have no idea :o)
20:53 jnthn 7 hours? ugh.
20:53 jnthn Delays longer than the trip itself really suck...
20:53 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
20:54 jnthn :(
20:54 TimToady with all our messaging, we will be fast friends with them before we've even met them...
20:58 LLamaRider joined #perl6
20:59 vendethiel First sketch of Perl6 learnxinyminutes : https://github.com/Nami-Doc/learnxinyminutes-docs​/commit/2a8e20ca27c59347df58197f821b1eee2e913128
21:00 lee__ missing an oxford comma in the list of VMs :D
21:01 TimToady oxford++
21:01 jnthn bah, what's so great about oxford...
21:02 TimToady only the commas :)
21:03 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
21:04 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:04 ChoHag Lingustic rules are for people who don't know how to write.
21:05 TimToady where MONKEY_TYPING is one form of cheating :)
21:05 jnthn Ah, I guess extend could mean things other than inherit
21:05 jnthn In which case, yeah, augment after using what TimToady++ said.
21:05 ChoHag Yes. Sorry.
21:05 ChoHag Extend in the Microsoft sense.
21:05 TimToady ChoHag: unfortunately the AP style guide folks don't know how to write :/
21:07 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.
21:07 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.
21:08 ChoHag Especially since the number of programming paradigms seems to have exploded recently.
21:08 ChoHag I think it's the September effect.
21:08 vendethiel TimToady: they wouldn't.
21:08 itz is feather down?
21:09 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 :)
21:10 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 ChoHag (There. Conversations reduce()d.)
21:10 FROGGS_ jnthn: fyi, I pushed to rakudo
21:11 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 :)
21:11 FROGGS_ jnthn: you... what?
21:11 carlin Common arguments for consistent use of the serial comma: Use of the comma is consistent with conventional practice
21:11 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_rem​ember_the_function_name(self, 'hidden_attribute')?
21:11 carlin Common arguments against consistent use of the serial comma: Use of the comma is inconsistent with conventional practice
21:12 carlin from http://en.wikipedia.org/wiki/Seria​l_comma#Arguments_for_and_against -- good johb wikipedia
21:12 ChoHag I want to be read-only. I promise!
21:13 * 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.
21:14 itz $ panda install Task::Star
21:14 itz Could not download module metadata: Failed to connect: connection refused
21:14 itz hmm wget works
21:14 TimToady we already got a bunch of publishers doing logical quoting and series comma, including O'Reilly++
21:15 TimToady the french should be in favor of anything that is revolutionary...
21:15 FROGGS_ damn, I seem to have hit a 'next LABEL' bug :/
21:16 TimToady we'll have to hunt down whoever implemented that...
21:16 FROGGS_ /o\
21:16 FROGGS_ TimToady: ha! try to get to my place :P
21:16 * TimToady can't even get to Nashville...
21:17 TimToady and in any case doesn't have his passport with him, since it's getting extra pages installed
21:18 TimToady m: FROGGS_: goto FROGGS_;
21:18 camelia rakudo-moar 8de0fd: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ErLmkK9HTXâ�¤Undeclared routine:â�¤    goto used at line 1â�¤â�¤Â»
21:18 TimToady n: FROGGS_: goto FROGGS_;
21:18 camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
21:18 FROGGS_ hehe
21:18 FROGGS_ no way!
21:18 TimToady unfortunately my niecza is busted, won't compile under mono 3
21:19 TimToady so you're safe until someone ports niecza to mono 3
21:19 TimToady or hacks goto into rakudo
21:20 * TimToady looks around for a volunteer
21:20 itz does IO::Socket::INET work with ipv6?
21:20 FROGGS_ my niecza still works
21:20 TimToady don't upgrade your mono
21:21 FROGGS_ k
21:21 TimToady or your .NET
21:21 ChoHag Bah it might help if I saved the .pl with the change I'm testing...
21:21 TimToady just type u in vim till it gets back to where you were...
21:22 TimToady (this is why I almost never exit vim, just have it autosave on ^Z)
21:22 TimToady sort of a micro revision control system
21:28 ChoHag Is there a shorter way to write self.HOW.attributes(self).grep({$_.name ~~ '$!foo'})[0].get_value(self)?
21:30 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
21:31 ChoHag What about the whole attributes.grep.get_value chain?
21:32 ChoHag Is there a 'get_attribute' for example?
21:32 ChoHag And if not, why not?
21:35 FROGGS_ \o/
21:36 FROGGS_ I can print the content of a tar
21:36 TimToady \o/
21:36 TimToady Nothing can stop us now!
21:38 FROGGS_ *g*
21:41 jnthn ChoHag: The fact it hurts is meant to be a fairly storng hint that it's usually a bad idea.
21:43 ChoHag It *is* a bad idea.
21:43 ChoHag But I'm not going to let that stop me.
21:44 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...
21:44 jnthn It's the thing the compiler uses to resolve attribute names when it wants to do usage/declaration checks.
21:45 TimToady we should randomly switch internal method names between _ and - each version just to make it more painful
21:46 ChoHag And the odd unicode symbol. Or apostrophe.
21:46 ChoHag Throw in a few british spellings.
21:46 TimToady and a few french spellings...
21:47 TimToady just to be fair
21:48 ChoHag ITYM équitable.
21:48 TimToady and maybe a bit of klingon just to be...not killed...
21:49 * jnthn hopes somebody other than him is going to be putting the french into the internals
21:50 jnthn 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?
21:52 vendethiel TimToady: not quite ...
21:52 vendethiel trust me, I'm french
21:52 vendethiel actually, let me fix that -- don't trust me, I'm french.
21:53 carlin I'd love to know the circumstances that one would come to learn that word
21:53 carlin (having just translated it)
21:54 carlin I like how it means "good" in Norwegian
21:55 jnthn carlin: Was sat next to somebody who did a typo when trying to search for doge :P
21:56 vendethiel now imagine that happening to kids
21:56 BenGoldberg One might also have been searching for "geode"
21:57 carlin that's a gode excuse :p
21:59 vendethiel I lost my last ounce of innocence at the FPW2014 anyway.
22:00 SevenWolf joined #perl6
22:09 zengargo1le unpack doesn't seem to support the * in something like 'NNCxxxN*', is there some new format?
22:10 timotimo what was that * for?
22:11 zengargo1le like 'N' xx $count but just 'N' to the end i guess... that was the p5 unpack format for something..
22:12 timotimo oh?
22:12 zengargo1le a few N's, a char, 3 pad bytes, then all N's
22:12 timotimo was the count supplied as an extra argument?
22:12 zengargo1le more like one of the initial N is the count
22:12 BenGoldberg With a *, it would mean use the entire string.
22:13 zengargo1le right.
22:13 zengargo1le that's what i want.
22:13 timotimo ah, ok
22:13 timotimo the strings length is known of course
22:13 TimToady our new plane has finally taken off from Detroit, sigh...
22:13 zengargo1le i'm using 'N' xx $count now, since the 'N*' didn't do the trick.
22:14 zengargo1le but it seems awful to have a string of thousands of N to unpack a long buffer.
22:16 timotimo aye
22:16 timotimo TimToady: i wish you a pleasant flight!
22:17 TimToady well, the plane still has to get to Orlando in one piece
22:17 TimToady and doubtless it'll be time for the evening electrical storm by then...
22:18 TimToady last night's was a dandy
22:19 raiph joined #perl6
22:20 pdcawley joined #perl6
22:25 colomon_ joined #perl6
22:36 kivutar joined #perl6
22:38 R0b0t1 joined #perl6
22:47 tgt joined #perl6
22:47 * [Coke] waves from oregon.
22:48 [Coke] ENODALEK?
22:50 carlin Dalek is MIA
22:50 timotimo aye :(
22:56 cognominal blame the talibans
22:56 LLamaRider joined #perl6
22:57 TimToady compiling Test.pm with perl6-j: Unhandled exception: Method 'count' not found for invocant of class 'Scalar'
22:57 jnthn o.O
22:57 TimToady with current head, also with =master
22:57 jnthn TimToady: Is it a load-time failure?
22:58 jnthn (as in, does perl6-j -e "say 42" also fail?)
22:59 TimToady yes
22:59 jnthn ugh
22:59 [Coke] oh, I never pushed my commits from the other day.
22:59 * jnthn wonders how recently what broke
22:59 jnthn *that
22:59 TimToady j: say 42
22:59 camelia rakudo-jvm 8de0fd: OUTPUT«42␤»
23:00 TimToady https://gist.github.com/ano​nymous/ea6d6afd908f00f3ece6 is the error
23:01 jnthn What if you add --ll-exception ?
23:02 jnthn 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 ClarusCogitatio joined #perl6
23:03 TimToady https://gist.github.com/ano​nymous/a83350804b0654290a60
23:03 jnthn eek
23:05 * TimToady wanders off to look for dinner
23:06 TimToady since our New Plane is supposed to get here in a little over an hour...
23:06 TimToady bbl &
23:06 jnthn OK. Think I found it.
23:07 amkrankruleuen joined #perl6
23:16 pdcawley_ joined #perl6
23:18 timotimo interestingly, the self-describing-numbers benchmark takes a really long time
23:22 TimToady 2nd prize: 2 meals at Outback Steakhouse...
23:22 TimToady the only actual restaurant in this terminal
23:26 TimToady jnthn: seems fixed, thanks
23:26 hoverboard joined #perl6
23:29 timotimo i got ze timings
23:29 jnthn TimToady: With the latest NQP patch?
23:29 jnthn Yeah, I just got it build here too
23:29 jnthn Bumping
23:31 timotimo http://t.h8.lv/p6bench/201​4-06-29-OSR_inlinefix.html ← jnthn
23:34 timotimo i'm surprised, not too much has changed
23:34 timotimo in the very last benchmark, 9 million names, nqp has actually become slower
23:34 timotimo er, rakudo-moar has become slower
23:34 timotimo nqp has become a bit faster
23:36 jnthn Curious.
23:36 jnthn timotimo: Uh, quite big changes in some benchmarks.
23:37 timotimo oh, *damn* that log-log scale
23:37 jnthn Most of the while loop ones make it an extra notch
23:38 jnthn Curious about that rc-9-billion-names one.
23:38 jnthn NQP beats Perl 5 for that one.
23:39 jnthn rc-dragon-curve Rakudo doesn't do awfully on. rc-self-describing-numbers is awful, though.
23:40 timotimo only in the very first ones
23:40 pdcawley joined #perl6
23:42 jnthn Note that inline doesn't handle things with return handlers left behind yet
23:45 timotimo ah
23:45 timotimo that would be most things, eh?
23:45 timotimo 131mb is our startup memory use for rakudo-moar now
23:46 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.

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

Perl 6 | Reference Documentation | Rakudo