Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-02-18

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:02 Sqirrel joined #perl6
00:04 dalek rakudo-star-daily: 763c426 | coke++ | log/ (14 files):
00:04 dalek rakudo-star-daily: today (automated commit)
00:04 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/763c4261c5
00:08 timotimo should panda be taught about the fact that NativeCall dependencies are satisfied by a sufficiently recent rakudo?
00:09 chenryn joined #perl6
00:10 timotimo or should i remove NativeCall from my module's dependencies?
00:11 timotimo also, am i to remove "use NativeCall;" from my scripts?
00:11 timotimo apparently i am
00:28 japhb TimToady: Um, I'm "wrong on the internet"?  About what?
00:33 timotimo um ...
00:33 timotimo this could be a problem ...
00:33 timotimo nativecallinvoke doesn't even appear in speshlogs or jitlogs
00:52 masak 'night, #perl6
00:52 timotimo japhb: what did you reference? i missed something funny?
00:56 japhb timotimo: I saw a highlight in my IRC client from TimToady telling me I was wrong on the internet, and referencing something in the backlog, but it wasn't the immediately previous line, so I wasn't sure what he was talking about.
00:56 japhb (I'm not surprised about being wrong, more curious what came up worth pointing out.  :-)
00:57 timotimo ah
00:57 timotimo :)
00:59 cbk1090 joined #perl6
01:00 geekosaur I infer he disagrees about how / \  / is recognized?
01:00 geekosaur std: / \  /
01:00 camelia std f9b7f55: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x20 at /tmp/Dca41IIzPi line 1:â�¤------> [32m/ \  [33mâ��[31m/[0mâ�¤Parse failed…»
01:00 geekosaur hm, std does the same though
01:00 geekosaur good question
01:00 geekosaur unless this means the rules have changed again :)
01:01 timotimo maybe japhb claimed something about how / \ / works?
01:02 cbk1090 Does Perl6 receive input from $*IN or %*ARGS when working with data from a web form using POST.  Im trying to make a basic CGI debugger/tester for Perl6.
01:03 cbk1090 I know there are modules out there now SCGI etc, but I just need something basic, and I want to learn how to do it from the ground up.
01:04 timotimo AFAIK $*IN is how you get the body of the request and %*ENV is where you find all the key/value things, no?
01:04 hobbs cbk1090: if you're doing CGI then you're getting data from $*IN and %*ENV, that's implicit in the definition of CGI :)
01:04 hobbs yeah, what timotimo said :)
01:04 timotimo implicit? i was hoping it'd be explicitly stated somewhere
01:04 hobbs timotimo: well, the implication comes from the fact that the CGI spec wasn't written for Perl 6 :)
01:05 timotimo ah
01:05 Mouq joined #perl6
01:05 timotimo right, there's a bit of transfer required from "the environment" to "%*ENV" and from "stdin" to "$*IN"
01:05 dalek doc: 80b124b | util++ | lib/ (8 files):
01:05 dalek doc: Fix typos.
01:05 dalek doc: review: https://github.com/perl6/doc/commit/80b124b751
01:06 hobbs zactly
01:06 hobbs cbk1090: http://www.ietf.org/rfc/rfc3875 is probably useful reading for you, if you want to reinvent this wheel :)
01:07 cbk1090 I'm sorry for trying to use CGI style, I have seen the advantages of newer models like SCGI etc. but like I said I'm really just trying to start off with the basics
01:07 timotimo that's no problem
01:07 timotimo we trust you're aware of the trade-offs and drawbacks CGI has
01:07 hobbs cbk1090: as long as you're aware, no one should mind
01:09 cbk1090 timotimo, yes, i'am.  But for what I'm doing, I really only need the basics.  I'm just making a contact-us form and trying to send the output to a file, that the perl6 script opens and writes to.
01:10 cbk1090 I know its lame but I like it that way. don't need/want email server running
01:11 timotimo sure
01:11 timotimo do we have support for file locking in core, btw?
01:12 timotimo well, we have NativeCall, so you can just use fcntl (or what function gives you locking?)
01:12 timotimo oh, i didn't even know about record locking
01:13 cbk1090 timotimo, file locking is what I'll work on next...  I'm just trying to take things one step at a time.
01:14 timotimo and i didn't know about open file description locks, either
01:14 timotimo but those seem to be rather recent additions
01:14 cbk1090 when I use %*ENV  I don't see the key/values.  And when I use $*IN I get nothing...?
01:15 timotimo m: say %*ENV.keys
01:15 camelia rakudo-moar 9add92: OUTPUT«MANPATH PERLBREW_VERSION PERLBREW_PERL SHELL PERL5LIB USER LS_COLORS PERLBREW_BASHRC_VERSION PERLBREW_ROOT PATH _ PWD LANG PERLBREW_HOME GPG_TTY HOME SHLVL PERLBREW_MANPATH LS_OPTIONS LOGNAME PERLBREW_PATH LC_CTYPE␤»
01:15 timotimo m: say $*IN.get().perl
01:15 camelia rakudo-moar 9add92: OUTPUT«"Céad slán ag sléibhte maorga Chontae Dhún na nGall"␤»
01:15 timotimo m: say %*ENV
01:15 camelia rakudo-moar 9add92: OUTPUT«GPG_TTY => not a tty, HOME => /home/camelia, LANG => POSIX, LC_CTYPE => en_US.UTF-8, LOGNAME => camelia, LS_COLORS => , LS_OPTIONS => -N --color=none -T 0, MANPATH => /home/camelia/perl5/perlbrew/perls/perl-5.20.1/man:/usr/local/man:/usr/share/man, PATH =>…»
01:15 cbk1090 I have tested my Apache/CGI config and it works with old perl
01:15 timotimo could you share the code?
01:16 cbk1090 yes %*ENV has a bunch of vars in it but not the responce form the web form.  Ok
01:16 cbk1090 http://pastebin.com/YRd9aueH
01:16 timotimo you may want to just use flock(2) instead of fcntl, it's got a simpler API
01:16 timotimo are you sure the query string would be in @*ARGS?
01:17 hobbs it wouldn't
01:18 cbk1090 Well that is what I had at first, I was just trying anything.  Mostly what I do when learning perl6
01:18 timotimo also, consider replacing my $starDate with something like this: my $starDate = "$dt.year()-$dt.month()-$dt.day() $dt.hour():$dt.minute():$dt.second()"
01:18 hobbs %*ENV<QUERY_STRING> has query args
01:18 timotimo fewer " that way
01:18 cbk1090 the file write stuff is REMed out though
01:18 hobbs but if the form is a POST then you need to read from stdin to get the post body
01:18 timotimo REM? oh that's old school :)
01:18 cbk1090 :)
01:19 cbk1090 sorry i started on BASIC when I was 11
01:19 jercos yeah nowadays bash scripts shorten than to "rm"
01:20 timotimo hahaha
01:20 timotimo oh you're mean :)
01:20 hobbs jercos: and you use the C convention of a * at the beginning of every line of comment, right? :)
01:21 japhb Now, now, no fishing the Sea of Gullibility ...
01:21 jercos Right, rm /* for the first block, then rm  *, and end with rm */
01:21 TimToady japhb: yes, I'm referring to your tutorial, where you said you could quote whitespace with backslash, which you can't
01:21 TimToady also, you have mm// where you want ms//
01:21 japhb TimToady: link?  I must have forgotten?
01:22 TimToady did you do https://github.com/perlpilot/perl6-docs/blob/master/intro/p6-regex-intro.pod or am I misattributing?
01:22 TimToady someone mentioned it overnight
01:23 timotimo nope, perlpilot and moritz are mainly blame'd
01:23 TimToady ah, I see that, now that I look
01:23 japhb Mis-attributing!  Hah!  I'm not wrong (about that) on the internet!
01:23 TimToady so...nevermind :)
01:24 japhb I was also talking about a tutorial overnight, but in a different venue, and for a different tutorial.
01:24 Mouq I believe perlpilot === PerlJam
01:24 timotimo me, too
01:25 TimToady yeah, don't know how I short-circuited that
01:25 TimToady must've been a faulty ^^ operator :)
01:25 japhb Heh
01:26 TimToady PerlJam: you're wrong on the internet! :)
01:27 geekosaur we're alive, we're on the internet: we're wrong on the internet
01:28 * japhb is just wrong, regardless of venue  ;-)
01:28 TimToady it's just a good thing TimToady is not on the internet right now...
01:31 timotimo it kinda seems like postcircumfix:<( )> (as added by the Native role) is not being called ith an interned callsite. which now makes total sense to me that i look at it
01:31 timotimo because it has flattened args
01:31 Mouq .oO( There's more than one way to be wrong on the internet )
01:32 timotimo .o( there is more than one wrong on the internet )
01:32 japhb .o( There is more than one wrong internet )
01:33 hobbs I've seen "sorry, wrong window" before, but I'm not so sure about "sorry, wrong internet"
01:34 timotimo .o( there is more than internet )
01:35 hobbs I've been on two of them
01:37 colomon joined #perl6
02:04 telex joined #perl6
02:08 adu joined #perl6
02:23 * ruoso made a bit more progress in the grammar-ebnf slang, but I can't seem to be able to do anything useful in the actions... if I uncomment any of the "make" parts in https://github.com/ruoso/Grammar-EBNF/blob/master/lib/Grammar/EBNF/Actions.pm it starts failing with obscure errors...
02:24 ruoso I have been using https://github.com/tony-o/perl6-slang-sql/blob/master/lib/Slang/SQL.pm6 as the reference
02:24 Peter_R joined #perl6
02:24 ruoso I believe it may be related to the fact that I am delegating to another grammar and another action class...
02:25 ruoso https://github.com/ruoso/Grammar-EBNF/blob/master/t/004_slang.t has my end goal
02:25 * ruoso bbl &
02:29 timotimo ruoso: what's the deal with the code duplication of the actions in Grammar/EBNF.pl?
02:31 tim joined #perl6
02:31 Mouq timotimo: It's not duplication, that's the actions for the slang
02:32 timotimo oh
02:32 timotimo i'm not sure i understand, but i'ven't written or read a slang yet
02:37 tim left #perl6
02:48 ilbot3 joined #perl6
02:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
02:51 Mouq timotimo: There's the EBNF grammar and actions that do their thing, and then the slang ties the grammar/actions into the parser, in this case by augmenting the Perl 6 grammar and actions
03:04 noganex_ joined #perl6
03:06 colomon joined #perl6
03:12 kshannon joined #perl6
03:14 kaare_ joined #perl6
03:18 Patterner joined #perl6
03:29 sada joined #perl6
03:55 kurahaupo1 joined #perl6
03:55 jack_rabbit joined #perl6
04:26 mephinet joined #perl6
04:31 rmgk_ joined #perl6
04:50 mr-foobar joined #perl6
05:40 firefish5000 joined #perl6
05:41 diana_olhovik_ joined #perl6
05:47 firefish5000 joined #perl6
05:53 Mouq joined #perl6
06:03 firefish5000 Good day #perl6! I was having trouble with overriding named (slurpy) parameters. Do they get appended to the end of the list or something?
06:03 firefish5000 m: sub SSay (*%_) { say %_.perl;}; SSay(is0=>0,is1=>0,is2=>0,|{is1=>1,is2=>1},is2=>2);
06:03 camelia rakudo-moar 9add92: OUTPUT«("is1" => 1, "is0" => 0, "is2" => 1).hash␤»
06:10 mr-foobar joined #perl6
06:10 bjz joined #perl6
06:11 firefish5000 Correction, I dont have a problem with Slurpy parameters, but the |{Magical Pipe that makes my hashes go through as named args whos name I do not recall}
06:18 sqirrel_ joined #perl6
06:20 molaf joined #perl6
06:24 TimToady sure looks like they're appended after the literal args, doesn't it...
06:24 mephinet joined #perl6
06:25 TimToady m: \((is0=>0,is1=>0,is2=>0,|{is1=>1,is2=>1},is2=>2).perl
06:25 camelia rakudo-moar 9add92: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/S_VN12QlkO�Unable to parse expression in parenthesized expression; couldn't find final ')' �at /tmp/S_VN12QlkO:1�------> [32m=>0,is2=>0,|{is1=>1,is2=>1},is2=>2).perl[33m�[31m<EOL>[0m� …»
06:25 TimToady m: \(is0=>0,is1=>0,is2=>0,|{is1=>1,is2=>1},is2=>2).perl
06:25 camelia rakudo-moar 9add92: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/wxEnaufw3g�Variable '&prefix:<|>' is not declared�at /tmp/wxEnaufw3g:1�------> [32m\(is0=>0,is1=>0,is2=>0,[33m�[31m|{is1=>1,is2=>1},is2=>2).perl[0m�»
06:25 TimToady oh hoof, you're a Capture, you're supposed to know about |
06:28 hobbs is the source for camelia available? And which would be preferable -- a patch to turn ANSI color codes into IRC color codes, or a patch to strip them? :)
06:30 kaleem joined #perl6
06:31 * TimToady likes the colors
06:32 TimToady and the ANSI colors show up fine in irssi :)
06:32 hobbs ah, they don't for me
06:32 TimToady if IRC colors can improve what the logger gets though, I'd be okay with that
06:33 TimToady I suspect, however, that they'd just be a different set of mojibake
06:33 hobbs I'm treated to http://i.imgur.com/LPqtYlZ.png
06:34 firefish5000 I guess its not an odd feature then. For future reference, what do we call the prefix:<|> oporator (or would that be its name?
06:34 TimToady maybe your client has an option for ANSI colors that you need to turn on?
06:35 hobbs I was just looking for a setting like that, I don't think there is
06:35 TimToady doesn't really have a name yet; I think of it as a slit in the argument list into which you slide run-time args
06:35 hobbs TimToady: is this green?
06:35 TimToady and as you can see, rakudo doesn't exactly treat it as an operator anyway, but as special syntax
06:35 TimToady hobbs: yes
06:36 hobbs then I'll take a stab at the IRC color option, and if it bothers more people, I'll be quiet :)
06:37 TimToady it's not green in the irc logs, but maybe that's an improvement over mojibake
06:37 hobbs arguably :)
06:38 firefish5000 I suppose for now prefix:<|> it is (your probably the only one who would understand me if I asked about the slit operator)
06:40 gfldex joined #perl6
06:41 adu joined #perl6
06:46 bjz joined #perl6
06:46 hobbs TimToady: do you know if the source is available? Should I ask nine_?
06:49 TimToady https://github.com/perl6/evalbot.git or so, I think
06:51 hobbs that looks right
06:53 firefish5000 hobbs, hexchat gives results similar (worse for me) to yours, along with my phons irc. So your not alone and a patch would be great :)
06:53 hobbs firefish5000: yeah, I'm on xchat which hexchat is a derivative of
06:54 firefish5000 m: sub SSay (*%_) { say %_.perl;}; SSay(|{is0=>0,is1=>0,is2=>0},|{is1=>1,is2=>1},|{is2=>2}); # Seems like slurping everything does the trick
06:54 camelia rakudo-moar 9add92: OUTPUT«("is0" => 0, "is1" => 1, "is2" => 2).hash␤»
06:56 firefish5000 hobbs, I use to use xchat, but my distro dropped them since development seemed to stop.
06:58 * firefish5000 rejoices as his code starts functioning again!
06:58 hobbs it stopped in a place that doesn't bother me :)
07:02 TimToady ~.
07:03 firefish5000 lol, well I imagine any vulnerabilities would be negligible. Though I might worry about hart-bleed.
07:03 TimToady stupid wifi at this hospital knocks me off every half hour or so...
07:03 TimToady (in waiting room waiting for arrival of 3rd grandkid...)
07:07 firefish5000 Oh, i'm surprised  your online. Omedetou gozaimasu ([an early] congradulations)
07:09 TimToady どうも有難う。。。
07:12 * TimToady finds it entertaining that "arigatou" actually comes from "exists difficulty"
07:16 firefish5000 apparently its to acknowledge that the other person has gone through the difficulty to do something for you..(im not making much since, I had to look it up)
07:18 firefish5000 You have gone through part would be implied probably, though when you look at just 'difficaulty exist', you would assume bad news...
07:25 Rounin joined #perl6
07:30 [Sno] joined #perl6
07:38 SHODAN joined #perl6
07:46 diana_olhovik_ joined #perl6
07:53 jnthn morning, #perl6
07:54 FROGGS joined #perl6
07:56 sjn good *, jnthn & #perl6
07:56 moritz \o jnthn, sjn, *
07:58 darutoko joined #perl6
07:58 _mg_ joined #perl6
08:01 TimToady jnthn: see note above about | appending rather than inserting
08:03 TimToady also, wondering why a capture composer like \() can't do | insertion
08:03 jnthn TimToady: Saw it; there's not a lot I can easily do about it, though.
08:03 jnthn TimToady: | really should work in \(...), but \(...) is odd in ohter ways too at the moment.
08:03 jnthn *other
08:04 dalek roast: aaa9a03 | moritz++ | S19-command-line/repl.t:
08:04 dalek roast: Avoid test failure in S19-command-line/repl.t on parrot
08:04 dalek roast:
08:04 dalek roast: it seems to print the ">" prompt to STDERR
08:04 dalek roast: review: https://github.com/perl6/roast/commit/aaa9a030db
08:04 jnthn TimToady: It occurs to me that the way to implement \(...) is to just compile it into a call to a sub MAKE-A-CAPTURE(|c) { c } :)
08:05 jnthn And use the normal args processing logic.
08:05 * jnthn isn't sure why it's not done like that already...
08:05 jnthn Maybe it was a performance thing, but we can construct a |c in a sub using bind lowering these days, not even a trip through the slow-path binder.
08:05 jnthn So it probably is the fastest way.
08:06 jnthn TimToady: oh, or alternatively we define method new(|c) { c } on Capture ?
08:06 jnthn TimToady: Which snapshots it after the slef.
08:06 jnthn *self
08:10 nwc10 good UGT, *
08:12 jnthn TimToady: At the moment Caputre takes a :@list and :%hash named args, fwiw
08:12 prime joined #perl6
08:14 kurahaupo1 joined #perl6
08:14 rurban joined #perl6
08:17 rindolf joined #perl6
08:18 fhelmberger joined #perl6
08:19 kjs_ joined #perl6
08:24 wicope joined #perl6
08:28 Kristien joined #perl6
08:28 Kristien mood gorning
08:34 abraxxa joined #perl6
08:34 vendethiel o/, #perl6
08:40 mattp_ joined #perl6
08:41 pdcawley joined #perl6
08:41 ponbiki joined #perl6
08:45 Kristien I want FIFOs that discard input if there are no writers.
08:45 Kristien s/writers/readers/
08:47 jnthn m: my $s = Supply.new; $s.emit(1); $s.tap(&say); $s.emit(2);
08:47 camelia rakudo-moar 9add92: OUTPUT«1␤2␤»
08:47 jnthn wtf?!
08:47 jnthn That's meant to only say 2. arrrrgh.
08:48 raydiak m: my $s = Supply.new; $s.emit(1); sleep 1; $s.tap(&say); $s.emit(2);
08:48 camelia rakudo-moar 9add92: OUTPUT«1␤2␤»
08:48 jnthn How the heck is it keeping the values around? It's meant to be a simple pub-sub thing and if nobody listens they're gone. :/
08:49 raydiak maybe it erroneously defaults to an on-demand supply?
08:49 jnthn But those need explicit creation.
08:49 zakharyas joined #perl6
08:50 jnthn m: my $s = Supply.new; $s.emit(1); $s.tap(&say); $s.emit(2); $s.tap(&say);
08:50 camelia rakudo-moar 9add92: OUTPUT«1␤2␤»
08:50 jnthn And if it was an on-demand one the output should be 1212.
08:50 raydiak yep, seems not
08:52 jnthn It's almost as if it's doing a "buffer until first tap", which is a potentially useful behavior, but certainly not the right default.
08:52 * raydiak was just looking for any mention of such behavior
08:54 jnthn I'd imagine it's a relatively rare thing to want, though. For on-demand supplies you don't start the flow until you tap, so there's no race. And for live supplies you know you're tapping into a live stream of values.
08:55 virtualsue joined #perl6
08:55 raydiak agreed it certainly doesn't seem like what we want, and doesn't seem to be designed as such as far as docs say
08:58 raydiak https://github.com/rakudo/rakudo/blob/nom/src/core/Supply.pm#L65-67 is that...pushing onto a queue if it hasn't been tapped yet?
08:59 moritz yes
08:59 moritz and it should only do that for an on-demand supply, right?
08:59 raydiak correct
09:00 jnthn Uh, no, on-demand ones shouldn't work like that either.
09:00 jnthn On demand ones typically run some code when you tap them
09:00 jnthn Supply.interval(1) for example runs code to start a timer.
09:02 jnthn raydiak: Ugh, looks like
09:02 raydiak so nothing should have been emitted to them before they were tapped?
09:02 jnthn I don't have time to worry about this now.
09:03 jnthn raydiak: For an on-demand one, yes; it's the act of tapping that starts the flow of values.
09:03 raydiak we could maybe just add a " && self.live" on L65 in the condition on L65 maybe
09:05 jnthn I need, when I have time, to look at why we ended up with this.
09:05 jnthn Probably something somewhere wants this kind of behavior, rightly or wrongly.
09:06 raydiak https://github.com/rakudo/rakudo/commit/8a0a8f99b7309d4cfff3badd130e3833e845ee57 looks like lizmat++ tried to rip it out and had problems
09:06 jnthn At least it's easy to remove
09:07 jnthn But yeah, we should look at something specific to categorize/classify
09:08 moritz t/spec/integration/advent2013-day14.t hung for me in j-spectest
09:13 moritz ... but works fine in isolation
09:15 jnthn urgh
09:15 jnthn fwiw, https://social.msdn.microsoft.com/Forums/en-US/5e5c1ef7-3716-49a3-89a8-bf1d172385fa/groupby-observeon?forum=rx is a useful post on the semantics of GroupBy in Rx, which are the kind of problem we have with classify/categorize.
09:16 jnthn Basically, you don't emit the value into the nested Supply until the emit call for the Supply itself has returned, so any subscription done on it has taken place.
09:17 jnthn And, short of folks doing stuff to explicitly introduce a race condition (like in the question), it works out.
09:20 nwc10 http://fwierzbicki.blogspot.co.at/2015/02/jython-27-beta4-released.html
09:21 * nwc10 is pleased to see that its making progress.
09:21 nwc10 er, grammar. it's
09:21 * nwc10 isn't pleased to see that it's yet another usless-use-of-javascript page.
09:27 vendethiel .tell btyler lots of articles sum up my point of view on go, http://tmikov.blogspot.fr/2015/02/you-dont-like-googles-go-because-you.html and http://yager.io/programming/go.html are pretty much on point
09:27 yoleaux vendethiel: I'll pass your message to btyler.
09:30 dakkar joined #perl6
09:33 adu joined #perl6
09:39 espadrine_ joined #perl6
09:41 FROGGS joined #perl6
09:44 espadrine joined #perl6
09:45 larion joined #perl6
09:47 sqirrel_ joined #perl6
09:47 donaldh joined #perl6
09:51 kjs_ joined #perl6
09:52 masak good antenoon, #perl6
09:53 jnthn ma/sak
09:53 raydiak \o masak
09:53 _mg_ joined #perl6
09:56 * raydiak lacks the energy to maintain corporeal form, and disperses into the aether for a regeneration cycle
10:02 dalek rakudo/nom: 9f7187a | lizmat++ | docs/release_guide.pod:
10:02 dalek rakudo/nom: Propose "Parrotopia" as name for release #85
10:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f7187a9d9
10:03 lizmat inspired by http://www.marsanomalyresearch.com/evidence-reports/2009/167/parrotopia.htm
10:04 * lizmat realizes it could be construed in many ways but intends it to be as something with a history to be(re-)discovered and hard to reach
10:04 btyler vendethiel: yes, the language has a ton of shortcomings. my point was that go (and node) are two very strong recent samples of lots of people getting excited about a platform and investing time into it -- writing libraries, writing apps, etc.
10:04 yoleaux 09:27Z <vendethiel> btyler: lots of articles sum up my point of view on go, http://tmikov.blogspot.fr/2015/02/you-dont-like-googles-go-because-you.html and http://yager.io/programming/go.html are pretty much on point
10:06 vendethiel btyler: oh, sure, that happens a lot. fwiw, I also think there are tons of thing wrong with, say, docker or chef which are apparently loved by maby
10:06 vendethiel s/aby/any/
10:07 abraxxa joined #perl6
10:07 * TimToady still waitin' for another grandkid...
10:08 btyler sure. but again, solved problems for lots of people, became wildly popular. the core thing here is that dismissing $popular_thing because it isn't as good as $rather_obscure_thing and assuming that people will sort out how awesome your project is for themselves is a mistake, and will lead to marginalization of your preferred platform
10:08 kaleem joined #perl6
10:08 btyler and marginalization makes the platform worse for doing real things
10:09 vendethiel btyler: which, really, isn't what I'm trying to convey here :-)
10:09 btyler ok, talking past each other I suppose
10:11 lizmat TimToady: wow...    but still, for the mother to be, I suspect the "waiting" is even more annoying :-)
10:11 firefish5000 joined #perl6
10:12 TimToady indeed, that's harder than I'll ever work... :)
10:14 dg joined #perl6
10:20 sergot morning #perl6 !
10:21 nwc10 TimToady: sibling of existing grandkid, or cousin?
10:21 lizmat sergot o/
10:22 jnthn btyler: I guess it's a case of things having to be simultaneously familiar enough to another widely adopted thing that the leap isn't frightening for the average developer, while at the same time seeming different enough to offer some new value. :)
10:25 jnthn lizmat: Tomorrow is release day? When're you planning to cut it, ooc?
10:25 lizmat jnthn: yes, tomorrow is release day
10:26 jnthn lizmat: More concretely: is a MoarVM release tomorrow morning fine?
10:26 lizmat yeah, that would be fine  :-)
10:26 jnthn OK, cool.
10:26 nwc10 for a daylight value of morning, or a UGT value? :-)
10:26 diana_olhovik_ joined #perl6
10:26 lizmat I mean, you're morning already ends at 10:00 UTC anyway  :-)
10:26 jnthn nwc10: Daylight. :)
10:26 lizmat *your
10:26 jnthn lizmat: True :)
10:31 jnthn Hm, which means it's already time to make lunch :)
10:32 Vlavv_ joined #perl6
10:35 TimToady nwc10: sibling to Cid, and a cousin of Julian
10:35 nwc10 which demonstrates that I'd already lost count!
10:43 kjs_ joined #perl6
10:43 firefish5000 joined #perl6
10:52 TimToady well, it's 3 grandkids now \o/
10:52 TimToady as of about 13 minutes ago
10:52 lizmat cograts TimToady (and everybody involved!)
10:52 lizmat *congrats  :-)
10:52 TimToady healthy lungs anyway :)
10:53 TimToady from what we could hear...
10:57 dalek rakudo/nom: 66de7b2 | lizmat++ | src/core/Str.pm:
10:57 dalek rakudo/nom: Make Str.trans(Str,'x') 10 - 30% faster still
10:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/66de7b25ad
10:58 rurban1 joined #perl6
11:00 alpha- congratz
11:04 jnthn TimToady: Congrats! :)
11:05 lizmat .oO( nobody seems to like "Parrotopia" as a release name just yet )
11:05 jnthn lizmat: Hey, nobody disliked it either :P
11:06 lizmat alternative could be Berlin
11:06 jnthn I'm a little skeptical they're a Pm group in that location :P
11:06 jnthn Uh, PM :)
11:06 lizmat which has a wall-like ring to it
11:06 lizmat well, yeah, but it could, in the far future have a PM group  :-)
11:07 lizmat and Berlin *does* have a PM group afaik
11:07 * |Tux| thinks he is moving in the right direction ...
11:07 |Tux| All tests successful.
11:07 |Tux| Files=8, Tests=17671, 60 wallclock secs ( 1.92 usr  0.14 sys + 60.00 cusr  0.48 csys = 62.54 CPU)
11:07 |Tux| Result: PASS
11:07 lizmat |Tux|: did it get any faster recently?
11:08 |Tux| not till this morning, lemme check now
11:08 * jnthn wonders if it's a parallel test run...
11:08 |Tux| no it is not
11:08 jnthn Doens't look it from the numbers. May also help :)
11:10 jnthn (If "I have to wait for tests" is a bottleneck.)
11:12 nwc10 TimToady: congratulations.
11:14 FROGGS TimToady: congrats! \o/
11:14 |Tux| is 4% speed improvement about right?
11:15 * |Tux| also congrats grandpa TimToady
11:15 masak TimToady: grand congrats on the grandkid :)
11:15 |Tux| test             50000    38.723    38.529
11:15 |Tux| test-x           50000    38.435    38.241
11:15 |Tux| but *that* is something I like. complete code now faster than my starting point
11:16 |Tux| 38.x used to be between 39.x and 42.x
11:16 |Tux| x being noise
11:17 * masak .oO( I don't always include noise, but when I do, I include it after the decimal point. )
11:18 [ptc] TimToady: congratulations!
11:18 jnthn .oO( 42.wtfmasak :P )
11:19 jnthn |Tux|: And I hope Rakudo/Moar improvements will make it a good bit faster still in the weeks/months to come :)
11:19 |Tux| I currently build about twice a week
11:19 |Tux| I currently build about twice a day
11:20 masak I currently build about twice an hour
11:20 |Tux| I have other $work tasks
11:20 moritz TimToady: congratulations!
11:27 |Tux| what is the last generic method being called (even after BUILD) when new() is invoked that can access all attributes set in BUILD?
11:28 kjs_ joined #perl6
11:28 moritz |Tux|: .new calls .BUILDALL, which again class all BUILD submethods
11:29 moritz |Tux|: so if you want to hook in essentially after object creation, write your own BUILDALL, use callsame() to re-dispatch to the default one
11:29 moritz |Tux|: and then do whatever you want to do
11:29 |Tux| I cannot call self!method from the end of BUILD, which is essentially what I want to do
11:29 * |Tux| tries ...
11:31 |Tux| BUILDALL also needs *%init ?
11:31 * masak enjoys seeing |Tux| discover Perl 6
11:31 |Tux| :)
11:32 moritz method BUILDALL(@autovivs, %attrinit)   # is what src/core/Mu has
11:32 moritz |Tux|: if you don't need the arguments, just capture them call
11:32 jnthn If you don't want any of the argumens, then just method BUILDALL(|) { callsame; ...stuff... }
11:32 moritz method BUILDALL(|c) { callsame; do your stuff here }
11:32 |Tux| I'm amazed that I am even publicly enthusiastic ( http://www.perlmonks.org/?node_id=1116877 )
11:32 jnthn moritz++ is faster :)
11:32 moritz or right, with an anonymous capture, if you don't need it at all in the code
11:34 |Tux| same with BUILDALL: I am unable to access $!attribute from self!method call from BUILD or BUILDALL
11:35 |Tux| lemme check if I can make an example ...
11:36 moritz m: class A { has $!x; submethod BUILD(:$!x) { }; method BUILDALL(|) { callsame; say $!x } }; A.new(x => 42)
11:36 camelia rakudo-moar 66de7b: OUTPUT«42␤»
11:37 jnthn Just in case: make sure it's method BUILDALL, not submethod BUILDALL
11:44 lizmat wow, for the first time in a *long* time, not just bad reactions on a P6 thread on Perl Monks  , wow!
11:45 lizmat (at least, that I know about: I generally avoid PerlMonks)
11:46 moritz lizmat: fwiw I've occasionally answered questions there (that already had a p5 answer) with a p6 answer, and the reactions were usually mixed to positive
11:46 moritz I don't think I've ever seen purely negative threads
11:46 |Tux| https://gist.github.com/Tux/ac2055cfd4b0806a538b <= That is my problem
11:46 moritz (I always answered with working code, not hypothetical stuff)
11:48 moritz |Tux|: you don't initialize foo and bar in the same object, so one of them will always be undefined
11:48 moritz |Tux|: hence the warning from !sanity_check
11:48 |Tux| foo and bar have a default in the declaration
11:49 |Tux| I expect those to be true before BUILD
11:49 moritz your expectations don't match what's specced/implemented
11:50 |Tux| if that is not the case, I need to move the defaults to BUILDALL?
11:50 moritz if you write a BUILD, the defaults don't work anymore
11:50 |Tux| FUCK!
11:50 |Tux| sorry
11:50 moritz well, you can do
11:50 moritz my %defaults = (a => 'A', ...)
11:50 moritz and then inside BUILD, iterate over %defaults instead of %init
11:51 moritz and do a   if %init{$key}:exists { do your magic here }
11:51 |Tux| this is so completely unexpected
11:51 masak |Tux|++ # http://www.perlmonks.org/?node_id=1116877
11:59 yakudza joined #perl6
12:09 El_Che Slang::Tuxic
12:09 El_Che haha
12:09 El_Che :)
12:09 * El_Che reading |Tux|'s post
12:10 telex joined #perl6
12:13 coffee` joined #perl6
12:15 Ven joined #perl6
12:15 timotimo o/
12:16 |Tux| Hmmm, boooo! «C.new ($attr => $x);» => Default constructor for 'C' only takes named arguments
12:18 moritz yes, $attr => $x is a named argument
12:18 moritz erm, positional
12:18 jnthn If you want to treat it as a named do |($attr => $x)
12:18 moritz put a |(...) around it to re-interpolate it into the argument list, which will make it named
12:22 |Tux| hmmm, new surprises
12:32 Alina-malina joined #perl6
12:36 |Tux| having the defaults as noted in the declaration be valid even before BUILD is probably too late a change to request?
12:41 timotimo that's something the default BUILDALL does; you can override it and use the buildallplan that's created for you, i'd think. let me have a look
12:41 tadzik what are you trying to do?
12:41 tadzik I'm experienced at not having BUILD doing what I expect :P
12:41 timotimo yeah, you can get the BUILDPLAN and BUILDALLPLAN via self.BUILD[ALL]PLAN
12:48 timotimo [Tux]: i have something that might help you
12:48 timotimo you should be able to do something like my $object = self.bless(...); $object!attr = 5;
12:48 timotimo right?
12:49 [ptc] m: use Test; skip "next line shouldn't run"; eval_dies_ok('warn');
12:49 camelia rakudo-moar 66de7b: OUTPUT«ok 1 - # SKIP next line shouldn't run␤Warning  in block <unit> at EVAL_0:1␤␤not ok 2 - ␤␤# Failed test at /tmp/dvUvkt9Sn0 line 1␤»
12:49 [ptc] m: use Test; plan 1; skip "next line shouldn't run"; eval_dies_ok('warn');
12:49 camelia rakudo-moar 66de7b: OUTPUT«1..1␤ok 1 - # SKIP next line shouldn't run␤Warning  in block <unit> at EVAL_0:1␤␤not ok 2 - ␤␤# Failed test at /tmp/Ae45K2N776 line 1␤# Looks like you planned 1 tests, but ran 2␤# Looks like you failed 1 tests of 2␤»
12:50 |Tux| short explain: for all attributes that can be controlled through either new or accessors, the call should finish with a call to check the validity of each of the attributes in relation to one another
12:50 timotimo that's not how skip works
12:50 [ptc] timotimo: but that's how it's documented/specced
12:50 timotimo oh?
12:50 timotimo have a quick link for me?
12:50 [ptc] "skip the next count tests"
12:50 moritz then the documentation needs to be updated
12:50 [ptc] mom
12:50 timotimo yeah, it can't actually influence the following code
12:51 timotimo AFAIK you'd run skip instead of the test
12:51 [ptc] timotimo: perl6/specs/S24-testing.pod
12:52 molaf_ joined #perl6
12:52 timotimo The skip() function is called instead of the some tests (usually because they would die), and emits $count SKIP markers in the TAP output.
12:52 [ptc] yup
12:52 timotimo The todo() and skip() functions are generally automatically generated by some sort of source code fudging program.
12:52 [ptc] yeah, that wasn't that clear to me
12:52 timotimo OK
12:53 timotimo which part of the document led you to believe otherwise? because that part needs changed
12:53 [ptc] so how should one use skip?
12:53 [ptc] well, that was the bit which led me to believe that skip just skips the following $count tests
12:54 timotimo if $*VM<name> eq "moar" { is $foo, $bar } else { skip "not on Moar, sorry!" }
12:54 [ptc] I remember thinking when first reading it, "hey, there must be some cool magic going on here"
12:54 [ptc] timotimo: much better
12:54 [ptc] I'll update the docs, thanks for your help!
12:54 timotimo no, thank *you*!
12:55 [ptc] ach
12:58 ggoebel111111114 joined #perl6
12:58 Ven joined #perl6
12:59 grondilu joined #perl6
12:59 grondilu tadzik: u ther?
12:59 tadzik grondilu: yer
12:59 grondilu when I rebootstrap panda, it refetches and reinstalls NativeCall.  I guess I should remove it now that it is in core, shouldn't I?
13:00 moritz yes
13:00 lizmat shouldn't we wait until the next rakudo* release?
13:01 moritz lizmat: I plan to do a R* release ASAP after the rakudo compiler release
13:01 lizmat ++moritz
13:01 moritz lizmat: and it would be most awesome if stuff wouldn't depend on NativeCall anymore
13:01 lizmat agree
13:01 tadzik grondilu: oh, I didn't notice it's core :o
13:01 grondilu but there is no remove|uninstall command to panda, is there?
13:02 tadzik grondilu: it should be fired from the ecosystem then
13:02 tadzik grondilu: no, there's not
13:02 lizmat tadzik: firing now would break things for people not on blead
13:02 tadzik lizmat: oh, indeed
13:03 moritz the ideal procedure would be: 1) wait for the release
13:03 moritz 2) remove NativeCall.pm from the zavolaj repo
13:03 moritz 3) update all modules that depend on NativeCall to not do that anymore
13:03 moritz 4) throw out nativecall from META.info
13:04 lizmat moritz: could we inject a rakudo version dependency ?
13:04 moritz lizmat: I don't think that's supported. Or is it, tadzik?
13:05 tadzik moritz: unsupported, no :(
13:05 tadzik you could have a Build.pm that checks this before compiletime
13:05 [ptc] timotimo: so, todo() works much the same way, yes?
13:05 tadzik and do magic then
13:05 timotimo indeed
13:05 tadzik to some extend
13:05 [ptc] cool, ta
13:05 timotimo if you look at our spec test suite, you can see our "fudge and run" thingie
13:06 timotimo that reads "special" comments like #?todo 5 "still buggy"
13:06 timotimo and comments out lines, replacing them with todo calls instead
13:08 [ptc] ok, will have a look
13:08 [ptc] m: use Test; plan 1; if $*KERNEL ~~ 'win' { ok(True); } else { todo "not yet implemented"; }
13:08 camelia rakudo-moar 66de7b: OUTPUT«1..1␤# Looks like you planned 1 tests, but ran 0␤»
13:08 timotimo um ... huh?
13:08 [ptc] was a bit confused that no tests were counted in that code
13:08 timotimo m: say $*KERNEL
13:08 camelia rakudo-moar 66de7b: OUTPUT«linux (1.SMP.Wed.Dec.17.18.0.44.UTC.2014.762.f.27.a)␤»
13:08 timotimo m: say $*KERNEL.perl
13:08 camelia rakudo-moar 66de7b: OUTPUT«Kernel.new(release => "#1 SMP Wed Dec 17 18:00:44 UTC 2014 (762f27a)", name => "linux", auth => "unknown", version => Version.new('1.SMP.Wed.Dec.17.18.0.44.UTC.2014.762.f.27.a'), signature => Blob, desc => Str)␤»
13:09 [ptc] that shouldn't follow the happy path, however am surprised that the todo'd test isn't counted
13:09 timotimo oh, hah
13:10 timotimo ah, todo wants you to run atest after it
13:10 timotimo m: use Test; plan 1; if $*KERNEL ~~ 'win' { ok(True); } else { todo "not yet implemented"; nok(True) }
13:10 camelia rakudo-moar 66de7b: OUTPUT«1..1␤not ok 1 - # TODO not yet implemented␤␤# Failed test at /tmp/z5_FCX4ki5 line 1␤»
13:10 moritz yes, that's the difference between TODO and SKIP
13:10 timotimo m: use Test; plan 1; if $*KERNEL ~~ 'win' { ok(True, "calling some WinAPI function works"); } else { todo "not yet implemented"; nok(True, "calling some WinAPI function works") }
13:10 camelia rakudo-moar 66de7b: OUTPUT«1..1␤not ok 1 - calling some WinAPI function works# TODO not yet implemented␤␤# Failed test 'calling some WinAPI function works'␤# at /tmp/OMTT5OXKre line 1␤»
13:10 timotimo sorry, i explained it wrong before
13:11 timotimo good thing you looked extra closely
13:11 [ptc] so the todo should barf, whereas the skip doesn't?
13:12 timotimo barf?
13:12 [ptc] fail
13:13 |Tux| FROGGS, is it hard to have Slang::Tuxic also accept «$object."$method" (foo => 1);» ?
13:13 moritz [ptc]: the todo() makes the next test not fail
13:13 timotimo er
13:14 [ptc] timotimo: http://www.urbandictionary.com/define.php?term=barf
13:14 timotimo i'd express it "the todo() makes the failure of the next test be interpreted as inverted"
13:14 moritz not inverted
13:14 masak "it will end up being a hotch potch of different styles on a block-by-block basis enabled through the use of lexical pragmas" -- http://www.perlmonks.org/?node_id=1116989
13:14 moritz a todo'ed pass isn't a fail
13:14 FROGGS [Tux]: no, I guess that should be easily doable
13:14 timotimo m: use Test; todo "this test is known to not succeed yet"; ok True, "oops!";
13:14 camelia rakudo-moar 66de7b: OUTPUT«ok 1 - oops!# TODO this test is known to not succeed yet␤»
13:14 timotimo oh, it's not
13:14 timotimo that must be something our spec test runner does, in that case
13:15 masak I doubt that will happen. (the BrowserUk quote). people are more sensible than that.
13:15 masak |Tux|++'s slang is an extreme point, no the default.
13:15 masak we can still have tools that convert styles.
13:16 [ptc] so the above example from timotimo++ should have been this:
13:16 [ptc] m: use Test; plan 1; if $*KERNEL ~~ 'win' { ok(True, "calling some WinAPI function works"); } else { todo "not yet implemented"; ok(True, "calling some WinAPI function works") }
13:16 camelia rakudo-moar 66de7b: OUTPUT«1..1␤ok 1 - calling some WinAPI function works# TODO not yet implemented␤»
13:16 moritz normally, a todo() comes before a *failing* test
13:17 [ptc] however, the test is still run, whereas a skip isn't
13:17 [ptc] ?
13:17 moritz m: sub my-custom-pi { 3 }; plan 1; todo 'not yet precise enough'; is my-custom-pi(), pi, 'my-custom-pi';
13:17 camelia rakudo-moar 66de7b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/v06ZVlFQ6Aâ�¤Undeclared routines:â�¤    is used at line 1â�¤    plan used at line 1â�¤    todo used at line 1â�¤â�¤Â»
13:17 moritz m: sub my-custom-pi { 3 }; use Test; plan 1; todo 'not yet precise enough'; is my-custom-pi(), pi, 'my-custom-pi';
13:17 camelia rakudo-moar 66de7b: OUTPUT«1..1␤not ok 1 - my-custom-pi# TODO not yet precise enough␤␤# Failed test 'my-custom-pi'␤# at /tmp/Gzx0eaXVwc line 1␤# expected: '3.14159265358979'␤#      got: '3'␤»
13:18 moritz [ptc]: if you use skip(), you have to ensure yourself that the tests aren't run
13:18 [ptc] moritz: was just trying to get the distinction clear in my head...
13:19 moritz if $*KERNEL.is-win { run_5_windows_only_tests() } else { skip 'windows-only tests', 5 }
13:19 [ptc] moritz: but in the custom-pi code, it still fails...
13:19 [ptc] or do I interpret that incorrectly?
13:19 moritz [ptc]: the test harness doesn't report it as a failure
13:19 moritz [ptc]: because it specia-cases the # TODO $reason  comment at the end
13:19 [ptc] moritz: ah, that's the piece of info that I'm missing
13:20 [ptc] in other words, prove works
13:24 pecastro joined #perl6
13:30 psch /o\
13:30 psch something is wrong with array marshalling as i'm implementing it
13:30 psch jvm SIGSEGVs are a strong indicator
13:30 timotimo eep
13:31 psch but the AbstractMethodError that i get when it doesn't SIGSEGV also points to "something is wrong"
13:31 psch same for the NPE
13:31 psch that's all with the same changes
13:32 psch the core problem with all of this is differentiating between NQP listy types and other-HLL listy types
13:33 psch the former have to be handled in BootJavaInterop, so we always have rudimentary support
13:33 psch and that works fine for one-dimensional lists
13:34 psch but multi-dim means that i have to either 1) generate something that iterates over all dimensions (which... ugh) or 2) i write bytecode to call through to a java-implementation that iterates through all dimensions
13:35 psch the latter is what i've been trying, and running into troubles with testing it on NQP level, while testing the BootJavaInterop in Perl 6 means having to deal with gcx.List and/or gcx.Array as listy types, which NQP doesn't know about
13:36 psch so i tried overriding marshalOut in RakudoJavaInterop to write bytecode that calls a different iterate-through-array implementation and that's where i'm getting these fun failures
13:37 psch but i just realised that that might be because i'm calling emitGetFromNQP twice for cases where i call through to the BootJavaInterop marshalOut
13:46 Ven joined #perl6
13:46 Ven joined #perl6
13:47 |Tux| If «my $foo = 1; $fop.say;» warns with «Variable '$fop' is not declared. Did you mean '$foo'?», could
13:48 Ven joined #perl6
13:48 timotimo could what?
13:48 |Tux| «my $foo = "abc"; $foo ~~ s{ a(.)c} = $1; $foo.say;» warn with something like «You used $1 in Regex, but you caught only 1. Did you mean $0?»
13:48 |Tux| timotimo, I didn't type that fast
13:53 timotimo OK
13:54 timotimo that's a good question
13:54 timotimo doesn't seem trivial
13:55 moritz it shouldn't be hard
13:55 moritz $1 is just a shortcut for $/[0]
13:55 ShimmerFairy I don't think the "did you mean" part is very feasible, but the rest of it could be (e.g. You use $9 in Regex, but only have 5 positional captures)
13:55 moritz so by overriding Match.at_pos we could get such a warning
13:56 timotimo oh, you mean a run-time warning
13:56 moritz yes
13:57 moritz compile-time... do we know the max capture number at compile time?
13:58 timotimo we could somehow record it
13:58 jnthn We assign the indices at compile time
13:58 timotimo not sure if it's gettable easily from what we have right now
13:58 jnthn I think it's stored then in a CAPS property on the Regex object.
13:58 jnthn m: Regex.^methods.map(*.name).say
13:58 camelia rakudo-moar 66de7b: OUTPUT«<anon> <anon> <anon> <anon> <anon> <anon> ACCEPTS Bool gist <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> of returns onlystar assuming candidates cando multi soft wrap unwrap yada package WHY set_w…»
13:58 jnthn Hm :)
13:59 psch !shared owns CAPS iirc
13:59 jnthn m: /a(b)c/.CAPS
13:59 moritz m: Regex.^methods.map(*.name).grep(none('<anon>')).say
13:59 camelia rakudo-moar 66de7b: OUTPUT«ACCEPTS Bool gist of returns onlystar assuming candidates cando multi soft wrap unwrap yada package WHY set_why perl add_phaser fire_phasers phasers perl arity count signature outer static_id of returns ACCEPTS Str␤»
13:59 camelia rakudo-moar 66de7b: ( no output )
13:59 jnthn m: /a(b)c/.CAPS.perl.say
13:59 camelia rakudo-moar 66de7b: OUTPUT«("" => 1e0, "0" => 1e0).hash␤»
13:59 moritz it uses floats as values?
14:00 jnthn NQP... :)
14:01 * jnthn sees room for improvement
14:01 Ven .oO( <anon> <anon> <anon> <anon> BATMAN )
14:01 |Tux| improvement++
14:01 jnthn Anyway, the keys of that CAPS hash on the Regex tell you what captures are available.
14:01 xfix joined #perl6
14:02 jnthn m: /a(b)(c)/.CAPS.keys.map(+*).max
14:02 camelia rakudo-moar 66de7b: ( no output )
14:02 jnthn m: /a(b)(c)/.CAPS.keys.map(+*).max.say
14:02 camelia rakudo-moar 66de7b: OUTPUT«1␤»
14:02 jnthn m: /a(b)(c)(d)/.CAPS.keys.map(+*).max.say
14:02 camelia rakudo-moar 66de7b: OUTPUT«2␤»
14:02 jnthn Realizing the current $/ corresponds to the results of that regex is much harer, of course :)
14:02 jnthn *arder
14:02 jnthn bah, *
14:04 psch http://irclog.perlgeek.de/perl6/2015-01-26#i_10004857 # lies somewhere in that area as well i think
14:04 psch there's a gist that fixes the irclog one, but as i said, it's probably not the right spot to fix
14:04 * psch should probably rakudobug that
14:10 colomon joined #perl6
14:11 Kristien joined #perl6
14:14 lizmat m: say $*DISTRO.is-win   # for [ptc]
14:14 camelia rakudo-moar 66de7b: OUTPUT«False␤»
14:14 * masak would like a perl6 flag to quickly `use strict;` on the command line instead of having to write it out longhand
14:14 masak either that, or have it on by default :)
14:14 timotimo like -E instead of -e? :P
14:15 masak that would work. not sure it'd be my preferred spelling, though.
14:15 dalek rakudo/nom: 12c7e5c | lizmat++ | src/core/CompUnitRepo/Local/Installation.pm:
14:15 dalek rakudo/nom: Only need to check for is-win once
14:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/12c7e5cae4
14:15 dalek rakudo/nom: 9a54f1b | lizmat++ | src/core/Inc.pm:
14:15 dalek rakudo/nom: Shave off a little bit of startup time
14:15 dalek rakudo/nom:
14:15 dalek rakudo/nom: By not initializing $*DISTRO if we don't need it
14:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9a54f1b269
14:16 masak I'd also like some way to conveniently list-assign my numbered captures to variables. something like `my ($foo, $bar, $baz) = $string ~~ /(..)(..)(..);/`
14:16 masak except that doing it exactly in that way obviously won't work.
14:17 masak and it'd be a shame to have to parenthesize the whole expression just to put .list or .[] on it :/
14:17 masak (haven't tried this)
14:17 timotimo try indirect method call syntax
14:18 timotimo (and enjoy having a :; at the end)
14:19 raiph joined #perl6
14:19 xfix joined #perl6
14:20 colomon joined #perl6
14:21 masak could you show how you mean?
14:22 dalek doc: 2dbf8d9 | paultcochrane++ | t/pod-convenience.t:
14:22 dalek doc: Test Pod::Convenience::pod-title
14:22 dalek doc: review: https://github.com/perl6/doc/commit/2dbf8d9c3c
14:22 dalek doc: e31824c | paultcochrane++ | t/pod-convenience.t:
14:22 dalek doc: Test Pod::Convenience::pod-block
14:22 dalek doc: review: https://github.com/perl6/doc/commit/e31824cc7b
14:22 dalek doc: 36d1915 | paultcochrane++ | t/pod-convenience.t:
14:22 masak it sounds viable, but I don't see exactly how.
14:22 dalek joined #perl6
14:23 timotimo my ($foo, $bar, $baz) = list $string ~~ /(..)(..)(..);/:;
14:23 timotimo not sure it'll actually work
14:24 timotimo m: my $string = "abcdef;"; my ($foo, $bar, $baz) = list $string ~~ /(..)(..)(..);/:;
14:24 camelia rakudo-moar 66de7b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/caWm7DzzkHâ�¤Unrecognized regex metacharacter ; (must be quoted to match literally)â�¤at /tmp/caWm7DzzkH:1â�¤------> [32mr, $baz) = list $string ~~ /(..)(..)(..)[33mâ��[31m;/:;[0mâ�¤    expectin…»
14:24 timotimo m: my $string = "abcdef"; my ($foo, $bar, $baz) = list $string ~~ /(..)(..)(..)/:;
14:24 camelia rakudo-moar 66de7b: ( no output )
14:24 timotimo m: my $string = "abcdef"; my ($foo, $bar, $baz) = list $string ~~ /(..)(..)(..)/:; say $foo; say $baz;
14:24 camelia rakudo-moar 66de7b: OUTPUT«「ab」␤「ef」␤»
14:24 timotimo cute.
14:24 masak timotimo++
14:25 pdcawley joined #perl6
14:25 masak yeah, I don't mind that colon at all.
14:25 masak it's worth it :>
14:25 masak also, TIL that you could put the colon *there*! o.O
14:25 * masak .oO( when Larry gets the colon, expect crazy shit ) :P
14:26 timotimo :)
14:26 PerlJam Greetings!
14:29 psch o/ PerlJam
14:30 masak \o PerlJam
14:31 lizmat PerlJam o/
14:33 lizmat hmm..  looks like my last patch shaves about 10% off of startup time for perl6 -e 1 (from .230 -> .205)
14:33 tadzik \o/
14:34 timotimo oooooh
14:36 dalek rakudo/newio: c81abe2 | FROGGS++ | lib/NativeCall.pm:
14:36 dalek rakudo/newio: fix lib loading for NativeCall on JVM on OSX
14:36 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/c81abe2fa9
14:36 dalek rakudo/newio: 9add92b | lizmat++ | docs/ChangeLog:
14:36 dalek rakudo/newio: Add Str.subst being 12x as fast
14:36 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/9add92b8d7
14:36 dalek rakudo/newio: 9f7187a | lizmat++ | docs/release_guide.pod:
14:36 dalek rakudo/newio: Propose "Parrotopia" as name for release #85
14:36 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/9f7187a9d9
14:37 dalek rakudo/newio: 66de7b2 | lizmat++ | src/core/Str.pm:
14:37 dalek rakudo/newio: Make Str.trans(Str,'x') 10 - 30% faster still
14:37 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/66de7b25ad
14:37 dalek rakudo/newio: 12c7e5c | lizmat++ | src/core/CompUnitRepo/Local/Installation.pm:
14:37 dalek rakudo/newio: Only need to check for is-win once
14:37 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/12c7e5cae4
14:37 dalek rakudo/newio: 9a54f1b | lizmat++ | src/core/Inc.pm:
14:37 dalek rakudo/newio: Shave off a little bit of startup time
14:37 dalek rakudo/newio:
14:37 dalek rakudo/newio: By not initializing $*DISTRO if we don't need it
14:37 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/9a54f1b269
14:37 dalek rakudo/newio: 9a2ba03 | lizmat++ | / (6 files):
14:37 dalek rakudo/newio: Merge branch 'nom' into newio
14:37 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/9a2ba0343d
14:37 timotimo rip dalekh
14:37 timotimo ... or not! <3
14:37 lizmat guess not
14:38 [Coke] congrats to TimToady++
14:38 Ven congrats! :)
14:39 timotimo yeah, congrats to timtoady and the band! :)
14:42 nine_ +1 for easily accessible use strict for command line one liners. Typing the occational my beats figuring out where the typo is.
14:45 PerlJam Using -E will be familiar to P5ers if nothing else.  :)
14:47 lizmat afk for a bit&
15:04 skids joined #perl6
15:07 Ugator joined #perl6
15:17 _mg_ joined #perl6
15:20 Kristien joined #perl6
15:20 Ven joined #perl6
15:28 jakesyl joined #perl6
15:29 timotimo .tell japhb can we somehow get a test into perl6-bench that's very different from the other tests? i'm thinking of "maxrss used for starting up a repl and immediately killing it" and "maxrss used for 'say(1)'"
15:29 yoleaux timotimo: I'll pass your message to japhb.
15:37 Mouq joined #perl6
15:39 b2gills PerlJam: the problem with using -E is that on Perl5 it enables all of the new "features" like `say` ( It's as if you said `perl -Mfeature=:all -e '...'` )
15:40 PerlJam how is that a problem exactly?   Perl 6 already enables all of those features :)
15:41 masak I'm not too sold on using -E in Perl 6 for something so different from -e in Perl 5.
15:42 masak also, -E in Perl 5 was kind of a "lesser evil". in Perl 6 it's still not too late to simply make strict the default, even on the command line.
15:44 PerlJam this is true.   I already write one-liners as if strict were enabled because of the cultural bias towards stricture.
15:45 masak yes. I can totally see where the idea of "...oh, but on the command line your don't care so much about stricture, and it's more like it's in the way".
15:45 masak it's just, in actual practice I don't find that to be true at all. at least not for me personally.
15:45 masak I'm more annoyed by the absence of those strictures than I would even by by their presence.
15:47 timotimo PerlJam: in your introduction to regexes, you have confused ** and % at the very end (<ident>**',' should be <ident>* % ',')
15:47 masak Perl 6 is known for incorporating hard-won experiences from authors into the language itself. I believe this is one of those times where we could do that.
15:47 * masak places himself firmly in the "strictures for -e" camp
15:48 timotimo how about -ə for strict mode?
15:48 FROGGS :D
15:48 masak hehe.
15:48 masak how about -∄ for non-strict?
15:49 timotimo PerlJam: and if you're already editing in that vicinity, why not mention that you can use <{ ... }> for code that influences match pass/fail :)
15:50 PerlJam timotimo: or ... I could give you a commit bit :)
15:50 PerlJam timotimo: barring that, I have no problems with pull requests :)
15:50 timotimo oh snap! :)
15:50 timotimo gotta go! :P
15:50 Ven joined #perl6
15:50 FROGGS hehe
15:51 timotimo i think i'll pour a tiny bit of time into the moarvm changelog for the upcoming release
15:51 timotimo interesting. the changelog for 2015.01 had * instead of + for the items
15:51 timotimo maybe that's because of 2015?
15:51 timotimo should i keep that for 2015.02?
15:53 gfldex joined #perl6
15:53 geekosaur pick a new one every month? :P
15:54 dalek specs/newio: 081e2aa | TimToady++ | S32-setting-library/Numeric.pod:
15:54 dalek specs/newio: document .base and .base-repeatig changes
15:54 dalek specs/newio: review: https://github.com/perl6/specs/commit/081e2aa76e
15:54 dalek specs/newio: ad449e5 | paultcochrane++ | S32-setting-library/IO.pod:
15:54 dalek specs/newio: Format code-like string with C< >
15:54 dalek specs/newio: review: https://github.com/perl6/specs/commit/ad449e5352
15:54 dalek specs/newio: 55b6345 | paultcochrane++ | S (5 files):
15:54 dalek specs/newio: Merge branch 'master' of github.com:perl6/specs
15:54 dalek specs/newio: review: https://github.com/perl6/specs/commit/55b63455f0
15:54 dalek specs/newio: 5a4a8f7 | TimToady++ | S32-setting-library/Numeric.pod:
15:54 dalek specs/newio: document polymod
15:54 dalek specs/newio: review: https://github.com/perl6/specs/commit/5a4a8f7ecb
15:54 dalek specs/newio: dbee059 | (L. Grondin)++ | S99-glossary.pod:
15:54 dalek specs/newio: adding GIL
15:54 dalek specs/newio: review: https://github.com/perl6/specs/commit/dbee059164
15:54 dalek specs/newio: 8a79001 | lizmat++ | S (2 files):
15:54 dalek specs/newio: Merge branch 'master' into newio
15:54 dalek specs/newio: review: https://github.com/perl6/specs/commit/8a790012cd
15:59 yeahnoob joined #perl6
16:27 mr-foobar joined #perl6
16:35 perl6_newbee joined #perl6
16:35 perl6_newbee hi all
16:35 dalek perl6-roast-data: ba4c249 | coke++ | / (5 files):
16:35 dalek perl6-roast-data: today (automated commit)
16:35 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/ba4c2492de
16:36 perl6_newbee tadzik, you'r on?
16:37 tengignick joined #perl6
16:37 [Coke] The only thing I did intentionally different in 2015.01 was use unicode in the release announcement.
16:38 [Coke] Feel free to bugfix my li choice.
16:39 [particle]1 joined #perl6
16:39 lizmat afk for a few hours&
16:40 [Coke] lizmat++ all those speedups
16:41 [Coke] we need a march compiler release. Anyone in? If you can't take march, but can take april, I can switch with you.
16:44 FROGGS I can do the march release
16:51 [Coke] FROGGS++
16:51 |Tux| (allofyou)++
16:54 hahainternet o thx |Tux|
16:54 timotimo yay
16:57 davido__ joined #perl6
17:06 psch hrm, i don't get it.  Ops.typeName gives me Array but p6listitems of that Array doesn't support positional access :/
17:08 timotimo is it inside a scalar container that you have to decont first?
17:08 timotimo do you have to get at its $!storage OSLT?
17:09 psch OSLT?
17:09 psch p6listitems gives me a BOOTArray
17:09 timotimo "or something like that"
17:10 psch it's $!items for List and Array is List, but that's wrapped in p6listitems afaiu
17:10 psch unless that's for decont, which i do once for the incoming SMO
17:13 psch https://gist.github.com/peschwa/ed6bc57c8cf9d41650b9 # timotimo
17:13 hobbs https://github.com/perl6/evalbot/pull/6 -- IRC color patch from last night
17:13 psch i'll try decont'ing the BOOTArray now
17:13 hobbs the guts of it are in a module that I just released; no docs yet but I do intend to maintain it :)
17:15 psch i have a suspicion that my half-understandingly bumbling around will make code that should be implemented more sensibly anyway
17:15 psch but having it kinda-sorta work beats not-working, and i do hope do understand what i'm doing
17:18 kjs_ joined #perl6
17:22 psch i don't understand Array.at_pos though, and that's probably why i'm stuck
17:23 psch 'cause i have to either call it or emulate it
17:23 timotimo hobbs: i'm thankful for the irc colors patch
17:23 timotimo hobbs: ever since i switched from irssi to weechat, camelia has been looking strange
17:24 Kristien joined #perl6
17:25 Kristien On a scale from C to Lua, how dynamic is the Perl 6 object model? Can you do stuff like intercepting method calls?
17:25 flussence 11
17:26 grondilu you mean 42, right?
17:26 Kristien 42 doesn't lie between C and Lua. :(
17:26 timotimo yeah you can intercept method calls; look at how grammar::tracer works :)
17:26 grondilu to be fair, one could give a percentage, 0% being C and 100% being Lua
17:27 nine_ Kristien: what makes you think that Lua is the end of the scale?
17:27 timotimo what makes you think that 100% is the end of the scale?
17:27 Kristien nine_: it's the scale I specified!
17:27 moritz Kristien: it's pretty flexible, if you're willing to go meta
17:27 Kristien nice
17:27 Kristien I wanna do some AOP stuff.
17:27 nine_ Kristien: then you shouldn't be surprised that not everything fits in your scale ;)
17:27 timotimo Android Opensource Project?
17:27 Kristien maybe can be done through roles though
17:27 timotimo no, wait, that's AOSP
17:28 Kristien aspect-oriented programming which is a fancy word for hooks.
17:28 timotimo ah, Aspect Oriented
17:28 timotimo yeah
17:28 moritz Kristien: iirc jnthn++ once gave an exmple of AOP through the meta object system in one of his talks
17:28 dalek doc: a077742 | moritz++ | lib/Language/functions.pod:
17:28 dalek doc: Start to document custom operators
17:28 dalek doc: review: https://github.com/perl6/doc/commit/a077742624
17:29 hobbs timotimo: who do I bug to merge it? :)
17:29 moritz hobbs: merge what?
17:29 hobbs moritz: evalbot pull request
17:29 timotimo do we need to install a module system-wide for it to work?
17:29 Kristien the bug. he's fixing a bug request.
17:29 moritz hobbs: I meant to do that :-)
17:30 hobbs timotimo: needs to be installed somewhere, at leat :)
17:31 dalek doc: 3d85453 | moritz++ | lib/Language/operators.pod:
17:31 dalek doc: [operators] Remove some outdated notes
17:31 dalek doc:
17:31 dalek doc: also add links to the function docs on defining new operators
17:31 dalek doc: review: https://github.com/perl6/doc/commit/3d8545358f
17:32 timotimo i wonder if "lift" is going to make it into 6.0.0
17:33 moritz it's ironic that IRC::FromANSI::Tiny, despite its name, has 4 additional dependencies :-)
17:33 dalek evalbot: cee617d | (Andrew Rodland)++ | evalbot.pl:
17:33 dalek evalbot: Convert ANSI colors to IRC (mIRC) colors
17:33 dalek evalbot:
17:33 dalek evalbot: This makes things more readable for folks with non-console clients,
17:33 dalek evalbot: as well as the IRClog (which strips IRC colors, but leaves the ANSI
17:33 dalek evalbot: codes in place as garbage).
17:33 dalek evalbot: review: https://github.com/perl6/evalbot/commit/cee617dfce
17:33 dalek evalbot: 057fccc | moritz++ | evalbot.pl:
17:33 dalek evalbot: Merge pull request #6 from arodland/master
17:33 dalek evalbot:
17:33 dalek evalbot: Convert ANSI colors to IRC (mIRC) colors
17:33 dalek evalbot: review: https://github.com/perl6/evalbot/commit/057fccc6b7
17:34 colomon m: this is a test
17:34 camelia joined #perl6
17:34 moritz colomon: I just restarted camelia :-)
17:34 colomon :)
17:34 timotimo moritz: that's what allows it to be so tiny!
17:34 colomon I’m wondering if the IRC colors will work better in my client
17:35 colomon the ANSI ones never have
17:35 moritz we'll see
17:35 moritz m: 1 1
17:35 camelia rakudo-moar 66de7b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/w7DztlCQQc␤Two terms in a row␤at /tmp/w7DztlCQQc:1␤------> 1 7⏏1␤    expecting any of:␤        infix stopper␤        infix or meta-infix␤        statement end␤        statement modifie…»
17:35 colomon yes!
17:35 timotimo happy!
17:36 timotimo thank you, hobbs
17:36 colomon hobbs++
17:36 moritz http://irclog.perlgeek.de/perl6/2015-02-18#i_10137129 the logs insert some 5s in there
17:36 hobbs welcome :)
17:36 FROGGS hobbs++
17:36 hobbs (looks good for me too)
17:36 kjs_ joined #perl6
17:37 timotimo dude
17:37 moritz sweet
17:37 hobbs moritz: funny, I thought it was stripping properly yesterday
17:37 hobbs it's still less noisy than what it did with ANSI
17:37 timotimo yes, very
17:37 timotimo (and a 7 and a 1)
17:39 FROGGS well, 8 bit color codes...
17:39 hobbs as for the name, I just copied rwstauner's convention :)
17:40 FROGGS probably 1 is reset or something
17:40 FROGGS or perhaps I am mistaken
17:41 hobbs the 1 is actually a 1
17:43 timotimo oh, haha
17:43 timotimo of course
17:47 rurban joined #perl6
17:52 virtualsue joined #perl6
17:54 diana_olhovik joined #perl6
17:56 tadzik perl6_newbee: not really
18:00 hoelzro _sri_: [Coke] and I have been working on a Perl 6 port of mojolicious a bit, and I was thinking about it a bit last night.  Are there any aspects of Mojolicious that you feel would change a lot in such a port?
18:00 hoelzro (ex. using native lists/arrays instead of a Mojo::Collection, because they support methods now)
18:03 tgt joined #perl6
18:06 amaliapomian joined #perl6
18:06 Ven joined #perl6
18:08 _sri_ hoelzro: i would change a lot i suppose
18:09 _sri_ some things like Mojo::DOM should remain pretty much unchanged, but you'd want to pick up perl6 best practices for the reactive bits, like using promises and supplies
18:10 _sri_ and i suspect high performance web servers in perl6 will look very different from perl5
18:10 _sri_ when you have proper threads you can do a lot of things very different
18:11 pmurias joined #perl6
18:12 _sri_ of course, you should be able to start with the current architecture, and then experiment
18:12 _sri_ collection and bytestream would definitely go
18:13 _sri_ but that's a very minor part
18:13 pmurias_ joined #perl6
18:14 pmurias hi
18:14 yoleaux 17 Feb 2015 13:44Z <nwc10> pmurias: good UGT, pmurias
18:14 _sri_ the core question is what a high performance web server looks like in perl6, what paradigms would be used?
18:14 Ven o/, #perl6
18:15 timotimo ohai pmurias
18:15 nine_ Would it make sense to drop the Mojo:: prefix from a lot of the modules? Mojo is kind of an alternate CPAN ecosystem. In Perl 6, there's not much of an ecosystem to alternate, so why not adopt the Mojo stuff as default?
18:15 _sri_ i would appreciate it if you left the Mojo:: prefix for the official port
18:16 espadrine joined #perl6
18:17 nine_ _sri_: makes absolute sense from a Mojo perspective but none at all from a Perl 6 perspective. We're struggeling to get one ecosystem off the ground, let alone two.
18:17 timotimo :auth<mojo> :P
18:18 _sri_ nine_: sure, competing eco systems is the problem you want to have :)
18:18 _sri_ as long as there's no official namespace registry i suppose it doesn't matter anyway
18:19 * flussence wonders how badly things would break if there were two modules in the ecosystem list differing only in :auth
18:19 nine_ I've never used it, but if Mojo is as well designed and integrated as people tell me, it very well deserves a promotion to default ecosystem
18:19 hoelzro nine_, _sri_: I started a module called Mojolicish, which aims to be mostly understandable if you know P5 Mojolicious, and is a pain to type
18:19 _sri_ hoelzro: i like that :)
18:20 hoelzro I started by working on porting lite_app.t to Perl 6
18:20 _mg_ joined #perl6
18:20 hoelzro and filling in features as needed
18:20 hoelzro maybe I should publish that repo
18:20 _sri_ architecture wise, i'm only really worried about the lower level bits
18:20 FROGGS joined #perl6
18:21 _sri_ from Mojo::Message::* and downwards
18:21 hoelzro _sri_: I'm no big Mojo user, but the things that struck me were Mojo::Collection and all the event loop stuff
18:21 hoelzro also, I created dash-y aliases for underscore methods (ex. user-agent and user_agent)
18:21 _sri_ managing 10k concurrent websocket connections will certainly look very different in perl6
18:21 _sri_ hoelzro: yea, the event loop stuff is what will change most
18:22 hoelzro maybe I should just treat Mojolicish as a spike, and ignore websockets and eventy stuff for now
18:22 hoelzro I think it will eventually get cannibalized and moved into [Coke]'s mojo repo eventually
18:24 * _sri_ wonders how much memory threads in perl6 use these days
18:25 _sri_ one thread per websocket would be a game changer
18:27 _sri_ that's more like how play framework works
18:27 perl6_newbee tadzik: ^^
18:28 flussence just spawned 16 threads in repl, mem usage went from 26 to 97MB.
18:28 flussence dunno if that's a meaningful benchmark or not
18:28 _sri_ connections get accepted in an event loop (netty i believe) and dispatched into an actor framework
18:28 _sri_ (may be akka now)
18:28 nine_ flussence: probably not
18:28 _sri_ flussence: ouch
18:30 flussence I did «start { .get } for ^100» and counted the RES number in top
18:30 virtualsue joined #perl6
18:30 flussence well, ^16 there
18:30 telex joined #perl6
18:30 spider-mario joined #perl6
18:31 Mouq flussence: Just entering "1" in the REPL makes my usage jump though
18:31 flussence oh, ok, forgot the repl is lazy-loaded... it *starts* from 90MB
18:31 Mouq Yeah :P
18:31 _sri_ anyway, i guess i'm not really helping with this ;p
18:31 flussence trying to spawn 1000 threads is capped at 16 active, but "only" uses 240MB of total RAM there
18:32 _sri_ porting mojolicious as is wouldn't be the worst idea at least for experimenting
18:32 _sri_ minimalistic event loop is always a safe bet
18:32 Kristien joined #perl6
18:33 Kristien hola
18:33 timotimo hola kristien
18:33 flussence if I tweak $*SCHEDULER there, I can indeed spawn a thousand threads without my desktop exploding...
18:33 flussence they're using about 2MB each, mind you...
18:33 perl6_newbee bye all
18:33 timotimo bye mister newbie
18:34 timotimo hm
18:34 perl6_newbee :-)
18:34 timotimo newbie person*
18:34 Mouq flussence: "perl6 -e'get; start { .get } for ^100; get;'" might be give a accurate picture
18:34 _sri_ flussence: for comparison, the akka docs say "Small memory footprint; ~2.5 million actors per GB of heap."
18:35 timotimo FWIW, each thread gets its own nursery, which is 4mb big IIRC
18:36 timotimo and since we're semispace, that'd probably be 8mb during GC
18:36 grettir joined #perl6
18:37 flussence it also said 11.7GB of virtual memory, I guess it's allocating all that but not using it
18:37 _sri_ there is no 1:1 mapping of actors to threads though, so what i said was rather meaningless... sorry
18:38 flussence wouldn't those be closer to green threads?
18:38 larion joined #perl6
18:38 _sri_ i vaguely remember a 4kb per thread cost
18:39 _sri_ yea, green threads distributed across real threads
18:39 hobbs aka M:N threads
18:41 b2gills joined #perl6
18:42 _sri_ 8mb per thread is an interesting number though
18:42 Rounin joined #perl6
18:43 _sri_ i would definitely start with a plain old event loop :)
18:48 _sri_ hoelzro: you'll also notice that a lot of the objects in mojolicious are observables
18:48 _sri_ i'm not sure how that would change with new perl6 paradigms
18:48 hoelzro _sri_: hmm, I hadn't considered that
18:49 _sri_ you prolly would want to use supplies in some way, how i'm not sure yet
18:49 hoelzro hmm
18:50 hoelzro I think for now I'm going to go with a more or less straight port over
18:50 _sri_ sure
18:50 hoelzro P5 smells can be cleaned up as we discover them
18:50 hobbs https://i.imgur.com/Zvet0h.jpg
18:50 _sri_ :)
18:51 FROGGS hobbs++ # uhf
18:52 _sri_ although i have a hunch that it can be solved mostly with delegation... each event becomes a property of the object containing a supply object
18:53 _sri_ $c.res.finish.tap(...);
18:53 hoelzro hmm
18:53 hoelzro that does seem very nice
18:53 average joined #perl6
18:53 hoelzro maybe that should be one p6-ism I incorporate
18:54 average I have some concerns that Perl6 might want to compete with J
18:54 average I can understand that Perl6 builds upon the culture that Perl5 has created
18:55 kjs_ joined #perl6
18:55 average but J is not exactly an ideal imho
18:55 grondilu Perl 6 is quite different from J, but truly J is quite different from everything else
18:55 average if anyone here read/wrote J code(I've only read code in it, and never wrote any) they probably know what I'm talking about
18:56 average grondilu: actually I would say J is probably the ideal that every oneliner-writer would aspire to
18:56 grondilu not sure
18:56 pmurias average: why are you concerned that we plan to out-J J?
18:57 grondilu it's true that J is awesome to write short code, but Perl 6 does not have that objective.
18:57 average grondilu: and Perl6 seems to carry the same goal that Perl5 has in relation to compactness of some pieces of code(or brevity if you will)
18:57 grondilu yes, but not to the extend J does.
18:57 _sri_ who knows, maybe someone will make goroutines the preferred perl6 concurrency model :)
18:58 average pmurias: because that is my impression, by reading articles about Perl6 and pdfs that I have readily available through the use of Google
18:58 _sri_ (talking about m:n threads)
18:58 grondilu for one, P6 does not have a global stack with one-letter operators on them.
18:58 flussence .oO( Slang::APL )
18:58 * grondilu hopes he remembers how J works right.
18:59 grondilu s/operators on them/operators on it/
18:59 Kristien an APL slang would be great
18:59 Kristien APL is a wonderful programming language.
18:59 grondilu J is APL's child
19:00 grondilu so what you want is a J SLang
19:00 average I don't advocate APL as a role-model for programming languages to aspire to
19:00 Kristien no
19:00 Kristien APL > J
19:00 psch timotimo: i figured it out... turns out i was calling atpos with the incoming SixModelObject, and not the result of p6listitems(decont(in))...
19:01 grondilu well OK, I don't know APL enough to argue.  IIRC APL uses special characters though, for instance.  I'm not even sure there are in unicode.
19:01 geekosaur they are, actually
19:02 b2gills don't try to find the factorial of 100,000 `(2..100000).reduce: &[*]` or you may have to restart your computer
19:02 average anyway, I just wanted to share this concern with you. also, I'll offer a more blunt perspective: Nobody's dick is going to get super-hard(or vaginas super-wet) if you write short code (even in Perl6 presentations).
19:02 average sorry for the language, but that had to be said
19:02 geekosaur (operators at least. don't bother looking for the traditional way to escape quote-quad)
19:03 grondilu average: I sincerely thinks you worry too much.  Perl 6 is good for golfing, but not to the extend it makes the language as obscure as J
19:04 grondilu average: do you have examples of P6 code you think goes too far in the "short code" approach?
19:04 average grondilu: there are plenty, but I'd rather not dig them up
19:05 timotimo psch: ooooh
19:05 flussence > ([*] 2..100000).log(10)␤Inf
19:05 grondilu it's a very subjective assessment, anyway.
19:05 flussence .oO( no wonder it wouldn't print it... )
19:05 average grondilu: that may be the case
19:06 grondilu here is an example that I could describe as "J-like":  http://rosettacode.org/wiki/Averages/Pythagorean_means#Perl_6
19:06 grondilu I did write this one but I usually don't write P6 code like that.  I just wanted to do it here for fun.  Thought it was appropriate
19:06 b2gills joined #perl6
19:07 psch timotimo: https://gist.github.com/peschwa/ed6bc57c8cf9d41650b9 # edited out debug output
19:07 average grondilu: ah, ok. yes, that is the sort of thing I was refering to. I don't mind it btw, I think it's great. I just don't see it as a selling point for a programming language.
19:07 Mouq average: There's a focus in Perl 6 on appropriate Huffmanizing. So common things get short, and less common things get long; not "common things get short, and less common things also get short"
19:07 grondilu basically lots of metaoperators.  I have the feeling those are what you fear and find "J-esque"
19:07 psch although i still need an nqp-level test i think, which will probably have to compile some java (as will the rakudo tests) because i don't think there's multi-dim array args in rt.jar methods
19:08 Mouq Where short/long is analagous to obfuscated/readable
19:08 average grondilu: well, J is basically the future for this trend of metaoperator abundance
19:08 grondilu the difference is that in Perl 6 you don't have to use them.
19:08 average grondilu: I think J can tell us whether that was a good/bad idea
19:09 grondilu there is more than one way to do things.   If they were a bad idea, people will not use them.  It's as simple as that.
19:10 grondilu kind of like with junctions.  They are very cool but as a matter of fact they are not used as much as one might expect.
19:10 average heh, yeah, I didn't know junctions turned out to be like that
19:11 grondilu not sure what you mean.
19:11 average a few years back Damian Conway was giving presentations on them
19:11 * geekosaur would like to note that he wants a programming language, not a nanny
19:11 average junctions and superpositions
19:12 grondilu I suppose he thought they would be much more prominent in P6. It appears they are not that much important (I may be wrong on that, though)
19:12 masak it's an overarching theme. overall, I'm much more happy every day to use Perl 6 sane features than its cool features.
19:12 masak junctions are useful sugar.
19:12 masak I don't use them for much beyond just sugar.
19:13 grondilu but metaoperators are really cool and useful.  Sometimes I wonder how we could do without it and whenever I write in perl5, I really do miss them.
19:14 average I also think a good idea is to study how exactly languages are released and how they get adopted
19:14 average and how they're marketed
19:14 PerlJam grondilu: are there particular meta-ops that you miss more than others?
19:14 grondilu [+]
19:14 average NodeJS , Golang , Julia are all good examples for that
19:14 grondilu more precisely []
19:15 average It seems to me that there is a problem with Perl6 on the releasing/marketing side of things
19:15 grondilu or Z
19:15 average not releasing per-se, but the getting-it-across to users that it is released
19:15 PerlJam average: but it's not "released" yet :)
19:15 average I don't know how Golang or NodeJS did it, but Perl6 certainly does not do that very succesfuly
19:16 flussence NodeJS is a good historical example, lest we end up with our own io.js exodus
19:16 grondilu Golang is supporeted by Google.
19:16 average yes Golang is supported by Google and that may be an explanation
19:17 grondilu NodeJS runs the most useful programming language on the web (javascript), so no wonder it is looked at.
19:17 average but there are plenty other examples that did not benefit from the a burgeois-like backing such as the one Golang benefited from Google
19:18 grondilu there is python, which is the best programming language ever for retarded people.
19:18 grondilu :)
19:18 timotimo ... what
19:18 * grondilu was kidding
19:18 raiph joined #perl6
19:19 average Python is ok, but it goes back to 1989, a loong time ago, and I imagine things were very different back then
19:19 nine_ I'm not sure how retarded people benefit from an inferior language.
19:19 * grondilu always thought that python being easy to learn means it's made for simple-minded people
19:19 average but there are closer examples on the timeline which can be studied
19:21 grondilu the main reason Perl 6 is nor as popular nor as marketed as other languages is that it's been mostly a theoretical language for quite some time.
19:21 flussence nine_: python is a good escape route from VB
19:21 grondilu it does kind of has similarities indeed, now you mention it
19:22 Kristien the biggest problem I have with python is its lack of and totally unnavigatable documentation
19:22 Kristien many things are way underspecified and it seems to be the culture
19:22 Kristien the idea is to put interfaces in documentation and the practice is that there is no documentation so no interfaces either
19:22 grondilu what I don't like about pyhton is that it is verbose and that to do anything you have to look for the correct library.
19:23 PerlJam grondilu: that is a property not unique to python.
19:23 grondilu it is exacerbated in python
19:23 average grondilu: Python as a whole is more cohesive in its module eco-system than Perl5
19:23 geekosaur python as cobol for the modern age: discuss :p
19:24 flussence geekosaur: 2 or 3?
19:24 geekosaur (actually I'm not interested in language bashing... more making the point that python ain't the first *or* the worst)
19:24 geekosaur in that category
19:24 nine_ Don't get me started on Python. There's __getattr__ which allows you to intercept access to an object's attribute. Except that it does not always get called. But hey, there's __getattribute__! And you can probably guess from the very descriptive name that this intercepts __all__ attribute access. All? No! It still doesn't!
19:24 grondilu I don't complain about the system of modules, I complain about the fact that modules are the way to approach pretty much everything in this language
19:24 average grondilu: As a Python user I can enumerate real fast the important Python modules numpy,sympy,scipy,pillow,matplotlib,pandas,sqlalchemy,flask,django
19:25 average and with confidence I can say that there are at most 2-3 that I've missed
19:25 average I cannot do the same thing as a Perl5 user
19:25 grondilu TimToady often gives trigonometry as an example.  You need to "import math" in order to use trigonometric functions.  That's LTA
19:25 flussence .oO( "is that an african or a european python?" )
19:25 dalek rakudo/nom: b18b0a2 | FROGGS++ | t/04-nativecall/0 (4 files):
19:25 dalek rakudo/nom: turn printf("ok 1 - foo\n") from C into proper P6 test
19:25 dalek rakudo/nom:
19:25 dalek rakudo/nom: This solves two issues: First, when we have a mix of printf-style tap output from C
19:25 dalek rakudo/nom: and tap output from Perl 6, we have to be very careful about flushing stdout or
19:25 dalek rakudo/nom: otherwise the tap parser receives the lines out of order, which is considered failure.
19:25 dalek rakudo/nom: Secondly, we would have to hard code the subtest number, or like in 06-struct.c use
19:25 dalek rakudo/nom: "sub test syntax" which just ignores these lines.
19:25 dalek rakudo/nom: Using Test.pm exlusively makes us flexicible in skipping tests, it let's us have a plan
19:25 dalek rakudo/nom: and nicely ordered tap output.
19:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b18b0a2a47
19:26 average yes, I've missed nltk probably
19:26 grondilu average: again, I'm not talking about the existence or abundance of modules, I'm talking about the fact that the language itself can't do much without them.
19:26 grondilu (except if you're willing to reinvent the wheel)
19:26 average Perl5 itself cannot do much without CPAN
19:26 nine_ What really, really sucks about Python and destroyed the language for me is their culture of answering with "you should not have this problem" to questions about extreme measures for extreme situations.
19:27 timotimo the stdlib of python is rotting away
19:27 timotimo better to have a very slim core and good modules
19:27 grondilu average: see my example of trigonometry above.  See also on rosettacode where you'll see that python often needs to invoke a module to do stuff that are easily done natively in perl6
19:27 MadcapJake joined #perl6
19:27 average yes, but there is no cohesive set of modules in Perl5, that is the problem of CPAN
19:28 Kristien I really don't have a problem with imports.
19:28 flussence https://metacpan.org/search?q=Task%3A%3AKensho
19:28 PerlJam average: There is no cohesive set of problems what perl5 is perfect for either.  :)
19:28 Kristien the only thing I don't want to have to import anything for is a function that aids in printf debugging
19:28 Kristien I'm fine with imports for everything else.
19:28 PerlJam s/what/for which/
19:29 PerlJam Kristien: even regex?
19:29 Kristien sure
19:29 timotimo Kristien: and you especially don't want the compiler to bail out if you're not using some import
19:29 average grondilu: also notice that although you may call Python "retarded", it has books published for nearly every good/popular module that it offers
19:29 Kristien I want the compiler to catch all references to nonexisting variables.
19:30 MadcapJake joined #perl6
19:30 grondilu average: I was being sarcastic.  I didn't really mean it.
19:30 average Perl5 barely managed to get books out about modules, and it almost came to a halt now in 2015 (not many.. not sure if any.. module-centric Perl5 books are published anymore)
19:30 davido__ joined #perl6
19:30 Kristien Catching scoping errors at runtime is absolutely retarded for many reasons. It has no benefits and brings many problems.
19:30 grondilu python is a nice programming language, it's just verbose and boring, imho.
19:31 grondilu plus it's not as simple as advertised, when you look in details.
19:31 PerlJam grondilu: Where's the verbosity sweet-spot?  I don't think of python as being particularly verbose.  Not like Java or COBOL for instance.
19:31 gfldex joined #perl6
19:31 PerlJam grondilu: (but I agree on "boring" completely :)
19:32 moritz one thing I dislike about both python and js is that as the user of a class, you need to distinguish between attributes and getter methods
19:32 masak also, different problems have different verbosity sweet spots.
19:32 masak moritz: yes, that breaks a named law, but I forget the name.
19:32 moritz is it .length or .length()?
19:32 masak "uniform access principle"?
19:32 timotimo lenght!
19:32 Kristien it's len(…)
19:32 grondilu good point, verbosity is sometimes a good thing but not always.
19:32 PerlJam moritz: oh my does that bite me every time I use JS.
19:32 moritz masak: encapsulation
19:32 Kristien masak: UAP is supported by both Python and JS.
19:33 flussence if you're gonna write an entire book about a programming language *module*, the code had better not change before I'm done reading it
19:33 arnsholt Fun Python scoping fact: All variables are scoped to their function (modulo nonlocal/global) except one; the variable introduced by "except Exception as e" is local to the except
19:33 masak Kristien: yes, but not "by default".
19:33 average flussence: yes..
19:33 Kristien arnsholt: same for javascript
19:33 average flussence: and this holds for some of the Python books out there
19:33 masak grondilu: I like how Perl 6 can be either APL or Java. not many languages out there offer that.
19:33 Kristien that's how ES6-to-ES5 compilers implement let and const
19:33 average flussence: and I totally agree with the idea and I think this is a major selling point that Python has
19:33 Kristien using try { throw void 0; } catch (x) { … }
19:34 arnsholt The reason being that the exception object contains a reference to the call frame, which contains a reference to the variables
19:34 arnsholt So if e was scoped to the frame, there'd be a reference cycle, which is bad, Python's GC being mostly refcounted
19:37 zakharyas joined #perl6
19:38 nine_ Yes, Python is not designed for the user but for the implementor of the compiler. It even says so in the official documentation.
19:40 Mouq joined #perl6
19:40 grondilu does it?  That's amazing.
19:40 timotimo OpenSSL fails to test :(
19:40 flussence and on the extreme end of that scale you have PHP, which uses \ for module namespaces because it was too hard to parse ::
19:40 nine_ That's for example the cited reason why you can't name a function "if" in Python. It would have made writing the parser a bit more difficult.
19:41 arnsholt grondilu: I haven't seen it explicitly stated in the docs, but there are several things where implementations details leak through, like lots of hashes all over the place
19:41 grondilu funnily enough a python interpreter written in Perl 6 may be able to allow htat.
19:42 average flussence: also, I don't think Task::Kensho is a cohesive set of modules for Perl5. It's simply a metadistribution that has a selected set of distributions as deps(among which Task::Catalyst which is another meta-distribution).
19:42 nine_ grondilu: I only discovered this restriction after my own Python parser written in Perl 5 with Marpa allowed such functions without a problem :)
19:42 Mouq m: sub if ($) {}; sub infix:<if> ($,$) {}; sub prefix:<if> ($) {}; sub postfix:<if> ($) {}; if (if\if()\if if if\if\if()\if) { }
19:42 camelia rakudo-moar 66de7b: ( no output )
19:42 timotimo oh mouq
19:42 average flussence: I think it's great, but it's not quite a cohesive set of modules.
19:43 gaussblurinc_ joined #perl6
19:43 average flussence: nltk for example in Python, as a module, is probably better than all Lingua::* modules on CPAN put together
19:43 grondilu also in python 3 print is a function which means you have to use parenthesis around the string argument.  I can't believe people are not upset about that.
19:44 average flussence: nntplib in Python is better than probably all NNTP-related modules on CPAN
19:44 Kristien grondilu: maybe because consistency is good
19:44 Kristien a major problem with python is also its many violations of The Zen of Python
19:45 average flussence: sqlalchemy is another one which is quite cool, and is easy to use and has been available for some time now. I can easily say that sqlalchemy is indeed much easier to use, has better documentation than its Perl5-analogue named DBIx::Class
19:45 Kristien such as namespaces being a honking great idea and we should do more of those, yet nobody does it
19:45 flussence average: I won't contest those opinions; I don't use python (2 or 3).
19:46 * moritz has recently started on a project that uses sqlalchemy
19:46 moritz so far, I like it
19:47 Kristien I chose to use Python for a current project at work a few months ago because my colleague was most proficient with it. Other choice was Scala.
19:47 Kristien the fucker left a month later
19:47 masak if they ever do a rewrite, clearly they should call it sqlchemistry
19:47 flussence and if I were to go to #python to criticise their language, I'd first learn the state of it in 2015, not base my prejudices on something I read last decade.
19:47 Kristien how to upset Kristien in a month
19:47 * flussence &
19:47 grondilu well, hopefully at some point we'll be able to use python's modules transparently in Perl 6.
19:47 retupmoca timotimo: re: OpenSSL can you see what's failing?
19:47 Kristien OpenSSL is a failure by itself.
19:47 retupmoca timotimo: I haven't been able to reproduce that on my windows or linux machine
19:48 timotimo gimme a second
19:48 grondilu being able to use the huge accumulated work of python's modules with dying of boredom from the dullness of the language would be great.
19:48 Kristien m: say do { for 1..10 { $_ } }
19:48 camelia rakudo-moar 66de7b: OUTPUT«Nil␤»
19:48 retupmoca but apparently sergot and the smoke tests are both failing it
19:48 grondilu s/with/without/
19:49 retupmoca not sure if it's a different version of the openssl lib or what
19:49 timotimo # Failed test 'Got good response'                                                                       │··············
19:49 retupmoca yeah, same place sergot failed
19:49 timotimo t/02-socket.t → Dubious, test returned 1 Failed 1/4 subtests
19:50 average but anyway, at least Perl6 has its own object system and it doesn't ship separate as some sort of monstrous abandoned stepchild
19:50 average if it can get some good modules and books written about them, like nicely typeset books or PDFs with documentation(no POD is not exactly what I'm talking about)
19:50 average that'd be super-cool
19:50 retupmoca timotimo: thanks - if you figure out more, open an issue please; otherwise I'll try to reproduce it on my machines
19:51 TimToady Kristien: that *should* produce nothing, since the for is at statementlist level
19:51 b2gills average: There has been at least one book that was typeset in POD
19:51 Kristien yeah I thought maybe for returns a list like in CoffeeScript
19:51 Kristien good thing it doesn't :)
19:51 average b2gills: I know
19:51 grondilu average: what do you have against POD?
19:52 timotimo you need "do for" rather than "do { for }" for that
19:52 average but if I say what I don't think is cool, I should also give a suggestion for a replacement, so here it is:
19:52 average Org-Mode
19:52 average it's the best thing you could ever write anything in
19:52 Kristien m: say do for 1..10 { $_ }
19:52 camelia rakudo-moar 66de7b: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
19:52 nine_ grondilu: there's actually not much missing to get to use whatever:from<Python>
19:53 Kristien m: sub f { for 1..10 { $_ } }; say f
19:53 camelia rakudo-moar 66de7b: OUTPUT«Nil␤»
19:53 Kristien nice
19:53 average I would totally replace POD in Perl6 with Org format
19:53 Kristien I use pod for spec of language I work on. Pod is great.
19:53 average Github already renders Org documents
19:53 Kristien it also renders pods
19:53 b2gills GitHub also renders POD
19:53 grondilu nine_: nice to here about that but I suspect you're being unreasonably optimistic.
19:54 average I think POD is limited in a number of ways, yes, it's an ok markup language.. it could be better(see Org)
19:54 PerlJam nine_: does that mean that Inline::Python mostly works?
19:54 average but anyway, the part about POD is not that important
19:54 grondilu is there a Vim version :) ?
19:54 dalek rakudo/nom: b5b174d | FROGGS++ | t/04-nativecall/0 (6 files):
19:54 dalek rakudo/nom: last batch of printf to Test.pm transition
19:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b5b174da5b
19:55 average I was recommending Org-Mode for people who want to write books about Perl6 or Perl6 modules :)
19:55 average grondilu: there is one yes. I haven't tried it though, I went for Emacs + Evil-Mode + Org-Mode
19:55 average (same thing)
19:55 nine_ grondilu: why do you think so?
19:56 grondilu nine_: just an intuition, but I'd gladly be proven wrong.
19:56 [Coke] my efforts with mojo6 consisted mostly of creating a repo. I haven't done anything I'd consider real work on it yet. hoelzro++ is doing much better. :)
19:57 [Coke] (happy to accept patches or chat about what to work on)
19:57 nine_ PerlJam: if I can use PyQt4 (which requires me to derive from Python classes), it can't be that bad ;)
19:57 grondilu average: I dont know org-mode well, but I suppose writing a SLang for it should not be impossible.
19:57 Mouq average: Perl 5 POD or Perl 6 Pod?
19:58 PerlJam nine_: for both py2 and py3?  :)
19:58 average Mouq: I only know Perl 5 POD
19:58 b2gills The best thing about POD is that the documentation can be right next to the code
19:59 nine_ PerlJam: py2 for now. But py3 support is not difficult. It's mostly a matter of looking at Perl 5's Inline::Python. I left the #ifdefs out for the sake of faster progress. No other reason.
19:59 timotimo i'm just now running a benchmark on latest rakudo (but sadly nqp and moar haven't been updated yet)
20:00 average b2gills: you should see Org-Mode, it turns the idea of "commented code" inside out into "comments that also have pieces of code that can assemble into actual programs via org-babel-tangle"
20:01 PerlJam nine++
20:02 b2gills I'm not going to learn Emacs just for something at about equal parity to POD
20:03 average exactly, that's why I didn't learn Emacs either :) I just used Evil-mode which is basically vim
20:03 TimToady and reordering code is very, very anti-one-pass-parsing
20:03 b2gills I'm not planning on learning vi either
20:03 TimToady it only works when you lock down the language
20:04 TimToady and no 100-year language is going to be a lockdown language
20:04 average b2gills: exactly, that's why you can emacs -nw ./notes/document.org --eval "(progn (org-html-export-to-html)(save-buffer)(kill-emacs))"
20:05 average b2gills: so you don't have to learn emacs at all if you want to render .org documents :)
20:05 grondilu average: I tried viper-mode once, is Evil-mode better?
20:05 average grondilu: yes
20:08 average left #perl6
20:12 * grondilu just watch evil-mode's four minute demo on youtube.  Seems nice indeed but I'm not sure I'm willing to install emacs again.
20:14 TimToady of course, dialects of Perl 6 can restrict the programmer in various ways, but we mustn't put the mother language on such an evolutionary dead end
20:15 Kristien wooo I wrote a program in Ada.
20:17 vendethiel Kristien: can you link me (privately) the one you used? I followed a  tutorial for ada but didn't manage to get a free & working compiler
20:17 Kristien the what I used?
20:17 Kristien oh
20:17 Kristien http://ideone.com/
20:17 TimToady Kristien or vendethiel: feel free to add a Perl 6 entry for http://rosettacode.org/wiki/Rendezvous :)
20:18 Kristien TimToady: I have no idea what that is about.
20:19 TimToady if you keep learning Ada, you will :)
20:19 * TimToady really liked Ada back in the day
20:19 camelia joined #perl6
20:19 TimToady as you can see from our use of => for pairing
20:20 Kristien Am I allowed to use libraries that do that for me?
20:20 * Kristien doesn't like implementing things.
20:21 masak TimToady: sounds like you changed your mind and don't like Ada so much anymore...
20:22 TimToady I still like Ada in lots of ways, but my capacity for liking has outgrown it :)
20:22 masak :D
20:22 Kristien I tend to like languages older than the web.
20:23 Kristien Any software older than the web actually
20:23 masak Kristien: you and me both.
20:23 Kristien it seems like there were less fools in this industry before the web existed
20:23 masak Kristien: I still have a soft spot for 320x200 graphics.
20:23 PerlJam Kristien, masak: so ... COBOL?
20:24 Kristien I liked COBOL when I used it. I wrote a game in it once.
20:24 masak PerlJam: I don't have any experience with COBOL.
20:24 vendethiel *g* I need to learn cobol
20:24 PerlJam vendethiel: you really don't  :)
20:24 TimToady COBOL has its charms, especially when it abends and prints a 4-inch line-printer listing
20:24 PerlJam Kristien: when did you use COBOL?
20:24 lizmat Q: release name for parrot: a. Parrotopia b. Berlin c. your suggestion
20:24 lizmat *rakudo
20:24 lizmat argh
20:24 dalek rakudo/nom: 99ea17b | FROGGS++ | t/04-nativecall/08-callbacks.c:
20:24 * geekosaur remembers math teacher saying we could submit a program to do riemannian integration in any language... so wrote it in cobol just to be difficult
20:24 dalek rakudo/nom: make float tests more robust
20:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/99ea17b89f
20:25 Kristien PerlJam: about a year ago
20:25 Kristien for about an hour
20:25 masak lizmat: we haven't had *Berlin* yet!?
20:25 geekosaur these days they'd probably get agda :p
20:25 Kristien then I disposed of the filthy compiler
20:25 * TimToady debugged a 4-inch COBOL coredump before he ever learned the languge :)
20:25 vendethiel well, really, just for my information. I "learned" fortran and Ada just because they seemed "interesting"
20:25 masak lizmat: "Parrotopia" sounds awfully cheeky to me.
20:25 rindolf joined #perl6
20:25 geekosaur (the teacher in question and I had an interesting relationship)
20:25 PerlJam lizmat: b.
20:25 Util Ack! http://modules.perl6.org/ is showing 0 modules,
20:25 Util and `curl -sS http://modules.perl6.org/proto.json` returns `{}`.
20:25 lizmat masak: inspired by http://www.marsanomalyresearch.com/evi​dence-reports/2009/167/parrotopia.htm
20:26 masak Util: :/
20:26 masak lizmat: 404.
20:26 PerlJam Util: not for me.
20:26 arnsholt geekosaur: I haven't written in perverse languages, but I did once hand in an assignment where all variable names and menu prompts were in Latin =D
20:26 colomon what PerlJam said
20:26 lizmat http://www.marsanomalyresearch.com/evidence-reports/2009/167/parrotopia.htm
20:27 lizmat that better ?
20:27 masak ah. there was a strange invisible character in the first URL.
20:27 Util Works now!
20:27 masak lizmat: even knowing where the name comes from, it feels cheeky.
20:27 Util I will have to start typing slower :^(
20:27 masak like "hi Parrot, sorry we're suspending you, here, have a release name!" *pat pat*
20:28 lizmat yeah, I didn't intend it to be interpreted that way, but it probably will  :-(
20:28 * TimToady agrees with masak that it would be taken badly
20:28 masak I think mine is the best-case interpretation.
20:28 * masak .oO( Parrot + Utopia (as in "no such place") )
20:29 PerlJam lizmat: so ...  Berlin   :)
20:29 arnsholt No place would be a-topia I think. IIRC eu-topia is "good place"
20:29 masak +1 to Berlin
20:29 masak arnsholt: ah -- you're right.
20:30 * masak .oO( Parrot is in a *good place* ) *thumbs up*
20:30 TimToady .oO(a...formerly divided city...)
20:30 TimToady well, there isn't anything that can't be construed negatively somehow...
20:30 dalek rakudo/nom: 4cd8d08 | lizmat++ | docs/release_guide.pod:
20:30 dalek rakudo/nom: 2015.02 will be Berlin
20:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4cd8d081b7
20:30 masak TimToady: I take offence at that.
20:30 Util Consider saving the name Parrotopia for a future release, when Rakudo *un*suspends Parrot!
20:30 hobbs arnsholt: except it's ou-topos, not eu-topos.
20:30 PerlJam TimToady: that's a *positive*.  It was *formerly* divided  ;)
20:31 lizmat Util: that's a deal!
20:31 Util :)
20:31 PerlJam Util++
20:31 * TimToady gets off the fence
20:31 * moritz wanted to propose a release name of a city where parrots live
20:32 moritz ... and then read the parrots are basically everywhere except Europe
20:32 lizmat moritz: that's how I found parrotopia  :-)
20:32 masak moritz: and they're *loud*.
20:32 dalek rakudo/cpp: 9bf52eb | lizmat++ | src/core/Str.pm:
20:32 dalek rakudo/cpp: Make Str.subst(Str,Str,:global) about 12x faster
20:32 dalek rakudo/cpp:
20:32 dalek rakudo/cpp: By using the TRANSPOSE helper sub
20:32 dalek rakudo/cpp: review: https://github.com/rakudo/rakudo/commit/9bf52ebc11
20:32 moritz lizmat: maybe Brasila
20:32 TimToady Rio?
20:32 timotimo poor dalek! :(
20:33 dalek joined #perl6
20:33 TimToady Belem?
20:33 FROGGS timotimo: he'll be fine :o)
20:33 moritz https://en.wikipedia.org/wiki/Parrot#mediaviewer/File:Parrot_range.png ok, seems to be more "south half"
20:33 lizmat I think the symbolism of Berlin, having been divided, now united again, is a good one for this release
20:33 masak +1
20:33 timotimo the dalek rises again
20:34 masak I was sure we had Berlin already. but maybe my brain finds Beijing and thinks that's it.
20:34 TimToady we'll just have to shoot people that try to escape for a while
20:34 moritz git grep Berlin|wc -l
20:34 moritz 0
20:34 hobbs arnsholt: but that doesn't seem to have carried over as a prefix in any other english words I can find
20:34 moritz git tag|grep Berlin
20:34 TimToady oh wait, we're the *west*
20:34 moritz 0
20:34 lizmat $ grep Berlin docs/release_guide.pod
20:34 lizmat 2015-02-19   Rakudo #85 "Berlin"             (lizmat)
20:34 masak :)
20:34 moritz :-)
20:34 TimToady well darn, it's taken :)
20:35 masak lizmat has the truth from the near future, it seems.
20:35 TimToady maybe she just revised history
20:35 lizmat masak: it could be your future if you pulled
20:35 PerlJam then it would be his present
20:36 masak aw, for me? you shouldn't have.
20:36 TimToady .oO(we're all pulling for each other...)
20:38 * timotimo is working through the moarvm release guide
20:38 FROGGS timotimo++
20:38 Mouq joined #perl6
20:38 masak oh, timotimo++ is doing the moarvm release?
20:39 timotimo yeah, it seems very easy to do
20:39 PerlJam timotimo: could you change it such that MoarVM is released on the 3rd Tue of each month? :)
20:39 masak will this be the first non-jnthn moarvm release?
20:40 moritz has there been a parrot release this month?
20:41 FROGGS masak: I've done two already while you guys were in .cn :o)
20:41 masak moritz: yes, I think so.
20:41 masak FROGGS: oh! FROGGS++
20:41 FROGGS moritz: I've seen the preparations
20:42 Util moritz: Yes, rurban released 7.1.0 - Lilian's Lovebird
20:42 moritz how fitting
20:42 tgt Hi. I'm playing with NativeCall on OS X and I'm not sure what to do about this error: "Cannot locate native library '/System/Library/Frameworks/Security.framework/Versions/Current/Security.dylib'".
20:42 tgt I'm using "is native('/System/Library/Frameworks/Security.framework/Versions/Current/Security')", which is the full path since it can't just find Security. There's no .dylib extension on the Security framework. Any workarounds?
20:42 moritz https://github.com/parrot/parrot/commit/2f99a833fe703f6c749ab4f2d0fad4367d11f5c1
20:43 FROGGS hi tgt, I can help you
20:44 FROGGS tgt: is there a chance that you upgrade rakudo?
20:44 FROGGS tgt: ohh, wait, let me check something
20:45 geekosaur this is framework vs. normal dylib
20:45 geekosaur you may have some fun with that...
20:45 Util moritz: I had seen the commit message, but had not paired it with the Changelog diff. :-/
20:45 tony-o vendethiel: thanks for the sql slang commit
20:45 FROGGS geekosaur: what does that mean? it is not a "normal" dynamic library?
20:46 geekosaur not entirely, no
20:46 mohij joined #perl6
20:46 vendethiel tony-o: thanks for the sql-slang
20:46 geekosaur frameworks do some weird things with RPATHs and such which can make linking with them interesting
20:47 Util I agree (with pmichaud's gist) that Rakudo's suspension of Parrot support makes sense,
20:47 Util given the timeframe you all have for GIL and the other major changes.
20:47 Util I won't deny that it stings, though.
20:47 Kristien GIL lol
20:47 geekosaur and ideally a user should be able to specify something like is framework('Security') and it searches the framework path for the appropriate framework
20:48 lizmat Util: GIL ?  you mean GLR ?
20:48 rindolf joined #perl6
20:49 FROGGS tgt: looks we have a fundamental problem with frameworks... the file extension might be the smallest issue
20:49 Util lizmat: Yes, and it was an error in memory, not in typiing :(
20:49 FROGGS tgt: I can help you hack around the file extension if you want though
20:49 PerlJam Util: just say it was because we were talking about python earlier  :)
20:50 masak Util: it's to your credit that you phrase it like that. ("I agree" -- "won't deny that it stings")
20:50 lizmat Util: the other day rurban mentioned GIL being one of the pitfalls of Moar
20:50 TimToady gotta be a pun on gilliam in there somewehre
20:50 masak lizmat: (which is incorrect as moarvm doesn't have one)
20:50 tgt FROGGS: Ah :( Any idea what issues I might run into if you do help me hack around it?
20:51 FROGGS tgt: I can only repeat what what geekosaur said just now
20:51 Kristien vendethiel: http://stackoverflow.com/questions/180778/is-there-a-free-implementation-of-ada
20:51 lizmat masak Util : indeed... so I was wondering whether that misconception was wider spread
20:51 vendethiel thanks Kristien
20:51 vendethiel didn't know ideone had ada
20:51 tgt Okay. Well, how can I work around the file extension issue? I'll see what issues I run into.
20:51 Util Strange; thanks for telling me of the coincidence.
20:52 FROGGS tgt: just let it return $libname instead of appending the extension here: https://github.com/rakudo/rakudo/blob/nom/lib/NativeCall.pm#L126
20:52 moritz in totally unrelated news, we have 30 modules in the ecosystem that declare a dependency on NativCall
20:52 geekosaur well, you can certainly try it. sometimes it just works, other times it leads to runtime errors referring to paths with @s in them which means you need to add extra code to interpret Apple's special rpath variables
20:52 Util I had in my head "Great List Refactoring", and my brain told me that you abbreviate it as G I L. Weird.
20:52 masak Util: Perl 6 and Parrot seems to have both attracted a critical mass of community members. I think part of the reason we're in the position we are today is that... there isn't much overlap between the two communities.
20:52 FROGGS moritz: we need to change their META.info, right?
20:53 moritz FROGGS: yes. After the release.
20:53 FROGGS right
20:53 virtualsue joined #perl6
20:53 masak Util: most discussions I see between Perl 6 people and Parrot people these days seem to have the structure of two disjoint communities talking across a rift of incomprehension and non-mutual goals.
20:54 geekosaur https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/dyld.1.html scan down to DYNAMIC LIBRARY LOADING (it's not hyperlinked, sigh)
20:54 moritz how I found it: git clone git@github.com:moritz/perl6-all-modules.git; cd perl6-all-modules; git grep NativeCall */*/META.info|wc -l
20:54 moritz ok, it's one less, it counts zavolaj's META.info too
20:55 dalek rakudo/nom: 44f1a54 | lizmat++ | t/01-sanity/53-transpose.t:
20:55 dalek rakudo/nom: Add some TRANSPOSE(-ONE) sanity tests
20:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/44f1a54f46
20:55 masak Util: from the Parrot point of view, Rakudo "leaving the nest" was a big mistake and a regrettable decision. from the Perl 6 point of view, it helped Rakudo accelerate and take off in various ways.
20:55 FROGGS geekosaur: ohh, I just knew about @rpath
20:55 espadrine_ joined #perl6
20:57 kurahaupo joined #perl6
20:57 * Kristien didn't know parrot was still a thing
20:57 Kristien bye!
20:58 nine_ moritz: parrots do live in Europe: http://poissonenciel.hubpages.com/hub/wild-parrots-in-europe
20:58 moritz nine_: yes, but they are more exception
20:58 Util nine_: Hooray!
20:58 timotimo oh timo
20:58 lizmat fwiw, in our last place in Amsterdam, we had wild parrots pass by every day around 4pm in the afternoon
20:59 lizmat about 20 green parrots...
20:59 timotimo if you compare most current nqp and rakudo against 2014.01 instead of 2015.01, you'll have a bad time
20:59 geekosaur not sure how much extra foo you might need for framework support, perhaps start with https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/MachOTopics/1-Articles/loading_code.html#//apple_ref/doc/uid/TP40001830
20:59 timotimo m: say 19.4 / 17.4
20:59 camelia rakudo-moar 66de7b: OUTPUT«1.114943␤»
20:59 timotimo 11.5% improvement in test scores between rakudo since last release
21:00 timotimo 16.7% improvement for nqp in the same time
21:00 moritz timotimo: between 2015.01 and now?
21:00 timotimo yes
21:01 moritz that's quite nice.
21:01 dalek rakudo/newio: b18b0a2 | FROGGS++ | t/04-nativecall/0 (4 files):
21:01 dalek rakudo/newio: turn printf("ok 1 - foo\n") from C into proper P6 test
21:01 dalek rakudo/newio:
21:01 dalek rakudo/newio: This solves two issues: First, when we have a mix of printf-style tap output from C
21:01 dalek rakudo/newio: and tap output from Perl 6, we have to be very careful about flushing stdout or
21:01 lizmat sorry dalek
21:02 dalek joined #perl6
21:02 moritz timotimo: probably much due to -O2 compilation of MoarVM?
21:03 Util masak: `from the Parrot POV, Rakudo "leaving the nest" was ...decision.`
21:03 Util Well, from *some* Parrot people's POV. From where I stand,
21:03 Util Parrot took an early gamble on getting a convergence/buy-in by Ruby/Python/etc,
21:03 Util who would save manpower by pooling all VM efforts into Parrot, abandoning their own internal VM.
21:04 Util Many (slow) design decision were to support that expectation of many language clients, and future manpower.
21:04 Util A disconnect with the Perl 6 implementors resulted.
21:04 Util The Ruby/Parrot VMs multiplied, and we lost that bet.
21:05 TimToady none of us was quite smart enough to understand that the goals of having a VM to run all languages and a language to run on all VMs would turn out to be too big an impedance mismatch for the tunnels to meet nicely in the middle of the mountain
21:05 Util MoarVM is an understandable reaction to the disconnect, and "impedance mismatch"
21:05 FROGGS lizmat: nativecall passes now on all backends on linux and osx, and on windows+moar (I did not test windows+parrot or windows+jvm)
21:05 moritz FROGGS++
21:05 Util TimToady: So true.
21:05 timotimo i didn't even think of --optimize=1
21:05 lizmat FROGGS: cool
21:06 lizmat I cannot test windows+parrot or windows+jvm
21:06 moritz that's OK. Nobody expects the release manager to be able to test on all platforms.
21:07 lizmat would appreciate someone stepping forward who can do that tomorrow sometime just before the release freeze
21:07 FROGGS lizmat: I can do that hopefully
21:07 lizmat well, the windows+parrot is one that I would like to do *this* (last) time
21:07 lizmat so that we are sure we have something viable on win_parrot
21:07 FROGGS ahh, I also tested all backends on 32bit linux successfully
21:08 lizmat for the foreseeable future
21:08 FROGGS yeah
21:08 Util I do see a future for Parrot,
21:08 Util both as a short-term failover for MoarVM (less needed every day!),
21:08 Util and as a long-term option for implementing `use Ruby` and `use Python <[23]>` within Perl 6 code.
21:08 Mouq joined #perl6
21:08 masak I can't ever fault someone for having hope.
21:09 Util :)
21:09 masak maybe Parrot will somehow regain all its lost momentum.
21:09 masak stranger things have happened.
21:09 moritz being free of its Perl 6 shackles
21:09 masak right.
21:09 vendethiel masak: which kinds of thing
21:09 camelia joined #perl6
21:09 masak vendethiel: a concrete example eludes me right now
21:10 PerlJam Looking at the long term has gotten Perl 6 where it is today ... maybe Parrot can figure a path to the future in a similar way.
21:10 moritz vendethiel: peaceful reunion of Germany comes to mind
21:10 moritz maybe not weirder, but certainly more astonishing
21:11 Util PerlJam: indeed
21:11 Util Different subject - I have on my dusty TODO list:
21:11 Util Write a testing system (like Roast, but with more fudging points)
21:11 Util to extract all Perl 6 solutions from RosettaCode, and use it to:
21:11 Util 1. check that the latest Perl 6 does not break the solution code (`make rc`), and
21:11 Util 2. check that the solutions really produce the {{OUT}} output blocks on RC.
21:11 jdv79 it seems like there is more to the parrot stuff though.  there have been multiple personality clashes and burn outs.
21:11 Util I am considering it instead as a GSoC project. I already have some extraction code, as does Ingy.
21:11 Util Any thoughts?
21:12 moritz Util: +1
21:12 PerlJam Util: +1 !
21:12 TimToady probably have to provide some annotations when there's more than one solution, or where the test code is separate from the implementation code
21:13 TimToady though generally everything before the first {{out}} is one implementation of the solution
21:13 masak Util: +1
21:13 TimToady also, we'd have to be more explicit about 'use solver-from-that-other-RC-entry;'
21:13 Util TimToady: Right; it will be a dance of massaging the parser, and massaging the RC solutions, to meet in a middle that the RC staff won't reject as "not human-oriented"
21:14 TimToady well, the annotations could be external too, in which case they'd be transparent on RC
21:14 PerlJam Util: your extraction code is in P5 or P6?
21:14 Util TimToady: I hope that anything "solver-from-that-other-RC-entry"  is worth making a Perl 6 module in its own right.
21:14 moritz on yet another topic, I've been trying to make at least one perl6/doc commit a day
21:14 Util PerlJam: P5
21:14 rurban joined #perl6
21:15 moritz and when I have no idea what to do, I 'git grep TODO'
21:15 moritz so, if you want docs for a specific subject, you can "hack" me by leaving TODOs
21:16 PerlJam moritz: is that a questhub thing for you?
21:16 Util moritz: Excellent!
21:16 PerlJam (one commit per day)
21:16 moritz PerlJam: no, it's simply a thing :-)
21:16 tgt Thanks FROGGS++, geekosaur++ for your help, it seems to work for what I wanted.
21:17 moritz PerlJam: and I managed it most of this year, except for a few days when my laptop's power supply was broken
21:18 moritz (I know, easier to say in February than in December)
21:18 timotimo so weird errors is failing a test
21:18 * psch stops talking to camelia for now
21:18 psch it wasn't even particularly weird things
21:18 timotimo and procasync/basic.t is sometimes randomly passing a TODO test, yeah?
21:19 moritz timotimo: it's always passing for me, but always failing for lizmat++, it seems
21:19 timotimo mh, understood
21:19 lizmat moritz: it's flapping, usully fails
21:20 lizmat *usually
21:20 Util PerlJam: https://github.com/Util/RosettaCode_utilities
21:20 moritz lizmat: oh, then I misunderstood
21:23 jdv79 is there a real pretty printing solution yet?
21:23 Kristien joined #perl6
21:26 Util jdv79: Do you mean a Perl 6 equivalent to `perltidy` ?
21:26 timotimo here's a MoarVM release tarball for y'all: http://t.h8.lv/MoarVM-2015.02.tar.gz
21:26 lizmat timotimo++
21:27 Util timotimo++
21:27 Kristien timotimo++
21:27 lizmat Looking at the NativeCall code, I was wondering whether we don't need something like:
21:28 lizmat TRAITS is export(:DEFAULT, :traits) {
21:28 lizmat * multi's that have "is export..." automatically added
21:28 lizmat }
21:29 lizmat would be like a special BEGIN block that sets up default traits
21:29 jdv79 no, like JSON::Tiny's pretty or Data::Dumper - (mostly) lossless human readable data dumping
21:29 lizmat TimToady: would save a lot of repeating ourselves
21:29 jdv79 i remember a discussion involving args to .gist or .perl but i don't know if it any doable idea emerged
21:31 Util jdv79: From http://faq.perl6.org/ : $obj.Str gives a string representation,
21:31 Util $obj.gist a short summary of that object suitable for fast recognition by the programmer,
21:31 Util and $obj.perl gives a Perlish representation.
21:32 Kristien I like the all-caps keywords found in AWK and Perl.
21:32 [Sno] joined #perl6
21:33 H2O1 joined #perl6
21:33 colomon joined #perl6
21:34 Util jdv79: I don't see a discussion involving args to .gist in my scan of the #perl6 logs, but it sounds interesting.
21:35 moritz fwiw setting build JVM is broken for me
21:36 moritz it complains about $path-sep not being declared
21:36 dalek rakudo/newio: cafa85f | lizmat++ | t/01-sanity/50-path.t:
21:36 dalek rakudo/newio: TRANSPOSE tests live in 53-trans.t now
21:36 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/cafa85fbbe
21:36 H2O1 left #perl6
21:36 lizmat moritz: I guess I broke that then
21:37 * lizmat is checking
21:37 moritz lizmat: yes, looks like
21:37 moritz lizmat: the #?if jvm block in src/core/Inc.pm uses $path-sep
21:38 moritz lizmat: but that was only declared in the if { ... } above
21:38 lizmat yeah, on it
21:38 flussence lizmat: I've wanted something like that TRAITS thing for years... specifically so I don't have to write "is native(...)" a dozen times :)
21:40 PerlJam flussence: use a macro ;)
21:40 Kristien I love how LLVM TCOs non-tail calls.
21:40 flussence I'm not enough of a wizard to come up with one... :(
21:42 flussence (I've tried, but the whole macro thing makes about as much sense to me as xslt)
21:42 * hoelzro .oO( TACOs? )
21:49 dalek rakudo/nom: 50e3214 | lizmat++ | src/core/Inc.pm:
21:49 dalek rakudo/nom: Fix JVM breakage after $*DISTRO.path-sep opt
21:49 dalek rakudo/nom:
21:49 dalek rakudo/nom: moritz++ for pointing out
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/50e3214a16
21:54 rindolf joined #perl6
21:54 Kristien tail call optimisation as a verb
21:57 lizmat good night, #perl6!  See you tomorrow for Rakudo compiler release day
21:57 masak 'night, lizmat
22:02 raydiak good afternoon #perl6
22:03 Util Hi, raydiak
22:04 raydiak \o Util how goes it?
22:05 FROGGS_ joined #perl6
22:14 jdv79 Util: http://paste.scsys.co.uk/464508
22:14 jdv79 i don't find any of the existin perl6 stringifications good enough
22:15 timotimo i hope i was able to free up some time for jnthn tomorrow morning :3
22:22 masak timotimo++
22:28 jdv79 i don't find any of the existin perl6 stringifications good enough
22:28 jdv79 wrong tab:(
22:34 dalek rakudo-star-daily: cb71164 | coke++ | log/ (14 files):
22:34 dalek rakudo-star-daily: today (automated commit)
22:34 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/cb7116400d
22:38 [Coke] Util: (rc) when you do that, feel free to rip out the two manual tests in roast that started down that path.
22:38 colomon joined #perl6
22:51 Util jdv79: Does it have to be a built-in method? We do already have this: https://github.com/FROGGS/p6-JSON-Pretty/
22:51 Util Coke: Will do; thanks!
22:56 pmurias joined #perl6
22:57 pmurias Ulti: I think MoarVM with minor changes will be able to support both ruby and python
22:57 kjs_ joined #perl6
22:58 masak that's the impression I have, too.
22:59 masak and I think that the chances for any kind of success (along several interesting dimensions, including language interoperability) are higher on moarvm than on Parrot.
22:59 Kristien maybe it can support the language I'm working on!
23:00 Kristien the only thing I have so far is a small part of the object model and a compacting GC :P
23:02 jdv79 Util: it seems as if it should be builtin.  you think it doesn't belong there?
23:02 pmurias masak: IMHO the big problem with part is that it seem to have ~1 developer
23:02 pmurias masak: and moarvm is a very similiar thing that has much more
23:03 Kristien s/more/moar/
23:04 masak very similar goals. vastly easier to hack on. ridiculously less technical debt.
23:05 masak and -- not to forget -- built with Perl 6 and Perl 6 OO and 6model knowledge in mind.
23:05 masak and the Perl 6 type system, and other Perl 6 requirements.
23:07 pmurias why didn't parrot adopt the 6model and other nqp stuff?
23:08 pmurias it seemed that jnthn was building his own vm on top of parrot before he decided to rip it off and turn it into moarvm
23:09 masak pmurias: my answer to why: "some unknown mix of technical debt and lack of tuits" -- http://irclog.perlgeek.de/perl6/2015-01-18#i_9963364
23:09 masak pmurias: no, I know of no such stage. jnthn didn't start out building a vm on top of parrot.
23:10 masak unless you're talking about the things Rakudo on Parrot has to re-implement.
23:12 Util pmurias: As best I can tell, Parrot fully intended to move to 6model. I would blame lack of tuits far over tech-debt.
23:12 rurban1 joined #perl6
23:13 masak does Parrot have a roadmap? I looked but couldn't find one in the git repository.
23:19 filin joined #perl6
23:20 Util masak: Nothing current
23:26 jdv79 pmurias: i think chromatic wrote about those times
23:31 kjs_ joined #perl6
23:42 MadcapJake joined #perl6
23:43 lichtkind joined #perl6
23:45 espadrine_ joined #perl6
23:46 masak 'night, #perl6
23:46 lichtkind good night mäsak
23:46 raydiak g'night masak
23:47 Util g'night, masak
23:49 Sqirrel joined #perl6

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

Perl 6 | Reference Documentation | Rakudo