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