»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by diakopter on 25 January 2010. |
|||
00:00
xabbu42 left
|
|||
masak | jnthn: :) | 00:00 | |
jnthn | diakopter: I think that's correct. | ||
diakopter | std: {nom,nom,nom}.WHAT.say | ||
p6eval | std 29783: OUTPUT«Undeclared routine: 'nom' used at line 1,1,1ok 00:01 106m» | ||
jnthn | The {;;;;} is...funnier. :-) | ||
Oh, we don't have the undeclared routine warnings yet, that's all. | |||
diakopter | rakudo: {nom,nom,nom}.=() | 00:01 | |
p6eval | rakudo 3b869c: OUTPUT«src/hash.c:144: failed assertion 's'Backtrace - Obtained 17 stack frames (max trace depth is 32)./home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2b9596d2d173]/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2b9596d2d2a7]/home/p6eval//p2/lib/libparrot.so.2.1.0 | ||
..[0x2b959… | |||
jnthn | empty statements currently "evaporate" | ||
Now you've gone and done it. | |||
diakopter | it eated itself | ||
masak | hm. time for attempted sleep. | ||
thanks everyone, you've been grand. | |||
jnthn | masak: Happy attempting. | ||
diakopter | no masakbug on the failed assertion? | ||
masak | jnthn: attempts at thanks. | 00:02 | |
00:02
masak left
|
|||
jnthn | :-) | 00:02 | |
diakopter | is that a known issue or something? | ||
oh, src/hash.c ... that's ... parrot? | |||
jnthn | diakopter: Yeah | 00:03 | |
diakopter | chromatic: see 'bove | ||
jnthn | diakopter: It's actually managed to create an assertion failure somewhere in Parrot itself. | ||
That doesn't happen often these days. | |||
diakopter | FTW | ||
lichtkind | mberends: cheers i***** :) | ||
diakopter | ya missed a letter | ||
lichtkind | :) | 00:04 | |
right | |||
mberends | lichtkind: good morning o enlightened one | ||
lichtkind | mberends: so tuits for a wiki tour? | 00:05 | |
diakopter | who the parrot folk | ||
jnthn: eh, I crashed both the .NET JIT and the Mono JIT a few weeks ago; that was all kinds of fun | 00:06 | ||
mberends | lichtkind: ok, starting at www.perlfoundation.org/perl6/index.cgi | ||
00:06
quietfanatic left
|
|||
jnthn | diakopter: Heh. Nice to know it's not *just* Rakudo. :-) | 00:06 | |
00:06
chromatic left
|
|||
diakopter | aww; he missed my hilite | 00:07 | |
diakopter goes to see who's in #parrot | |||
00:09
nihiliad left
|
|||
lichtkind | mberends: allright so lets clean the second half there | 00:10 | |
mberends: you want to do first? | |||
mberends | I would suggest generally each subheading remains as the only word, and the text below each heading becomes a subpage. But there may be exceptions.. | 00:13 | |
Development Status, Downloads, Online Documentation can all do that | 00:14 | ||
Products and Services should maybe just disappear | 00:15 | ||
Other Information, oops, a new spam there. No good to us, we're not teens ;) | 00:16 | ||
lichtkind | mberends: im not that radical but i would first put some meat into the implementations page | ||
mberends: and maybe create about perl 6 page from where goes all the general term infos as links | 00:18 | ||
mberends | lichtkind: ok you do that, I'll get started on implementations | ||
lichtkind | mberends: allright so you write the implementations page and i clean the front page? | 00:19 | |
mberends | oki | ||
lichtkind | mberends: www.perlfoundation.org/perl6/index.cgi?faq | 00:22 | |
im rewiring now :) | |||
jnthn | loliblogged use.perl.org/~JonathanWorthington/journal/40196 | ||
mberends | jnthn: did you visit Amsterdam recently? (^Wnamed...) | 00:24 | |
jnthn | mberends: Not for quite a while, actually. | 00:25 | |
mberends: Morrocco more recently than that. ;-) | |||
00:29
cotto_work joined
|
|||
lichtkind | mberends: or wnat we cut the new to and just link to another news page which already exists | 00:30 | |
diakopter | rakudo: {}.==() | ||
p6eval | rakudo 3b869c: OUTPUT«Null PMC access in invoke()current instr.: '!assign_metaop' pc 16493 (src/builtins/Junction.pir:299)» | ||
diakopter | jnthn: ^^ | ||
jnthn | ...what are we doing in assign_metaop?! | 00:31 | |
mberends | lichtkind: the news looks nice on the main page, don't you think? | ||
lichtkind | allright | ||
mberends: the most work is to chekc all the rigth places for the lins :) | 00:35 | ||
links | |||
diakopter | rakudo: .=() | 00:37 | |
p6eval | rakudo 3b869c: OUTPUT«src/hash.c:144: failed assertion 's'Backtrace - Obtained 17 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2aed5e0b0173]/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2aed5e0b02a7]/home/p6eval//p1/lib/libparrot.so.2.1.0 | ||
..[0x2aed5… | |||
mberends | lichtkind: ok, interim saved www.perlfoundation.org/perl6/index....mentations while looking at your links | ||
00:40
andy1 left
|
|||
lichtkind | mberends: dont understand you | 00:40 | |
mberends: but i added something to implementations :) | 00:41 | ||
hope its doesnt destroy your save | |||
jnthn | mberends: ping | ||
mberends | jnthn: pong | 00:42 | |
jnthn | mberends: It occurs to me that the "Stages" section maybe more naturally warrants a section of its own rather than being in the nqp part? | ||
diakopter | rakudo: ([].''() ~ 'hi').say | ||
p6eval | rakudo 3b869c: OUTPUT«Undefined value shifted from empty arraycurrent instr.: 'perl6;Perl6Exception;throw' pc 14244 (src/builtins/Seq.pir:52)» | ||
jnthn | mberends: One other reason to stick with NQP for now is that it also is able to generate more efficient code than Rakudo presently can, due to being able to make a bunch of assumptions that (at least without an optimizer) Rakudo can't. | 00:43 | |
mberends | lichtkind: your implementations edit is ok here | ||
jnthn: sure, we can also add a bit more detail about stages | |||
diakopter | rakudo: ([[]].''().perl ~ 'hi').say | 00:44 | |
p6eval | rakudo 3b869c: OUTPUT«[]hi» | ||
diakopter | jnthn: ??? | ||
the empty method on [] is the same as 'shift'? | |||
mberends | jnthn: makes sense, but I'd never thought of that before. | ||
Tene | how does that make sense? | 00:45 | |
mberends | jnthn: ok, the sequence can try to trace the build process defined by the Makefile dependencies | ||
00:46
eternaleye joined
|
|||
mberends | Tene: nqp is not such a complex language, so its generated code cannot be as complex as full Perl 6 | 00:46 | |
lichtkind | mberends: moved sevaral quotes to quote section www.perlfoundation.org/perl6/index....l_6_quotes | ||
Tene | mberends: ah, I thought you meant that empty method on [] is shift made sense. | 00:47 | |
diakopter | rakudo: [[]].perl.say; [[]].''().perl.say # jnthn | ||
p6eval | rakudo 3b869c: OUTPUT«[[]][]» | ||
jnthn | diakopter: Yeah...oddness :-) | ||
eternaleye | jnthn: re your latest blog post, is that how list infixes are going to be implemented? | ||
mberends | Tene: no, wires.uncross() ;-) | ||
jnthn | eternaleye: I doubt it. | 00:48 | |
eternaleye: Provided we're talking about the same things anyway. :-) | |||
mberends: Anyway, it's good overall. | 00:49 | ||
mberends | lichtkind: perl_6_quotes is a really good idea :) | ||
jnthn | mberends: I'll try and make time to write up some extra bits on the binder and some of the interesting dynpmcs. | ||
eternaleye | Still, nested signatures are cool in so many ways | ||
mberends | thanks for the suggestions jnthn | ||
jnthn | mberends++ # documenting our guts | ||
eternaleye: Yes, they're pretty powerful. Especially when fixed with multi dispatch. | 00:50 | ||
diakopter | rakudo: my @a = {1}..{1}; say @a | ||
p6eval | rakudo 3b869c: OUTPUT«Method 'succ' not found for invocant of class 'Block'current instr.: '!dispatch_.=' pc 440 (src/glue/dispatch.pir:118)» | ||
lichtkind | mberends: it was there before i just cleaning up | ||
jnthn | eternaleye: erm, mixed with. :-) | ||
diakopter | rakudo: my @a = 'A'..'z'; say @a # timeout??? | 00:51 | |
p6eval | rakudo 3b869c: ( no output ) | 00:52 | |
diakopter | oh, no | ||
it says | |||
Could not find non-existent sub &A | |||
current instr.: '_block14' pc 29 (EVAL_1:0) | |||
called from Sub '!UNIT_START' pc 1125 (src/glue/run.pir:17) | |||
called from Sub 'perl6;PCT;HLLCompiler;eval' pc -1 ((unknown file):-1) | |||
called from Sub 'perl6;PCT;HLLCompiler;command_line' pc 1489 (compilers/pct/src/PCT/HLLCompiler.pir:794) | |||
called from Sub 'perl6;Perl6;Compiler;main' pc -1 ((unknown file):-1) | |||
oooo | |||
jnthn | what? | 00:53 | |
it hangs here. :-| | |||
diakopter | on stdin? | ||
I did mine ./perl6 -e 'my @a = 'A'..'z'; say @a' | |||
o ha | |||
jnthn | The quotes got swallowed. | ||
diakopter | <- idiot | ||
yeah, hangs here | 00:54 | ||
jnthn | that's...really weird. | ||
diakopter | where's masakbot when you need 'im | ||
jnthn | rakudo: my @a = 'A'..'Z'; say @a; | ||
p6eval | rakudo 3b869c: | ||
..OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEX… | |||
jnthn | That one looks RONG too. | ||
diakopter | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | 00:55 | |
jnthn | It's probably a missing termination check or something. | ||
mberends | it's counting in base 26 | ||
jnthn | There's more than one way to fail it. | ||
diakopter | TimToafy | 00:56 | |
rakudo: my @a = 'A'..'Y'; say @a; | 00:57 | ||
p6eval | rakudo 3b869c: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXY» | ||
snarkyboojum | ('A'..'z').iterator.GrabAndSay(1000) is telling :) | ||
diakopter | 'A'..'Y' works, but 'A'..'Z' causes weirdness | 00:58 | |
eternaleye | rakudo: class Foo { has $.a = 'Bar'; has $.b = 'Baz'; }; multi sub unpack( Foo $qux ( :$a, :$b ) { return '$a = ' ~ $a ~ ' and $b = ' ~ $b; }; say unpack( Foo.new); | ||
p6eval | rakudo 3b869c: OUTPUT«Malformed multi at line 11, near "sub unpack"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
eternaleye | Whoops, forgot a ) | 00:59 | |
mberends | diakopter: locally it gets to 'YZ' and then stops. | ||
eternaleye | rakudo: class Foo { has $.a = 'Bar'; has $.b = 'Baz'; }; multi sub unpack( Foo $qux ( :$a, :$b ) ) { return '$a = ' ~ $a ~ ' and $b = ' ~ $b; }; say unpack( Foo.new); | ||
p6eval | rakudo 3b869c: OUTPUT«$a = Bar and $b = Baz» | ||
eternaleye | That is insanely cool. | ||
jnthn is cool-ly insane | 01:00 | ||
diakopter | rakudo: my @a = 'A'..'YZ'; say @a; | ||
p6eval | rakudo 3b869c: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXY» | ||
lichtkind | mberends: what your doing now? | ||
diakopter snort | |||
mberends | multitasking | ||
lichtkind | diakopter: :) | ||
diakopter | lichtkind: I was laughing at rakudo, a bit | ||
eternaleye | rakudo: 'jnthn++'.say for 1..10; | 01:01 | |
p6eval | rakudo 3b869c: OUTPUT«Missing block at line 11, near ";"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
mberends | lichtkind: editing implementations some more | ||
eternaleye | rakudo: for 1..10 { say 'jnthn++'; } | ||
p6eval | rakudo 3b869c: OUTPUT«jnthn++jnthn++jnthn++jnthn++jnthn++jnthn++jnthn++jnthn++jnthn++jnthn++» | ||
lichtkind | mberends: im editing all the other pages :) | ||
snarkyboojum | rakudo: say 'Z'.succ after 'Z' | 01:02 | |
p6eval | rakudo 3b869c: OUTPUT«0» | ||
snarkyboojum | :) | ||
lichtkind | mberends: spambot has utf problems | 01:04 | |
mberends | lichtkind: does that affect saving certain wiki edits? | 01:05 | |
lichtkind | mberends: spambot ruined utf in some pages, i had just the yak shaving job to repair that | 01:06 | |
snarkyboojum | rakudo: say 'YZ'.succ after 'Z' | 01:07 | |
p6eval | rakudo 3b869c: OUTPUT«1» | ||
mberends | lichtkind: I think that happened to me once a few months ago. moritz_++ just reverted the change and we started editing again | ||
jnthn -> sleep, night all | 01:09 | ||
snarkyboojum | I'm pretty sure 'Z'.succ after 'Z' should be 1 ;) | ||
Tene | rakudo: say 'Z'.succ | ||
p6eval | rakudo 3b869c: OUTPUT«AA» | ||
snarkyboojum | say 'YZ'.succ | 01:10 | |
rakudo: say 'YZ'.succ | |||
p6eval | rakudo 3b869c: OUTPUT«ZA» | ||
lichtkind | mberends: where to link the download pages? | 01:16 | |
mberends | lichtkind: I'm going to include download links on the implementations page, so a download page may be unnecessary. less is better than more ;) | 01:18 | |
lichtkind | mberends: but a download page is better to have to be linked from various places | 01:20 | |
buts ist good for now | |||
for now i just want to ged rid of front page links | |||
mberends: only one screen page unnecesary front page left | 01:21 | ||
mberends | yeah, get rid of too much cruft. The best place for a Rakudo download link, is only on the Rakudo site, not in the Wiki at all. (the principle of don't repeat yourself) | 01:22 | |
lichtkind | mberends: i uploaded camelia | 01:28 | |
mberends | I see her! nice! :-) | ||
lichtkind | mberends: i take it out for the moment until get it alight right | 01:29 | |
mberends | ok | ||
01:29
lue joined
|
|||
lue | hello! | 01:30 | |
01:31
am0c joined
|
|||
lue | anyone there? | 01:32 | |
mberends | er, working ;) | 01:33 | |
lue | ok. It usually isn't this quiet right now (if I remember) | ||
mberends | lue: just give it a few minutes. meanwhile, read the irclog: irclog.perlgeek.de/perl6/today | 01:34 | |
01:37
mj41 joined
|
|||
lichtkind | mberends: please check www.perlfoundation.org/perl6/index....out_perl_6 | 01:38 | |
mberends | okidoki | ||
lue | rakudo: say 'A'..'£' | 01:41 | |
p6eval | rakudo 3b869c: ( no output ) | ||
lue | pugs: say 'A'..'£' | ||
p6eval | pugs: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | ||
mberends | lichtkind: s/Getting Involved/Get Involved/ and "buy welbrutin" is spam | ||
I think also add the tutorial sites for learning, and Perl6Advent | 01:43 | ||
lichtkind | mberends: do it, but other than that the page is good? | 01:44 | |
mberends | yes :) | ||
lichtkind | :) | ||
mberends: the was a lot refactoring going on :) | |||
mberends | yes it was. And I'm still working on just one page... | 01:45 | |
lichtkind | mberends: hopefully not on www.perlfoundation.org/perl6/index....ut_perl_6, it refactored once again, now its really good, just have a look | 01:47 | |
mberends | nice. that means whatever links are duplicated on the main page, can now go, because 1 click extra is fine for all this content. | 01:49 | |
snarkyboojum | lue: check out the get() method in RangeIter, the 'if $current after $!max' never evaluates to true for a whole bunch of ranges, that's why 'A'..'£' goes on forever :) | 01:51 | |
lue | it should (imo) print all unicode characters from A to £. I'll check that out. | 01:52 | |
01:52
Chillance left
|
|||
snarkyboojum | e.g. 'Z'.succ -> 'AA', and 'ZZ'.succ -> 'AAA' and so on, ad infinitum :) | 01:52 | |
look at > ('A'..'£').iterator.GrabAndSay(1000) for instance | 01:53 | ||
I also like this | |||
rakudo: 'Z'.succ after 'Z' | 01:54 | ||
p6eval | rakudo 3b869c: ( no output ) | ||
lue | that... is internationally moronic (but sound in the US) | ||
snarkyboojum | sorry | ||
rakudo: say 'Z'.succ after 'Z' | |||
p6eval | rakudo 3b869c: OUTPUT«0» | ||
lue | (the way AA comes after Z, I mean) | ||
snarkyboojum | the successor of Z is not after Z | 01:55 | |
:) | |||
lichtkind | mberends: please add www.programmersheaven.com/2/Perl6-QuickStart to pugs page it will be now removed from front | ||
snarkyboojum | yeah ok | ||
but the idea of the successor to a letter not being after the letter is confusing to me :) | |||
01:55
ggoebel left
|
|||
lue | And I thought we used unicode, dangit! :) | 01:55 | |
arlinius | rakudo: say 'Y'.succ after 'Y' | ||
p6eval | rakudo 3b869c: OUTPUT«1» | ||
lue | rakudo: say '1'..'2' | ||
p6eval | rakudo 3b869c: OUTPUT«12» | 01:56 | |
arlinius | rakudo: say 'A' after 'Z' | ||
p6eval | rakudo 3b869c: OUTPUT«0» | ||
snarkyboojum | yeah, but not at the end of a range | ||
arlinius | rakudo: say 'AA' after 'Z' | ||
p6eval | rakudo 3b869c: OUTPUT«0» | ||
lue | rakudo: say chr(0xA0)..chr(0xB0) | ||
mberends | lichtkind: ok, done | ||
p6eval | rakudo 3b869c: ( no output ) | ||
lichtkind | mberends: thanks | ||
snarkyboojum | that's the bug as I can see it anyway | ||
lue | hm, maybe we should change that to support unicode, methinks. | ||
snarkyboojum | but first time I've looked at Rakudo source code ;) so I have nfi | 01:57 | |
unless it's supposed to never return | |||
lue | any idea where RangeIter is defined? :) | ||
snarkyboojum | src/core/RangeIter.pm | ||
lue | ah, missed it. | 01:58 | |
arlinius | rakudo: say '↑'..'↓' | ||
p6eval | rakudo 3b869c: ( no output ) | ||
lue | [To the ApocolypseMobile! Come quickly, Exergesis Man! I shall use my Synopsis Warpdrive to get there quickly!] | ||
s/Exergesis/Exegesis/ | 01:59 | ||
lichtkind | mberends: im done for today, but look! : www.perlfoundation.org/perl6/index.cgi?perl_6 | 02:02 | |
mberends: 11 links left | |||
i mean 9 | 02:03 | ||
mberends | that's a big improvement. I'm thinking of sleep, also | ||
lichtkind | mberends: were that blind there was still spam on fron page :) | ||
mberends | "teen dating", hehe | 02:04 | |
lichtkind | mberends: and i will remove toc too | ||
TimToady | colomon: um, spec tests shouldn't be using implementation dependent features such as pir:: | 02:05 | |
mberends | yes, better without that too | ||
lue will add the support of the Earth into RangeIter (the problem seems to lie in the after infix | |||
lichtkind | mberends: i kepht the about section on the bottom. still dunno what to do with that | ||
snarkyboojum | lue: so those ranges will never cross the boundaries of the ranges defined in src/builtins/Str.pir, i.e. 'A' .. 'z' etc | ||
lue | there should not be any boundaries, except the first and last characters of unicode (IMO) | 02:06 | |
snarkyboojum | check out the RANGES constant in src/builtins/Str.pir | ||
mberends | lichtkind: some of it is fossil, can be deleted. Maybe just one or two horizontal sentences with all the links in specific keywords? | 02:07 | |
lichtkind | mberends: do it but wait a second i just reinsert camelia now | 02:08 | |
snarkyboojum | there are explicitly defined increment/decrement ranges | ||
mberends | Camelia will look better than a table of contents, for sure | 02:09 | |
lue | It should allow all unicode. You'd have to use tricky programming... tricks, though (almost certain). | ||
lichtkind | mberends: before or after the first headline? | ||
snarkyboojum | lue: see what I mean though? | ||
mberends | lichtkind: you'd better preview them both and then decide, I don't know | 02:10 | |
lichtkind | mberends: done | ||
snarkyboojum | they way that's implemented, the range will never go across those "range" boundaries for want of a better description | ||
02:10
justatheory joined
|
|||
snarkyboojum | (excuse the poor/incorrect terminology) | 02:11 | |
02:12
justatheory left
|
|||
lue | beh, I think limiting it like that is... interesting. | 02:12 | |
rakudo: say ①..⑳ | |||
p6eval | rakudo 3b869c: OUTPUT«Confused at line 11, near "say \u2460..\u2473"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: say '①'..'⑳' | ||
p6eval | rakudo 3b869c: | ||
..OUTPUT«①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳①①①②①③①④①⑤①⑥①⑦①⑧①⑨①⑩①⑪①⑫①⑬①⑭①⑮①⑯①⑰①⑱①⑲①⑳②①②②②③②④②⑤②⑥②⑦②⑧②⑨②⑩②⑪②⑫②⑬②⑭②⑮②⑯②⑰②⑱②⑲②⑳③①③②③③③④③⑤③⑥③⑦③⑧③⑨③⑩③⑪③⑫③⑬③⑭③⑮③⑯③⑰③⑱③⑲③xE2 | |||
mberends | lichtkind: pretty! is there a 2 column layout possible, to have the Planet Perl 6 and Rakudo.org news lists next to each other? (ok, this may be asking too much) | ||
lue | AAh! (obviously, it doesn't like unicode...) | 02:13 | |
arlinius | 'ⅰ'..'ⅻ' | ||
rakudo: say 'ⅰ'..'ⅻ'; | |||
p6eval | rakudo 3b869c: | ||
..OUTPUT«ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅰⅰⅰⅱⅰⅲⅰⅳⅰⅴⅰⅵⅰⅶⅰⅷⅰⅸⅰⅹⅰⅺⅰⅻⅱⅰⅱⅱⅱⅲⅱⅳⅱⅴⅱⅵⅱⅶⅱⅷⅱⅸⅱⅹⅱⅺⅱⅻⅲⅰⅲⅱⅲⅲⅲⅳⅲⅴⅲⅵⅲⅶⅲⅷⅲⅸⅲⅹⅲⅺⅲⅻⅳⅰⅳⅱⅳⅲⅳⅳⅳⅴⅳⅵⅳⅶⅳⅷⅳⅸⅳⅹⅳⅺⅳⅻⅴⅰⅴⅱⅴⅲⅴⅳⅴⅴⅴⅵⅴⅶⅴⅷⅴⅸⅴⅹⅴⅺⅴⅻⅵⅰⅵⅱⅵⅲⅵxE2 | |||
lichtkind | mberends: dunno i didnt made these | ||
mberends | ok | ||
lue | fun with UTF-8! | ||
arlinius | it doesn't like wrapping | ||
snarkyboojum | shouldn't 'Z'.succ after 'Z' be true? | 02:14 | |
arlinius | rakudo: say '①'..'⑲' | ||
p6eval | rakudo 3b869c: OUTPUT«①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲» | ||
lue | hmmm... | ||
I truly think the garbage text can be avoided if we supported the whole unicode set... | 02:15 | ||
rakudo: say 'i'..'xi'; | |||
p6eval | rakudo 3b869c: OUTPUT«ijklmnopqrstuvwx» | ||
arlinius | lue: the problem would still happen for $last_unicode_char.succ | ||
lue | it ought to wrap around, to u+0000 | ||
or just stop. | 02:16 | ||
not throw a hissy fit :D | |||
arlinius | u+0000 or u+0000 u+0000? | ||
lue | The very first character of unicode: null | ||
lichtkind | mberends: were heroes well done, im thinking of a link from implmentation to a perl 6 spec page buts that can wait | ||
lue finds the parallel conversations amusing (unicode ranges & perlfoundation wiki) | 02:17 | ||
mberends | lichtkind: good work, you deserve a rest | ||
lichtkind | :) | ||
snarkyboojum | lue: I guess it'll stop eventually (when we run out of memory) :) | 02:18 | |
mberends | this is coming along nicely: www.perlfoundation.org/perl6/index....mentations | ||
02:18
meppl left
|
|||
lue | Most of the upper unicode values (u+FFFF, around that area) are reserved for `private use' anyway. Still a good idea to support them though | 02:19 | |
lichtkind | good night | ||
02:19
lichtkind left
|
|||
mberends | phew! now to get back to what I was studying before ;) | 02:20 | |
lue | why they can't un-unify the Chinese/Japanese/Korean characters and put them in that extra space, who knows? | ||
arlinius | I do tend to agree that ranges should work for all of Unicode. On the other hand, maybe the Range class also needs a 'universe' attribute for working with smaller ranges. Define your universe to 'A'..'Z' and you get 'Z'.succ => 'AA'. | 02:21 | |
02:22
mberends left
|
|||
arlinius | lue: private use isn't really "extra", it's just that -- private use | 02:22 | |
not that there aren't plenty of still-undefined reserved (non private use) ranges | 02:23 | ||
colomon | TimToady: oooo, good point on the pir:: in the trig tests. It's basically a workaround for a really annoying Rakudo bug, as soon as the bug is gone it can go away. If we just take it out now, it will cause a significant performance hit on the spectests. | ||
I'd certainly be very happy if the bug went away over the weekend. I will try to bug jnthn about it. | 02:24 | ||
lue | Exegesis Man loaned me his bug spray. | ||
lue tosses Exegesis Bug Spray to colomon | |||
TimToady | colomon: that's fine, it just needs to go at some point | 02:29 | |
lue | rakudo: say ord('Z') | 02:30 | |
p6eval | rakudo 3b869c: OUTPUT«90» | ||
lue | rakudo say chr(90) | ||
rakudo: say chr(91) | |||
p6eval | rakudo 3b869c: OUTPUT«[» | ||
lue | rakudo: say 'A'..'[' | 02:31 | |
p6eval | rakudo 3b869c: ( no output ) | ||
02:31
japhb joined
|
|||
snarkyboojum | infix after is just doing a cmp | 02:31 | |
rakudo: say ('ZA' cmp 'Z' == +1) | 02:32 | ||
p6eval | rakudo 3b869c: OUTPUT«1» | ||
snarkyboojum | rakudo: say ('AA' cmp 'Z' == +1) | ||
p6eval | rakudo 3b869c: OUTPUT«0» | ||
colomon | Oh right, another issue to worry about. :) | ||
snarkyboojum | rakudo: say 'Z'.succ | ||
p6eval | rakudo 3b869c: OUTPUT«AA» | ||
lue | yeah, right now it seems to be a problem with the RANGES constant (I'm tempted to rewrite the whole thing) | ||
colomon | I'm pretty sure that's what after is supposed to do. | ||
lue | (by whole thing, I mean the constant. It's big) | ||
colomon | But something more clearly needs to be done for iterating over strings. | 02:33 | |
is it just factoring in length? | |||
arlinius | colomon: so 'AA' isn't supposed to be after 'Z'? or is 'AA' not supposed to be 'Z'.succ? | ||
lue | rakudo: say 'Z'.succ | 02:34 | |
p6eval | rakudo 3b869c: OUTPUT«AA» | ||
lue | AH HA...? | ||
colomon | it is. | ||
lue | rakudo: say 'Z'.succ ~~ 'AA' | ||
p6eval | rakudo 3b869c: OUTPUT«1» | ||
arlinius | both? | ||
lue | rakudo: say 'Z'.succ == 'AA' | ||
p6eval | rakudo 3b869c: OUTPUT«1» | ||
colomon | the problem (at least the problem I know about) is that if you say 'AA'..'Z', Range thinks that's fine. | ||
but actually, it's the empty list. | |||
lue | rakudo: say 'AA'..'Z' | ||
p6eval | rakudo 3b869c: | ||
..OUTPUT«AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZFAFBFCFDFEFFFGFHFIFJFK… | 02:35 | ||
TimToady | Str.succ is not intended to produce values in lexicographic order, which is relatively useless in real life. So we steal .succ (and ++) for "counting with carry" in customary ranges | ||
lue | TimToady: should Range (for strings) support unicode? | ||
rakudo: say 'A'..'£' #as in, this working | |||
colomon | TimToady: Is there a function which is supposed to provide the corresponding less than operator? | ||
p6eval | rakudo 3b869c: ( no output ) | ||
colomon | alpha: say 'AA'..'Z' | 02:36 | |
p6eval | alpha 30e0ed: OUTPUT«» | ||
snarkyboojum | succ and after don't match up, e.g. the successor of 'Z' isn't "after" Z | ||
colomon | snarkyboojum: exactly. | 02:37 | |
lue | rakudo: say 'AA' after 'Z' | 02:38 | |
p6eval | rakudo 3b869c: OUTPUT«0» | ||
lue | rakudo: say '[' after 'Z' | ||
p6eval | rakudo 3b869c: OUTPUT«1» | ||
02:38
ShaneC left
|
|||
lue | so the after infix deals in unicode, while succ doesn't? Weird... | 02:38 | |
arlinius | rakudo: say 'AA'.pred | ||
p6eval | rakudo 3b869c: ( no output ) | ||
snarkyboojum | because 'AA' cmp 'Z' doesn't equal 1 | ||
TimToady | 'a'..'£' looks completely useless to me | ||
but see S03:431 and following | 02:39 | ||
actually, that section implies that .succ is not used for ++ on strings, hmm... | |||
lue | it's just an example. I typed £ last night on accident, been using it for the example ever since :) | ||
snarkyboojum | but I wouldn't expect Rakudo to keep building an infinitely long string (in the limit) | ||
TimToady | that's specced, though | ||
snarkyboojum | cool :) | 02:40 | |
I'm a complete newbie | |||
TimToady | see S03:2029 | ||
lue | how's about japanese kana? Seems like that would fail, considering it's not part of RANGES. | ||
TimToady | we let A'..'£' produce an infinite list on the basis that it's also lazy | 02:41 | |
arlinius | almost any alphabet in Unicode, really | ||
lue | seems terribly arrogant to me to only allow english, greek, and a few (seemingly random) number sets. | 02:42 | |
TimToady | why would you want to in increment kana? | ||
it's not like the codepoints follow the a,i,u,e,o song... :) | |||
snarkyboojum | cool - so it's not a bug :) sweet | 02:43 | |
lue | If you were writing japanese software. Same reason english people'd want to increment the English alphabet. | ||
snarkyboojum | alpha: say 'A'..'£' | ||
p6eval | alpha 30e0ed: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | ||
TimToady | you can still use it as a Range, as in testing cmp its endpoints | ||
snarkyboojum | so the behaviour has changed | ||
lue | (hey, unicode better fix that, TimToady.) | ||
TimToady | but cmp has nothing to do with .succ, really | ||
TimToady sings the a,i,u,e,o song to himself... | |||
snarkyboojum | it's just that the RangeIterator uses .succ and then does a check with 'after' (which uses cmp) | 02:44 | |
lue Our Salute to Confusing Programming | |||
TimToady | yes, and then if you do something non-sensical, you get a lot of nonsense :) | ||
snarkyboojum | but this is a bug | 02:45 | |
rakudo: say 'A'..'Z' | |||
p6eval | rakudo 3b869c: | ||
..OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEX… | |||
snarkyboojum | because Z.succ is not 'after' Z | ||
anyway - I'm sure this is all very obvious to everyone apart from me :) | |||
TimToady | the test is supposed to be !after, which matches eqv | ||
japhb | Rakudo team: belated congratulations on the ng release! | ||
TimToady | or the other way around | 02:46 | |
arlinius | should 'AA' be after 'Z'? | ||
TimToady | anyway, a direct hit is suppose to stop it | ||
if you increment Z, yes | |||
arlinius | with the 'after' operator, I mean | ||
TimToady | but not if you use 'after' | ||
lue | rakudo: say 'Z'.succ after 'Z' | ||
p6eval | rakudo 3b869c: OUTPUT«0» | ||
arlinius | how is after different from lt? | ||
lue | therein lies the bug | 02:47 | |
arlinius | gt rather | ||
TimToady | S03:2051 is talking about you, the Astute Reader | ||
snarkyboojum | heh | ||
lue | how do I jump to a certain line, exactly? | 02:48 | |
in the spec | |||
colomon is being drasticted by an offer on his house, and company. Apologies... | 02:49 | ||
s/drasticted/distracted/ | |||
TimToady | oh wait, my lines are off, hang on | ||
eternaleye | Maybe better would be just setting a 'no more' variable on $curr ~~ $endpoint, rather than using after? | ||
And then returning the EMPTY failure | 02:50 | ||
(if the 'no more' state var is set, that is) | |||
pugs_svn | r29784 | lwall++ | [S03] document how an "impossible" limit can terminate a series | ||
lue thinks it would have be easier to program if you didn't limit what the ranges could be. | 02:51 | ||
TimToady | that may take a while to propagate through | ||
after it does, the irclog will link to the line in the spec | |||
the log is at irclog.perlgeek.de/perl6/today | 02:52 | ||
for the moment you'll have to back up a page to find the paragraph with "astute reader" | 02:53 | ||
dinner & | |||
02:53
eternaleye_ joined
|
|||
lue | the bad thing about perlcabal.org is that the S03 page freezes my browser (it's due to a plugin, but still...) | 02:53 | |
02:54
eternaleye left
|
|||
lue | ...so what's the final deal with string ranges? | 02:56 | |
02:58
eternaleye_ is now known as eternaleye
03:00
cdarroch left
|
|||
lue in the meantime, I will work on the P6 novelty calendar system (almost done) | 03:00 | ||
snarkyboojum | well get() in RangeIter should definitely stop when it gets to max, so that's a bug (I guess) and it sounds like the rest of the behaviour is spec'd and will work nicely with lazy lists :) | ||
my first foray into Rakudo code :) | 03:01 | ||
lue | *grumblegrumble*... ok. I still wish it would loop through irregardless of where in unicode. Ah well, that's for Perl 6.1, I guess :) | ||
arlinius | lue: you can always loop through ints and chr() them | 03:02 | |
lue | that's true. The only reason I was really hot on this was because I want to fix something in Rakudo! | 03:03 | |
snarkyboojum | me too :) | 03:04 | |
lue | I've also tried to get the ≤ and ≥ symbols into standard Rakudo. But it'll have to be a module, I guess. | 03:05 | |
rakudo: for (my $i=80; $i<=100; $i++) { say chr($i); } | 03:08 | ||
p6eval | rakudo 3b869c: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 11, near "(my $i=80;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: loop (my $i=80; $i<=100; $i++) { say chr($i); } | 03:09 | |
p6eval | rakudo 3b869c: OUTPUT«PQRSTUVWXYZ[\]^_`abcd» | ||
lue | rakudo: loop (my $i=200; $i<=220; $i++) { say chr($i); } | ||
p6eval | rakudo 3b869c: OUTPUT«ÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜ» | ||
03:10
snarkyboojum left
03:11
snarkyboojum joined
|
|||
lue | rakudo: loop (my $i=500; $i<=520; $i++) { say chr($i); } | 03:12 | |
p6eval | rakudo 3b869c: OUTPUT«ǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈ» | ||
lue | rakudo: loop (my $i=1000; $i<=1020; $i++) { say chr($i); } | ||
p6eval | rakudo 3b869c: OUTPUT«ϨϩϪϫϬϭϮϯϰϱϲϳϴϵ϶ϷϸϹϺϻϼ» | ||
lue | rakudo: loop (my $i=2000; $i<=2020; $i++) { say chr($i); } #obviously, I'm slightly bored | 03:13 | |
p6eval | rakudo 3b869c: OUTPUT«ߐߑߒߓߔߕߖߗߘߙߚߛߜߝߞߟߠߡߢߣߤ» | ||
lue | uhm... | ||
TimToady | you wanting hex? | 03:18 | |
lue | no, I'm good. (I know full well it was all in decimal) | 03:21 | |
TimToady | looks like the S links have caught up with reality | ||
03:22
pnate left
|
|||
lue | rakudo: loop (my $i=0x2000; $i<=0x2020; $i++) { say chr($i); } #oh boy | 03:25 | |
p6eval | rakudo 3b869c: OUTPUT«xE2x80x80xE2x90xA4xE2x80x81xE2x90xA4         ‐‑‒–—―‖‗‘’‚‛“”„‟†» | ||
lue | rakudo: loop (my $i=0x4000; $i<=0x4020; $i++) { say chr($i); } | 03:26 | |
p6eval | rakudo 3b869c: OUTPUT«䀀䀁䀂䀃䀄䀅䀆䀇䀈䀉䀊䀋䀌䀍䀎䀏䀐䀑䀒䀓䀔䀕䀖䀗䀘䀙䀚䀛䀜䀝䀞䀟䀠» | ||
03:27
pnate joined
|
|||
lue | rakudo: loop (my $i=0x5000; $i<=0x5020; $i++) { say chr($i); } | 03:33 | |
p6eval | rakudo 3b869c: OUTPUT«倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠» | ||
03:36
gabiruh_ left
|
|||
lue | Can anybody give me various 'terms' related to Perl6? Such as Rakudo, Parrot, -Ofun, etc. | 03:37 | |
colomon | rakudo: say 1 <=> 2 | 03:39 | |
p6eval | rakudo 3b869c: OUTPUT«-1» | ||
pmichaud | Rakudo: An implementation of Perl 6. | 03:40 | |
Parrot: The virtual machine underlying Rakudo Perl 6. Parrot is also intended to support other dynamic languages. | |||
-Ofun: "optimize(d) for fun" -- how we decide what to work on. | |||
other terms from the rakudo side include NQP, PCT, PAST, PIR, PMC | 03:41 | ||
we also have STD and STD.pm | |||
colomon | pmichaud: did you have any thoughts on how to properly fix the "our @a;" in classes bug? TimToady rightfully pointed out that putting the pir-version of it in the trig tests to optimize them isn't really kosher... | 03:42 | |
lue | Great! I needed some of them for the P6 novelty calendar system. | ||
TimToady | LTA | ||
pmichaud | and LTM | ||
Synopses | 03:43 | ||
Pugs | |||
colomon: it's bound to be a method bug; that tends to be jnthn++'s area | |||
TimToady | setting | 03:44 | |
pmichaud | CORE | 03:45 | |
PGE | |||
Camelia | |||
(heck, just take a look at perl6.org) | |||
03:45
gfx joined
03:46
TimTom joined
|
|||
TimToady | lexotic | 03:46 | |
colomon | pmichaud: okay. | 03:47 | |
TimToady | phasers | ||
lue | I'm using P6 terms for month names, and various significant people on IRC for days of the week. | ||
pmichaud | phasers! how can I forget that?!? | ||
lue | phasers in P6...? | ||
pmichaud | yes, phasers. | ||
colomon | they help deal with the daleks. | 03:48 | |
TimTom | rakudo: say [+] (5,4,3) | ||
p6eval | rakudo 3b869c: OUTPUT«Confused at line 11, near "say [+] (5"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
pmichaud | see S04 for details, but a "phaser" is one of those elements that manage transitions between different phases of execution. | ||
TimTom | So are the [] meta operators not implemented or did the syntax change? | ||
pmichaud | rakudo (new branch) doesn't have [] yet. | ||
colomon | TimTom: NYI | ||
pmichaud | alpha: say [+] 5,4,3; | 03:49 | |
p6eval | alpha 30e0ed: OUTPUT«12» | ||
TimToady | unspace | ||
pmichaud | I hope to have [] working again in a week or so | ||
TimToady | feeds | ||
TimTom | Yea, I knew alpha had them because I was running a program that used to work and trying to figure out the errors | ||
When it was in a method it was complaining about it being unable to find the end } in blockoid :) | |||
TimToady | sigspace, ratchet | 03:50 | |
captures, parcels | 03:51 | ||
roles | |||
junctions | |||
TimTom | It also looks like @_ is read only right now? I had to create and name my own temporary variable because it gave me "Placeholder variable cannot override existing signature at ..." | 03:52 | |
Ah. I think that was because it was the second term in an assignment expansion. If I assign directly to it, it reports it's read only | 03:53 | ||
TimToady | shortnames/longnames | 03:54 | |
Christmas | 03:56 | ||
colomon | hyper! | ||
pmichaud | laziness (it's not longer just a virtue, it's a feature!) | ||
sjohnson | TimTommy | ||
TimToady | but that's also Haskell | 03:57 | |
03:57
wknight8111 left
|
|||
lue | Heh, laziness is gonna be the last month :) | 03:58 | |
pmichaud | make it the first month, and you can leave the other months blank. | ||
03:58
stephenlb left
|
|||
pmichaud | ("What happened to the rest of the months?" "Laziness.") | 03:58 | |
lue | I'll upload the spreadsheet containing the calendar when it's all filled out. | 03:59 | |
pugs_svn | r29785 | colomon++ | [t/spec] Unfudge "Y".."AB" tests we now pass. | 04:07 | |
dalek | kudo/master: 71d8848 | (Solomon Foster)++ | src/core/RangeIter.pm: Get RangeIter to handle the Str cases properly. |
04:10 | |
kudo/master: abb98b4 | (Solomon Foster)++ | src/core/Any-list.pm: Add proto for pick. |
|||
TimTom | rakudo: my @temp; my @a = <1 2 3>; @temp = @a[1,2]; @a.push(@temp); say @a.perl; | 04:11 | |
p6eval | rakudo 3b869c: OUTPUT«["1", "2", "3", "2", "3"]» | ||
lue | aaah! /o\ those phasers would come in handy now | ||
TimTom | rakudo: my $temp; my @temp; my @a = <1 2 3>; ($temp, @temp) = @a; @a.push(@temp); say @a.perl; | ||
p6eval | rakudo 3b869c: OUTPUT«["1", "2", "3", ["2", "3"]]» | ||
lue | rakudo: phaser daleks | ||
p6eval | rakudo 3b869c: OUTPUT«Could not find non-existent sub &dalekscurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
Tene | rakudo: END { daleks } | 04:12 | |
p6eval | rakudo 3b869c: OUTPUT«Could not find non-existent sub &dalekscurrent instr.: '_block43' pc 167 (EVAL_1:80)» | ||
Tene | rakudo: DESTROY { daleks } | ||
p6eval | rakudo 3b869c: OUTPUT«Could not find non-existent sub &DESTROYcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: multi sub infix :<exterminate> ($a, $b) { say "{$a} exterminates {$b}"; }; "daleks" exterminate "humans"; | 04:15 | |
p6eval | rakudo 3b869c: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'current instr.: 'perl6;Perl6;Actions;trait' pc 187361 (src/gen/perl6-actions.pir:7153)» | ||
lue | hmm, needs work | ||
TimTom | rakudo: my $a; my @b; ($a, @b) = <1 2 3>; say @b.perl | 04:16 | |
p6eval | rakudo 3b869c: OUTPUT«[["2", "3"]]» | ||
TimTom | I don't think that's right. Is it a known issue? | ||
lue | That's right (I think) | 04:17 | |
TimTom | It should be ["2", "3"] | ||
TimToady | just like p5 list assignment | ||
lue | rakudo: my $a; my @b; ($a, @b) = <1 2 3>;say $a.perl; say @b.perl | ||
p6eval | rakudo 3b869c: OUTPUT«"1"[["2", "3"]]» | ||
TimTom | It's an array of 1 element containing an array with the 2 elements inside it | 04:18 | |
colomon | rakudo: my $a; my @b; ($a, *@b) = <1 2 3>; say @b.perl | ||
p6eval | rakudo 3b869c: OUTPUT«Confused at line 11, near "($a, *@b) "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
colomon | rakudo: my $a; my @b; ($a, $b) = <1 2 3>;say $a.perl; say $b.perl | ||
p6eval | rakudo 3b869c: OUTPUT«Symbol '$b' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
TimTom | alpha: my $a; my @b; ($a, @b) = <1 2 3>; say @b.perl | ||
TimToady | std: my $a; my @b; ($a, *@b) = <1 2 3>; say @b.perl | ||
p6eval | alpha 30e0ed: OUTPUT«["2", "3"]» | ||
std 29784: OUTPUT«===SORRY!===Two terms in a row at /tmp/y7COKXhGfX line 1:------> my $a; my @b; ($a, *⏏@b) = <1 2 3>; say @b.perl expecting any of: POST bracketed infix infix or meta-infix postfix postfix_prefix_meta_operator | |||
..statement modifier loop… | |||
TimTom | Alpha does what I expect with it | 04:19 | |
TimToady | but it's an array | ||
oh, wait, that's inside the french quotes | 04:20 | ||
so yes | |||
alpha is right | |||
I was reading the [...] as OUTPUT delims | 04:21 | ||
lue | silly TimToady, [] are for Arrays! | 04:22 | |
TimToady | I'll learn this language someday... | ||
TimTom | Yea. I figured that's why most people were coming to the defense of master, it's real hard to disambiguate the single [ from the double [[ when there's all the other symbols around it | 04:23 | |
04:23
plainhao joined
|
|||
TimToady | party because [] used to be the OUTPUT delims, iirc | 04:23 | |
which is why we changed it | 04:24 | ||
colomon | rakudo: say 'z'..'ab' | 04:28 | |
p6eval | rakudo 3b869c: OUTPUT«» | ||
arlinius | rakudo: say 'X'..'Z' | 04:29 | |
colomon | should work once p6eval catches up with github. | ||
p6eval | rakudo 3b869c: | ||
..OUTPUT«XYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZFAFBFCFDFEFFFGFHFIF… | |||
arlinius | ah | ||
colomon | TimToady: series op should use the same scheme for incrementing / decrementing Str that range does? | ||
TimToady | yeah, one dot is not enough to do that differently :) | 04:30 | |
though it's enough to do autoreversing | 04:31 | ||
lue | rakudo: say 'X'...'Z' | ||
p6eval | rakudo 3b869c: | ||
..OUTPUT«XYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZFAFBFCFDFEFFFGFHFIF… | |||
colomon | TimToady: I'll try to get series sorted in the morning. | ||
unless someone beats me to it overnight. :) | 04:32 | ||
BTW, I ended up fixing RangeIter by using a new comparison function which does cmp unless you've got a Str, and handles Str specially. | 04:33 | ||
That will actually be needed in Range itself and series too, I guess. Seems like it might almost be worth adding it to the Spec. | |||
though heaven help us, preferably with a nicer name than RangeIterCmp. | 04:34 | ||
afk # must sleep. | |||
TimToady | n8 | ||
eternaleye | Hm, is S03:1993 _supposed to be identical to S03:2003? Because it is identical. | 04:36 | |
lue | how about RangeiTerCmpter (pronounced Rangetercopter)? | ||
04:36
TimTom left
|
|||
lue | hey look, someone else who uses Konversation here (besides me) | 04:38 | |
eternaleye | Perhaps S03:2003 was supposed to be 1, 2 ...\n10, 20 ...\n 100, 200 ... 900; gessing from the comment preceding it about it being arithmetic | 04:42 | |
*guessing | |||
04:47
plainhao left,
mssm left
|
|||
TimToady | but that won't work, since it uses 3 values | 04:48 | |
pugs_svn | r29786 | lwall++ | [S03] delete bogus dup code spotted by eternaleye++ | 04:49 | |
TimToady | that is, 90, 100, 200 is going to confuse it | ||
or maybe not, depend on whether the 2nd ... can actually see the earlier values | 04:50 | ||
which in turn depends on whether it's right or left associative | |||
and ... is defined as list associative, which doesn't help us :) | 04:51 | ||
but it does mean we could probably force it to work with just 2 nums between the ...s | 04:52 | ||
and you could force it the other way with parens | 04:53 | ||
(1,2...9), 10, 20 ... 90 # second ... sees all lefthand numbers inluding 9 | 04:55 | ||
otoh, 9,10,20 is probably going to die if it can't intuit a function | 04:57 | ||
bkeeler | Nah, you just need a sufficiently advanced algorithm. Before long it will have the ability to solve those 'next number in the series' questions they have on IQ tests. | 05:02 | |
pugs_svn | r29787 | lwall++ | [S03] upon further reflection, we can make eternaleye++'s conjecture work right. | ||
TimToady | I always like thos... | 05:03 | |
e | |||
.oO(guess the next letter in the sequence...) |
|||
05:03
pnate left
|
|||
bkeeler | Now if you can have it guess the winning powerball numbers... | 05:04 | |
TimToady | funny when a typo turns out self-referential | ||
eternaleye | I assumed it was right associative | ||
bkeeler | hehe | ||
eternaleye | Since that gives the user the most flexibility | ||
TimToady | in the table, X operators are only right associative if the operator changes | 05:05 | |
otherwise it's like zip | |||
eternaleye | Ah | ||
TimToady | dotdotdot(1,2; 10,20; 100,200; 900) | ||
and the function can evaluate the lists however it sees fit | 05:06 | ||
each of the sublists is independently lazy | |||
which is good, since we can't evaluate a list on the left till we've evaluated at least one value of the next list to the right | 05:07 | ||
and, of course, zip itself does them all in parallel | |||
eternaleye | Which is why I assumed right assoc without thinking about it further | ||
TimToady | I'm almost getting to like this language | 05:09 | |
eternaleye | rakudo: (1, 1 ... &[+]).map: *.say; | 05:11 | |
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "(1, 1 ... "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
eternaleye | rakudo: (1, 1 ... &infix:<+>).map: *.say; | 05:12 | |
p6eval | rakudo 71d884: OUTPUT«Symbol '&infix:<+>' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
TimToady | rakudo: say ('↑'.ord..'↓'.ord)».chr | 05:14 | |
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "say ('\u2191'.o"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | alpha: say ('↑'.ord..'↓'.ord)».chr | 05:15 | |
p6eval | alpha 30e0ed: OUTPUT«sh: ../rakudo-alpha/perl6: No such file or directory» | ||
TimToady | std: say ('↑'.ord..'↓'.ord)».chr | ||
p6eval | std 29786: OUTPUT«ok 00:01 108m» | ||
TimToady | I have no idea why rakudo doesn't parse that | 05:16 | |
unless it's messed up on unicode | |||
rakudo: '↑' | |||
p6eval | rakudo 71d884: ( no output ) | ||
TimToady | rakudo: say '↑' | ||
p6eval | rakudo 71d884: OUTPUT«↑» | ||
TimToady | rakudo: say '↑'.ord | 05:17 | |
p6eval | rakudo 71d884: OUTPUT«8593» | ||
TimToady | rakudo: say '↑'.ord..'↓'.ord | ||
p6eval | rakudo 71d884: OUTPUT«859385948595» | ||
TimToady | rakudo: say ('↑'.ord..'↓'.ord) | ||
p6eval | rakudo 71d884: OUTPUT«859385948595» | ||
TimToady | rakudo: say ('↑'.ord..'↓'.ord)>>.chr | ||
p6eval | rakudo 71d884: OUTPUT«↑→↓» | ||
TimToady | rakudo: say ('↑'.ord..'↓'.ord)».chr | 05:18 | |
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "say ('\u2191'.o"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | hah, groks arrows but not french hypers | ||
.oO(doubtless implemented by a Texan...) |
05:19 | ||
lue | what about ‹› ? | 05:21 | |
05:21
quietfanatic joined
|
|||
lue | I have the p6 hex calendar done, will upload tomorrow. | 05:24 | |
TimToady | .u ‹› | 05:32 | |
phenny | U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK (‹) | ||
U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (›) | |||
TimToady | we are trying to keep Perl 6 in the latin-1 range | ||
there will be modules, of course | |||
diakopter | rakudo: say 'X'..'Z' | 05:37 | |
p6eval | rakudo 71d884: OUTPUT«XYZ» | ||
diakopter | fix-ed | ||
lue | rakudo: say 'X'..'AA' | 05:39 | |
p6eval | rakudo 71d884: OUTPUT«XYZAA» | ||
lue | rakudo: say 'A'..'Z' | ||
p6eval | rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | ||
lue | rakudo: say 'A'..'£' | ||
TimToady | \o/ | ||
p6eval | rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | ||
lue | \o/ | ||
TimToady | that's techinically incorrect | ||
lue | I know, but at least it doesn't go on forever :) | ||
TimToady | that's how it's incorrect | 05:40 | |
according to S03:2040 | |||
diakopter | rakudo: say 'X'..'X' | ||
p6eval | rakudo 71d884: OUTPUT«X» | ||
diakopter | rakudo: say 'X'..'' | ||
p6eval | rakudo 71d884: OUTPUT«» | ||
diakopter | rakudo: say 'X'..145 | 05:41 | |
p6eval | rakudo 71d884: OUTPUT«» | ||
diakopter | rakudo: say 5..'V' | ||
o_O | |||
p6eval | rakudo 71d884: ( no output ) | ||
TimToady | maybe that one goes on forever :) | ||
rakudo: say (5..'V').batch(50) | 05:42 | ||
p6eval | rakudo 71d884: OUTPUT«Method 'batch' not found for invocant of class 'Range'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
diakopter | rakudo: (5..'V').iterator.getAndSay(50) | ||
p6eval | rakudo 71d884: OUTPUT«Method 'getAndSay' not found for invocant of class 'RangeIter'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: say 'a'..'Z' | ||
p6eval | rakudo 71d884: OUTPUT«» | ||
diakopter | smth like that | ||
TimToady | rakudo: say (5..'V').iterator.batch(50) | ||
p6eval | rakudo 71d884: OUTPUT«56789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354» | ||
lue | rakudo: say 'Z'..'A' | ||
p6eval | rakudo 71d884: OUTPUT«» | ||
snarkyboojum | rakudo: (5..'V').iterator.GetAndSay(50) | ||
p6eval | rakudo 71d884: OUTPUT«Method 'GetAndSay' not found for invocant of class 'RangeIter'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
TimToady | rakudo: say 'Z'...'Z' | ||
p6eval | rakudo 71d884: OUTPUT«Z» | 05:43 | |
TimToady | rakudo: say 'Z'...'A' | ||
arlinius | rakudo: say 'A'..'↓'; | ||
lue | rakudo: say ('A'..'Z').flip | ||
p6eval | rakudo 71d884: OUTPUT«ZYXWVUTSRQPONMLKJIHGFEDCBA» | ||
rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | |||
rakudo 71d884: OUTPUT«Z Y X W V U T S R Q P O N M L K J I H G F E D C B A» | |||
lue | It's somewhat sad we're having fun and getting excited over this working. | ||
(But I don't care) | |||
rakudo: say 'H'..'O' | |||
p6eval | rakudo 71d884: OUTPUT«HIJKLMNO» | ||
TimToady | ('a'..'z').backflip | ||
diakopter | pugs: say ('A'..'Z').flip | 05:44 | |
TimToady | maybe that should invert the letters :) | ||
p6eval | pugs: OUTPUT«*** No such method in class Array: "&flip" at /tmp/kPf1BbAw2T line 1, column 5 - line 2, column 1» | ||
lue | rakudo: say 'π'..'∏' | ||
p6eval | rakudo 71d884: OUTPUT«πρστυφχψω» | ||
diakopter | pugs: say ('A'..'Z').reverse | ||
p6eval | pugs: OUTPUT«ZYXWVUTSRQPONMLKJIHGFEDCBA» | ||
TimToady | pugs won't know about flip | ||
lue | rakudo: say 'a'..'π' | ||
p6eval | rakudo 71d884: OUTPUT«abcdefghijklmnopqrstuvwxyz» | ||
lue | (too much fun) | ||
TimToady | that's Perl 5 semantics, but not Pelr 6 | 05:45 | |
or Perl 6 either | |||
snarkyboojum | rakudo: say 'A'..'z' | ||
p6eval | rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | ||
snarkyboojum | rakudo: say 'A'..'Z' | ||
p6eval | rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | ||
snarkyboojum | rakudo: say 'a' .. 'Z' | ||
p6eval | rakudo 71d884: OUTPUT«» | ||
snarkyboojum | rakudo: say 'A'..'z' | ||
p6eval | rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | 05:46 | |
snarkyboojum | that looks wrong? | ||
diakopter | rakudo: say 5....7 | ||
p6eval | rakudo 71d884: OUTPUT«54321» | ||
diakopter | heh | ||
TimToady | snerk | ||
diakopter | pugs: say 5....7 | ||
p6eval | pugs: OUTPUT«***  Unexpected "...." expecting "_", exponent, term postfix, operator, ":" or "," at /tmp/7AhVhbe6Oe line 1, column 6» | ||
TimToady | if you want to confuse 'em... | ||
rakudo: say 5....1 | 05:47 | ||
p6eval | rakudo 71d884: OUTPUT«54321» | ||
lue | rakudo: say 'Q'..'Y' | ||
p6eval | rakudo 71d884: OUTPUT«QRSTUVWXY» | ||
diakopter | rakudo: say 5... .7 | ||
p6eval | rakudo 71d884: OUTPUT«54321» | ||
TimToady | .1 is funner | ||
diakopter | o | ||
lue | rakudo: say 'œ' .. '¥' # this _will_ fail, let's see how | ||
p6eval | rakudo 71d884: OUTPUT«» | ||
diakopter | rakudo: 33242..-33242.say | 05:48 | |
p6eval | rakudo 71d884: OUTPUT«33242» | ||
diakopter | eh | ||
rakudo: 5..2.say | |||
p6eval | rakudo 71d884: OUTPUT«2» | 05:49 | |
lue | rakudo: say 'OUTPUT«',('E'..'Y').flip,'» Thank you for using p6evalbot. Have a nice day.' | ||
p6eval | rakudo 71d884: OUTPUT«OUTPUT«Y X W V U T S R Q P O N M L K J I H G F E» Thank you for using p6evalbot. Have a nice day.» | ||
TimToady | rakudo: .say when 'œ' .. '¥' for map *.chr, 1..2000 | ||
p6eval | rakudo 71d884: OUTPUT«Missing block at line 11, near "for map *."current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | std: .say when 'œ' .. '¥' for map *.chr, 1..2000 | ||
diakopter | std: .say when 'œ' .. '¥' for map *.chr, 1..2000 | ||
p6eval | std 29787: OUTPUT«ok 00:01 108m» | ||
std 29787: OUTPUT«ok 00:01 106m» | |||
diakopter | hm | ||
TimToady | beetchya | ||
lue | beat chias? OK! | 05:50 | |
lue beats up annoying Ch-Ch-Ch-Chia's | |||
TimToady | anyway, looks like rakudo doesn't grok 'when' as a statement mod, or doesn't allow if inside while | 05:51 | |
rakudo: say 42 if 43 while 0 | |||
p6eval | rakudo 71d884: ( no output ) | ||
lue | rakudo: my $hey=True; say 'hello' if $hey; | ||
p6eval | rakudo 71d884: OUTPUT«hello» | ||
lue | rakudo: my $hey=True; say 'hello' if ($hey and 0); | 05:52 | |
TimToady | rakudo: say 42 if 43 for 1..2 | ||
p6eval | rakudo 71d884: ( no output ) | ||
rakudo 71d884: OUTPUT«Missing block at line 11, near ""current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | |||
TimToady | parsebug | ||
lue | rakudo: my $hey=True; say 'hello' if ($hey and 1); | ||
p6eval | rakudo 71d884: OUTPUT«hello» | ||
lue | rakudo: my $hey=True; say 'hello' if ($hey and !0); | ||
p6eval | rakudo 71d884: OUTPUT«hello» | ||
TimToady | another one of those p5isms... | ||
lue | rakudo: my $hey=True; say 'hello' if !$hey; | ||
p6eval | rakudo 71d884: ( no output ) | ||
lue | rakudo: my $hey=True; say 'hello' if ($hey and !$hey); | 05:53 | |
p6eval | rakudo 71d884: ( no output ) | ||
TimToady | can't do list comprehensions till we can nest ifs inside of fors | ||
lue | heh heh, Principle of Explosion (or is it Explosion Principle?) If you assume a contradiction is true, then anything can be proven. | ||
bkeeler | someone's been reading xkcd I think... | 05:54 | |
eternaleye | rakudo: .say for 1 .. 10; | ||
p6eval | rakudo 71d884: OUTPUT«Missing block at line 11, near ";"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
eternaleye | TimToady: I think that none of the statement modifier forms are working | 05:55 | |
Or at least not for | |||
bkeeler | if and while are I think | ||
arlinius | rakudo: say 4 if 1; | ||
TimToady | but that means python is better than perl... | ||
eternaleye | 1.say if 1; | ||
p6eval | rakudo 71d884: OUTPUT«4» | ||
eternaleye | rakudo: 1.say if 1 | ||
p6eval | rakudo 71d884: OUTPUT«1» | ||
lue | I have been reading XKCD. I used the Explosion Principle to derive Obama's private cell phone number :D | ||
eternaleye | Hm, so it's just for | ||
bkeeler | Yeah | ||
arlinius | rakudo: say 4 while 0; | ||
p6eval | rakudo 71d884: ( no output ) | ||
arlinius | rakudo: say 4 while 1; | ||
lue | (next up: derive Linus' address) | 05:56 | |
arlinius | looks like while works ... | ||
p6eval | rakudo 71d884: | ||
..OUTPUT«444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444xE2 | |||
arlinius | rakudo: say 3 unless 0; | ||
p6eval | rakudo 71d884: OUTPUT«3» | ||
bkeeler | rakudo: return 'fred' if 1 | ||
p6eval | rakudo 71d884: OUTPUT«Missing block at line 11, near ""current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
bkeeler | return is not currently a listop | 05:57 | |
lue | rakudo: my $p = True; ($p and !$p) ?? say "The Explosion Theory has been proven by Perl6!" !! say "Darn"; | ||
p6eval | rakudo 71d884: OUTPUT«Darn» | ||
lue | Darn | ||
TimToady | rakudo: my $p = True; ($p and !$p) ~~ True ? say "The Explosion Theory has been proven by Perl6!" !! say "Darn"; | 05:58 | |
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "($p and !$"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | rakudo: my $p = True; ($p and !$p) ~~ True ?? say "The Explosion Theory has been proven by Perl6!" !! say "Darn"; | ||
p6eval | rakudo 71d884: OUTPUT«The Explosion Theory has been proven by Perl6!» | ||
TimToady | there you go | 05:59 | |
lue | Oh my gosh! Perl6 can divine truths like nobody's business! Call the UN! I have derived Iran's launch codes for their nuclear missiles! | ||
lue believes that all Millenium Prize Problems can be solved with inputs of 42. | 06:00 | ||
quietfanatic | rakudo: say True and False | 06:01 | |
p6eval | rakudo 71d884: OUTPUT«1» | ||
bkeeler | The true answer is "Yellow", not 42 | ||
quietfanatic | our and is not very handy | ||
rakudo: say (True and False) | 06:02 | ||
bkeeler | They programmed Deep Thought in Cobol, which is why it took 7.5 million years | ||
p6eval | rakudo 71d884: OUTPUT«0» | ||
quietfanatic | hmmm | ||
lue | If the output were 42 for any of those problems, that would be VERY creepy. | ||
TimToady | rakudo: our $queen is !amused; | ||
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "our $queen"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | std: our $queen is !amused; | ||
lue | bkeeler: They programmed Earth in BASIC, which is why it takes 10 million years. | ||
p6eval | std 29787: OUTPUT«===SORRY!===Confused at /tmp/xYalSkFj3Q line 1:------> our $queen is ⏏!amused; expecting nameFAILED 00:01 108m» | ||
quietfanatic | rakudo: say False ~~ True | 06:03 | |
p6eval | rakudo 71d884: OUTPUT«1» | ||
quietfanatic | rakudo: say True.ACCEPTS(False) | ||
p6eval | rakudo 71d884: OUTPUT«1» | ||
TimToady | ow | ||
quietfanatic | There it is. | ||
TimToady | std: our $queen :!amused; | 06:04 | |
p6eval | std 29787: OUTPUT«ok 00:01 105m» | ||
TimToady | rakudo: say 1.ACCEPTS(False) | 06:05 | |
p6eval | rakudo 71d884: OUTPUT«0» | ||
TimToady | rakudo: say True.ACCEPTS(False) | ||
p6eval | rakudo 71d884: OUTPUT«1» | ||
TimToady | rakudo: say True.ACCEPTS(0) | ||
p6eval | rakudo 71d884: OUTPUT«1» | ||
TimToady | rakudo: say True.WHAT | ||
p6eval | rakudo 71d884: OUTPUT«Bool()» | ||
TimToady | rakudo: say Bool.ACCEPTS(42) | 06:06 | |
p6eval | rakudo 71d884: OUTPUT«0» | ||
TimToady | rakudo: say Bool.ACCEPTS(1) | ||
p6eval | rakudo 71d884: OUTPUT«0» | ||
TimToady | very odd | ||
lue | that's incorrect. Bool.ACCEPTS(42) ~~ 1 ! | ||
Using hyperoperators and explosion principle, perl6 can prove anything! | 06:07 | ||
06:08
athenot left
|
|||
lue | (working on example...) | 06:08 | |
erm, I think i meant superpositions | 06:09 | ||
rakudo: my $p=True; my $santa=True|False; if (($p and !$p)~~True)) { my $pres=($p and !$p); my $santaisreal=($pres or $santa); } say $santaisreal; | 06:11 | ||
p6eval | rakudo 71d884: OUTPUT«Missing block at line 11, near ") { my $pr"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: my $p=True; my $santa=True|False; if (($p and !$p)~~True) { my $pres=($p and !$p); my $santaisreal=($pres or $santa); } say $santaisreal; | 06:12 | |
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "if (($p an"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: my $p=True; my $santa=True|False; if ( ($p and !$p)~~True ) { my $pres=($p and !$p); my $santaisreal=($pres or $santa); } say $santaisreal; | ||
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "if ( ($p a"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: my $p=True; my $santa=True|False; my $pres=($p and !$p); my $santaisreal=($pres or $santa); say $santaisreal; | 06:13 | |
p6eval | rakudo 71d884: ( no output ) | ||
lue | hmm... have to work on that. | ||
rakudo: my $p=True; say ($p and !$p) ~~ 42; | 06:15 | ||
p6eval | rakudo 71d884: OUTPUT«0» | ||
lue | that's not right :) | 06:16 | |
TimToady | rakudo: say False ~~ 42 | ||
p6eval | rakudo 71d884: OUTPUT«0» | ||
TimToady | rakudo: say (True and !True) | 06:17 | |
p6eval | rakudo 71d884: OUTPUT«0» | ||
TimToady | say 0 ~~ 42 | 06:18 | |
lue | Since it likely wouldn't be part of the spec, I'd like to make a module that causes all Boolean stuff to equal to 42 in addition to how it normally works. | ||
TimToady | rakudo: say 0 ~~ 42 | ||
p6eval | rakudo 71d884: OUTPUT«0» | ||
TimToady | there will be modules | ||
modules are the answer | |||
06:18
crazed left
|
|||
allbery_b | monkeypatch Bool with "is also"? | 06:18 | |
06:18
crazed joined
|
|||
TimToady | augment | 06:19 | |
lue | rakudo: my $p=True; say $p is 1; say $p is also 42; | ||
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "say $p is "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: my $p=True; say $p is 1; | ||
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "say $p is "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: my $p=True; say !$p=42; say $p != 42; say $p = !42; | 06:20 | |
p6eval | rakudo 71d884: OUTPUT«0Cannot assign to readonly valuecurrent instr.: '&die' pc 16524 (src/builtins/Junction.pir:317)» | ||
allbery_b | right, I forgot the latest round of renamings (mostly because I prefer not monkeypatching. although I have an evil perl5 script that does so and an eviller ruby script that does so correctly :) | ||
lue | rakudo: my $p=True; say !$p=42; say $p != 42; say $p = !(42); | ||
p6eval | rakudo 71d884: OUTPUT«0Cannot assign to readonly valuecurrent instr.: '&die' pc 16524 (src/builtins/Junction.pir:317)» | ||
allbery_b | actually it's more runtime class definition | ||
lue | rakudo: my $p=True; say !$p == 42; say $p != 42; say $p == !(42); | ||
p6eval | rakudo 71d884: OUTPUT«010» | ||
lue | rakudo: my $p=True & 42; say $p~~1; say $p ~~ 42; | 06:23 | |
p6eval | rakudo 71d884: OUTPUT«Method 'Num' not found for invocant of class 'Junction'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
lue | rakudo: my $p=True & 42; say $p ~~ 1; say $p ~~ 42; | ||
allbery_b | (lemma. in the real world, people do stupid things because of $MOTAS. in computers, it's because of printers.) | ||
p6eval | rakudo 71d884: OUTPUT«Method 'Num' not found for invocant of class 'Junction'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
lue | rakudo: my $p=True | 42; say $p ~~ 1; say $p ~~ 42; | ||
p6eval | rakudo 71d884: OUTPUT«Method 'Num' not found for invocant of class 'Junction'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
lue | rakudo: my $p=True | 42; say $p ~~ True; say $p ~~ 42; | ||
p6eval | rakudo 71d884: OUTPUT«1Method 'Num' not found for invocant of class 'Junction'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
lue | :( | ||
TimToady | seems like ~~ isn't autothreading right | 06:25 | |
did someone make its left arg a Mu? | |||
unless ~~ is willing to handle junctions internally, it should be Any | 06:27 | ||
or maybe it thinks it handles junctions internally, but Junction.Num doesn't autothread right | |||
lue | oh boy, a new bug :1 | ||
TimToady doesn't grok that smiley | 06:29 | ||
lue | :2 | ||
At the end of all the error messages for my junction testing above, it has a :-1 | 06:30 | ||
TimToady | rakudo: say :1<0000> | ||
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "say :1<000"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | rakudo: say :2<0000> | ||
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "say :2<000"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | alpha: say :2<0000> | ||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
TimToady | alpha: say :1<0000> | ||
p6eval | alpha 30e0ed: OUTPUT«radix out of range (2-36)in Main (file <unknown>, line <unknown>)» | ||
TimToady | aww | 06:31 | |
lue | base 1 would just be a string of zeros. 8 (base 10) would be 00000000 (base 1) | ||
Can you imagine base 0? *shudder* | |||
it'd be a string of nulls. | 06:33 | ||
rakudo: say 0x40,0x40,0x40; | 06:34 | ||
p6eval | rakudo 71d884: OUTPUT«646464» | ||
allbery_b | peano numbers | ||
lue | rakudo: say chr(0x40),chr(0x40),chr(0x40); | ||
p6eval | rakudo 71d884: OUTPUT«@@@» | ||
lue | rakudo: say chr(0x00),chr(0x00),chr(0x00); | ||
p6eval | rakudo 71d884: OUTPUT« | ||
lue | That's 0d3 in base 0 :D | ||
allbery_b saw what that C string did there | 06:35 | ||
TimToady | rakudo: say "\x[40,40,40]" | ||
p6eval | rakudo 71d884: OUTPUT«@@@» | ||
lue | rakudo: say "Here is the number 10 in base 0: \x[00,00,00,00,00,00,00,00,00,00]" | 06:36 | |
p6eval | rakudo 71d884: OUTPUT«Here is the number 10 in base 0: | ||
arlinius | that's base 1 | 06:37 | |
allbery_b | SSSSSSSSZ | ||
lue | no, base 1 is a string of zeros. | ||
000000000000000 (base 1) is 15 in base 10 | 06:38 | ||
(base 0) is 15 in base 10 (there are 15 nulls to the left of this text) | 06:39 | ||
...hello? (it's quiet here) | 06:57 | ||
TimToady | you'd think it was friday night or somethin' | 06:58 | |
lue | that's totally weird, today is... lemme check. | 06:59 | |
vamped | lol, the normal time of day for lue to be fishing for response | ||
lue | I'm looking at the P6 novelty hex calendar. Just a second... | ||
Today is jnthn-day, Rakudo 6th, 2010. | 07:03 | ||
vamped | that almost (even) sounded official. | ||
lue | I may be off, because the P6 novelty hex calendar (I invented it) doesn't have leap years, so it's probably off ≈ half a day or so. | 07:04 | |
bkeeler | Speaking of odd Calendars, I note that today is actually Chaoflux | ||
lue | Chaoflux... which calendar is that? | 07:05 | |
bkeeler | Discordian | ||
lue looks up Discordian | |||
bkeeler | Today is Setting Orange, the 50th day of Chaos in the YOLD 3176 | ||
Celebrate Chaoflux | |||
"ddate" on your nearest Linux box | 07:06 | ||
lue | hee hee (I'm using the nearest Linux box right now!) | ||
bkeeler | If you've never googled discordianism, you'll be reading for a while ;) | ||
lue | For my hex calendar's conversion tool, I plan on taking the Epoch of the current date, and turning that into hex date/time | 07:09 | |
07:09
nbrown joined
|
|||
lue | rakudo: say time(); | 07:15 | |
p6eval | rakudo 71d884: OUTPUT«1266649360.0903» | ||
lue | rakudo: say time(); | 07:17 | |
p6eval | rakudo 71d884: OUTPUT«1266649443.07378» | ||
lue | rakudo: say time(); | ||
p6eval | rakudo 71d884: OUTPUT«1266649453.73666» | ||
TimToady | rakudo: say time.WHAT | ||
p6eval | rakudo 71d884: OUTPUT«Num()» | ||
lue | looks like p6eval is a few seconds behind me :) | ||
TimToady | spec says Rat, actually | ||
07:17
am0c left
|
|||
lue | Hey TimToady: Today is jnthn-day, Rakudo 6th. Yesterday was TimToady, Rakudo 5th. Tomorrow is colomon, Rakudo 7th | 07:18 | |
on the P6 novelty hex calendar, that is :) | |||
s/colomon/colomon-day/ | 07:19 | ||
vamped | lue, i'm reading the backlog now. did you ever find any resolution to the "range boundary" issue? | 07:24 | |
lue | what range boundary issue? Is it this one: | ||
rakudo: say 'A'..'£' # this type of thing? | |||
p6eval | rakudo 71d884: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZ» | ||
vamped | or | ||
rakudo: say 'ⅰ'..'ⅻ'; | |||
p6eval | rakudo 71d884: OUTPUT«ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻ» | ||
07:24
nbrown left
|
|||
lue | Someone fixed it. | 07:25 | |
vamped | great | ||
07:25
nbrown joined
|
|||
vamped | rakudo: say 'Z'.succ after 'Z' | 07:25 | |
p6eval | rakudo 71d884: OUTPUT«0» | ||
vamped | :( | 07:26 | |
I guess "after" is strictly asciibetic comparison where "AA" < "Z" | |||
TimToady | troo | 07:27 | |
lue | vamped: Have you gotten to the part about Explosion Principle in the backlogs yet? That's my favorite part :) | ||
vamped | not yet | ||
lue | rakudo: my $p = True; say ($p and !$p); | 07:29 | |
p6eval | rakudo 71d884: OUTPUT«0» | 07:30 | |
bkeeler | Uuggghh. I've been staring the same unmoving cursor for 10 minutes. My brain's frazzled | ||
07:30
nbrown left
|
|||
lue | rakudo: my $p = True; say ($p and !$p) ~~ True; | 07:30 | |
p6eval | rakudo 71d884: OUTPUT«1» | ||
bkeeler | I know my brain's frazzled when it starts producing puns instead of code | ||
lue | Witness the magic of Explosion Principle! | ||
bkeeler | To wit: Make and Ant elope and make an antelope | ||
Arrghhh time for bed it must be | 07:31 | ||
lue | My Hobby: writing notes for class in code because it's "easier" | ||
code meaning Perl6 :) | 07:32 | ||
vamped | I do similar - putting # before handwritten comments and such | 07:33 | |
07:34
am0c joined
|
|||
lue | Instead of writing "an carbon isotope has 12, 13, or 14 neutrons", I'd write "my $carbonisotope=12|13|14" (for example) | 07:35 | |
it's not much fun in math, because 90% of it is already P6 valid code. | |||
07:38
xinming left,
xinming joined
|
|||
lue | rakudo: my $p=True; say $p and !$p; say ($p and !$p)~~True; say ($p and !$p)~~False; | 07:39 | |
p6eval | rakudo 71d884: OUTPUT«110» | ||
lue | rakudo: my $p=True; say ($p and !$p); say ($p and !$p)~~True; say ($p and !$p)~~False; | 07:40 | |
p6eval | rakudo 71d884: OUTPUT«010» | ||
lue | hmm, parentheses negate the result... wonder why? | ||
bkeeler | because the say expression has higher precedence than the and, which is very low | 07:41 | |
lue | ah, that's it. So the parentheses make it do the right thing. | 07:42 | |
bkeeler | Yeah, otherwise it's (say $p) and !$p | 07:43 | |
Or you could use && | |||
lue | rakudo: my $p=True; say $p and !$p; say $p && !$p; | 07:44 | |
p6eval | rakudo 71d884: OUTPUT«10» | ||
bkeeler | Well, g'night... | ||
lue | goodnight. I ought to go to. | ||
vamped | lue: so why the failure with <= implementation? | 07:45 | |
Trashlord | bye | ||
07:45
gfx left
|
|||
lue | do you mean ≤, vamped? | 07:46 | |
vamped | yup | 07:47 | |
(couldn't find the right key combo just now) | |||
lue | It's not part of the spec, and deemed unnecessary during the discussion :( . Ah well, it'll appear in my augmentation module, when it's made. | ||
It'll be made for Rakudo *, probably :) | |||
vamped | oh, so there was a discussion. that'll do it. | 07:48 | |
it should be very easy to implement for yourself | |||
lue | It is, it's stupidly easy (lets see if I remember) | 07:49 | |
rakudo: multi sub infix :<≤> (my $a, my $b) { $a <=$b}; say 5≤6; | |||
p6eval | rakudo 71d884: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'current instr.: 'perl6;Perl6;Actions;trait' pc 187361 (src/gen/perl6-actions.pir:7153)» | ||
lue | rakudo: multi sub infix :<≤>(my $a, my $b) { $a <=$b}; say 5≤6; | ||
p6eval | rakudo 71d884: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'current instr.: 'perl6;Perl6;Actions;trait' pc 187361 (src/gen/perl6-actions.pir:7153)» | ||
lue | rakudo: multi sub :infix <≤>(my $a, my $b) { $a <=$b}; say 5≤6; | 07:50 | |
p6eval | rakudo 71d884: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'current instr.: 'perl6;Perl6;Actions;trait' pc 187361 (src/gen/perl6-actions.pir:7153)» | ||
lue | see, I can't remember. Something along those lines, though. | ||
vamped | rakudo: multi sub infix:<≤> (my $a, my $b) { $a <=$b}; say 5≤6; | ||
p6eval | rakudo 71d884: OUTPUT«Invalid typename in parameter declaration at line 11, near " $a, my $b"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: multi sub infix:<≤> ($a, $b) { $a <=$b}; say 5≤6; | 07:51 | |
p6eval | rakudo 71d884: OUTPUT«Confused at line 11, near "say 5\u22646;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | darn. | ||
rakudo: multi sub infix:<≤> (my $a, $b) { $a <=$b}; say 5≤6; | 07:52 | ||
p6eval | rakudo 71d884: OUTPUT«Invalid typename in parameter declaration at line 11, near " $a, $b) {"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | ah well, I'll look it up tomorrow. | ||
Goodnight, Moon. | |||
07:52
lue left,
pnate joined
|
|||
vamped | rakudo: multi sub infix:<≤> (){ $^a <= $^b}; say 5≤6; | 07:52 | |
p6eval | rakudo 71d884: OUTPUT«Placeholder variable cannot override existing signature at line 11, near "; say 5\u22646;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
vamped | well, it should be easy. | ||
alpha: multi sub infix:<≤> { $^a <= $^b}; say 5≤6; | 07:57 | ||
p6eval | alpha 30e0ed: OUTPUT«1» | ||
vamped | bang! | 07:58 | |
08:03
eternaleye left
08:04
eternaleye joined
08:06
johnz left
08:07
johnz joined
08:13
johnz left
08:17
johnz joined
08:22
meppl joined
|
|||
pugs_svn | r29788 | azawawi++ | Upgrade to jQuery 1.4.2 (for more performance) | 08:24 | |
08:26
Su-Shee joined
|
|||
vamped | Guten Morgen Su-Shee. | 08:28 | |
08:29
iblechbot joined
|
|||
vamped | now very quiet this time of (day|night) | 08:34 | |
08:35
vamped left
|
|||
Su-Shee | early weekend morning :) | 08:35 | |
09:09
Jedai joined
09:20
payload joined
09:22
athenot joined
09:44
pnate left
09:46
mssm joined
09:49
pnate joined
|
|||
pugs_svn | r29789 | mberends++ | [src/perl6] README updates | 09:52 | |
10:21
rgrau left,
rgrau joined
10:25
orafu left,
orafu joined
10:26
pnate left
10:29
pmurias joined
10:36
k23z__ joined
|
|||
k23z__ | hey look, PURAMU is a social media manager from Arizona and he says in his article that Perl is dead it.toolbox.com/blogs/puramu/perl-is-dead-12264 | 10:36 | |
spinclad | that's all right. anyone who knows anything about it will pay no attention. | 10:39 | |
spinclad -> bed & | 10:42 | ||
snarkyboojum | that article is over 3 years old | 10:48 | |
i.e. dead :) | |||
Su-Shee | we could start to act the slackware-way: completely ignore what other people say and just do our thing[tm]. :) | 10:50 | |
k23z__ | cock | 10:58 | |
11:01
pmurias left
11:31
jferrero joined
11:45
payload left
|
|||
BinGOs | the 'perl is dead' meme is dead. | 11:47 | |
11:51
masak joined
|
|||
masak | happy weekend, everybody! | 11:51 | |
masak backlogs | |||
masak submits diakopter's rakudobug | 11:52 | ||
sorry about the delay :P | |||
rakudo: {}.=() | 11:54 | ||
p6eval | rakudo 71d884: OUTPUT«src/hash.c:144: failed assertion 's'Backtrace - Obtained 17 stack frames (max trace depth is 32)./home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2ae536445173]/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2ae5364452a7]/home/p6eval//p2/lib/libparrot.so.2.1.0 | ||
..[0x2ae53… | |||
masak | rakudo: say {}.WHAT | 11:55 | |
p6eval | rakudo 71d884: OUTPUT«Hash()» | ||
colomon | o/ | 11:59 | |
masak | \o | 12:00 | |
k23z__ | hey I think I have a dog | 12:01 | |
masak | k23z__: is that good news or bad news? | ||
12:01
Trashlord left
|
|||
k23z__ | masak: not sure yet | 12:01 | |
masak | k23z__: awww, can you keep it? it followed you home? | 12:02 | |
k23z__: is it an S12 Dog? | |||
class Dog is Mammal does Pet {...} | |||
my $pet = Dog.new( :name<Fido>, Animal{ :blood<warm>, :legs(4) } ); | |||
k23z__ | S12 is some spec of p6 ? | 12:03 | |
omg ! | |||
so nice | |||
so cute | |||
masak | k23z__: yep. some spec. | ||
k23z__: wait, are you talking about S12 or the dog? :) | |||
k23z__ | both | ||
they are so cute | |||
masak | nod. | ||
well, I haven't seen your dog... | 12:04 | ||
k23z__ | it's called rubik | ||
it lives in a closed subversion at the moment | |||
but it will get out when it's bigger | |||
masak | k23z__: you should think about changing your nick. my Bayesian reasoning engine tells me that IRC users with a nick like yours won't be long-lived here on #perl6. | 12:05 | |
k23z__: no offense. it just looks like a throwaway nick. :) | |||
k23z__ | it is | ||
masak | k23z__: to blend in, you should name yourself 'continuation' or 'syntax' or something. | 12:06 | |
or 'dog6'. | |||
k23z__ | masak: I see, and your nickname will soon be part of the keywords of Perl6 no ? | ||
something like | |||
masak { ... } moritz { ... }; | 12:07 | ||
masak | k23z__: I've always wanted to be a listop taking a block. | ||
apparently I also take a moritz... o.O | |||
no wait, that's two terms in a row! | 12:09 | ||
you need a comma after the first block. or a semicolon, if they're two different statements. | |||
colomon | I think "masak" should be some sort of exception handler that detects Null PMCs and e-mails them to RT. | 12:11 | |
k23z__ | yeah | ||
something like | |||
try { ... } masak ( ... ) {...} | |||
colomon | masak: Have you gotten your E03 code working yet? | 12:12 | |
masak | ah, a bit like an 'else' on if statements. | ||
colomon: no. haven't tried. I might after doing a bit of $OTHER_STUFF today. | |||
rakudo: sub frac() { return 2/3 }; my ((:$numerator, :$denominator)) := frac(); say "$numerator, $denominator"; | 12:16 | ||
p6eval | rakudo 71d884: OUTPUT«2, 3» | ||
masak | \o/ | ||
jnthn++ | |||
colomon | that is some crazy stuff he has done there.... | 12:17 | |
masak | almost every feature of Perl 6 is an overcharged nuclear powerpack in sheep's clothing. :) | 12:18 | |
k23z__ | oh my god | 12:21 | |
what the | |||
is that ? | |||
masak | it's a list assignment to a nested capture with named arguments, on a call to a native type which is a class with two public attributes. | 12:22 | |
see use.perl.org/~JonathanWorthington/journal/40196 | |||
jnthn++ | |||
s/call to/call returning/ | |||
12:29
quester joined
12:35
wknight8111 joined
|
|||
k23z__ | is p6 still self-hosting or that went away with pugs ? | 12:40 | |
masak | being self-hosting is still a long-term goal of Perl 6 and its implementations. | ||
Pugs was actually written in Haskell, not Perl 6. | |||
so far with Rakudo, the grammar parts are written in nqp-rx, a self-hosting subset of Perl 6. much of the CORE namespace subs and classes are written in Perl 6. | 12:41 | ||
12:50
kaare joined,
kaare is now known as Guest78425
12:55
Guest78425 left
13:01
xabbu42 joined,
payload joined
|
|||
masak | what to do about spam accounts on use.perl.org? use.perl.org/~Jerry+Panter/journal/40199 | 13:07 | |
k23z__ | do you guys use formal methods ? | ||
or software verification ? | 13:08 | ||
I mean you write this compiler | |||
how do you know it works properly | |||
and what do Haskell people mean by "our compiler can prove stuff" | |||
what do they mean by "prove" ? | |||
we have a prove utilitary in Perl also but it's not the same | |||
masak | k23z__: very interesting questions, not all of which are on topic here. :) | ||
k23z__ | also what is a theorem prover and what is its relations to this ? | ||
masak | k23z__: the closest thing we have here in Perl 6 land is spectests. | 13:09 | |
jnthn | oh hai | ||
masak | k23z__: those are tests outlining expected behaviour, which can be run semi-automatically. | ||
jnthn: \o | |||
k23z__ | o/ | ||
masak | jnthn: great blog post yesterday! I like nested signatures. :) | ||
jnthn | masak: I'm waiting for somebody to write something Totally Awesome with them. :-) | 13:10 | |
masak | that would be Totally Awesome. | 13:11 | |
hm, seems for loops are not yet lazy... | 13:13 | ||
jnthn | masak: From above, "it's a list assignment" - no, it's not an assignment. It's a binding. :-) | 13:14 | |
masak | oh right. | ||
jnthn | The := is what makes it special. | ||
masak | can the same be done with an assignemnt? I guess not. | 13:15 | |
k23z__ | do you guys have like degrees in compiler design or something ? | ||
jnthn | No | ||
k23z__ | but ? | ||
jnthn | k23z__: Degree in computer scinece for me. | ||
k23z__ | masak: ? | ||
masak | k23z__: no degree here. just generally annoying. | 13:16 | |
jnthn | k23z__: Though my degree let you pick and choose courses in the last year, and by then I'd got interested in compilers/VMs/programming langauges so picked a few related to that. | ||
masak | I'm at uni, though. about to get a bioinformatics degree. | ||
jnthn | Compilers aren't that crazy. They're just programs that take some input (source code) and spit out some lower level thing. :-) | 13:17 | |
13:18
iblechbot left
|
|||
jnthn | masak: Also, afaik, for loops are not yet lazy, no. | 13:18 | |
masak | what's holding that up? | 13:19 | |
jnthn | Somebody getting around to doing it, mostly. | ||
Maybe sink context, but again, same thing. | |||
masak | oki. | 13:20 | |
so nothing known-to-be-hard, in other words. | |||
jnthn | Oh, I don't think there X nasty problem blocking it, no. | 13:22 | |
There's just an awful lotta stuff to do. :) | |||
masak | downforeveryoneorjustme.com/rakudo.org # was it something we said? did this release bring the server down? | 13:27 | |
13:28
frettled sets mode: +o masak
|
|||
masak | thanks. | 13:28 | |
jnthn | masak: Did you...start procrastinating...yet? | 13:38 | |
masak | jnthn: not as such. I think I have a plan of attack now, though. | 13:39 | |
jnthn | :-) | ||
masak | and I plan to spend some time today finishing up GGE. | ||
jnthn | I've got one extra talk at nlpw that I need to procrastinate. | ||
masak | cool. | ||
jnthn | Finishing GGE? :-) | ||
masak | yes, GGE is almost PGE-compliant now. | 13:40 | |
jnthn | Wow! | ||
masak | it lacks lookarounds and goals, but otherwise it's as powerful. | ||
I've learned loads in the past few months. | |||
I also have a blog post series in 7 parts coming up about PGE internals. | |||
jnthn | Wow. | ||
jnthn looks forward to that. | 13:41 | ||
masak | me too :) | ||
a bit like Perl 6 itself, I'm literally inventing new infrastructure so that the blog post series will be according to my expectations. | |||
13:42
payload left
|
|||
jnthn ponders if submitting a 15 minute talk on meta-models was really a sane idea, and if he should tweak it to 30, given the schedule ain't been done yet. | 13:42 | ||
heh, you can't change duration in act | 13:43 | ||
Ah, I'll take "sane meta-model talk in 15 mins" as an interesting challenge. :-) | 13:44 | ||
masak | jnthn: I think one can sometimes submit one's talk with a given duration. but I remember that this wasn't possible with the hack2010dk instance. | 13:48 | |
13:49
am0c left
|
|||
jnthn | masak: You could choose at point of submission, just not tweak later. :-) But it's fine. :-) | 13:50 | |
masak | hm, maybe I remember wrongly. ISTR I looked for the duration option, but didn't find it. | 13:51 | |
13:51
am0c joined
|
|||
jnthn | masak: WE may be talking about different workshops. :-) | 13:52 | |
Oh, yes, we are. :-) | |||
D'oh. | 13:53 | ||
masak | that's why I wrote the name of the hack2010dk instance :P | ||
jnthn | Yeah, I just noticed that. :-) | ||
13:55
payload joined
13:56
TiMBuS joined,
quester left
|
|||
diakopter | rakudo: say ({{4}}.()).WHAT | 14:05 | |
p6eval | rakudo 71d884: OUTPUT«Int()» | ||
masak | looks right to me. | 14:06 | |
diakopter | rakudo: say ({4}()).WHAT | ||
p6eval | rakudo 71d884: OUTPUT«Int()» | ||
masak | hm, I need to head home to make a bit of food. I might stop by later in the evening. o/ | ||
14:06
masak left
|
|||
diakopter | rakudo: say ({return {4}}()).WHAT | 14:07 | |
p6eval | rakudo 71d884: OUTPUT«No exception handler and no messagecurrent instr.: '_block44' pc 320 (EVAL_1:127)» | ||
diakopter | I dunno... I don't get it. | 14:08 | |
jnthn | oh, that's just a LTA version of "you did return when you weren't in a routine" or some such. | ||
diakopter | why wasn't it in a routine? | 14:09 | |
14:09
uniejo joined
|
|||
jnthn | ... | 14:09 | |
Because you didn't write one? | |||
diakopter | rakudo: say ((sub {return {4}})()).WHAT | ||
p6eval | rakudo 71d884: OUTPUT«Block()» | ||
diakopter | rakudo: say ((sub {return {4}})).WHAT | 14:10 | |
p6eval | rakudo 71d884: OUTPUT«Sub()» | ||
diakopter | hm | ||
rakudo: say ((sub {return {4}})()()).WHAT | |||
p6eval | rakudo 71d884: OUTPUT«Int()» | ||
jnthn | I think we had a decent error in alpha, but probably lost it in the refactors. | 14:11 | |
alpha: return 'lol' | |||
diakopter | rakudo: say ({return {4}}).WHAT | ||
p6eval | alpha 30e0ed: OUTPUT«Can't return outside a routinein Main (file <unknown>, line <unknown>)» | ||
rakudo 71d884: OUTPUT«Block()» | |||
jnthn | You never invoke the block there :-) | ||
14:12
ruoso joined
|
|||
diakopter | rakudo: (sub { say ({return {4}}).WHAT })() | 14:12 | |
p6eval | rakudo 71d884: OUTPUT«Block()» | ||
diakopter | rakudo: (sub { say ({return {4}}()).WHAT })() | ||
p6eval | rakudo 71d884: ( no output ) | ||
diakopter | rakudo: (sub { say ({return {4}}()).WHAT })()() | 14:13 | |
p6eval | rakudo 71d884: ( no output ) | ||
diakopter | erm | ||
rakudo: say (sub { say ({return {4}}()).WHAT })()() | 14:14 | ||
p6eval | rakudo 71d884: OUTPUT«4» | ||
diakopter | o | ||
weird | |||
Blocks are ... a distinction. | 14:15 | ||
jnthn | return exceptions aren't caught by blocks, but are by routines. | 14:16 | |
diakopter | I remember that, now | ||
jnthn | The bit we _are_ getting wrong is that we're meant to first look for an exception handler in the static chain, whereas we always shoot for the dynamic one at the moment. | 14:17 | |
diakopter | no one's replied to my src/hash.c failed assertion email to parrot-dev | 14:18 | |
colomon | jnthn: Do you have any thoughts on how to fix the "our @a;" bug in classes? (That being the bug where trying to use them fails consistently.) pmichaud seemed to think it was your bailiwick.... | 14:26 | |
jnthn | lol... | 14:27 | |
...I thought he might know better. Gah. :-) | |||
colomon: I have a guess, anyway. | |||
colomon: Alas, I'm heading off to Vienna shortly, so can't look at it right now. | 14:28 | ||
colomon | d'oh! | ||
jnthn | colomon: One interesting test. | ||
colomon: Is there the same problem with subs or just methods? | 14:29 | ||
If just methods, that probably narrows it down a lot. | |||
colomon | using the our variable from a class sub, you mean? | ||
jnthn | yeah | ||
colomon | hmmm. | ||
rakudo: class A { our @a; method B() { @a.push(1); @a.perl.say; }; }; my $a = A.new; $a.B; | 14:30 | ||
p6eval | rakudo 71d884: OUTPUT«Null PMC access in find_method('push')current instr.: 'perl6;A;B' pc 530 (EVAL_1:216)» | ||
colomon | rakudo: class A { our @a; sub B() { @a.push(1); @a.perl.say; }; }; my $a = A.new; $a.B; | ||
p6eval | rakudo 71d884: OUTPUT«Method 'B' not found for invocant of class 'A'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
colomon | rakudo: class A { our @a; sub B() { @a.push(1); @a.perl.say; }; method C() { B(); }; }; my $a = A.new; $a.C; | 14:31 | |
p6eval | rakudo 71d884: OUTPUT«[1]» | ||
14:31
JimmyZ joined
|
|||
colomon | there you go. | 14:31 | |
jnthn | Right. | ||
I think we're getting the static chain for methods wrong. | |||
(they're attaching to the wrong lexical scopes) | 14:32 | ||
I'm not immediately sure of the best fix. | |||
Though I've a good idea why. | |||
14:38
JimmyZ left,
JimmyZ joined
14:39
JimmyZ left,
JimmyZ joined
|
|||
pmichaud | are the Parrot subs being cloned at any point? | 14:41 | |
(the ones being attached to the Method objects?) | |||
14:41
gabiruh joined
|
|||
colomon | rakudo: class A { our @a = 4,3,2; sub B() { @a.push(1); @a.perl.say; }; method C() { B(); }; }; my $a = A.new; $a.C; | 14:41 | |
p6eval | rakudo 71d884: OUTPUT«[4, 3, 2, 1]» | ||
pmichaud | (good morning, #perl6) | ||
colomon | o/ | ||
jnthn | pmichaud: We have a class setup block, which makes the meta-method calls, and then the class body | 14:44 | |
pmichaud: What we're emitting: | |||
14:44
pmurias joined
14:45
IllvilJa left
|
|||
jnthn | BEGIN { ...ClassHOW.new... $obj.^add_method('foo', method { ... }) ... }; { ...class body... } | 14:45 | |
What we want: | |||
BEGIN { ...ClassHOW.new... $obj.^add_method('foo', <reference to the meth>) ... }; { method foo() { ... }; ...class body... } | |||
pmichaud: The ref should be by sub ID I guess. I'm not sure how that's meant to look. | 14:46 | ||
pmichaud | in | 14:51 | |
14:44 <jnthn> BEGIN { ...ClassHOW.new... $obj.^add_method('foo', method { ... }) ... }; { ...class body... } | |||
is there any cloning taking place to the method { ... } portion? (There's not really a difference to <reference to the meth>) | |||
jnthn | pmichaud: For a class, no. | 14:53 | |
For a role, I think the metarole clones it. | |||
pmichaud | okay. I'll look at it closely in just a bit. | ||
jnthn | Well, I think the problem is that in the PAST tree, the PAST::Block for the method is not within the PAST::Block that is the class body. | 14:54 | |
So it's :outer points to the wrong place. | |||
14:54
explorer__ joined
14:57
jferrero left
|
|||
pmurias | k23z__: re how do we know that the compiler works correctly, Perl 6 has a test suit (it lives in t/spec in the pugs repository) | 14:59 | |
14:59
IllvilJa joined,
explorer__ left
|
|||
pmichaud | jnthn: yes, that would be the problem. | 14:59 | |
that's fixable. | |||
colomon | \o/ | 15:00 | |
pmichaud | we can either do a reference to the PAST::Block (in the class body) -- this is exactly what you said above (now that I understand it) | ||
k23z__ | yes but tests are not sufficient as Haskell people say , they told me this because I told them I was writing tests in Perl5 | 15:01 | |
pmichaud | or perhaps we need an :outer attribute on PAST::Block where one can explicitly set the outer | ||
k23z__ | I don't know what they mean by "prove" , they say it has something to do with type theory | ||
jnthn | pmichaud: ooh...:outer setting would be The Cool. | 15:02 | |
I don't dislike that. | |||
pmichaud | yes, I just need an hour or so to decide if it's a good idea or design smell :) | ||
anyway, now that you've described the problem, I can fix it | |||
jnthn | k23z__: There's a school of thought that says that the only way to be sure is to use mathematics to make formal proofs about how the language will behave in every case. | 15:03 | |
That approach doesn't tend to lead to programming languages thare are of huge amounts of interest to people writing real software though. | 15:04 | ||
pmichaud | jnthn says it correctly | ||
jnthn | There's something of a disconnect between the academic programming langauge scene and the languages that are being used to write most of the world's software. Which is in a way kinda sad. | ||
k23z__ | and how is Perl6 not an academic project ? | 15:05 | |
pmichaud | k23z__: depends on what you mean by "academic project" :) | ||
jnthn | ooh...time to go for my train to Vienna! | 15:06 | |
pmichaud | jnthn: have fun! | ||
jnthn | Thanks...catch you all later. | 15:07 | |
o/ | |||
15:08
mikehh joined,
pmurias left
15:11
xabbu42 left
15:12
colomon left
15:17
nihiliad joined
15:28
k23z__ left
|
|||
pugs_svn | r29790 | lwall++ | [S03] cleanups suggested by nick++ | 15:35 | |
r29791 | lwall++ | [S03] thinko spotted by TheDamian++ | 15:36 | ||
15:39
PlotDevice joined
15:40
Brennus joined
|
|||
PlotDevice | Huh, if you click on this channel's link from the perl6 front page, hydrairc bugs out and sends you to #%23perl6 instead. | 15:40 | |
15:41
Su-Shee left
|
|||
Brennus | hey all | 15:45 | |
TimToady | I'm not all, but hey back :) | ||
Brennus | pardon me for a stupid question, but how long do you think it will be? | ||
TimToady | 'bout 3.2 meters | ||
point being, you haven't specified your unit | 15:46 | ||
Brennus | that's quick for a flea but not for an amoeba | ||
TimToady | just so | ||
we mostly deal in fractions of a century here | |||
Brennus | so christmas 2015 maybe? | ||
TimToady | oh, if Tolkien is any indication, 2014 | 15:47 | |
but the parts that are already written are fun to read | |||
Brennus | i'm doing it | ||
don't understand Tolkien ref | 15:48 | ||
TimToady | he took 14 years to do his big sequel | ||
Brennus | oh | ||
i remember now | |||
TimToady | rakudo: say (if $_ { 'fred' } else { 'bill' }) for 0..1 | 15:49 | |
p6eval | rakudo 71d884: OUTPUT«Missing block at line 11, near ""current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | alpha: say (if $_ { 'fred' } else { 'bill' }) for 0..1 | ||
p6eval | alpha 30e0ed: OUTPUT«billfred» | ||
TimToady | but we hope to have a usable Rakudo * out this spring | 15:50 | |
Brennus | cool | ||
TimToady | if not full-blown Perl 6 | ||
Brennus | anything i can do? | 15:51 | |
15:51
Psyche^ joined
|
|||
TimToady | note inconsistencies or missing bits of the specs | 15:51 | |
write tests | |||
write docs | |||
just write something in Perl 6 and see what breaks, and report that | 15:52 | ||
or if something doesn't feel right | |||
Brennus | yeah | ||
15:52
hudnix left
|
|||
TimToady | watching how people do the learning curve is useful to us | 15:53 | |
if you're willing to report your difficulties | |||
(other than that aren't really any good tutorials yet) | |||
that's a known problem | 15:54 | ||
15:54
vorner joined
|
|||
Brennus | I was reading one of your advent pieces | 15:54 | |
it was confusing not seeing the "<<" and ">>" operators written out | |||
not written out i mean | |||
TimToady | well, the "Texas" versions are a concession to people who haven't figured out their compose key yet, or ^K in vim | 15:55 | |
but the little ones are generally construed as more readable | |||
Brennus | not on my browser | ||
maybe my eyes are going | 15:56 | ||
15:56
Patterner left,
Psyche^ is now known as Patterner
|
|||
TimToady | you can always increase the font size, like most of us do as we get older :) | 15:56 | |
15:56
colomon joined
|
|||
TimToady | if you can't make out a «», then you're gonna have worse difficulties telling apart , and . | 15:57 | |
or ; and : | |||
or maybe it's a font issue | |||
Brennus | not really | ||
font probably | |||
TimToady | maybe your brain is hardwired for ASCII :) | ||
Brennus | the default firefox font made them absurdly tiny | 15:58 | |
TimToady | maybe it's the size choice for constant width | ||
Brennus | anyway why not just write them out since that's what the code is going to be anyway? | 15:59 | |
TimToady | because it's ugly | ||
Brennus | make it tough to cut & paste | ||
TimToady | not for most of us | ||
dalek | kudo/master: 8003298 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 195 files, 24223 (67.8% of 35730) pass, 0 fail |
16:00 | |
TimToady | if you set up your UTF-8 locale okay | ||
what kind of box are you running? | |||
Brennus | OSX 10.4 ibook g4 | ||
16:01
athenot left
|
|||
TimToady | we have some OSX experts around here, but I'm not one of 'em | 16:01 | |
but seems to me it should be Unicode-awarable, at least | |||
Brennus | i have a gentoo toshiba laptop that i develop on also | ||
TimToady | linux has little problem with UTF-8 locales | ||
Brennus | i've noticed | 16:02 | |
TimToady | and certainly firefox seems to deal with unicode fine | ||
anyway, eventually everything will be unicode-ish, but that's why we have << and >> too | |||
but especially in quoting things with < and >, you want something else | 16:03 | ||
Brennus | anyone have experience with camelbones? | ||
16:03
Su-Shee joined
|
|||
TimToady | circumfix:«< >» and such | 16:03 | |
well, I suppose someone does, but it ain't me... | 16:04 | ||
colomon | TimToady: did you really mean, for $n == 0, 1 ... $n; # (), .succ increasing ? | ||
Brennus | thanks for the UTF-8 info | 16:05 | |
colomon | or am I getting confused because I am looking at the diffs instead of the entire doc? | 16:06 | |
(ah, I see the next diff deleted that line.) | 16:13 | ||
16:14
lue joined
|
|||
Brennus | the rakudo.org server isn't responding | 16:14 | |
any mirror sites? | 16:15 | ||
JimmyZ | there are two 2010-02-18 in spectest-progress.csv | ||
colomon | good point. | 16:17 | |
Brennus | use sv? | ||
svn rather | 16:18 | ||
colomon | JimmyZ: fixed. | 16:19 | |
JimmyZ++ | 16:20 | ||
lue | \o/ | 16:21 | |
16:22
Brennus left
|
|||
dalek | kudo/master: ec47f33 | (Solomon Foster)++ | docs/spectest-progress.csv: Delete duplicate line for 2010-02-18. |
16:23 | |
16:24
JimmyZ left
|
|||
lue | rakudo: say (True and !True)~~True; say (True and False)~~True; # indirect way of seeing if !True == False | 16:24 | |
p6eval | rakudo 800329: OUTPUT«11» | ||
16:27
rv2733 joined
16:29
colomon left,
payload left
16:30
payload joined
16:31
payload left,
payload joined
16:33
payload left
|
|||
lue | rakudo: my $chr=True|False; say $chr ~~ True; | 16:48 | |
p6eval | rakudo ec47f3: OUTPUT«1» | ||
lue | rakudo: my $chr=True&False; say $chr ~~ True; | ||
p6eval | rakudo ec47f3: OUTPUT«1» | ||
TimToady | rakudo: my Any $chr = True & False; | 16:49 | |
p6eval | rakudo ec47f3: OUTPUT«Type check failed for assignmentcurrent instr.: '&die' pc 16524 (src/builtins/Junction.pir:317)» | ||
TimToady | rakudo: my Mu $chr = True & False; | ||
p6eval | rakudo ec47f3: ( no output ) | ||
lue | rkaudo: my $p=(True and !True); my $q=True|False; say ($p or $q); | 16:50 | |
rakudo: my $p=(True and !True); my $q=True|False; say ($p or $q); | |||
p6eval | rakudo ec47f3: ( no output ) | ||
TimToady | rakudo: multi infix:<≤> { $^a <= $^b}; say 5 ≤ 6; | 16:51 | |
p6eval | rakudo ec47f3: OUTPUT«Confused at line 11, near "say 5 \u2264 6;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
16:51
crythias joined
16:52
jferrero joined
|
|||
lue | rakudo: my $p=(True and !True); my $q=True|False; say ($p or True); | 16:53 | |
p6eval | rakudo ec47f3: OUTPUT«1» | ||
lue | rakudo: my $p=(True and !True); my $q=True|False; say ($p xor $q); | ||
p6eval | rakudo ec47f3: ( no output ) | ||
lue | maybe it should give us something? | 16:54 | |
lue goes to check the spec | 16:55 | ||
TimToady | rakudo: my $p=(True and !True); my $q=True|False; say $p ?^ $q | 16:56 | |
p6eval | rakudo ec47f3: ( no output ) | ||
TimToady | alpha: my $p=(True and !True); my $q=True|False; say $p ?^ $q | 16:57 | |
p6eval | alpha 30e0ed: OUTPUT«maximum recursion depth exceededin Main (file <unknown>, line <unknown>)» | ||
TimToady | alpha: my $p=(True and !True); my $q=True|False; say $p ^^ $q | ||
p6eval | alpha 30e0ed: OUTPUT«any(Bool::True, Bool::False)» | ||
TimToady | rakudo: my $p=(True and !True); my $q=True|False; say $p ^^ $q | ||
p6eval | rakudo ec47f3: ( no output ) | ||
17:02
payload joined,
explorer__ joined
|
|||
lue | Ah, that should be fixed. | 17:04 | |
17:05
jferrero left
17:07
explorer__ left
17:11
rv2733 left
|
|||
lue | I wonder wherein the problem lies... | 17:11 | |
17:12
jferrero joined,
Chillance joined
|
|||
lue | ...hello? | 17:19 | |
17:22
payload left
17:28
justatheory joined
|
|||
lue | If noone's here, I'll start typing in Esperanto to amuse myself! (You have been warned) | 17:31 | |
17:33
mssm left
|
|||
TimToady | 僕がいますよ! | 17:47 | |
lue | Bonvenon, TimToady! | ||
frettled | That was almost readable. | ||
17:48
mikehh left
17:49
pmurias joined
17:50
lichtkind joined
|
|||
lue | could I take TAI as Unix Epoch? If so, is it UTC? | 17:52 | |
rakudo: say time(); | |||
p6eval | rakudo ec47f3: OUTPUT«1266687562.0852» | ||
17:52
mikehh joined
|
|||
lue | darnit, I though I had someone for a minute... | 17:55 | |
lue will go on to assume his questions about TAI are true, since no-one will answer... :( | 17:56 | ||
17:57
mssm joined
|
|||
pmurias | www.rakudo.org doesn't seem to load for me | 17:58 | |
lue | I read earlier it was down... wonder what's happening | ||
18:00
payload joined
|
|||
lue | rakudo: say floor(7.6); | 18:00 | |
p6eval | rakudo ec47f3: OUTPUT«7» | ||
pmurias | from where can i checkout rakudo? | 18:01 | |
lue | hang on... | ||
pmurias | it seems to be on github | 18:02 | |
lichtkind | is samuel harington here? | ||
lue | here's the command: git clone git://github.com/rakudo/rakudo.git | ||
18:03
patspam joined
18:05
silug joined
18:08
payload left
18:09
payload joined
18:10
nbrown joined
18:11
silug left,
silug joined
|
|||
lue | rakudo: say 794243384928000/9192631770 | 18:12 | |
p6eval | rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 304713 (src/gen/core.pir:32856)» | 18:13 | |
lue | woah. | ||
alpha: say 794243384928000/9192631770 | |||
p6eval | alpha 30e0ed: OUTPUT«No applicable candidates found to dispatch to for 'infix:div'in Main (file <unknown>, line <unknown>)» | ||
lue | Are you really saying no-one's bothered to implement division? | ||
pugs: say 794243384928000/9192631770 | |||
p6eval | pugs: OUTPUT«86400» | ||
lue | thank you | 18:14 | |
18:17
mssm left
|
|||
TimToady | rakudo: say 794243384928000/9192631770.nude>>.WHAT | 18:18 | |
p6eval | rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 304355 (src/gen/core.pir:32777)» | ||
TimToady | rakudo: say 794243384928000/9192631770.perl | ||
p6eval | rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 304355 (src/gen/core.pir:32777)» | ||
TimToady | rakudo: 794243384928000/9192631770 | ||
p6eval | rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 304355 (src/gen/core.pir:32777)» | ||
lue | pugs: say 794243384928000/16; say 794243384928000/24; | ||
p6eval | pugs: OUTPUT«4964021155800033093474372000» | ||
TimToady | the basic problem is that 794243384928000 is likely too big for rakudo to make a Rat out of | 18:19 | |
since it doesn't do bignum Int yet | |||
lue | pugs: say 49640211558000/33093474372000 | ||
p6eval | pugs: OUTPUT«1.5» | ||
lue | I'm looking at hextime, and trying verify the numbers. | ||
TimToady | rakudo: say 794243384928000.WHAT | ||
p6eval | rakudo ec47f3: OUTPUT«Int()» | ||
TimToady | say 794243384928000+1 | ||
rakudo say 794243384928000+1 | 18:20 | ||
rakudo: say 794243384928000+1 | |||
grr | |||
p6eval | rakudo ec47f3: OUTPUT«794243384928001» | ||
lue | pugs: say 33093474372000/49640211558000 | ||
p6eval | pugs: OUTPUT«0.6666666666666666666666666666666666666667» | ||
TimToady | rakudo: say (794243384928000+1).WHAT | ||
p6eval | rakudo ec47f3: OUTPUT«Num()» | ||
TimToady | see, it's complaining that it can't find Num div Int | ||
because it's faking bigints with Num | 18:21 | ||
lue | ah. Someone should fix that (Python can handle unlimited length integers, no problem...) | ||
TimToady | well, it's specced to work right | 18:22 | |
and pugs still does better in that particular regard | |||
lue | rakudo: say time()/86400 | 18:23 | |
p6eval | rakudo ec47f3: OUTPUT«14660.7570671122» | ||
TimToady | rakudo: say time.WHAT | ||
p6eval | rakudo ec47f3: OUTPUT«Num()» | ||
TimToady | that's also not according to spec | ||
lue | Is Num a sort of failsafe thing, or is there something special as opposed to Int and Float | 18:24 | |
TimToady | Num is float, basically | 18:26 | |
lue | ah. | 18:27 | |
TimToady | though now that I glare at it, it appears someone took the types off of the definition of time(), grr | 18:28 | |
18:28
wolf2k_ubuntu joined
|
|||
lue | Wondering: for the calendar-related commands, could they theoretically include any calendar? | 18:29 | |
TimToady | oh, there it is, it returns an Instant, as it should | 18:30 | |
and Instant is supposed to be a FatRat, if it needs the precision | 18:31 | ||
18:31
cotto_work left
|
|||
TimToady | or maybe internally it's a year's Int TAI seconds plus a Rat64 for offset within the year | 18:32 | |
lue | If I looked up on how calendars are implemented, I'd be happy to spend my time implementing some (Julian, Hebrew, etc.) | 18:34 | |
pmurias | S32-num/rand.t tests if srand(:seed(0)) is different from srand(:seed(1)), does the spec guarante that? | 18:36 | |
18:38
ggoebel joined,
nihiliad left,
payload left
18:39
payload joined
|
|||
lue | rakudo: say 5.fmt('\x') | 18:50 | |
p6eval | rakudo ec47f3: OUTPUT«Could not find non-existent sub &sprintfcurrent instr.: 'perl6;Any;fmt' pc 275216 (src/gen/core.pir:22213)» | ||
lue | alpha: say 12.fmt('\x') | ||
p6eval | alpha 30e0ed: OUTPUT«\x» | ||
lue | alpha: say 12.fmt('{\x}') | 18:51 | |
p6eval | alpha 30e0ed: OUTPUT«{\x}» | ||
18:51
ggoebel left
|
|||
lue | alpha: say 12.fmt('{%x}') | 18:51 | |
p6eval | alpha 30e0ed: OUTPUT«{c}» | ||
lue | there we go (sorta) | ||
18:52
ggoebel joined
|
|||
pugs_svn | r29792 | lwall++ | [S02] bias Instant/Duration types away from Num and towards Rat/FatRat semantics | 18:52 | |
TimToady | last one looks right to me | 18:53 | |
18:53
ggoebel left
|
|||
lue | yes, completely right. (don't know why I typed sorta) | 18:53 | |
TimToady | hmm, thinking about 12.%x as an abbreviation | 18:55 | |
wouldn't interpolate though | |||
lue | YES PLEASE! (did I just shout?) | ||
18:55
ggoebel joined
|
|||
TimToady | $x.%x() seems odd | 18:55 | |
lue | or something short than .fmt('%x'). It doesn't look nice. | 18:56 | |
maybe a hex($calar_here) command? | |||
TimToady | we want real printf formats | ||
lue pretends to know of printf and its formats | |||
ah, I see | |||
maybe... $x.hex , which would just call $x.fmt('%x') . | 18:58 | ||
TimToady | rakudo: say 12.fmt('%04x') | ||
p6eval | rakudo ec47f3: OUTPUT«Could not find non-existent sub &sprintfcurrent instr.: 'perl6;Any;fmt' pc 275216 (src/gen/core.pir:22213)» | ||
TimToady | alpha: say 12.fmt('%04x') | ||
p6eval | alpha 30e0ed: OUTPUT«000c» | ||
lue | see, rakudo doesn't run printf anyway right now :( | ||
TimToady | you almost always want leading 0's | ||
lue is going to rewrite his hexclock code, because it fails... | 19:00 | ||
pugs: say 794243384928000/4096; say 794243384928000/1440; | 19:03 | ||
p6eval | pugs: OUTPUT«193907076398.4375551557906200» | ||
lue | pugs: say 551557906200/193907076398.4375 | 19:04 | |
p6eval | pugs: OUTPUT«2.8444444444444444444444444444444444444444» | ||
lue | ooh, pretty numbers | ||
19:05
payload left
|
|||
lue | pugs: say 794243384928000/65536; say 794243384928000/86400; | 19:06 | |
p6eval | pugs: OUTPUT«12119192274.902343759192631770» | ||
lue | pugs: say 9192631770/12119192274.90234375 | ||
p6eval | pugs: OUTPUT«0.7585185185185185185185185185185185185185» | ||
lue | hooray! I've verified the numbers. Now, to do the math... | ||
19:09
ckruse joined,
ckruse left
19:27
crythias left,
colomon joined,
nihiliad joined
19:30
iblechbot joined
|
|||
lichtkind | lue: hi | 19:32 | |
lue | hello! | ||
colomon | o/ | 19:34 | |
lue | o/ | ||
rakudo: my $y=2010; my $s=$y*365.25*24*60*60; say $s; | 19:35 | ||
p6eval | rakudo ec47f3: OUTPUT«63430776000» | ||
lue | rakudo: say 24*60*60*365.25 | 19:36 | |
p6eval | rakudo ec47f3: OUTPUT«31557600» | ||
19:37
TiMBuS left
19:40
jferrero left
|
|||
lichtkind | lue: dont like secrecy? :) | 19:44 | |
lue | nah, just didn't see much need for private chat anymore. | 19:45 | |
lichtkind | lue: you just didn't know what big secrets you would get told if you didn't close that winow :) | 19:47 | |
19:47
justatheory left
|
|||
lue | Noooo! Please, please, open it again! I won't close it this time! PLEASE!!! | 19:47 | |
lichtkind | hahaha :) | 19:49 | |
lue | PPPPPPPP | ||
LLLLLLLLL | |||
EEEEEEEEE | |||
AAAAAAAAA | |||
SSSSSSSSs | |||
EEEEEEEE | |||
lichtkind | lue: its allright, life does never cheat on you :) | 19:50 | |
lue: what your interested in? | 19:51 | ||
lue | I'm using it | ||
lichtkind | lue: what you are using? | ||
lue | PowerBook G3 Pismo, circa before 2000, running Fedora Linux 12 | ||
rakudo: say DateTime(); | 19:54 | ||
p6eval | rakudo ec47f3: OUTPUT«Could not find non-existent sub &DateTimecurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: say datetime(); | 19:55 | |
p6eval | rakudo ec47f3: OUTPUT«Could not find non-existent sub &datetimecurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lichtkind | lue: i mean in what part of perl 6 are you interested in :) | ||
lue | rakudo: say calendartime(time()); | ||
p6eval | rakudo ec47f3: OUTPUT«Could not find non-existent sub &calendartimecurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | lichtkind: whatever I'm into atm. Right now it's time (if you can't tell) | 19:56 | |
it was at one point custom ranges, and then ≤ to mean <= and so on | |||
alpha: say calendartime(time()); | 19:57 | ||
p6eval | alpha 30e0ed: OUTPUT«Could not find non-existent sub calendartimein Main (file src/gen_setting.pm, line 324)» | ||
lue | pugs: say calendartime(time()); | ||
p6eval | pugs: OUTPUT«*** No such subroutine: "&calendartime" at /tmp/vDXiqreG0d line 1, column 5-25» | ||
lue | litchkind: yesterday it was superpositions and the Explosion Principle. | 19:58 | |
19:58
patspam left
|
|||
lichtkind | lue: please explain, you mean junctions? | 20:00 | |
lue | yes. I prefer the term superpositions (to keep in line with quantum physics :) ). | 20:01 | |
superpositions – erm, junctions – are perfect for things like Schroedinger's Cat | |||
litchkind: anything to do in the wiki? I'm looking, but can't seem to find anything needing to be done... | 20:03 | ||
std: say datetime() | 20:07 | ||
p6eval | std 29792: OUTPUT«Undeclared routine: 'datetime' used at line 1ok 00:01 107m» | ||
lue | std: say Temporal.datetime() | ||
p6eval | std 29792: OUTPUT«Undeclared name: 'Temporal' used at line 1ok 00:01 105m» | ||
TimToady | STD refuses to believe in Temporal:: | 20:08 | |
lue | anywhere I can get a readout that's NOT the Unix Epoch – erm, TAI | ||
TimToady | readout? | 20:09 | |
the problem seems underspecified... | |||
lue | ex. June 7th, 2009 12:30:23 instead of 1266582374.34829 | ||
TimToady | hmm | ||
alpha: say localtime() | 20:10 | ||
p6eval | alpha 30e0ed: OUTPUT«Could not find non-existent sub localtimein Main (file src/gen_setting.pm, line 324)» | ||
lue | theoretically, it's possible to derive it from the epoch, but that's bloody difficult to figure out. | ||
(considering you have 5 unknown variables) | |||
lichtkind | TimToady: we currently revamp the perl 6 wiki, would you please tell me in your own words what STD.pm is? | ||
TimToady | the Standard Perl 6 grammar | 20:11 | |
it's more or less part of the specs | |||
lichtkind | TimToady: can it be called a parser? | 20:13 | |
20:15
bob818 joined
|
|||
lue | (looks like I found something in Rakudo to work on: time) | 20:15 | |
lue is gonna use sed to try and find where time is... | 20:17 | ||
TimToady | yes, it can be used as a parser when translated gimme5 | 20:18 | |
that's what std: is running | |||
20:21
nihiliad left
|
|||
lichtkind | TimToady: thank you , can there be said more about this or is there some document you can refer to? | 20:22 | |
lue | bleh. Not so much as a Temporal.pir anywhere. Obviously, no one gave two shakes about time. | ||
PerlJam | lue: src/setting/Temporal.pm | 20:27 | |
(from alpha) | |||
It's just not brought into master yet | 20:28 | ||
lue | there is no setting folder in master. | ||
alpha: say datetime() | |||
p6eval | alpha 30e0ed: OUTPUT«Could not find non-existent sub datetimein Main (file src/gen_setting.pm, line 324)» | ||
lue | alpha: say DateTime() | ||
p6eval | alpha 30e0ed: OUTPUT«Could not find non-existent sub DateTimein Main (file src/gen_setting.pm, line 324)» | ||
lue | Bleh. It should all be reimplemented anyway. | 20:30 | |
20:30
Chillance left
20:31
Chillance joined
|
|||
lichtkind | TimToady: hope you dont mind www.perlfoundation.org/perl6/index....larry_wall | 20:36 | |
lue | rakudo: say time; | 20:37 | |
p6eval | rakudo ec47f3: OUTPUT«1266697483.99857» | ||
lue | where is time defined in master? hm | 20:38 | |
colomon | lue: you need to get a program called ack. | 20:40 | |
Then you can cd to the src directory and say ack -w time and get a list of every place the word time appears in the source code. | 20:41 | ||
20:41
masak joined
|
|||
lue | sure it's not awk? :) | 20:41 | |
colomon | It is absolutely sweet for this sort of thing, I use it a dozen or more times a day. | ||
lue: I'm sure it's ack, because I mistype it awk once a day and it never works when I do that. :) | 20:42 | ||
lue | alright, will get it. | ||
colomon | Actually, now I mostly use it in a nice wrapper in a TextMate , but that won't help you in Linux. | ||
PerlJam | lue: cpan App::Ack # install it from CPAN | 20:43 | |
lisppaste3 | colomon pasted "ack -w time" at paste.lisp.org/display/95326 | ||
PerlJam | lue: apt-get install ack-grep # if you're on ubuntu | ||
20:45
TSa joined
|
|||
masak | GGE now does lookarounds, and passes/todos 750 tests! | 20:47 | |
colomon | \o/ | 20:50 | |
masak | maybe I should focus on the named-regex/grammar functionality, next rather than goals. | ||
with grammars, I can make GGE parse Perl 6 :) | |||
TimToady | lemme know when you can run STD :) | 20:51 | |
masak | heh :) | ||
lue | ah, it's in old/settings/Temporal.pm | 20:52 | |
20:52
uniejo left
|
|||
masak | I implemented <after ...> in GGE, the way PGE does it. PGE does some really funky stuff there, even for PGE. | 20:54 | |
20:55
uniejo joined
|
|||
masak | to its credit, there's a big comment above that method saying "this is not the way it should really be done". :) | 20:55 | |
g'ah, SF++ already has a second version of the E03 code! lastofthecarelessmen.blogspot.com/2...-stab.html | 20:56 | ||
lichtkind | masak: when november runs you get your wiki page :) | 20:57 | |
TimToady: so the article seemd ok to you? | |||
lue | litchtkind: what could I do on the wiki? | ||
eh, lichtkind | 20:58 | ||
masak | lichtkind: november doesn't run? | ||
lichtkind | masak: AFAIK the old save problem still lurks | ||
masak | oh, that. but the site is still running. good. | ||
lichtkind | masak: yes an wiki you cant edit :) | 20:59 | |
masak | that bad? I thought it was only sometimes. | ||
lichtkind | masak: no anytime since weeks, or i wouldnt have switched now to tpf wiki for now :) | ||
masak | lichtkind: sorry about that. I wasn't aware it was that bad. | 21:00 | |
lue | any suggestions on how to get Temporal up and running properly? | ||
lichtkind | masak: that was the reason for asskickin :) | ||
masak | lichtkind: you haven't found any volunteer developers for November, have you? :) | ||
lichtkind | masak: guess your right | ||
masak: currently cleaning up the mess in the tpf wiki | 21:01 | ||
lue: there is is plenty to do just grab a corner your interested in | |||
lue | rakudo: say iso8601 | ||
p6eval | rakudo ec47f3: OUTPUT«Could not find non-existent sub &iso8601current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: say time.iso8601 | ||
p6eval | rakudo ec47f3: OUTPUT«Method 'iso8601' not found for invocant of class 'Num'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: say time().iso8601 | ||
p6eval | rakudo ec47f3: OUTPUT«Method 'iso8601' not found for invocant of class 'Num'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | bah! | 21:02 | |
masak | that's a terrible method name. :/ | ||
lue | lichtkind: OK, will look (although right now I'm focused on Temporal) | ||
just look in src/old/settings/Temporal.pm | |||
I'd like to put Temporal somewhere other than old/settings if and when I fix it, btw | 21:03 | ||
colomon | masak: I think SF had an advantage of already having a working (?) program, so easier to incorporate good ideas from you quickly. | 21:07 | |
masak | colomon: aye. I'll remember that when we do E04 :) | 21:12 | |
lue | It really isn't clear where the time used in master is defined (it doesn't seem to be old/settings/Temporal.pm) | 21:13 | |
rakudo: say Temporal.time | 21:17 | ||
p6eval | rakudo ec47f3: OUTPUT«Could not find non-existent sub &Temporalcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: say Temporal::time | ||
p6eval | rakudo ec47f3: OUTPUT«Null PMC access in invoke()current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | rakudo: say Temporal::Time | ||
p6eval | rakudo ec47f3: OUTPUT«Null PMC access in invoke()current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
bkeeler | src/builtins/control.pir:.sub '&time' | ||
lue | almost, not quite. Where is the time command defined is what I'm looking for. | 21:18 | |
bkeeler | Not sure what you mean | 21:19 | |
...and good morning all, by the way :) | 21:20 | ||
masak | bkeeler: \o | ||
bkeeler | o/ | ||
spinclad | o/ | ||
masak | rakudo: say (True & False) ~~ True | 21:22 | |
lue | o/ | ||
p6eval | rakudo ec47f3: OUTPUT«1» | ||
masak | that can't be right. | ||
lue | it is | ||
according to Explosion Principle | |||
masak | please explain. | ||
lue | rakudo: say (True and !True) | ||
p6eval | rakudo ec47f3: OUTPUT«0» | ||
lue | rakudo: say (True and !True) ~~ True | ||
p6eval | rakudo ec47f3: OUTPUT«1» | ||
lue | rakudo: say (True and !True) ~~ False | ||
p6eval | rakudo ec47f3: OUTPUT«0» | ||
masak | I'm still confused. | 21:23 | |
usually explainations help :) | |||
lue | let me get you a couple links... | ||
spinclad | lue: where time is defined: where bkeeler said | ||
masak | lue: I'm so glad you're here. I'm a bit new at this. :) | ||
spinclad | (admittedly it should go somewhere else...) | 21:24 | |
colomon | rakudo: say (True & False).perl | ||
p6eval | rakudo ec47f3: OUTPUT«all(1, 0)» | ||
lue | masak: here's a webcomic explaining it in a nutshell: xkcd.com/704/ . Also search wikipedia for Explosion Principle | ||
spinclad | rakudo: say False ~~ True | ||
masak | lue: I see in the backlog that vi parolas Esperanton. | ||
p6eval | rakudo ec47f3: OUTPUT«1» | ||
21:24
Chillance left
|
|||
masak | o.O | 21:24 | |
lue | masak: not fluently | ||
spinclad | (which is Worng) | 21:25 | |
colomon | alpha: say False ~~ True | ||
p6eval | alpha 30e0ed: OUTPUT«1» | ||
lue | pugs: say False ~~ True | ||
p6eval | pugs: OUTPUT«» | ||
masak submits rakudobug | |||
lue | std: say False ~~ 42 | ||
p6eval | std 29792: OUTPUT«ok 00:01 107m» | ||
masak | can't believe no-one caught this before. | ||
bkeeler | Bonvolu alsendi la pordiston? Lausajne estas rano en mia bideo! | ||
21:26
devinus joined
|
|||
bkeeler | That's the only Esperanto I know... | 21:26 | |
lue | According to Explosion Principle, Perl6 is right :) | ||
masak | bkeeler: :) | ||
spinclad | Rano, ek! | ||
bkeeler | I like frogs | ||
spinclad | ekiru, mi diras! | ||
masak | bkeeler: that's "laŭŝajne", but otherwise fine. | ||
lue | rakudo: say (True && !True) ~~ True | 21:27 | |
p6eval | rakudo ec47f3: OUTPUT«1» | ||
lue | (geez, I know almost no Esperanto. You make me feel bad :) ) | ||
masak | lue: there's still time to learn before the Fina Venko! :P | ||
bkeeler | I heard the first frog of the year just yesterday in fact. In a few weeks my pond will be teeming with them, singing all evening | 21:28 | |
masak | bkeeler: but not your bidet? | ||
21:28
k23z__ joined
|
|||
devinus | i'm not trying to be a troll--i'm genuinely curious since i can't find anything recent through a google search--what are the current estimates for when perl 6 will be "ready" ? | 21:28 | |
bkeeler | Preferably not, though if they took time to install a bidet first I guess I could make an exception | ||
21:28
Brennus joined
|
|||
lichtkind | lue: what you mean by explosion? | 21:28 | |
lue | √ that you know your explosion principle. Yesterday I used it to derive Obama's cell phone number. | 21:29 | |
See the xkcd.com comic I posted a link to for details: xkcd.com/704/ | |||
it's a "in a nutshell" explanation. Here's Wikipedia: en.wikipedia.org/wiki/Principle_of_explosion | 21:31 | ||
lichtkind | devinus: whyt kind of ready you mean? | ||
devinus | lichtkind: as in, "HEY EVERYBODY! HERE'S PERL 6! We encourage you to use it in production environments" or at least an "official release" maybe blessed as such by larry wall or something.... | 21:32 | |
spinclad | devinus: 'ready' for corporate use, with a firm standing by to be sued if it doesn't work? | 21:33 | |
colomon | devinus: current goal is to have an "hey, we've got something cool here" release in April. | ||
lue | my best guess would be Rakudo *, released in April. There is no due date, really :D | ||
lichtkind | devinus: this march/april will come rakudo* | ||
devinus | that's awesome, yeah i read about star on wikipedia | 21:34 | |
lichtkind | devinus: but there are not many modules here yet and its still slow and ram consuming | ||
lue | Rakudo Whatever — I mean Star — is to be released in April ( <-- that was a P6 pun) | ||
masak | devinus: the thing about the 'ready' you're talking about is that nobody knows for sure how long it'll be till that point, but it sure won't hurt to get people enthusiastic and involved in the effort. | ||
lichtkind | devinus: but its considerable stable | ||
devinus: maybe not production ready :) | |||
lue | Bonvenon al Perl6, devinus! | ||
devinus | well that's great | 21:35 | |
lichtkind: i'm guessing the libjit work in parrot hasn't helped the slowness? | |||
masak | I'm sure some brave souls could use Rakudo in production. | ||
lichtkind | devinus: i dont know about that, but yes parrots gets slowly faster :) | 21:36 | |
bkeeler | It's certainly a viable platform for experimenting and writing smallish programs in | ||
lue | I guess I'm a brave soul then :) | ||
bkeeler | I think it's going to be a while before people are writing the next facebook in it | ||
masak | but we'll try to be ready for that. | 21:37 | |
lichtkind | lue: we all are :) | ||
Su-Shee | well for that is just a couple of modules missing and a little more speed. ;) | ||
colomon | a lot more speed... :) | ||
bkeeler | what colomon said | ||
lue | When Rakudo * comes out, we should all shout "Saluton mondo! Bonvenon al Perl6!" (please tell me I got that right) | 21:38 | |
masak | lue: you got that right. | ||
lue | superluminal speed is our goal, actually. R* will be so good, it'll run at superluminal speeds even if your hardware can't run that fast! | ||
colomon | Mind you, we're making strides -- master is better than twice as faster as alpha at running the master test suite. | ||
*fast | 21:39 | ||
lue | I motion to rename Master to Doctor (that way I won't get creeped when you say things like "The Master test suite") | ||
masak | lue: I motion you write some Perl 6 instead of squabbling over labels :) | 21:40 | |
bkeeler | I'd like to spend some time with the Romana branch myself ;) | ||
lue | Romana? Not familiar (I don't want to use the Majora branch, ever *shudder*) | 21:41 | |
bkeeler | She was one of Doctor Who's companions | 21:43 | |
img.photobucket.com/albums/v21/volk...--5h05.jpg | |||
colomon | I'm already using Rakudo for some light production work here. If it keeps doubling in speed every three months, it will be fine in a year or so.... | ||
masak | lue, bkeeler: you're both pretty new here. how did you two get involved with Perl 6 and #perl6? if you don't mind me asking -- I'm interested. | 21:44 | |
bkeeler | I've been lurking on the lists for ages | ||
Su-Shee | colomon: I just shoved aside some old code and modularized it so that I can do the first p6 module in production. | ||
lue | masak: I was programming an NES emulator in Python3, when I got tired of not having pointers and switch statements... | 21:45 | |
colomon | Su-Shee: \o/ | ||
bkeeler | And been a perl programmer in one form or another since....oh, '91 I think | ||
lue | masak: ...So I found Perl. I found Perl 5 a bit too different from most languages, hence Perl 6. The End. | ||
masak | lue: Perl doesn't have pointers either. | ||
bkeeler | I just got fed up of missing all the good chatter on #perl so I got off my ass and installed an IRC client this week | ||
lue | *cough* references | ||
masak | lue: and Perl 5 doesn't have switch statements :) | ||
lue: I thought they were called references because they're safer than pointers. | 21:46 | ||
bkeeler: but you're aware that this is #perl6, right? :P | |||
bkeeler | Yeah, typoed that heh | ||
masak | oh, ok. | ||
bkeeler | Been following the perl6 development since the apocalypse days | 21:47 | |
lue | Whatever it is. I need to be able to point to the same number in the same byte of memory in two different spots in a list. | ||
21:47
Brennus_ joined,
Brennus_ left
|
|||
lue | ex. , @rray[0] and @rray[3] would both point to 0xDEADBEEF in memory. | 21:48 | |
masak | bkeeler: oh! then you've probably been paying attention longer than I have. | ||
21:48
mberends joined
|
|||
masak | mberends: oh hai! GGE now does lookarounds! | 21:48 | |
spinclad | \o/ | ||
bkeeler | Limited attention. I've been paying more and more attention the closer rakudo gets | 21:49 | |
masak | so have I, I guess. | ||
but I was active-ish during the Pugs days, the Golden Age. :) | |||
lue | \o\ \o\ |o| Saluton, mberends! |o| /o/ /o/ | ||
bkeeler | I could be approaching some sort of attention singularity when Rakudo * comes out, #perl6 could be wiped out my a supernova of my presence | ||
colomon | bkeeler: I got hooked when they told me that here-strings would get the indent level of their command. think it was around 2004 or so. | 21:50 | |
lue | I was hooked at references and switch statements :) | ||
masak | bkeeler: I think we're willing to take the risk :) | ||
bkeeler | I think the big turning point for me was reading A05 and E05 | ||
colomon | but after the initial thrill of pugs I didn't think much about p6 for a few years. | ||
lue | Hi, i'm lue, and I'm a P6 addict. On occasion I use R* | ||
bkeeler | It took me ages to get my jaw up off the floor | 21:51 | |
mberends | Masak: wow! Just playing with IRC on new android phone : | ||
masak | funny how people got hooked by individual features. I think I got hooked by the project as such. I want to be a Perl 6 pioneer and use as much of the new language as I can. :) | ||
mberends: oh, cool. | |||
Su-Shee | mberends: junkie. ;) | ||
mberends | Heh | ||
lue feels glad he comes at the tail-end of P6 development, instead of starting at the beginning | |||
PerlJam | lue: why? | ||
lue | I didn't have to wait forever :D | 21:52 | |
masak | lue: how do you know it's the tail-end? :P | ||
bkeeler | *grumble*grumble* want an android phone so bad *grumble*grumble* locked into Sprint contract for another 18 months *grumble*grumble* | ||
PerlJam | it's not the tail | ||
lue | I mean the coming of R* | ||
mberends | Gotta go, talk 2morrow | ||
masak | mberends: \o | ||
PerlJam | well, it is the tail, but it's a really long tail ;) | ||
colomon | o/ | ||
lue | \o\ \o\ Goodbye, mberends /o/ /o/ | ||
masak | lue: honestly, R* is mostly here already. it's basically alpha + laziness as far as I'm concerned. | 21:53 | |
hm, pmichaud and jnthn might disagree :) | |||
bkeeler | Yeah | ||
lue | yeah, good thing ng turned into the doctor branch, right? | ||
bkeeler | Grammars and s/.../.../ are what I'm really waiting on at this point | ||
PerlJam | masak: having protos is significant too | ||
masak | PerlJam: oh, the regexes? yeah. | 21:54 | |
PerlJam: but it hasn't reached the Rakudo user yet, only the implementors. | |||
bkeeler | My first try at using rakudo for $work was when I needed a parser for an oddball file format | ||
Didn't work out with alpha when I tried it. Got bogged down with the larger parse input I fed it | |||
Su-Shee | I earned money with perl 6 in 2003. ;) | ||
bkeeler | I'll dust that code off when master gets grammars | 21:55 | |
colomon | grammars are going to be awesome. | ||
pretty much are awesome already. | |||
PerlJam | Su-Shee: you traded on its name? | ||
bkeeler | See if it works any better | ||
lue | you procured monetary goods for a paradigm of microcomputer programming? wow! | ||
masak | bkeeler: nopaste it here, and we'll help you optimize it :) | ||
Su-Shee | PerlJam: I wrote an article about it, sure the hype coming tomorrow. ;) | 21:56 | |
bkeeler | I'll see if I can do that Monday when I go in | ||
PerlJam should get more interested in writing articles for money | |||
bkeeler | Well, I guess I could VPN in | ||
PerlJam | more money is always good :) | ||
bkeeler | What the heck | ||
lue | I have ascertained that Su-Shee's paradigm is an excellent receiver of monetary goods :) | 21:57 | |
lue is using fancy words for comedic effect | |||
Su-Shee | PerlJam: I'm writing on and off about open source stuff since '97. | ||
PerlJam | lue: It's not working. ;) | ||
21:57
uniejo left
|
|||
lue | The joke is that I look like a jerk :D | 21:57 | |
The comedic effect is that I am to be perceived as a neer-do-well | 21:58 | ||
21:59
Brennus left
22:00
mberends left
22:01
Brennus joined
|
|||
lue | rakudo: $p=True|False; say ($p and !$p) ~~ True; # you thought I confused you before :) | 22:01 | |
p6eval | rakudo ec47f3: OUTPUT«Symbol '$p' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
lue | rakudo: my $p=True|False; say ($p and !$p) ~~ True; # you thought I confused you before :) | ||
p6eval | rakudo ec47f3: OUTPUT«1» | ||
masak | lue: that one's different. :) | ||
lue | rakudo: my $p=True&False; say ($p and !$p) ~~ True; # you thought I confused you before :) | 22:02 | |
p6eval | rakudo ec47f3: OUTPUT«1» | ||
lue | rakudo: my $p=True^False; say ($p and !$p) ~~ True; # you thought I confused you before :) | ||
p6eval | rakudo ec47f3: OUTPUT«1» | ||
masak | with junctions, all('bets', 'are', 'off'); | ||
Brennus | excuse me, I'm confused by perl6advent.wordpress.com/2009/12/0...ng-rakudo/ | ||
lue | \o/ | ||
masak | Brennus: how can we help? | ||
lue | with junctions, any('thing', 'goes'); | ||
PerlJam | Brennus: What OS are you on? Do you have both git and svn? | 22:03 | |
Brennus | the 3rd code snippet says say [+] (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } ); | ||
masak | yes? | ||
rakudo: say [+] (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } ); | |||
p6eval | rakudo ec47f3: OUTPUT«Confused at line 11, near "say [+] (1"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | alpha: say [+] (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } ); | 22:04 | |
Brennus | see? | ||
masak | Brennus: yes. | ||
p6eval | alpha 30e0ed: OUTPUT«233168» | ||
masak | Brennus: sorry about that. we just did a switch. | ||
PerlJam | Brennus: the "new and improved" rakudo still has a few things to bring over from alpha | ||
masak | Brennus: if you want all of the features in the Advent Calendar, you should go with the January release. | ||
Brennus | oh ok | ||
masak | Brennus: the release announcement says as much. | ||
colomon | and [+] is a prime example of what hasn't come over yet. | ||
Brennus | seems kinda major | 22:05 | |
colomon | rakudo: say (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } ).reduce({$^a + $^b}) | ||
p6eval | rakudo ec47f3: OUTPUT«233168» | ||
lue | /o\ my bwain huwts | ||
masak | Brennus: well, things have been taken apart completely, and they're not back together completely yet. | ||
bkeeler | There are a few major features missing, but there are also a few major new features that we're in the old release | 22:06 | |
masak | Brennus: you're witnessing the exciting end of the biggest Rakudo refactor to date. :) | ||
Brennus | :) | ||
colomon | All the guts are there for the example, we just don't have the shortcut [+] for it. | ||
bkeeler | s/we're/weren't/ | ||
lue | Or a decent Temporal | ||
rakudo: say 1..* | 22:07 | ||
Brennus | that will be easy, right? it's just a rule | ||
p6eval | rakudo ec47f3: ( no output ) | ||
masak | lue: did you take a look at the Temporal overhaul I almost finished? | ||
lue | what!? erm... no. | ||
colomon | Brennus: you mean [+]? We want a good general implementation, and the grammar for it is pretty tricky. Else I would have implemented it already. :) | 22:08 | |
lue | what do you do when you're not here? We were discussing it for half the day today! | ||
masak goes for links | |||
lue: yes, I saw that. | |||
Brennus | ok thx | ||
lue | We also need to be able to divide things like: | ||
22:09
justatheory joined
|
|||
lue | 12318243913517385139045318/1345834591243841 #this wouldn't work | 22:09 | |
masak | lue: github.com/masak/temporal-flux-perl...mporal.pod | ||
22:09
devinus left
|
|||
lue | \o/ | 22:10 | |
masak | lue: it has a number of things I like. particularly very nice constructors. I also implemented most of them in a fork of Rakudo. never got to merging it, though :/ | ||
PerlJam | masak: now is a good a time as any :) | 22:11 | |
masak | yes. | ||
been thinking about joining the fray at p6l. :) | |||
colomon | masak: Don't do it! Save yourself! | ||
masak .oO( so many Perl 6 subprojects, so little time... ) | |||
Brennus | rakudo: say 12318243913517385139045318/1345834591243841 #this wouldn't work | 22:12 | |
p6eval | rakudo ec47f3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 304713 (src/gen/core.pir:32847)» | ||
lue | masak: merge your Temporal fix! Save the Doctor! DESTROY THE REALITY BOMB!!! | ||
lue got carried away | |||
masak | lue: sure, but my laptop battery is running out... | ||
lue | no no no no no no no no no no no no no no no no no no no no no no no no no no no no | 22:13 | |
I use: Principle of Explosion. | |||
PerlJam | colomon: how is the grammar for [+] any trickier in master from how it's implemented in alpha? | ||
lue | LUE uses Principle of Explosion to derive battery power. | ||
LUE gives derived battery power to MASAK | |||
bkeeler | Don't use it masak | 22:14 | |
masak | I kinda wish that would have worked. | ||
bkeeler | Could be dangerous | ||
22:14
johnz left
|
|||
masak | ya think? | 22:14 | |
lue | I've derived it to be safe! | ||
bkeeler | You've heard of exploding laptop batteries, no? | ||
colomon | PerlJam: Master cheats and just generates a separate [+], [*], etc, operator, for each infix operator. | ||
PerlJam | colomon: oh, that's right. I remember that. | ||
colomon | doing it right is a lot more funky. | 22:15 | |
lue | colomon: would a circumfix [] possibly do any good? (then see what operator is inside, and so on) | 22:16 | |
22:18
justatheory left
|
|||
masak | lue: the thing about logic is that it's not very interesting once you introduce a contradiction. the whole 'any thing can be proved given P&!P' thing is just a way of demonstrating that. if the whole world is pink, it's hard to tell things apart. | 22:19 | |
22:20
TSa left
|
|||
masak | losing power... must find outlet... | 22:20 | |
lue | masak: ah, your a believer of reductio ad absurdum | ||
22:20
masak left
|
|||
colomon | lue: The STD.pm version of the grammar is the way to go, I think -- but I find it completely incomprehensible. | 22:22 | |
afk | |||
lue | why can't we just take STD.pm and turn it into pir code? (it's pretty lazy, but...) | 22:23 | |
(and it probably doesn't work like that...) | |||
bkeeler | The NQP-rx grammar engine isn't quite up to parsing STD yet I think | ||
And translating it by hand into pir would be anything but lazy! | 22:24 | ||
Once we get grammars in rakudo directly it might get easier | 22:25 | ||
lue | how on earth would P6 ever support itself I wonder...? It would be cool when it happens though. | ||
bkeeler | though I don't know if/when we're actually planning on porting the compiler itself to run perl6 instead of NQP | ||
I suspect it will be a more incremental approach. I think for ng they started with the NQP grammar and evolved it towards STD | 22:27 | ||
lue | a self-supporting programming language is the ultimate in cross-platform! (P6 running P6) | 22:28 | |
bkeeler | Bootstrapping a new compiler is one of the most fascinating things to do in CS I think | 22:29 | |
Very interesting process | |||
I remember in University discovering that C compilers were written in C and brain nearly exploded :) | 22:30 | ||
lue | makes complete sense to me :D | 22:31 | |
with all the power of P6, maybe someday one can compile it into machine-specific assembler (like C++ does)... \o/ | |||
That's how I'd do it: write P6 in P6, then have a script thing turn it into assembler (PIR or machine-specific, idk) | 22:33 | ||
bkeeler | Of course, at that time I was reading Hoffstadter's book and was getting used to having my mind blown | 22:34 | |
PerlJam | lue: that's kind of what happens | ||
22:35
vamped joined
|
|||
lue | blowing people's minds is my hobby! \o/ Especially when it comes to time/time travel >:) | 22:35 | |
bkeeler | paradoxes are fun | ||
vamped | hello Perl6 | ||
bkeeler | heyas vamped | ||
PerlJam | greets vamped | ||
vamped | lue: did you see my solution in the backlog? | ||
lue | Saluton, vamped! Bonvenon al #perl6! | 22:36 | |
solution to what? | |||
vamped | infix <= | ||
lue | ah. Haven't looked yet. (must check later) | ||
vamped | works in alpha, but not master for some reason | 22:37 | |
22:37
iblechbot left
|
|||
Brennus | There are CPU sets that run LISP why not perl? | 22:37 | |
22:38
devinus joined
|
|||
bkeeler | A perlm! That's what we need | 22:38 | |
Brennus | should be possible with microcode? | ||
lue | when I get masak's Temporal fix, I can write my hexdate/time converter and upload everything! \o/ | ||
22:41
Chillance joined
|
|||
lue | The perlm should be called a psalm (Perl Sudden Assembler - Light Memory) | 22:41 | |
Brennus | hehe | ||
lue | Rakudo isn't a JIT compiler; it's a AFME (A Few Minutes Early) compiler. :D | 22:42 | |
lue brought to you by FWAI (Fun With Acronyms International) | |||
Brennus | should i be testing this release or the relatively stable one? | 22:45 | |
lue | whichever you want to use. We're working on the master branch right now, though. | 22:46 | |
22:46
pmurias left,
Su-Shee left
|
|||
PerlJam | if you're working through the advent calendar it may be best to use the Jan release. All of those features will soon be in master, but they aren't all there yet | 22:48 | |
Brennus | like how soon? | 22:49 | |
lue | The year 20XX :D | 22:50 | |
PerlJam | um ... Real Soon ? | ||
Brennus | Well, no hurry I suppose | ||
PerlJam | Certainly before April since that's when we release Rakudo * | 22:51 | |
Brennus | for sure? | ||
lue | yes, or else we can be sued for false advertisement (!) :) | 22:52 | |
bkeeler | It sounds ambitious, but I've been nothing short of amazed at the pace these guys maintain | ||
frettled | And if it's not ready by April, I want my money back! :D | 22:54 | |
Brennus | probably some of you want your hair back | ||
lue | ...yeah :/ | 22:55 | |
Brennus | anyone here play weiqi? | 22:56 | |
lue | what's weiqi? | 22:57 | |
Brennus | go | ||
baduk | |||
bkeeler | Mornington Crescent! | 22:59 | |
Brennus | I wrote a client for the internet go server with cocoa & camelbones | ||
bkeeler | Ooh, hadn't heard of camelbones. Looks interesting | 23:01 | |
Brennus | it works fine but it is a major PITA to debug | ||
lichtkind | hereby i solemnly declare, the perl 6 wiki frontpage is now free of clutter | 23:02 | |
Brennus | you can't get any of the perl messages, or at least I haven't figured out how to | ||
it just has to work when you run it | |||
else the whole thing dies with a useless message | 23:03 | ||
frettled | bkeeler: that announcement was a bit premature, I think you've forgotten the rules change introduced by Warwick in 1952. | ||
(oops, typo, 1852) | |||
bkeeler | Ah yes, you're quite right Sir, my apologies | 23:04 | |
Picadillly Circus! | |||
frettled | I just passed Uxbridge. | 23:05 | |
bkeeler | Hmmm... | 23:06 | |
Ealing Common | |||
frettled | I wonder if this is too obscure, maybe we should head for Finchley Central instead. | 23:08 | |
bkeeler | Odd move | ||
Aha, I see what you're up to | 23:09 | ||
frettled taps the side of his nose meaningfully. | |||
bkeeler | Going to try the ol Jubilee line gambit are we? | ||
23:09
wolf2k_ubuntu left
|
|||
bkeeler | Well, I'll have to backtrack a bit | 23:09 | |
frettled | Oh, no, you're not getting me to reveal my plan, that's against the Mornsborough Principle. | ||
bkeeler | Embankment! | ||
frettled sucks his breath. | |||
Well played, sir, well played. | 23:10 | ||
Well, you nearly got me at Hammersmith, but I'm actually at King's Cross now. | 23:12 | ||
lue | Objection! | 23:13 | |
frettled | Pardon? | ||
lue doesn't know this game | |||
frettled | Well, that's hardly a excuse, is it? According to Lyttelton, a lack of knowledge of the rules is no excuse at all. | 23:14 | |
bkeeler ponders feinting toward Leicester Square, but reconsiders | |||
lue | Verily, Sir. Ergo! | ||
I beg pardonage | |||
bkeeler doffs his hat at the mention of the great man | 23:15 | ||
bkeeler realizes he's not actually wearing a hat and dons one so he can doff it | 23:16 | ||
lue | Rickmansworthshiretown says that the game is not to be underestimated. | ||
bkeeler | Hmm, I think I'll try Leicester Square after all | 23:17 | |
If I lose I can always take in a show | |||
frettled | Very well, then. Camden Town. | ||
bkeeler | Oof! | ||
Oh dear, got myself trapped on the wrong line again | |||
frettled | A-ha1 | 23:18 | |
s/1/!/ | |||
bkeeler | Oh well, I have no choice but to retreat back to Piccadilly, dammit | ||
frettled | Hah, got you! Mornington Crescent. I'll buy you lunch at the Ministry when you get here. | 23:19 | |
bkeeler | Well played, well played | ||
frettled | It was a nice game, to be sure! | 23:23 | |
23:24
jferrero joined
|
|||
lue | is it over, the game? | 23:24 | |
bkeeler | Fraid so, he got there before me | ||
lue | good. | 23:25 | |
frettled | lue: If you find a decent antique bookshop, maybe you can pick up Stovold’s Mornington Crescent: Rules and Origins, or more likely, The Little Book of Mornington Crescent by Tim, Graeme, Barry and Humph. | 23:26 | |
books.google.com/books?as_isbn=0752818643 | 23:30 | ||
Brennus | cute | 23:33 | |
lue | any of you ever been on ifMUD? | ||
bkeeler | Haven't played any muds since the early nineties | 23:34 | |
lue | haven't been on ifMUD for a while, thinking of maybe getting back into it... | 23:35 | |
Brennus | i played in a couple of vampire games at CMU & Manchester | ||
frettled | lue: nopes, sorry, I haven't played any of the new muds. | ||
Brennus | the CMU was really detailed around CMU (naturally) | 23:36 | |
lue | yeah, just seeing if anyone had (must ask later as well) | ||
frettled | I think the most recent MUD I played was ZombieMUD or something like that, but maybe Medieval Nights was more recent. | ||
I'm still socializing on VikingMUD, though, and I'm thinking about how to plan for the 20-year anniversary. | 23:37 | ||
23:38
Brennus left
23:53
vamped left
23:57
snarkyboojum left
|
|||
lue | ...hello hello | 23:58 |