Pugs 6.2.8 released! | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
Set by autrijus on 13 July 2005.
stevan osfameron: ask $Larry # delegation :) 00:41
Khisanth not @Larry? 00:42
probably should be %Larry :)
stevan Khisanth: %Larry<lwall> :) 00:49
nothingmuch package Stevan { @larry handles <AUTOMETHO> } 00:50
cm what does that do? 00:51
Khisanth 9 character limit? 00:55
cm 8 and the dot :D 00:56
nothingmuch oopsm sorry 00:57
errm, handles is delegation
cm all functions in Stevan are delegated to larry? 00:58
nothingmuch it should have been 'has @larry handles <AUTOMETHOD> }{
where the method AUTOMETHOD is defined as 'method AUTOMETHOD { @larry>>.AUTOMETHOD(*@_) } sort of
except that it's magical
cm magick. 00:59
stevan dont ask me, I dont know :)(
and I am lazy, so I am a bad delegator 01:00
cm that makes you a good one, actually ;)
stevan no lazy in the wrong way :)
Khisanth you don't delegate until uneccessary? :) 01:01
cm :)
stevan nah, I ignore it and let someone else ask 01:02
or I confuse the person until they just go to p6l themselves :)
nothingmuch cm: AUTOMETHOD is like AUTOLOAD 01:03
ons that aren't defined (that stevan doesn't know), are delegated
brian_d_foy is annoying
he always disagrees with me on stupid issues 01:04
and he's never nice
cm i could use AUTOCHARGE which catapults my laptop's battery power back to 100% right now..
kolibrie grabs svk for home 01:18
svnbot6 r5629, Stevan++ | Per6::MetaModel - 02:39
r5629, Stevan++ | * much work on Dispatcher
r5629, Stevan++ | - added tests for it
r5629, Stevan++ | - moved Dispatcher to seperate file
r5629, Stevan++ | * stub test for attribute handles
r5629, Stevan++ | * 'next METHOD' implemented as next_METHOD()
r5629, Stevan++ | - tests for this
r5629, Stevan++ | * WALKMETH and WALKCLASS iterators implemented
r5629, Stevan++ | - not formally tested, but Object and next_METHOD() use it
03:24 brentdax_ is now known as brentdax
putter autrijus: what is the difference between blib6/lib and blib/lib? If it's p6 vs p5, then I note that yesterday someone on #perl6 was having trouble with ./pugs -Iblib6/lib t/mumble, but succeeded with -Iblib/lib. Which might mean that if they did make install ... So perhaps we still have a problem. 04:32
stevan howdy putter 04:33
p5ugs looks pretty cool
autrijus putter: oh? I don't remember seeing that. the p6/p5 distinction is iirc only broken during that single night 04:34
stevan autrijus: if you find yourself with some free time, I could use a sanity check on design of the MetaClass::Dispatcher work 04:47
svnbot6 r5630, putter++ | Moved PIL-Run/lib/PIL/Run/Root/P5Runtime to PIL-Run/lib6/P5Runtime. Expanation to follow.
autrijus stevan: ok, will do! 04:48
stevan muchas gracias
autrijus np :) I'm still in reading-a-lot-of-papers-before-writing-PIL-evaluator mode
stevan Perl6::Object is in desperate need of a refactor too, I will get to that this weekend 04:49
autrijus but I expect this phase to end in a couple days at most. then I'll be back to hack mode for linking PIL and object space together
cool!
stevan that VB guys paper was pretty good
autrijus yeah, isn't it.
stevan It made me go back and pick up my ML book again
autrijus notes the most fun of pugs development is the constant cycle of 1)learn amazing new stuff and 2)make it happen 04:50
stevan agreed :)
putter howdy stevan 04:58
stevan heya putter :)
finally,.. real Submethods :)
putter :) 04:59
stevan I only had to implement a dispatcher, WALKMETH and next METHOD to get them
putter sigh, looks like my last svn mv director to anotherdirectory confused svn. Even a clean checkout wont let me create a new perl5/PIL-Run/lib/PIL/Run/Root/README. Gives me a 05:00
svn: '.../pugs/lib/PIL/Run' is not a working copy
so progress, _and_ progress! ;) 05:01
stevan :)
thats the great thing about VCS
cd ../; rm -rf pugs; svn co svn.openfoundry.org/pugs
putter did. didn't help. :( 05:02
note the bogus path name in the error message. :( 05:05
svnbot6 r5631, Stevan++ | Perl6::MetaModel -
r5631, Stevan++ | * real honest to goodness submethods (as speced by $Larry)
r5631, Stevan++ | - tests are now active again and passing
r5631, Stevan++ | - had to do some hacks around BUILD and DESTORY which I will
r5631, Stevan++ | try and fix this weekend
stevan putter: removing the entire directory and doing a fresh check out still didnt work?? 05:06
night folks :) 05:08
&
putter correct. suggesting the underlying vcs is borked.
good night. &
autrijus mumbles something about svk iirc has this fixed 05:10
masak seen nothingmuch 05:14
jabbot masak: nothingmuch was seen 4 hours 10 minutes 30 seconds ago
svnbot6 r5632, putter++ | Trying to get svn unbroken.
masak i was going to ask nothingmuch about the phrase "gay camels in denial" in one of his recent emails 05:16
i parsed it as he must have intended, but did a double take on it afterwards 05:17
autrijus hm? 05:18
masak thing is, what are the camels in denial about? 05:19
being camels, or being gay?
autrijus he must have intended the latter
svnbot6 r5633, putter++ | Trying to get svn unbroken.
masak :)
masak pictures a camel coming out of a closet 05:20
Khisanth big closet 05:21
masak or small camel
Darren_Duncan that comment didn't make sense to me either 05:25
svnbot6 r5634, putter++ | Trying to get svn unbroken.
Darren_Duncan I just updated to 5634 ... so far svn seems to work with it 05:26
(my previous post was re nothingmuch' email) 05:27
masak :)
it made sense to me, it was only later that i saw the ambiguity
Darren_Duncan I just don't see what gay has to do with programming 05:28
masak gay can mean happy too
Darren_Duncan yes
masak i think that was his intended meaning
Darren_Duncan in fact, thats the original meaning
it's too bad the word was perverted 05:29
putter Darren_Duncan: could you try editing a file, say something trivial like adding a newline, and checking it in. I can create a README with out attributes, but not with, nor edit or add attributes to it once it exists. All with clean checkouts inbetween. svn--
Darren_Duncan no longer can someone say "let's have a gay old time"
masak sure you can
but not without risking being misunderstood
Darren_Duncan that's the point
masak i read nothingmuch's phrase as "joyous perl-writers who do not admit that they are now functional programmers"
and later as "homosexual camels who refuse to admit being homosexual" 05:30
Darren_Duncan: i wouldn't go so far as saying that the word "gay" was perverted. it was hijacked, that's all 05:32
svnbot6 r5635, putter++ | Trying to work around svn brokenness.
masak happens a lot to positively connotated words
Darren_Duncan both of those words mean 'used differently' in a broader sense
putter, I just updated the ChangeLog and committed it; you should see a new section for 6.2.9 on top ... no errors seen yet 05:33
masak Darren_Duncan: both of what words? 05:34
Darren_Duncan both of 'perverted' and 'hijacked'
masak ah
autrijus lunch, bbiab 05:35
masak and they both have a sort of negative ring to them
Darren_Duncan putter, so that change was actually useful, but served to show that svn seems to be behaving normally
masak but in different ways
Darren_Duncan and of course, we all know another hijacked word ... 'hacker' 05:36
much closer to home that one
putter Darren_Duncan: thank you for your help. appreciated. turned out I was confused.
Darren_Duncan care to explain ... or not?
masak 'perverted' means 'immoral', 'aberrant', 'polluted' (i.e. relating to morality), whereas 'hijacked' means 'annexed', 'stolen', 'swiped' (relating to theft) 05:38
svnbot6 r5636, Darren_Duncan++ | testing that the server works ... added a 6.2.9 template to the ChangeLog
r5637, putter++ | Moved the p5 runtime's p6 code from lib/PIL/Run/Root to a new lib6/. Left a README behind. PIL::Run::Root is the _private scratch space_ for the runtime. It's not a place to put files. Svn is fine - putter was confused. svn ci -m message, single quoted, had possessive quote-s. svn error messages resulted in some odd way from rest of message body.
putter coming up in commit message. was commit message. ci -m'...runtime's ... lib/PIL/Run/Root ...' became the svn ci error svn: 'absolutepath.../pugs/lib/PIL/Run' is not a working copy 05:39
strong hint from the universe that it's time to sleep. putter thanks universe, but observes he knew that 1 hr of svn fiddling ago. :( 05:40
Darren_Duncan yup
putter sigh ;)
masak Darren_Duncan: in other words, i wouldn't say 'gay' has been morally perverted as a word, just stolen by lobbyists to mean something different 05:41
Darren_Duncan what you say is true
putter putter-- putter-- putter-- putter-- # normalizing karma. 05:42
Darren_Duncan and there's lucky #100
masak putter: don't be so hard on yourself. putter++ 05:43
Darren_Duncan remembers a joke about a karma and a dogma
you've probably heard it already, but ask if not ... its a pun 05:44
putter rapl, anyone who understands perl5 installation, see note 1hr10min ago to autrijus... "does the make install smashing user's p5 lib/ problem still exist?".
masak: ;) tnx.
Darren_Duncan smashing!
putter good night all. & ;) 05:45
Darren_Duncan and good night to you also
masak good night
Darren_Duncan and we're back to 99 bottles
masak Darren_Duncan: I think I sense the punchline of the pun, but tell anyway
Darren_Duncan it's the simple phrase, substitute people to flavor: your karma ran over my dogma 05:46
masak ah
masak smiles
Darren_Duncan I think its well known over here, but I don't know about other places 05:47
still, puns are simply by nature, easy to invent, easy to discover or share
masak the whole perl6 community is saturated with in-jokes
Darren_Duncan s/simply/simple/
that joke's origin has nothing to perl though, fyi
masak true
it must be older than that 05:48
Darren_Duncan I'm sure it could be used though, since lots of people on forums talk about karma
especially slashdot
masak :)
Darren_Duncan and just a few minutes ago I found the word is connected with what all that '++' I see here is about 05:49
masak yes
Darren_Duncan before I simply thought it was short hand for "good for you"
aka "good job" 05:50
masak it probably was at first
then someone put a bot here for keeping score
i'm surprised the system isn't misused
Darren_Duncan ah bots ... can't live with them, can't live without them
masak lol
Darren_Duncan I'm aware of the 'eval' and the 'seen' and the commit-reporter, but that's about it 05:51
there's a new one
masak but think about it, it's impressive that nobody has abused the karma system to get lots of karma
Darren_Duncan so how do you query the bot to see the current score?
masak karma Darren_Duncan
jabbot masak: Darren_Duncan has neutral karma
Darren_Duncan so no numbers given then 05:52
masak Darren_Duncan++ # you need karma
karma Darren_Duncan
jabbot masak: Darren_Duncan has neutral karma
Darren_Duncan karma masak
jabbot Darren_Duncan: masak has karma of 11
masak karma autrijus
jabbot masak: autrijus has karma of 574
masak :)
he must be #1 on the karma list
Darren_Duncan frankly, I don't recall ever getting anything but '++', and seem to have gotten about a dozen of them
nothing major but nothing zero
still, I'm not worried about it ... don't bother with artificial inflation 05:53
masak maybe the underscore in your name ruins the regex matching
Darren_Duncan mayhaps
actually, including my commits, it should be up to 30 at least
lets see what putter did to himself a few mins ago ... 05:54
karma putter
jabbot Darren_Duncan: putter has karma of 35
Darren_Duncan still positive
masak don't bother with artificial inflation?
?eval "masak++" xx 20
evalbot6 ('masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++', 'masak++')
masak :P
?eval "masak--" xx 20
Darren_Duncan karma masak
jabbot Darren_Duncan: masak has karma of 11
evalbot6 ('masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--', 'masak--')
masak phew
Darren_Duncan it didn't change from before 05:55
was 11 last time
so, how big a number beside xx until the evalbot gets kicked for flooding?
masak good question 05:56
Darren_Duncan you going to test it?
just not with my name
masak another funny one: can you put a delay on evalbot, and have it say strange things hours later?
Darren_Duncan I wonder if 'sleep' is disabled as unsafe?
masak ?eval sleep 8 05:57
evalbot6 Error: No compatible subroutine found: "&sleep"
Darren_Duncan I know that 'say' is
seems so
masak yep
Darren_Duncan so it won't be easy to do what you suggest
masak maybe a heavy calculation to slow it down
Darren_Duncan another option, unless disabled, is to register a signal handler
or unless that isn't supported by Pugs yet 05:58
Darren_Duncan switching tasks ... ping if you want my attention
masak ?eval my $a = 0; for 1..100000 { $a++; $a-- } "boo!" 05:59
evalbot6 (no output)
masak :(
Juerd Use a lower 100_000 06:02
Like, ehm, 15.
masak Juerd: but i want evalbot to stall for a while. preferable a few hours 06:17
s/ble/bly/
hm. maybe such behaviour could be useful instead of "abuseful" 06:24
like, say, a rememberbot.p6 that keeps track of when people are asking a question to absentees 06:25
and later, when that other person shows up, passes on the question 06:26
the syntax could be something like:
rembot, ask nothingmuch about the gay camels 06:27
and when nothingmuch shows up, rembot says "nothingmuch: masak has a question about the gay camels"
Aankhen`` Morning. 06:36
autrijus greetings Aankhen``. 06:48
Aankhen`` autrijus :-D
What's shakin'?
Juerd masak: It's protected against that, IIRC 06:49
autrijus Aankhen``: nothing much 06:50
Aankhen`` Hrm, I don't see him here... 06:51
:-P
autrijus I'm reading way too many papers 06:52
Aankhen`` Ahh.
autrijus all of them interesting but not all of which useful
gaal autrijus, hey. any thoughts about arranging the hooks for eval.p6?
Aankhen`` Heh.
gaal you mentioned a debugger on the horizon....
autrijus gaal: why, yes, write something that rebinds envEval
gaal (morning all :-)
Aankhen`` Hola gaal++.
autrijus gaal: envEval can be hooked to some user defined funs
simply by reifying Exp somehow
I'm not sure it pays to do that now rather than do it as part of PIL evaluator 06:53
but the basic idea is simple
since all of our evalExp first looks up envEval
once you rebind it you have effectively enabled a different interpreter, lexically
(or rather, dynamically)
eg this prim: sub runwith (Code &evaluator, Code &code) { } 06:54
which simply does a
local (\e -> e{ envEval = (envEval e =<<) . evaluator }) evalExp code
or something like that.
am I making some sort of sense? 06:55
gaal a scary sort.
:)
autrijus oh. good.
it's not unlike &DB::DB.
(assuming you already know what that is) 06:56
gaal i think i understand why this has to be dynamically scoped
the evaluation happens when control reaches runwith 06:57
i'll look into DB::DB
hmm, first i should really finish the build prefs thing 06:58
much easier :)
autrijus yes :)
DB::DB is explained in perldebguts and maybe perldeb 06:59
perldebug I mean
as well as other places
gaal i read the source code once but purely for entertainment purposes.
(of... perldebug.pl was it?) 07:00
my terminal emulator (putty) has started doing something very weird: it drops random characters. 07:01
it didn't use to do that
i'm trying to remember if it started after i dist-upgraded or not 07:02
oh it looks like this screen session is at fault 07:05
too bad, i think it's open for over a hundred days
autrijus does a ^A Z help? 07:07
gaal doesn't that suspend screen?
it's definitely screen and not putty though - when i shell out with that sequence, the bug disapperears. 07:08
autrijus big Z is reset
gaal ah!
no :(
autrijus :(
see you again soon then 07:09
;)
gaal echo '^V^A' doesn't help either (that's reset also, isn't it?
)
i mean, of course it is, but it's the *same* one i think? 07:10
autrijus likely
gaal brb
autrijus I'm afraid there's nothing much you can do then
gaal "Utmp slot not found - not removed" :-( 07:20
this fascination with uptimes is funny and silly at once
the machine itself will celebrate day 200 of uptime this week 07:21
at $work years ago we had a 400 day linux box
then some technitian pulled the plug
it's totally meaningless, but of course it was very sad
autrijus this is not very unlike tamagotchi. 07:22
:) 07:23
forutnately I've never played tamagotchi.
gaal though in screen sessions, there's actually some value lost; shell histories, scrap files, vi open on the first line of a story i want to some day complete...
it's unzen to fret about that - but it's also impossible to work with constant interruptions 07:24
therefore, i will now keep quiet for a bit :-)
autrijus mu :)
cwest autrijus: I just got JSAN on CIA this evening. We're tied on the leader board. :-) 07:33
But of course I'm going to sleep very very soon.
autrijus url to the leader board? :) 07:34
oh. you want svnbot6?
cwest No, I'm going to get CIA's bot on #jsan 07:35
autrijus ok
cwest let someone else do the hard work.
cia.navi.cx/
autrijus sure thing
cwest "Most active authors today"
autrijus congrats :)
cwest Some of that was testing the gateway, the python programmer who wrote ciabot_svn.py broke it.
So I had to fix it, which means I had to add Python to the "list of technologies I never want to know anything about, but do anyway." 07:36
But this is all off-topic and as I said, I must sleep. By the way, anarchistic project management is a dream come true. Thanks for proving it works. :-) 07:37
autrijus go sleep, you mad rhinocamel :) 07:38
I forsee a great deal of fun in your future. :)
well, I'll just be anarchistic on you and unleash svnbot on #jsan :) 07:42
...done
cwest :-)
I love solutions.
cwest & # sleepink da 07:43
gaal say, is it correct for the 'ghci' target in Makefile not to have the same dependencies as $pugs / optimimzed / profiled etc.? 07:45
autrijus probably not.
gaal also shouldn't the interactive pugs also have precompiled prelude, at least optionally? 07:46
autrijus yes.
so by all means improve that :)
gaal okay, so i'm factoring out all the targets that build a pugs to a p5 script that does the yaml/env thing. 07:47
autrijus lubly.
Khisanth gaal: doesn't it have that already? O_O 07:51
gaal doesn't it have what?
Khisanth <gaal> also shouldn't the interactive pugs also have precompiled prelude, at least optionally < that 07:52
gaal oh. no.
Khisanth hmm so something else is making it start much faster? 07:53
gaal the fact that it has no prelude at all? :)
oh
i meant the ghci version
not pugs w/o any params
THAT interactive pugs does have the prelude. 07:54
:)
autrijus also I noted that when I started make ghci with bypass prelude
I end up with something that has no prims at all
but anyway... it should by all means agree with regular pugs
gaal yup.
i don't see where the default make target gets set to something that builds pugs 07:55
there's no explicit 'default'
and the first
aahh
(double colons)--
multiple "pure_all" definitions ;)
Khisanth gaal: it was just make and the ./pugs 08:00
that is the one I am refering to
gaal yes, i see now. i was referring to 'make ghci'. 08:01
i never wanted a portable command-line-armored perl hash serialization format before in my life. hmm. 08:10
migo, hey. are you coming to the hackathon? 08:11
autrijus, is MiniYAML.pm moved up from Config/ on purpose? 08:31
also: i need Perl6::Pugs::Config at build time. okay to 'use lib' in my script? or should that be parametized with MM stuff to take it from blib6? 08:34
autrijus gaal: no, it's not, feel free to move it back 08:37
'use lib' is fine. if this is only build time, move to inc/ 08:38
if it's used in both buildtime and postinstall runtime, use lib lib is fine.
gaal inc it is then, though that probably means i should avoid the Perl6::Pugs part of the namespace to avoid confusion 08:40
this stuff is just a little too big to be put in util/, and a little too hacky to be an independent set of modules :) 08:42
08:50 knewt__ is now known as knewt_
gaal is there any sense at all in leaving in the old inlining mechanism? the one that includes a quoted source prelude and evals it on pugs load. 09:43
currently it's dead code, but if anyone sees the use of it i can make it optional. 09:44
it removes the requirement of pugscc always working :) but i'm not sure if that's a pro. 09:45
autrijus just ditch it :) 10:06
gaal k
is IPC::Open2 core in 5.6? remind me again where the core module list lives? 10:21
Maddingue IPC::Open2 was first released with perl 5.000 10:22
gaal good enough for us, thanks. 10:23
Maddingue for the core modules list, Module::CoreList, which installs the command corelist
gaal great, thank you :) 10:24
Maddingue no problem :) 10:26
gaal autrijus, is Pugs.CodeGen.PIR.Prelude.hs still active? 10:33
i wasn't aware that src/gen_prelude was handling that 10:34
integral Pugs.Compile.Pugs2 might also be removed as it's not hooked into Pugs.CodeGen 10:36
gaal integral, please remove it then. i don't know that part of the source tree 10:38
integral doesn't really know that module either 10:39
gaal um, its svn log is only two commits long.. frozen lead? 10:41
integral hmm, must be, I'll just remove it then :-) 10:43
gaal hmmm, it looks like CodeGen.PIR is indeed using a source-inlined prelude. 10:44
so we're stuck with src/gen_prelude :) 10:45
svnbot6 r5638, gaal++ | drop source-inlined Prelude from build (but note that src/gen_prelude 10:50
r5638, gaal++ | is still used for by Pugs.CodeGen.PIR.Prelude)
Aankhen`` ?eval ('a', 'b', 'c', 'd').sort:{ $^b cmp $^a } 10:56
evalbot6 ('d', 'c', 'b', 'a')
Aankhen`` ?eval time 10:57
evalbot6 174826629.213414
Aankhen`` ?eval int(time)
evalbot6 174826641
Aankhen`` ?eval my $now = time; ($now, int($now))
evalbot6 (\174826661.209474, 174826661)
Aankhen`` ?eval while (1..10) { $_ } 10:59
evalbot6 (no output)
Aankhen`` ?eval my $i = 0; while (1..10) { next } continue { $i++ }; $i++
evalbot6 (no output)
Aankhen`` ?eval my $i = 0; while (1..10) { next } continue { $i++ }; $i 11:00
evalbot6 (no output)
11:09 Aankh|Clone is now known as Aankhen``
Aankhen`` ?eval sub foo { @_ }; my $quux = "hahahaha"; foo(:bar<baz>, :quux($quux)) 11:20
evalbot6 []
Aankhen`` ?eval sub foo ($bar, $quux) { ($bar, $quux) }; my $quux = "hahahaha"; foo(:bar<baz>, :quux($quux)) 11:21
evalbot6 (\'baz', \'hahahaha')
QtPlatypus ?eval sub foo (*@bar) { (@bar) }; foo ("A"=>"pair"); 11:26
evalbot6 []
QtPlatypus ?eval sub foo (*@bar) { (@bar) }; foo ("A","pair");
evalbot6 ['A', 'pair']
QtPlatypus wonders if thats the correct responce.
Aankhen`` I think that's a little messed up... 11:27
wolverian maybe *%_ is implicit?
Aankhen`` Hmm... 11:28
?eval sub foo (*@bar) { *%_ }; foo (:A<pair>);
evalbot6 Error: Undeclared variable: "%_"
Aankhen`` ?eval sub foo (*@bar) { @bar }; foo (:A<pair>);
evalbot6 []
Aankhen`` I love the LOTR soundtrack. 11:29
?eval index('foo', 'fo') 11:30
evalbot6 0
Aankhen`` ?eval index('foo', 'o')
evalbot6 1
Aankhen`` ?eval 'foo'.index('oo')
evalbot6 1 11:31
QtPlatypus ?eval my $i=0;my @lazy = given { for (1..10) { $i++;take $_ } };($i,shift @lazy,$i); 11:34
evalbot6 Error: No compatible subroutine found: "&given"
Aankhen`` ?eval my $i=0;my @lazy = gather { for (1..10) { $i++;take $_ } };($i,shift @lazy,$i);
evalbot6 (\10, 1, \10)
QtPlatypus ?eval my $i=0;my @lazy = gather { for (1..10) { $i++;take $_ } };($i,shift @lazy,$i);
evalbot6 (\10, 1, \10)
QtPlatypus ?eval my $i=0;my @lazy = lazy {gather { for (1..10) { $i++;take $_ } }};($i,shift @lazy,$i);
evalbot6 (\10, 1, \10)
masak why is the $i a ref to 10? 11:35
Aankhen`` ?eval my $foo = 10; $foo
evalbot6 \10
masak does that explain it? :) 11:36
wolverian ?eval my $foo = 10; +$foo
evalbot6 10
wolverian it's a ref until you don't want it to be.
masak ok
why a ref from the beginning?
Aankhen`` [17:06:00] <masak> does that explain it? :) # it was supposed to :-P
masak why would i ref 10?
QtPlatypus masak: varables in a scaler context return refs to themselves. 11:37
masak yes...
but usually to things stored somewhere
10 is just an abstraction
like "love" or "justice" 11:38
:) 11:39
my point is, i think, that in p5 land backspace returns the reference to a piece of data 11:40
which is stored in memory somewhere
the natural numbers are not stored in memory somewhere
so where does the reference go? 11:41
QtPlatypus Its a pointer to the box that $foo uses to store 10 (I think) 11:44
masak QtPlatypus: is there only one box with a 10 in it, or can there be several? 11:46
QtPlatypus ?eval sub odd (Code $code) {...};sub odd(Int $code) {...}; odd(1);odd {1}; 11:47
evalbot6 *** ... - not yet implemented at <eval> line 1, column 23-26
QtPlatypus ?eval sub odd (Code $code) {2};sub odd(Int $code) {2}; odd(1);odd {1};
evalbot6 2
QtPlatypus ?eval sub odd (Code $code) {2};sub odd(Int $code) {3}; odd(1);odd {1};
evalbot6 2
QtPlatypus ?eval sub odd (Code $code) {2};sub odd(Int $code) {3}; odd {1}; 11:48
evalbot6 2
QtPlatypus ?eval sub odd (&code) {2};sub odd(Int $code) {3}; odd {1};
evalbot6 2
QtPlatypus ?eval sub odd (&code) {2};sub odd(Int $code) {3}; odd(2);
evalbot6 3
QtPlatypus ?eval sub odd (&code) {2};sub odd(Rule $code) {3}; odd /a+/;
evalbot6 3
QtPlatypus Ok, that a bug that must have been solved since my last version. 11:49
masak: I don't have any clue.
?eval my @code = (1,2,3);@code;
evalbot6 [1, 2, 3]
11:58 Aankh|Clone is now known as Aankhen``
Limbic_Region ?eval my @code = 1...; @code; 12:03
evalbot6 pugs: out of memory (requested 1048576 bytes)
Limbic_Region heh
?eval my @code = 1...; @code[42]; 12:04
evalbot6 pugs: out of memory (requested 1048576 bytes)
Limbic_Region definately not lazy
masak is there any way to write a backslash as a single backslash within a string in perl6? 12:11
coral what's the syntax for an OR junction?
masak coral: `|` 12:12
coral ?eval my @code = 1..3;@code;
evalbot6 [1, 2, 3]
coral ?eval my @code = (0|1)..(3|4);@code;
evalbot6 [(((0, 1, 2, 3) | (0, 1, 2, 3, 4)) | ((1, 2, 3) | (1, 2, 3, 4)))]
coral ?eval my @code = (0|1)..10;@code; 12:13
evalbot6 [((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) | (1, 2, 3, 4, 5, 6, 7, 8, 9, 10))]
coral thanks
QtPlatypus Thats an incredably powerfull/dangerious tool.
masak impressive.
coral ?eval my @code = 0 x 3; 12:14
evalbot6 ['000']
coral so to make that a listop i probably append or surround it..
QtPlatypus ?eval (a|b|c) x 3
evalbot6 Error: No compatible subroutine found: "&a"
QtPlatypus ?eval ("a"|"b"|"c") x 3
evalbot6 'aaa'
coral ?eval (0|1) >>x<< 3 12:15
evalbot6 Error: Hyper OP only works on lists
coral heh
i guess a junction technically isn't a list
?eval (0|1)
evalbot6 0
coral ?eval sub decision () returns Int { (0|1) } decision x 3 12:20
evalbot6 '000'
coral ?eval sub decision () returns Int { (0|1) } decision for 1..10
evalbot6 undef
coral ?eval sub decision ($length) returns Int { (0|1) for 1..$length } decision(10) 12:21
evalbot6 undef
coral reads more
QtPlatypus coral: Your missing a ";" 12:23
coral ?eval sub decision ($length) returns Int { (0|1) for 1..$length; } decision(10);
evalbot6 undef
coral hmm.
sub {}; # ?
QtPlatypus I ment between } and decision 12:24
coral ?eval sub decision ($length) returns Int { (0|1) for 1..$length; }; decision(10);
evalbot6 undef
coral ?eval sub decision ($length) returns List { (0|1) for 1..$length; }; decision(10); 12:25
evalbot6 undef
coral ?eval sub decision (Int $length) returns List { map:{ (0|1) } 1..$length; }; decision(3); 12:29
evalbot6 Error: unexpected "1" expecting adverbial block, term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
coral ?eval sub decision (Int $length) returns List { map -> { (0|1) } 1..$length; }; decision(3); 12:30
evalbot6 ()
coral erg, can't privmsg it. sorry for the noise.
QtPlatypus ?eval sub decision (Int $length) returns List { map { (0|1) } 1..$length} decision(3);
evalbot6 ((0 | 1), (0 | 1), (0 | 1))
coral oh, duh. ok 12:31
QtPlatypus++
QtPlatypus mmms
?eval sub decision (Int $length) returns List { map { (0|1) } 1..$length}; [|] decision(3);
evalbot6 Error: Cannot reduce() using a unary or nullary function.
QtPlatypus !!! 12:32
coral ?eval sub decision (Int $length) returns List { map { [|] (0|1) } 1..$length} decision(3);
evalbot6 Error: Cannot reduce() using a unary or nullary function.
coral ?eval sub decision (Int $length) returns List { map { "" _ (0|1) } 1..$length} decision(3);
evalbot6 Error: unexpected "{" expecting operator, postfix conditional, postfix loop, postfix iteration, ";", "}", ":" or term postfix
QtPlatypus ?eval [|] (1,2,3,4,5)
evalbot6 Error: Cannot reduce() using a unary or nullary function.
coral heh, nope.
masak ?eval my @a; push @a, ["." xx 3] for 1..3; @a[any(0..2)][any(0..2)] eq "." 12:33
evalbot6 Error: cannot cast from VJunc any(VInt 0,VInt 1,VInt 2) to Double (VNum)
masak does anyone know if the above should work?
i think it should
QtPlatypus ?eval my @a; push @a, ["." xx 3] for 1..3;any(@a[0..2][0..]) eq "."; 12:34
evalbot6 Error: unexpected "a" expecting ";", statements or end of input
QtPlatypus ?eval my @a; push @a, ["." xx 3] for 1..3;any(@a[0..2][0..2]) eq ".";
evalbot6 bool::false
QtPlatypus That's not right. 12:35
masak no
coral ?eval sub decision (Int $length) returns List { map -> { (0|1) } 1..$length; }; map { "$_" } decision(3);
evalbot6 ()
QtPlatypus ?eval my @a; push @a, ["." xx 3] for 1..3;@a 12:36
evalbot6 [('.', '.', '.'), ('.', '.', '.'), ('.', '.', '.')]
coral aha!
?eval (0|1) xx 3
evalbot6 (0, 0, 0)
coral ?eval (0|1) xx 10
evalbot6 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
masak huh?
bug?
QtPlatypus nods "I think so" 12:37
Two bugs.
Coral's bug and Masak's one.
masak doesn't like junction bugs
they're hard to write tests for
coral ?eval sub decision (Int $length) returns List { map -> { (0|1) } 1..$length; }; decision xx 3;
evalbot6 Error: No compatible subroutine found: "&xx"
coral ?eval sub decision (Int $length) returns Int { (0|1) }; decision xx 3; 12:38
evalbot6 Error: No compatible subroutine found: "&xx"
QtPlatypus And my reduce bug.
coral ?eval sub decision (Int $length) returns Int { (0|1) }; (decision) xx 3;
evalbot6 Error: unexpected ")" expecting term
masak so, three bugs
coral ?eval sub decision (Int $length) returns Str { (0|1) }; my @a; push @a, decision for 1..10; @a 12:39
evalbot6 Error: unexpected "d" expecting block construct, term, ":", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input reserved word
coral ?eval sub decision (Int $length) returns Str { (0|1) }; my @a; push @a, &decision() for 1..10; @a 12:40
evalbot6 Error: No compatible subroutine found: "&decision"
masak ?eval my @a; push @a, ["." xx 3] for 1..3; @a[any(0..2)][any(0..2)]
evalbot6 Error: cannot cast from VJunc any(VInt 0,VInt 1,VInt 2) to Double (VNum)
coral ?eval sub decision () returns Str { (0|1) }; my @a; push @a, &decision() for 1..10; @a
evalbot6 [(0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1)]
coral half the battle
masak ?eval my @a; push @a, ["." xx 3] for 1..3; @a[any(0..2)]
coral ?eval sub decision () returns Str { (0|1) _ ".0" }; my @a; push @a, &decision() for 1..10; @a
evalbot6 Error: cannot cast from VJunc any(VInt 0,VInt 1,VInt 2) to Double (VNum)
Error: unexpected "_" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
QtPlatypus humms.
masak ?eval my @a = ('a', 'b', 'c'); @a[any(0..2)] 12:41
evalbot6 Error: cannot cast from VJunc any(VInt 0,VInt 1,VInt 2) to Double (VNum)
QtPlatypus ?evam my $junc = (0,1); $junc |= $junc for (0..4);
?eval my $junc = (0,1); $junc |= $junc for (0..4);
evalbot6 undef
QtPlatypus ?eval my $junc = (0|1); $junc |= $junc for (0..4); 12:42
masak hm. "my @a = ('a', 'b', 'c'); @a[any(0..2)]" i think that's my minimal test case
evalbot6 undef
coral ?eval 0+(0|1)
evalbot6 0
coral ?eval 0+(0|1)
evalbot6 0
QtPlatypus ?eval my $junc = (0|1); $junc |= (0|1) for (0..4);
evalbot6 undef
coral ?eval sub decision () returns Str { (0|1) }; my @a; push @a, 0+&decision() for 1..10; @a
evalbot6 [(0), (0), (0), (0), (0), (0), (0), (0), (0), (0)]
masak ?eval 'a'|'b'|'c'
QtPlatypus ?eval my $junc = (0|1); $junc |= (0|1);$junc
evalbot6 'a'
\(0 | 1)
masak huh?
oh, that's coral's bug again :) 12:43
QtPlatypus ?eval my $junc = (0|1); $junc |= (0|1) for (0..5);$junc
evalbot6 \(0 | 1)
coral ?eval sub decision () returns Str { ('early'|'later'|'later2'|'later3') }; my @a; push @a, 0+&decision() for 1..10; @a
evalbot6 [(0), (0), (0), (0), (0), (0), (0), (0), (0), (0)]
coral ?eval sub decision () returns Str { ('early'|'later'|'later2'|'later3') }; my @a; push @a, &decision() for 1..10; @a
evalbot6 [('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3'), ('early' | 'later' | 'later2' | 'later3')]
masak ?eval 0|1|2
evalbot6 0
masak hmm, maybe not a bug, by the way
coral ?eval map { (0|1) } 1..10
evalbot6 ((0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1), (0 | 1))
coral isn't there a verb for collapsing a junction?
masak "collapsing" :) 12:44
QtPlatypus coral: What do you mean by collapsing?
coral ?eval my $a = (0|1); say $a;
evalbot6 any(VInt 0,VInt 1) bool::true
coral oh, gee
heh
is there any method for picking one state from the junction? 12:45
QtPlatypus Test it against a predicate.
coral ?eval my $a = (0|1); $a == 1; 12:46
evalbot6 bool::false
coral ?eval my $a = (0|1|2|3|4|5|6|7); $a > 0;
evalbot6 bool::false
coral reading more
QtPlatypus ?eval my $a = any (0,1,2,3,4,5,6,7); $a >0; 12:47
evalbot6 bool::false
QtPlatypus ?eval my $a = all (0,1,2,3,4,5,6,7); $a >0;
evalbot6 bool::false
QtPlatypus ?eval any (0,1,2,3,4,5,6,7) >0;
evalbot6 bool::true
QtPlatypus ?eval my $a = all (0,1,2,3,4,5,6,7); $a >=0;
evalbot6 bool::true
coral ?eval map { any(0,1) > 0 } 1..10; 12:48
evalbot6 ((bool::false | bool::true), (bool::false | bool::true), (bool::false | bool::true), (bool::false | bool::true), (bool::false | bool::true), (bool::false | bool::true), (bool::false | bool::true), (bool::false | bool::true), (bool::false | bool::true), (bool::false | bool::true))
coral d'oh
QtPlatypus Damn, it looks like the junctions loose there juntive nature when there assigned.
?eval any (0,1,2,3,4,5,6,7);
evalbot6 0
QtPlatypus Or for some other reson.
masak they're completely un-juncted 12:49
coral ?eval ^(0|1)
evalbot6 Error: unexpected "^" expecting program
masak ?eval all(0,1,2,3,4,5,6,7) 12:50
evalbot6 0
coral ?eval one((0|1))
evalbot6 0
coral ?eval one((0|1))
evalbot6 0
coral ?eval one((1|0))
evalbot6 0
QtPlatypus ?eval all(1,2,3,4)
evalbot6 1
masak it just picks the first one all the time
coral i see synopsis 9 12:51
but no exe or apoc :(
synopsis 9 hints at one()
?eval one(1,5,6,56,6,6,5,54,4,4,0)
evalbot6 4
QtPlatypus !!!
masak huh? 12:52
coral ?eval map { one(0,1) == 0 } 1..3
evalbot6 ((bool::false ^ bool::true), (bool::false ^ bool::true), (bool::false ^ bool::true))
coral haha
masak ?eval 1^2^3^0 12:53
evalbot6 0
coral ?eval (1^2^3^4^5^6^7)
evalbot6 1
QtPlatypus 6> 0
coral ?eval (7^1^2^3^4^5^6)
evalbot6 1
coral righto
coral walks over to an alcove and turns into a dusty hunk of armor 12:54
masak junctions are weird
QtPlatypus I think the junctions are broken at the moment.
coral ?eval say one(0,1)
evalbot6 one(VInt 0,VInt 1) bool::true
masak where does the bool::true come from?
QtPlatypus ?eval say all(1,2,3,4)
evalbot6 all(VInt 1,VInt 2,VInt 3,VInt 4) bool::true
QtPlatypus From say 12:55
masak ah
?eval all(1,2,3,4)
evalbot6 1
masak ?eval say one(1,2,3)
evalbot6 one(VInt 1,VInt 2,VInt 3) bool::true
masak ?eval @a=(0,1,2); say @a[any(0,1,2)] 12:56
evalbot6 Error: Undeclared variable: "@a"
masak oops
?eval my @a=(0,1,2); say @a[any(0,1,2)]
evalbot6 Error: cannot cast from VJunc any(VInt 0,VInt 1,VInt 2) to Double (VNum)
masak that's my test!
it should stringify to "any(0,1,2)" :) 12:57
masak writes test
QtPlatypus I don't think its a stringification issue 12:58
coral perl5 Quantum::Entanglement discusses the 'Observational operators'. 12:59
"Whenever you perform an operation on an entangled variable which should increase your level of knowledge about the value of the variable you will cause it to collapse into a single state or set of states."
i'm looking for a way to trigger that 'collapse' in perl6 junctions
masak ?eval my $j = (1 | 2 | 3); ref($j) 13:01
evalbot6 ::Junction
masak that's good
seen svnbot 13:28
jabbot masak: I havn't seen svnbot, masak
svnbot6 r5639, masak++ | Committed test for @a[any(0..2)] bug
masak jabbot, sorry. i meant svnbot6
jabbot masak: Apologies are not necessary.
masak great
nevertheless 13:29
just for kicks:
jabbot, have you seen svnbot6 ?
jabbot masak: You're not really talking about me -- are you?
masak jabbot, no 13:30
jabbot masak: Why not?
masak lol
seen svnbot6
jabbot masak: svnbot6 was seen 1 minutes 56 seconds ago
masak jabbot, now was that so hard?
jabbot masak: I'm not sure I understand you fully.
masak i see
nothingmuch damnit 14:02
i reinsalled the OS, and safari STILL crashes on the jsan website
masak nothingmuch: maybe safari is at fault, not the OS 14:32
nothingmuch masak: installing the OS == installing everything, including safari 14:35
masak what i mean is that it might not help to reinstall your OS, if there really is a bug in safari 14:40
nothingmuch masak: others can't reproduce it 14:41
stevan_ nothingmuch: what is broken about jsan? 14:43
nothingmuch stevan_: safari loads 2-3 pieces of the site 14:44
then i'm guessing JS kicks in
and it does a pizzaball freeze 14:45
stevan_ ah
nothingmuch yup
if I disable js it doesn't crash
*sigh*
stevan_ it works fine for me (safari but not Tiger)
use firefox maybe?
nothingmuch it works fine for cwest too
firefox is not responsive
clicks are delayed by like 2 seconds
i hate it
stevan_ nothingmuch: maybe you computer is broken? 14:46
nothingmuch stevan_: no clue
stevan_ I think maybe you need a bigger screen
nothingmuch yeah, that might be it
any 22" inch laptops ? 14:47
stevan_ 30" would be better
however, then you would need to upgrade your lap
nothingmuch it'll need to fold on 3 axes
stevan_ nothingmuch: if you find yourself bored, can you please look over the MetaClass::Dispatcher code 14:48
perl5/Perl6-MetaModel/lib/Perl6/MetaClass/Dispatcher.pm
and if you are really bored implement a post-order traversal 14:49
nothingmuch hold on, need to reinsall svk
stevan_ *sigh* it's always something :P 14:50
stevan_ is using irssi for the first time, it is actually kinda nice
nothingmuch very nice 14:54
get the growl script
and get a billion other scripts from the irssi scripts repo
nothingmuch types Ć¼mlauts
and עב×Øי×Ŗׄ 14:55
almost works for hebrew
stevan_ almost
it is running on feather right now, cause I am on my wife's computer :)
dudley nothingmuch: Just to not be helpful at all, jsan worksforme on tiger. 14:56
stevan_ nothingmuch: maybe you should reinstall the last few system update 14:58
s
nothingmuch stevan_: that's what I'm doing right now
stevan_ then whatever it was you broke will be fixed :)
nothingmuch: :)
nothingmuch stevan_: get it through darwinports for OSX if you like it
stevan_ what? irssi? 14:59
autrijus: would you mind posting a list of the papers you are currently reading (and finding interesting) somewhere? the wiki perhaps? 15:03
nothingmuch yes, irssi 15:08
stevan_ oh, nothingmuch I think masak was wondering about your "gay camels in denial" comment
I dont think many people know how gay lambda is 15:09
masak nothingmuch: yes, backlogging to find what i was wondering
ah, here it is: 15:10
'i was going to ask nothingmuch about the phrase "gay camels in denial" in one of his recent emails'
' i parsed it as he must have intended, but did a double take on it afterwards'
nothingmuch i had a little link in that email
pointing to lambda.org
masak yes, yes
' thing is, what are the camels in denial about? '
' being camels, or being gay?' 15:11
nothingmuch camels is the other part
and the in denial refers to people like Juerd and myself, who keep beating dead horses which are dead for the wrong reasons
masak so the camels are in denial about being lambda, correct?
stevan_ no, they are in denial about their effectiveness in the perl6 design process 15:12
masak about whose effectiveness?
the lambdas?
stevan_ nothingmuch wants everything to be MMD and Juerd wants ./method
and everyone thinks they are gay for wanting it 15:13
masak that's a rather strange use of "gay"
stevan_ masak: I am only kidding :)
masak good :)
stevan_ nothingmuch is a lesbian though
masak yes, but that surely has nothing to do with wanting everything to be MMD 15:14
stevan_ thats what you think ;)
masak lol
stevan_ masak: it all depends on what MMD really means 15:15
right nothingmuch ?
nothingmuch =)
bah! network issues
if MMD is homogenic, then.... ;-) 15:16
masak will never be able to hear "MMD" without blushing from now on
stevan_ masak: its a good thing it doesn't come up regularly in polite converstation then 15:20
masak stevan_: true. unless you're at a perl conference 15:21
stevan_ masak: yes, but I said "polite" converstaion :)
masak stevan_: :) 15:22
stevan_ ok, time to go hang out with the kids, bye all 15:24
clkao t/builtins/arrays/shift............................pugs: *** Can't locate Test.pm in @*INC (@*INC contains: /Users/clkao/work/pugs/blib6/lib /System/Library/Perl6/darwin-thread-multi-2level /System/Library/Perl6 /Library/Perl6/darwin-thread-multi-2level /Library/Perl6 .). 15:53
why do i still get this?
killing all stupid pm_to_blib files does the trick 15:56
nothingmuch stevan: ping 16:25
stevan nothingmuch: pong 16:42
what can I do for you my friend 16:43
nothingmuch sorry, confusion 16:51
nothingmuch is being driven up the wall by unidentifiable reasons
anywho, i don't know what you meant by post order traversa
l
try the last class in the ISA tree? 16:52
or superclasses first?
stevan instead of traversing down the tree
you go back up
nothingmuch and I also don't see how it makes sense =)
stevan you process the children first
then the parents
in pre-order, you process the parents first, then the children
thats what I have right now
but AS12 specifies that the dispatcher should handle many diff types of traversal 16:53
pre and post being two of them
breadth first being another
least derived first, most derived first
etc
just a sanity check on the current code would be nice too ;)
nothingmuch pre order is not parent first 16:54
stevan sorry
parent is wrong in that context
nothingmuch it's left to right 16:55
and post is right to left
and neither makes sense for class hierarchies
stevan process the current class first, then all it's super classes
nothingmuch i think we want transparently recursive lookups:
sub can {
stevan that would be least derived 16:56
nothingmuch gather { for @superclasses { take if .can($meth) } }
}
stevan you forgot about the current class
nothingmuch err, something along those lines, only not so wrong
right
you start with the current class, if it can't, you go to the parents, and try them one by one
and this process is recursive
stevan well, maybe pre/post-order is not the correct terms in this context
nothingmuch you don't need to make it recursive, since lookup on the parent just works ajnyway 16:57
stevan nothingmuch: thats what I have in Dispatcher
the dispatcher is basically a stack of stateful closures
so it can be resumed easily
cause next METHOD needs to be able to do that 16:58
but it only does least-derived order 16:59
(normal OO dispatch order) 17:00
I need to figure out how to do most-derived order as well
think of it this way
most-derived is how BUILD runs
and least-derived is how DESTORY runs
search.cpan.org/~ingy/Perl6-Bible-0...TH_Caching 17:01
doh
that is backwards
DESTORY is most-derived, BUILD is least-derived
pdcawley DESTORY? *nice* typo. 17:19
svnbot6 r5640, Stevan++ | Perl6::MetaModel - 18:08
r5640, Stevan++ | * MetaClass->class_precedence_list now uses the dispatcher (it should use WALKCLASS really)
r5640, Stevan++ | - added some tests for this as well
r5640, Stevan++ | - fixed the metaclass tests which this work broke (now it is right, before it was wrong)
stevan hmm, dare I say it... but Python 2.3's method resolution order is very nice (python.org/2.3/mro.html) 19:43
of course they stole it from Dylan
and now we will steal it from them
muhahhahahaha
dudley --- svn.openfoundry.org ping statistics --- 19:53
25 packets transmitted, 0 packets received, 100% packet loss
Aankhen`` G'night. 20:45
stevan dudley: if you want you can use svn.perl.org/perl6/pugs/trunk/ but it is read only (unless you have an account there) 20:57
masak autrijus complains in his blog about the lyf being so short 21:21
i wish i had half of his paper grokking speed, though, that would make the craft less longe to lerne 21:22
rafl Hm. pugs was rejected by the Debian FTP masters. We need to wait for ghc6 to be built against libgmp3c2 until pugs can go into the archive. 21:37