Pugs t-shirts www.cafepress.com/pugscode | Pugs 6.2.9 released | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net Set by stevan on 15 August 2005. |
|||
00:02
sili-underscore is now known as sili
|
|||
malenfant | does anyone have a vim syntax conf file for Perl 6 (I'm using Perl 5.8 with the Perl6:: modules)? | 00:23 | |
00:29
erg_ is now known as erg
|
|||
Khisanth | malenfant: there is one in the repo | 00:40 | |
util/perl6.vim | 00:41 | ||
malenfant | Khisanth: thanks... is it perl6 only, or designed to be used in conjunction with perl5 syntax? | 00:42 | |
Khisanth | don't know but that seems doubtful | ||
malenfant | ok, thanks | ||
svnbot6 | r7209 | Darren_Duncan++ | /modules/Rosetta-Incubator : added new docs/ folder and docs/OSCON2005LightningTalk.txt ... now the perl 5 and 6 project versions are in sync | 00:44 | |
00:51
erg_ is now known as erg
|
|||
brentdax | Should this work? `ord<< $string.split` | 01:01 | |
scook0 | brentdax: as a hyper op? | 01:21 | |
I know luqui proposed `foo(»$x«)` | 01:22 | ||
(it's not in pugs though, AFAIK) | |||
flgr | for applying arbitrary methods as hyperops? | 01:28 | |
scook0 | flgr: yeah | 01:29 | |
flgr | ah, interesting | ||
scook0 | there's also `'foo'.split('').map:{ord}` | 01:30 | |
i.e. `$x.map:{foo $_}` | 01:31 | ||
but I think the hyper form would be clearer in many cases | |||
and you could say things like `foo(»@xs«, $y, »@zs«)` | 01:32 | ||
rafl | geoffb: pong | 02:00 | |
geoffb: Hurry up, I'll go to bed in about 5 minutes. | 02:03 | ||
Too late. Bye! | 02:07 | ||
brentdax | ?eval class X {} ::Y := ::X | 03:26 | |
evalbot_7209 | Error: Undeclared variable: ":Y" | ||
brentdax | ?eval class X {} our ::Y := ::X | ||
evalbot_7209 | Error: unexpected ":" expecting qualified identifier, variable name or "(" | ||
brentdax | ?eval class X {} class ::Y := ::X | ||
evalbot_7209 | Error: No compatible subroutine found: "&class" | ||
brentdax | Hmm. | ||
putter | masak: my tongue-in-cheek (aka sloppy - misused Luddites) comment wasn't so much technological optimism, as noting that that "risks the world" is a less useful metric than it might seem. bootstrapping a 10+Bperson civ with unprecidented tech and info access already unavoidably tosses the world in the air. only question now is what increases the odds of catching it. | 05:08 | |
night & | 05:10 | ||
05:42
erg_ is now known as erg
|
|||
svnbot6 | r7210 | stevan++ | Perl6::MetaModel 2.0 - | 05:46 | |
r7210 | stevan++ | * Added memoization to the method dispatch routines, | |||
r7210 | stevan++ | this resulted in ~20% speed increase (from 21 sec. to 17 sec.) | |||
r7210 | stevan++ | * changed how next_METHOD is handled, this actually makes calling | |||
r7210 | stevan++ | it more expensive, however not calling it is cheaper now | |||
r7210 | stevan++ | * expanded the next_METHOD test | |||
geoffb | stevan, ping | 06:43 | |
masak | putter: I like, and agree with, your reply | 07:15 | |
brentdax | ?eval class X { sub foo { 'bar' } } X::foo() | 07:38 | |
evalbot_7210 | 'bar' | ||
07:57
erg_ is now known as erg
|
|||
^conner | On the off chance that there is an SVK hacker ak... is there a way of emulating svnversion on a SVN checkout without shelling out to svnversion? | 08:01 | |
wilx | Tried #svk? | 08:16 | |
spinclad | ?eval $?PUGS_VERSION | 08:53 | |
evalbot_7210 | \'Perl6 User\'s Golfing System, version 6.2.9, August 3, 2005 (r7210)' | ||
spinclad | yay! it's up to rev! | 08:54 | |
brentdax | ?eval multi sub x(byte $y) { say "byte" } multi sub x(str $y) { say "str" } x("foo"); x(1); | 08:55 | |
evalbot_7210 | byte byte bool::true | ||
brentdax | That makes amazingly little sense. | 08:56 | |
?eval multi sub x(int $y) { say "int" } multi sub x(str $y) { say "str" } x("foo"); x(1); | 08:57 | ||
evalbot_7210 | int int bool::true | ||
brentdax | ?eval multi sub x(Int $y) { say "int" } multi sub x(Str $y) { say "str" } x("foo"); x(1); | ||
evalbot_7210 | str int bool::true | ||
brentdax | ?eval multi sub x(Byte $y) { say "byte" } multi sub x(Str $y) { say "str" } x("foo"); x(1); | ||
evalbot_7210 | str str bool::true | ||
brentdax | Hmm. | 08:58 | |
autrijus | "byte" is not a close; unboxed types are not supported. | 09:01 | |
s/close/class/ | |||
brentdax | Ah, okay. | ||
I'm having fun thinking about how to design a Cipher:: heirarchy for Perl 6. I'd like to have the ciphers themselves be classes with a uniform interface, with things like block cipher modes supported by composing roles into the cipher objects. | 09:03 | ||
(But with procedural and somewhat-functional approaches included too--in particular, I'm thinking about a function that returns a function which will encrypt a piece of data, keeping whatever state is involved handy for the next one.) | 09:08 | ||
autrijus | *nod* | 09:10 | |
brentdax | I'm working with Cipher::Caesar (a.k.a. rot13 with certain settings) to test it out. | 09:13 | |
autrijus | cool! | ||
brentdax | ?eval ceil(1.1) | 09:20 | |
evalbot_7210 | Error: Undeclared variable: "&do_ceil" | ||
brentdax | Any idea why that's happening? I can see a do_ceil defined in Prelude... | 09:22 | |
autrijus | looking | 09:33 | |
apparently it's not seeing the do_cell in scope | |||
?eval floor(1.10) | |||
evalbot_7210 | Error: Undeclared variable: "&do_floor" | ||
autrijus | somehow the subs declared in prelude failed to call each other | 09:34 | |
brentdax | Yeah, they seem to need to be prefixed with Num::. I'm doing that in my copy of Prelude--should I commit it that way, or is there some underlying fix I should wait for? | 09:37 | |
autrijus | please commit that way | 09:42 | |
I'll investigate an underlying fix but that's no excuse of delay :) | |||
brentdax | Committed. | 09:54 | |
svnbot6 | r7211 | brentdax++ | Temporary fix to make ceil, floor, round work. | ||
brentdax | Impressive... "pugs: src/Pugs/Prim.hs:1327:13-36: Non-exhaustive patterns in lambda" | 09:58 | |
I'm not sure what it means, but it sounds kinda cool. | |||
Nor can I work out what that section could possibly be doing, since I don't know Haskell from Intercal. | 10:15 | ||
Other than that it seems to have something to do with a binary operator. Maybe. | |||
Hmm, seems to have something to do with the unary dot... | 10:18 | ||
Added in a bunch of $selfs, and now it works. And the four rot13 tests pass. | 10:26 | ||
wolverian | autrijus: nice journal entry. I always enjoy reading about such great productivity and fun :) | 10:32 | |
10:48
typester is now known as typeout
|
|||
nothingmuch | morning | 10:55 | |
is there any attempt yet at implementing luqui's tuple type from the theory stuff? | 10:56 | ||
nothingmuch 's plans for the next incarnation of Blondie are getting formulated | 12:19 | ||
first: a bit more lambda calculousish - application is implicit, parameter less application is just the value | |||
that makes things slightly simpler | |||
second: full polymorphic type inferrence | 12:20 | ||
with luqui's complicated tuple type | |||
later versions of Blondie 2 will have the ability to disable, delay or subvert the type system | |||
all the context of static compilation | |||
masak | ?eval my $a="hi\n"; chomp $a; $a.chars | 12:34 | |
evalbot_7211 | 3 | ||
integral | nothingmuch: does Blondie have a concrete syntax, or is it all just specifying ASTs directly for now? | ||
masak | is this correct behaviour? | ||
nothingmuch | it'll never have a concrete syntax... too much work, too little benefit, IMHO | ||
think of Blondie as PIL's little brother | |||
it supports less features | 12:35 | ||
and that makes it easier to check how to make PIL behave under the big handwaving that static perl 6 is right now | |||
masak | ah, never mind... | 12:36 | |
integral | ah, ok. | ||
nothingmuch | integral: another reason I'm not using PIL is that the issue with environments is not yet 'linker' like enough | 12:41 | |
the process of synthesizing a single AST from an AST and an env is not quite there yet | |||
integral | yeah | 12:43 | |
nothingmuch committed some new tests for L::AG | 13:47 | ||
gaal | yo | 14:37 | |
rafl | geoffb: What's up? | 14:38 | |
nothingmuch | hi ho | 14:41 | |
rafl want's liqui back | 14:42 | ||
nothingmuch | liqui? | ||
is that luke's evil twin? | |||
rafl | I mean Luke, of course. | 14:43 | |
nothingmuch | back from where? | 14:44 | |
nothingmuch really hates microsoft | 14:46 | ||
my sister asked me to open her an msn account | |||
part of their license agreement is e.g. i agree to receive periodical targeted advertizement | |||
oh well.. at least i own the mail server. If she had a hotmail account I bet she wouldn't even be allowed to mark it as spam | 14:47 | ||
stevan | geoffb: ping | 14:59 | |
morning guys :) | |||
dudley | morning, stevan | 15:00 | |
stevan | hey dudley :) | ||
stevan had an epiphany about method dispatch while taking the dog out to crap | |||
dudley | ooh, a poo-related epiphany. Those are the best :) | 15:01 | |
so, enlighten us... | |||
stevan | BTW - if anyone is remotely interested in meta-stuff,. The Art of the MetaObject Protocol is such an excellent book I cannot recommend it enough | ||
dudley: well, my problem is that I want to make a real-world usable version of the MM | 15:02 | ||
dudley | naturally | ||
stevan | so I done have to do any more p5 OO | ||
dudley | Can't say I blame you for that :) | ||
stevan | the biggest hurdle is getting around the p5 method dispatch | ||
I wrote Class::C3, which just 'caches' the right methods in the packages local namespace | 15:03 | ||
nothingmuch | hi ho | ||
stevan | it does the trick,.. but it doesnt smell right | ||
then I benchmarked AUTOLOADing every method | |||
its ~500% slower than normal dispatch | |||
which is not okay :) | |||
then... when I was taking the dog out,.. it hit me | 15:04 | ||
no need to penalize everyone,.. | |||
so this is my plan | |||
regular local dispatch is done as normal | |||
but I store my own superclasses | |||
no @ISA | |||
then I install an AUTOLOAD in each class which will handle any dispatching to superclasses | 15:05 | ||
at this point,..I can control the dispatch to use C3 instead of depth-first | |||
and it shouldnt be too hard to do method caching | |||
or at a minimum memoization of the method lookup | |||
rafl | nothingmuch: Back from wherever he is. I want to talk to him, but I'm too lame to write a mail. | 15:06 | |
nothingmuch | rafl: when you find him, make him svk pull from his repo | 15:07 | |
rafl | nothingmuch: OK, why? | 15:08 | |
nothingmuch | because i added a bunch of tests to L::AG | ||
rafl | Ah, please exand L::AG. :-) | ||
gaal | fe | ||
nothingmuch | Language::AttributeGrammar | ||
rafl | Ah, fine. | 15:09 | |
nothingmuch | svn.luqui.org/svn/misc/luke/work/co...Grammar/t/ | ||
basic.t and errors.t | |||
dudley | stevan: is that in Class::MetaModel or whatever your module is called? | ||
stevan | dudley: yes, it will go in there | ||
nothingmuch | stevan++; # that sounds like a very nice plan | 15:10 | |
stevan | thanks :) | ||
nothingmuch | you've got to give perl 5 OO the credit of being minimal enough to be able to do all this crap, though =) | ||
stevan | oh yeah,.. p5 OO is a great reseach tool | ||
I am continually amazed at the silly crap I can do | 15:11 | ||
stevan is also planning a pure lambda calculus version of the mini-meta-model, .. but he needs to read more TaPL for that :) | |||
nothingmuch | eeeep | 15:12 | |
please waste your time more constructively ;-) | |||
new parrot is out | |||
stevan | this coming from the man who wrote Blondie ;P | ||
nothingmuch | hey! Blondie is useful | ||
stevan | *cough* crachhead *cough* | ||
nothingmuch learned a *lot* from blondie | 15:13 | ||
stevan learned a lot from writing fp::lambda | |||
nothingmuch | errm, church integer stuff? | ||
;-) | 15:14 | ||
stevan | not that so much as the list implementation | ||
nothingmuch | okay okay | ||
i'll shutup =) | |||
stevan | church numeral are a little bit silly :) | ||
no no,.. i'll shutup :) | |||
nothingmuch | no, please... i'll shut up | ||
stevan | no no,.. I insist | ||
nothingmuch | shutup! i'll shutup! | ||
stevan | :P | 15:15 | |
dudley is a step ahead of nothingmuch and stevan for once | |||
nothingmuch | ? | ||
dudley | I shut up a while ago | ||
nothingmuch | ah | ||
dudley++ | |||
en.wikipedia.org/w/index.php?title=...ction=edit | 15:17 | ||
can someone please fill this in? | |||
stevan is off to do $real_world @chores & | 15:23 | ||
15:46
typeout is now known as typester
|
|||
nothingmuch goes to visit a friend | 16:51 | ||
17:58
bd__ is now known as bd_
|
|||
putter | stevan: re mm optimization, note that P6::Value/Container lack a number of simple optimizations. so optimizing mm may not be the right thing. eg, there are isa methods which just call ::next method. which give caching additional payoff, but really just need to be removed. | 18:11 | |
that said, stevan++ ;) | 18:12 | ||
& | |||
stevan: oh, and most of the AUTOLOAD usage should really be removed. eg order-100 line AUTOLOAD wrapping a bunch of things which should be separate methods. looks like a historical development artifact. | 18:18 | ||
autrijus | greetings lambdacamels. | 18:19 | |
autrijus notices a bouncing putter | |||
Aankhen`` goes to sleep. | 19:28 | ||
G'night. | |||
19:43
typester is now known as sleepster
|
|||
rafl | Do we have an svk mirror of parrot on feather? | 20:17 | |
Are there recordings of some talks some lamdacamels gave about p6/pugs? | 20:54 | ||
fglock | rafl: there is docs/talks, and there is www.perl.org/yapc/2002/movies/themovie/ | 21:02 | |
rafl | fglock: Already seen docs/talks, but it's hard to follow the talk while only seeing the slides. Especially those of iblech, imho. | 21:04 | |
flgr_: Thanks for the movies link. I'll look at it tomorrow. Looks a bit outdated, though. | |||
fglock | rafl: there's a Pugs movie link here: use.perl.org/~autrijus/journal/26035 | 21:09 | |
rafl | fglock: Well, funny, but not that informative. :-) | 21:11 | |
svnbot6 | r7212 | Darren_Duncan++ | /modules/Rosetta-Incubator : set svn:mime-type and svn:eol-style properties on all 3 files | 22:18 | |
nothingmuch | evening | 22:33 | |
irssi is stupid | |||
it thinks it's 00:33, but it's 1:33 | |||
putter | stevan: Method (superclasses) not found for instance (#<Role=(14)>) at ../pugsxpl2/perl5/Perl6-MetaModel2.0/lib/chaos.pl line 438 | 23:06 | |
oh. doh. | 23:07 |