Camelia, the Perl 6 bug

IRC log for #perl6, 2010-04-15

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:07 yinyin joined #perl6
00:24 f00li5h joined #perl6
00:27 PZt joined #perl6
00:34 f00li5h joined #perl6
00:39 colomon joined #perl6
00:58 sorear TimToady: In your crystal ball, do you see all P6 implementations convergin on STD.pm?
01:03 diakopter the divining rod dragged me there eventually
01:06 TimToady sorear: more or less, but STD also converges with the implementations sometimes
01:07 TimToady most of the implementation differences will be in what is emitted by the emitters
01:07 TimToady and on how they map the disputable semantics onto their underlying VMs
01:08 TimToady the specs can nail down desired semantics to some extent, but cannot be perfect
01:09 TimToady and it would perhaps be inadvisable to make them perfect, because then they'd be very brittle
01:09 holli joined #perl6
01:13 sorear To me, 'disputable' connotes mistakes in the spec, places where it should be clearer
01:13 sorear I presume the intent is more like C undefined behavior
01:14 sorear "making this do anything sane would be insane, even detecting it is Really Hard, so ... if you do this, you get to keep the pieces"
01:15 drake1 joined #perl6
01:16 drake1 hello, how should I tag a perl5 program to void ambiguous interpreter selction?
01:17 diakopter shebang?
01:17 drake1 yes
01:17 drake1 but perl5 is installed under perl
01:18 drake1 just updated the C.S.L.O.T www.gangsterfreak.com/software#cslot but I don't know how to set the specific version
01:19 diakopter I think the only one that installs as "perl6" is rakudo
01:19 drake1 ok so not completely vulnerable
01:19 diakopter but others will too, I'm sure, so an "alternatives" system would develop...
01:20 drake1 I thought a use perl5; or something like that
01:20 drake1 to also be compatible with perl6 as a perl5 program
01:22 diakopter actually perl5-mode is the default
01:22 drake1 oh perfect
01:22 drake1 I love that one
01:23 drake1 perl5 or the gentle crash
01:25 drake1 actually coded too much C lately to remember the length and substr func
01:25 diakopter I didn't mean to imply that any of the other implementations install (or ever will install) as "perl"
01:26 drake1 good point
01:26 drake1 maybe a system "perl -v|grep 5" || die "wrong version"
01:28 drake1 but I don't know, other version might just work
01:28 drake1 at least without the ``my'' declarations
01:36 felipe joined #perl6
01:40 plobsing joined #perl6
01:57 Psyche^ joined #perl6
02:15 drake1 damn, gotta write a C.S.L.O.T Daily with Cron. Bye
02:17 agentzh joined #perl6
02:32 meppl joined #perl6
02:40 diakopter triumph.
02:40 diakopter strongly typed, named args & binding.
02:41 diakopter on named subs.
02:41 diakopter haven't worked on anonymous subs yet.  subs as variables and return lvalue binding remain
02:46 diakopter perlesque: my int $a = 2; sub foo (int $b, int $c) { System::Console.WriteLine($b) }; foo(55, 3);
02:46 p6eval perlesque: OUTPUT«55␤»
02:47 diakopter hence, say.
02:48 diakopter whee.  trampolined cps on the clr.
02:49 unixbomber joined #perl6
02:49 spinclad sweet!
02:51 spinclad perlesque: sub foo($ret, $a) { my $b = $a + 1; $ret($b) };      foo(1f, 1);  1f($v): System::Console.WriteLn($v);
02:51 p6eval perlesque: OUTPUT«parsefail␤»
02:52 diakopter all variables are strongly typed
02:53 diakopter plus, this isn't a Perl 6 implementation
02:53 spinclad perlesque: sub foo((int ->) $ret, int $a) { my $b = $a + 1; $ret($b) };      foo(1f, 1);  1f(int $v): System::Console.WriteLn($v);
02:53 p6eval perlesque: OUTPUT«parsefail␤»
02:53 diakopter this isn't a Perl 6 implementation
02:53 spinclad perlesque: sub foo((int ->) $ret, int $a) { my int $b = $a + 1; $ret($b) };      foo(1f, 1);  1f(int $v): System::Console.WriteLn($v);
02:53 p6eval perlesque: OUTPUT«parsefail␤»
02:54 spinclad no, i'm just pretending it has my fantasy feature
02:54 diakopter what's that
02:55 diakopter I mean, what's your fantasy feature
02:57 spinclad let's see: 1) subs as variables, 2) strong typing for subs, 3) subs include a return sub parameter or they don't return, 4) labels as subs
02:57 spinclad return(values) is $return(values)
02:58 spinclad so cps
02:58 pausenclown joined #perl6
02:58 diakopter what do you mean by "or they don't return"
02:59 pausenclown rakudo: my $c =  -> $x { say $x }; $c(1);
02:59 p6eval rakudo 2ec0e4: OUTPUT«1␤»
02:59 spinclad take the 1f(int $v): label: as a sub it doesn't take a $return param, so it's a returnless continuation
03:01 spinclad but this conflicts with the syntax for calling builtins, which already take an unwritten continuation, so everything can't be explicit, as in my fantasy.
03:01 spinclad anyway, just playing
03:01 diakopter oh :)
03:09 lue joined #perl6
03:09 lue hello!
03:10 spinclad hi lue
03:10 kurt_h joined #perl6
03:11 kurt_h left #perl6
03:28 sorear lue: Why did you put fake information in the pugs AUTHORS file? :/
03:28 sorear a pseudonym is one thing, but LUE is not a registered CPAN ID
03:29 lue Are you saying I have to be on CPAN to be in the AUTHORS file?
03:29 sorear no
03:29 sorear you'll notice that lots of people have no CPAN ID listed
03:29 sorear these are the people who don't have them
03:32 lue Well, I edited that list so long ago :)
03:46 meppel joined #perl6
03:50 mdxi joined #perl6
04:04 sjohnson y0 dudes
04:05 _jaldhar_ joined #perl6
04:05 meppl dont copy that floppy:  http://www.youtube.com/watch?v=up863eQKGUI
04:06 lue oh no not that! /o\ ( I hear they're remaking that for today's culture :( )
04:07 meppl ^^
04:10 lue horrid rhyme involving "downloads". hm...
04:14 lue rakudo: say 500*1.618 # please let 1.618 be the golden ratio :)
04:14 p6eval rakudo 2ec0e4: OUTPUT«809␤»
04:19 sorear joined #perl6
04:23 am0c joined #perl6
04:26 mikelifeguard joined #perl6
04:28 TimToady rakudo: (1,1,-> $a, $b { say $b / $a; $a + $b } ... *).batch(50)
04:28 p6eval rakudo 2ec0e4:
04:28 p6eval ..OUTPUT«1␤2␤1.5␤1.66666666666667␤1.6␤1.625␤1.615​38461538462␤1.61904761904762␤1.61764705882353␤1.6​1818181818182␤1.61797752808989␤1.61805555555556␤1​.61802575107296␤1.61803713527851␤1.61803278688525​␤1.61803444782168␤1.61803381340013␤1.618034055727​55␤1.61803396316671␤1.6180339985218␤1.61803398…
04:30 TimToady interesting that you can't start that one at 0,1,1
04:30 lue ooh, pretty numbuuurrrrssss... O.o
04:31 TimToady by the end of .batch(50) it converges on 1.61803398874989
04:33 lue I'm guessing batch(*) would break it :)
04:33 lue but that's a pretty exact number anyway :)
04:33 TimToady rakudo: (1,1,-> $a, $b { say $b / $a; $a + $b } ... *).eager
04:34 p6eval rakudo 2ec0e4:
04:34 p6eval ..OUTPUT«1␤2␤1.5␤1.66666666666667␤1.6␤1.625␤1.615​38461538462␤1.61904761904762␤1.61764705882353␤1.6​1818181818182␤1.61797752808989␤1.61805555555556␤1​.61802575107296␤1.61803713527851␤1.61803278688525​␤1.61803444782168␤1.61803381340013␤1.618034055727​55␤1.61803396316671␤1.6180339985218␤1.61803398…
04:34 TimToady and the integers are still exact at the end of .batch(20), even in floaters
04:35 lue .oO(Quick, get to Deep Thought and get it to calculate the golden ratio w/ P6! (or a quantum computer, if you're looking to be cheap :P))
04:35 TimToady 12586269025 / 7778742049
04:35 mikelifeguard left #perl6
04:36 lue I find it amusing that Python 3 can supported integers as big as memory allows, but not decimals. Is P6 the same way?
04:36 TimToady define "decimals"
04:37 TimToady pugs: say 2**4**8**16
04:37 p6eval pugs: OUTPUT«Inf␤»
04:37 TimToady pugs: say 2**4**8
04:37 p6eval pugs: OUTPUT«200352993040684646497907235156025575044782​5475569751419265016973710894059556311453089506130​8809333481010382343429072631818229493821188126688​6950636476154702916504187191635158796634721944293​0927982084309104855990570159318959639524863372367​20300291696959215610876494888925409080591145…
04:37 TimToady do you mean decimal places?
04:37 TimToady after the point?
04:38 lue yes
04:38 TimToady pugs: say 42 / 2**4**8
04:38 p6eval pugs: OUTPUT«0␤»
04:38 TimToady pugs: say 41 / 2**4**8
04:38 p6eval pugs: OUTPUT«0␤»
04:38 lue I don't want to call them fractions, because then people think of 1/2 .
04:39 TimToady rakudo: say 1 / 22222222222222222222222222​22222222222222222222222222
04:39 p6eval rakudo 2ec0e4: OUTPUT«2.85078665381638e-19␤»
04:39 TimToady rakudo: say (1 / 22222222222222222222222222222​22222222222222222222222).perl
04:39 broquaint joined #perl6
04:39 p6eval rakudo 2ec0e4: OUTPUT«1/3507803709763019662␤»
04:40 TimToady heh
04:40 TimToady rakudobug
04:40 TimToady pugs: say (1 / 22222222222222222222222222222​22222222222222222222222).perl
04:40 p6eval pugs: OUTPUT«1/22222222222222222222222​22222222222222222222222222222␤»
04:41 TimToady I'm sure someone will figure out how to print out FatRats to their full precision, if you want that
04:42 TimToady however, if your FatRat is already taking all of memory, it might not have the room to calculate the next digit.  :)
04:42 lue .oO( the book "Math with Perl 6" is becoming more possible by the hour )
04:44 lue that's why you get a Deep Thought (2nd best is Quantum) Computer.
04:48 lue rakudo: say "3507803709763019662".fmt('%x')
04:48 p6eval rakudo 2ec0e4: OUTPUT«30ae38e38e38e600␤»
04:48 lue rakudo: say "3507803709763019662".fmt('%b') # explosion!
04:48 p6eval rakudo 2ec0e4: OUTPUT«11000010101110001110001110001​110001110001110001110011000000000␤»
04:48 sorear lue: you hate haskell, yet you love precisely the features P6 stole from Haskell?  I don't understand you
04:48 lue I don't recall saying I hate haskell...
04:50 Trashlord change name of mystic spiral to something something explosion
04:50 TimToady also, there have been rat packages since before Haskell was a twinkle in anyone's eye
04:51 lue .oO( I managed to contradict myself without knowing it? I must be getting good at this :) )
04:52 * lue thinks of IETF's latest April Fools joke, where packets have moods, as defined by smileyes...
04:53 TimToady but do they have mood rings?
04:53 lue not yet. ( the following packets being sent to the server are frustrated and have the evil bit set :) )
04:54 TimToady I read that as PackRats
04:55 lue IETF, by the way, does accept April Fools RFCs (with a deadline and all that)
04:57 * TimToady wonders if Rakudo * constitutes "rough consensus and working code"
05:00 lue if not, the MDFL (of course Rakudo Death Star) will convince them otherwise...
05:05 lue goodnight moon (btw, MDFL stands for *malevolent* dictator for life)
05:08 jonasbn joined #perl6
05:19 molaf joined #perl6
05:27 awwaiid_ joined #perl6
05:27 xinming_ joined #perl6
05:28 dj_goku_ joined #perl6
05:29 Koven joined #perl6
05:29 s1n1 joined #perl6
05:29 jrockway_ joined #perl6
05:39 ascent_ joined #perl6
05:39 mj41 joined #perl6
05:43 kaare joined #perl6
05:55 eternaleye joined #perl6
05:57 fridim joined #perl6
06:07 uniejo joined #perl6
06:49 moritz_ good morning
07:01 M_o_C joined #perl6
07:10 kfo_ joined #perl6
07:11 diakopter hi
07:13 moritz_ diakopter: I see that perlesque is making good progress... nice!
07:13 diakopter thanks :)
07:13 moritz_ diakopter: do you plan to write a perlesque emitter for Perlito?
07:13 diakopter no, but it'd be a cool idea for someone else to write one, and I'd help him/her
07:14 moritz_ do you plan to add untyped variables at some point?
07:14 diakopter no
07:14 moritz_ or an Any type?
07:14 diakopter nope
07:14 diakopter that would fall under the category of Perl 6
07:16 diakopter I will write an Any type *in* perlesque at some point soon, though
07:16 diakopter as part of creating the runtime that viv can target
07:17 diakopter I'd like STD to compile itself to perlesque, so that means I get to write a perlesque emitter for viv
07:17 ejs joined #perl6
07:17 moritz_ do you already have (plans for) a grammar engine?
07:17 diakopter STD
07:18 diakopter I want STD to compile itself to perlesque
07:18 moritz_ the grammar engine that STD uses is written in Perl 5
07:18 moritz_ do you want to use that?
07:18 diakopter oh, Cursor?
07:18 moritz_ yes
07:19 diakopter that's a small part of the grammar engine imho
07:19 moritz_ afk, will backlog
07:19 diakopter but yes, that will need ported to C# or perlesque
07:20 diakopter but I expect it to be a direct port
07:20 diakopter not line-for-line, but functionally equivalent
07:20 diakopter so that STD doesn't need changed to adapt
07:24 ejs joined #perl6
07:28 sorear one thing I'd like to try and do is port Cursor to Perl 6
07:28 sorear then we can use viv to bootstrap
07:28 iblechbot joined #perl6
07:28 diakopter that's the goal
07:29 diakopter but you can't bootstrap the whole VM
07:29 diakopter so the question is where to draw the line
07:30 diakopter I mean, is it bootstrapped only when every single bytecode instruction was emitted by a routine written in the target language?
07:30 diakopter there's a kernel somewhere
07:30 sorear it's bootstrapped when I can stop caring about C# code
07:31 diakopter ah
07:31 diakopter well that's never going to happen, but Reflector is glad to disassemble CIL to any number of languages for you :P
07:32 sorear (also, "there has to be a kernel somewhere" is not quite true - many FORTH implementations are completely bootstrapped, the compiler generates native code and then a memory dump is done to generate the executable)
07:32 diakopter (VB, Delphi, Oxygene, Boo)
07:33 sorear though you'd be insane to try this with p6
07:33 diakopter yes.
07:33 diakopter :)
07:33 diakopter s/this with//
07:33 sorear trying p6 is not insane
07:33 sorear it's the future, man!
07:33 diakopter tongue-in-cheek
07:33 sorear I suppose
07:34 mathw What's perlesque?
07:34 sorear you heard that Perl 6 isn't going to come until after 2038, right?
07:34 diakopter yeah
07:34 sorear mathw: NQP for the CLR
07:34 diakopter ish
07:35 diakopter it's not really for human-writing
07:36 sorear closer to POST then?
07:36 diakopter it's more of an assembly/target language for a viv emitter, or a rakudo/nqp emitter..
07:36 diakopter yeah, but it is meant for human-reading
07:36 diakopter perlesque: loop (my int $a=7;$a<100;$a+=1) { if (($a%2)==0) {next} elsif ($a>55) {last}; System::Console.WriteLine($a) }
07:36 p6eval perlesque: OUTPUT«7␤9␤11␤13␤15␤17␤19␤21␤23␤25␤27␤29␤​31␤33␤35␤37␤39␤41␤43␤45␤47␤49␤51␤53␤55␤»
07:37 diakopter it's fully strongly typed
07:37 diakopter meant to be the fully-strongly-typed subset of Perl 6
07:37 diakopter native types
07:38 diakopter sorear: actually I don't think bootstrapping really is a feasible goal, within a few decades.  Not really worth making sacrifices for now, anyway.
07:39 gfx joined #perl6
07:39 diakopter the task of fully implementing is just that big.
07:39 sorear there are degrees of bootstrap...
07:39 mathw interesting
07:39 mathw I assume it's part of a plan for Perl 6 on CLR?
07:40 diakopter yep
07:40 mathw \o/
07:40 sorear so how is mono doing these days
07:40 mathw pretty well by the looks of it
07:40 diakopter 2.6 seems great
07:40 sorear excellent
07:40 mathw although they're bound to be a bit bummed out by the new iPhone SDK that seems to ban MonoTouch
07:40 sorear last I saw of it, it was considered a joke
07:40 mathw I wrote a project in it once
07:41 mathw using gtk-sharp for the UI
07:41 mathw very nice
07:41 sorear mathw: specifically banning mono, or just because it's not C/C++/ObjC?
07:41 mathw sorear: the latter
07:41 diakopter to those people who needs parts that are NYI, yeah it's a joke
07:41 mathw the effect is much the same, though
07:41 diakopter but a huge amount is implemented
07:42 diakopter unfortunately perlesque causes mono 2.4 to SIGABRT
07:42 mathw :(
07:42 diakopter hence needing 2.6
07:42 diakopter it doesn't take that long to build; 15-20 min for me.
07:42 diakopter 8 seconds to build sprixel/perlesque.
07:43 diakopter actually, 8 seconds to build sprixel.exe
07:43 diakopter 1 second _on every execution_ to build the perlesque parser/compiler from the grammar
07:43 diakopter sorear: imho it can be argued that my use of "C#" in sprixel is hardly C# at all
07:44 diakopter I use lambda expressions (closures) everywhere, and oodles of static routines
07:44 diakopter and many of the codegen routines are twice deferred.
07:45 diakopter they're code-gen-gen routines, if you catch my drift
07:48 diakopter perlesque: loop (my int $a=0;$a<10000000;$a+=1) {};System::Console.WriteLine($a)
07:48 p6eval perlesque: OUTPUT«10000000␤»
07:48 diakopter that's pretty quick for a trampolined continuation-passing-style runtime
08:03 arthur-_ joined #perl6
08:05 diakopter perlesque: loop (my int $a=0;$a<10000000;$a+=1) {};System::Console.WriteLine($a)
08:06 p6eval perlesque: OUTPUT«10000000␤»
08:06 mathw so, functional-style
08:06 diakopter perlesque: loop (my int $a=0;$a<100000000;$a+=1) {};System::Console.WriteLine($a)
08:06 p6eval perlesque: OUTPUT«100000000␤»
08:06 diakopter perlesque: loop (my int $a=0;$a<1000000000;$a+=1) {};System::Console.WriteLine($a)
08:06 p6eval perlesque: OUTPUT«1000000000␤»
08:06 diakopter yes
08:06 diakopter meta-meta-programming
08:06 mathw nice
08:06 mathw where's the source code?
08:07 diakopter csmeta.org
08:07 diakopter cs means csharp I think
08:09 sorear I've got this sinking feeling like all the work I've put into Parrot is wasted
08:11 mathw nonsense
08:11 mathw we're after multiple implementations here
08:13 diakopter as a collective, sure
08:13 diakopter but as individuals, generally, to each his own
08:14 diakopter or in my case, to each his 12
08:26 mathw yes :)
08:26 mathw but my point was that sorear hasn't wasted his investment in Parrot
08:29 jonasbn joined #perl6
08:36 yinyin joined #perl6
08:38 masak joined #perl6
08:38 masak oh hai, #perl6
08:39 * moritz_ stumbles in
08:41 masak rakudo: multi foo(Int $a) { say "int" }; multi foo(Str $a) { say "str" }; &foo.wrap({ say "before"; nextsame }); foo(42); foo("OH HAI")
08:41 p6eval rakudo 2ec0e4: OUTPUT«Method 'wrap' not found for invocant of class 'Perl6MultiSub'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
08:41 masak a MultiSub is a Routine, is it not?
08:41 masak S06:2484 asserts that "Every C<Routine> object has a C<.wrap> method."
08:54 mathw That's what I thought
08:54 mathw Speculation: rakudobug
08:55 moritz_ alpha: multi foo(Int $a) { say "int" }; multi foo(Str $a) { say "str" }; &foo.wrap({ say "before"; nextsame }); foo(42); foo("OH HAI")
08:55 p6eval alpha 30e0ed: OUTPUT«Method 'wrap' not found for invocant of class 'Perl6MultiSub'␤in Main (file src/gen_setting.pm, line 324)␤»
08:55 mathw hmm
09:05 masak looks more like a TODO.
09:09 * masak frowns at http://arstechnica.com/open-source/news/2010/04/pe​rl-5-development-resumes-version-512-released.ars
09:11 moritz_ oh wow
09:11 moritz_ they didn't notice that there were more 5.* releases since the announce of Perl 6
09:12 moritz_ like 5.8.* and 5.10.{0,1}
09:13 masak here's a clear example of when someone's narrative will damage things, regardless of the facts. neither Perl 5 nor Perl 6 will benefit from that kind of spin.
09:13 moritz_ speaking of spin...
09:13 moritz_ I had this great idea of writing a Perl 6 article for LWN, to coincide with the Rakudo * release
09:14 moritz_ but seing how $work, book and Date.pm suck up my time, I don't think I'll manage that
09:14 moritz_ would somebody like to give it a shot?
09:15 moritz_ http://lwn.net/op/AuthorGuide.lwn
09:15 masak it sounds tempting, but I should probably not put more things on my plate either right now...
09:15 moritz_ quite understandable
09:16 m6locks activestate should jump in actively to start implementing perl6
09:16 masak sure, as long as they do it within the existing open-source structure.
09:16 dakkar joined #perl6
09:17 * moritz_ doesn't think that this fits activestate's business model
09:18 m6locks why not? they'll get dollars out of it, they lose nothing if activeperl6 will be the most used perl6 implementation ever
09:19 masak for once, the comments mostly make up for the meanness of the arstechnica article.
09:20 m6locks i agree that the article is a bit harsh on perl6
09:21 m6locks Anticipating what could be a very long wait for Perl 6, the Perl 5 developers have overhauled the date functions in 5.12 so that it can handle dates that are further in the future than 2038.
09:21 m6locks lol?
09:21 m6locks (implying that perl6 will be in use after 2038)
09:22 masak gee, I hope so :)
09:23 bacek joined #perl6
09:24 am0c joined #perl6
09:25 moritz_ m6locks: ActiveState's business model is not to write compilers, but distributions, IDEs, support etc.
09:27 arthur-- joined #perl6
09:28 unixbomber joined #perl6
09:28 m6locks but they do have lots of perl-developers there, and the guy interviewed in that article seems to be perldev from activestate
09:29 moritz_ I never doubted that
09:29 moritz_ I just want to point out that writing a compiler is quite different in scope than writing an IDE, or maintaining a distribution
09:30 m6locks i'm not entirely sure they will have to write a compiler from scratch
09:30 moritz_ I don't know many companies that actually make money seliing compilers
09:30 m6locks with those new features of perl 5.12
09:31 moritz_ those features don't make the vm sufficent to run Perl 6
09:31 m6locks the perl5 vm?
09:31 moritz_ right
09:32 m6locks might be, perl6 has lots of features :)
09:33 moritz_ I've talked with Nicholas Clark about that recently
09:33 moritz_ I think he should know :-)
09:37 m6locks was he like "we'll stick to perl5 forever"
09:38 masak it's not about Perl 5 *or* Perl 6. never was.
09:41 masak admittedly, the version numbers give the a priori impression that it might be, and that 6 might be a gradual, backwards-compatible continuation of 5. but it isn't, and the two are meant to co-exist, or at least each have separate strengths and niches.
09:41 moritz_ m6locks: no. He just said that making Perl 6 run on the perl5 vm was a monsterous task, and not something he's going to do
09:42 m6locks oh ok
09:50 snarkyboojum joined #perl6
09:53 masak snarkyboojum! \o/
09:53 masak snarkyboojum: I did some Yapsi work yesterday.
09:53 snarkyboojum masak! o/
09:53 snarkyboojum masak: w00t
09:53 * snarkyboojum does git pull
09:53 masak holdhold, I'll push first :)
09:53 snarkyboojum oh :)
09:54 masak there.
09:54 masak I accidentally pushed a commit that I haven't finished yet, but that's probably OK.
09:54 masak the main work is in fleshing out the runtime tests a bit.
09:55 snarkyboojum ah v. cool
09:55 IllvilJa joined #perl6
09:55 snarkyboojum I had added a test for say say locally as well
09:56 masak :)
09:56 masak also, I decided to add another deprecate-as-soon-as-possible SIC op, namely 'inc' for incrementing of variables.
09:56 masak because Tardis uses it.
09:56 snarkyboojum ah.. to get Tardis running on yapsi asap?
09:57 masak nod. it's very doable now. just need to provide a custom Yapsi runtime for Tardis.
09:57 masak similarly, lid is very LHF right now.
09:57 masak (the coverage tool)
09:57 snarkyboojum lid is quite the memorable name :)
09:58 masak :)
09:58 masak I tend to gravitate towards memorable names and puns.
09:58 masak except for my project 'pun', which is not a pun :)
09:59 moritz_ it's just the abbreviation for the German project title: "-p und -n" :-)
09:59 masak actually, I think the README states that it's not that either :P
09:59 masak yup :) http://github.com/masak/pun/blob/master/README
09:59 masak moritz_: you're gravely misinformed :P
10:00 * moritz_ doesn't believe in READMEs
10:00 * masak should really restore that project to a working state
10:00 masak it's kinda neat, and I've actually used it sometimes.
10:03 masak ah well, one of the non-meanings of pun is "probably ultimately neglected", so... :)
10:04 masak snarkyboojum: currently debugging a Null PMC access triggered by the program 'my $a = 42; say ++$a'
10:05 snarkyboojum masak: I'm going to continue integrate yapsi into tardis
10:05 snarkyboojum integrating
10:05 masak excellent.
10:05 snarkyboojum had already pottered around doing it a few weeks ago
10:06 mikehh joined #perl6
10:07 hejki http://lwn.net/Articles/382548/
10:14 agentzh joined #perl6
10:15 snarkyboojum masak: what should tardis run now? SIC?
10:16 masak aye. the output from the Yapsi compiler.
10:16 masak same as in Yapsi's t/runtime.t
10:16 snarkyboojum so Tardis.pm changes completely?
10:16 xinming joined #perl6
10:16 masak pretty much. it gains Yapsi as a dependency.
10:16 snarkyboojum I see
10:22 masak lunch &
10:27 rv2733 joined #perl6
10:55 masak snarkyboojum: actually, it strikes me as unnecessary to make a whole new runtime for Tardis. what we'd want is more something akin to hooks in the Yapsi::Runtime class.
10:57 masak *lol* -- on the first attempt, incrementing an uninitialized variable gave the result 'Anz()' in Yapsi :)
11:00 snarkyboojum heh
11:01 snarkyboojum masak: yeah, looks like some plumbing changes to get Tardis using Yapsi
11:01 masak tell me more :)
11:07 masak std: ++42
11:07 p6eval std 30391: OUTPUT«ok 00:01 109m␤»
11:08 jnthn o/
11:08 * jnthn back from Moscow.
11:08 jnthn (Already. :-()
11:08 masak jnthn!
11:08 jnthn masak!
11:09 masak \o/
11:10 masak jnthn: good. then you can fix all the new bugs I've discovered. after you do named enums. :P
11:11 jnthn I thought *you* were doing named enums. :P
11:11 jnthn ENOTMASAKISTIKENOUGH ;-)
11:11 masak 'tike'?
11:12 masak jnthn: I was, until you told me that there was a Parrot-related blocker that you couldn't easily explain...
11:12 jnthn ...tik enou...
11:13 jnthn masak: Ah, yeah.
11:13 jnthn That "fun".
11:13 masak oh.
11:14 * jnthn looks at his pile of "difficult Rakudo things to work on"
11:18 masak is it reasonable for '++42' to go through parse, but not to compile?
11:19 masak ditto '42 = 5'
11:19 masak I know Rakudo can compile it, but it seems I'm not able to compile that with Yapsi.
11:20 jnthn Why'd it not compile?
11:20 jnthn I mean, sure you could catch it with some static analysis.
11:20 masak because we don't have a SIC instruction that can store something in a constant.
11:20 * jnthn is confused
11:20 masak also, because ++ doesn't compile down to a subcall yet.
11:20 jnthn It should compile down to &pref...oh.
11:21 jnthn Well, yes, if you cheat you'll have issues now and then. :-)
11:21 masak right. we cheat, and thus we discover the error earlier.
11:21 jnthn ;-)
11:22 jnthn It's *probably* not a problem to fail at compile time, if you can be sure it'd also fail at runtime (which you probably can)
11:22 moritz_ masak: I think it's entirely reasonable to die at compile time
11:22 masak rakudo: my $a = 42; ++$a = ++$a; say $a # :)
11:23 p6eval rakudo 2ec0e4: OUTPUT«44␤»
11:23 jnthn It'd find it weird to fail at parse time though. More a later pass (like code-gen.)
11:24 masak right. it is.
11:24 masak it passes parse time.
11:24 jnthn OK.
11:24 moritz_ btw when somebody overloads postfix:<++> for a certain time, it shouldn't die anymore at ompile time
11:24 jnthn Oh, I don't think you even wrote parse anyway. :-)
11:24 moritz_ s/time/type/
11:25 jnthn moritz_: Yeah. But since masak's engine doesn't support that yet, it can't have that failure mode. ;-)
11:25 masak we don't have types yet.
11:26 masak we're basically throwing in 'say' and '++' so that we can play with things prematurely. :)
11:26 frettled masak: do you need a … typewriter?
11:26 masak frettled: clearly you should be the one to work on 'pun' :P
11:26 frettled :D
11:27 jnthn masak: Well, +1 for pragmatic implementation.
11:27 masak -Ofun
11:28 masak my $foo; $foo<bar> = 42; # expected to autovivify?
11:28 moritz_ yes
11:29 masak where's the magic? in the Any type?
11:29 masak in Mu?
11:29 masak Cool?
11:29 moritz_ in the Any type object
11:29 masak ok, makes sense.
11:30 masak my Int $foo; $foo<bar> = 42; # what about this?
11:30 moritz_ error
11:30 masak why?
11:30 masak doesn't the Int type object inherit from the Any type object?
11:31 moritz_ because $int doesn't have a postcircumfix:{ }
11:31 moritz_ unless it's a submethod
11:31 masak submethods can't be called from the outside, can they?
11:31 jnthn Sure they can.
11:32 jnthn But only if you're calling on the msot derived class.
11:32 masak ah.
11:33 _jaldhar_ joined #perl6
11:34 clintongormley joined #perl6
11:34 hafterj joined #perl6
11:41 masak when I run mismatching Parrot/PIR versions, Parrot doesn't say "oops, incompatible versions, buddy".
11:41 masak it says "compiler returned NULL ByteCode '/Users/masak/gwork/yapsi/lib/Yapsi.pir' - The opcode 'set_signature_elem_p_ic_sc_ic_p_p_p_p_p_p' (set_signature_elem<10>) was not found. Check the type and number of the arguments"
11:41 masak LTA.
11:42 payload1 joined #perl6
11:43 jnthn Which is why we probably should try and get people using --target=pbc instead...
11:43 jnthn Well, or create it if it doesn't exist.
11:43 jnthn May well not do.
11:43 jnthn Anyway, bytecode files are versioned.
11:44 masak seems it exists, but doesn't work.
11:44 jnthn Patches welcome. :-)
11:44 jnthn (or tickets...which I figure are more likley... ;-))
11:44 * masak submits rakudobug
11:45 masak this is the first time I hear the sentiment expressed that PBC is preferrable to PIR
11:45 masak everyone's been all "oh, PIR is fast" so far.
11:45 jnthn Well
11:45 jnthn PIR to PBC is relatively fast.
11:46 jnthn And works.
11:46 jnthn So the motivation to change is fairly low so far.
11:48 pausenclown joined #perl6
11:49 pmurias joined #perl6
11:54 takadonet morning all
11:54 masak takadonet: \o
11:54 masak http://www.developpez.net/forums/d845096/autres​-langages/perl/communaute-perl/contribuez/sorti​e-perl-5-12-developpement-perl-6-se-poursuit/
11:55 takadonet french :)
11:55 masak gives a better slant of things than arstechnica.
11:55 masak 'Pourtant, le travail en cours sur Perl 6 est prometteur et bien engagé. Mais Perl 6 Rakudo ne deviendrait une alternative sérieuse à son grand frère que dans quelques années, selon certains experts.'
11:55 masak I'd say that's pretty spot on.
11:56 masak (except that 'big brother' should be 'big sister')
11:59 moritz_ la Perl? :-)
12:00 stepnem joined #perl6
12:00 masak ah, maybe there's a grammatical-gender thing involved, yes.
12:01 snarkyboojum joined #perl6
12:03 pausenclown The french are very cautious with their language. At least they call it Perl and not Language Extracteur Practicale
12:03 hafterj left #perl6
12:03 masak we should all be grateful.
12:04 pausenclown note my french is horrible.
12:04 envi^home joined #perl6
12:05 pausenclown what does 'que dans' mean?
12:05 masak I read it as 'until in' in this context.
12:07 masak as in "won't become a serious alternative to its big brother until in a few years"
12:08 pausenclown If so the OP may be right. Perl6 will be the first language to be released (read production) at legal age =)
12:08 pausenclown $release = 18|21; # ^^
12:10 masak the only way we'll reach "production-ready", whatever that is, is to pass through all intervening stages. we can only do that with people who care about Rakudo and Perl 6 becoming a reality.
12:11 * moritz_ feels mentioned
12:11 takadonet I just need a few more spec working and I will be able to code up a storm!
12:12 colomon I was just looking at the mandelbrot crashes again.  I keep thinking one of the memory fixes will make the crash go away, and they keep persisting.  :(
12:14 pausenclown masak: i'm afraid my level of expetise isn't high enough for compiler hacking, but i'm willing to be an early adopter.
12:15 takadonet pausenclown: We are in the same boat
12:16 pausenclown i mean, a whole new CPAN and the namespaces are virgin playground
12:16 masak early adopters are extremely important.
12:17 pausenclown takadonet: i hope you brought your own food with you =)
12:17 takadonet pausenclown: I have
12:17 takadonet and beer!
12:20 moritz_ colomon: so it's likely a genuine memory corruption, not due to overly much memory usage
12:21 colomon moritz_: either memory corruption or just some logic flaw in parrot/rakudo that only crops up after enough looping.
12:21 colomon let me try to throw some tools at it and see what I get.
12:29 masak snarkyboojum: I just refactored Yapsi to not barf warnings in the tests.
12:32 ruoso joined #perl6
12:36 * IllvilJa o/ everyone
12:36 masak oh hai thou ill of wills.
12:37 IllvilJa masak: interesting point regarding communities and the general (far too often outright disgusting) attitude in some forums/communities etc...
12:37 masak thanks.
12:37 masak maybe nerd rage is connected somehow to word rage.
12:37 masak or other types of language rage.
12:38 IllvilJa I do actually stay away from certain projects/communities due to some ppl stubborn refusal of behaving like grown ups.
12:39 masak there seems to be a disappointing correlation between people becoming indispensible and people becoming very rude.
12:39 IllvilJa The perl6 community is thankfully free from the plague called 'n00bophobia'.
12:40 pmichaud good morning, #perl6
12:40 IllvilJa masak: yes, that seem to be the case :-/.
12:40 masak pmichaud: morning!
12:40 jnthn o/ pmichaud
12:40 moritz_ \o
12:41 * moritz_ tries to understand rotating Stokes vectors in Poincare-Spheres
12:43 JimmyZ joined #perl6
12:44 takadonet pmichaud: morning!
12:44 takadonet how are you doing today sir?
12:45 CokeBot9000 pmichaud, jnthn, moritz, masak, ~~
12:45 masak fun topic for a summer project for someone: taking John Gruber's Markdown and porting it to Perl 6 grammars. showing how much smaller and more maintainable it becomes :) http://daringfireball.net/projects/markdown/
12:47 masak the code is pretty fine already, mind. but it's a lot of scattered regexes everywhere, just like many markup parsers out there.
12:47 iblechbot joined #perl6
12:47 jnthn masak: Somebody iirc already wrote support for that in Parrot
12:47 jnthn And I think use PCT and thus have a Perl 6 grammar already.
12:47 jnthn I may be mis-remembering though.
12:47 masak it does sound familiar.
12:49 jnthn masak: http://github.com/fperrad/markdow​n/blob/master/markdown/grammar.pg
12:49 jnthn Looks like a little protoregex lurve could sweeten it up too.
12:50 masak indeed.
12:50 SmokeMachine joined #perl6
12:51 masak and those {*} thingies are so 2009 :)
12:51 masak still, it is already an improvement over the Perl 5 code.
12:52 takadonet masak: Perl 6 Grammar does not use " {*} " anymore right?
12:57 ejs joined #perl6
12:58 masak correct; they've been deprecated.
12:59 JimmyZ_ joined #perl6
13:00 masak rakudo: multi foo(Int $x) { say "int" }; foo(42); { multi foo(Int $x where { $_ > 20 }) { say "high int" }; foo(42) }; foo(42)
13:00 p6eval rakudo 2ec0e4: OUTPUT«int␤high int␤int␤»
13:00 masak jnthn++
13:00 jnthn Something that works!
13:00 jnthn :-)
13:01 masak I think I'm getting the hang of multi semantics...
13:01 jnthn Ahhh...duty free. :-)
13:01 jnthn @drink-selection.push($nemiroff)
13:03 masak can I cast an object to a less derived type at runtime? is that what .bless is for?
13:03 pmurias masak: why would you want to do such a thing?
13:03 masak because I'm a bad, bad person.
13:03 pmichaud an object will already be an instance of its less-derived types.
13:04 masak yes, of course.
13:04 masak that doesn't answer my question.
13:05 pmichaud No, I don't think that's what .bless is for.
13:05 jnthn I'm not sure whether you can re-bless.
13:06 jnthn If you try in Rakudo, it certainly won't do anything useful.
13:06 masak blessing to a more derived class might even be useful at times.
13:06 jnthn Perhaps, but I'm not 100% sure if that's what bless should do.
13:07 masak what *should* bless do?
13:07 jnthn Take a candidate and dribble holy water onto it.
13:07 jnthn Also call BUILDALL, iirc.
13:08 jnthn iirc, but read the code for a better answer, bless doesn't do much in Rakudo, and CREATE does much of the Real Work.
13:08 pmurias masak: the proper way to due the casting would be to create a new less/more derived object using the data from the old one
13:08 masak I'm reading the spec.
13:08 jnthn Huh, who reads that.
13:08 jnthn ;-)
13:09 CokeBot9000 pmichaud, jnthn, moritz, masak: did you see Allison's post on TT #389? Is that something that you really really need in 2.3 or is it ok to put it in immediately after?
13:09 moritz_ can you actually call a submetod via $obj.ActualType::submethod()?
13:10 pmichaud CokeBot9000: after.
13:10 jnthn moritz_: I suspect that would work.
13:11 jnthn Since it dispatches based upon how a dispatch by ActualType would look.
13:11 CokeBot9000 pmichaud: perfect. danke.
13:11 jnthn Try it. ;-)
13:11 moritz_ rakudo: class A { submethod b { say "b" } }; class B is A { }; say B.new.b
13:11 p6eval rakudo 2ec0e4: OUTPUT«Method 'b' not found for invocant of class 'B'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
13:11 moritz_ rakudo: class A { submethod b { say "b" } }; class B is A { }; say B.new.A::b
13:11 pmichaud the TT #389 fix removes some namespace pollution that causes errors
13:11 p6eval rakudo 2ec0e4: OUTPUT«b␤1␤»
13:11 moritz_ jnthn++
13:11 moritz_ and rakudo++
13:11 pmichaud but the lack-of-fix doesn't impede things from working
13:17 masak what does one have between the call to CREATE and the call to bless? the thing called the 'candidate object'?
13:18 masak and if it's already called on $class.CREATE, why do we also need to bless it?
13:18 masak bless doesn't do at all the same as in Perl 5, does it?
13:18 colomon (BTW, I started valgrinding mandelbrot-color.pl 501 an hour ago, and it's still running now.)
13:18 jnthn CREATE gives you something that doesn't have any of the init done (e.g. the whole BUILDALL stuff).
13:19 dalek nqp-rx: 210c0b7 | pmichaud++ | src/HLL/Actions.pm:
13:19 dalek nqp-rx: Avoid global-namespace lookup of quotemod_check (TT #389).
13:19 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/2​10c0b7fef0dbfea31e8b20d8aa705f32f0f1598
13:19 dalek nqp-rx: c7127ad | pmichaud++ | src/stage0/ (3 files):
13:19 dalek nqp-rx: Update bootstrap.
13:19 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/c​7127adfa3abf9bf650d41d2930bd690c485dd36
13:20 masak jnthn: so it's an "empty object" of that class?
13:20 pausenclown_ joined #perl6
13:20 moritz_ s/empty/unitialized/ in my understanding
13:20 jnthn what moritz_ said
13:20 masak right.
13:20 masak and 'bless' really means something more like 'run all initializers'.
13:21 moritz_ I'm not sure that's how it's meant to be
13:21 masak it doesn't have much to do with transforming the object into a given class, because it's already of that class.
13:21 moritz_ masak: are you familiar with the Perl 5 object model?
13:22 masak to the extent it has one, yes.
13:22 moritz_ there bless means "associate with the class", and CREATE is what the user does himself by creating a new hashref or other ref
13:23 masak *nod*
13:23 jnthn Some of what Rakudo currently has in CREATE should *maybe* be in bless.
13:23 masak it intrigues me that CREATE is supposed to take a :repr parameter which can be 'P6Hash'.
13:24 jnthn Yeah, smop has thought that area out a bunch.
13:30 PerlJam greetings #perl6-lings
13:32 moritz_ \o it's PerlJam
13:32 pmichaud PerlJam: \o
13:32 masak o.O/
13:32 JimmyZ \o
13:33 masak JimmyZ: 你好呢!
13:33 PerlJam It's a little weird, but after being sick for 2 days it's quite comforting to (virtually) see you all again  :)
13:34 masak PerlJam: welcome back!
13:34 moritz_ you must have been really sick if that prevented you from IRCing - glad you feel better now
13:34 JimmyZ masak:好啊
13:36 masak JimmyZ: 你最近怎么了?
13:36 * CokeBot9000 wonders if he can make unicode work in screen on putty.
13:37 CokeBot9000 (works fine attaching to the screen from osx Terminal...)
13:37 masak that, or learn to read the mojibake right off :)
13:38 rgrau joined #perl6
13:38 moritz_ CokeBot9000: Click on the icon, Change Settings -> Window -> Translation -> UTF-8
13:38 CokeBot9000 moritz_: I already had it that way, mortiz_.
13:39 slavik joined #perl6
13:39 CokeBot9000 AHAH.
13:39 JimmyZ masak: 忙,呵呵
13:39 CokeBot9000 screen -d -r -U did it.
13:40 * CokeBot9000 does the happy unicode dance.
13:40 CokeBot9000 moritz++
13:41 masak is that anything like the happy unicorn dance?
13:41 CokeBot9000 CHARLIE!
13:41 JimmyZ screen -rdU
13:41 slavik candy mountain!
13:41 CokeBot9000 slavik++
13:42 slavik I work with someone named Charlie ...
13:42 slavik omfg ... where's the doctor?
13:42 dalek joined #perl6
13:42 masak JimmyZ: 我也很忙。忙得快乐。^_^
13:43 CokeBot9000 moritz_: Благодаря
13:44 JimmyZ masak: Great to see your new spec for Date
13:44 slavik ooh, where is it?
13:44 masak um, but I'm the DateTime guy. :)
13:44 masak moritz_++ did Date. :)
13:44 slavik lol?
13:44 moritz_ and I didn't spec it yet :-)
13:45 JimmyZ moritz_++ too.
13:45 masak and mberends++
13:45 * moritz_ just implemented Date
13:45 slavik I'd like to see the spec that involved me getting kicked
13:45 masak slavik: http://svn.pugscode.org/pugs/docs/Perl6​/Spec/S32-setting-library/Temporal.pod
13:45 slavik ty
13:46 moritz_ when did slavik get kicked?
13:46 masak and sorry for kicking you... :/ I got ticked of by all the talk about internet beats.
13:46 slavik heh
13:46 slavik moritz_: basically, I said "screw the world, keep track of UTC"
13:46 moritz_ :-)
13:46 slavik or something of that sort
13:47 * pausenclown_ initiates vote kick
13:47 pausenclown_ applicant: moritz
13:47 pausenclown_ reason: noob
13:47 pausenclown_ =)
13:47 masak moritz_: here: http://irclog.perlgeek.de/​perl6/2010-04-04#i_2194097
13:47 moritz_ /kick pausenclown_ noobophobia
13:49 masak it was arnsholt, slavik and lue, IIRC.
13:49 slavik but honestly, I still think that should be the case simply because, for example, russia redid their time zones and now have 8 zones instead of 11 ...
13:49 masak slavik: I'm aware of the issue. it's a factor already. I haven't finished thinking about how to do.
13:49 slavik masak: that's why I think the timezone stuff (tzdate?) should be separate from core
13:49 masak it will be.
13:49 slavik core should know leap years and gregorian calendar but in UTC
13:49 masak that's part of the plan.
13:49 masak we do want to spec the machinery, however, so that non-core time zones can be glued onto the core classes.
13:49 slavik right
13:49 slavik ahh, I see
13:49 masak same thing for locales and funny calendars.
13:50 slavik I guess I was arguing the wrong topic ...
13:53 pausenclown_ rakudo: class B { }; class A { has Int @.x }; my $a = A.new; $a.x[0] = 1; $a.x[1]=B.new
13:53 p6eval rakudo 2ec0e4:  ( no output )
13:53 pausenclown_ shouldnt that croak?
13:54 masak yes, but typed attrs NYI in master.
13:54 pausenclown_ ah, ok.
13:54 pausenclown_ and...
13:55 pausenclown_ in a case like class B { }; class A { has Int %.x }; my $a = A.new; $a.x<foo> = 1; $a.x<bar>=B.new
13:56 pausenclown_ the type trait only applies to the values right? what if i want to restrict the keys to say, Date objects?
13:58 pausenclown_ btw,
13:58 pausenclown_ masak++ # shedding lights into the pit of Perl6 POD
13:58 molaf joined #perl6
13:58 masak pausenclown_: has %.x{Date}
13:59 masak also NYI :)
14:00 pausenclown_ are you in a mood to guess the YI ratio of rakudo?
14:01 pmichaud ...what would we use for the denominator?
14:01 [particle] NaN
14:02 PerlJam that makes guessing easy then
14:02 [particle] perl 6 makes the easy things easy
14:02 PerlJam :-)
14:04 masak pausenclown_: I'd guess that kind of typing would land when someone takes a closer look at S09. that may or may not be this summer.
14:06 masak rakudo: my %h; %h{"foo" & "bar"} = 5; say %h.perl
14:06 p6eval rakudo 2ec0e4: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 17293 (src/builtins/Junction.pir:404)␤»
14:06 * PerlJam notes that the twiiterverse had some interesting reactions to the Perl 5.12 release in relation to Perl 6.
14:06 PerlJam s/twiit/twitt/
14:07 masak I thought of having an interesting reaction too, but I decided not to.
14:08 PerlJam I can't fathom the ones that said effectively, "if they're still making Perl 5 releases, why bother with Perl 6?"
14:09 takadonet "why bother with C++ when they are still releasing C?"
14:12 CokeBot9000 takadonet: that's actually an excellent question. :)
14:12 [particle] twitter... interesting... huh?
14:13 huf PerlJam: choice is baaad, mmmkay? just ask karl pilkington
14:13 pausenclown_ rakudo:  class A { has $!x; method x { say self.x + 1 } }; my $a = A.new( x => 1 ); $a.x;
14:13 p6eval rakudo 2ec0e4: OUTPUT«maximum recursion depth exceeded␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)␤»
14:14 pausenclown_ how to disambguate self.x?
14:14 masak $!x
14:14 pausenclown_ rakudo:  class A { has $!x; method x { say self!x + 1 } }; my $a = A.new( x => 1 ); $a.x;
14:14 p6eval rakudo 2ec0e4: OUTPUT«Method '!x' not found for invocant of class 'A'␤current instr.: 'perl6;A;x' pc 428 (EVAL_1:177)␤»
14:15 masak no, you're not listening :)
14:15 pausenclown_ NYI?
14:15 PerlJam slippery sublties of syntax
14:15 masak pausenclown_: no, you're just not listening.
14:16 pausenclown_ rakudo:  class A { has $!x; method x { say $!x + 1 } }; my $a = A.new( x => 1 ); $a.x;
14:16 p6eval rakudo 2ec0e4: OUTPUT«2␤»
14:16 masak self!x would still be a (private) method.
14:16 pausenclown_ rakudo:  class A { has $!x; has $.y = 99; method x { say $!x + $.y } }; my $a = A.new( x => 1 ); $a.x;
14:16 p6eval rakudo 2ec0e4: OUTPUT«100␤»
14:17 pausenclown_ mmh
14:17 pausenclown_ so whats the diff between $. and self. ?
14:17 masak basically, the $.y in the 'has' declaration gives you a $!y and a method.
14:17 masak and $.y everywhere else is always a method call.
14:17 masak equivalent to 'self.y in item context'.
14:18 masak @.y is equiv to 'self.y in list context', etc.
14:18 masak somewhat related: http://use.perl.org/~masak/journal/39709
14:21 pausenclown_ i had to read that 3 times but i think your saying 'has' ing a public attribute generates a private method and accessors
14:21 jnthn s/private//
14:22 jnthn has $.x # like has $!x; method x() { $!x }
14:22 masak the method is the accessor.
14:22 dalek rakudo: 0f1a5cd | pmichaud++ | src/Perl6/Actions.pm:
14:22 dalek rakudo: Avoid direct-namespace lookup of HLL::Grammar::quotemod_check.
14:22 dalek rakudo: I'm not sure how this worked anyway, since it's supposedly in
14:22 dalek rakudo: a different HLL-root.
14:22 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​f1a5cd0394e07107f0ea5f13ea5df32ce84b708
14:23 pausenclown_ yeah. i meant private attribute
14:23 masak in that case, *nod*
14:23 snarkyboojum_ joined #perl6
14:23 masak and not accessor*s*. one method does both the r and the w.
14:23 masak at least if you do 'has $.y is rw;'
14:24 JimmyZ joined #perl6
14:24 IllvilJa action considers the case of sentient perl6 objects who use 'have' instead of 'has' ;-)
14:24 * IllvilJa considers the case of sentient perl6 objects who use 'have' instead of 'has' ;-)
14:25 IllvilJa (you are too distracted when you even fail using an IRC channel properly)
14:29 * CokeBot9000 is glad to see schwern's tweet.
14:29 masak aye. schwern++
14:31 PerlJam indeed, schwern++
14:33 justatheory joined #perl6
14:33 nihiliad joined #perl6
14:33 * masak can't stop laughing at cats on YouTube using the iPad
14:44 masak is the Selector of S12 related to the Matcher os S29?
14:44 masak I don't see the Selector type defined anywhere in the spec.
14:45 JimmyZ_ joined #perl6
14:45 pugssvn r30392 | moritz++ | [t/spec] random unfudges for rakudo
14:54 masak jnthn: OH NOES, the ashes from Iceland may keep coming for months or years. and NPW is in two weeks! :/
14:55 IllvilJa iceland volcano ashes = nuclear winter lite
14:56 moritz_ masak: you need to take the boat :-)
14:57 masak last time I looked, that wasn't an economically viable alternative.
14:57 jnthn masak: We could swim.
14:57 jnthn ;-)
14:57 TimToady espc since they burned it at the last viking funeral
14:58 IllvilJa NPW btw, what does that stand for?
14:58 pmichaud Nordic Perl Workshop
14:58 jnthn masak: Where'd you read the "may keep coming for months or years", btw?
14:58 * PerlJam is mildly surprised to see "Practical Tips for Rakudo Star" for Oslo.pm
14:58 masak jnthn: my gleeful office mate told me.
14:59 jnthn Ah.
14:59 masak Nordic Perl Volcanoshop.
14:59 * jnthn shoulda called his talk "Perl 6 Errupts"
15:00 PerlJam jnthn++
15:00 TimToady is that about the mid-ocean rift between Perl 5 and Perl 6?
15:01 TimToady they're getting further apart by an inch or two a year  :)
15:01 masak TimToady: that's OK, they'll collide on the other side :P
15:01 TimToady but that's enough for some fireworks
15:01 pmichaud jnthn: http://www.huliq.com/1/92709/iceland-volcano​-eruptions-can-last-weeks-eu-airspace-closed
15:01 moritz_ that's why we need sorear++ madly hacking on Blizkost :-)
15:01 IllvilJa I thought perl5 and perl6 were more like the fault passing through San Francisco and the rest of California.
15:02 IllvilJa Instead of separating they just scratch each other, causing occasional quakes.
15:02 masak it's their fault, not ours! :P
15:02 PerlJam heh
15:02 TimToady well, in another <mumble> million years, LA will be north of SF.
15:02 pmichaud iirc, it's schwern's fault.
15:02 IllvilJa "OUR tectonic plate is standing still, it is YOUR that is moving and causing the quakes! STOP doing that!"
15:03 pmichaud I think it would be very hard to claim that Perl 6's tectonic plates are standing still.  :-)
15:03 IllvilJa Does it even have a tectonic plate, or is it more like a storm on a gas giant like Jupiter?
15:04 PerlJam IllvilJa: in youre universe, what are the bits of perl 6 that perl 5 borrows?
15:04 IllvilJa "Perl6 - the red spot among programming languages" :-)
15:04 IllvilJa PerlJam: I have not really compared them.
15:05 IllvilJa I suspect Perl5 borrows shamelessly (and they should) anything that don't manages to run away in time.
15:06 IllvilJa More or less the same way Perl6 does, but with clunkier syntax (and duct tape and staples).
15:07 Trashlord joined #perl6
15:07 PerlJam I was just curious how you would characterize via plate tectonics the idea of keeping a feature on one plate, but at the same time conferring that feature to the other plate.
15:08 IllvilJa PerlJam: I think that question proves the point that an analogy never should be pushed too far.
15:08 IllvilJa :-)
15:08 TimToady well, historically, in real life, most cargo culters have lived on a different plate than the people they were cargo culting from. :)
15:09 PerlJam IllvilJa: perhaps.  Or just that sufficient imagination has yet to be employed :)
15:11 * masak .oO( anaolgies pushed into each other, causing meta-tectonic quakes... )
15:12 PerlJam TimToady: many cargo culters didn't even have plates!
15:13 IllvilJa masak: you expressed a suitable definition of the concept "philosophy".
15:13 masak IllvilJa: I thought it felt familiar :)
15:13 IllvilJa Or perhaps the word I was looking for were "Innovation".
15:17 masak std: Proxy
15:17 p6eval std 30392: OUTPUT«ok 00:01 109m␤»
15:17 masak \o/
15:17 TimToady which types std recognizes is still completely arbitrary
15:17 PerlJam std: Fred
15:17 p6eval std 30392: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤ 'Fred' used at line 1␤Check failed␤FAILED 00:01 107m␤»
15:17 TimToady std: DateTime
15:18 p6eval std 30392: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤ 'DateTime' used at line 1␤Check failed␤FAILED 00:01 107m␤»
15:18 masak 'Fred who?' -- 'Fred of snakes?'
15:18 TimToady Pythons?
15:18 masak if I want the key of a pair *not* to autoquote, what do I do?
15:19 TimToady quote it yerself
15:19 masak no, I mean
15:19 TimToady you want a function call?
15:19 TimToady there's always ()
15:19 masak if I really do want the Int type object as a key, and not "Int".
15:20 TimToady (Int) or, in theory, Int()
15:20 masak ah. thanks.
15:20 TimToady rakudo: say Int().WHAT
15:20 masak "parens only do grouping, yeah right..." :P
15:20 p6eval rakudo 0f1a5c: OUTPUT«Could not find sub &Int␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:22 jnthn TimToady: Hmm. What'd you expect that to do?
15:22 TimToady the parens group Int into a non-string :)
15:23 jnthn TimToady: I know Int(something) is meant to be a coercion.
15:23 TimToady I'd expect .() on a type object to be a coercion of Nil, which ends up returning the original type object
15:23 jnthn TimToady: Is empty parens after it just identity?
15:23 TimToady yes
15:23 jnthn OK.
15:23 masak that's a use of the word 'group' with which I wasn't previously familiar. :)
15:23 * jnthn hadn't seen that before :-)
15:23 TimToady you should study group theory
15:23 masak 哈哈
15:24 TimToady it's one of the reasons I'm okay with type objects stringifying to Int()
15:24 pmichaud is Int() syntactic or .() on any protoobject?
15:24 pmichaud my $x = Int;  $x()  # ?
15:25 masak o.O
15:25 pmichaud (I'd been assuming it's non-syntactic -- i.e.,   .() on a protoobject)
15:25 * jnthn understood it as syntactic
15:25 * masak too
15:25 TimToady the latter seems more general
15:25 pmichaud jnthn: it's just invoke on a protoobject
15:25 jnthn That is, TypeName(blah) is just sugar for blah.TypeName
15:25 masak so type objects have a .() that returns self?
15:25 jnthn pmichaud: Well, it can be done that way too.
15:25 pmichaud they have a .() that does a coercion
15:26 pmichaud Int('345')
15:26 TimToady may just Mu has a .() that does that
15:26 masak sure, why not.
15:26 jnthn It's just not the way I'd have expected it.
15:26 pmichaud jnthn: that's why I asked for the clarification -- it seemed you were heading down the syntactic trail
15:26 jnthn pmichaud: Aye, I thought based on some previous discussion on same topic.
15:27 jnthn I'm happy enough if it's non syntactic though. It's easier to implement that way.
15:27 TimToady STD parses it as a normal invoke, fwiw
15:28 jnthn method postcircumfix:<( )>(Mu:U: $to-coerce) { ... } or some such.
15:28 jnthn Probably Mu on the thing to coerce too.
15:28 jnthn I still need to do :U
15:28 TimToady hmm, Mu won't work
15:28 TimToady unless all types delegate to Mu
15:28 pmichaud jnthn: perhaps could cheat in the dispatcher for now
15:29 TimToady since any coercion .() would capture the dispatch
15:29 jnthn pmichaud: Well, the only reason at all :U is annoying is because it's not parsed as a special case...
15:29 jnthn Just as any old adverb on a variable name
15:29 pmichaud jnthn: oh, I might be able to do something with that (soon)
15:29 jnthn And that meant it was a bit less trivial to implement, and I was short on time, so I left it.
15:30 pmichaud some google alerts aren't what you want to see....
15:31 pmichaud === Google Web Alert for: "patrick michaud" ===
15:31 pmichaud Obituary for Patrick Michaud Sr. - Redwood Chapel, Redwood City, CA
15:31 pmichaud fortunately I'm not in CA
15:31 IllvilJa pmichaud: not a relative then?
15:31 pmichaud IllvilJa: not afaik
15:32 masak rakudo: { my &x = $^a; { &x($^b) }}.(&say).("OH HAI") # what am I missing?
15:32 p6eval rakudo 0f1a5c: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤current instr.: '_block59' pc 441 (EVAL_1:187)␤»
15:32 jnthn Hmm
15:32 pmichaud masak  the nested block is immediate
15:32 masak ah.
15:32 jnthn Oh. That'd doit.
15:33 masak rakudo: { my &x = $^a; -> $b { &x($b) }}.(&say).("OH HAI")
15:33 p6eval rakudo 0f1a5c: OUTPUT«OH HAI␤»
15:33 masak \o/
15:34 masak what made the outer block immediate, but not the inner one in my first example?
15:34 pmichaud I suppose one could argue that any block with placeholders can't be an immediate block.
15:34 masak I just don't understand the logic, I think.
15:34 masak maybe there is one.
15:34 pmichaud masak: I don't understand the question.   The outer block isn't immediate.
15:34 meppl joined #perl6
15:34 masak oh, sorry. the other way around.
15:34 pmichaud it's not a bare block -- it has a method call on it.
15:35 masak oh, ok.
15:35 pmichaud The outer block isn't a bare block because of the method call.
15:36 pmichaud The inner block is bare (to the scope of the outer block)
15:36 pmichaud So the inner block is immediate.
15:36 masak right. I see it now.
15:36 masak thanks.
15:37 * jnthn bbiab, systemka
15:41 pmichaud afk, lunch
16:01 PerlJam Probably old news by now, but did you guys see this?  http://www.nntp.perl.org/group/per​l.cpan.workers/2010/04/msg819.html
16:02 molaf joined #perl6
16:03 ejs joined #perl6
16:04 * masak didn't
16:05 * moritz_ didn't either
16:05 moritz_ but it's a good proposal
16:06 masak it looks good, yes.
16:06 masak actually, I'm happy that it's being considered/discussed at all.
16:06 masak but there also seems to be good ideas in there.
16:08 CokeBot9000 PerlJam++
16:11 PerlJam I'm not surprised at the discussion (I figured it would come up eventually) but I'm mildly surprised at the tone.   a few years ago there would have been more of a potassium-in-water kind of discussion
16:12 * jnthn back
16:13 masak clearly we did something right :)
16:13 PerlJam yes.
16:13 PerlJam particularly mst++ and masak++  I think
16:14 moritz_ PerlJam: I've sent a similar mail before, but with less concrete proposals, and probably to the wrong list
16:14 * masak .oO( please look deeply into these spinning glasses... )
16:14 moritz_ the answer back then was "patches welcome, if they don't interupt anything for the Perl 5 crowd"
16:15 masak std: EMPTY
16:15 p6eval std 30392: OUTPUT«ok 00:01 109m␤»
16:15 CokeBot9000 std: std std!
16:15 p6eval std 30392: OUTPUT«[31m===[0mSORRY![31m===[0m␤Negation metaoperator not followed by valid infix at /tmp/1p2iZCbzd2 line 1:␤------> [32mstd std![33m⏏[31m<EOL>[0m␤    expecting any of:␤   bracketed infix␤  infix or meta-infix␤Undeclared routine:␤    'std' used at line 1␤Parse failed␤FAILED
16:15 p6eval ..00:01 108m…
16:20 masak food &
16:26 ggoebel joined #perl6
16:35 PerlJam There was another, longer thread in January: http://www.nntp.perl.org/group/per​l.cpan.workers/2010/01/msg639.html
16:44 justatheory joined #perl6
16:44 crazed joined #perl6
16:45 justatheory joined #perl6
16:45 crazed is rakudo still the go to compiler for perl6?
16:46 [particle] yes
16:46 crazed ok cool
16:48 crazed rakudo in my repos yay
16:48 muixirt joined #perl6
16:48 stephenlb joined #perl6
16:51 muixirt hi jnthn, plobsing pointed me some minutes ago to zavolaj
16:52 jnthn hi muixirt
16:52 lisppaste3 muixirt pasted "untitled" at http://paste.lisp.org/display/97824
16:52 muixirt jnthn: newbie question: what's the problem here :-)
16:53 jnthn muixirt: I don't know immediately. I'll have a look later on today.
16:53 jnthn It doesn't look specific to your example.
16:54 muixirt it's modeled after the win32-api-call.p6 example
16:57 diakopter jnthn: hi
16:58 diakopter I got me compile-time binder working for named subs.
16:59 jnthn muixirt: It may be that this one is broken too.
16:59 jnthn diakopter: Cool. :-)
16:59 jnthn muixirt: I gotta work on $other-thing right now, but I can check and patch it up later today.
17:00 muixirt jnthn: ok, thanks
17:04 REPLeffect joined #perl6
17:04 espadrine joined #perl6
17:06 espadrine left #perl6
17:10 colomon joined #perl6
17:47 pugssvn r30393 | lwall++ | [S05] say what happens with negative quantifier ranges
17:49 rgrau` joined #perl6
17:49 PerlJam TimToady: wicked
17:54 xabbu42 joined #perl6
17:54 PerlJam TimToady: does that mean the negative range values are zero-width matches?
17:55 TimToady no
17:55 PerlJam It just moves the Cursor?
17:56 TimToady yes
17:56 TimToady which should be trivial in the case of .
17:56 moritz_ and non-trivial in the case of patterns which allow varying length
17:59 * PerlJam wonders if his spidey-sense is reversed.
17:59 xabbu42 joined #perl6
18:00 PerlJam normally, when presented with some new Perl 6 thing, my first reaction is "why?" or "I don't like it" or something until the construct grows on me and then I think it's the greatest thing ever  like the '(' ~ ')' <stuff> syntax for instance
18:00 PerlJam For this one, I just thought "cool"
18:00 PerlJam :-)
18:04 Chillance joined #perl6
18:28 dual joined #perl6
18:32 iblechbot joined #perl6
18:35 vorner joined #perl6
18:44 M_o_C_ joined #perl6
19:01 jonasbn joined #perl6
19:05 pausenclown_ rakudo: class A { method prefix { 1 }; }; say A.new.prefix
19:05 p6eval rakudo 0f1a5c: OUTPUT«1␤»
19:06 constant joined #perl6
19:06 constant joined #perl6
19:16 hercynium joined #perl6
19:42 nihiliad joined #perl6
19:43 Kyril joined #perl6
19:59 xinming joined #perl6
20:05 ShaneC joined #perl6
20:06 ShaneC left #perl6
20:17 dalek book: e2538aa | moritz++ |  (2 files):
20:17 dalek book: markup and template fixes
20:17 dalek book: review: http://github.com/perl6/book/commit/e2​538aa94b46f08be19354d754913b9eebc38697
20:21 ilogger2 joined #perl6
20:30 * pausenclown_ adds namespace support to XML::Parser
20:34 dalek book: f9a8270 | moritz++ | src/ (2 files):
20:34 dalek book: LaTeX does not seem to like non-breaking spaces, so substitute them by normal spaces
20:34 dalek book: review: http://github.com/perl6/book/commit/f9​a82708b0ebbf837d77280aa8f865152b93271d
20:50 justatheory joined #perl6
21:10 ejs joined #perl6
21:10 Kyril joined #perl6
21:20 * diakopter wonders what all the quiet is about
21:25 * muixirt is breaking the silence
21:25 muixirt diakopter: tell how zavolaj works
21:26 jnthn muixirt: BTW, I've found a regression in Rakudo that I think broke Zavolaj.
21:27 muixirt hooray!
21:29 jnthn Working on a patch.
21:31 wknight8111 joined #perl6
21:33 jnthn muixirt: Works, spectesting.
21:33 lichtkind joined #perl6
21:33 lichtkind moritz_: did you edit german wikipedia perl article?
21:35 muixirt jnthn++
21:35 muixirt listens to Lenny Dee R.A.W.  before shell out a git pull :-)
21:38 moritz_ lichtkind: I might have, but it was at least 2 weeks agao
21:38 lichtkind moritz_: yes it has to be you because you saif last week to me "how many times .. its compiler" :)
21:41 moritz_ well, somebody has to keep the wiki honest :-)
21:41 lichtkind moritz_: honesty??? overrated
21:41 CokeBot9000 moritz_: oooh. I can ask people here to translate Rammstein lyrics for me!
21:42 lichtkind moritz_: sometimes we use words a bit differently you notices to my article where generally very good except the sentence where you dont seemed to get the ment with "the author" myself
21:43 lichtkind moritz_: i loaded latest version of book
21:43 jnthn CokeBot9000: You, er, probably don't want to know what they mean. :-)
21:43 lichtkind CokeBot9000: which one?
21:43 lichtkind yeah maybe jnthn is right
21:44 moritz_ lichtkind: sorry, I didn't understand what you mean by "get the meant with..."
21:44 moritz_ *ment
21:44 moritz_ CokeBot9000: there's not really anything worth translating in there
21:44 dhoss joined #perl6
21:44 moritz_ CokeBot9000: most are just... boring
21:45 frooh joined #perl6
21:46 jnthn <incest beastiality cannabalism USA-sucks ichwillficken>.pick # covers much of it...
21:46 lichtkind moritz_: yes there where missing words since i tried multithreading and reading cokebots post; i ment: except the sentence where you dont seemed to get what i ment with the words "the author" myself, because i cant say I on heise
21:48 m6locks jnthn: lol
21:49 jnthn I just patched Zavolaj in a couple of ways.
21:49 jnthn Most importantly, no "returns" declarations is taken to imply void now, and it actually gives a useful error message if the library is missing or the symbol couldn't be looked up in it.
21:49 jnthn As in, an error that actually mentions the name of the library and the symbol you were trying to look up. :-)
21:50 diakopter muixirt: I have no idea what zavolaj is.
21:52 jnthn But it's imperative!
21:52 jnthn ;-)
21:53 jnthn diakopter: It's a Rakudo module that lets you do various bits of native library calling.
21:53 PerlJam diakopter: it's FFI for rakudo
21:56 dalek rakudo: 3a1eb98 | jonathan++ | src/Perl6/Actions.pm:
21:56 dalek rakudo: We should only go looking for outer lexical candidates when introducing a lexical multi, not an our-scoped one. Fixes a regression.
21:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​a1eb980d3b16be274fa0be27224788ebfb06147
22:02 dalek rakudo: 5fd0669 | jonathan++ | t/spectest.data:
22:02 dalek rakudo: Add a # icu marker for a test that seems to need it.
22:02 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​fd0669fe164bfb9192545bef3d47cdca0a733be
22:09 christine joined #perl6
22:09 * muixirt smooches jnthn++, it works!
22:10 jnthn \o/
22:12 lisppaste3 muixirt annotated #97824 "untitled" at http://paste.lisp.org/display/97824#1
22:16 mearley joined #perl6
22:16 mearley left #perl6
22:20 * muixirt is a little bit sobered because he doesn't know how to handle the power jnthn  gave him ;-)
22:22 muixirt that's life
22:22 jnthn :-)
22:22 * jnthn tries to fix the zen array slice stuff
22:32 pmurias joined #perl6
22:39 colomon jnthn++
22:40 jnthn colomon: Appears I has a win.
22:40 jnthn Almost through the tests. :-)
22:40 colomon \o/
22:40 jnthn It fixes say "oh lol @bbq[]" too
22:43 jnthn Yay. array-interpolation.t runs completely unfudged now. :-)
22:43 colomon \o/
22:44 pmurias diakopter: perlesque will support coroutines?
22:44 colomon crazy fact:  I've been prototyping in Perl 6 for work this week, and I haven't had any compiler issues at all with current Rakudo.
22:45 colomon $work, I mean.
22:45 colomon :)
22:45 pjcj joined #perl6
22:45 pmurias colomon: you're prototyping Perl 5 code in Perl 6?
22:45 colomon Target language is C++, actually
22:45 pugssvn r30394 | jnthn++ | [t/spec] Unfudge a bunch of array interpolation tests that Rakudo now passes.
22:46 pmurias C++ :(
22:47 colomon I'm afraid translating from Perl 6 to C++ will probably quadruple the number of lines of code...
22:47 jnthn Sure, but if prototyping the algorithm in Perl 6 gets you to those lines faster, I guess that's nice. :-)
22:47 diakopter pmurias: yes
22:48 diakopter and actually, full continuations
22:48 dalek rakudo: 78faa0c | jonathan++ | src/Perl6/ (2 files):
22:48 dalek rakudo: Bring our parsing of array and hash subscripting in line with STD. This also unbreaks zen slices.
22:48 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​8faa0c0928fdc9c3f034f07da2d77384b9f9a57
22:48 colomon jnthn: hopefully it means I can work out the fairly tricky algorithm more easily....
22:49 pmurias diakopter: will captures be handled by perlesque or does it expose a C# method call?
22:49 pmurias * C#ish
22:50 diakopter oh, that'll be 'above' the STD/viv level
22:50 diakopter the actual p6 runtime
22:50 diakopter since perlesque is just another VM layer over the CLR
22:51 diakopter (that provides slick compilation, runtime codegen, and continuations/closures)
22:51 pausenclown_ joined #perl6
22:51 pmurias does it run on linux?
22:52 diakopter pmurias: so basically, the perlesque code emitted by viv would build up the capture structures appropriately
22:52 diakopter yes
22:52 diakopter perlesque: loop (my int $a=0;$a<100000000;$a+=1) {};System::Console.WriteLine($a)
22:52 diakopter that's on linux
22:52 p6eval perlesque: OUTPUT«100000000␤»
22:54 diakopter it needs mono 2.6
23:00 pmurias perlesque could make a nice mildew target,if it took care of all the continuations support all the emitting a block as a giant switch stuff could be dropped
23:00 pmurias s/dropped/unessasary/
23:00 diakopter 'all the emitting a block as a giant switch stuff' in mildew?
23:02 diakopter pmurias: ^^
23:02 pmurias switch () {case 1: stmt1; case 2: stmt2}
23:02 diakopter I know
23:02 diakopter do you mean the switching in mildew?
23:02 diakopter or in perlesque?
23:03 pmurias the mildew perlesque backend wouldn't have to emit anything like that
23:03 diakopter oh
23:03 pmurias it's a bit late for me so i don't express myself with full clearness
23:03 pmurias ;)
23:04 diakopter I was confused b/c perlesque still has to do that for individual routines
23:04 diakopter but it's definitely not 1 giant one for the entire program.
23:04 pmurias in mildew it's not a giant one either
23:05 diakopter but only for routines that actually use that feature
23:05 TiMBuS joined #perl6
23:05 diakopter or are possibly recursive.
23:07 diakopter that's the only way I know of to implement continuations (to use instruction pointers/offsets) of some kind.
23:07 diakopter pmurias: what license is your software?  (can I use your optimizer)
23:07 diakopter all of perlesque is MIT/BSD/MS-PL
23:08 pmurias mildew is Artistic 2
23:08 diakopter ok, which means it can be redistributed as MIT as long as it's not "named" the same.
23:09 ruoso joined #perl6
23:09 orafu joined #perl6
23:10 pmurias diakopter: it's not really a full optimiser, it can infer a bit of type info (i didn't get around to adding more rules yet)
23:11 pmurias diakopter: what i think would make more sense if instead of you forking the optimiser i just wrote a perlesque backend for mildew
23:11 diakopter oh
23:14 pmurias if Artistic 2 is a problem and ruoso agrees we could dual license mildew
23:16 diakopter no, it's not a problem, as I said above :)
23:16 diakopter the AL2 allows redistribution under any of the opensource.org licenses.
23:16 diakopter as long as the redistribution is not named the same as the original.
23:33 Kyril Should i bother learning Perl (5) or directly start learning Perl 6 ?
23:36 muixirt Kyril: depends on your goals
23:37 diakopter Kyril: yes, a very large portion of Perl 6 knowledge actually relies on very advanced Perl 5 knowledge, imho.
23:38 diakopter and an even larger portion relies on beginner-intermediate Perl 5 knowledge (like mine)
23:38 diakopter but other than that, they're very different languages :)
23:38 ruoso Perl 5 is much more documented than Perl 6, so learning Perl 5 might be easier then learning Perl 6
23:39 ruoso I mean, learning Perl 5 and then Perl 6 afterwards
23:44 Kyril muixirt, diakopter, ruoso : Alright, i will start by learning Perl 5 then, thanks
23:58 yinyin joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs