|
»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
|
00:05
colomon left
00:07
yinyin joined
00:23
f00li5h left
00:24
f00li5h joined,
ash_ left
00:26
rv2733 left
00:27
PZt joined,
slavik left
00:32
meppel left
00:34
f00li5h left,
f00li5h joined
00:39
colomon joined
00:48
ruoso left
00:57
wknight8111 left
|
|||
| sorear | TimToady: In your crystal ball, do you see all P6 implementations convergin on STD.pm? | 00:58 | |
| diakopter | the divining rod dragged me there eventually | 01:03 | |
| TimToady | sorear: more or less, but STD also converges with the implementations sometimes | 01:06 | |
| most of the implementation differences will be in what is emitted by the emitters | 01:07 | ||
| and on how they map the disputable semantics onto their underlying VMs | |||
| the specs can nail down desired semantics to some extent, but cannot be perfect | 01:08 | ||
| and it would perhaps be inadvisable to make them perfect, because then they'd be very brittle | 01:09 | ||
|
01:09
holli joined
01:10
holli_ left
|
|||
| sorear | To me, 'disputable' connotes mistakes in the spec, places where it should be clearer | 01:13 | |
| I presume the intent is more like C undefined behavior | |||
| "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:14 | ||
|
01:15
drake1 joined
|
|||
| drake1 | hello, how should I tag a perl5 program to void ambiguous interpreter selction? | 01:16 | |
| diakopter | shebang? | 01:17 | |
| drake1 | yes | ||
| but perl5 is installed under perl | |||
| 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:18 | ||
| diakopter | I think the only one that installs as "perl6" is rakudo | 01:19 | |
| drake1 | ok so not completely vulnerable | ||
| diakopter | but others will too, I'm sure, so an "alternatives" system would develop... | ||
| drake1 | I thought a use perl5; or something like that | 01:20 | |
| to also be compatible with perl6 as a perl5 program | |||
| diakopter | actually perl5-mode is the default | 01:22 | |
| drake1 | oh perfect | ||
| I love that one | |||
| perl5 or the gentle crash | 01:23 | ||
| 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" | ||
| drake1 | good point | 01:26 | |
| maybe a system "perl -v|grep 5" || die "wrong version" | |||
| but I don't know, other version might just work | 01:28 | ||
| at least without the ``my'' declarations | |||
|
01:30
TiMBuS left
01:36
felipe joined
01:40
plobsing joined
01:57
Psyche^ joined
02:00
Patterner left,
Psyche^ is now known as Patterner
02:06
mdxi left
|
|||
| drake1 | damn, gotta write a C.S.L.O.T Daily with Cron. Bye | 02:15 | |
|
02:15
drake1 left
02:17
agentzh joined
02:32
meppl joined
02:35
stephenlb left
02:36
REPLeffect left
|
|||
| diakopter | triumph. | 02:40 | |
| strongly typed, named args & binding. | |||
| on named subs. | 02:41 | ||
| haven't worked on anonymous subs yet. subs as variables and return lvalue binding remain | |||
| perlesque: my int $a = 2; sub foo (int $b, int $c) { System::Console.WriteLine($b) }; foo(55, 3); | 02:46 | ||
| p6eval | perlesque: OUTPUT«55» | ||
| diakopter | hence, say. | 02:47 | |
| whee. trampolined cps on the clr. | 02:48 | ||
|
02:49
unixbomber joined
|
|||
| spinclad | sweet! | 02:49 | |
| 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» | ||
| diakopter | all variables are strongly typed | 02:52 | |
| 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); | ||
| p6eval | perlesque: OUTPUT«parsefail» | ||
| diakopter | this isn't a Perl 6 implementation | ||
| 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); | ||
| p6eval | perlesque: OUTPUT«parsefail» | ||
| spinclad | no, i'm just pretending it has my fantasy feature | 02:54 | |
| diakopter | what's that | ||
| I mean, what's your fantasy feature | 02:55 | ||
| 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 | |
| return(values) is $return(values) | |||
| so cps | 02:58 | ||
|
02:58
pausenclown joined
|
|||
| diakopter | what do you mean by "or they don't return" | 02:58 | |
| pausenclown | rakudo: my $c = -> $x { say $x }; $c(1); | 02:59 | |
| p6eval | rakudo 2ec0e4: OUTPUT«1» | ||
| spinclad | take the 1f(int $v): label: as a sub it doesn't take a $return param, so it's a returnless continuation | ||
| 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 | ||
| anyway, just playing | |||
| diakopter | oh :) | ||
|
03:05
pausenclown left
03:09
lue joined
|
|||
| lue | hello! | 03:09 | |
| spinclad | hi lue | 03:10 | |
|
03:10
kurt_h joined
03:11
kurt_h left
03:27
mariano left
|
|||
| sorear | lue: Why did you put fake information in the pugs AUTHORS file? :/ | 03:28 | |
| a pseudonym is one thing, but LUE is not a registered CPAN ID | |||
| lue | Are you saying I have to be on CPAN to be in the AUTHORS file? | 03:29 | |
| sorear | no | ||
| you'll notice that lots of people have no CPAN ID listed | |||
| these are the people who don't have them | |||
| lue | Well, I edited that list so long ago :) | 03:32 | |
|
03:43
justatheory left
03:46
meppel joined
03:49
meppl left,
meppel is now known as meppl
03:50
mdxi joined
|
|||
| sjohnson | y0 dudes | 04:04 | |
|
04:05
_jaldhar_ left,
_jaldhar_ joined
|
|||
| meppl | dont copy that floppy: www.youtube.com/watch?v=up863eQKGUI | 04:05 | |
| lue | oh no not that! /o\ ( I hear they're remaking that for today's culture :( ) | 04:06 | |
| meppl | ^^ | 04:07 | |
| lue | horrid rhyme involving "downloads". hm... | 04:10 | |
| rakudo: say 500*1.618 # please let 1.618 be the golden ratio :) | 04:14 | ||
| p6eval | rakudo 2ec0e4: OUTPUT«809» | ||
|
04:18
sorear left
04:19
sorear joined
04:23
am0c joined
04:26
mikelifeguard joined
|
|||
| TimToady | rakudo: (1,1,-> $a, $b { say $b / $a; $a + $b } ... *).batch(50) | 04:28 | |
| p6eval | rakudo 2ec0e4: | ||
| ..OUTPUT«121.51.666666666666671.61.6251.615384615384621.619047619047621.617647058823531.618181818181821.617977528089891.618055555555561.618025751072961.618037135278511.618032786885251.618034447821681.618033813400131.618034055727551.618033963166711.61803399852181.61803398… | |||
| TimToady | interesting that you can't start that one at 0,1,1 | 04:30 | |
| lue | ooh, pretty numbuuurrrrssss... O.o | ||
| TimToady | by the end of .batch(50) it converges on 1.61803398874989 | 04:31 | |
| lue | I'm guessing batch(*) would break it :) | 04:33 | |
| but that's a pretty exact number anyway :) | |||
| TimToady | rakudo: (1,1,-> $a, $b { say $b / $a; $a + $b } ... *).eager | ||
| p6eval | rakudo 2ec0e4: | 04:34 | |
| ..OUTPUT«121.51.666666666666671.61.6251.615384615384621.619047619047621.617647058823531.618181818181821.617977528089891.618055555555561.618025751072961.618037135278511.618032786885251.618034447821681.618033813400131.618034055727551.618033963166711.61803399852181.61803398… | |||
| TimToady | and the integers are still exact at the end of .batch(20), even in floaters | ||
| 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
|
|||
| 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" | ||
| pugs: say 2**4**8**16 | 04:37 | ||
| p6eval | pugs: OUTPUT«Inf» | ||
| TimToady | pugs: say 2**4**8 | ||
| p6eval | pugs: OUTPUT«200352993040684646497907235156025575044782547556975141926501697371089405955631145308950613088093334810103823434290726318182294938211881266886950636476154702916504187191635158796634721944293092798208430910485599057015931895963952486337236720300291696959215610876494888925409080591145… | ||
| TimToady | do you mean decimal places? | ||
| after the point? | |||
| lue | yes | 04:38 | |
| TimToady | pugs: say 42 / 2**4**8 | ||
| p6eval | pugs: OUTPUT«0» | ||
|
04:38
broquaint left
|
|||
| TimToady | pugs: say 41 / 2**4**8 | 04:38 | |
| p6eval | pugs: OUTPUT«0» | ||
| lue | I don't want to call them fractions, because then people think of 1/2 . | ||
| TimToady | rakudo: say 1 / 2222222222222222222222222222222222222222222222222222 | 04:39 | |
| p6eval | rakudo 2ec0e4: OUTPUT«2.85078665381638e-19» | ||
| TimToady | rakudo: say (1 / 2222222222222222222222222222222222222222222222222222).perl | ||
|
04:39
broquaint joined
|
|||
| p6eval | rakudo 2ec0e4: OUTPUT«1/3507803709763019662» | 04:39 | |
| TimToady | heh | 04:40 | |
| rakudobug | |||
| pugs: say (1 / 2222222222222222222222222222222222222222222222222222).perl | |||
| p6eval | pugs: OUTPUT«1/2222222222222222222222222222222222222222222222222222» | ||
| TimToady | I'm sure someone will figure out how to print out FatRats to their full precision, if you want that | 04:41 | |
| 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 ) |
||
| that's why you get a Deep Thought (2nd best is Quantum) Computer. | 04:44 | ||
| rakudo: say "3507803709763019662".fmt('%x') | 04:48 | ||
| p6eval | rakudo 2ec0e4: OUTPUT«30ae38e38e38e600» | ||
| lue | rakudo: say "3507803709763019662".fmt('%b') # explosion! | ||
| p6eval | rakudo 2ec0e4: OUTPUT«11000010101110001110001110001110001110001110001110011000000000» | ||
| sorear | lue: you hate haskell, yet you love precisely the features P6 stole from Haskell? I don't understand you | ||
| lue | I don't recall saying I hate haskell... | ||
| 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 | ||
| lue | .oO( I managed to contradict myself without knowing it? I must be getting good at this :) ) |
04:51 | |
| lue thinks of IETF's latest April Fools joke, where packets have moods, as defined by smileyes... | 04:52 | ||
| 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 :) ) | ||
| TimToady | I read that as PackRats | 04:54 | |
| lue | IETF, by the way, does accept April Fools RFCs (with a deadline and all that) | 04:55 | |
| TimToady wonders if Rakudo * constitutes "rough consensus and working code" | 04:57 | ||
| lue | if not, the MDFL (of course Rakudo Death Star) will convince them otherwise... | 05:00 | |
| goodnight moon (btw, MDFL stands for *malevolent* dictator for life) | 05:05 | ||
|
05:08
jonasbn joined
05:19
molaf joined
05:27
awwaiid_ joined,
xinming_ joined
05:28
dj_goku_ joined
05:29
Koven joined,
s1n1 joined,
jrockway_ joined
05:34
dj_goku left,
ascent_ left,
Kovensky left,
xinming left,
mj41 left,
jrockway left
05:36
eternaleye left
05:39
ascent_ joined,
mj41 joined
05:43
kaare joined
05:44
kaare is now known as Guest16269
05:55
eternaleye joined
05:57
fridim joined
06:00
Trashlord left
06:07
uniejo joined
06:08
molaf left
|
|||
| moritz_ | good morning | 06:49 | |
|
07:01
M_o_C joined
07:10
kfo_ joined
|
|||
| diakopter | hi | 07:11 | |
| moritz_ | diakopter: I see that perlesque is making good progress... nice! | 07:13 | |
| diakopter | thanks :) | ||
| moritz_ | diakopter: do you plan to write a perlesque emitter for Perlito? | ||
| diakopter | no, but it'd be a cool idea for someone else to write one, and I'd help him/her | ||
| moritz_ | do you plan to add untyped variables at some point? | 07:14 | |
| diakopter | no | ||
| moritz_ | or an Any type? | ||
| diakopter | nope | ||
|
07:14
kfo left,
kfo_ is now known as kfo
|
|||
| diakopter | that would fall under the category of Perl 6 | 07:14 | |
| I will write an Any type *in* perlesque at some point soon, though | 07:16 | ||
| as part of creating the runtime that viv can target | |||
| I'd like STD to compile itself to perlesque, so that means I get to write a perlesque emitter for viv | 07:17 | ||
|
07:17
ejs joined
|
|||
| moritz_ | do you already have (plans for) a grammar engine? | 07:17 | |
| diakopter | STD | ||
| I want STD to compile itself to perlesque | 07:18 | ||
| moritz_ | the grammar engine that STD uses is written in Perl 5 | ||
| do you want to use that? | |||
| diakopter | oh, Cursor? | ||
| moritz_ | yes | ||
| diakopter | that's a small part of the grammar engine imho | 07:19 | |
| moritz_ | afk, will backlog | ||
| diakopter | but yes, that will need ported to C# or perlesque | ||
| but I expect it to be a direct port | 07:20 | ||
| not line-for-line, but functionally equivalent | |||
| so that STD doesn't need changed to adapt | |||
|
07:22
ejs left
07:24
ejs joined
|
|||
| sorear | one thing I'd like to try and do is port Cursor to Perl 6 | 07:28 | |
| then we can use viv to bootstrap | |||
|
07:28
iblechbot joined
|
|||
| diakopter | that's the goal | 07:28 | |
| but you can't bootstrap the whole VM | 07:29 | ||
| so the question is where to draw the line | |||
| I mean, is it bootstrapped only when every single bytecode instruction was emitted by a routine written in the target language? | 07:30 | ||
| there's a kernel somewhere | |||
| sorear | it's bootstrapped when I can stop caring about C# code | ||
| diakopter | ah | 07:31 | |
| well that's never going to happen, but Reflector is glad to disassemble CIL to any number of languages for you :P | |||
| 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) | ||
| sorear | though you'd be insane to try this with p6 | 07:33 | |
| diakopter | yes. | ||
| :) | |||
| s/this with// | |||
| sorear | trying p6 is not insane | ||
| it's the future, man! | |||
| diakopter | tongue-in-cheek | ||
| sorear | I suppose | ||
| mathw | What's perlesque? | 07:34 | |
| sorear | you heard that Perl 6 isn't going to come until after 2038, right? | ||
| diakopter | yeah | ||
| sorear | mathw: NQP for the CLR | ||
| diakopter | ish | ||
| it's not really for human-writing | 07:35 | ||
| 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.. | ||
| yeah, but it is meant for human-reading | |||
| perlesque: loop (my int $a=7;$a<100;$a+=1) { if (($a%2)==0) {next} elsif ($a>55) {last}; System::Console.WriteLine($a) } | |||
| p6eval | perlesque: OUTPUT«791113151719212325272931333537394143454749515355» | ||
| diakopter | it's fully strongly typed | 07:37 | |
| meant to be the fully-strongly-typed subset of Perl 6 | |||
| native types | |||
| 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:38 | ||
|
07:39
gfx joined
|
|||
| diakopter | the task of fully implementing is just that big. | 07:39 | |
| sorear | there are degrees of bootstrap... | ||
| mathw | interesting | ||
| I assume it's part of a plan for Perl 6 on CLR? | |||
| diakopter | yep | 07:40 | |
| mathw | \o/ | ||
| sorear | so how is mono doing these days | ||
| mathw | pretty well by the looks of it | ||
| diakopter | 2.6 seems great | ||
| sorear | excellent | ||
| mathw | although they're bound to be a bit bummed out by the new iPhone SDK that seems to ban MonoTouch | ||
| sorear | last I saw of it, it was considered a joke | ||
| mathw | I wrote a project in it once | ||
| using gtk-sharp for the UI | 07:41 | ||
| very nice | |||
| sorear | mathw: specifically banning mono, or just because it's not C/C++/ObjC? | ||
| mathw | sorear: the latter | ||
| diakopter | to those people who needs parts that are NYI, yeah it's a joke | ||
| mathw | the effect is much the same, though | ||
| diakopter | but a huge amount is implemented | ||
| unfortunately perlesque causes mono 2.4 to SIGABRT | 07:42 | ||
| mathw | :( | ||
| diakopter | hence needing 2.6 | ||
|
07:42
lest_away is now known as lestrrat
|
|||
| diakopter | it doesn't take that long to build; 15-20 min for me. | 07:42 | |
| 8 seconds to build sprixel/perlesque. | |||
| actually, 8 seconds to build sprixel.exe | 07:43 | ||
| 1 second _on every execution_ to build the perlesque parser/compiler from the grammar | |||
| sorear: imho it can be argued that my use of "C#" in sprixel is hardly C# at all | |||
| I use lambda expressions (closures) everywhere, and oodles of static routines | 07:44 | ||
| and many of the codegen routines are twice deferred. | |||
| they're code-gen-gen routines, if you catch my drift | 07:45 | ||
| perlesque: loop (my int $a=0;$a<10000000;$a+=1) {};System::Console.WriteLine($a) | 07:48 | ||
| p6eval | perlesque: OUTPUT«10000000» | ||
| diakopter | that's pretty quick for a trampolined continuation-passing-style runtime | ||
|
08:03
meppl left,
arthur-_ joined
|
|||
| diakopter | perlesque: loop (my int $a=0;$a<10000000;$a+=1) {};System::Console.WriteLine($a) | 08:05 | |
| p6eval | perlesque: OUTPUT«10000000» | 08:06 | |
| mathw | so, functional-style | ||
| diakopter | perlesque: loop (my int $a=0;$a<100000000;$a+=1) {};System::Console.WriteLine($a) | ||
| p6eval | perlesque: OUTPUT«100000000» | ||
| diakopter | perlesque: loop (my int $a=0;$a<1000000000;$a+=1) {};System::Console.WriteLine($a) | ||
| p6eval | perlesque: OUTPUT«1000000000» | ||
| diakopter | yes | ||
| meta-meta-programming | |||
| mathw | nice | ||
| where's the source code? | |||
| diakopter | csmeta.org | 08:07 | |
| cs means csharp I think | |||
| sorear | I've got this sinking feeling like all the work I've put into Parrot is wasted | 08:09 | |
|
08:09
am0c left
|
|||
| mathw | nonsense | 08:11 | |
| we're after multiple implementations here | |||
| diakopter | as a collective, sure | 08:13 | |
| but as individuals, generally, to each his own | |||
| or in my case, to each his 12 | 08:14 | ||
| mathw | yes :) | 08:26 | |
| but my point was that sorear hasn't wasted his investment in Parrot | |||
|
08:29
jonasbn left,
jonasbn joined
08:36
yinyin left,
yinyin joined
08:38
masak joined
|
|||
| masak | oh hai, #perl6 | 08:38 | |
| moritz_ stumbles in | 08:39 | ||
| 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)» | ||
| masak | a MultiSub is a Routine, is it not? | ||
| S06:2484 asserts that "Every C<Routine> object has a C<.wrap> method." | |||
| mathw | That's what I thought | 08:54 | |
| Speculation: rakudobug | |||
| 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)» | ||
| mathw | hmm | ||
| masak | looks more like a TODO. | 09:05 | |
| masak frowns at arstechnica.com/open-source/news/20...leased.ars | 09:09 | ||
| moritz_ | oh wow | 09:11 | |
| they didn't notice that there were more 5.* releases since the announce of Perl 6 | |||
| like 5.8.* and 5.10.{0,1} | 09:12 | ||
|
09:12
Koven is now known as Kovensky
|
|||
| 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... | ||
| I had this great idea of writing a Perl 6 article for LWN, to coincide with the Rakudo * release | |||
| but seing how $work, book and Date.pm suck up my time, I don't think I'll manage that | 09:14 | ||
| would somebody like to give it a shot? | |||
| 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... | ||
| moritz_ | quite understandable | ||
| 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
|
|||
| moritz_ doesn't think that this fits activestate's business model | 09:17 | ||
| m6locks | why not? they'll get dollars out of it, they lose nothing if activeperl6 will be the most used perl6 implementation ever | 09:18 | |
| masak | for once, the comments mostly make up for the meanness of the arstechnica article. | 09:19 | |
| m6locks | i agree that the article is a bit harsh on perl6 | 09:20 | |
| 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 | ||
| lol? | |||
| (implying that perl6 will be in use after 2038) | |||
| masak | gee, I hope so :) | 09:22 | |
|
09:23
bacek joined
09:24
am0c joined
|
|||
| moritz_ | m6locks: ActiveState's business model is not to write compilers, but distributions, IDEs, support etc. | 09:25 | |
|
09:27
arthur-- joined
09:28
unixbomber left,
unixbomber joined
|
|||
| m6locks | but they do have lots of perl-developers there, and the guy interviewed in that article seems to be perldev from activestate | 09:28 | |
| moritz_ | I never doubted that | 09:29 | |
| I just want to point out that writing a compiler is quite different in scope than writing an IDE, or maintaining a distribution | |||
| 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 | ||
| m6locks | with those new features of perl 5.12 | ||
| moritz_ | those features don't make the vm sufficent to run Perl 6 | 09:31 | |
|
09:31
arthur-_ left
|
|||
| m6locks | the perl5 vm? | 09:31 | |
| moritz_ | right | ||
| m6locks | might be, perl6 has lots of features :) | 09:32 | |
| moritz_ | I've talked with Nicholas Clark about that recently | 09:33 | |
| I think he should know :-) | |||
| m6locks | was he like "we'll stick to perl5 forever" | 09:37 | |
|
09:37
IllvilJa left
|
|||
| masak | it's not about Perl 5 *or* Perl 6. never was. | 09:38 | |
|
09:39
gfx left
|
|||
| 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 | ||
| m6locks | oh ok | 09:42 | |
|
09:50
snarkyboojum joined
|
|||
| masak | snarkyboojum! \o/ | 09:53 | |
| snarkyboojum: I did some Yapsi work yesterday. | |||
| snarkyboojum | masak! o/ | ||
| masak: w00t | |||
| snarkyboojum does git pull | |||
| masak | holdhold, I'll push first :) | ||
| snarkyboojum | oh :) | ||
| masak | there. | 09:54 | |
| I accidentally pushed a commit that I haven't finished yet, but that's probably OK. | |||
| the main work is in fleshing out the runtime tests a bit. | |||
| snarkyboojum | ah v. cool | 09:55 | |
|
09:55
IllvilJa joined
|
|||
| snarkyboojum | I had added a test for say say locally as well | 09:55 | |
| masak | :) | 09:56 | |
| also, I decided to add another deprecate-as-soon-as-possible SIC op, namely 'inc' for incrementing of variables. | |||
| because Tardis uses it. | |||
| snarkyboojum | ah.. to get Tardis running on yapsi asap? | ||
| masak | nod. it's very doable now. just need to provide a custom Yapsi runtime for Tardis. | 09:57 | |
| similarly, lid is very LHF right now. | |||
| (the coverage tool) | |||
| snarkyboojum | lid is quite the memorable name :) | ||
| masak | :) | 09:58 | |
| I tend to gravitate towards memorable names and puns. | |||
| except for my project 'pun', which is not a pun :) | |||
| 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 | ||
| yup :) github.com/masak/pun/blob/master/README | |||
| moritz_: you're gravely misinformed :P | |||
| moritz_ doesn't believe in READMEs | 10:00 | ||
| masak should really restore that project to a working state | |||
| it's kinda neat, and I've actually used it sometimes. | |||
| ah well, one of the non-meanings of pun is "probably ultimately neglected", so... :) | 10:03 | ||
| snarkyboojum: currently debugging a Null PMC access triggered by the program 'my $a = 42; say ++$a' | 10:04 | ||
| snarkyboojum | masak: I'm going to continue integrate yapsi into tardis | 10:05 | |
| integrating | |||
| masak | excellent. | ||
| snarkyboojum | had already pottered around doing it a few weeks ago | ||
|
10:06
mikehh joined
|
|||
| hejki | lwn.net/Articles/382548/ | 10:07 | |
|
10:13
agentzh left
10:14
agentzh joined
|
|||
| snarkyboojum | masak: what should tardis run now? SIC? | 10:15 | |
| masak | aye. the output from the Yapsi compiler. | 10:16 | |
| same as in Yapsi's t/runtime.t | |||
| snarkyboojum | so Tardis.pm changes completely? | ||
|
10:16
xinming joined
|
|||
| masak | pretty much. it gains Yapsi as a dependency. | 10:16 | |
| snarkyboojum | I see | ||
|
10:17
yinyin left
10:20
xinming_ left
|
|||
| masak | lunch & | 10:22 | |
|
10:27
rv2733 joined
10:33
agentzh left
10:51
quietfanatic left
|
|||
| 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:55 | |
| *lol* -- on the first attempt, incrementing an uninitialized variable gave the result 'Anz()' in Yapsi :) | 10:57 | ||
| snarkyboojum | heh | 11:00 | |
| masak: yeah, looks like some plumbing changes to get Tardis using Yapsi | 11:01 | ||
| masak | tell me more :) | ||
| std: ++42 | 11:07 | ||
| p6eval | std 30391: OUTPUT«ok 00:01 109m» | ||
| jnthn | o/ | 11:08 | |
| jnthn back from Moscow. | |||
| (Already. :-() | |||
| masak | jnthn! | ||
| jnthn | masak! | ||
| masak | \o/ | 11:09 | |
| jnthn: good. then you can fix all the new bugs I've discovered. after you do named enums. :P | 11:10 | ||
| jnthn | I thought *you* were doing named enums. :P | 11:11 | |
| ENOTMASAKISTIKENOUGH ;-) | |||
| masak | 'tike'? | ||
| 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... | ||
| masak: Ah, yeah. | 11:13 | ||
| That "fun". | |||
| masak | oh. | ||
|
11:13
lestrrat is now known as lest_away
|
|||
| jnthn looks at his pile of "difficult Rakudo things to work on" | 11:14 | ||
| masak | is it reasonable for '++42' to go through parse, but not to compile? | 11:18 | |
| ditto '42 = 5' | 11:19 | ||
| I know Rakudo can compile it, but it seems I'm not able to compile that with Yapsi. | |||
| jnthn | Why'd it not compile? | 11:20 | |
| I mean, sure you could catch it with some static analysis. | |||
| masak | because we don't have a SIC instruction that can store something in a constant. | ||
| jnthn is confused | |||
| masak | also, because ++ doesn't compile down to a subcall yet. | ||
| jnthn | It should compile down to &pref...oh. | ||
| 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. | ||
| 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 | ||
| masak | rakudo: my $a = 42; ++$a = ++$a; say $a # :) | ||
| 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.) | ||
| masak | right. it is. | 11:24 | |
| it passes parse time. | |||
| jnthn | OK. | ||
| moritz_ | btw when somebody overloads postfix:<++> for a certain time, it shouldn't die anymore at ompile time | ||
| jnthn | Oh, I don't think you even wrote parse anyway. :-) | ||
| moritz_ | s/time/type/ | ||
| 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. | ||
| 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
frettled sets mode: +o masak
|
|||
| masak | frettled: clearly you should be the one to work on 'pun' :P | 11:26 | |
| frettled | :D | ||
| jnthn | masak: Well, +1 for pragmatic implementation. | 11:27 | |
| masak | -Ofun | ||
|
11:28
iblechbot left
|
|||
| masak | my $foo; $foo<bar> = 42; # expected to autovivify? | 11:28 | |
| moritz_ | yes | ||
| masak | where's the magic? in the Any type? | 11:29 | |
| in Mu? | |||
| Cool? | |||
| moritz_ | in the Any type object | ||
| masak | ok, makes sense. | ||
| my Int $foo; $foo<bar> = 42; # what about this? | 11:30 | ||
| moritz_ | error | ||
| masak | why? | ||
| doesn't the Int type object inherit from the Any type object? | |||
| moritz_ | because $int doesn't have a postcircumfix:{ } | 11:31 | |
| unless it's a submethod | |||
| masak | submethods can't be called from the outside, can they? | ||
| jnthn | Sure they can. | ||
| But only if you're calling on the msot derived class. | 11:32 | ||
| masak | ah. | ||
|
11:33
_jaldhar_ left,
_jaldhar_ joined
11:34
clintongormley joined,
hafterj joined
|
|||
| masak | when I run mismatching Parrot/PIR versions, Parrot doesn't say "oops, incompatible versions, buddy". | 11:41 | |
| 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" | |||
| LTA. | |||
|
11:42
payload1 joined
|
|||
| jnthn | Which is why we probably should try and get people using --target=pbc instead... | 11:43 | |
| Well, or create it if it doesn't exist. | |||
| May well not do. | |||
| Anyway, bytecode files are versioned. | |||
| masak | seems it exists, but doesn't work. | 11:44 | |
| jnthn | Patches welcome. :-) | ||
| (or tickets...which I figure are more likley... ;-)) | |||
| masak submits rakudobug | |||
| this is the first time I hear the sentiment expressed that PBC is preferrable to PIR | 11:45 | ||
| everyone's been all "oh, PIR is fast" so far. | |||
| jnthn | Well | ||
| PIR to PBC is relatively fast. | |||
| And works. | 11:46 | ||
| So the motivation to change is fairly low so far. | |||
|
11:48
pausenclown joined
11:49
pmurias joined
|
|||
| takadonet | morning all | 11:54 | |
| masak | takadonet: \o | ||
| www.developpez.net/forums/d845096/a...-poursuit/ | |||
| takadonet | french :) | 11:55 | |
| masak | gives a better slant of things than arstechnica. | ||
| '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.' | |||
| I'd say that's pretty spot on. | |||
| (except that 'big brother' should be 'big sister') | 11:56 | ||
|
11:56
stepnem left
11:59
payload1 left
|
|||
| moritz_ | la Perl? :-) | 11:59 | |
|
11:59
snarkyboojum left
12:00
stepnem joined
|
|||
| masak | ah, maybe there's a grammatical-gender thing involved, yes. | 12:00 | |
|
12:01
snarkyboojum joined
|
|||
| pausenclown | The french are very cautious with their language. At least they call it Perl and not Language Extracteur Practicale | 12:03 | |
|
12:03
hafterj left
|
|||
| masak | we should all be grateful. | 12:03 | |
| pausenclown | note my french is horrible. | 12:04 | |
|
12:04
envi^home joined
|
|||
| pausenclown | what does 'que dans' mean? | 12:05 | |
| masak | I read it as 'until in' in this context. | ||
| as in "won't become a serious alternative to its big brother until in a few years" | 12:07 | ||
| pausenclown | If so the OP may be right. Perl6 will be the first language to be released (read production) at legal age =) | 12:08 | |
| $release = 18|21; # ^^ | |||
| 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:10 | |
| moritz_ feels mentioned | 12:11 | ||
| takadonet | I just need a few more spec working and I will be able to code up a storm! | ||
| 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:12 | |
| 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:14 | |
| takadonet | pausenclown: We are in the same boat | 12:15 | |
| pausenclown | i mean, a whole new CPAN and the namespaces are virgin playground | 12:16 | |
| masak | early adopters are extremely important. | ||
| pausenclown | takadonet: i hope you brought your own food with you =) | 12:17 | |
| takadonet | pausenclown: I have | ||
| and beer! | |||
| moritz_ | colomon: so it's likely a genuine memory corruption, not due to overly much memory usage | 12:20 | |
| colomon | moritz_: either memory corruption or just some logic flaw in parrot/rakudo that only crops up after enough looping. | 12:21 | |
| let me try to throw some tools at it and see what I get. | |||
|
12:25
jonasbn left
|
|||
| masak | snarkyboojum: I just refactored Yapsi to not barf warnings in the tests. | 12:29 | |
|
12:31
ejs left
12:32
ruoso joined
|
|||
| IllvilJa o/ everyone | 12:36 | ||
| masak | oh hai thou ill of wills. | ||
| IllvilJa | masak: interesting point regarding communities and the general (far too often outright disgusting) attitude in some forums/communities etc... | 12:37 | |
| masak | thanks. | ||
| maybe nerd rage is connected somehow to word rage. | |||
| or other types of language rage. | |||
| IllvilJa | I do actually stay away from certain projects/communities due to some ppl stubborn refusal of behaving like grown ups. | 12:38 | |
| 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'. | ||
| pmichaud | good morning, #perl6 | 12:40 | |
| IllvilJa | masak: yes, that seem to be the case :-/. | ||
| masak | pmichaud: morning! | ||
| jnthn | o/ pmichaud | ||
| moritz_ | \o | ||
| moritz_ tries to understand rotating Stokes vectors in Poincare-Spheres | 12:41 | ||
|
12:43
JimmyZ joined
|
|||
| takadonet | pmichaud: morning! | 12:44 | |
| how are you doing today sir? | |||
|
12:44
plobsing left
|
|||
| 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 :) daringfireball.net/projects/markdown/ | ||
|
12:47
pausenclown left
|
|||
| 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 | |
|
12:47
iblechbot joined
|
|||
| jnthn | masak: Somebody iirc already wrote support for that in Parrot | 12:47 | |
| And I think use PCT and thus have a Perl 6 grammar already. | |||
| I may be mis-remembering though. | |||
| masak | it does sound familiar. | ||
| jnthn | masak: github.com/fperrad/markdown/blob/ma...grammar.pg | 12:49 | |
| Looks like a little protoregex lurve could sweeten it up too. | |||
| masak | indeed. | 12:50 | |
|
12:50
SmokeMachine joined
|
|||
| masak | and those {*} thingies are so 2009 :) | 12:51 | |
| still, it is already an improvement over the Perl 5 code. | |||
| takadonet | masak: Perl 6 Grammar does not use " {*} " anymore right? | 12:52 | |
|
12:57
ejs joined
|
|||
| masak | correct; they've been deprecated. | 12:58 | |
|
12:59
JimmyZ_ joined
|
|||
| 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«inthigh intint» | ||
| masak | jnthn++ | ||
|
13:00
JimmyZ left
|
|||
| jnthn | Something that works! | 13:00 | |
| :-) | |||
|
13:00
JimmyZ_ is now known as JimmyZ
|
|||
| masak | I think I'm getting the hang of multi semantics... | 13:01 | |
| jnthn | Ahhh...duty free. :-) | ||
| @drink-selection.push($nemiroff) | |||
| 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? | ||
| masak | because I'm a bad, bad person. | ||
| pmichaud | an object will already be an instance of its less-derived types. | ||
| masak | yes, of course. | 13:04 | |
| that doesn't answer my question. | |||
| pmichaud | No, I don't think that's what .bless is for. | 13:05 | |
| jnthn | I'm not sure whether you can re-bless. | ||
| 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. | ||
| jnthn | Perhaps, but I'm not 100% sure if that's what bless should do. | ||
| masak | what *should* bless do? | 13:07 | |
| jnthn | Take a candidate and dribble holy water onto it. | ||
| Also call BUILDALL, iirc. | |||
| 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 | ||
| masak | I'm reading the spec. | ||
| jnthn | Huh, who reads that. | ||
| ;-) | |||
| 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()? | ||
| pmichaud | CokeBot9000: after. | 13:10 | |
| jnthn | moritz_: I suspect that would work. | ||
| Since it dispatches based upon how a dispatch by ActualType would look. | 13:11 | ||
| CokeBot9000 | pmichaud: perfect. danke. | ||
| jnthn | Try it. ;-) | ||
| moritz_ | rakudo: class A { submethod b { say "b" } }; class B is A { }; say B.new.b | ||
| p6eval | rakudo 2ec0e4: OUTPUT«Method 'b' not found for invocant of class 'B'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
| moritz_ | rakudo: class A { submethod b { say "b" } }; class B is A { }; say B.new.A::b | ||
| pmichaud | the TT #389 fix removes some namespace pollution that causes errors | ||
| p6eval | rakudo 2ec0e4: OUTPUT«b1» | ||
| moritz_ | jnthn++ | ||
| and rakudo++ | |||
| pmichaud | but the lack-of-fix doesn't impede things from working | ||
|
13:16
pmurias left
|
|||
| masak | what does one have between the call to CREATE and the call to bless? the thing called the 'candidate object'? | 13:17 | |
| and if it's already called on $class.CREATE, why do we also need to bless it? | 13:18 | ||
| bless doesn't do at all the same as in Perl 5, does it? | |||
| colomon | (BTW, I started valgrinding mandelbrot-color.pl 501 an hour ago, and it's still running now.) | ||
| jnthn | CREATE gives you something that doesn't have any of the init done (e.g. the whole BUILDALL stuff). | ||
| dalek | p-rx: 210c0b7 | pmichaud++ | src/HLL/Actions.pm: Avoid global-namespace lookup of quotemod_check (TT #389). |
13:19 | |
| p-rx: c7127ad | pmichaud++ | src/stage0/ (3 files): Update bootstrap. |
|||
| masak | jnthn: so it's an "empty object" of that class? | 13:20 | |
|
13:20
pausenclown_ joined
|
|||
| moritz_ | s/empty/unitialized/ in my understanding | 13:20 | |
| jnthn | what moritz_ said | ||
| masak | right. | ||
| and 'bless' really means something more like 'run all initializers'. | |||
| 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. | ||
| moritz_ | masak: are you familiar with the Perl 5 object model? | ||
| 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 | ||
| masak | *nod* | 13:23 | |
| jnthn | Some of what Rakudo currently has in CREATE should *maybe* be in bless. | ||
| masak | it intrigues me that CREATE is supposed to take a :repr parameter which can be 'P6Hash'. | ||
| jnthn | Yeah, smop has thought that area out a bunch. | 13:24 | |
| PerlJam | greetings #perl6-lings | 13:30 | |
| moritz_ | \o it's PerlJam | 13:32 | |
| pmichaud | PerlJam: \o | ||
| masak | o.O/ | ||
| JimmyZ | \o | ||
| 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 :) | ||
| masak | PerlJam: welcome back! | 13:34 | |
| moritz_ | you must have been really sick if that prevented you from IRCing - glad you feel better now | ||
| JimmyZ | masak:好啊 | ||
| masak | JimmyZ: 你最近怎么了? | 13:36 | |
| CokeBot9000 wonders if he can make unicode work in screen on putty. | |||
| (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
|
|||
| 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
|
|||
| CokeBot9000 | AHAH. | 13:39 | |
| JimmyZ | masak: 忙,呵呵 | ||
| CokeBot9000 | screen -d -r -U did it. | ||
| CokeBot9000 does the happy unicode dance. | 13:40 | ||
| moritz++ | |||
| masak | is that anything like the happy unicorn dance? | 13:41 | |
| CokeBot9000 | CHARLIE! | ||
| JimmyZ | screen -rdU | ||
| slavik | candy mountain! | ||
| CokeBot9000 | slavik++ | ||
|
13:42
dalek left
|
|||
| slavik | I work with someone named Charlie ... | 13:42 | |
| omfg ... where's the doctor? | |||
|
13:42
dalek joined
|
|||
| masak | JimmyZ: 我也很忙。忙得快乐。^_^ | 13:42 | |
| CokeBot9000 | moritz_: Благодаря | 13:43 | |
| JimmyZ | masak: Great to see your new spec for Date | 13:44 | |
| slavik | ooh, where is it? | ||
| masak | um, but I'm the DateTime guy. :) | ||
| moritz_++ did Date. :) | |||
| slavik | lol? | ||
| moritz_ | and I didn't spec it yet :-) | ||
| JimmyZ | moritz_++ too. | 13:45 | |
| masak | and mberends++ | ||
| moritz_ just implemented Date | |||
| slavik | I'd like to see the spec that involved me getting kicked | ||
| masak | slavik: svn.pugscode.org/pugs/docs/Perl6/Sp...mporal.pod | ||
| slavik | ty | ||
| 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. | ||
| slavik | heh | ||
| moritz_: basically, I said "screw the world, keep track of UTC" | |||
| moritz_ | :-) | ||
| slavik | or something of that sort | ||
| pausenclown_ initiates vote kick | 13:47 | ||
| applicant: moritz | |||
| reason: noob | |||
| =) | |||
| masak | moritz_: here: irclog.perlgeek.de/perl6/2010-04-04#i_2194097 | ||
| moritz_ | /kick pausenclown_ noobophobia | ||
| masak | it was arnsholt, slavik and lue, IIRC. | ||
| 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 ... | ||
| masak | slavik: I'm aware of the issue. it's a factor already. I haven't finished thinking about how to do. | 13:48 | |
| slavik | masak: that's why I think the timezone stuff (tzdate?) should be separate from core | ||
| masak | it will be. | 13:49 | |
| slavik | core should know leap years and gregorian calendar but in UTC | ||
| masak | that's part of the plan. | ||
| we do want to spec the machinery, however, so that non-core time zones can be glued onto the core classes. | |||
| slavik | right | ||
| ahh, I see | |||
| masak | same thing for locales and funny calendars. | ||
| slavik | I guess I was arguing the wrong topic ... | 13:50 | |
| 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 ) | ||
| pausenclown_ | shouldnt that croak? | ||
| masak | yes, but typed attrs NYI in master. | 13:54 | |
| pausenclown_ | ah, ok. | ||
| and... | |||
| 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:55 | ||
| the type trait only applies to the values right? what if i want to restrict the keys to say, Date objects? | 13:56 | ||
| btw, | 13:58 | ||
| masak++ # shedding lights into the pit of Perl6 POD | |||
|
13:58
molaf joined
|
|||
| masak | pausenclown_: has %.x{Date} | 13:58 | |
| also NYI :) | 13:59 | ||
| pausenclown_ | are you in a mood to guess the YI ratio of rakudo? | 14:00 | |
| pmichaud | ...what would we use for the denominator? | 14:01 | |
| [particle] | NaN | ||
| PerlJam | that makes guessing easy then | 14:02 | |
| [particle] | perl 6 makes the easy things easy | ||
| PerlJam | :-) | ||
| 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:04 | |
| rakudo: my %h; %h{"foo" & "bar"} = 5; say %h.perl | 14:06 | ||
| p6eval | rakudo 2ec0e4: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 17293 (src/builtins/Junction.pir:404)» | ||
| PerlJam notes that the twiiterverse had some interesting reactions to the Perl 5.12 release in relation to Perl 6. | |||
| s/twiit/twitt/ | |||
| masak | I thought of having an interesting reaction too, but I decided not to. | 14:07 | |
|
14:08
iblechbot left
|
|||
| PerlJam | I can't fathom the ones that said effectively, "if they're still making Perl 5 releases, why bother with Perl 6?" | 14:08 | |
|
14:08
JimmyZ left
|
|||
| takadonet | "why bother with C++ when they are still releasing C?" | 14:09 | |
| CokeBot9000 | takadonet: that's actually an excellent question. :) | 14:12 | |
| [particle] | twitter... interesting... huh? | ||
| 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; | ||
| p6eval | rakudo 2ec0e4: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
| pausenclown_ | how to disambguate self.x? | 14:14 | |
| masak | $!x | ||
| pausenclown_ | rakudo: class A { has $!x; method x { say self!x + 1 } }; my $a = A.new( x => 1 ); $a.x; | ||
| p6eval | rakudo 2ec0e4: OUTPUT«Method '!x' not found for invocant of class 'A'current instr.: 'perl6;A;x' pc 428 (EVAL_1:177)» | ||
| masak | no, you're not listening :) | 14:15 | |
| pausenclown_ | NYI? | ||
| PerlJam | slippery sublties of syntax | ||
| masak | pausenclown_: no, you're just not listening. | ||
| 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» | ||
| masak | self!x would still be a (private) method. | ||
| pausenclown_ | rakudo: class A { has $!x; has $.y = 99; method x { say $!x + $.y } }; my $a = A.new( x => 1 ); $a.x; | ||
| p6eval | rakudo 2ec0e4: OUTPUT«100» | ||
| pausenclown_ | mmh | 14:17 | |
| so whats the diff between $. and self. ? | |||
| masak | basically, the $.y in the 'has' declaration gives you a $!y and a method. | ||
| and $.y everywhere else is always a method call. | |||
| equivalent to 'self.y in item context'. | |||
|
14:17
Guest16269 left
|
|||
| masak | @.y is equiv to 'self.y in list context', etc. | 14:18 | |
| somewhat related: use.perl.org/~masak/journal/39709 | |||
| 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// | ||
| has $.x # like has $!x; method x() { $!x } | 14:22 | ||
| masak | the method is the accessor. | ||
| dalek | kudo: 0f1a5cd | pmichaud++ | src/Perl6/Actions.pm: Avoid direct-namespace lookup of HLL::Grammar::quotemod_check. a different HLL-root. |
||
| pausenclown_ | yeah. i meant private attribute | 14:23 | |
| masak | in that case, *nod* | ||
|
14:23
snarkyboojum_ joined
|
|||
| masak | and not accessor*s*. one method does both the r and the w. | 14:23 | |
| at least if you do 'has $.y is rw;' | |||
|
14:24
JimmyZ joined
|
|||
| IllvilJa | action considers the case of sentient perl6 objects who use 'have' instead of 'has' ;-) | 14:24 | |
|
14:24
uniejo left
|
|||
| IllvilJa considers the case of sentient perl6 objects who use 'have' instead of 'has' ;-) | 14:24 | ||
| (you are too distracted when you even fail using an IRC channel properly) | 14:25 | ||
|
14:25
snarkyboojum left,
snarkyboojum_ is now known as snarkyboojum
14:27
ejs left
|
|||
| CokeBot9000 is glad to see schwern's tweet. | 14:29 | ||
| masak | aye. schwern++ | ||
| PerlJam | indeed, schwern++ | 14:31 | |
|
14:33
justatheory joined,
nihiliad joined
|
|||
| masak can't stop laughing at cats on YouTube using the iPad | 14:33 | ||
|
14:43
am0c left
|
|||
| masak | is the Selector of S12 related to the Matcher os S29? | 14:44 | |
| I don't see the Selector type defined anywhere in the spec. | |||
|
14:45
JimmyZ_ joined
|
|||
| pugssvn | r30392 | moritz++ | [t/spec] random unfudges for rakudo | 14:45 | |
|
14:48
JimmyZ left,
JimmyZ_ is now known as JimmyZ
14:52
JimmyZ left
14:53
justatheory left
|
|||
| masak | jnthn: OH NOES, the ashes from Iceland may keep coming for months or years. and NPW is in two weeks! :/ | 14:54 | |
| IllvilJa | iceland volcano ashes = nuclear winter lite | 14:55 | |
| moritz_ | masak: you need to take the boat :-) | 14:56 | |
| masak | last time I looked, that wasn't an economically viable alternative. | 14:57 | |
| jnthn | masak: We could swim. | ||
| ;-) | |||
| TimToady | espc since they burned it at the last viking funeral | ||
| IllvilJa | NPW btw, what does that stand for? | 14:58 | |
| pmichaud | Nordic Perl Workshop | ||
| jnthn | masak: Where'd you read the "may keep coming for months or years", btw? | ||
| PerlJam is mildly surprised to see "Practical Tips for Rakudo Star" for Oslo.pm | |||
| masak | jnthn: my gleeful office mate told me. | ||
| jnthn | Ah. | 14:59 | |
| masak | Nordic Perl Volcanoshop. | ||
| jnthn shoulda called his talk "Perl 6 Errupts" | |||
| PerlJam | jnthn++ | 15:00 | |
| TimToady | is that about the mid-ocean rift between Perl 5 and Perl 6? | ||
| 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 | ||
| TimToady | but that's enough for some fireworks | ||
| pmichaud | jnthn: www.huliq.com/1/92709/iceland-volca...ace-closed | ||
| moritz_ | that's why we need sorear++ madly hacking on Blizkost :-) | ||
| IllvilJa | I thought perl5 and perl6 were more like the fault passing through San Francisco and the rest of California. | ||
| Instead of separating they just scratch each other, causing occasional quakes. | 15:02 | ||
| masak | it's their fault, not ours! :P | ||
| PerlJam | heh | ||
| TimToady | well, in another <mumble> million years, LA will be north of SF. | ||
| pmichaud | iirc, it's schwern's fault. | ||
| IllvilJa | "OUR tectonic plate is standing still, it is YOUR that is moving and causing the quakes! STOP doing that!" | ||
| 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? | ||
| 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" :-) | ||
| PerlJam: I have not really compared them. | |||
| I suspect Perl5 borrows shamelessly (and they should) anything that don't manages to run away in time. | 15:05 | ||
| More or less the same way Perl6 does, but with clunkier syntax (and duct tape and staples). | 15:06 | ||
|
15:07
Trashlord joined
|
|||
| 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:07 | |
| IllvilJa | PerlJam: I think that question proves the point that an analogy never should be pushed too far. | 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. :) | ||
| PerlJam | IllvilJa: perhaps. Or just that sufficient imagination has yet to be employed :) | 15:09 | |
| masak .oO( anaolgies pushed into each other, causing meta-tectonic quakes... ) | 15:11 | ||
| PerlJam | TimToady: many cargo culters didn't even have plates! | 15:12 | |
| IllvilJa | masak: you expressed a suitable definition of the concept "philosophy". | 15:13 | |
| masak | IllvilJa: I thought it felt familiar :) | ||
| IllvilJa | Or perhaps the word I was looking for were "Innovation". | ||
|
15:13
lest_away is now known as lestrrat
|
|||
| masak | std: Proxy | 15:17 | |
| p6eval | std 30392: OUTPUT«ok 00:01 109m» | ||
| masak | \o/ | ||
| TimToady | which types std recognizes is still completely arbitrary | ||
| PerlJam | std: Fred | ||
| p6eval | std 30392: OUTPUT«===SORRY!===Undeclared name: 'Fred' used at line 1Check failedFAILED 00:01 107m» | ||
| TimToady | std: DateTime | ||
| p6eval | std 30392: OUTPUT«===SORRY!===Undeclared name: 'DateTime' used at line 1Check failedFAILED 00:01 107m» | 15:18 | |
| masak | 'Fred who?' -- 'Fred of snakes?' | ||
| TimToady | Pythons? | ||
| masak | if I want the key of a pair *not* to autoquote, what do I do? | ||
| TimToady | quote it yerself | 15:19 | |
| masak | no, I mean | ||
| TimToady | you want a function call? | ||
| there's always () | |||
| masak | if I really do want the Int type object as a key, and not "Int". | ||
| TimToady | (Int) or, in theory, Int() | 15:20 | |
| masak | ah. thanks. | ||
| TimToady | rakudo: say Int().WHAT | ||
| masak | "parens only do grouping, yeah right..." :P | ||
| p6eval | rakudo 0f1a5c: OUTPUT«Could not find sub &Intcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
| jnthn | TimToady: Hmm. What'd you expect that to do? | 15:22 | |
| TimToady | the parens group Int into a non-string :) | ||
| 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 | ||
| jnthn | TimToady: Is empty parens after it just identity? | ||
| TimToady | yes | ||
| jnthn | OK. | ||
| masak | that's a use of the word 'group' with which I wasn't previously familiar. :) | ||
| jnthn hadn't seen that before :-) | |||
| TimToady | you should study group theory | ||
| masak | 哈哈 | ||
| 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? | ||
| my $x = Int; $x() # ? | |||
| masak | o.O | 15:25 | |
| pmichaud | (I'd been assuming it's non-syntactic -- i.e., .() on a protoobject) | ||
| jnthn understood it as syntactic | |||
| masak too | |||
| TimToady | the latter seems more general | ||
| pmichaud | jnthn: it's just invoke on a protoobject | ||
| jnthn | That is, TypeName(blah) is just sugar for blah.TypeName | ||
|
15:25
snarkyboojum left
|
|||
| masak | so type objects have a .() that returns self? | 15:25 | |
| jnthn | pmichaud: Well, it can be done that way too. | ||
| pmichaud | they have a .() that does a coercion | ||
| Int('345') | 15:26 | ||
| TimToady | may just Mu has a .() that does that | ||
| masak | sure, why not. | ||
| jnthn | It's just not the way I'd have expected it. | ||
| pmichaud | jnthn: that's why I asked for the clarification -- it seemed you were heading down the syntactic trail | ||
| jnthn | pmichaud: Aye, I thought based on some previous discussion on same topic. | ||
| 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 | ||
| jnthn | method postcircumfix:<( )>(Mu:U: $to-coerce) { ... } or some such. | 15:28 | |
| Probably Mu on the thing to coerce too. | |||
| I still need to do :U | |||
| TimToady | hmm, Mu won't work | ||
| unless all types delegate to Mu | |||
| pmichaud | jnthn: perhaps could cheat in the dispatcher for now | ||
| 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... | ||
| Just as any old adverb on a variable name | |||
| pmichaud | jnthn: oh, I might be able to do something with that (soon) | ||
| jnthn | And that meant it was a bit less trivial to implement, and I was short on time, so I left it. | ||
| pmichaud | some google alerts aren't what you want to see.... | 15:30 | |
| === Google Web Alert for: "patrick michaud" === | 15:31 | ||
| Obituary for Patrick Michaud Sr. - Redwood Chapel, Redwood City, CA | |||
| fortunately I'm not in CA | |||
| IllvilJa | pmichaud: not a relative then? | ||
| pmichaud | IllvilJa: not afaik | ||
| 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 1current instr.: '_block59' pc 441 (EVAL_1:187)» | ||
| jnthn | Hmm | ||
| pmichaud | masak the nested block is immediate | ||
| masak | ah. | ||
| jnthn | Oh. That'd doit. | ||
| masak | rakudo: { my &x = $^a; -> $b { &x($b) }}.(&say).("OH HAI") | 15:33 | |
| p6eval | rakudo 0f1a5c: OUTPUT«OH HAI» | ||
| masak | \o/ | ||
| 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. | ||
| masak | I just don't understand the logic, I think. | ||
| maybe there is one. | |||
| pmichaud | masak: I don't understand the question. The outer block isn't immediate. | ||
|
15:34
meppl joined
|
|||
| masak | oh, sorry. the other way around. | 15:34 | |
| pmichaud | it's not a bare block -- it has a method call on it. | ||
| masak | oh, ok. | 15:35 | |
| pmichaud | The outer block isn't a bare block because of the method call. | ||
| The inner block is bare (to the scope of the outer block) | 15:36 | ||
| So the inner block is immediate. | |||
| masak | right. I see it now. | ||
| thanks. | |||
| jnthn bbiab, systemka | 15:37 | ||
| pmichaud | afk, lunch | 15:41 | |
|
15:42
envi^home left
15:56
molaf left
|
|||
| PerlJam | Probably old news by now, but did you guys see this? www.nntp.perl.org/group/perl.cpan.w...sg819.html | 16:01 | |
|
16:02
molaf joined
16:03
ejs joined
|
|||
| masak didn't | 16:04 | ||
| moritz_ didn't either | 16:05 | ||
| but it's a good proposal | |||
| masak | it looks good, yes. | 16:06 | |
| actually, I'm happy that it's being considered/discussed at all. | |||
| but there also seems to be good ideas in there. | |||
|
16:07
jhuni left
|
|||
| CokeBot9000 | PerlJam++ | 16:08 | |
| 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:11 | |
| jnthn back | 16:12 | ||
| masak | clearly we did something right :) | 16:13 | |
| PerlJam | yes. | ||
| particularly mst++ and masak++ I think | |||
| 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... ) | |||
| moritz_ | the answer back then was "patches welcome, if they don't interupt anything for the Perl 5 crowd" | ||
| masak | std: EMPTY | 16:15 | |
| p6eval | std 30392: OUTPUT«ok 00:01 109m» | ||
| CokeBot9000 | std: std std! | ||
| p6eval | std 30392: OUTPUT«===SORRY!===Negation metaoperator not followed by valid infix at /tmp/1p2iZCbzd2 line 1:------> std std!⏏<EOL> expecting any of: bracketed infix infix or meta-infixUndeclared routine: 'std' used at line 1Parse failedFAILED | ||
| ..00:01 108m… | |||
|
16:17
colomon left
|
|||
| masak | food & | 16:20 | |
|
16:20
masak left
16:26
ggoebel joined
|
|||
| PerlJam | There was another, longer thread in January: www.nntp.perl.org/group/perl.cpan.w...sg639.html | 16:35 | |
|
16:36
molaf left
16:44
justatheory joined,
justatheory left,
crazed joined
16:45
justatheory joined
|
|||
| crazed | is rakudo still the go to compiler for perl6? | 16:45 | |
| [particle] | yes | 16:46 | |
| crazed | ok cool | ||
| rakudo in my repos yay | 16:48 | ||
|
16:48
muixirt joined,
stephenlb joined
16:49
xinming left
|
|||
| muixirt | hi jnthn, plobsing pointed me some minutes ago to zavolaj | 16:51 | |
| jnthn | hi muixirt | 16:52 | |
| lisppaste3 | muixirt pasted "untitled" at paste.lisp.org/display/97824 | ||
| muixirt | jnthn: newbie question: what's the problem here :-) | ||
| jnthn | muixirt: I don't know immediately. I'll have a look later on today. | 16:53 | |
| It doesn't look specific to your example. | |||
| muixirt | it's modeled after the win32-api-call.p6 example | 16:54 | |
| diakopter | jnthn: hi | 16:57 | |
| I got me compile-time binder working for named subs. | 16:58 | ||
| jnthn | muixirt: It may be that this one is broken too. | 16:59 | |
| diakopter: Cool. :-) | |||
| muixirt: I gotta work on $other-thing right now, but I can check and patch it up later today. | |||
| muixirt | jnthn: ok, thanks | 17:00 | |
|
17:01
ejs left
17:04
REPLeffect joined,
espadrine joined
17:06
dakkar left,
espadrine left
17:10
colomon joined
|
|||
| pugssvn | r30393 | lwall++ | [S05] say what happens with negative quantifier ranges | 17:47 | |
|
17:49
rgrau` left,
rgrau` joined
|
|||
| PerlJam | TimToady: wicked | 17:49 | |
|
17:54
xabbu42 joined
|
|||
| PerlJam | TimToady: does that mean the negative range values are zero-width matches? | 17:54 | |
| TimToady | no | 17:55 | |
| PerlJam | It just moves the Cursor? | ||
| TimToady | yes | 17:56 | |
| which should be trivial in the case of . | |||
| moritz_ | and non-trivial in the case of patterns which allow varying length | ||
| PerlJam wonders if his spidey-sense is reversed. | 17:59 | ||
|
17:59
xabbu42 left,
xabbu42 joined
|
|||
| 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 | |
| For this one, I just thought "cool" | |||
| :-) | |||
|
18:04
Chillance joined
18:20
dual left
18:25
hercynium left
20:21
ilogger2 joined
|
|||
| pausenclown_ adds namespace support to XML::Parser | 20:30 | ||
| dalek | ok: f9a8270 | moritz++ | src/ (2 files): LaTeX does not seem to like non-breaking spaces, so substitute them by normal spaces |
20:34 | |
|
20:50
justatheory joined
21:10
ejs joined,
Kyril joined
|
|||
| diakopter wonders what all the quiet is about | 21:20 | ||
| muixirt is breaking the silence | 21:25 | ||
| diakopter: tell how zavolaj works | |||
| jnthn | muixirt: BTW, I've found a regression in Rakudo that I think broke Zavolaj. | 21:26 | |
| muixirt | hooray! | 21:27 | |
| jnthn | Working on a patch. | 21:29 | |
|
21:31
wknight8111 joined
|
|||
| jnthn | muixirt: Works, spectesting. | 21:33 | |
|
21:33
lichtkind joined
|
|||
| lichtkind | moritz_: did you edit german wikipedia perl article? | 21:33 | |
| muixirt | jnthn++ | 21:35 | |
| listens to Lenny Dee R.A.W. before shell out a git pull :-) | |||
| 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" :) | ||
| moritz_ | well, somebody has to keep the wiki honest :-) | 21:41 | |
| lichtkind | moritz_: honesty??? overrated | ||
| CokeBot9000 | moritz_: oooh. I can ask people here to translate Rammstein lyrics for me! | ||
| 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:42 | |
| moritz_: i loaded latest version of book | 21:43 | ||
| jnthn | CokeBot9000: You, er, probably don't want to know what they mean. :-) | ||
| lichtkind | CokeBot9000: which one? | ||
| yeah maybe jnthn is right | |||
| moritz_ | lichtkind: sorry, I didn't understand what you mean by "get the meant with..." | 21:44 | |
|
21:44
frooh left
|
|||
| moritz_ | *ment | 21:44 | |
| CokeBot9000: there's not really anything worth translating in there | |||
|
21:44
dhoss joined
|
|||
| moritz_ | CokeBot9000: most are just... boring | 21:44 | |
|
21:45
frooh joined
|
|||
| 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 | ||
| m6locks | jnthn: lol | 21:48 | |
| jnthn | I just patched Zavolaj in a couple of ways. | 21:49 | |
| 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. | |||
| As in, an error that actually mentions the name of the library and the symbol you were trying to look up. :-) | |||
| diakopter | muixirt: I have no idea what zavolaj is. | 21:50 | |
| jnthn | But it's imperative! | 21:52 | |
| ;-) | |||
| 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 | ||
| dalek | kudo: 3a1eb98 | jonathan++ | src/Perl6/Actions.pm: We should only go looking for outer lexical candidates when introducing a lexical multi, not an our-scoped one. Fixes a regression. |
21:56 | |
| kudo: 5fd0669 | jonathan++ | t/spectest.data: Add a # icu marker for a test that seems to need it. |
22:02 | ||
|
22:09
christine joined
|
|||
| muixirt smooches jnthn++, it works! | 22:09 | ||
| jnthn | \o/ | 22:10 | |
|
22:11
ejs left
|
|||
| lisppaste3 | muixirt annotated #97824 "untitled" at paste.lisp.org/display/97824#1 | 22:12 | |
|
22:16
mearley joined,
mearley left
|
|||
| muixirt is a little bit sobered because he doesn't know how to handle the power jnthn gave him ;-) | 22:20 | ||
| that's life | 22:22 | ||
| jnthn | :-) | ||
| jnthn tries to fix the zen array slice stuff | |||
|
22:32
pmurias joined
|
|||
| colomon | jnthn++ | 22:39 | |
| jnthn | colomon: Appears I has a win. | 22:40 | |
| Almost through the tests. :-) | |||
| colomon | \o/ | ||
| jnthn | It fixes say "oh lol @bbq[]" too | ||
| Yay. array-interpolation.t runs completely unfudged now. :-) | 22:43 | ||
| colomon | \o/ | ||
| 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. | ||
| $work, I mean. | 22:45 | ||
| :) | |||
|
22:45
pjcj joined
|
|||
| pmurias | colomon: you're prototyping Perl 5 code in Perl 6? | 22:45 | |
| colomon | Target language is C++, actually | ||
| pugssvn | r30394 | jnthn++ | [t/spec] Unfudge a bunch of array interpolation tests that Rakudo now passes. | ||
| pmurias | C++ :( | 22:46 | |
| 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. :-) | ||
| diakopter | pmurias: yes | ||
| and actually, full continuations | 22:48 | ||
| dalek | kudo: 78faa0c | jonathan++ | src/Perl6/ (2 files): Bring our parsing of array and hash subscripting in line with STD. This also unbreaks zen slices. |
||
| colomon | jnthn: hopefully it means I can work out the fairly tricky algorithm more easily.... | ||
| pmurias | diakopter: will captures be handled by perlesque or does it expose a C# method call? | 22:49 | |
| * C#ish | |||
| diakopter | oh, that'll be 'above' the STD/viv level | 22:50 | |
| the actual p6 runtime | |||
| since perlesque is just another VM layer over the CLR | |||
| (that provides slick compilation, runtime codegen, and continuations/closures) | 22:51 | ||
|
22:51
pausenclown_ joined
|
|||
| pmurias | does it run on linux? | 22:51 | |
| diakopter | pmurias: so basically, the perlesque code emitted by viv would build up the capture structures appropriately | 22:52 | |
| yes | |||
| perlesque: loop (my int $a=0;$a<100000000;$a+=1) {};System::Console.WriteLine($a) | |||
| that's on linux | |||
| p6eval | perlesque: OUTPUT«100000000» | ||
| diakopter | it needs mono 2.6 | 22:54 | |
| 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 | |
| s/dropped/unessasary/ | |||
| diakopter | 'all the emitting a block as a giant switch stuff' in mildew? | ||
| pmurias: ^^ | 23:02 | ||
| pmurias | switch () {case 1: stmt1; case 2: stmt2} | ||
| diakopter | I know | ||
| do you mean the switching in mildew? | |||
| or in perlesque? | |||
| pmurias | the mildew perlesque backend wouldn't have to emit anything like that | 23:03 | |
| diakopter | oh | ||
| pmurias | it's a bit late for me so i don't express myself with full clearness | ||
| ;) | |||
| diakopter | I was confused b/c perlesque still has to do that for individual routines | 23:04 | |
| but it's definitely not 1 giant one for the entire program. | |||
| pmurias | in mildew it's not a giant one either | ||
| diakopter | but only for routines that actually use that feature | 23:05 | |
|
23:05
TiMBuS joined
|
|||
| diakopter | or are possibly recursive. | 23:05 | |
| that's the only way I know of to implement continuations (to use instruction pointers/offsets) of some kind. | 23:07 | ||
| pmurias: what license is your software? (can I use your optimizer) | |||
| all of perlesque is MIT/BSD/MS-PL | |||
| 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,
orafu joined
|
|||
| 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:10 | |
| 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 | ||
| pmurias | if Artistic 2 is a problem and ruoso agrees we could dual license mildew | 23:14 | |
| diakopter | no, it's not a problem, as I said above :) | 23:16 | |
| the AL2 allows redistribution under any of the opensource.org licenses. | |||
| as long as the redistribution is not named the same as the original. | |||
|
23:21
pmurias left
|
|||
| Kyril | Should i bother learning Perl (5) or directly start learning Perl 6 ? | 23:33 | |
| muixirt | Kyril: depends on your goals | 23:36 | |
| diakopter | Kyril: yes, a very large portion of Perl 6 knowledge actually relies on very advanced Perl 5 knowledge, imho. | 23:37 | |
| and an even larger portion relies on beginner-intermediate Perl 5 knowledge (like mine) | 23:38 | ||
| but other than that, they're very different languages :) | |||
| ruoso | Perl 5 is much more documented than Perl 6, so learning Perl 5 might be easier then learning Perl 6 | ||
| I mean, learning Perl 5 and then Perl 6 afterwards | 23:39 | ||
| Kyril | muixirt, diakopter, ruoso : Alright, i will start by learning Perl 5 then, thanks | 23:44 | |
|
23:52
christine left
23:58
yinyin joined
23:59
Kyril left
|
|||