Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-02-15

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:13 CharellKing joined #perl6
00:53 thou_ joined #perl6
00:54 thou_ joined #perl6
00:56 thou joined #perl6
01:06 thou joined #perl6
01:07 stevan_ joined #perl6
01:08 thou_ joined #perl6
01:12 thou_ joined #perl6
01:15 thou joined #perl6
01:17 thou_ joined #perl6
01:21 thou joined #perl6
01:30 thou_ joined #perl6
01:33 jlaire joined #perl6
01:34 thou joined #perl6
02:10 raiph joined #perl6
02:10 raiph_ joined #perl6
02:11 raiph__ joined #perl6
02:11 timotimo joined #perl6
02:12 atrodo joined #perl6
02:19 raiph joined #perl6
02:19 raiph_ joined #perl6
02:20 atrodo joined #perl6
02:20 raiph__ joined #perl6
02:23 atrodo joined #perl6
03:01 xenoterracide joined #perl6
03:01 raiph joined #perl6
03:03 raiph_ joined #perl6
03:03 bluescreen10 joined #perl6
03:03 raiph__ joined #perl6
03:07 census joined #perl6
03:10 stevan_ joined #perl6
03:19 xenoterracide joined #perl6
03:22 raiph joined #perl6
03:22 raiph_ joined #perl6
03:22 raiph__ joined #perl6
03:23 xenoterracide joined #perl6
03:33 xenoterracide joined #perl6
03:33 orafu joined #perl6
03:43 raiph joined #perl6
03:43 raiph_ joined #perl6
03:43 raiph__ joined #perl6
03:44 census joined #perl6
03:59 xenoterracide joined #perl6
04:14 kst joined #perl6
04:17 fgomez joined #perl6
04:18 mulli joined #perl6
04:21 uvtc joined #perl6
04:26 mulli anyone here?
04:26 diakopter hi
04:26 uvtc hi, mulli
04:27 shachaf There is only silence and some second-hand clothes.
04:27 mulli Is anyone in here an expert on perl5 ithreads
04:28 uvtc mulli: this is the Perl 6 channel. Maybe you're looking for #perl? :)
04:28 mulli I went there.
04:29 mulli i did not find the droid i was looking for.
04:29 geekosaur you won't find it here either
04:29 diakopter someone may be kind and privmsg you
04:29 sorear look for schmorp
04:29 uvtc mulli: note, there's #perl on irc.perl.org, and also #perl at freenode also.
04:29 mulli damn.. well it was worth a try I guess.
04:29 mulli ok
04:29 geekosaur mulliu is already in #perl here, got rebuffed for wantingt o use threads at all
04:30 geekosaur which I can somewhat understand as the thread situation in perl5 has always been a mess
04:31 sorear schmorp is probably an ithreads expert but also probably the worst person to ask if you want to use them, as opposed to coping with them
04:31 sorear bah, ey quit before seeing my warning
04:32 geekosaur yep
04:32 uvtc I'm sorry if I've asked this before and forgotten, or maybe it's changed since the last time I asked, but: does rakudo make use of std to know the grammar/syntax of Perl 6? If not, what uses std?
04:32 geekosaur I don't think I've ever seen a use of ithreads which wasn't easier to work with when rewritten with multiple processes
04:32 sorear uvtc: depends on what you mean by "use"
04:33 geekosaur (which means *we* should get it right)
04:33 sorear uvtc: STD is not really suitable for use as a parser as-is
04:33 sorear uvtc: rakudo and niecza both have parsers strongly based on STD
04:34 uvtc sorear: ok, that sounds familiar.
04:34 geekosaur STD is a recognizer, not a parser.
04:34 geekosaur you need a lot of extra machinery to turn it into a parser
04:35 uvtc I think I probably don't understand how the parts fit together here. Hm.
04:35 uvtc What uses std?
04:36 skids Larry :-)
04:36 geekosaur the perl6 eval bot here uses std, but it only does recognition
04:36 uvtc Oh darn, I just asked that as part deux of the question above.
04:36 geekosaur std: .say
04:36 p6eval std 7551b8f: OUTPUT«ok 00:00 41m␤»
04:36 uvtc Oh. You can ask std things.
04:36 geekosaur it's kinda the arbiter of the language that rakudo and niecza *shoul*, but don't always, aceept
04:37 uvtc I should probably back up then. What does std do?
04:37 sorear geekosaur: actually std can be used directly as a parser, via ./viv -y
04:37 skids rakudo and neicza occasionally try to make themselves closer to STD.
04:37 skids It's sort of the goal
04:37 geekosaur when the spec changes, std is updated more quickly because it's often easier to modify
04:37 sorear but it produces awful ASTs, and it's rather poorly suited to integration
04:38 geekosaur then it can be used to check rakudo and niecza
04:38 geekosaur (and pugs, but that's so far behind that it's kinda moot at the moment)
04:40 uvtc geekosaur: in what way can std be used to "check rakudo" (or niecza)?
04:40 geekosaur std says the grammatical constructs that ideally should be accepted
04:41 geekosaur sometimes the actual implementations don't actually accept the syntax that they should; one can check that by seeing if std will accept the syntax
04:41 uvtc So, you give std (er, STD.pm6) some prospective Perl 6 code, and it can tell you if it's actual Perl 6 code?
04:41 skids if std says it's not a syntax error, it shouldn't be a syntax error.  Though it goes a little bit deeper than mere syntax.
04:41 geekosaur syntactically.  it can't check semantics very well
04:44 uvtc It sounds like a "reference implementation" of a Perl 6 syntax checker/verifier.
04:44 geekosaur so it can tell you if something is syntactically valid but it can't e.g. check the finer points of the meta-object protocol
04:44 geekosaur exactly, yes
04:44 TimToady it's a little more than that, insofar as it can translate itself to Perl 5
04:44 diakopter "reference implementation" is the exact wording on http://www.perl6.org/compilers/
04:45 geekosaur ok, there is that
04:45 TimToady after all, what do you think is actually running when you ask it things?
04:46 TimToady but yes, STD has largely served its purpose of driving convergence of the parsers
04:46 uvtc Ah, well, there's my problem. I don't know what "grammar" means here.
04:48 TimToady afk &
04:49 geekosaur the syntactic form of the language plus surface level semantics (for example, I think std can catch multiple definitions in a scope, which goes beyond syntax)
04:49 uvtc Neo: And STD knows, what, everything?
04:49 uvtc Morpheus: STD would say it knows enough.
04:49 uvtc Neo: And STD is never wrong?
04:49 uvtc Morpheus: [sighs] Try not to think of grammars as syntax and semantics... STD is a guide.
04:50 uvtc geekosaur: thanks. :)
04:51 raiph joined #perl6
04:51 raiph_ joined #perl6
04:51 preflex_ joined #perl6
04:51 raiph__ joined #perl6
05:01 uvtc TimToady: Ah, didn't understand what you meant earlier by "what do you think is running when...". That's part of what I was asking about. I suppose what you meant was that, indeed, STD is what's running. :)
05:13 raiph joined #perl6
05:13 raiph_ joined #perl6
05:14 raiph__ joined #perl6
05:15 quester joined #perl6
05:17 xinming joined #perl6
05:21 raiph joined #perl6
05:22 uvtc Does nqp compile "not quite perl" code to Parrot bytecode?
05:22 raiph_ joined #perl6
05:22 raiph__ joined #perl6
05:23 diakopter well, to PIR, yes
05:24 uvtc Does Rakudo compile Perl 6 to "not quite perl"?
05:24 diakopter no
05:25 uvtc Rakudo uses nqp as a layer under the hood to talk to the VM, correct?
05:27 diakopter they share the same grammar and HLL compiler engines and integrated libraries
05:27 geekosaur ghc compiles haskell to a core language before working with it.  gcc used to (still does?) compile C to a low level intermediate language that looks oddly like s-expressions
05:27 geekosaur I think nqp is in that same general space?
05:34 swarley Well I seem to have gotten sidetracked
05:34 diakopter oh?
05:34 swarley I meant to work on finishing sixModel today
05:34 swarley But then I realized that Go has almost no decent flex implementation
05:34 swarley So I ended up working on that
05:34 sorear uvtc: both NQP and Perl 6 are compiled to a common intermediate format called QAST
05:34 diakopter flex?
05:34 sorear QAST is then compiled to PIR
05:35 swarley The GNU version of lex
05:35 sorear flex is not GNU
05:35 swarley It's not?
05:35 sorear it's from BSD
05:35 swarley Ah
05:35 swarley I thought they had domain over that too
05:35 swarley Not BSD
05:35 sorear bison is GNU though
05:35 diakopter thought you meant Adobe Flex...
05:35 swarley Oh lord no
05:35 uvtc sorear: Thanks!
05:36 swarley I'm seeing why Go isn't becoming as popular as it should be, it has an extreme lack of packages for the latest syntax which seems to have been out for a while now
05:39 uvtc sorear: which piece compiles QAST to PIR?
05:40 swarley I find it extremely odd that go comes with a yacc tool, but you have to write the lexer by hand. It would just seem natural to include a lexer generator while they were at it
05:40 sorear uvtc: qast::compiler
05:41 uvtc sorear: is that part of NQP?
05:41 sorear yes
05:42 uvtc thanks, sorear.
05:42 Targen joined #perl6
05:44 swarley Well, despite the few days that well be spent on this; I hope to have put Serialization into what I have already coded for the sixModel by Monday
06:02 uvtc Thanks for the help, all. I wrote it up and put it into the wiki: http://wiki.perl6.org/Some%20​Major%20Parts%20of%20Perl%206
06:07 c9s joined #perl6
06:08 uvtc g'night
06:08 uvtc left #perl6
06:38 zby_home_ joined #perl6
06:42 kaleem joined #perl6
06:50 moritz \o
06:57 CharellKing :-D
07:13 sorear o/
07:14 arnsholt "Stage post       : 54961.162" =D
07:15 sorear Is that s or ms
07:15 arnsholt Seconds =)
07:15 arnsholt I put my laptop in the middle of the Rakudo compile
07:16 sorear That sentence is grammatical but makes no sense.
07:17 arnsholt Oh, I accidentally a word
07:17 arnsholt I put my laptop *to sleep*
07:18 sorear Ah.
07:19 arnsholt So nothing magical about it really, just a bit amusing
07:20 sorear I rather thought that you just got a handmedown laptop from lue
07:20 sorear :)
07:20 b1rkh0ff joined #perl6
07:21 lue Actually, it's just a little ways away from my feet [ also: my laptop would not get to stage post. Get your facts straight :)
07:21 arnsholt Hehe
07:44 domidumont joined #perl6
07:45 FROGGS joined #perl6
07:49 wk joined #perl6
08:00 SamuraiJack joined #perl6
08:26 domidumont joined #perl6
08:31 kaleem joined #perl6
08:32 masak morning, #perl6.
08:32 masak <sorear> That sentence is grammatical but makes no sense.
08:32 masak hehe.
08:32 masak today's mini-challenge: provide me with sentences that are grammatical but make no sense.
08:32 masak (you don't have to use Perl 6 for this one)
08:33 masak (and yes, I'm aware of "colorless green ideas sleep furiously". make up your own one, and be creative about it.)
08:33 domidumont joined #perl6
08:33 masak &
08:33 kaleem joined #perl6
08:33 arnsholt jnthn: Do we perhaps want some kind of rudimentary Buf support in NQP?
08:36 fhelmberger joined #perl6
08:37 sorear masak: it's funny because originally that sentence had no sense-making subsentence, but in the last few years "green idea" has become a thing
08:37 sorear s/subsentence/fragment/
08:38 arnsholt jnthn: Looking around Buf related code, there're some smatterings of PIR and dependencies on Parrot's ByteBuffer
08:50 daxim joined #perl6
08:51 sivoais joined #perl6
08:53 kresike joined #perl6
08:53 kresike hello all you happy perl6 people
08:55 diakopter kresike: your greeting always cheers me :)
08:56 kresike diakopter, that's the whole point of it ☺
09:16 wk joined #perl6
09:27 quester left #perl6
09:39 dakkar joined #perl6
09:45 jnthn morning o/
09:45 nwc10 jnthn: All tests still successful
09:45 jnthn nwc10: Still???
09:45 diakopter o/
09:49 jnthn arnsholt: We may well want something like that, yes.
09:54 nwc10 Files=17, Tests=170, 162 wallclock secs ( 0.13 usr  0.03 sys + 147.24 cusr 41.75 csys = 189.15 CPU)
09:54 nwc10 Result: PASS
09:54 nwc10 so, yes, still.
09:56 grondilu google Chelyabinsk, guys.  Big meteor event in Russia today.
09:57 * jnthn saw that news
09:58 jnthn Seems people got injured by windows blowing out rather than by getting hit by the meteor fragments...
09:59 grondilu indeed
09:59 moritz so, windows are evil!
09:59 grondilu nice one, moritz
09:59 nwc10 and should be got rid of? It's curtains for windows?
10:01 jnthn Well, they've always been a pane...
10:11 erkan joined #perl6
10:15 ObseLeTe joined #perl6
10:40 araujo joined #perl6
10:51 fgomez joined #perl6
11:22 jaldhar joined #perl6
12:06 kaleem joined #perl6
12:24 FROGGS *yawn*
12:24 FROGGS everybody is sleeping?
12:24 diakopter I should be
12:24 jnthn FROGGS: nah, just $dayjobbing :)
12:24 FROGGS bah
12:24 nwc10 I think that they all glazed over as a result of the bad puns.
12:25 FROGGS :o)
12:25 diakopter nwc10: <groan>
12:25 nwc10 (I had actually been stuck until then)
12:27 sqirrel joined #perl6
12:27 FROGGS jnthn: what does NFA mean?
12:28 diakopter nondeterministic finite automata
12:28 FROGGS k, thanks
12:29 diakopter (or automaton)
12:29 FROGGS ya, got it
12:30 jnthn Of note, it's the mechanism that computes the longest token.
12:30 jnthn So it's involved whenever we have an alternation or a protoregex.
12:30 FROGGS okay
12:31 FROGGS so back to my problem, if I want to add alternatives to an altseq at runtime, do I need NFA at that point?
12:31 jnthn An altseq is sequential.
12:31 jnthn As in, ||
12:31 FROGGS right, that's why I am asking
12:31 jnthn It doesn't need the NFA as it just tries the stuff in order.
12:32 FROGGS k
12:32 jnthn It's the (LTM based) alt that needs it.
12:32 FROGGS k
12:32 jnthn r: say 'beer' ~~ /bee | \w+/
12:32 jnthn r: say 'beer' ~~ /bee || \w+/
12:32 p6eval rakudo 1e85ff: OUTPUT«「beer」␤␤»
12:32 p6eval rakudo 1e85ff: OUTPUT«「bee」␤␤»
12:32 FROGGS where can I see some code that fiddles with altseq at runtime?
12:32 FROGGS like adding alternatives
12:33 FROGGS because I dont know how to build the ast right
12:33 diakopter you might have to replace whole methods
12:33 jnthn FROGGS: I don't think we have any...
12:33 jnthn For altseq though, you've an easier option
12:34 jnthn Write a method in Cursor that takes and goes through the alternatives one by one.
12:34 FROGGS nqp: my @a := <a c b>; say("abc" ~~ /@a/); # <--- what about that?
12:34 p6eval nqp: OUTPUT«a␤»
12:34 jnthn Hm
12:34 FROGGS nqp: my @a := <a c b>; say("abc" ~~ /@a+/); # <--- what about that?
12:34 p6eval nqp: OUTPUT«abc␤»
12:34 jnthn Oh...
12:34 jnthn Yeah, that doesn't actually do anything with altseq :)
12:34 jnthn It does what I was just about to describe
12:34 FROGGS ohh, okay
12:34 * FROGGS is listening
12:34 jnthn It's in !INTERPOLATE or so
12:35 FROGGS right
12:35 jnthn lemme find exactly where
12:35 FROGGS there is a nqp::islist part in nqp's cursor.pm
12:36 jnthn ah, you found it
12:36 jnthn Yes, that's exactly it.
12:36 jnthn That does altseq
12:36 FROGGS good
12:36 jnthn For alt, you need something like it but it should build an NFA.
12:37 FROGGS the bad thing is that nqp::islist doesnt work with my $<var>.ast, it always returns false, even if method variable called .list on it
12:37 jnthn Right
12:37 jnthn And it never will in Perl 6.
12:38 jnthn You need to write a Perl 6 version that does things the Perl 6 way.
12:38 FROGGS ya, I feared that :o)
12:38 jnthn https://github.com/rakudo/rakudo​/blob/nom/src/core/Cursor.pm#L48
12:39 jnthn So here is !INTERPOLATE as it stands today
12:39 jnthn nqp::istype($var, Positional) or so will do the "is it array-ish" trick
12:39 FROGGS can I use that switch there? if $var.isa(QAST::Op) && $var.op eq 'callmethod' && $var.name eq 'list' {
12:39 FROGGS ahh, cool
12:40 FROGGS thats better
12:40 jnthn no no
12:40 jnthn You're at *runtime* here!
12:40 FROGGS ohh
12:40 FROGGS I see
12:40 FROGGS and thats where I wanna be
12:40 jnthn /@a/ compiles down to something like self.'!INTERPOLATE'(@a)
12:41 jnthn That is, it turns into a method call
12:41 jnthn You get to decide what that method does :)
12:42 jnthn So really it's "just" extending that method to handle the array case. It'll be a bit more invovled because of the sequential vs LTM case.
12:42 FROGGS thank you very much, now the weekend can come \o/
12:42 jnthn But do the sequential one first.
12:42 FROGGS I do that, since I have nqp's pattern
12:43 FROGGS but it should do LTM in the end, yes
12:46 jnthn masak: lol I think I found a bizzare bug...
12:46 jnthn oops, wrong window... :)
12:46 moritz right, in #perl6 it's masak who finds the bizarre bugs :-)
12:47 jnthn Yeah, we do role reversal at $dayjob apparently :P
12:47 moritz I was just about to ask "how do you reverse a role?" until i finally understood the sentence :-)
12:52 pmurias joined #perl6
12:53 pmurias swarley: re lex, you want to parse NQP instead of using QAST?
12:54 colomon geez guys, whatever you do don't let TimToady hear the phrase "role reversal".  We don't need him making even more work for jnthn++
13:25 diakopter masak: your mom is a potato
13:25 diakopter oops, wrong window... :)
13:27 * kresike .oO(hmmm ... besides being evil, windows seem to be wrong lots of times ... )
13:28 arnsholt jnthn: So, for NQP buffer support, d'you prefer essentially wrapping the ByteBuffer PMC (what Rakudo does today), or provide something a bit more featureful as an NQP class?
13:28 diakopter NIH all the things
13:29 pmurias diakopter: ?
13:29 diakopter not-invented-here
13:30 diakopter tongue-in-cheek "do it all yourself...
13:30 diakopter "
13:30 zby_home_ joined #perl6
13:30 pmurias diakopter: who were you responding too?
13:31 diakopter arnsholt :)
13:31 diakopter sorry it was a bit oblique
13:32 pmurias diakopter: not replicating parrot's design is generally a good thing , not a case of NIH
13:33 arnsholt It's more a question of what kind of API/level of abstraction we want
13:33 diakopter I would reimplement/inline ByteBuffer stuff if you thought performance of the NQP Buf is more imprtant to optimize than the rakudo one
13:34 diakopter or if you thought it could be reused for rakudo too
13:34 arnsholt The Buf-related stuff in Rakudo is tightly coupled to Parrot (uses PIR ops for example), so we're gonna have to refactor it pretty soon anyways
13:34 arnsholt Might as well spend a bit of time figuring out the best approach while I'm at it
13:36 * diakopter is having fun pretending to design a JIT copmiler
13:36 FROGGS if it would be pure nqp it would be easier to for porting nqp to other VMs, however, if VMs like JVM have a good support for bytebuffers it might make sense to wrap the VMs implementation...
13:37 FROGGS and since I dont know the JVM I cant answer my question
13:37 CharellKing joined #perl6
13:38 pmurias arnsholt: I think the answer is what features do you want to add it?
13:38 diakopter all VMs' implementations of buffers are going to be dead simple...
13:40 diakopter FROGGS: but no it doesn't make sense to put much of it in nqp code
13:40 FROGGS what if you want to send a bytebuffer to another lib (like java) on JVM? would be good if you already use JVM's bb
13:41 thou joined #perl6
13:41 diakopter you'd already just be using a byte[]
13:41 pmurias I think that's the idea that we wrap the VM specific buffer in a portable manner rather than using NQP arrays of ints
13:41 diakopter (there isn't another way to do it, unless you used sun.misc.Unsafe and asked the VM for non-GC-managed memory)
13:42 * [Coke] asks moritz how to defenestrate a window.
13:43 * diakopter has delivered windows via windows during construction
13:44 diakopter always outside->in though
13:45 arnsholt Actually, wrapping ByteBuffer is the wrong term. We could just pass 'em around, is what I mean (what we do with various native things like strings already)
13:45 [Coke] a demonstration of antidefenestration!
13:45 arnsholt transfenestration?
13:45 FROGGS by wrapping I mean to add methods
13:46 diakopter arnsholt: but they can't be 6model objects...
13:46 arnsholt What can't be 6model objects?
13:47 diakopter the "native" byte buffer
13:47 diakopter sorry; I likely misunderstood
13:47 arnsholt Sure, sure. The actual buffer won't be
13:50 pmurias arnsholt: and what is the alternative to wrapping them?
13:51 arnsholt Passing around the bare PMC
13:51 arnsholt Come to think of it, Buf wants to be able to handle buffers of not-bytes as well, which makes things a bit more complicated
13:53 pmurias arnsholt: I think we should pass around a wrapped PMC instead of duplicating the parrot api on all platforms
13:54 anuby joined #perl6
13:54 arnsholt Sure, but do we just add some ops that manipulate ByteBuffer/byte[]/whatever or abstract it with a class that is a bit more versatile?
13:54 arnsholt Might just be a question of whether we want several ops or one class, I don't know yet
13:57 FROGGS dont you have to wrap it in a 6model object?
13:58 FROGGS I mean, what else is a Buf object then in Perl 6?
13:58 FROGGS (note that almost all my object-wrapping knowledge is from perl 5 xs)
13:59 wk joined #perl6
14:05 PacoAir joined #perl6
14:08 PacoAir joined #perl6
14:10 zby_home__ joined #perl6
14:12 benabik joined #perl6
14:13 bluescreen10 joined #perl6
14:15 pmurias arnsholt: there are other buffer than ByteBuffer
14:18 pmurias arnsholt: so I think it's better to have a couple of class versus loads of op variants
14:19 zby_home_ joined #perl6
14:19 diakopter (that's what jnthn did with native arrays in nqp=jvm)
14:21 arnsholt Kewl
14:21 Psyche^ joined #perl6
14:21 shinobicl joined #perl6
14:25 shinobicl Hi
14:25 shinobicl rakudo: my @dice = <⚀ ⚁ ⚂ ⚃ ⚄ ⚅>; say @dice.pick(2).perl;
14:25 p6eval rakudo 1e85ff: OUTPUT«("⚂", "⚃").list␤»
14:26 shinobicl what should i do if i want to have repeated dice?
14:26 moritz shinobicl: .roll
14:26 shinobicl oh.. thanks!
14:27 moritz r: say '⚀' ... '⚅'
14:27 p6eval rakudo 1e85ff: OUTPUT«⚀ ⚁ ⚂ ⚃ ⚄ ⚅␤»
14:27 moritz \o/
14:29 shinobicl my @dice = ("⚀" .. "⚅"); say @dice.roll(2).perl;
14:29 shinobicl rakudo: my @dice = ("⚀" .. "⚅"); say @dice.roll(2).perl;
14:29 p6eval rakudo 1e85ff: OUTPUT«("⚅", "⚂").list␤»
14:30 shinobicl so ".." and "..." do the same thing?
14:32 moritz no
14:32 moritz r: say ("⚀" .. "⚅").WHAT
14:32 p6eval rakudo 1e85ff: OUTPUT«Range()␤»
14:32 moritz r: say ("⚀" ... "⚅").WHAT
14:32 p6eval rakudo 1e85ff: OUTPUT«List()␤»
14:33 shinobicl range is lazy and list is not?
14:46 moritz Range stores start- and endpoint, List all elements
14:47 moritz but there are other differences too; see for example http://doc.perl6.org/language/operators#infix+...
14:49 mmcleric joined #perl6
14:55 [Coke] moritz: where is the code for that stored
14:55 [Coke] ?
14:55 pmichaud good morning, #perl6
14:56 [Coke] ah, crap, I'm at DAYJOB anyway :there's a duplicate "this allows you..." near the end of that section.
14:56 [Coke] hio.
14:56 skids joined #perl6
14:56 moritz \o pmichaud
14:57 shinobicl left #perl6
14:57 stopbit joined #perl6
15:01 shinobicl joined #perl6
15:06 arnsholt Heh. Dist::Zilla has a lot of dependencies
15:07 PerlJam arnsholt: I'm willing to bet that it has the most dependencies of anything on CPAN  :)
15:09 moritz except maybe Angerwhale
15:11 salv01 joined #perl6
15:14 [Coke] for masak:
15:14 [Coke] -> (10:08) From Ultor, to random: - Every time you miss a typo, the errorists w
15:14 [Coke] in!
15:14 [Coke] (misplaced newline my unintended error!)
15:15 FROGGS why do I read terrorists there?
15:15 mberends joined #perl6
15:16 arnsholt Angerwhale?
15:16 PerlJam FROGGS: because you don't actually read each letter and assemble them into words.  You really skim the words and your brain fills in the details.
15:17 arnsholt Oh, there it is
15:17 PerlJam FROGGS: (I read it like 3 times before I didn't see "terrorists" anymore :)
15:29 CharellKing left #perl6
15:33 pmichaud r: say 1, 1, *+* ... *>=100;
15:33 p6eval rakudo 1e85ff: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144␤»
15:36 benabik joined #perl6
15:39 raiph joined #perl6
15:39 raiph_ joined #perl6
15:40 raiph__ joined #perl6
15:40 shinobicl left #perl6
15:42 kaare_ joined #perl6
15:44 PerlJam masak: Are you familiar with the book "Let Over Lambda"?  http://letoverlambda.com/index.cl
15:46 FROGGS jnthn: btw, this is working now locally:    say "fooooo" ~~ /@( <a b o c f>[0,2] )+/   gives 「ooooo」    and     my @a = <f a o>; say "fooooo" ~~ /@a+/   gives 「fooooo」
15:47 arnsholt Let over lambda sounds interesting, but the author comes across as more than a little condescending
15:49 FROGGS wow, sounds like I can't live without this book anymore^^
15:53 Targen joined #perl6
15:57 masak sorear: yes, and "green idea" became a thing not because of Chomsky, but orthogonal to him. langauge has a way of doing that. :)
15:57 masak PerlJam: familiar with it, yes. it's also on my (too long) wishlist. :)
15:57 jnthn FROGGS: najs!
15:58 PerlJam masak: seems like it might be a good read that might infect your brain with some useful ideas about macros.
16:04 [Coke] Sir, I'm sorry, but you have a pretty serious macro infection here.
16:04 [Coke] I'm afraid some ColdFusion is the only alternative.
16:04 benabik Cure is worse than the disease.
16:09 krunen joined #perl6
16:09 masak PerlJam: I (re-)found http://www.okmij.org/ftp/Scheme/ the other day and plan to read it.
16:10 cxreg jnthn: impressive work on the jvm repo
16:10 masak PerlJam: also, I still need to follow up on the nice recommendations by the #scheme peeps.
16:12 PerlJam masak: ... and you still need to do p6cc  :)
16:12 PerlJam masak: just thought I'd mention the book in case you didn't know about it.
16:12 masak I was digging into p6cc yesterday. plan to dig more into it tonight.
16:13 PerlJam masak++
16:13 [Coke] mst: regarding a point in your redux post: I'm not sure "the community helping him work on it are happy with that", but for me at least, that ship sailed, and I feel like it falls under Rule #1.
16:14 masak +1
16:17 mst [Coke]: weeel, s/are happy with that/don't seem to be arguing/
16:18 mst but my choice of words has as its primary purpose to make the people who think "no, perl6 should rename because everything is their fault" stfu
16:19 mst whether I think perl6 would benefit from a rename or not doesn't strike me as relevant to the discussion
16:20 benabik .oO( Camelia Perl )
16:21 [Coke] mst: merely picking a small nit. Thanks for the proposal.
16:22 [Coke] I feel like we're playing version number chicken.
16:26 atrodo I say we rename Perl5 and Perl6 both to Perl7, that'll confuse everyone and no one will ever talk about it again
16:27 PerlJam renaming is a diversion.  I say we don't do it  (even jokingly)
16:30 [Coke] http://www.groklaw.net/articl​e.php?story=20130215074839583 - python asks for help with trademark in EU. Folks here might have some prior art to provide.
16:31 kaleem joined #perl6
16:32 TimToady actually, Perl 6 is mostly the fault of all those Perl 5 programmers who wrote too many durn RFCs  :)
16:33 TimToady and I'll let them have Perl 7 when they come up with a better design to deal with all those RFCs than Perl 6 :)
16:33 PerlJam There were 35something RFCs ... I wonder how many authors?
16:34 TimToady really, I think this will become much less of an issue as soon as we achieve speed parity and interoperability with Perl 5
16:34 TimToady since this is all driven by the perception of Perl 6's failure
16:34 masak +1
16:35 [Coke] that's certainly a major component, but even if Perl 6 succeeds, there's still issues.
16:35 masak it'll become easi*er*. probably never completely friction-free.
16:35 masak like it or not, Perl 6 comes with baggage.
16:35 [Coke] (which mst++'s proposal will definitely help with, I think, from a business standpoint.)
16:35 masak aye.
16:37 raiph joined #perl6
16:37 raiph_ joined #perl6
16:37 raiph__ joined #perl6
16:39 TimToady masak++ is not a naysayer, he's just a yeahbutsayer...  :)
16:40 BigFarz joined #perl6
16:40 BigFarz hello
16:41 PerlJam BigFarz: greetings.
16:41 BigFarz Are you in Seattle?
16:41 masak BigFarz: ahoy!
16:41 TimToady "Not I" said the pig.
16:42 masak BigFarz: it is not the case that we are in Seattle.
16:42 TimToady but some of my genes are in Seattle
16:42 * masak .oO( the chose to seattle down there... )
16:42 masak they*
16:43 TimToady who's Attle, anyway?
16:43 BigFarz okay, you know that if you write a Perl 6 script and run in backwards on an 8086 processor you can hear John Lennon?
16:43 * TimToady beattles his eyebrows at that
16:43 masak BigFarz: is that before or after the 8086 runs out of memory?
16:44 BigFarz Kind of in the middle of that
16:44 TimToady .oO(We all live in an 8086, an 8086...)
16:44 * skids resists temptation to complete those lyrics
16:45 [Coke] Our perl mothers (and perl fathers...)
16:45 masak r: sub marine {}; say "goodbye"; say "hello";
16:45 p6eval rakudo 1e85ff: OUTPUT«goodbye␤hello␤»
16:46 BigFarz Question: should Mongers be Mongers or Monger's or Mongers'
16:46 TimToady depends
16:46 TimToady how is it used in a sentence?
16:46 [Coke] How many Mongers are mongering?
16:47 TimToady I went over to another Perl Monger's house
16:47 TimToady I went to the Perl Mongers' meeting place
16:47 TimToady I went to Perl Mongers
16:47 BigFarz All the Perl Mongers were in a bar one day.
16:47 BigFarz All the Perl Mongers were in a bar one day. ????
16:48 TimToady This generation is illiterate about apostrophe's, but then again, so were all the previous generation's.
16:49 pmichaud cool!  I just got a Valentine's Day VIP keychain from LEGO!  https://plus.google.com/photos/100583333​501980276903/albums/5845221549934851041
16:49 BigFarz Well I created a group on LinkedIn call Duluth Perl Monger's - and I can't figure out how to change it.
16:50 TimToady well, maybe you could link it out again, and start over
16:50 BigFarz Okay then: Question : Perl Monger?
16:50 TimToady yes and no
16:51 BigFarz Is one Perl Mongers a Perl Monger
16:51 TimToady yes
16:51 TimToady er, if you mean an individual programmer
16:51 TimToady not if you mean an individual group of mongers
16:51 TimToady so, yes and no :)
16:52 BigFarz can you splice a perl monger hash
16:52 pmichaud BigFarz: in LinkedIn, I can change my name by editing the profile
16:52 TimToady only if it's made out of corned mongers and potatoes
16:53 * TimToady assiduously avoids LinkedIn, so has no advice on that subject
16:53 pmichaud Profile -> Edit Profile -> click the pencil icon to the left of the name
16:53 census joined #perl6
16:53 BigFarz not profile I created a group
16:53 pmichaud oh, group.  checking.
16:54 TimToady so, are you in Duluth or Seattle?
16:55 pmichaud Groups -> Your Groups -> select the group -> Group Information (on left menu) -> change "Group Name"
16:55 FROGGS joined #perl6
16:55 pmichaud apparently the name can only be set six times or something like that.
16:55 BigFarz I'm in Duluth ... but I left me heart in San Francisco - in a bar where Tony Bennet was singing I left my Heart in San Francisco
16:56 TimToady I left my lungs in Los Angeles.
16:56 kresike bye folks
16:57 BigFarz not really, I never saw Tony Bennet in San Fransico
16:57 TimToady figgered you was making that one up
16:58 cxreg where did the seattle question come from?  i happen to be sitting there..
16:58 BigFarz have to take the dog out ---- nice meeting you all
16:58 TimToady It's supposed to go up to 73℉ here today, so it's neither Seattle nor Duluth
16:58 benabik joined #perl6
16:59 TimToady BigFarz: likewise
17:01 jnthn decommute &
17:15 SunilJoshi joined #perl6
17:15 Chillance joined #perl6
17:26 thou joined #perl6
17:33 SunilJoshi joined #perl6
17:33 autumn joined #perl6
17:40 TimToady "this is a courtesy call from your pharmacy--press any key to continue", so I pushed a button, and it hung up instead.  'course, it was the Off key I happened to press..
17:40 timotimo i remember an article(?) about someone who pressed the shift key when prompted to press "any key" and it didn't work
17:44 timotimo what is this "stow" thing i sometimes read people talking about?
17:46 REPLeffect joined #perl6
17:47 benabik timotimo: https://www.google.com/url?sa=t&amp;rct=j&amp;q​=&amp;esrc=s&amp;source=web&amp;cd=1&amp;ved=0C​DUQFjAA&amp;url=http%3A%2F%2Fwww.gnu.org%2Fs%2F​stow%2F&amp;ei=m3QeUdzpOuaR0QGr64DgDQ&amp;usg=A​FQjCNHccoGqnEy3DLv5DXwA4IGZ5k-J-Q&amp;sig2=aIjF​aupPCmvknKtxIja-Pg&amp;bvm=bv.42553238,d.dmQ
17:47 benabik Gah. google--
17:47 benabik timotimo: http://www.gnu.org/software/stow/
17:47 benabik timotimo: Something like a very simple package manager.
17:49 timotimo thank you :)
17:49 timotimo i would not have thought that something like that was google-able
17:49 timotimo i guess i should know better by now.
17:50 benabik I think I googled for GNU stow.
17:50 timotimo ah, that reminds me a little bit of update-alternatives from debian and eselect from gentoo
17:50 benabik Because I knew it was a gnu project.  There's also a few things derived from stow, like stow.
17:50 benabik xstow
17:51 PacoAir joined #perl6
18:01 PacoAir joined #perl6
18:24 proller joined #perl6
18:29 masak again, tomorrow Perl 6 celebrates an important birthday.
18:29 masak I'm gonna celebrate it by blogging a "where are we know" post.
18:30 TimToady I do knot now what you mean...
18:30 * geekosaur tries to figure out whether that's a typo or a pun
18:31 masak the birthday is http://irclog.perlgeek.de/​perl6/2013-02-14#i_6452892
18:31 masak Perl 6 hits the age Pumkin Perl was when Perl 6 was announced.
18:32 masak it was pure luck that I did that eval yesterday.
18:32 masak I had a hunch the date was soon, but I didn't know it was so soon :)
18:33 masak anyway, it feels like a good opportunity to look at the road behind us and the road ahead of us.
18:33 TimToady I wonder if we can pass Perl on RC by then...we're just 9 behind 'em :)
18:34 raiph___ joined #perl6
18:34 masak heh.
18:34 masak well, if you find 10 people on the channel and each one ports an RC task...
18:34 masak or if you find 5 willing to do two...
18:34 TimToady hey that kinda sounds like an RC task of some kind
18:35 TimToady or get 10 new tasks with the first example in p6...
18:36 TimToady well, I don't insist upon it; we're not really in competition with p5, except insofar as we are...
18:37 perigrin p5 still needs to learn that "not winning" != "losing" ... but then the rest of the world needs to learn that too.
18:39 masak perigrin: it's an outgroup thing. the outgroup looks in, and it's like all information comes filtered through a very narrow straw.
18:39 masak the bandwidth is terrible.
18:39 TimToady but for the mathy people in the crowd, there are still a number of cool problems on RC to work on
18:39 TimToady http://rosettacode.org/wiki/Polynomial_regression and such
18:39 masak so something nuanced like "Perl 6 might take a while because it's bloody hard" becomes "Perl 6 is stillborn!"
18:40 domidumont joined #perl6
18:40 TimToady it has the gestation period of a phoenix
18:40 huf the problem is, you guys are too transparent
18:40 huf should've stuck to backroom deals
18:40 huf :)
18:40 TimToady yes, well, we have some of those too...  :)
18:40 perigrin masak: this may be true, I'm not in a place to be "thoughtful" about it right now
18:44 PacoAir joined #perl6
18:44 FROGGS nr: my @a = <a b c>; say "@a"
18:44 p6eval rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«@a␤»
18:45 FROGGS is that right?
18:45 FROGGS I'd expect to get:
18:45 FROGGS nr: my @a = <a b c>; say @a.Str
18:45 p6eval rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«a b c␤»
18:46 uvtc joined #perl6
18:46 masak FROGGS: it's right.
18:46 masak FROGGS: non-$ interpolation needs to end in a postcircumfix.
18:46 masak nr: my @a = <a b c>; say "@a[]"
18:46 p6eval rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«a b c␤»
18:47 FROGGS ahh, I think I've seen this already
18:47 masak FROGGS: that way, email addresses won't interpolate :)
18:47 FROGGS right, and I know believe I already heard that explanation
18:47 FROGGS :o)
18:47 FROGGS thanks masak
18:48 FROGGS okay, so my local changes to INTERPOLATE still are fine \o/
18:48 quester joined #perl6
18:48 masak ;)
18:49 FROGGS but the NFA stuff is a tricky one
18:49 FROGGS :/
18:49 uvtc backlogging, had to chime in:
18:49 uvtc pmichaud: congrats on the Valentine's Day VIP keychain. Nice. :)
18:53 plzignoreme joined #perl6
18:53 japhb_ joined #perl6
18:56 donaldh joined #perl6
18:58 benabik_ joined #perl6
19:01 labster joined #perl6
19:01 fgomez joined #perl6
19:03 uvtc moritz: thanks for the help yesterday, building R with the latest sixparrot. I moved those notes I scribble down to http://wiki.perl6.org/Rakudo-Parrot .
19:04 SunilJoshi joined #perl6
19:04 uvtc *scribbled
19:09 dalek perl6-roast-data: 9413754 | coke++ | / (4 files):
19:09 dalek perl6-roast-data: today (automated commit)
19:09 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/941375482d
19:09 dalek perl6-roast-data: e458484 | coke++ | / (3 files):
19:09 dalek perl6-roast-data: today (automated commit)
19:09 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/e458484f0f
19:09 [Coke] rakudo now passes everything that isn't fudged that it runs (2 days running)
19:09 moritz \o/
19:10 [Coke] anyone who breaks that will get the ... rutabega.
19:10 [Coke] *rutabaga
19:12 uvtc What is traditonally given to the one who breaks the build?
19:12 [Coke] some short of shaming device.
19:12 [Coke] *SORT
19:12 moritz friendly incentive to unbreak it
19:12 * [Coke] eyes his fingers warily.
19:12 geekosaur a copy of php
19:13 moritz [Coke]: it's Friday :-)
19:13 [Coke] POKER NIGHT!
19:13 moritz geekosaur: we're not that crual
19:13 moritz *cruel
19:13 * moritz eyes his own fingers
19:13 labster They wake up with a findus lasagna in their bed.
19:15 [Coke] moritz: THE TYPOS ARE COMING FROM INSIDE YOUR OWN HANDS!
19:16 uvtc I remember reading somewhere: "The only bugs are the ones you put there yourself." :)
19:17 labster Anyway, it turns out that making a grammar to match CSV is very easy.  It helps that some of the examples in S05 actually involve matching comma-delimited code.
19:17 labster But I still have no idea what I'm doing with $/ and the ast.
19:18 [Coke] isn't there already a CSV module?
19:18 geekosaur CSV is easy until you realize that some variants use \ for ecaping, some use doubling, and some don't support escaping at all, and nobody documents which one they require/se
19:19 [Coke] https://github.com/masak/csv/
19:19 labster Oh, I guess there is... why is it on most wanted?
19:19 [Coke] I already started down that path before realizing masak beat me to it ages ago.
19:19 [Coke] labster: dunno. but check http://modules.perl6.org/ before starting fresh on a new project, JIC.
19:19 [Coke] where is the most wanted list? can you update it?
19:20 labster eh, I wasted about an hour on it, and it's all learning.
19:21 [Coke] learning++
19:21 labster https://github.com/japhb/perl6-most-wan​ted/blob/master/most-wanted/modules.md
19:22 [Coke] masak: Oh. now that I've submitted my code, I should create a sub project for the horrible Lingua::EN::Syllable port.
19:23 Chillance_ joined #perl6
19:23 pupoque joined #perl6
19:27 proller joined #perl6
19:28 fgomez joined #perl6
19:28 labster oh, that's why it's on the list.  masak's Text::CSV is broken.
19:29 masak [Coke]: you should :)
19:30 masak oh, Text::CSV is broken? :/
19:30 masak I believe whatever's wrong with it, it should be fairly fixable. it's a pretty solid piece of work.
19:31 labster yeah, it looks easy to fix, I'll try it
19:33 masak ++labster
19:33 masak I always loved the :object(MyType) option. you can parse CSV and generate custom objects right out of it!
19:39 labster r:   regex TOP { ^ <line> %% \n <empty_line>? $ }
19:39 p6eval rakudo 1e85ff: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter % (must be quoted to match literally)�at /tmp/ZrdfNcBgHq:1�------> [32mregex TOP { ^ <line> [33m�[31m%% \n <empty_line>? $ }[0m�Malformed regex�at /tmp/ZrdfNcBgHq:1�------> [32mregex TOP { ^ <line…
19:39 labster now with quotes:
19:39 labster r:    regex TOP { ^ <line> %% "\n" <empty_line>? $ }
19:39 p6eval rakudo 1e85ff: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter % (must be quoted to match literally)�at /tmp/qfj8bnxmXt:1�------> [32mregex TOP { ^ <line> [33m�[31m%% "\n" <empty_line>? $ }[0m�Malformed regex�at /tmp/qfj8bnxmXt:1�------> [32mregex TOP { ^ <li…
19:40 benabik labster: It's the %% it's complaining about, not the \n
19:40 masak labster: you need a + or a * before %%
19:41 labster yeah, just got it
19:43 Targen joined #perl6
19:45 masak std: / "foo" %% \n /
19:45 p6eval std 7551b8f: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter % (must be quoted to match literally) at /tmp/Vlz35r7GGk line 1:�------> [32m/ "foo" %[33m�[31m% \n /[0m�Unable to parse regex; couldn't find final '/' at /tmp/Vlz35r7GGk line 1:�------> [32m/ "foo"…
19:45 masak arguably the failure mode could have a better error message.
19:51 grondilu an interesting concept for computer architecture, no more sequential access to data and code:  http://phys.org/news/2013-02-self-repairing.html
19:59 arlinius joined #perl6
20:09 thou joined #perl6
20:10 donaldh joined #perl6
20:13 fgomez joined #perl6
20:16 benabik joined #perl6
20:18 thou joined #perl6
20:38 swarley Code is coming along nicely, progress should be made by tonight
20:40 zby_home joined #perl6
20:40 * FROGGS .oO( "[...] little padawan" )
20:42 japhb_ labster, re: http://irclog.perlgeek.de/​perl6/2013-02-15#i_6458572 -- It's because I'm still in the process of filling in the most-wanted lists with requested stuff; I have not done the pass of going through everything in the current Perl 6 ecosystem, evaluating its status, and deciding whether it meets the requirements, needs to be fixed to run on current Rakudo/Niecza, or isn't anywhere close so needs either a lot of help or a reimplementation.
20:42 japhb_ Help in either of those stages of course much appreciated.
20:42 japhb_ Which reminds me: Who is currently an admin of the perl6 org on github?
20:45 labster Text::CSV is working now, but not passing all tests.
20:45 rprajapa joined #perl6
20:46 arlinius joined #perl6
20:46 moritz japhb_: me
20:47 labster japhb: can I request a module binding to 7z.so/lib7zip?  In theory it can handle a ton of archive formats.
20:48 masak labster: cool. can you send a pull request? I'll merge it.
20:53 dalek perl6-most-wanted: d36031c | (Geoffrey Broadwell)++ | most-wanted/bindings.md:
20:53 dalek perl6-most-wanted: Add 7zip to most-wanted bindings (labster++)
20:53 dalek perl6-most-wanted: review: https://github.com/japhb/perl6​-most-wanted/commit/d36031c168
20:54 labster masak: sent.  I made a minor change so that weird lines like q/foo,"""","ba""z"/ work according to rfc4180.
20:55 japhb_ moritz, I've not transfered a repo into an org I don't run before (and last time I did it with an org I *did* run was almost two years ago).  Anything special to worry about in transferring perl6-most-wanted over to the perl6 org now?
20:55 [Coke] labster++
20:57 labster masak: I think 03-quotes.t test 2 is failing because the header is getting sent twice. not to mention output<hashes> not working right at all, but I'll leave that to you.
20:58 dalek perl6-most-wanted: 392a9c0 | (Geoffrey Broadwell)++ | most-wanted/modules.md:
20:58 dalek perl6-most-wanted: Text::CSV is WIP (not all tests pass yet)
20:58 dalek perl6-most-wanted: review: https://github.com/japhb/perl6​-most-wanted/commit/392a9c0889
20:58 masak labster: merged.
20:59 masak labster: I'll look at it tomorrow.
20:59 masak GlitchMr: oops, I see you've done some good work with Text::CSV and sent it as pull requests. sorry for missing it for so long.
20:59 masak still not good at picking out Github signal from Github noise.
20:59 japhb_ moritz, I'm ready when you are.
21:00 masak I'm quite exhausted due to too-early morning. I think I'm going to cede this day and hope for a tomorrow. :)
21:00 masak 'night, #perl6
21:00 moritz japhb_: no, just do it
21:01 japhb_ Good luck with sweet dreams, masak
21:01 japhb_ moritz, roger that
21:02 japhb_ moritz, gah, it won't let me
21:03 japhb_ (Since I'm not an admin at the destination org.  :-( )
21:03 moritz japhb_: should I just clone the repo into the perl6 org?
21:03 japhb_ Yeah, I guess that's the best option for now.
21:03 moritz s/clone/fork/
21:03 japhb_ Right
21:05 spider-mario joined #perl6
21:06 japhb_ So now what's the right way to deprecate my fork?
21:08 donaldh joined #perl6
21:12 dalek nqp-jvm-prep: 5717a70 | jnthn++ | lib/QAST/JASTCompiler.nqp:
21:12 dalek nqp-jvm-prep: Implement altseq (which makes || work).
21:12 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/5717a70812
21:12 dalek nqp-jvm-prep: 4dabd0e | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
21:12 dalek nqp-jvm-prep: Implement rxpeek op.
21:12 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/4dabd0ef91
21:12 dalek nqp-jvm-prep: 952b916 | jnthn++ | lib/QAST/JASTCompiler.nqp:
21:12 dalek nqp-jvm-prep: Compile greedy quantifiers.
21:12 dalek nqp-jvm-prep:
21:12 dalek nqp-jvm-prep: Also includes compilation of ratcheting ones, but rxcommit is NYI.
21:12 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/952b9160a7
21:13 moritz japhb_: put a notice in the README
21:13 moritz japhb_: and after a while, delete the repo
21:16 japhb_ moritz, OK, got it.
21:17 dalek perl6-most-wanted: d51d9f9 | (Geoffrey Broadwell)++ | README.md:
21:17 dalek perl6-most-wanted: Put 'old fork' warning in top-level README
21:17 dalek perl6-most-wanted: review: https://github.com/japhb/perl6​-most-wanted/commit/d51d9f93ef
21:20 japhb_ OK, I'm switched.
21:20 BigFarz left #perl6
21:20 japhb_ Anyone wanting to help with perl6-most-wanted, please use https://github.com/perl6/perl6-most-wanted
21:20 fgomez joined #perl6
21:21 japhb_ moritz, when you forked it, did it bring the commit hook that pings dalek as well?  Or do you need to set that up still?
21:22 jnthn I'm pretty sure it'll be a separate thing
21:22 TimToady r: https://gist.github.com/TimToady/4963642
21:22 p6eval rakudo 1e85ff: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/gNPEOIS0NV:1â�¤------> [32mhttps[33mâ��[31m://gist.git​hub.com/TimToady/4963642[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤        stateme…
21:22 TimToady r: http://gist.github.com/TimToady/4963642
21:22 p6eval rakudo 1e85ff: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/gtKhPyZWFu:1â�¤------> [32mhttp[33mâ��[31m://gist.git​hub.com/TimToady/4963642[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤        statemen…
21:22 TimToady doesn't do that anymore?
21:23 japhb_ moritz (or some other perl6 org admin), would you mind setting up the dalek commit hook for perl6/perl6-most-wanted?
21:23 jnthn I think the URL format maybe changed
21:23 jnthn And now it doesn't recognize it
21:23 TimToady jnthn: anywho, that gets me an error Nominal type check failed for parameter '$payload'; expected T but got Int instead
21:23 TimToady but T is supposed to instantiate to Int
21:25 jnthn Sure is.
21:25 jnthn Any idea exactly which T it is?
21:26 TimToady the sig in post-insert
21:26 jnthn oh.
21:26 jnthn role DLL[::T] {
21:26 jnthn my class DLLE does DLL_Element[T] {}
21:26 jnthn You nested a class in a role.
21:27 TimToady I don't know how to do that otherwise
21:27 jnthn Roles aren't as macro-ish as you expected them...
21:27 TimToady well, I guess I can instantiate in parallel, but it'd be nice if one could drive the other
21:27 jnthn It doesn't make a fresh class per role instance.
21:28 jnthn And the one declaration sees the uninstantiated type variable, 'cus it comes into existence before the role is ever composed.
21:28 TimToady okay...have to think about it s'more
21:28 jnthn Does the spec make a call on what happens to packages declared inside roles? iirc, it doesn't call either way
21:29 jnthn I've always had it down as a grey area. :)
21:29 TimToady here be grey dragons...
21:29 jnthn I suspect we *could* find a way to make it work but by then we're pushing roles further into macro territory
21:29 japhb_ .oO( TimToady: "Do I want this enough to change the spec so jnthn has to make it so ...?"  :-)  )
21:30 TimToady I just think it's kind of typical to want to instantiate a forest of classes together
21:30 jnthn TimToady: While you're on it, you may also wish to ponder this issue:
21:31 jnthn r: role Foo { our sub foo() { say 42 } }; Foo::foo()
21:31 p6eval rakudo 1e85ff: OUTPUT«Could not find symbol '&foo'␤  in method <anon> at src/gen/CORE.setting:10521␤  in  at src/gen/Metamodel.pm:2488␤  in any find_method_fallback at src/gen/Metamodel.pm:2476␤  in any find_method at src/gen/Metamodel.pm:925␤  in  at src/gen/BOOTSTRAP.pm:883␤  in any  …
21:31 jnthn That at first blush looks like it should work, but it doesn't at the moment.
21:31 jnthn The reason it doesn't is...
21:32 diakopter oh, I thought it was Perl Munger
21:32 jnthn role Foo { }; role Foo[::T] { }
21:32 jnthn Roles are multiple dispatch
21:32 TimToady diakopter: eventually it will be Perl Manger
21:32 jnthn What's actually installed in Foo is not actually the role. It's basically a thingy that does a multi dispatch to pick a role.
21:32 wk joined #perl6
21:33 jnthn Which gets a type object of its own.
21:33 jnthn ParametricRoleGroupHOW or so.
21:33 TimToady the downside to all this punning...
21:34 moritz .oO( punning for the fjords...)
21:34 jnthn Yeah. Well, I've mentioned before just how many different forms roles come in :)
21:34 jnthn Which I don't see as a problem per se.
21:35 jnthn But the only sane way I found to implement all the things is to untangle the puns.
21:35 jnthn tbh, I think putting our scoped stuff inside something generic is crazy anyway...
21:35 * TimToady imagines Foo as a search path of packages, and shudders
21:36 TimToady which is why I declared my inner class with 'my' :)
21:36 jnthn That is, I can imagine that if you try to install something our-scoped inside a role, we say "no, this won't end well" :)
21:37 jnthn Yeah. I can see what you wanted it to do. :)
21:37 jnthn I'm just asking if we really want the complexity of doing it :)
21:37 TimToady dunno; do Java generics have a story on this sort of thing?
21:38 jnthn It *is* the same machinary masak++ will want for declarations in macros, so in a sense we're gonna have to solve the problem anyway.
21:38 TimToady .oO(and you thought *monads* were hard to lift...)
21:38 jnthn Java generics are mostly an example of what not to do. :)
21:39 jnthn C# ones, otoh, are done properly.
21:39 TimToady so what do they do in this case?
21:39 jnthn In C#, if you write an inner class inside a generic class, it also becomes generic.
21:39 pmurias joined #perl6
21:40 jnthn Hm, darn, I just said that's the proper thing to do, didn't I... :)
21:41 * TimToady is not going to torment the implementors (much) more than they torment themselves
21:41 jnthn From the spec:
21:41 jnthn Any class nested inside a generic class declaration or a generic struct declaration (§25.2) is itself a generic class declaration, since type parameters for the containing type shall be supplied to create a constructed type.
21:42 jnthn We maybe don't want quite that factoring, since our type parameters are just lexical.
21:43 jnthn We just want to hang on to the class in a generic form and then reify it.
21:43 TimToady but an inner class that is dependent on T, like mine...
21:43 uvtc left #perl6
21:43 jnthn Well, I guess we'd treat any class inside a role as generic in some sense.
21:44 jnthn I suspect making it do what you expected is (a) possible, (b) least surprising, and (c) hard. :)
21:45 jnthn Which basically makes it a great candidate for a Perl 6 feature. ;-)
21:45 TimToady vicarious suffering, and all that...
21:45 TimToady well, just because it's Friday doesn't mean you have to do it today :)
21:46 jnthn :)
21:46 jnthn No, the regex engine port is quite enough fun for one day ;)
21:46 jnthn Anyway, no objections if you want to spec it that way.
21:47 * TimToady is not sure he understands it well enough yet to talk about it
21:47 nwc10 masak: Austria has found horsemeat masquarading as beef: http://derstandard.at/1360681627702/Erster-Fall-vo​n-Pferdefleisch-in-Fertigprodukten-in-Oesterreich
21:48 arlinius joined #perl6
21:48 jnthn .oO( ... in Ostrich?! Oh, wait... )
21:48 TimToady I don't believe the national anthem has any guarantees to the contrary
21:49 TimToady though for some reason I only recall the first few lines...
21:50 nwc10 well, tonight we had chicken. Pretty sure about that. There were plausible bones.
21:50 TimToady r: lines.pick(*)
21:50 p6eval rakudo 1e85ff:  ( no output )
21:50 TimToady r: lines.pick(*).say
21:50 p6eval rakudo 1e85ff: OUTPUT«vielgeliebtes Österreich, frei und gläubig sieh uns schreiten,  vielgerühmtes Österreich, liegst dem Erdteil du inmitten, einem starken Herzen gleich. vielgeprüftes Österreich, Mutig in die neuen Zeiten, Einig laß in Brüderchören, Land der Hämmer, zukunftsreich!  v…
21:50 spanner joined #perl6
21:51 TimToady well, Ostrich is a red meat, so maybe it's pretending to be horsemeat pretending to be beef
21:55 AigleNoir joined #perl6
21:59 donaldh joined #perl6
22:14 nwc10 jnthn: "All tests successful."
22:14 donaldh joined #perl6
22:15 [particle] joined #perl6
22:15 mj41 rhr: { say "MY " ~ MY::.perl; }
22:17 mj41 rakudo: { say "MY " ~ MY::.perl; }
22:17 p6eval rakudo 1e85ff: OUTPUT«No such method 'perl' for invocant of type 'CallContext'␤  in method perl at src/gen/CORE.setting:6548␤  in block  at /tmp/MxGJQp8oiO:1␤␤»
22:19 diakopter r: say MY::.^methods
22:19 p6eval rakudo 1e85ff: OUTPUT«new at_key bind_key exists elems exists iterator list keys kv values pairs invert at_key STORE_AT_KEY Capture FLATTENABLE_LIST FLATTENABLE_HASH fmt hash of Bool ACCEPTS perl elems infinite item fmt Int Num chrs Numeric Str␤»
22:19 diakopter there's a perl method
22:20 jnthn yes, it tried to .perl something inside of there.
22:20 jnthn Which didn't work out.
22:28 telex joined #perl6
22:31 japhb_ .oO( That's ... not going to work out. )
22:40 dalek nqp-jvm-prep: 7e392cf | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/VMArrayInstance_ (3 files):
22:40 dalek nqp-jvm-prep: Fix a thinko in at_pos_native.
22:40 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/7e392cfe66
22:40 dalek nqp-jvm-prep: a0e826b | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
22:40 dalek nqp-jvm-prep: Implement rxcommit; ratchet quants now work.
22:40 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/a0e826b2ba
22:40 dalek nqp-jvm-prep: a0fabc9 | jnthn++ | lib/QAST/JASTCompiler.nqp:
22:40 dalek nqp-jvm-prep: Factor out rxmark calls.
22:40 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/a0fabc9552
22:40 dalek nqp-jvm-prep: 3294e6b | jnthn++ | lib/QAST/JASTCompiler.nqp:
22:40 dalek nqp-jvm-prep: Compile frugal quantifiers.
22:40 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/3294e6bb9a
22:42 colomon joined #perl6
22:45 pmurias_ joined #perl6
22:46 pmurias jnthn: how are classes in nqp-{jvm,js} supposed to specify how they boolify?
22:49 pmurias jnthn: ah, there is a setboolspec
22:49 jnthn yes, that way :)
22:49 jnthn See istrue in Ops.java
22:50 pmurias just seen it
22:51 nwc10 jnthn: still All tests successful.
22:51 pmurias everything seems much clearer when not in a noisy, crowded train after a 3 hour exam ;)
22:52 jnthn I'll imagine.
22:52 jnthn Hope the exam went fine.
22:52 pmurias me too
22:52 pmurias ;)
22:54 jnthn pmurias: Somebody just passed http://asmjs.org/spec/latest/ my way...dunno if it's of any interest for your rakudo-js work
22:55 pmurias NQPCORE.setting in nqp-jvm-prep is a slightly hand modified version copied from nqp
22:55 pmurias ?
22:56 jnthn Yeah
22:56 jnthn I'm aiming for convergence.
22:57 pmurias nqp-js passes all it's test with a slightly modified stolen version of that
22:57 jnthn \o/
22:57 jnthn Nice!
22:57 pmurias (I'll commit it tommorow after I clean up some hacks that are need for that)
23:00 pmurias jnthn: and how can classes specify how they are converted to integers and numers?
23:01 pmurias jnthn: re asmjs.org that could be very usefull for winning numeric benchmarks ;)
23:03 jnthn pmurias: Converted to integers/numbers/strings will go the Perl 6 way: .Int, .Num, .Str.
23:04 pmurias and why not .Bool?
23:04 jnthn So, methods.
23:04 jnthn It does as a fallback.
23:04 jnthn Boolification is so common it gets a fast path.
23:05 jnthn For Int/Num/Str hotpath code we're tending to be operating on things that are already the right type.
23:05 lue hello o/
23:05 jnthn o/ lue
23:06 jnthn I want to get rid of the Parrot v-table use for get_string/get_integer/get_number.
23:06 jnthn *of
23:06 jnthn Since it typically leads to nested runloops.
23:06 jnthn And other such horrors.
23:09 pmurias I agree
23:13 fgomez joined #perl6
23:29 raiph joined #perl6
23:29 18VAAQ2YG joined #perl6
23:29 1JTAAJVHX joined #perl6
23:37 arlinius joined #perl6
23:41 raiph joined #perl6
23:41 18VAAQ21T joined #perl6
23:41 1JTAAJVN9 joined #perl6
23:49 dalek nqp-jvm-prep: dfcec49 | jnthn++ | lib/QAST/JASTCompiler.nqp:
23:49 dalek nqp-jvm-prep: Create less temporaries.
23:49 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/dfcec49b15
23:49 dalek nqp-jvm-prep: bb15902 | jnthn++ | lib/QAST/JASTCompiler.nqp:
23:49 dalek nqp-jvm-prep: Compile subcaptures.
23:49 dalek nqp-jvm-prep:
23:49 dalek nqp-jvm-prep: This means that we can now handle things like:
23:49 dalek nqp-jvm-prep:
23:49 dalek nqp-jvm-prep:     say(('abcdef' ~~ /$<foo>=[<[bc]>+d]ef || <[de]>f/).hash<foo>.Str())
23:49 dalek nqp-jvm-prep:
23:49 dalek nqp-jvm-prep: Note that we don't yet know how to backtrack the cursor stack, so any
23:49 dalek nqp-jvm-prep: backtracking thing after a subcapture won't end well.
23:49 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/bb15902cc0
23:49 dalek nqp-jvm-prep: a125d08 | jnthn++ | docs/ROADMAP:
23:49 dalek nqp-jvm-prep: Update ROADMAP.
23:49 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/a125d08043
23:56 18VAAQ245 joined #perl6
23:56 1JTAAJVU7 joined #perl6
23:58 raiph joined #perl6

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

Perl 6 | Reference Documentation | Rakudo