»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:12 CharellKing left 00:13 CharellKing joined 00:22 Chillance left 00:42 crab2313 left 00:48 thou left 00:53 thou_ joined, thou_ left 00:54 thou_ joined 00:55 thou_ left 00:56 thou joined 01:01 thou left 01:06 thou joined 01:07 stevan_ joined 01:08 thou_ joined 01:09 thou_ left 01:12 thou_ joined, thou left 01:15 thou joined 01:16 thou_ left 01:17 thou_ joined 01:20 thou left 01:21 thou joined 01:22 thou_ left 01:29 jlaire left 01:30 thou_ joined 01:32 census__ left, thou_ left 01:33 jlaire joined 01:34 thou left, thou joined 01:36 japhb_ left 01:57 raiph_ left 02:02 thou left 02:10 raiph joined, raiph_ joined 02:11 raiph__ joined, timotimo left, atrodo left, timotimo joined 02:12 atrodo joined 02:16 raiph_ left, raiph__ left, raiph left 02:19 atrodo left, raiph joined, raiph_ joined 02:20 atrodo joined, raiph__ joined 02:23 atrodo left, atrodo joined 02:28 fgomez left 02:45 raiph_ left, raiph__ left 02:46 raiph left 03:00 xenoterracide left 03:01 xenoterracide joined, raiph joined 03:03 raiph_ joined, bluescreen10 joined, bluescreen10 left, raiph__ joined 03:07 census joined 03:10 stevan_ left 03:11 stevan_ joined 03:12 census left 03:17 raiph__ left 03:18 raiph_ left, raiph left 03:19 xenoterracide left, xenoterracide joined 03:21 xenoterracide left 03:22 raiph joined, raiph_ joined, raiph__ joined 03:23 xenoterracide joined 03:32 xenoterracide left 03:33 xenoterracide joined, orafu left 03:34 orafu joined 03:39 raiph_ left, raiph left 03:40 raiph__ left 03:43 raiph joined, raiph_ joined, raiph__ joined 03:44 census joined 03:55 census left 03:59 xenoterracide left, xenoterracide joined 04:14 kst joined 04:17 fgomez joined 04:18 mulli joined 04:20 uvtc joined
mulli anyone here? 04:26
diakopter hi
uvtc hi, mulli
shachaf There is only silence and some second-hand clothes. 04:27
mulli Is anyone in here an expert on perl5 ithreads
uvtc mulli: this is the Perl 6 channel. Maybe you're looking for #perl? :) 04:28
mulli I went there.
i did not find the droid i was looking for. 04:29
geekosaur you won't find it here either
diakopter someone may be kind and privmsg you
sorear look for schmorp
uvtc mulli: note, there's #perl on irc.perl.org, and also #perl at freenode also.
mulli damn.. well it was worth a try I guess.
ok
geekosaur mulliu is already in #perl here, got rebuffed for wantingt o use threads at all
which I can somewhat understand as the thread situation in perl5 has always been a mess 04:30
04:31 mulli left
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
bah, ey quit before seeing my warning
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:33
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
sorear uvtc: depends on what you mean by "use"
geekosaur (which means *we* should get it right)
sorear uvtc: STD is not really suitable for use as a parser as-is
uvtc: rakudo and niecza both have parsers strongly based on STD
uvtc sorear: ok, that sounds familiar. 04:34
geekosaur STD is a recognizer, not a parser.
you need a lot of extra machinery to turn it into a parser
uvtc I think I probably don't understand how the parts fit together here. Hm. 04:35
What uses std?
skids Larry :-) 04:36
geekosaur the perl6 eval bot here uses std, but it only does recognition
uvtc Oh darn, I just asked that as part deux of the question above.
geekosaur std: .say
p6eval std 7551b8f: OUTPUT«ok 00:00 41m␤»
uvtc Oh. You can ask std things. 04:37
geekosaur it's kinda the arbiter of the language that rakudo and niecza *shoul*, but don't always, aceept
uvtc I should probably back up then. What does std do?
sorear geekosaur: actually std can be used directly as a parser, via ./viv -y
skids rakudo and neicza occasionally try to make themselves closer to STD. 04:38
It's sort of the goal
geekosaur when the spec changes, std is updated more quickly because it's often easier to modify
sorear but it produces awful ASTs, and it's rather poorly suited to integration
geekosaur then it can be used to check rakudo and niecza
(and pugs, but that's so far behind that it's kinda moot at the moment)
04:40 raiph__ left
uvtc geekosaur: in what way can std be used to "check rakudo" (or niecza)? 04:40
04:40 raiph left
geekosaur std says the grammatical constructs that ideally should be accepted 04:40
04:41 raiph_ left
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?
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.
geekosaur syntactically. it can't check semantics very well
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
exactly, yes
TimToady it's a little more than that, insofar as it can translate itself to Perl 5
diakopter "reference implementation" is the exact wording on www.perl6.org/compilers/
geekosaur ok, there is that 04:45
TimToady after all, what do you think is actually running when you ask it things?
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.
TimToady afk & 04:48
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?
Morpheus: STD would say it knows enough.
Neo: And STD is never wrong?
Morpheus: [sighs] Try not to think of grammars as syntax and semantics... STD is a guide.
geekosaur: thanks. :) 04:50
04:51 raiph joined, preflex left, raiph_ joined, preflex_ joined, raiph__ joined 04:52 preflex_ is now known as preflex
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:01
05:09 raiph_ left, raiph left 05:10 raiph__ left 05:13 raiph joined, raiph_ joined 05:14 raiph__ joined 05:15 quester joined 05:16 xinming left 05:17 xinming joined, raiph_ left 05:18 raiph__ left, raiph left 05:21 raiph joined
uvtc Does nqp compile "not quite perl" code to Parrot bytecode? 05:22
05:22 raiph_ joined, raiph__ joined
diakopter well, to PIR, yes 05:23
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?
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
I think nqp is in that same general space?
swarley Well I seem to have gotten sidetracked 05:34
diakopter oh?
swarley I meant to work on finishing sixModel today
But then I realized that Go has almost no decent flex implementation
So I ended up working on that
sorear uvtc: both NQP and Perl 6 are compiled to a common intermediate format called QAST
diakopter flex?
sorear QAST is then compiled to PIR
swarley The GNU version of lex 05:35
sorear flex is not GNU
swarley It's not?
sorear it's from BSD
swarley Ah
I thought they had domain over that too
Not BSD
sorear bison is GNU though
diakopter thought you meant Adobe Flex...
swarley Oh lord no
uvtc sorear: Thanks!
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:36
uvtc sorear: which piece compiles QAST to PIR? 05:39
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
uvtc sorear: is that part of NQP? 05:41
sorear yes
uvtc thanks, sorear. 05:42
05:42 Targen joined
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 05:44
uvtc Thanks for the help, all. I wrote it up and put it into the wiki: wiki.perl6.org/Some%20Major%20Parts...20Perl%206 06:02
06:07 c9s joined, c9s left
uvtc g'night 06:08
06:08 uvtc left 06:38 zby_home_ joined 06:42 kaleem joined
moritz \o 06:50
CharellKing :-D 06:57
07:07 b1rkh0ff left
sorear o/ 07:13
arnsholt "Stage post : 54961.162" =D 07:14
sorear Is that s or ms 07:15
arnsholt Seconds =)
I put my laptop in the middle of the Rakudo compile
sorear That sentence is grammatical but makes no sense. 07:16
arnsholt Oh, I accidentally a word 07:17
I put my laptop *to sleep*
sorear Ah. 07:18
arnsholt So nothing magical about it really, just a bit amusing 07:19
sorear I rather thought that you just got a handmedown laptop from lue 07:20
:)
07:20 b1rkh0ff joined
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:31 araujo left 07:44 domidumont joined 07:45 FROGGS joined 07:50 wk joined 08:00 SamuraiJack joined 08:12 domidumont left 08:13 kaleem left 08:26 domidumont joined 08:27 wk left 08:31 kaleem joined
masak morning, #perl6. 08:32
08:32 domidumont left
masak <sorear> That sentence is grammatical but makes no sense. 08:32
hehe.
today's mini-challenge: provide me with sentences that are grammatical but make no sense.
08:32 kaleem left
masak (you don't have to use Perl 6 for this one) 08:32
(and yes, I'm aware of "colorless green ideas sleep furiously". make up your own one, and be creative about it.) 08:33
08:33 domidumont joined
masak & 08:33
08:33 kaleem joined
arnsholt jnthn: Do we perhaps want some kind of rudimentary Buf support in NQP? 08:33
08:36 fhelmberger joined
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
s/subsentence/fragment/
arnsholt jnthn: Looking around Buf related code, there're some smatterings of PIR and dependencies on Parrot's ByteBuffer 08:38
08:40 labster left 08:48 sivoais left 08:50 daxim joined 08:51 sivoais joined 08:53 kresike joined
kresike hello all you happy perl6 people 08:53
diakopter kresike: your greeting always cheers me :) 08:55
kresike diakopter, that's the whole point of it ☺ 08:56
09:16 wk joined 09:27 quester left 09:39 dakkar joined
jnthn morning o/ 09:45
nwc10 jnthn: All tests still successful
jnthn nwc10: Still???
diakopter o/
09:49 lizmat left
jnthn arnsholt: We may well want something like that, yes. 09:49
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
Result: PASS
so, yes, still.
grondilu google Chelyabinsk, guys. Big meteor event in Russia today. 09:56
jnthn saw that news 09:57
Seems people got injured by windows blowing out rather than by getting hit by the meteor fragments... 09:58
grondilu indeed 09:59
moritz so, windows are evil!
grondilu nice one, moritz
nwc10 and should be got rid of? It's curtains for windows?
jnthn Well, they've always been a pane... 10:01
10:11 erkan joined 10:15 ObseLeTe joined 10:18 kaleem left 10:40 araujo joined 10:42 ObseLeTe left 10:50 fgomez left 10:51 fgomez joined 11:22 jaldhar left, jaldhar joined 11:36 wk left 11:52 CharellKing left 11:53 ironcamel left 12:06 kaleem joined 12:17 Targen left
FROGGS *yawn* 12:24
everybody is sleeping?
diakopter I should be
jnthn FROGGS: nah, just $dayjobbing :)
FROGGS bah
nwc10 I think that they all glazed over as a result of the bad puns.
FROGGS :o) 12:25
diakopter nwc10: <groan>
nwc10 (I had actually been stuck until then)
12:27 sqirrel joined
FROGGS jnthn: what does NFA mean? 12:27
diakopter nondeterministic finite automata 12:28
FROGGS k, thanks
diakopter (or automaton) 12:29
FROGGS ya, got it
jnthn Of note, it's the mechanism that computes the longest token. 12:30
So it's involved whenever we have an alternation or a protoregex.
FROGGS okay
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.
As in, ||
FROGGS right, that's why I am asking
jnthn It doesn't need the NFA as it just tries the stuff in order.
FROGGS k 12:32
jnthn It's the (LTM based) alt that needs it.
FROGGS k
jnthn r: say 'beer' ~~ /bee | \w+/
r: say 'beer' ~~ /bee || \w+/
p6eval rakudo 1e85ff: OUTPUT«「beer」␤␤»
rakudo 1e85ff: OUTPUT«「bee」␤␤»
FROGGS where can I see some code that fiddles with altseq at runtime?
like adding alternatives
because I dont know how to build the ast right 12:33
diakopter you might have to replace whole methods
jnthn FROGGS: I don't think we have any...
For altseq though, you've an easier option
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?
p6eval nqp: OUTPUT«a␤»
jnthn Hm
FROGGS nqp: my @a := <a c b>; say("abc" ~~ /@a+/); # <--- what about that?
p6eval nqp: OUTPUT«abc␤»
jnthn Oh...
Yeah, that doesn't actually do anything with altseq :)
It does what I was just about to describe
FROGGS ohh, okay
FROGGS is listening
jnthn It's in !INTERPOLATE or so 12:35
FROGGS right
jnthn lemme find exactly where
FROGGS there is a nqp::islist part in nqp's cursor.pm
jnthn ah, you found it 12:36
Yes, that's exactly it.
That does altseq
FROGGS good
jnthn For alt, you need something like it but it should build an NFA.
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
And it never will in Perl 6.
You need to write a Perl 6 version that does things the Perl 6 way. 12:38
FROGGS ya, I feared that :o)
jnthn github.com/rakudo/rakudo/blob/nom/...sor.pm#L48
So here is !INTERPOLATE as it stands today 12:39
nqp::istype($var, Positional) or so will do the "is it array-ish" trick
FROGGS can I use that switch there? if $var.isa(QAST::Op) && $var.op eq 'callmethod' && $var.name eq 'list' {
ahh, cool
thats better 12:40
jnthn no no
You're at *runtime* here!
FROGGS ohh
I see
and thats where I wanna be
jnthn /@a/ compiles down to something like self.'!INTERPOLATE'(@a)
That is, it turns into a method call 12:41
You get to decide what that method does :)
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/
jnthn But do the sequential one first.
FROGGS I do that, since I have nqp's pattern
but it should do LTM in the end, yes 12:43
jnthn masak: lol I think I found a bizzare bug... 12:46
oops, wrong window... :)
moritz right, in #perl6 it's masak who finds the bizarre bugs :-)
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
pmurias swarley: re lex, you want to parse NQP instead of using QAST? 12:53
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++ 12:54
13:19 jaldhar left
diakopter masak: your mom is a potato 13:25
oops, wrong window... :)
kresike .oO(hmmm ... besides being evil, windows seem to be wrong lots of times ... ) 13:27
13:27 zby_home_ left
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
pmurias diakopter: ? 13:29
diakopter not-invented-here
13:30 skids left
diakopter tongue-in-cheek "do it all yourself... 13:30
"
13:30 zby_home_ joined
pmurias diakopter: who were you responding too? 13:30
diakopter arnsholt :) 13:31
sorry it was a bit oblique
pmurias diakopter: not replicating parrot's design is generally a good thing , not a case of NIH 13:32
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
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
Might as well spend a bit of time figuring out the best approach while I'm at it
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...
and since I dont know the JVM I cant answer my question 13:37
13:37 CharellKing joined
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...
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
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
diakopter (there isn't another way to do it, unless you used sun.misc.Unsafe and asked the VM for non-GC-managed memory)
[Coke] asks moritz how to defenestrate a window. 13:42
diakopter has delivered windows via windows during construction 13:43
always outside->in though 13:44
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!
arnsholt transfenestration?
FROGGS by wrapping I mean to add methods
diakopter arnsholt: but they can't be 6model objects... 13:46
arnsholt What can't be 6model objects?
diakopter the "native" byte buffer 13:47
sorry; I likely misunderstood
arnsholt Sure, sure. The actual buffer won't be
pmurias arnsholt: and what is the alternative to wrapping them? 13:50
arnsholt Passing around the bare PMC 13:51
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:51 anuby_ left
pmurias arnsholt: I think we should pass around a wrapped PMC instead of duplicating the parrot api on all platforms 13:53
13:54 anuby joined
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
Might just be a question of whether we want several ops or one class, I don't know yet
FROGGS dont you have to wrap it in a 6model object? 13:57
I mean, what else is a Buf object then in Perl 6? 13:58
(note that almost all my object-wrapping knowledge is from perl 5 xs)
13:59 wk joined 14:05 PacoAir joined 14:08 PacoAir left, PacoAir joined 14:10 zby_home__ joined 14:11 zby_home_ left 14:12 benabik joined 14:13 bluescreen10 joined
pmurias arnsholt: there are other buffer than ByteBuffer 14:16
arnsholt: so I think it's better to have a couple of class versus loads of op variants 14:18
14:19 zby_home_ joined
diakopter (that's what jnthn did with native arrays in nqp=jvm) 14:19
14:20 zby_home__ left
arnsholt Kewl 14:21
14:21 Psyche^ joined, shinobicl joined 14:25 Patterner left, Psyche^ is now known as Patterner
shinobicl Hi 14:25
rakudo: my @dice = <⚀ ⚁ ⚂ ⚃ ⚄ ⚅>; say @dice.pick(2).perl;
p6eval rakudo 1e85ff: OUTPUT«("⚂", "⚃").list␤»
shinobicl what should i do if i want to have repeated dice? 14:26
moritz shinobicl: .roll
shinobicl oh.. thanks!
moritz r: say '⚀' ... '⚅' 14:27
p6eval rakudo 1e85ff: OUTPUT«⚀ ⚁ ⚂ ⚃ ⚄ ⚅␤»
moritz \o/
shinobicl my @dice = ("⚀" .. "⚅"); say @dice.roll(2).perl; 14:29
rakudo: my @dice = ("⚀" .. "⚅"); say @dice.roll(2).perl;
p6eval rakudo 1e85ff: OUTPUT«("⚅", "⚂").list␤»
shinobicl so ".." and "..." do the same thing? 14:30
moritz no 14:32
r: say ("⚀" .. "⚅").WHAT
p6eval rakudo 1e85ff: OUTPUT«Range()␤»
moritz r: say ("⚀" ... "⚅").WHAT
p6eval rakudo 1e85ff: OUTPUT«List()␤»
shinobicl range is lazy and list is not? 14:33
moritz Range stores start- and endpoint, List all elements 14:46
but there are other differences too; see for example doc.perl6.org/language/operators#infix+... 14:47
14:49 mmcleric joined
[Coke] moritz: where is the code for that stored 14:57
?
pmichaud good morning, #perl6
[Coke] ah, crap, I'm at DAYJOB anyway :there's a duplicate "this allows you..." near the end of that section.
hio.
14:57 skids joined
moritz \o pmichaud 14:57
14:57 shinobicl left, stopbit joined 15:02 pmurias left, shinobicl joined, kaleem left 15:04 benabik left, daxim left
arnsholt Heh. Dist::Zilla has a lot of dependencies 15:06
PerlJam arnsholt: I'm willing to bet that it has the most dependencies of anything on CPAN :) 15:07
15:07 thou left
moritz except maybe Angerwhale 15:09
15:11 salv01 joined
[Coke] for masak: 15:14
-> (10:08) From Ultor, to random: - Every time you miss a typo, the errorists w
in!
(misplaced newline my unintended error!)
FROGGS why do I read terrorists there? 15:15
15:15 mberends joined
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.
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
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:35 raiph__ left, raiph_ left 15:36 raiph left, benabik joined 15:39 raiph joined, raiph_ joined 15:40 raiph__ joined, shinobicl left 15:42 kaare_ joined 15:43 fhelmberger left
PerlJam masak: Are you familiar with the book "Let Over Lambda"? letoverlambda.com/index.cl 15:44
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:46
arnsholt Let over lambda sounds interesting, but the author comes across as more than a little condescending 15:47
FROGGS wow, sounds like I can't live without this book anymore^^ 15:49
15:51 domidumont left 15:53 Targen joined
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
PerlJam: familiar with it, yes. it's also on my (too long) wishlist. :)
jnthn FROGGS: najs!
15:57 FROGGS left
PerlJam masak: seems like it might be a good read that might infect your brain with some useful ideas about macros. 15:58
[Coke] Sir, I'm sorry, but you have a pretty serious macro infection here. 16:04
I'm afraid some ColdFusion is the only alternative.
benabik Cure is worse than the disease.
16:06 krunen left 16:09 krunen joined
masak PerlJam: I (re-)found www.okmij.org/ftp/Scheme/ the other day and plan to read it. 16:09
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.
PerlJam masak: ... and you still need to do p6cc :) 16:12
masak: just thought I'd mention the book in case you didn't know about it.
masak I was digging into p6cc yesterday. plan to dig more into it tonight.
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 SamuraiJack left
masak +1 16:14
mst [Coke]: weeel, s/are happy with that/don't seem to be arguing/ 16:17
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:18
whether I think perl6 would benefit from a rename or not doesn't strike me as relevant to the discussion 16:19
benabik
.oO( Camelia Perl )
16:20
[Coke] mst: merely picking a small nit. Thanks for the proposal. 16:21
I feel like we're playing version number chicken. 16:22
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:26
PerlJam renaming is a diversion. I say we don't do it (even jokingly) 16:27
[Coke] www.groklaw.net/article.php?story=2...5074839583 - python asks for help with trademark in EU. Folks here might have some prior art to provide. 16:30
16:31 kaleem joined, raiph_ left
TimToady actually, Perl 6 is mostly the fault of all those Perl 5 programmers who wrote too many durn RFCs :) 16:32
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:33 raiph__ left, raiph left
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
since this is all driven by the perception of Perl 6's failure
masak +1
[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.
like it or not, Perl 6 comes with baggage.
[Coke] (which mst++'s proposal will definitely help with, I think, from a business standpoint.)
masak aye.
16:36 PacoAir left 16:37 raiph joined, raiph_ joined, raiph__ joined
TimToady masak++ is not a naysayer, he's just a yeahbutsayer... :) 16:39
16:40 BigFarz joined
BigFarz hello 16:40
PerlJam BigFarz: greetings. 16:41
BigFarz Are you in Seattle?
masak BigFarz: ahoy!
TimToady "Not I" said the pig.
masak BigFarz: it is not the case that we are in Seattle. 16:42
TimToady but some of my genes are in Seattle
masak .oO( the chose to seattle down there... )
they*
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?
TimToady beattles his eyebrows at that
masak BigFarz: is that before or after the 8086 runs out of memory?
BigFarz Kind of in the middle of that 16:44
TimToady
.oO(We all live in an 8086, an 8086...)
skids resists temptation to complete those lyrics
[Coke] Our perl mothers (and perl fathers...) 16:45
masak r: sub marine {}; say "goodbye"; say "hello";
p6eval rakudo 1e85ff: OUTPUT«goodbye␤hello␤»
BigFarz Question: should Mongers be Mongers or Monger's or Mongers' 16:46
TimToady depends
how is it used in a sentence?
[Coke] How many Mongers are mongering?
TimToady I went over to another Perl Monger's house 16:47
I went to the Perl Mongers' meeting place
I went to Perl Mongers
BigFarz All the Perl Mongers were in a bar one day.
All the Perl Mongers were in a bar one day. ????
TimToady This generation is illiterate about apostrophe's, but then again, so were all the previous generation's. 16:48
pmichaud cool! I just got a Valentine's Day VIP keychain from LEGO! plus.google.com/photos/10058333350...9934851041 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.
TimToady well, maybe you could link it out again, and start over 16:50
BigFarz Okay then: Question : Perl Monger?
TimToady yes and no
BigFarz Is one Perl Mongers a Perl Monger 16:51
TimToady yes
16:51 benabik left
TimToady er, if you mean an individual programmer 16:51
not if you mean an individual group of mongers
so, yes and no :)
BigFarz can you splice a perl monger hash 16:52
pmichaud BigFarz: in LinkedIn, I can change my name by editing the profile
TimToady only if it's made out of corned mongers and potatoes
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
BigFarz not profile I created a group 16:53
pmichaud oh, group. checking.
TimToady so, are you in Duluth or Seattle? 16:54
pmichaud Groups -> Your Groups -> select the group -> Group Information (on left menu) -> change "Group Name" 16:55
16:55 FROGGS joined
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
TimToady I left my lungs in Los Angeles. 16:56
kresike bye folks
16:56 kresike left
BigFarz not really, I never saw Tony Bennet in San Fransico 16:57
TimToady figgered you was making that one up
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
TimToady It's supposed to go up to 73℉ here today, so it's neither Seattle nor Duluth
16:58 benabik joined
TimToady BigFarz: likewise 16:59
jnthn decommute & 17:01
17:09 kaleem left 17:15 SunilJoshi joined, Chillance joined 17:18 SunilJoshi left 17:26 thou joined 17:33 SunilJoshi joined 17:34 autumn joined
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
what is this "stow" thing i sometimes read people talking about? 17:44
17:46 REPLeffect joined
benabik timotimo: 12www.google.com/url?sa=t&rct=j&...3238,d.dmQ 17:47
Gah. google--
timotimo: www.gnu.org/software/stow/
timotimo: Something like a very simple package manager.
timotimo thank you :) 17:49
i would not have thought that something like that was google-able
i guess i should know better by now.
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
benabik Because I knew it was a gnu project. There's also a few things derived from stow, like stow.
xstow
17:51 PacoAir joined 17:54 fgomez left 17:58 dakkar left 18:01 PacoAir left, PacoAir joined 18:22 SunilJoshi left 18:24 proller joined
masak again, tomorrow Perl 6 celebrates an important birthday. 18:29
I'm gonna celebrate it by blogging a "where are we know" post.
TimToady I do knot now what you mean... 18:30
geekosaur tries to figure out whether that's a typo or a pun
masak the birthday is irclog.perlgeek.de/perl6/2013-02-14#i_6452892 18:31
Perl 6 hits the age Pumkin Perl was when Perl 6 was announced.
it was pure luck that I did that eval yesterday. 18:32
I had a hunch the date was soon, but I didn't know it was so soon :)
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:33 proller left 18:34 raiph___ joined
masak heh. 18:34
18:34 raiph___ left
masak well, if you find 10 people on the channel and each one ports an RC task... 18:34
or if you find 5 willing to do two...
TimToady hey that kinda sounds like an RC task of some kind 18:35
or get 10 new tasks with the first example in p6...
well, I don't insist upon it; we're not really in competition with p5, except insofar as we are... 18:36
perigrin p5 still needs to learn that "not winning" != "losing" ... but then the rest of the world needs to learn that too. 18:37
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
the bandwidth is terrible.
TimToady but for the mathy people in the crowd, there are still a number of cool problems on RC to work on
rosettacode.org/wiki/Polynomial_regression and such
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
TimToady it has the gestation period of a phoenix 18:40
huf the problem is, you guys are too transparent
should've stuck to backroom deals
:)
TimToady yes, well, we have some of those too... :)
perigrin masak: this may be true, I'm not in a place to be "thoughtful" about it right now
18:41 PacoAir left 18:44 wk left, PacoAir joined
FROGGS nr: my @a = <a b c>; say "@a" 18:44
p6eval rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«@a␤»
FROGGS is that right? 18:45
I'd expect to get:
nr: my @a = <a b c>; say @a.Str
p6eval rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«a b c␤»
18:46 uvtc joined
masak FROGGS: it's right. 18:46
FROGGS: non-$ interpolation needs to end in a postcircumfix.
nr: my @a = <a b c>; say "@a[]"
p6eval rakudo 1e85ff, niecza v24-23-g0520c7c: OUTPUT«a b c␤»
FROGGS ahh, I think I've seen this already 18:47
masak FROGGS: that way, email addresses won't interpolate :)
FROGGS right, and I know believe I already heard that explanation
:o)
thanks masak
okay, so my local changes to INTERPOLATE still are fine \o/ 18:48
18:48 quester joined
masak ;) 18:48
FROGGS but the NFA stuff is a tricky one 18:49
:/
uvtc backlogging, had to chime in:
pmichaud: congrats on the Valentine's Day VIP keychain. Nice. :)
18:53 plzignoreme joined, plzignoreme left, japhb_ joined 18:56 donaldh joined 18:58 benabik_ joined, benabik left, benabik_ is now known as benabik 19:01 labster joined, fgomez joined
uvtc moritz: thanks for the help yesterday, building R with the latest sixparrot. I moved those notes I scribble down to wiki.perl6.org/Rakudo-Parrot . 19:03
19:04 SunilJoshi joined
uvtc *scribbled 19:04
19:05 fgomez left
dalek rl6-roast-data: 9413754 | coke++ | / (4 files):
today (automated commit)
19:09
rl6-roast-data: e458484 | coke++ | / (3 files):
today (automated commit)
[Coke] rakudo now passes everything that isn't fudged that it runs (2 days running)
moritz \o/ 19:10
[Coke] anyone who breaks that will get the ... rutabega.
*rutabaga
19:11 Targen left
uvtc What is traditonally given to the one who breaks the build? 19:12
[Coke] some short of shaming device.
19:12 SunilJoshi left
[Coke] *SORT 19:12
moritz friendly incentive to unbreak it
[Coke] eyes his fingers warily.
geekosaur a copy of php 19:13
moritz [Coke]: it's Friday :-)
[Coke] POKER NIGHT!
moritz geekosaur: we're not that crual
*cruel
moritz eyes his own fingers
labster They wake up with a findus lasagna in their bed.
[Coke] moritz: THE TYPOS ARE COMING FROM INSIDE YOUR OWN HANDS! 19:15
uvtc I remember reading somewhere: "The only bugs are the ones you put there yourself." :) 19:16
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
But I still have no idea what I'm doing with $/ and the ast.
[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
[Coke] github.com/masak/csv/ 19:19
labster Oh, I guess there is... why is it on most wanted?
[Coke] I already started down that path before realizing masak beat me to it ages ago.
labster: dunno. but check modules.perl6.org/ before starting fresh on a new project, JIC.
where is the most wanted list? can you update it?
labster eh, I wasted about an hour on it, and it's all learning. 19:20
[Coke] learning++ 19:21
labster github.com/japhb/perl6-most-wanted...modules.md
[Coke] masak: Oh. now that I've submitted my code, I should create a sub project for the horrible Lingua::EN::Syllable port. 19:22
19:23 Chillance_ joined, pupoque joined 19:27 Chillance left, proller joined 19:28 fgomez joined
labster oh, that's why it's on the list. masak's Text::CSV is broken. 19:28
masak [Coke]: you should :) 19:29
oh, Text::CSV is broken? :/ 19:30
I believe whatever's wrong with it, it should be fairly fixable. it's a pretty solid piece of work.
19:31 alester left
labster yeah, it looks easy to fix, I'll try it 19:31
masak ++labster 19:33
I always loved the :object(MyType) option. you can parse CSV and generate custom objects right out of it! 19:34
labster r: regex TOP { ^ <line> %% \n <empty_line>? $ } 19:39
p6eval rakudo 1e85ff: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter % (must be quoted to match literally)␤at /tmp/ZrdfNcBgHq:1␤------> regex TOP { ^ <line> ⏏%% \n <empty_line>? $ }␤Malformed regex␤at /tmp/ZrdfNcBgHq:1␤------> regex TOP { ^ <line…
labster now with quotes:
r: regex TOP { ^ <line> %% "\n" <empty_line>? $ }
p6eval rakudo 1e85ff: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter % (must be quoted to match literally)␤at /tmp/qfj8bnxmXt:1␤------> regex TOP { ^ <line> ⏏%% "\n" <empty_line>? $ }␤Malformed regex␤at /tmp/qfj8bnxmXt:1␤------> regex TOP { ^ <li…
benabik labster: It's the %% it's complaining about, not the \n 19:40
masak labster: you need a + or a * before %%
labster yeah, just got it 19:41
19:43 Targen joined
masak std: / "foo" %% \n / 19:45
p6eval std 7551b8f: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter % (must be quoted to match literally) at /tmp/Vlz35r7GGk line 1:␤------> / "foo" %⏏% \n /␤Unable to parse regex; couldn't find final '/' at /tmp/Vlz35r7GGk line 1:␤------> / "foo"…
19:45 arlinius left
masak arguably the failure mode could have a better error message. 19:45
grondilu an interesting concept for computer architecture, no more sequential access to data and code: phys.org/news/2013-02-self-repairing.html 19:51
19:52 donaldh left 19:54 fgomez left 19:59 arlinius joined 20:04 zby_home_ left 20:05 thou left 20:09 benabik left, thou joined 20:10 donaldh joined 20:13 fgomez joined 20:14 arlinius left, thou left 20:16 benabik joined 20:18 thou joined 20:20 donaldh left
swarley Code is coming along nicely, progress should be made by tonight 20:38
20:38 sqirrel left 20:40 zby_home joined
FROGGS .oO( "[...] little padawan" ) 20:40
japhb_ labster, re: 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
Help in either of those stages of course much appreciated.
Which reminds me: Who is currently an admin of the perl6 org on github?
labster Text::CSV is working now, but not passing all tests. 20:45
20:45 rprajapa joined 20:46 arlinius joined
moritz japhb_: me 20:46
labster japhb: can I request a module binding to 7z.so/lib7zip? In theory it can handle a ton of archive formats. 20:47
masak labster: cool. can you send a pull request? I'll merge it. 20:48
20:52 kaare_ left
dalek rl6-most-wanted: d36031c | (Geoffrey Broadwell)++ | most-wanted/bindings.md:
Add 7zip to most-wanted bindings (labster++)
20:53
labster masak: sent. I made a minor change so that weird lines like q/foo,"""","ba""z"/ work according to rfc4180. 20:54
20:54 fgomez left
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++
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:57
dalek rl6-most-wanted: 392a9c0 | (Geoffrey Broadwell)++ | most-wanted/modules.md:
Text::CSV is WIP (not all tests pass yet)
20:58
masak labster: merged.
labster: I'll look at it tomorrow. 20:59
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.
still not good at picking out Github signal from Github noise.
japhb_ moritz, I'm ready when you are.
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
'night, #perl6
moritz japhb_: no, just do it
japhb_ Good luck with sweet dreams, masak 21:01
moritz, roger that
moritz, gah, it won't let me 21:02
(Since I'm not an admin at the destination org. :-( ) 21:03
moritz japhb_: should I just clone the repo into the perl6 org?
japhb_ Yeah, I guess that's the best option for now.
moritz s/clone/fork/
japhb_ Right
21:05 spider-mario joined
japhb_ So now what's the right way to deprecate my fork? 21:06
21:08 donaldh joined
dalek p-jvm-prep: 5717a70 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Implement altseq (which makes || work).
21:12
p-jvm-prep: 4dabd0e | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
Implement rxpeek op.
p-jvm-prep: 952b916 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Compile greedy quantifiers.

Also includes compilation of ratcheting ones, but rxcommit is NYI.
moritz japhb_: put a notice in the README 21:13
japhb_: and after a while, delete the repo
japhb_ moritz, OK, got it. 21:16
dalek rl6-most-wanted: d51d9f9 | (Geoffrey Broadwell)++ | README.md:
Put 'old fork' warning in top-level README
21:17
21:18 donaldh left, arlinius left
japhb_ OK, I'm switched. 21:20
21:20 BigFarz left
japhb_ Anyone wanting to help with perl6-most-wanted, please use github.com/perl6/perl6-most-wanted 21:20
21:20 fgomez joined
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:21
jnthn I'm pretty sure it'll be a separate thing 21:22
TimToady r: gist.github.com/TimToady/4963642
p6eval rakudo 1e85ff: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/gNPEOIS0NV:1␤------> https⏏://gist.github.com/TimToady/4963642␤ expecting any of:␤ argument list␤ postfix␤ infix or meta-infix␤ infix stopper␤ stateme…
TimToady r: gist.github.com/TimToady/4963642
p6eval rakudo 1e85ff: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/gtKhPyZWFu:1␤------> http⏏://gist.github.com/TimToady/4963642␤ expecting any of:␤ argument list␤ postfix␤ infix or meta-infix␤ infix stopper␤ statemen…
TimToady doesn't do that anymore?
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
And now it doesn't recognize it
TimToady jnthn: anywho, that gets me an error Nominal type check failed for parameter '$payload'; expected T but got Int instead
but T is supposed to instantiate to Int
jnthn Sure is. 21:25
Any idea exactly which T it is?
TimToady the sig in post-insert 21:26
jnthn oh.
role DLL[::T] {
my class DLLE does DLL_Element[T] {}
You nested a class in a role.
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 pupoque left
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
And the one declaration sees the uninstantiated type variable, 'cus it comes into existence before the role is ever composed.
TimToady okay...have to think about it s'more
jnthn Does the spec make a call on what happens to packages declared inside roles? iirc, it doesn't call either way
I've always had it down as a grey area. :) 21:29
TimToady here be grey dragons...
jnthn I suspect we *could* find a way to make it work but by then we're pushing roles further into macro territory
japhb_
.oO( TimToady: "Do I want this enough to change the spec so jnthn has to make it so ...?" :-) )
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:30 domidumont left
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 …
jnthn That at first blush looks like it should work, but it doesn't at the moment.
The reason it doesn't is...
diakopter oh, I thought it was Perl Munger 21:32
jnthn role Foo { }; role Foo[::T] { }
Roles are multiple dispatch
TimToady diakopter: eventually it will be Perl Manger
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
jnthn Which gets a type object of its own. 21:33
ParametricRoleGroupHOW or so.
TimToady the downside to all this punning...
moritz
.oO( punning for the fjords...)
21:34
jnthn Yeah. Well, I've mentioned before just how many different forms roles come in :)
Which I don't see as a problem per se.
But the only sane way I found to implement all the things is to untangle the puns. 21:35
21:35 spider-mario left
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
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" :)
Yeah. I can see what you wanted it to do. :) 21:37
I'm just asking if we really want the complexity of doing it :)
TimToady dunno; do Java generics have a story on this sort of thing?
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
21:38 zby_home left
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
C# ones, otoh, are done properly.
TimToady so what do they do in this case?
jnthn In C#, if you write an inner class inside a generic class, it also becomes generic.
21:39 pmurias joined
jnthn Hm, darn, I just said that's the proper thing to do, didn't I... :) 21:40
TimToady is not going to torment the implementors (much) more than they torment themselves 21:41
jnthn From the spec:
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 FROGGS left
jnthn We maybe don't want quite that factoring, since our type parameters are just lexical. 21:42
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
jnthn Well, I guess we'd treat any class inside a role as generic in some sense. 21:43
21:44 colomon left
jnthn I suspect making it do what you expected is (a) possible, (b) least surprising, and (c) hard. :) 21:44
Which basically makes it a great candidate for a Perl 6 feature. ;-) 21:45
TimToady vicarious suffering, and all that...
well, just because it's Friday doesn't mean you have to do it today :) 21:46
jnthn :)
No, the regex engine port is quite enough fun for one day ;)
Anyway, no objections if you want to spec it that way.
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: derstandard.at/1360681627702/Erster...esterreich
21:48 spanner_ left, arlinius joined
jnthn
.oO( ... in Ostrich?! Oh, wait... )
21:48
TimToady I don't believe the national anthem has any guarantees to the contrary
though for some reason I only recall the first few lines... 21:49
nwc10 well, tonight we had chicken. Pretty sure about that. There were plausible bones. 21:50
TimToady r: lines.pick(*)
p6eval rakudo 1e85ff: ( no output )
TimToady r: lines.pick(*).say
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
TimToady well, Ostrich is a red meat, so maybe it's pretending to be horsemeat pretending to be beef 21:51
21:52 skids left 21:55 AigleNoir joined 21:56 [particle] left 21:59 donaldh joined 22:13 donaldh left
nwc10 jnthn: "All tests successful." 22:14
22:14 donaldh joined 22:15 [particle] joined
mj41 rhr: { say "MY " ~ MY::.perl; } 22:15
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␤␤»
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␤»
diakopter there's a perl method
jnthn yes, it tried to .perl something inside of there. 22:20
Which didn't work out.
22:23 donaldh left 22:26 telex left 22:28 grondilu left, telex joined
japhb_
.oO( That's ... not going to work out. )
22:31
dalek p-jvm-prep: 7e392cf | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/VMArrayInstance_ (3 files):
Fix a thinko in at_pos_native.
22:40
p-jvm-prep: a0e826b | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
Implement rxcommit; ratchet quants now work.
p-jvm-prep: a0fabc9 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Factor out rxmark calls.
p-jvm-prep: 3294e6b | jnthn++ | lib/QAST/JASTCompiler.nqp:
Compile frugal quantifiers.
22:42 colomon joined 22:45 pmurias_ joined
pmurias jnthn: how are classes in nqp-{jvm,js} supposed to specify how they boolify? 22:46
22:46 pmurias_ left
pmurias jnthn: ah, there is a setboolspec 22:49
jnthn yes, that way :)
See istrue in Ops.java
pmurias just seen it 22:50
22:51 benabik left
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 ;)
jnthn I'll imagine. 22:52
Hope the exam went fine.
pmurias me too
;)
jnthn pmurias: Somebody just passed asmjs.org/spec/latest/ my way...dunno if it's of any interest for your rakudo-js work 22:54
pmurias NQPCORE.setting in nqp-jvm-prep is a slightly hand modified version copied from nqp 22:55
?
jnthn Yeah 22:56
I'm aiming for convergence.
pmurias nqp-js passes all it's test with a slightly modified stolen version of that 22:57
jnthn \o/
Nice!
pmurias (I'll commit it tommorow after I clean up some hacks that are need for that)
jnthn: and how can classes specify how they are converted to integers and numers? 23:00
jnthn: re asmjs.org that could be very usefull for winning numeric benchmarks ;) 23:01
23:03 census left
jnthn pmurias: Converted to integers/numbers/strings will go the Perl 6 way: .Int, .Num, .Str. 23:03
pmurias and why not .Bool? 23:04
jnthn So, methods.
It does as a fallback.
Boolification is so common it gets a fast path.
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/
jnthn o/ lue
I want to get rid of the Parrot v-table use for get_string/get_integer/get_number. 23:06
*of
Since it typically leads to nested runloops.
And other such horrors.
23:09 arlinius left
pmurias I agree 23:09
23:13 fgomez left, fgomez joined 23:24 Targen left 23:25 raiph left, raiph_ left 23:26 raiph__ left 23:27 bluescreen10 left 23:29 raiph joined, VAAQ2YG joined, JTAAJVHX joined 23:31 stopbit left 23:37 arlinius joined, raiph left 23:41 raiph joined, VAAQ21T joined, JTAAJVN9 joined 23:47 raiph left
dalek p-jvm-prep: dfcec49 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Create less temporaries.
23:49
p-jvm-prep: bb15902 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Compile subcaptures.

This means that we can now handle things like:
   say(('abcdef' ~~ /$<foo>=[<[bc]>+d]ef || <[de]>f/).hash<foo>.Str())
Note that we don't yet know how to backtrack the cursor stack, so any backtracking thing after a subcapture won't end well.
p-jvm-prep: a125d08 | jnthn++ | docs/ROADMAP:
Update ROADMAP.
23:56 VAAQ245 joined, JTAAJVU7 joined 23:58 raiph joined