6.2.10 released! xrl.us/hxnb | geoffb's column (/. ed): xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
Set by autrijus on 10 October 2005.
ajs_home So, did anyone see a message about S29 from me on p6l today, or is my MTA being flakey? 01:05
svnbot6 r7685 | spinclad++ | (First commit!) 01:52
r7685 | spinclad++ | * Suggested tweaks for larry_mariner.txt; please review.
r7685 | spinclad++ | * AUTHORS.+=(self)
r7686 | spinclad++ | larry_mariner.txt: alternate suggestion.
07:34 |uqu| is now known as luqui
luqui ha'dy nothingmuch 07:46
autrijus yo. 07:47
Aankhen`` Mawnin'.
luqui autrijus, how do you suggest I go about fixing lazy {} ? 07:48
autrijus luqui: mmm, context? 07:49
luqui my $c = 0; my $x = lazy { $c++; } say $x; say $c; # 3
i.e., the block gets executed 3 times 07:50
autrijus you need to make the thunk mark itself as used after first eval. 07:51
luqui presumably throwing away the closure reference, replacing it with the value
but, er, I don't understand how I would do that within Eval? 07:52
autrijus you can do that by creating a (TVar (Maybe Val))
that holds the evaluated thing
luqui how about (Either Thunk Val) -- for the appropriate value of Thunk 07:53
TVar $ ~
autrijus well, you need to hide some code into the thunk anyway
so might as well use Maybe
but Either would work too
luqui huh?
autrijus improvise :)
op1 "lazy" = \v -> do 07:54
luqui hide some code into the thunk?
autrijus sub <- fromVal v
res <- liftSTM $ newTVar Nothing
let thunk = ... probe res, etc ... 07:55
return . VRef . thunkRef $ MkThunk thunk
the "probe" part would do a liftSTM readTVar, and some maybeM stuff, and liftSTM writeTVar on first eval
luqui oh, it's very important that the thunk's code be GC'd if possible
oh wait, I'm screwed anyway in that area 07:56
autrijus it will be GCed if possible, I assure you. 07:57
the exp, once non reachable, will be claimed
autrijus has complete trust in GHC-RTS's GC
luqui because, in pugs currently: my $closure = { my $x; my $y; -> { $x } }; # $y is not freed here, correct?
how is it no longer reachable?
that is, what happens that gets rid of it 07:58
autrijus if there is nothing in the current env that lets you reach ti
then it's gone
luqui hm. 07:59
how about the $closure example?
luqui thinks he groks your code above now 08:01
autrijus :) 08:06
the closure example, once $closure is out of reach from envLexical
and envOuter envLexical (recursively)
it's not reachable
luqui I'm asking about $y
which $closure is not referring to, but it is referring to the pad that $y is in 08:07
in Perl 5 in this case, $y would be freed immediately upon exiting that block
(and L::AG takes advantage of that fact)
autrijus oh $y 08:08
p5 closes over only directly referenced stuff
my $x = sub { my $z = 3; sub { eval '$z' } }; 08:09
which is why this doesn't work in p5
luqui Oh, it doesn't?
luqui checks 08:10
autrijus ?eval my $x = sub { my $z = 3; sub { eval '$z' } }; $x()()
mm bot gone. this works in pugs
luqui interesting
heh, ask and ye shall receive 08:11
I guess with CALLER:: you can't really help but close over the whole pad
except in really really trivial cases
darn.
autrijus note that parrot does the same.
(close over the whole pad) 08:12
luqui needs a new method to GC intermediate structures in L::AG
and in that case I guess I don't really care about lazy {}. I'll try to fix it anyway
autrijus please do :) 08:13
luqui ?eval 42
evalbot_7686 42
autrijus luqui++
?eval my $x = sub { my $z = 3; sub { eval '$z' } }; $x()()
evalbot_7686 \3
autrijus there's already a test in t/var/lazy.t
luqui saw that
?eval so 08:14
evalbot_7686 Error: No compatible subroutine found: "&so"
luqui op0 "so" = const (return $ VBool True) -- ?? 08:15
integral luqui: so doesn't seem to appear in the big table 08:16
luqui and the string "so" only occurs on that one line 08:17
integral I hate Prim.hs
autrijus <aol/> 08:18
luqui: just kill that line
luqui ?eval class Foo { submethod DESTROY { say "Bye" } } Foo.new; say "done" 08:35
evalbot_7686 done bool::true
luqui ?eval class Foo { submethod DESTROY { say "Bye" } } say Foo.new; say "done"
evalbot_7686 <obj:Foo> done bool::true 08:36
luqui ?eval class Foo { submethod DESTROY { say "Bye" } } my $f = Foo.new; say $f; say "done" 08:38
evalbot_7686 <obj:Foo> done bool::true
luqui hmm, evalbot doesn't spawn a new pugs it seems, as this is different from the command line 08:39
autrijus aye 08:40
I'll bbiab, keynote endeth
svnbot6 r7687 | luqui++ | Made lazy {} execute its closure at most once. 09:17
autrijus luqui++
luqui the last thing is to fix that last todo in that .t 09:18
make it so you can pass lazies around
any advice?
rafl_ Yeah.. be lazy. Pass it around. Let it do someone else. 09:19
09:19 rafl_ is now known as rafl
autrijus rafl++ 09:19
gaal heya 09:21
autrijus luqui: looking 09:22
gaal rafl: I haven't gotten to trying a ghc build yet, sorry
Can you look at bugs.debian.org/cgi-bin/bugreport.cgi?bug=319812 ? It sounds like it should be simple to fix...
rafl autrijus: I have a new problem with cabal and include-dirs. Isn't there a way to specify directories that should contain include files but which aren't needed to be available when registering the cabalized package? 09:23
luqui seems that you can assign and bind lazies freely and they don't get evaluated, so some evaluation must be happening when you pass it to a sub 09:24
autrijus ask on #haskell or syntaxninja or the cabal list?
rafl gaal: That's about ghc-cvs. ghc6 has already done it's gmp transition. 09:25
autrijus: I got ignored on #haskell twice. syntaxninja wasn't there, iirc. I'll try the list now..
nothingmuch morning 09:28
luqui morning nothingmuch 09:29
nothingmuch evening luqui 09:30
also morning pdcawley
luqui 3:30 am is evening?
nothingmuch conceptually
autrijus k...
luqui: yes, I'm looking
nothingmuch you are still awake, not already awake, right?
luqui autrijus, thanks :-) 09:31
nothingmuch forgot how nice Nighthawks at the Diner is
luqui I'm trying to chase it down myself, but it's slow-going because of my unfamiliarity with the source of course (of course)
nothingmuch, L::AG 0.07 is out. backwards-incompatibl
e 09:32
nothingmuch_ reroutes through wifi instead of ethernet
pdcawley Morning all
luqui hiya pdcawley 09:34
pdcawley Well, EUOSCON's fun. 09:35
luqui wishes he were there 09:36
pdcawley Oh, in that case, it's dull as ditchwater, you wouldn't enjoy it. Don't worry, you're not missing anything.
Like MS releasing some software under a BSD like license. 09:37
autrijus yeah right.
luqui what!?
rafl It isn't even far from here. I just can't get there because it takes place just after semester started.. :-/
pdcawley grins.
Tim's blogged about it.
luqui rafl, that was my biggest blocker too
autrijus and they have extremely good licenses!
luqui except, s/just/much/
autrijus # www.microsoft.com/resources/shareds...cense.mspx
pdcawley That BSD like one's 3 paragraphs long. You don't have to scroll the browser.
rafl luqui: One week earlier and it woudn't have been a problem.
autrijus all of them are. 09:38
pdcawley Yeah, even the 'look don't touch' one makes sense.
nothingmuch_ would like to take HPUX, put it on a surgical table, and then ram a large chainsaw up it's *$^!% 09:39
after which I will repeatedly remove and reinsert said large chainsaw several times
and then I would dump HPUX in an alley so that it can blead to death
pdcawley notes that the plan to make Office talk Opendoc might get a good deal easier...
autrijus luqui: I see 09:40
luqui: it's trying to get type information out of a thunk.
and currently you can't know that without evaluting it.
suggestions?
I think we bundle type information with a thunk.
luqui well, first, if the sub is untyped, don't try to get type information
s/sub/param/
autrijus sure 09:41
but in general case.
luqui autrijus, yes, we could bundle type info with a thunk... but where do we get it?
autrijus using evalExpType
which does some inferencing
luqui ahh
luqui didn't know pugs did that yet
autrijus it's crude 09:42
doesn't do two way propagation
luqui the other question: sub foo ($x where { $_ < 3 }) {...}
I guess we're forced to eval
of course
autrijus yeah
luqui no problem
autrijus the "where" form is sugar
luqui well, for starters, how can I get rid of eval for untyped params? 09:43
mostly so I know where to look
what the heck are we doing typechecking for? 09:48
?eval sub foo(Int $bar) { say $bar } foo("hello")
evalbot_7687 hello bool::true
luqui because it's not working
autrijus er, we typecheck for mmd 09:49
and coerce when we give up
luqui so "hello" as Int eq "hello"? 09:50
autrijus the cute thing is that we don't actually coerce the value ;)
(as you must be aware, none of this behaviour is specced, so I just punted)
luqui ahh right 09:51
autrijus anyway, it's all in Eval.Var
findSub and evalExpType
I'll fix the thunk first.
luqui and what aspect of the thunk are you fixing? 09:52
autrijus data VThunk = MkThunk
{ thunkExp :: Eval Val
, thunkType :: VType
}
deriving (Typeable)
this aspect.
luqui okay
luqui is fading 10:08
luqui beds
autrijus <- with sky in speaker's room 10:10
trying to hack a PIL-Run based on heavily optimized perl5 opcodes
also praising the sanity of var-reg-as-pad in new parrot 10:13
lunch & 10:17
coral autrijus: hi, sky! 10:25
Juerd_ Heuh, tehmaze :) 11:21
Hi :)
tehmaze heya Juerd_ ;)
greets from Oscon
Juerd_ Heh, what brings you there? 11:22
tehmaze my employer :p
Juerd_ Are you there with or without a mission? 11:24
tehmaze no, I'm ought to find new collegues
Juerd_ (Or is that confidentian? ;))
s/ian/ial/
tehmaze but I'm off for a python reading now, ttyl 11:25
Juerd_ Have fun
tehmaze thanks
Juerd_ Watch out for the snake.
tehmaze teh snake!
Juerd_ slangetje
11:26 nothingmuch_ is now known as nothingmuch
theorbtwo wonders where tehmaze works. 11:26
Allo, nm.
coral tehmaze.nl/about/ 11:28
nothingmuch hola theorbtwo 11:29
we're getting el-cheapo rain here
nothingmuch is delighted
theorbtwo Ah. The netherlands. A bit too far. 11:31
Rain in the desert? Sounds ++able. 11:32
We're getting very-heavy rain, then no rain, on a loop.
Juerd_ tehmaze: Did my site inspire you on the blinking ascii art cursor? :) 11:33
tehmaze Juerd_: hmm, not really :)
Juerd_ gmta then :) 11:34
(fsd) 11:35
coral tehmaze: i nearly tried typing something at the command line. 11:36
what with all the random dhtml sites these days
i know eventually it'll work somewhere =)
tehmaze coral: lol :) 11:37
Juerd_ heh
Hello, pdcawley 12:09
pdcawley Hi Juerd 12:10
tehmaze pdcawley: you stole my ip, bastard! ;) 12:14
pdcawley ? 12:16
I did?
tehmaze j/k, where are you at ? 12:17
brb, next conference :p
metaperl here's one place that usage of "." instead of "->" makes sense: <uv><xsp:expr>$w->{uv}</xsp:expr></uv> 12:57
already enough greater than signs without one coming from Perl 12:58
tehmaze or get the variable out of the quotes
autrijus yo 12:59
autrijus just handed a perl6 shirt to the ironpython guy
Juerd_ autrijus: You're evil in a very friendly way :) 13:00
autrijus :D 13:01
Juerd_ tehmaze: Will you be at the post-oscon amsterdam.pm meeting tomorrow?
tehmaze Juerd_: nope 13:02
Juerd_ amsterdam.pm.org/meetings/after_oscon.html
Oh, why not?
I haven't seen you since wth :) 13:03
Now, that's nothing special, as we usually only meet once a year (this time not at ne2000, though), but still :)
tehmaze hehe
just not my cup of tea
Juerd_ How can it be that #perl6 is your cup of tea, but amsterdam.pm with a light technical perl6 related program is not? :) 13:04
coral i do very badly with groups of perl people off of irc 13:05
tehmaze Juerd_: I'm more interested in the parrot development than perl6 itself
Juerd_ Oh
coral: Why's that?
tehmaze: Then don't forget to also join irc.perl.org #parrot, if you haven't already
coral Juerd: i don't like talking about perl when i'm not on irc, mostly :)
tehmaze Juerd_: nooo, not yet another irc server :p 13:06
Juerd_ tehmaze: You use irssi and must not care.
coral except for social politics and stuff :)
Juerd_ coral: Hm. You lead two separate lives?
tehmaze Juerd_: I lead 3, anything wrong with that? :) 13:07
Juerd_ tehmaze: Three? I thought you had just one :)
coral Juerd: this is the only perl irc channel i'm in.
tehmaze Juerd_: nope
Juerd_ coral: I see
coral no, you perl
Juerd_ tehmaze: Heh
coral else you'd be in #c6 or something 13:08
qed
Juerd_ coral: see ne c
coral grins
Juerd_ coral: And is this really what e.d.?
coral ok, i'm going back to talking about perl now
Juerd_ :)
And I'm going to my office now
To see if there's anything for me to do.
afk
14:00 rep is now known as r, r is now known as rep
eric256 morning 14:15
autrijus yo eric256 14:16
eric256 talks went well? 14:19
ingy seen autrijus 15:12
jabbot ingy: autrijus was seen 55 minutes 33 seconds ago
ajs_ I tried to send mail about S29 to the list yesterday, but it bounced. Seems that the list no longer accepts mail from residential MTAs (or some equally foolish reason for not accepting mail from by 10-year-old mail server. 16:08
(reason: 550 Blocked. Contact [email@hidden.address] Include this in the subject: 24.61.76.204)
Joy
I'll continue to work on it. I guess when I'm done I can let the channel know, and put a draft up on my Web server. 16:10
nothingmuch is upset 16:48
the bag I bought for my laptop was advertized as suitable for 17" laptops
today it slipped as I was going out of the car
and fell, from a short distance, on the pavement
it hit a corner which was completely unprotected
now it's dented
Juerd_ What has the 17" do do with this? 16:49
nothingmuch and the two sides of the laptop have been compressed
Juerd_: the laptop was too big to be protected by the backpack
Juerd_ Oh
eric256 thinks backpacks are for carrying, not for protecting in a fall
Juerd_ eric256: Mine is for both, but it was expensive
nothingmuch while the sleeve covered it, and it seemed OK, in effect when you press down on that corner, nothing is stopping you from touching the corner of the laptop
so was mine
$70 or so 16:50
which is not $200, but it still advertizes protection
Juerd_ hmm
Yea
nothingmuch anyway, so now the mashed up side is scraping the plastic from the screen hinge
and on the other side a connector is slightly deformed
i need to open it up and bend it back from inside
but the hardware store is already closed and all my screwdrivers are too big 16:51
*sigh*
Juerd_ See if your insurance covers this before you open thi thing op
s/thi\b/this/; s/op$/up/
nothingmuch i have no insurance =(
Juerd_ Oh
nothingmuch i think
there's the 1 year warranty, but it's not against that kind of stuff 16:52
Juerd_ True
Did you pay for it by credit card? Some cc companies provide insurance for all purchases
nothingmuch hmm... i'll ask 16:53
i did
crap, no bottom cases on ebay
Juerd_ Hello, rzeronny 16:54
pasteling "Xzanron" at 82.43.184.103 pasted "Code and Output" (21 lines, 513B) at sial.org/pbot/13792 17:04
r0nny hoi
Xzanron i'm having trouble with a scropt
r0nny is Juerd_ a bot ?
Xzanron i'm using CGI to try and create a webpage
Juerd_ No, I'm not
Xzanron: With Perl 6?
r0nny then u are fast ;P 17:05
Xzanron Hmm.. not sure
eric256 yea...we can't get him out of the room either
r0nny script ?
Juerd_ Xzanron: Then you're probably not. Perl 6 is not finished yet.
Xzanron ah ok..
Juerd_ Xzanron: You'd have known :)
Xzanron: Please visit #perl
Xzanron is there a normal perl channel around?
ok.. couldn't find that in the list.. sorry :)
Juerd_ Xzanron: No problem :)
eric256: Oh.
eric256 lol 17:06
come on back man. ;)
r0nny btw - isi wish catalyst was allready ported 17:07
-si
laterz 17:08
Juerd_ Can I come back yet? :) 17:23
rep sure 17:29
Juerd_ This channel is big! 17:35
I had never noticed :)
We have many lurkers
misc wow, indeed 17:36
17:36 Juerd_ is now known as Juerd
eric256 yea 113 people, 4 who talk....and me babbling to myself 17:40
lol
tewk how is the parrot target going, I haven't heard a status since leo merged, I'd like to start playing with mod_parrot and perl6 ? 17:42
tewk , A lurker makes asks his monthly question :) 17:43
mrborisguy tewk: I think it's progressing along nicely 17:44
they released 3.0 not too long ago
I don't follow it very well, but it seems to have lots of activity
tewk I meant pugs targeting parrot, I follow parrot. 17:45
r0nny re
mrborisguy oh. I can't go in depth on that, either. 17:46
pugs can output pir based on perl6, but you probably know that.
r0nny does anyone know a good lib for dynamic depency tracking ?
autrijus woot 17:55
gave David Heinemeier Hansson a Pugs shirt :)
(and chatted a while about perl6 and continuations) 17:56
xerox What kind of continuations? :-D
autrijus serialized :)
xerox Woot!
stevan autrijus: automated visiolation of the metamodel :) perlcabal.org/~stevan/mm_viz/test.jpg 17:57
autrijus stevan: oh wow
this is visio?
stevan graph viz
this is just the bare Perl6::MetaModel
autrijus eggcellent! automated?
stevan yes
autrijus :D
stevan 2 hour hack at this point
I am going to clean it up more 17:58
autrijus nice
Juerd What happened with graph viz?
autrijus maybe I'll show that to david
xerox Smells like reflection
stevan you can also load any test file,... and see the structure it creates
Juerd I remember it as something that makes ugly pictures
This looks good.
stevan Juerd: perlcabal.org/~stevan/mm_viz/test.jpg
xerox: yes, MM is very reflective
autrijus stevan++ # crazy cool
xerox The automation itself is written in p6? 17:59
pasteling "stevan" at 67.186.136.119 pasted "the code to generate the graph viz models" (92 lines, 2.6K) at sial.org/pbot/13794
stevan xerox: that is the code
mrborisguy stevan: you may want to put a key on that if you're showing it to people
stevan xerox: no it is still in p5 it is a prototype
mrborisguy: yes, I am working on cleaning it up right now 18:00
the basic key is this:
--- subclas of --->
... instance of ....>
solid lines is does()
it just traverses down from Object 18:01
Juerd What is an EigenClass?
xerox JavaScript? :D
stevan Juerd: it is a ruby thing (sort of) 18:02
Juerd: it stores the class methods in it
so that the dispatcher is still generic
it is basically just an anon class inserted between Foo and Class
I will export another to show what I mean 18:03
xerox yummys some chestnuts
stevan Juerd: look here perlcabal.org/~stevan/mm_viz/test2.jpg 18:04
EigenClass[Class]<13> holds the class methods for Point3D
and EigenClass[Class]<10> holds the class methods for Point
xerox o_O 18:06
stevan the code this represents is basically just class Point {} and class Point3d is Point {}
xerox Is there an "Haskell's (.)" in p6?
mrborisguy xerox: as in the compose operator? 18:07
xerox Yep.
autrijus david likes that :) 18:08
also mentioned Matz loves the p6 -> but ruby people objected to that in rubyconf 18:09
(david prefers the "def { ... }" form)
which is just like "sub { ... }"
eric256 stares at stevans pictures...and stares and stares....someday hopefully i will learn enough by osmosis to understand. lol 18:10
eric256 presses his forhead agianst the screen to assit the osmosis. ;)
Juerd stevan: I don't understand a thing of it, really. Sorry.
stevan it needs a legend
and better coloring 18:11
Juerd I probably lack the required background knowledge
stevan which is what I am doing now
Juerd: probably a little yes
however, even when I explain it,.. it is still confusing :)
Juerd autrijus: In *use*, -> is much like ruby's ||
autrijus: Even though it does something else. 18:12
kolibrie stevan: I find it easier if I know where to start, and can find a path to follow (initialization order)
Juerd autrijus: Or, actually, it's not that different, as Ruby code blocks are also passed as arguments, eventually
stevan kolibrie: yeah, its hard to get graphviz to cooperate on that
Juerd autrijus: Except that we first have something return a list and then foreach that, while Ruby lets the methods themselves do the iteration work 18:13
object.method.each { |x| ... } versus for $object.method -> $x { ... } 18:14
We could, in theory have $object.method(-> $x { ... }), but it'd be unperlish
It is a bit weird though, that we go through a lot of trouble to have lazy lists, while Ruby doesn't even need them :) 18:15
stevan goes back to reading the graphviz documentation &
mrborisguy can somebody clarify the '-> $x {...}' construct for me? 18:43
is it basically like Haskell's (\x -> ... ) construct? 18:44
somehwat like an anonymous sub?
Aankhen`` G'night. 18:47
ajs_ mrborisguy: still around? 18:56
eric256 mrborisguy - yes it is something like that 19:03
sub ($x) { }
masak could someone explain to me more precisely what a "lispish macro" is? 19:04
they're supposed to be much better than, say, c macros
and perl6 is supposed to have them 19:06
are they covered in any of the synopses?
kolibrie masak: I'm no authority, but what I understand from that is that the macros change the AST, rather than text (which would have to then be parsed into AST) 19:10
masak kolibrie: it sounds to me that such macros are functions, more or less 19:11
eric256 i think you could consider macros like inline functions...but don't quote me on that ;) 19:12
masak eric256: yes, i was thinking of inline functions
i see now that they discussed it a lot in a recent p6-lang thread 19:13
ingy seen autrijus
jabbot ingy: autrijus was seen 1 hours 4 minutes 20 seconds ago
eric256 TSA replied to my post but i havn't a clue what he said.... 19:16
www.perlmonks.org/?node_id=265209 19:28
that discusses the macros and refers to S06 for more info 19:29
luqui ?eval macro foo () { } 19:36
evalbot_7687 undef
luqui ?eval macro foo () { "+1" } 3 foo
evalbot_7687 Error: unexpected "f" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
luqui ?eval macro foo () { "1+" } foo 3
evalbot_7687 Error: unexpected "3" expecting "(", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
Eimi ?eval macro postfix:foo () { "+1"}; 3 foo 19:37
evalbot_7687 Error: unexpected "f" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
eric256 i don't think macros are implemented yet 19:38
Eimi Well, that would explain why it's hard to use them
luqui :-)
eric256 ?eval macro foo () { "1" } ; foo;
evalbot_7687 1
eric256 ?eval macro foo () { "1+2" } ; foo;
evalbot_7687 3
eric256 or maybe they are. ;0 19:39
luqui Hm
?eval macro foo ($x) { "1+$x" } foo "3"
evalbot_7687 "1+3"
luqui that looks like a sub call to me
but it's not *quite*, given your example
?eval macro foo ($x) { "1+$x" } foo 3
evalbot_7687 "1+3" 19:40
luqui ?eval macro foo ($x) { 1+$x } foo 3
evalbot_7687 4
luqui ?eval macro foo ($x) { "" } 1 + foo 3
evalbot_7687 1
luqui has no idea 19:41
?eval macro foo ($x) { "$x+1" } 1 + foo 3
evalbot_7687 5
luqui ack
this is weird
ajs_ To the question of LISP vs. other forms of macros: LISP macros are powerful because they directly manipulate code rather than pre-compiled text. I'll give you an example of why this is powerful: 19:50
You have a macro that takes a list of functions as its parameter. Each function will start with a conditional. You check the conditionals in the macro and write an optimized switch that jumps into the correct function at the point after the conditional. You do all of this AT RUNTIME. 19:52
er, that is AT COMPILE TIME
Juerd juerd.nl/takahashi/icons.html # first attempt :) 19:54
obra juerd: what is that? 19:56
Juerd A try
Do you know the takahashi method of presentation? 19:57
obra yeah.
I guess "why all the icons"
Or is this a refinement?
"no words takahashi"
Juerd It works great with japanese, it works less great with english... I thought maybe it could work with icons :) 19:58
tehmaze what is it?
obra cool
obra has takahashi-ed his talk for npw
Juerd obra: This is a 30 second presentation, though :)
Just trying it.
obra Juerd: nice 19:59
tehmaze what is takahashi, enlighten me please :)
obra google 'takahashi method' 20:00
Juerd The message basically is: takahashi method with icons / bullet slides / throw them away / takahashi had an idea / small letters suck / enlarge / instant clarity / takes time / makes people happy / japanese / other languages / everyone (understands) / this is an elephant / better!
tehmaze lol :) 20:01
takahashi, 'huge characters'
Juerd Actually
The message basically is: takahashi method with icons / bullet (slides) / throw them away / (takahashi had an) idea / small letters (suck) / enlarge / (instant) clarity / (takes much) time (to prepare) / (but makes people) happy / (works well for) japanese / (not necessarily for) other languages / (but everyone on this) planet (understands) / (this is an) elephant / better! 20:03
I hope that a normal takahashi presentation takes less time to prepare per 30 seconds, though :) 20:05
This took me an hour
(Finding icons and japanese for "I do not speak Japanese")
theorbtwo An hour per 30 seconds of talk? 20:08
GeJ never attended a takahashi presentation yet, but if you haven't been there, my feeling is that the slides are not so helpful unless you already know what it's talking about. 20:10
Juerd theorbtwo: With icons, yeah, apparently :) 20:11
Shillo Hullo. :) 20:49
eric256 hello 20:57
anyone know if there is a reason that pugs -V returns the wrong subersion number? 21:10
subversion (not the svk or svn but teh actual .28 portion)
PerlJam ah, such confusing terminology 21:12
eric256 lol
Odin- subverts the terms. 21:18
stevan Juerd: diagrams with some explainations perlcabal.org/~stevan/mm_viz/index.html 21:27
eric256 on the test 10 pages shouldn't the Point3D class somehow say that is inherits Point? 21:28
meppl is anybody planing making a java-compiler for parrot? 21:29
stevan eric256; yes :) changing now
eric256: fixed now,.. thanks 21:31
PerlJam meppl: Feel free to write one.
meppl :D
perljam, i only was interested
eric256 np...is there a short 15 word or less example of why you want eignclasses? if not thats okay ;) looks like it might have something to do with roles versus classes
stevan parrot -e "perl -e 'javac @ARGV'" 21:32
eric256: it is to keep method dispatch consistent
PerlJam eric256: The "work" of doing class-things needs to happen somewhere.
stevan method dispatch looks at the class of an instance for methods 21:33
well Foo is an instance of Class, but class methods for Foo are not stored in Class
so the Eigenclass steps inbetween and can easily hold the class methods for Foo
eric256 gotcha...i think. ;)
stevan eric256: we directly stole it from Ruby,.. name and all 21:34
*cough* s/stole/borrowed/ *cough*
eric256 so class Foo declares an instance of class Class ? 21:36
and since its an instance it needs somewhere to exist? kinda the jist of it?
stevan class Foo is an instance of Class 21:37
Class being itself a class
eric256 alright...thats enough to keep my head busy for a while ;)
stevan :)
eric256 at least now when i look at your pretty pictures they mean slightly more than before ;) 21:38
stevan this used to keep me up at night,.. literally,.. the spinning....
eric256 you need like a Perl6 OO for newbs ;)
svnbot6 r7688 | stevan++ | Perl6::MetaModel - 21:39
r7688 | stevan++ | * fixed naming of Eigenclasses
r7688 | stevan++ | * minor tweaks in a few tests
r7688 | stevan++ | * added GraphViz driven class grapher,.. see examples at
r7688 | stevan++ | perlcabal.org/~stevan/mm_viz/index.html
GeJ stevan: how much do you think the average Joe Sixperl should know about the MM? isn't all the EigenClass, Roles & co. too, hum... scary compared to the Class/Interface of let's say Java? 21:42
eric256 you don't actualy need to know about EigenClass's at all
btw...Java is terrifiying!!! madness i say madness!!!
stevan GeJ: You will need to know about classes and roles 21:43
eric256 ?eval my @x = (1..5); print shift @x, "hello", @x;
evalbot_7688 Error: No compatible subroutine found: "&shift"
stevan anything more is optional
Shillo stevan: Hiya!
stevan hey Shillo
Shillo I feel a bit guilty about being drawn into a completely abstract discussion on the mailing list. :) 21:44
stevan GeJ: I expect it will be like symbol tables are in p5, some people use them, others avoid them, but in the right hands, they can be a powerful tool
Shillo: isnt that what p6l is for ;) 21:45
Shillo :)
GeJ stevan: ok... and for the EigenClass, as I see your diagram (Test30) it seems that there is an e-<ClassName> for every <ClassName> used. Won't that be a big overhead? 21:47
GeJ nods at eric256... definitely a Perl6 00 for Dummies 21:48
stevan GeJ: yes, it is a bit of overhead, however, they are fairly slim if you dont use them
and to add them in dynamically is very difficult because they must maintain the mirrored hierarchy
GeJ they're 'auto-generated', right?
stevan yes, when a class is created, an eigenclass is created for it 21:49
GeJ oki
stevan they are really just an implementation detail
GeJ can't wait to get a 6.28.0
obra What's left? 21:51
stevan for 6.28.0? the metamodel mostly
GeJ $work and $life prevent me to get my feet wet yet --while I spend a pretty good amount of time looking at what's happening in the P6 world-- but once I get it, geez I want to play with that babe of yours guys :)
PIL2 implementation wasn't part of it?
obra How much metamodel work is left? 21:52
stevan obra: I am not sure how far autrijus has gotten on the Haskell port
obra *nodnod*
stevan there are still some stones left unturned in the prototype, but I think we need to integrate with the container model and runtime to figure those out 21:53
and that is best done in Pugs itself
obra: also the metamodel is mostly based on A12, with some stuff added from recent discussions, but some of the more recent digressions have not been added/experimented with 21:55
svnbot6 r7689 | stevan++ | Perl6::MetaModel - cleaning up some junk at the end of the file
rafl stevan: How much faster performs Chaos.pm compared with Chaos/Upoptimized.pm? 21:56
stevan: And why does the Unoptimized version get installed? Doesn't seem to be used. Let's delete it. It's still in the RCS... 21:57
stevan rafl: Chaos.pm runs about 400% faster I think (something like that) 21:58
however the recent eigenclass stuff slowed everything down
rafl: the unoptimized version is there for reference mostly, I think it worth keeping in RCS though 21:59
rafl Even if you delete it, it's still in the RCS. History won't get deleted :-) 22:00
stevan well this is meant to be a prototype, so keeping a clean readable version is useful I think
at least until autrijus ports it to haskell
rafl Do you still maintain it and put port the new changes from Chaos.pm? 22:01
stevan rafl: yes
rafl Great. Maybe butting it into a directory that doesn't get installed would be OK. 22:02
stevan rafl: that works for me
rafl Thanks. 22:03
stevan rafl: I will move it to docs/
actually I will do it in a few hours, right now its time for dinner & 22:04
rafl Bon appetit!
22:15 joao is now known as bracaman, bracaman is now known as joao
dduncan fyi, I just posted to P6L a design problem I've been facing for awhile, and I appreciate feedback 22:16
it concerns the combination of a pair of related classes that form a solution, and people that want to subclass that solution 22:17
any replies should be on P6L, and I now have to leave for a few hours
thanks
Juerd stevan: It's confusing that there are subclasses of instances 22:27
stevan: The only way I can read this as a coherent thing is to separate Class into two things :)
stevan: (removing the cycle) 22:28
stevan: Also, how something can be a subclass and an instance at the same time is beyond me :)
stevan: This is all highly weird for an outsider
stevan: I hope this is not the way things work in Perl itself?
stevan: Why do paths end in the roles (test30)? 22:34
My head hurts. 22:35
GeJ Well, if you need a dummy to test-proof your documentation, I'd be more than willing to play this role... heck with my self esteem ;) 22:39
Juerd GeJ: That's a good idea for all documentation. 22:42
GeJ: Do you have a few years of spare time? 22:43
:)
GeJ: You can start with Perl 5, and then move on to Perl 6.5 when you're done :)
GeJ Juerd: interesting advice... let me consid... "no" :) 22:55
with all due respect, of course :)
rafl Juerd: squirremail on feather seems to be broken. 22:59
Warning: fsockopen(): unable to connect to localhost:143 in /usr/share/squirrelmail/plugins/login_auth/functions.php on line 128 23:00
Why don't we use a webmailer that's written in Perl? :-) 23:01
Juerd: I guess that happens because imap is disabled in favour of imaps.
Juerd rafl: Because all webmailers written in Perl suck even more than squirrelmail. Please prove I'm wrong. 23:14
svnbot6 r7690 | juerd++ | A 2-level delegation test I just thought of
Juerd rafl: imap should be enabled on localhost
rafl Juerd: telnet localhost 143 doesn't say so.
Juerd Indeed 23:15
But see /etc/dovecot/dovecot.conf
It is configured to listen on 127.0.0.1, and listen_ssl on feather.perl6.nl
rafl Maybe a packet filter? 23:16
Juerd The listen on feather.perl6.nl also does not work
In fact, dovecot isn't running.
rafl :-) 23:17
Juerd Oct 20 01:16:47 feather dovecot: pop3-login: Can't load certificate file /etc/ssl/certs/dovecot.pem: error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library
I wish I knew what this meant.
> Apparently someone did a non-maintainer upload and botched something in the 23:18
> process.
lists.alioth.debian.org/pipermail/p...00112.html
Hurrah.
Ah well, it's Debian sid for a reason 23:19
(First in a long time that I have this kind of trouble, though) 23:20
First time that I have this, not a long time that I have been having this, for the record.
integral NMU means that someone other than the developer in charge released that version of the package. Usually it's for urgent security fixes afaik 23:21
Juerd integral: I know
integral ah, I seem to have read your comments upside down :)
Juerd heh 23:22
Dowside up, then :)
rafl Juerd: Well, (s|l)trace and try to find that lib to install it? 23:23
Juerd I downgraded openssl 23:25
There was an upgrade available, but this didn't fix. 23:26
Dovecot is running again
Hm
rafl Great, thanks.
Juerd No it's not
My ps ax was to ofast
Hm 23:29
Then I have no idea what is causing it.
Well, it must be libssl 23:30
But I don't know precise enough what is wrong, so I cannot fix it :(
Ahh 23:32
Downgrading *dovecot* helped
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK Dovecot ready.
Good night 23:38
stevan_ Juerd: actually it is (probably) how Perl 6 will work 23:59