-Ofun: xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6 Set by apple-gunkies on 11 November 2005. |
|||
nothingmuch | geoffb: pong | 00:26 | |
geoffb waggles his eyebrows: | |||
: BETWEEN DO I . LOOP ; | 00:27 | ||
OK | |||
10 0 BETWEEN | |||
0 1 2 3 4 5 6 7 8 9 OK | |||
It bloody works | |||
FINALLY | |||
wolverian installs goo | |||
geoffb | I figured you might appreciate that, nothingmuch :-) | 00:28 | |
nothingmuch | ouch | 00:34 | |
nothingmuch didn't want to implement do/loop | |||
begin/while were working so well that I thought they were enough ;-) | |||
geoffb | :-) | 00:35 | |
nothingmuch | anyway, sleepy time | ||
geoffb | do/loop are actually quite a pain | ||
g'night | |||
00:48
f0rth_ is now known as forth
|
|||
Alias_ | autrijus: ping? | 00:51 | |
autrijus | Alias_: pong | 00:54 | |
Alias_ | You are on the list of "naughty presenters that haven't registered for OSDC" | ||
Wanna go register, and I'll confirm you to the mailing list | |||
autrijus | but I already did! | ||
Alias_ | ok, will let them know | 00:55 | |
autrijus | danke | ||
01:01
Lopo_ is now known as Lopo
|
|||
Alias_ | autrijus: There are no records of you registering, please re-register | 01:01 | |
Khisanth | would setting ghc_heap_size to 200m be ok? | 01:04 | |
autrijus | Alias_: that can't be :/ | ||
a sec | |||
Alias_: I fwd'ed you the system mail | 01:05 | ||
Alias_ | ok | 01:06 | |
autrijus | (I finished the registration upon receiving Scott's prodding, so that's within 1 hour) | ||
maybe it takes some time to propagate? | 01:07 | ||
Alias_ | So it's done in the last hour? | 01:08 | |
geoffb | Hey, autrijus, welcome back! | ||
stevan | autrijus: ping | 01:47 | |
Alias_ | autrijus: osdc list says thanks | ||
svnbot6 | r8049 | fglock++ | * misc/Parser-Mini/parser.p6 - 'pugs parser.p6 parser.p6' works | 01:56 | |
stevan | fglock++ # very nice | 01:57 | |
fglock | stevan: that was the easy part | ||
integrating with the runtime looks really tough | 01:58 | ||
stevan | fglock: I started some of that with the Perl6-ObjectSpace work | ||
fglock | I was reading it other day - maybe I can use that as a starting point | 01:59 | |
stevan | look at the metamodel implementation | ||
fglock | but I'm trying to program in p6 instead of p5 | ||
stevan | hmmm | ||
thats trickier,.. | |||
although I suppose the P6ObjectSpace could be ported to a simplified version of p6 | 02:00 | ||
that was one of the things autrijus and I talked about | |||
fglock | I think I'll not use pugs's objects - maybe something like perl5/Perl6-Container, but in p6 | 02:01 | |
stevan | fglock: we could program like it was the late 70s, and use ADTs and modules :) | 02:02 | |
p6objectspace is based on your p6 container work too | |||
I tried to determine the smallest set of "things" I would need to create the metamodel | 02:03 | ||
fglock | does parrot need a metamodel? it already handles objects | 02:06 | |
stevan | I am not sure the Parrot object model will support all the features that p6 needs | ||
not to mention ruby, python, etc | |||
I think it can serve as a base, but there will need to be a metamodel atop it for each language | |||
leo | fglock: parrot should support a lot of p6 objects (it's designed for it) | 02:07 | |
stevan | leo: what about roles? | ||
leo | that's up to the compiler (+ parrot to put parts together probably) | 02:08 | |
stevan | leo: yes, that is what I was thinking,.. but we will need some runtime support for roles as well | ||
do you envision the p6 runtime to be purely parrot? | 02:09 | ||
leo | sure - we need some more interface defintion, which isn't there yet, I think | ||
stevan | so there will be no p6 runtime, it will all be compiled down to parrot then | 02:10 | |
fglock | p6 = compiler + runtime. It looks like we can have a very simple parser if the runtime is "fat" enough. | ||
the division between compiler and runtime is not much clear to me | 02:11 | ||
leo | different parts will compile down to different levels (a lot to parrot) | ||
stevan | my concern is that without a p6 runtime which lives on top of Parrot, we will not have the enough object reflection and introspection capabilities | ||
leo | there is for sure a p6 runtime too | ||
stevan | oh,.. ok :) | ||
but implemented on parrot (PIR, PMC, or some other 3 letter acronym) | 02:12 | ||
leo | it's just a problem of: how much does the compiler know about the runtime and then use that | ||
stevan | I always saw the compiler as doing a lot of "desugaring" of the more complex p6 syntax | 02:13 | |
and then the runtime would not need bear that complexity | |||
leo | sure, but you can desugar down to SKI or some such | ||
stevan | SKI? | ||
leo | en.wikipedia.org/wiki/Unlambda | 02:15 | |
also in parrot languages | 02:16 | ||
stevan | this would fit nicely with my idea of a metamodel in pure lambda calc | ||
leo | yes but you might have a look at execution times ;-) | 02:17 | |
stevan | :) | ||
leo: I stumbled on this recently, it might interest you : www.coyotos.org/docs/bitc/spec.html | |||
it is a scheme like dialect which is meant to be as low level as C | 02:18 | ||
might be an interesting parrot language | |||
leo | such theories and abstractions are really nice, but run some benchmarks with the abstract model | ||
stevan: BitC has a formal semantics, static typing, ... | 02:20 | ||
that's neither perl6 nor parrot nor other clients of parrot | 02:21 | ||
stevan | yes, but could parrot support it possibly? | ||
or is that low-level of access not possible | 02:22 | ||
stevan is not very familiar with parrot past the mailing lists and O'Reilly books | |||
leo | when ypu compile down that low-level you are at c-- or assembler or such | 02:23 | |
stevan | ah,.. okay | ||
leo | parrot with objects, closures, continuations, exceptions, ... and unicode string support is far above that low-level stuff | 02:24 | |
stevan | true :) | ||
fglock | translating p6 runtime to Parrot looks like a good idea, but I wonder how difficult it would be to maintain it | 02:25 | |
stevan | hmmm,,.. trying to sync two moving targets at once,.. | ||
leo | well, we are always trying to have a stable PIR interface, but we aren't at 1.0 yet | 02:26 | |
stevan | leo: the movement of the p6l end is more the problem at this point | 02:27 | |
leo | OTOH and e.g. I wrote a PIR presentation program for YAPC::Paris, which still is running (ok - after chaning one line) | ||
stevan: exactly | 02:28 | ||
stevan | the movement on that end makes even slight movements on the parrot end seem bigger | ||
leo | p6l should take a freeze, really | ||
stevan | :) | ||
leo | and define the language, which is necessary to be name 6.00 | ||
stevan thinks maybe language design is just too much fun | |||
leo | well they can define 6.1.0 then | 02:29 | |
obra | leo: send that to me along with why it'll help you get more work done | ||
leo | or in the meantime | ||
stevan | switch to ruby? | ||
leo | obra: this doesn't parse for me at 3,5 am | 02:30 | |
stevan | obra: you mean to freeze the language design? | ||
fglock | stevan: how about targetting Ruby? Are the runtimes reasonably compatible/fast? | 02:31 | |
stevan | fglock: no, I mean switch from p5 to Ruby for everyday usage | 02:32 | |
Khisanth | hmm | ||
leo | obra: I don't have much problem with it *yet* - pugs has it or any other implementation | ||
Khisanth | ?eval 1 == any( 1, 2, 3, 4 ) | ||
02:32
evalbot_8048 is now known as evalbot_8049
|
|||
evalbot_8049 | bool::false | 02:32 | |
Khisanth | hrm | ||
stevan | fglock: there is a RubyVM out there which presents an interesting target | ||
Khisanth | ?eval 1 eq any( 1, 2, 3, 4 ) | ||
evalbot_8049 | bool::false | ||
stevan | I don't recall the name though | 02:33 | |
Khisanth | ?eval any(1,2,3,4,5) | ||
wolverian | Khisanth, evalbot still has problems with junctions | ||
evalbot_8049 | 1 | ||
stevan | fglock: www.atdot.net/yarv/ | ||
fglock | I mean, emit Ruby from the compiler | ||
Khisanth | wolverian: oh right I think it's always collapsing them or something | 02:34 | |
stevan | fglock: emitting YARV instructions might easier | ||
wolverian | it always takes the smallest value or something like that | ||
what that is in boolean logic don't ask me | |||
?eval 3 > any 2,3,4,5,6 | |||
evalbot_8049 | bool::false | ||
stevan | fglock: the instruction table is quite nice www.atdot.net/yarv/insnstbl.html (only the first 50 are relevant, the rest are optimizations) | ||
wolverian | ?eval 3 > 2,6 | 02:35 | |
evalbot_8049 | (bool::true, 6) | ||
wolverian | erm. | ||
I'll go sleep :) | |||
leo | stevan: have a look at lua opcodes | ||
stevan | leo: no I havent | 02:36 | |
leo | you don't need much indeed | ||
see ya & #bed | 02:38 | ||
stevan | nite | ||
stevan is signing off as well & | 02:39 | ||
fglock | nite all | 02:40 | |
?eval ( 1 == all(1..5) ).values | |||
evalbot_8049 | (bool::false, bool::true) | ||
fglock | ?eval ( 1 == any(1..5) ).values | 02:41 | |
evalbot_8049 | (bool::false, bool::true) | ||
buu | I like how it returns false and true | 03:35 | |
So you can take your pick. | |||
Khisanth | hmm I am glad . will no longer be used for string concat | 03:40 | |
can never be sure if there is a . or if it's dirt on my screen :/ | |||
05:06
Emacs is now known as b00t
06:15
khisanth_ is now known as Khisanth
|
|||
svnbot6 | r8050 | Darren_Duncan++ | r1064@Darren-Duncans-Computer: darrenduncan | 2005-12-01 22:27:11 -0800 | 06:33 | |
r8050 | Darren_Duncan++ | /ext/Rosetta-Incubator : updated Locale::KeyedText version to 1.71.0, as 1.70.0 was released | |||
Khisanth | ?eval my $foo = "foo bar"; my @foo = <<$foo>>; | 08:17 | |
08:17
evalbot_8049 is now known as evalbot_8050
|
|||
evalbot_8050 | ["foo", "bar"] | 08:17 | |
GeJ | ?eval my $foo = "foo bar"; my @foo = ōæ½xAB$fooōæ½xBB; | 08:18 | |
evalbot_8050 | ["foo bar",] | ||
Khisanth | I don't think the eval bot likes unicode | 08:19 | |
devin | why trailing comma in the [] ? | ||
(and that wasn't unicode, it was iso-8859-1) | |||
GeJ | Well, I can get that, but in theory, aren't those supposed to be the same? | ||
Khisanth | GeJ: yes | 08:45 | |
GeJ | devin: I think Khisanth meant not in the ASCII 7 bits chars | 08:50 | |
Khisanth has his encoding set to utf8 | 08:51 | ||
regardless it's hard to tell what encoding someone is using just by the characters :) | |||
GeJ | did anyone get news from The Man? did he get at the Aussies yet? | ||
r0nny | yo | 09:25 | |
autrijus | GeJ: I'm going to be in the airport in 1hr | 09:43 | |
then checkback after ~20 hours | 09:44 | ||
finally free from $job, thank $deity | |||
that's the good news... bad news is I havn't even started pacing. | 09:46 | ||
packing, even. | 09:47 | ||
obra | pacing? | ||
autrijus goes packing. | |||
obra | ah | ||
go pack | |||
GeJ | autrijus: well, enjoy the flight and don't watch the same movie 4 times. :) | 09:48 | |
autrijus | ok :) | 09:49 | |
10:01
davidra is now known as jp-autark
|
|||
xerox | Hi. | 15:54 | |
r0nny | re | 15:55 | |
xerox | Do you remember that video of that guy doing some presentation in takashi style? | ||
It was about... a new kind of "identity" which could run on many site or something. | |||
autrijus: don't you remember? | 15:59 | ||
Ah! | 16:03 | ||
identity. | |||
stevan just discovered seaside (www.seaside.st/) | 17:26 | ||
very nice stuff | |||
nothingmuch | yeah, it's cool | 17:57 | |
fglock | parser.p6 doesn't run in Parrot - "error:imcc:syntax error, unexpected INTC, expecting '('" :( | 18:11 | |
r0nny | yo | 18:41 | |
stevan | leo: ping | 20:17 | |
leo | stevan: pong | 20:18 | |
stevan | leo: what is the best resource for PIR | 20:22 | |
leo | docs and existing code | 20:23 | |
stevan | ok, any recommendations on what code to read? | ||
leo | generally or regarding a specific topic? | ||
stevan | generally | 20:24 | |
leo | I'd start with docs/compiler_faq.pod | ||
then for some existing code to get a feeling about it: examples/pir/sudoku.pir | 20:25 | ||
the latter of course only, because I've written it ;-) | 20:26 | ||
stevan | :) | 20:27 | |
leo | or compilers/pge/*.pir | 20:28 | |
or compilers/tge/*.pir | |||
stevan | what is TGE? | ||
leo | tree grammar engine | ||
L::AG in pir | 20:29 | ||
stevan | cool | ||
is the O'Rielly book (2nd edition) good.,.. or hopelessly out of date? | |||
leo | it's good when it's about basics and philosphy ... | 20:30 | |
stevan | ok | ||
does PIR have lists? | |||
leo | PASM & PIR basics still apply though | ||
define list ;-) | |||
stevan | something akin to Perl 5's @arrays | 20:31 | |
leo | sure - a lot of these *<type>Array | ||
stevan | k | 20:32 | |
leo | see classes/*.pmc | 20:33 | |
stevan | oh nice | 20:34 | |
is there a place where the APIs for the classes/*.pmc are documented? | 20:37 | ||
my C fu is weak | |||
leo | perldoc docs/pdds/clip/pdd02_vtables.pod | 20:49 | |
or just perldoc classes/<which>.pmc | 20:50 | ||
DesreveR | yo | 20:51 | |
leo | but from PIR you don't deal with PMCs directly, you are using them via opcodes | ||
e.g. | |||
ar = new .FixedPMCArray | 20:52 | ||
ar = 5 # set size | |||
ar[0] = b | |||
DesreveR | yo | ||
i got a problem with method-dispatching on pugs | |||
leo | stevan: more on #parrot (irc.pobox.com) | 20:53 | |
DesreveR | rafb.net/paste/results/x1U6eP49.html <- allways fails | ||
anyone got an idea? | 20:56 | ||
-_- | 20:59 | ||
Khisanth | perhaps not yet implemented? | 21:01 | |
DesreveR | ? | 21:06 | |
how to get it work ? | 21:10 | ||
luqui | stevan, ping | 22:36 | |
22:37
khisanth_ is now known as Khisanth
|
|||
Khisanth | ?eval class foo { has $.baz; method doit() { if $counter++ < 10 { $.baz.doit } } } my foo $t1.=new; | 23:01 | |
evalbot_8050 | \foo.new(); | ||
Khisanth | oO that is a weird syntax | ||
?eval class foo { has $.baz; method doit() { if $counter++ < 10 { $.baz.doit } } } my foo $t1.=new; $t1.perl | |||
evalbot_8050 | "\\foo.new();" | ||
luqui | the semicolon especially | 23:02 | |
Khisanth | I mean the .= | ||
luqui | oh | ||
Khisanth | which semicolon were you refering to? | ||
luqui | ?eval class foo { } my foo $t1 .= new; $t1 | ||
evalbot_8050 | \foo.new(); | ||
luqui | ?eval class foo { } my foo $t1 .= new; [3,$t1] | ||
evalbot_8050 | [3, foo.new();] | ||
luqui | that one! | ||
fixing | |||
Khisanth | heh yeah that is an odd one | 23:03 | |
btw, have you ever gotten an error message about system call interrupted while doing a "make unoptimized" ? | 23:04 | ||
after which the build fails | |||
luqui | nope | ||
svnbot6 | r8051 | luqui++ | There should not be a semicolon in dumped structures (Fixed for | 23:26 | |
r8051 | luqui++ | Foo.new.perl). | |||
Khisanth | hmm | 23:29 | |
?eval class foo { has $.baz; method doit() { if $counter++ < 10 { $.baz.doit } } } my foo $t1.=new; $t1.baz.perl | 23:30 | ||
23:30
evalbot_8050 is now known as evalbot_8051
|
|||
evalbot_8051 | "\\undef" | 23:30 | |
Khisanth | ?eval class foo { has foo $.baz; method doit() { if $counter++ < 10 { $.baz.doit } } } my foo $t1.=new; $t1.baz.perl | ||
evalbot_8051 | "\\undef" | ||
Khisanth | hrm so what was DesreveR testing for? | 23:31 | |
luqui doesn't think he was here when that happened | |||
svnbot6 | r8052 | luqui++ | It seems that svnbot6 would only correctly report to a single channel. | 23:39 | |
r8052 | luqui++ | Fixed (untested). | |||
Khisanth | luqui: rafb.net/paste/results/x1U6eP49.html that | 23:43 | |
luqui | ahh, that code was infinite looping | 23:44 | |
it was calling doit() on self instead of $.baz | |||
?eval my $counter = 0; class foo { has $.baz; method doit() { if $counter++ < 10 { $.baz.doit } } } say foo.new.doit(); say $counter | 23:45 | ||
23:45
evalbot_8051 is now known as evalbot_8052
|
|||
evalbot_8052 | OUTPUT[ 11 ] bool::true | 23:45 | |
luqui | and that bug still exists | ||
it seems... | |||
?eval my $counter = 0; class foo { has $.baz; method doit() { if $counter++ < 10 { $.baz.doit } } } say foo.new(baz => 42).doit(); say $counter | 23:46 | ||
evalbot_8052 | Error: Can't modify constant item: VUndef | ||
luqui | interesting | ||
?eval my $counter = 0; class foo { has $.baz; method doit() { if $counter++ < 10 { $.baz.doit } } } say foo.new(baz => undef).doit(); say $counter | 23:47 | ||
evalbot_8052 | OUTPUT[ 11 ] bool::true | ||
luqui | 42.doit | 23:48 | |
?eval 42.doit | |||
evalbot_8052 | Error: No such method: "&doit" | ||
Khisanth | why would that be calling it on self? | 23:49 | |
luqui | bug? | 23:50 | |
Khisanth | but what is $.baz.doit() expected to call? | 23:51 | |
luqui | "no method found: undef.doit" | 23:52 | |
man, if I have to look at findSub again, I think I'll go blind | 23:54 | ||
is there a way to tell unix sort to sort in place? | 23:55 | ||
yes :-) | 23:56 |