Check your feather email | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | www.treehugger.com/files/th_images/paradigm.jpg
Set by audreyt on 29 August 2006.
diakopter there is Devel::Size. I wonder if it discounts self-nested references, like Data::Dumper 00:04
00:15 justatheory joined
TreyHarris can somebody with a working pugs svn checkout help me out with something? should only take a minute or two.... 00:17
markstos feather needs a little help from audrey or an admin. Running pugs there returns: "user error (Incompatible version number for compilation unit
Consider removing /usr/local/lib/perl6/Prelude.pm.yml and make it again"
00:17 plisk__ joined
markstos TreyHarris: I'll try {}. 00:17
TreyHarris markstos: yes, gaal was looking for sudo to fix it himself, but he didn't find it
markstos: what OS are you building under?
markstos I'm on feather, (Linux), but also have an older pugs on FreeBSD, which doesn't have Parrot or Perl5 support. 00:18
TreyHarris oh
well, if feather's pugs doesn't work, and that's what you're using, i think we're not going to get anywhere :-)
markstos "looking for sudo" ? I assume you mean looking for some kind of access rights, not looking for the binary, which is /usr/bin/sudo 00:19
TreyHarris looking for sudoers access
markstos pugs works on feather, it's just a warning that slows things down a wee bit and is annoying. 00:20
TreyHarris yeah, without parrot or perl 5, your BSD won't help me either, as there's a couple regexps in the script i wanted you to try
ah, ok, in that case, try running util/test_loh_segfault.pl 00:21
(i committed it in r12932)
markstos It just printed out some instructions...
TreyHarris follow them :-) 00:22
markstos segfault.
TreyHarris email me the yaml please when you're done? 00:23
markstos TreyHarris: sent, from my feather account. 00:26
It said "success: y", where I guess success is defined as segfaulting...
?eval my @a = ( { a => 1}, { b => 2 } ); say @a.perl; 00:28
00:28 evalbot_12929 is now known as evalbot_12934
evalbot_12934 user error (Incompatible version number for compilation unit Consider removing blib6/lib/Prelude.pm.yml and make it again ) OUTPUT[[{("a" => 1),}, {("b" => 2),}] ] Bool::True 00:28
markstos TreyHarris: I think it's something about the interactive pugs, since it is segfault-free, otherwise. 00:29
00:29 azr|elious is now known as azr|el
TreyHarris markstos: thank you :-) 00:30
yes, "success in duplicating the segfaulting issue" :-)
interesting, in your yaml, were the last three ? items (pugs_revision, success, uname) all indented farther to the right than the other items? 00:31
00:31 aufrank joined
aufrank hi hi 00:32
markstos TreyHarris: probably not. It was probably pasting into vim that did that.
TreyHarris ah, ok
thanks
markstos TreyHarris: This fails too: pugs -e 'say ({a => 1}, {b => 2}).perl'
By failure, I mean "fails to reproduce the segfault issue"
success: f 00:33
TreyHarris yeah, i spent some hours looking for some way to reproduce it non-interactively, since obviously that is a very non-optimal way to test
hmm. i suppose i could probe for Expect, and use that....
TreyHarris hrms
markstos TreyHarris: But if it's reproducible on feather, it will be easy for audrey and and a number of others to work with it. 00:35
TreyHarris guess so. since gaal couldn't reproduce it, i thought maybe gathering info on OS, GHC, etc. might be helpful 00:40
markstos In Perl 5, I could say "$meth->$name". Even after re-reviewing S12, I'm having trouble finding something that works like $meth.$name in Perl6. hints ? 00:53
TreyHarris um... i'm confused. $meth is a reference to a method, and $name is... what? 00:55
markstos A method name. 00:56
But it's determined at run time, so it I can't just be $meth.something_concrete.
TreyHarris huh, i've never seen that before. so you'd have "sub foo... my $f = \&foo; my $foo = "foo" ... $f->$foo"? and what would that do? 00:57
wolverian markstos, do you mean $obj->$meth?
markstos Yes!
Sorry.
wolverian hm. I don't know. any tests for it? 00:58
TreyHarris oh. IIRC, that was one of the first questions you asked when you arrived on #perl6. :-) maybe you didn't understand the answer then?
markstos Or I have a short memory 00:59
Trey who?
;)
Please freshen my buffer.
TreyHarris ?eval class Point { has $.x is rw; has $.y is rw; method dist { sqrt($.x**2 + $.y**2) } }; my $meth = &Point::dist; my Point $p .= new(x => 2, y => 3); say $meth($p:); 01:03
evalbot_12934 user error (Incompatible version number for compilation unit Consider removing blib6/lib/Prelude.pm.yml and make it again ) OUTPUT[3.605551275463989 ] Bool::True
TreyHarris make sense?
wolverian I'm not sure why $p.$meth wouldn't work
(but it doesn't)
TreyHarris $meth($p:) 01:04
wolverian yes, I am not blind, thanks. :-)
I am just wondering about the other syntax.
TreyHarris wolverian: sorry, i was giving that as markstos's answer, not correcting you. 01:05
wolverian oh, sorry, then.
aufrank does $p: $meth; work?
markstos TreyHarris: Thanks. testing now.
TreyHarris $p.$meth doesn't work because $meth could potentially be anything, maybe a reference to a sub or a method even outside of $p's class 01:06
wolverian aufrank, that makes no sense, I think.
TreyHarris so we have to call it as a subroutine, not as a method
using the colon to force $p to be taken as invocant
markstos TreyHarris: Yes, I recognize the use of the colon for that purpose now. 01:07
My own test isn't working, though. I'm reviewing what I might be doing differently now.
I figured it out. "$p" has to be a coderef, not just a scalar as can be the case in Perl5. 01:08
aufrank wolverian: no sense why?
TreyHarris markstos: $p a codref? no, $p must be an object, and $meth must be a routineref 01:09
or rather, $meth must be Routine, and $p must be consistent with $meth's invocant's type
markstos TreyHarris: Sorry, I was using Perl5 spec. That's what I meant.
s/spec/speak/ 01:10
TreyHarris and you swapped your varnames again ;-)
back in a few &
markstos We all have our strengthnesses and weaks. 01:11
wolverian weaknesses 01:13
er
yeah, mine is being blind to irony. 01:14
markstos :)
Here's what I was looking for. By using a symbolic reference, the $meth can be a scalar, rather than a Routine. 01:19
?eval class Foo; method foo () { say "found!"; } my $obj = Foo.new; my $rm = 'foo'; &::($rm)($obj:);
evalbot_12934 user error (Incompatible version number for compilation unit Consider removing blib6/lib/Prelude.pm.yml and make it again ) OUTPUT[found! ] Bool::True
01:23 kanru joined
aufrank markstos: why's it so important that you use $meth = 'foo' and not $meth = { say "found!" } ? 01:26
(curious, not dubious)
markstos This is the dispatch system of CGI::Application. Ther defines the strings that correspond to the possible methods that can be dispatched. 01:27
s/Ther/The user/ 01:28
aufrank I see
markstos To turn the strings into code references beforehand would be more work.
aufrank I know you've been looking at the given/when construct... could users define possible method names there, along with blocks? 01:29
markstos But this is a prefect use of symbolic references in Perl6, so I'm happy.
I haven't tried,
and I'm not familiar enough the spec to say for certain.
aufrank given $input { when <foo> { say "found!" }; when bar { say "want a pint?" } }
s/bar/<bar>/ 01:30
markstos so you are suggesting using given/when as a dispatch system for this case ? 01:31
aufrank just wondering if it would work 01:32
markstos It might. I'm happy with the symbolic ref solution for now. I don't see any drawbacks to it.
aufrank yeah, I think the way that the given/when dispatch would fit in would be complementary to your approach, not replace it 01:33
markstos Ah.
aufrank if you had certain method names that you wanted to provide defaults for, you could dispatch to those specifically, and then your fallthrough could be the symbolic ref approach 01:34
markstos But there is one default, called AUTOLOAD, and I've already handled that case.
I used the !! ?? construct to handle that part. 01:35
aufrank makes sense
just for completeness sake, this is what I'm thinking of (I think). given $input { when <known_argument> { say "this one is built in" }; default { &::($_)($input:);} ; } 01:37
markstos I see. 01:38
aufrank just wanted to work through it for my own sake ;)
markstos If I call routine(self:), it should still find "routine" even if it's in a parent class, since 'self' is the invocant, right ? 01:50
I think it should, so I'll write a test. :) 01:53
Ok. I committed a new failing test. From a grep, it seemed there weren't other tests for the interaction between symbolic refs and OO. 02:03
svnbot6 r12935 | markstos++ | Commit test: &::($meth)(self:) should find method in parent class
r12935 | markstos++ | This test could use a peer review for spec-compliance.
02:08 Limbic_Region joined 02:09 etzel joined
Limbic_Region !seen audreyt 02:09
seen audreyt
markstos ?seen audreyt
lambdabot audreyt is in #perl6 and #haskell. I last heard audreyt speak 11 hours, 37 minutes and 11 seconds ago.
Limbic_Region hrmm, I was hoping she would be online by now 02:10
Limbic_Region is inches away from getting Pugs to compile with ghc 6.6 rc
02:22 weinig is now known as weinig|zZz 02:39 ludan left 02:44 kanru joined
audreyt lisppaste3: pong 02:51
er
Limbic_Region: pong
obra 'morning ms tang 02:57
I have to ask: did you actually have jifty stuff _localizing_ to false values? 02:59
audreyt lunch, bbiab :) 03:04
yes, 0 localizes to 0, and one thing I localize to ''
to hide it from display
obra hah 03:08
but 0->0 should have worked with the existing setup
I appreciate the patch though
(schwern and I had debated it before I implemented, so Iwas amused)
Localizing __Foo Bar__ was exploding Lcoale::Maketext 03:09
svnbot6 r12936 | autrijus++ | * Fix building on GHC 6.4.1 + PowerPC OSX by forcing a separate ranlib phase after installation. This is suboptimal but will work. 03:25
03:32 justatheory joined 03:41 SubStack joined 03:43 peacock joined
Teratogen myspace, schmyspace 04:56
audreyt peacock: I just fixed the OSX ppc 05:00
it now builds again on pristine GHC 6.4.1 here
can you try r12936?
peacock i'm way ahead of you - i saw the svnbot note and i'm building now 05:01
:)
audreyt nice :)
peacock my machine's not too fast and its 1:00 AM in EST so I won't see the results until to tomorrow 05:02
audreyt "make fast"
but that may be detrimental to your sleeptime
so go sleep already :)
peacock hehe - yeah i better 05:03
thanks for your help btw
audreyt no prob -- thanks for your report
peacock i'll drop by tomorrow night and let you know how it came out 05:04
audreyt okie. I did duplicate the failure mode and have a working pugs here
so unless our setup differ in subtle ways, it should work for you also
peacock sweet
*goes zzzzz* 05:05
audreyt sleep well
oh, did you have a commit bit?
05:18 m1chael joined
gaal morning 05:31
05:50 takanori joined 05:51 takanori_ joined
gaal audreyt: [try]?followedBy has its args in the reverse order, as far as my intuition goes. why? is a curried version used somewhere? 05:55
that is, for golf this looks natural: followedBy whiteSpace $ blah
ah, I see it's used infix in one place. mind if I switch it over? 05:56
.oO( it's also against the order of other combinators like sepBy, so maybe not? )
05:57
audreyt sure, switch it over 06:02
gaal I think sepBy etc. changed my mind :)
did you see my Q about Dog ::T $fido? 06:03
how is that expressed in Param?
currently we have a [Type] member, but nothing else that looks pertinent
also: in named-only param :moo, the p_label is 'moo', what's the p_variable? 06:04
06:06 takanori_ joined
gaal looks like a problem right? because how to allocate the storage class? 06:13
svnbot6 r12937 | gaal++ | * Pugs.Param: improve readability of ruleParam with declarative style 06:23
gaal ah, S06/Named parameters answers my Q about varname... 06:25
but am I right in assuming '$' is the default sigil when the programmer doesn't supply a varname? 06:26
aufrank gaal: that's how I remember it 06:30
06:31 takanori joined
ingy nothingmuch: ping 06:35
07:03 kasei joined
audreyt gaal: I wonder if gen_prelude can detect for compunit vers 07:16
and if it's there, then force regen as part of "make" 07:17
sane?
(this is so that evalbot won't complain)
gaal perl -le '<>; print $1 if ($_ = <>) =~ /^- (\d+)/' blib6/lib/Prelude.pm.yml 07:18
=> 5 07:19
07:20 axxsa joined
axxsa omfg... www.groomgle.com just released a public gmail hack, lets you easily manipulate you're google page rank... who should i contact??? 07:20
gaal audreyt: is it reasonable to rewrite ruleParam like this, or should I schlep ruleFormalParam and convert the result? 07:21
this is a general question about Parser remoosing, I guess
in the long run reqriting is called for, no doubt
07:22 axxsa left
gaal I read "force regen as part of make" as "rm the stale compiled version" :-) 07:22
question is if we want to make "the latest compunit version" something more robust than 07:24
perl -nle 'print $1 if /^compUnitVersion = (\d+)/' src/Pugs/AST/Internals.hs
BTW, lexical question about haskell: in one of my cleanups, I wanted to write: 07:25
let p = MkParam
{ ...
}
but that wouldn't compile! ghc thought I was ending the do-block with something that wasn't an expression
I had to rewrite that as 07:26
let p = MkParam {
...
}
Why?
Is this a layout bug? :) 07:27
ayrnieu that does seem odd, I thought the { } were for overriding the normal indentation style. Well, did you try the latter with } as in K&R ?
gaal ayrnieu: in this case it's for record fields spec. 07:28
k&r doens't really work in haskell :)
audreyt let p = MkParam
q = 1 07:29
vs
let p = MkParam
{ ... }
the layout rule can't distinguish between them
so it requires continuation lines to at least be idented 1spc more
let p = MkParam
{...}
xerox let p =
mkParam { ...
Maybe this buys you something.
gaal aw, that's subtle.
audreyt tries pugs vs strawberry 2 07:32
tonight I'll meet my new macbook :-(
xerox Why ':(' ?
gaal newMac = drop oldMac 07:33
audreyt lol
xerox Oops :)
audreyt so I'll have a spare battery, a spare LCD
and some spare fragile RAMs
*pouts*
ayrnieu bought a Zaurus 3200, yesterday :-)
audreyt oooh 07:34
I'd like one too, but my electronics toys budget just disappeared
gaal wonders how soon those things will be able to handle ghc
audreyt I know hugs runs on zaurus 07:35
GHC probably runs also, I think
there's ARM-Linux port
gaal 64mb ram?... probably walks. slowly
xerox I think they were having some kind of weird problems with GHC on ARM
audreyt GHC runs on nokia 770
but there's weird floating point off-by-ones I think
xerox That's a fun device!
xerox played with shapr's one hehe 07:36
audreyt gaal: "cross compile"
gaal audreyt: my pugs has almost 40mb virt, i suppose it might run on such a platform... 07:37
54 once i use Test 07:38
oy, 'use' from interactive pugs is pretty ugly
audreyt it is
technically correct but ugly 07:39
improve the Pretty instance?
gaal what is 'sub {Syn "block" ...' ?
how did the sub come about there?
I think it's better to leave the Pretty as it is, and catch it in the interactive elk. 07:40
audreyt oops, I though you were talking about 07:42
pugs> pugs> use perl5:Test
macro {Prim ([Pugs.AST.Internals.Val] -> () Pugs.AST.Internals.Val)}
the Syn "block" thing shouldn't go back here.
07:42 iblechbot joined
gaal just 'use Test' 07:42
xerox () Val ? Yuck. 07:43
gaal i should go get some breakfast... bbiab &
xerox groans 07:44
audreyt instance Typeable1 (EvalT (ContT Val (ReaderT Env SIO))) where typeOf1 _ = typeOf ()
which is, of course, entirely bogus, but works fine... 07:45
xerox 's heart explodes
audreyt SIO btw is a union of other three monads 07:46
xerox That's nice :)
What do you use that instance for?
audreyt actually I think it's a pretty clever hack and generally useful
it lets you mix pure, STM, and IO actions
and enter/leave "runlevels"
which will reject unsafe-in-that-level actions at runtime
data SIO a = MkSTM !(STM a) | MkIO !(IO a) | MkSIO !a 07:47
the six-layer monad is pugs's main Eval monad
all runtime happens under there
and since pugs supports thunks
(in the haskell sense)
(Eval Val) is a first class value that must be typeable 07:48
xerox Ah.
You want full power.
audreyt yes.
as spj puts it
"adding in feature to GHC is like throwing raw flesh to hyenas" 07:49
xerox haha 07:50
I am so excited about the Hackaton.
I hope sometime it'll be possible to -Ofun ghc ``easily'' ! 07:51
audreyt you going there?
xerox Nope :( 07:52
audreyt oy :/
xerox Yarrr! :(
audreyt so your Cabal hacks made into GHc 6.6?
including cabal-install?
xerox I think it will not.
Hrmpf.
audreyt oh, we have another year or so to work around the subtle bugs of a pre-alpha design?
j/k :) 07:53
xerox hehe
audreyt JaffaCake's chglog indicates cabal-install is in
xerox Well, it isn't tested enough to be released anyway
audreyt hence my question
xerox Really?
I asked him but I didn't know if he did it
audreyt let me check...
xerox I thought I was going to push them as soon as I got darcs access, which I haven't yet
That's a good thing 07:54
xerox checks something too 07:55
If he commited my patches, anyway, they just miss one (multi-server) 07:58
08:00 turrepurre joined
audreyt chglog: 08:01
#
Added cabal-setup, a user interface to building and installing Cabal packages.
#
Added cabal-install, an automated installer for cabal packages.
but reality is that only cabal-setup is in bin/
xerox :(
Where do you read that?
audreyt both in the 0901 win32 bindist 08:04
xerox Ah. 08:05
It will not work on win32 now.
It depends on a tar binary :/
I am now doing cabal-put 08:06
audreyt k
uhm
xerox But I can roll up a all-haskell implementation of tar
audreyt ghc can very easily ship tar binary
xerox That works for the purposes of cabal-install
audreyt it does for ar.exe and so on
xerox can it? hm!
Then we could ship cabal-install I think
xerox hacks up cabal-put faster so people try it on monk adding their packages
nothingmuch oosem 08:07
xerox In fact people could have used it before, but nobody seem to have looked at cabal-devel mails
Sigh.
08:21 penk joined
audreyt I can't believe I'm working around dmake bugs for an hour now :/ 08:32
(to get pugs build under strawberry) 08:33
finally done. 08:36
svnbot6 r12938 | audreyt++ | * very sad, very sick fix for dmake and strawberry. don't even ask. :-/ 08:51
r12939 | audreyt++ | * dmake is very picky about .svn/entries not existing, so we kluge some more. 09:00
clkao aaaaahh 09:03
09:04 b_jonas joined 09:18 elmex joined
svnbot6 r12940 | audreyt++ | * refactor $AR_EXE in util/build_pugs.pl to save perl/ghc disagreement on $ar placement 09:24
audreyt Pugs now works with embedded strawberry.
xerox haha
I wonder what does it mean. 09:25
audreyt # www.vanillaperl.com/
lambdabot Title: Vanilla Perl
audreyt it means it now works with the MinGW based community-maintained perl 5 distribution of choice :)
xerox Aha!
āœŒ
audreyt and we don't even need the kluges to work around cl.exe calls for ActivePerl, yay. 09:26
xerox ā˜ŗā˜»
audreyt (back story: on win32, the leading binary perl distribution is activeperl)
which has for a long time mandated installation of visual c++
xerox Strawberry is a nice name. 09:27
Eeck!
audreyt which doesn't quite work with GHC's idea of the world
but recently they implemented MinGW compatibility
so we can now work with ActivePerl
but it requires quite a bit of kluges
strawberry/vanilla is community maintained, entirely MinGW based distro
xerox I wonder what do you do in pugsese for mif :: m Bool -> m () -> m () :D
audreyt and uses exactly the same set of tools as GHC
xerox Nice to know! 09:28
audreyt er, I see that dons has checked in the same forM and forM_ into base
yesterday
which broke pugs ;) (conflicting import)
xerox haha
?type when
lambdabot forall (m :: * -> *). (Monad m) => Bool -> m () -> m ()
xerox ?type unless
lambdabot forall (m :: * -> *). (Monad m) => Bool -> m () -> m ()
xerox Those take Bool, not m Bool :(
audreyt well, if spj fixes the layout rule 09:29
so that you can write
if foo then do
...
else do
...
then mif doesn't win much, no?
xerox It's just to avoid
do ok <- amb
if ok ...
audreyt action >>= \ok -> if ok ... 09:30
but yeah. doesn't see obvious use in pugs
xerox ok <- doesFileExist path
unless ok $ error $ printf "File does not exist: %s" path
No idea..
doesFileExist path >>= \ok -> unless ok $ 09:33
error $ printf "File does not exist: %s" path
'>>= \ok -> unless ok $' = 'or die'
audreyt: <www.renmenven.org/tooncast/2006/01/...y.html> heheh 09:44
gaal remoose 09:49
09:55 buetow joined 10:05 xerox joined 10:26 ludan joined
ludan hi 10:27
xerox Hello. 10:29
10:34 DaGo joined 10:45 reZo joined
ludan xerox: ! 10:53
xerox Ā”
ludan xerox: are you from italy?
xerox That's right sir. 10:54
ludan eheh
xerox .nl, but I see an italian name...
ludan yes because i'm living in the netherlands for a short period of 6 months
but i'm a truly italian :) 10:55
xerox So nice! I wanted to go study there. But it'll probably happen next year.
ludan tudelft?
xerox Utrecht.
ludan cool
xerox They've got some bright Haskell people there %-)
ludan that city is full of nice girls ;)
xerox Yarrr. 10:56
ludan where do you live in italy/
xerox Turin.
ludan subject?
xerox Mathematics. Starting this year. 10:57
ludan auguri :)
xerox Grazie :D
What brings you here in pugsland?
ludan i'm a good lurker :)
xerox Do you come from the lambda or the camel side of the river?
ludan the camel side for sure 10:58
and you?
xerox The Ī» one :)
ludan functional dude!
xerox stretches ... quite!
10:59 plisk joined 11:25 markstos joined 11:28 elmex joined
ludan ā™Ŗ 11:59
Juerd gaal: pong; done. 12:00
12:02 GeJ joined, onsen joined
gaal Juerd: thanks. 12:19
12:20 onsen_ joined 12:25 xerox joined 12:33 weinig|zZz is now known as weinig|bbl
markstos So, I just want to copy an array from a hash key to a plain array. I was surprised this doesn't work: 12:35
?eval my %h = ( a => @( 'c', 'd' ),); my @a = %h<a>; say @a.perl;
12:35 evalbot_12934 is now known as evalbot_12940
evalbot_12940 OUTPUT[[["c", "d"],] ] Bool::True 12:35
markstos ..it puts both elements in the first slot in the array.
Maybe I need: @a = [,]%h<a> ? (unimplemented?) 12:36
ayrnieu ?eval my %h = (a => @('c','d')); my @a = @{%h<a>}; say @a.perl 12:37
evalbot_12940 Error: unexpected "(" expecting "::"
ayrnieu shrugs.
markstos This works, with an extra steps that seem unnecessary: 12:38
?eval my %h = ( a => @( 'c', 'd' ),); my $aref = %h<a>; my @b = @$aref ; say @b.perl;
evalbot_12940 OUTPUT[["c", "d"] ] Bool::True
ayrnieu my @a = @%h<a>; doesn't work similarly? 12:39
markstos ?eval my %h = ( a => @( 'c', 'd' ),); my @c = @%h<a>; say @c.perl;
evalbot_12940 (no output)
markstos (segmentation fault...)
ayrnieu fascinating.
markstos Tha's one word for it... 12:40
audreyt uhm. 12:41
you want @(%h<a>)
@%h<a> means something else
lambdabot Unknown command, try @list
audreyt namely (@%h).<a>
clkao moose
markstos audreyt: Should I submit a test for the segfault above ? 12:42
And thanks for the help!
buubot kack!
audreyt sure, commit a test 12:43
it's expected to fail
but not to segfault, obviously
markstos confirmed to work:
?eval my %h = ( a => @( 'c', 'd' ),); my @c = @( %h<a> ); say @c.perl;
evalbot_12940 OUTPUT[["c", "d"] ] Bool::True
audreyt aye. sigil invariance means that when you append prefix sigils 12:44
it's always binding tighter than postfix method calls
as it's considered part of the "var name expression", so to speak
markstos translation? :)
audreyt $$x.foo always means ($$x).foo not $($x.foo) 12:45
and %h<a> is simply %h.<a>
markstos Ah. Got it.
ayrnieu ?eval my @c = @(@('c','d')); say @c.perl
evalbot_12940 Error: unexpected "(" expecting "::"
audreyt @('c','d') is suspicious too 12:46
lambdabot Unknown command, try @list
audreyt you sure you don't mean ['c', 'd'] or just <c d> ?
@(1,2) I think just means (1,2).
lambdabot Unknown command, try @list
ayrnieu here, I mean [<c d>], but I don't know why markstos used it. 12:47
markstos I started with just <c d>, but that didn't work, so I tried other things. I'll try <c d> again, since that didn't seem to be the problem.
audreyt yeah
bbiab... 12:48
markstos Works:
?eval my %h = ( a => <c d>); my @c = @( %h<a> ); say @c.perl;
evalbot_12940 OUTPUT[["c", "d"] ] Bool::True
12:55 plisk joined
svnbot6 r12941 | markstos++ | Adding failing test for @%(a => <b>)<a>, which segfaults. 12:57
13:04 larsen joined
markstos When I try to do the hash / array assignment in this slightly more complex case, using @( %h<a> ) no longer seems to work: 13:10
?eval class Foo { has @.a is rw; method param (*%h) { @.a = @( %h<key> ); self; } } my @f = Foo.new.param( key => <c d>).a; say @f.perl;
13:10 evalbot_12940 is now known as evalbot_12941
evalbot_12941 OUTPUT[[["c", "d"],] ] Bool::True 13:10
audreyt is still trying to fight with gnu ddrescue 13:13
13:13 hugues23 joined
markstos solved his own problem with: my @f = @( Foo.new.param( key => <c d>).a ); 13:13
audreyt oof. indeed in that case, the .a accessor should return the list in list context
not pretending that it's a scalar
that is a bug
I wonder if it's tested :)
markstos test coming. :)
audreyt but the @() forcecast will always work
even after this is fixed 13:14
so it's a sound workaround :)
markstos Good.
audreyt there's also spec (But not yet implemented) such that you can write
foo.bar.baz.@
to mean
@( foo.bar.baz )
lambdabot Maybe you meant: . v
markstos audreyt: Is there a recommend place to check for existing tests, or should I just poke around on my own.
audreyt which is further nice sugar
grep some keywords like "array" etc in t/oo/? 13:15
markstos Sigils on the right look strange.
k.
audreyt it's okay to dup tests.
13:15 plisk joined
markstos Good. :) 13:15
audreyt just make sure that it's smartlinked this time if you can :)
(since smartlink is our main weapon to fight test dup)
markstos Aha. Will try. 13:16
audreyt yay
markstos forages for breakfast in $localtime.
audreyt thanks ddrescue for sanity
as otherwise dd will take, oh, 5 days.
markstos dd, the lowlevel copy tool ? 13:17
audreyt yeah
my old macbook died with some bad sectors around its 80g hd
"old macbook" sounds like oxymoron. sigh.
markstos Yikes. 13:18
so ddrescue copies even faster ?
or something?
audreyt so this new one (exactly the same spec!) has 120g and I'm dd'ing the old one over with firewire
yes. it dynallocs blksz
so on bad sector it narrows down
and on good regions it ups the blksz
13:19 penk joined
audreyt as you'd expect a sane tool to do :) 13:19
integral ddrescue++ # reverse copy!
markstos :)
audreyt reverse copy?
markstos do we need an audreyt laptop fund?
integral audreyt: copy from the other end of the drive so you can get the stuff beyond the hole (if the hole is very, very bad) 13:21
audreyt markstos: in the past five yeras I broke two compaq, three asus, two apple
three palms
one zaurus
so... ;)
clkao quote nothingmuch, "girl elegance" 13:22
nothingmuch ? 13:23
markstos so we need two funds ? 13:26
nothingmuch clkao: ?
markstos Or a TankBook fund ? 13:27
clkao nothingmuch: what audrey said
audreyt actually $job pays well enough that it's not a severe financial hit anymore
but it's still a nontrivial emotional hit :/
clkao *nod*
nothingmuch brb, phone 13:28
i don't see /lastlog eleg
audreyt probably around the same time irl when you told me to fetch you beers :) 13:29
in boston, that is
13:30 larsen is now known as lamas
audreyt yay, ddrescue thinks it will only take 4 hours. 13:31
13:33 lamas is now known as larsen 13:47 markstos_ joined 13:56 ludan joined
markstos_ btw, on feather, I still get "Incompatible version number for compilation unit" when I use pugs. Needs root/sudo access to fix. 14:01
14:01 markstos_ is now known as markstos
svnbot6 r12942 | markstos++ | Add test for: "my @f = Foo.new.param( key => <c d>).a;", with smartlink. failing. 14:03
r12941 | markstos++ | Adding failing test for @%(a => <b>)<a>, which segfaults.
14:04 yhsuan joined 14:08 Limbic_Region joined 14:12 miyagawa_ joined
Limbic_Region ?seen audreyt 14:12
lambdabot audreyt is in #perl6 and #haskell. I last heard audreyt speak 41 minutes and 2 seconds ago.
Limbic_Region audreyt ping 14:13
audreyt pong 14:14
Limbic_Region so yesterday, gaal tried to convince particle and I to try the latest ghc snapshot
as it was a 6.6 rc
I told him it had been b0rk for some time
but we went ahead and tried it anyway
sure enough, it was b0rk - but in a new way
for one, the headers aren't in the usual place 14:15
no problem, just copy them
next, they removed some libs that pugs depends on as extralibs
hrm - problem as Win32 has binary distro and these extra libs are source only 14:16
solution - use Cabal to install them
that is after creating our own Setup.hs
ok, ready to try and compile Pugs
gets through the first 95 steps no problem
and begins its second pass
and then it bombs out
going to nopaste the error - see if it makes any sense to you
btw - did you get the msg I sent you? 14:17
hrm - going to take me a second to nopaste that as I did a realclean inadvertently 14:19
audreyt I did and I sent it to igloo
GHC's release manager
I'm on win32 now
still using 20060819 build
no problem at all
Limbic_Region oh, I was working with Igloo last night 14:20
audreyt oh. I didn't notice that
hopefully he didn't think my mail as rude then
Limbic_Region as well as eivoukko
audreyt since I just repasted your report :)
Limbic_Region doubtful
they were both very intrigued and happy that I (well, we the pugs team) brought the issues forward 14:21
audreyt cool
Limbic_Region They were pretty sure the nightly build for Win32 was b0rk
audreyt yup
I used 0819 to work on strawberry and vanilla embedding
both now works as of tonight
activeperl still needs special handling 14:22
Limbic_Region ok - starting the build now - should take 10-15 minutes
audreyt in Makefile.PL
but vanilla/strawberry now builds using the same code as other unixes
and as such should remain stable without fiddling
Limbic_Region great
audreyt (I also downlaoded activeperl build 819)
and made sure it still works
Limbic_Region (xdg and team)++
audreyt indeed 14:23
Limbic_Region oh, 819 is out
cool - Module::Build should work out of the box thanks to bart, Intrepid, and myself
14:23 larsen_ joined
audreyt and PAR will work out of the box thanks of tsee 14:23
it's nice to see this coming together :)
Limbic_Region jan dubois is extremely responsive on the AS front
14:24 larsen_ is now known as larsen
audreyt I really like jand. he's probably the most important early PAR contributor 14:24
and yet he is author of PerlApp.
he went as far as clarify activeperl's license to make sure that PAR has no licensing problems :)
14:25 jferrero joined
Limbic_Region wow 14:25
audreyt according to him, he wants people to buy perlapp based on merit and its nice UI
not because they are forced to or locked in
jand++ # very healthy attitude
Limbic_Region well, I am constantly suprised in this community by technical skill and willingness to give freely of oneself
so anyway - the folks over in #haskell went silent the few times I asked about timeframe of fixing the Win32 binary build issues 14:26
so for now, if we can get it working, we should add or update a win32.readme? 14:27
audreyt "a GHC 6.6 showstopper" or something
no... not really
0819 is known to work
only because 0901 is broken, doesn't mean we need to adapt
6.6 should work out of the box with pugs :)
Limbic_Region right 14:28
except it isn't going to unless we have a few brave souls poking and prodding it
markstos uses whatever is on feather 14:29
Limbic_Region presumably, the current ghc release is only b0rk on Win32 so you shouldn't have an issue markstos
audreyt Limbic_Region: exactly. and the fix should be twofold: rolling in extra-pkg into the final .msi
and add the include path in ghc's buildflags 14:30
markstos I'm just saying: If 6.6 were being used on feather, I would be testing with it by default.
audreyt I have no control on the former; the second one, I can probably help.
Limbic_Region audreyt - I am not yet convinced those are the only issues yet 14:31
but yeah, I think your solution approach is the most sane
Happy 1.15 won't build with GHC 6.5 (0819) or 6.6RC btw 14:32
apparently some array bounds changed internally and lots of old programs broke
Limbic_Region just thought he was doing something wrong again
perlbot nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "Limbic_Region" at 24.35.57.240 pasted "ghc 6.6 rc build failure" (69 lines, 3.6K) at sial.org/pbot/19421 14:33
audreyt er wow, it doesn't ship with ld. 14:35
Limbic_Region yes it does
it is there
notice the double \\
that looks odd to me
markstos just got basic integration with perl5:HTML::Template working with p6:CGI::Application
!
audreyt hm 14:36
I need a more complete log
markstos: !
Limbic_Region: I need the lines starting at
GHC installation path: $ghc_inst_path\n
which should be near beginning
Limbic_Region audreyt - hrm, it doesn't give the full path so ....
ok, you are on the same line of thought 14:37
will hopefull nopaste if my buffer is long enough
audreyt 0819 still works, so it's 0909 specific 14:38
pasteling "Limbic_Region" at 24.35.57.240 pasted "full build output and some of perl Makefile.PL too" (997 lines, 48K) at sial.org/pbot/19422 14:39
Limbic_Region audreyt - oh, I agree but I am not sure it is a ghc problem or a pugs assumption
as with the location of the header files 14:40
audreyt I got the fix.
Limbic_Region kisses audreyt
audreyt smiles
hmm wait 14:41
you put ghc 6.6rc1 into c:\ghc\
not c:\ghc\ghc-6.5.20060901 ? 14:42
svnbot6 r12943 | audreyt++ | * fix #1 for GHC 6.6-rc1 building on win32: use the same runcompiler for build_exe 14:43
Limbic_Region audreyt - yes
one issue I had last night with 3 different ghc's 14:44
6.4.2, 6.5 (0819) and 6.6rc
audreyt if you put it into that dir, pugs should pickup it
Limbic_Region was that I accidently compiled some binaries from one with the other compiler and ended up spending time tracking down wild gooses
hrm 14:45
should it matter where I install ghc?
audreyt no
Limbic_Region ok so do I have to move where ghc is now to make your fix work? 14:46
audreyt no
let me think thru the implications
if you mkdir gcc-lib
in pugs workdir
and copy ld.exe from c:\ghc\gcc-lib there
Limbic_Region ok
audreyt does it suddenly work?
Limbic_Region this happened to us before remember
my bet is yes
audreyt the offending line is Cabal.Distribution.Simple.GHC
(baseDir, _) = splitFileName compilerDir
in 14:47
darcs.haskell.org/packages/Cabal/Di...ple/GHC.hs
somehow it lost track how it was invoked.
Limbic_Region ooh
audreyt that's a new bug
Limbic_Region yeah, that would be a problem
that's ghc issue
audreyt it's "fixed" by esa vuokko
www.mail-archive.com/cabal-devel@ha...00010.html
lambdabot Title: System.Directory.findExecutable and ghc's ld in Windows, tinyurl.com/kfq5p
audreyt that fix broke our assumption
Limbic_Region ghc should not assume the place it was compiled would have anything remotely to do with where it is installed
audreyt still thinking how to do that portably
Limbic_Region ok 14:48
will test the gcc-lib thingy
audreyt k
nothingmuch mooooooooooooooo 14:49
Limbic_Region looks like that was it
markstos wonders if he hears moose noises
audreyt Limbic_Region: ok. now try this 14:50
put gcc-lib under some other PATH
say c:\perl\bin\gcc-lib
Limbic_Region audreyt - isn't that how darwin awards are handed out
audreyt but _not_ under pugs workdir
Limbic_Region k
audreyt my working hypothesis is that it now uses the win32 native SEarchPath
Limbic_Region oh, so shouldn't I then just be able to add C:\ghc to my path?
audreyt well that too 14:51
actually try c:\ghc to your PATH
and c:\ghc\bin
and see if it magicaklly works
Limbic_Region ok - ghc\bin is already there
audreyt (it might not.)
Limbic_Region need to go for a sec - issues with my daughter
audreyt k
Limbic_Region ok, in order to test this theory, since pugs has finished buildihng 14:52
building even
audreyt you need simply to rm pugs.exe
Limbic_Region k
audreyt and nmake again
14:53 nothingmuch joined
Limbic_Region testing now 14:53
14:53 aufrank joined
Limbic_Region gets the distinct impression that Win32 in the haskell community is the bastard red headed stepchild that only a few love and the rest have a deep aversion for 14:54
14:55 nothingmuch joined
Limbic_Region audreyt - that also works 14:55
nothingmuch god damnit
nothingmuch shakes fist at irc
You were killed by www.astray.com [(Bad Nickname)] [Path: ] 14:56
*sigh
Limbic_Region does a little dance as he now has Pugs building on Win32 using GHC 6.6RC
with many thanks to audreyt, Igloo, and eivoukko (and others he likely forgot) 14:57
nothingmuch and me
i helped a lot too
i inspired motivation
audreyt Limbic_Region: perl was like that actually 14:58
until activeperl 5.6.1 or so
and the relentless, tireless, never-burns-out iron pumpkingerring from gsar
Limbic_Region audreyt - well, it is not at all uncommon
I guess it just suprised me a little
[particle] returns from scrollbackland 14:59
audreyt "How many perl5-porters does it take to change a sarathy?"
"None. Sarathy never burns out."
nothingmuch hah
where is he now?
[particle] retired in florida
Limbic_Region particle - did you hear the news
woot
[particle] ;) 15:00
audreyt actually, still hacking in activestate
[particle] Limbic_Region++ # yes i just read it
nothingmuch ugh
[particle] audreyt++ too
audreyt Limbic_Region: so, remove c:\ghc from path
nothingmuch why does magnet kill me?
stupid netsplits
am i on some blacklist now?
Limbic_Region ready for next experiment audreyt 15:01
audreyt Limbic_Region: line 89 of util\build_pugs.pl is supposed to do that for you
[particle] nm: what are you talking about? you're not bouncing here
audreyt trying to think why it's not
nothingmuch [particle]: i can't connect to irc.perl.org
Limbic_Region let me look at it and see if it makes sense to me
nothingmuch You were killed by www.astray.com [(Bad Nickname)] [Path: ]
[particle] oh
nothingmuch not only astray though
[particle] did you try another nick? 15:02
audreyt Limbic_Region: maybe it needs to be put in front? not sure
[particle] like, say [nothingmuch] ? :)
Limbic_Region audreyt - no
I put it at the end in my test
nothingmuch [particle]: i've been trying to convince irssi to do that
Limbic_Region let me do this
let me print those values to see if they are indeed correct
nothingmuch ughhhhhhhhh 15:03
not working either
nothingmuch gives irc a rest
going out for the evening anyway 15:04
Limbic_Region running again now with prints of those variables
15:05 kane-xs joined
Limbic_Region ok - this is really odd 15:05
it worked when it shouldn't have
C:\ghc and C:\ghc\bin respectively 15:06
oh wait
audreyt - is line 89 your fix?
audreyt no.
Limbic_Region of about 10 minutes ago? 15:07
audreyt no.
Limbic_Region hrm then
audreyt hrm indeed.
I can't tell the difference
between that line and your manual env tweaking
then should, for all intent and purpose, be equivalent
Limbic_Region except that my env no longer includes c:\ghc and it worked
audreyt er wow.
ok. to make sure... blast away dist\build and pugs.exe and "nmake fast". 15:08
[particle] Limbic_Region: thanks for the msg of the error report
Limbic_Region let me make sure I didn't make a bonehead mistake
and didn't delete pugs..exe
particle - no worries, though one additional thing is likely required to finish building pugs
which is what audreyt and I are working on
[particle] k
i'll just wait in the wings
my default build is 6.4.1 anyway 15:09
Limbic_Region re-running now audreyt after having made sure pugs.exe is deleted
ok, my mistake
I hadn't removed the executable - it is once again failing despite %ENV being modified 15:10
15:10 rindolf joined
rindolf Hi all. 15:11
Limbic_Region audreyt - who is the one attempting to find gcc-lib\ld.exe?
15:11 jdv79 joined
Limbic_Region salutations rindolf 15:11
rindolf Limbic_Region: hi. What's up?
jdv79 anyone know how to fetch the primary method's name from within a modifier with moose?
Limbic_Region just debugging a problem 15:12
audreyt - is the issue with $runcompiler - if it is, then I know what the problem is
it is not using $ghc_installdir but $ghc_bindir
jdv79 hello Limbic_Region. 15:13
Limbic_Region salutations jdv79 15:14
markstos jdv: Moose? Sounds like a Perl5 issue.
Limbic_Region audreyt - what exactly was your fix anyway as I think it may have worked
markstos jdv: the meta model that moose uses hasn't been implemented in pugs yet.
jdv79 i understand that but nobody is anwering my query elsewhere so it was suggested that i try here as a last resort
Limbic_Region ld.exe still isn't found 15:15
but it is finishing the build anyway
audreyt but that isgoing to be bogus
Limbic_Region I had been ctrl-cing after that line of output
let me nopaste the last run
markstos jdv: You could try posting a code example that explains what you are trying to express.
audreyt as it's using the previous output in third-party/installed/Pugs
Limbic_Region this is with no manual fix to the env
audreyt so we're back to sq1: ld.exe not found
markstos jdv: Are you really using Moose in Perl5 or is this a Perl6 question?
audreyt now if you manually tweak env to include c:\ghc in PATH 15:16
and "nmake fast" again, does it make ld.exe found?
Limbic_Region let me blow away dist and pugs.exe
not tweak env
jdv79 yes, of course - p5, this is not a perl6 question.
Limbic_Region and nmake fast
markstos bbiab 15:17
Limbic_Region wow, nmake fast is really fast in comparison
audreyt well, blow away third-partyinstalled\pugs-6.2.12 too while you are at it. 15:18
yes. please do use it to investigate build problems
save lots and lots of time :)
(and with GHC 6.6, the resulting pugs.exe is actually just 20% slower or so)
it's getting to a point where I'm not sure whether we should still make optimzied build the default.
markstos 6.6 is slower ?
Limbic_Region ok - audreyt, different build error 15:19
jdv79 that's ungood news
audreyt markstos: no, the diff between "make optimized" and "make unotimized" is narrower
markstos Ah.
audreyt 6.6 is generally 2~3x faster than 6.4.
markstos Wahoo!
Limbic_Region runtime that is
markstos I look forward to experiencing that.
audreyt yes. compile time is a bit shorter but not dramatically
markstos Oh. 15:20
audreyt but "make fast" produces better code
so you can maybe "make fast" more often.
(the difference: "make fast" uses GHC's own codegen based on C--, and "make optimized", among other things, forks out to GCC)
markstos when I was building my own pugs, I use "make fast", just because I suspected it would be faster. :)
audreyt (and GCC is really, really slow.)
Limbic_Region audreyt - I am reverting back to my original state 15:21
meaning just before I pinged you
audreyt ok...
markstos Is there potential for Perl6 to ever compile quickly with this implementation?
audreyt surely!
the parser is one of our slowerst parts. 15:22
as it's working on a linked list of UTF32 characters, currently
which is the slowest possible sane representation of source code.
SamB oh, yeah, you can do much better soon enough, I think ;-)
jdv79 isn't p6 going to compile itself, in a manner of speaking?
audreyt SamB: I sure hope so ;)
markstos I just know that it seems uncommon to write a language in Haskell, versus, say C. I'm fairly ignorant about these issues, though.
Limbic_Region heh 15:23
the Haskell folks were interested in why we were interested in 6.6rc
audreyt markstos: yeah. most of pugs's slowness comes from the very, very slow representation of strings
markstos and that's fixable?
SamB markstos: well, most of the people who have created mainstream languages haven't known Haskell... and frankly when they did it Haskell wasn't likely very good anyway...
audreyt whenever we switch a part into the new fast packed strings, that part sees 5x or so speedup.
Limbic_Region it is like people today that think perl is just a scripting language 15:24
markstos Wow.
Limbic_Region they are living in the past
audreyt currently only variable names is switched
Limbic_Region haskell did come from academia
markstos should poke around with Haskell more.
audreyt and type names
15:24 justatheory joined
audreyt and already pugs is 35% faster 15:24
Limbic_Region and it likely wasn't very good at anything other than teaching at first
but it has been around the block for a while
audreyt to switch other parts, we need perhaps to forsake GHC 6.4 compatibility
so gaal and I have been holding a bit
Limbic_Region I am fine with that ;-)
audreyt (actually, I've been holding back gaal a bit :))
SamB Limbic_Region: I don't think it was originally intended for teaching, really...
markstos I'm already a fan of darcs, and Haskell by extension.
Limbic_Region SamB - I don't think that's what it was intended for - I said I think that was all it was likely good at (at first) 15:25
markstos welcomes the GHC 6.6 overlords
SamB I think they wanted to play with it and use it in papers
gaal purrs
audreyt it's good for producing PhDs ;)
Limbic_Region audreyt - ok, back to the expected failure
markstos is wrapping up a new blog post about Perl5 embedding and YAML emitting.
SamB audreyt: you have to admit that it is also fun to play with ;-)
Limbic_Region so, we know that moving gcc-lib to pugs working dir works 15:26
I don't know for certain adding c:\ghc to my path will work
because even though it did last time around, so did everything else
gaal beed kinda out of elk today. what's the feature set we absolutely want for Sig for the coming release?
Limbic_Region so let me try that first
audreyt indeed. but we need to do that
Limbic_Region: yup.
gaal and, audreyt, did you see my 'Dog ::T $fido' <=> Pugs.Val.Code.Param question? 15:27
audreyt gaal: rename siglist.t to signature.t
and that'd be good enough for me :)
Limbic_Region gaal, let's gang up on audreyt and get everyone to move off 6.4.x
Limbic_Region is a believer
gaal Limbic_Region: it works for you now? great 15:28
but not sure about all platforms
mac in particular is said to have problems
"the kind audreyt doesn't have"
markstos pugs doesn't seem to be buildable on FreeBSD now anyway, because parrot doesn't seem to be buildable there.
Limbic_Region gaal - well, I wouldn't want anyone to go through what I am going through under normal conditions - so no
Limbic_Region is mostly teasing
but the perf diff is amazing
SamB is that a general statement of fact, or a is it specific?
audreyt markstos: pugs doesn't dep on parrot
Limbic_Region audreyt - good news 15:29
audreyt gaal: I actually have an ibook g4...
Limbic_Region well, not so good news
it doesn't work
SamB (mac being said to have problems)
audreyt Limbic_Region: ok. it's a good news
Limbic_Region but that is good news
yeah
gaal l~r, once 6.6 is available on all platorms in binaries, for sure
audreyt means we are not insane and not seeing phantoms
markstos audreyt: Yes, I built it without parrot, and it worked fine, until I tried to use some kinds regular expressions or rules...
gaal SamB: hearsay, I don't own one mylsef to tell.
markstos and then it complained it couldn't find parrot.
audreyt markstos: oh. that. we're fixing that tomorrow
Limbic_Region gaal - it is avail on Win32 in binaries but still takes a lot to get it working
audreyt markstos: soon you'll not need parrot for that, either! 15:30
SamB I mean, apparantly it is uses a rather odd ABI on x86...
markstos Nice.
audreyt (as it'd use embedded perl5 to call Pugs::Compiler::Rules)
gaal Limbic_Region: I mean releaseworthy packages, e.g. packages for .deb and .rpm etc.
audreyt (which is why I was fighting dmake...)
markstos Now I like working on feather and having pugs rebuilt frequently for me. :)
I also like playing with svk. I had trouble installing that, too...
Limbic_Region ideas? 15:31
[particle] markstos: have you reported parrot build problems with parrotbug?
s/with/to/
audreyt Limbic_Region: so re gcc-lib. does it only need ld.exe there?
Limbic_Region: i.e. did you copy the whole gcc-lib or juts ld?
gaal oooh siglist.t++!
markstos particle: It seemed to be a known issue. The FreeBSD parrot port is marked as "BROKEN". 15:32
audreyt because if it's just ld.exe, we can workaround.
Limbic_Region whole
audreyt ok. please try part.
15:32 iblechbot joined
Limbic_Region but let me test 15:32
gaal audreyt: some future release should use newval Sigs to parse sub declarations, too...
Limbic_Region holding daughter - b aminute
audreyt gaal: certainly...
...that's why we are doing this :)
I mean, Capture should also be used to parse calls. 15:33
it's a prereqto get newExp rolled in.
gaal yeah. so what about the old ruleFormalParam -- should I rewrite it in newmoose, or convert its result?
Limbic_Region attempting
audreyt gaal: which ever easiest. I think newmoose.
gaal ok! 15:34
audreyt woot!
Limbic_Region audreyt - works 15:35
with just ld.exe that is
audreyt Limbic_Region: ok. so, horrible-hack time for now
and I'll try to fix cabal.
gaal brb w/coffee
Limbic_Region yeah, ghc hacking
go audreyt++
Limbic_Region is starting over btw without make fast 15:36
oh wait
you are going to want me to test your horrible-hack
Limbic_Region waits patiently
oh, and are you going to remove your third-party thingy? 15:37
audreyt fixing. 15:39
fixed. 15:40
try r12944 15:41
aufrank audreyt: regarding chromatic's role article, do you think that type is synonymous with role in P6?
svnbot6 r12944 | audreyt++ | * Horrible hack #2 - instead of copying runcompiler to GHC land, 15:42
r12944 | audreyt++ | instead copy ld.exe back into pugsland!
audreyt aufrank: sorry, very much out of context
role is one kind of type
Limbic_Region ooh, that is a horrible hack
aufrank yeah, audreyt, sorry to ambush you ;)
audreyt not more horrible than the old one
Limbic_Region since that appears to fall within p5 space (from what I can tell), I can work on this myself later 15:43
I think I need to go grocery shopping soonish though
nmake fast now
gaal in ruleFormalParam, a 'canonical form' of params is mentioned. is it a "real" form, or just an internal normalization? 15:44
eg :$foo! ==> !:$foo
audreyt internormal
gaal k thx 15:45
audreyt markstos: if you are interested in the Hs worldview and community etc 15:46
research.microsoft.com/~simonpj/tmp...ory-v2.pdf is a great read
xerox Yes it is!
:D
audreyt and we have 12 more days to send patches to that State of The Lambda
on haskell.org/haskellwiki/Talk:Histor.../Version_2
lambdabot Title: Talk:History of Haskell/Version 2 - HaskellWiki, tinyurl.com/gxuqj
xerox (SLPJ: done) Paulcc 23:53, 27 August 2006 (UTC) page 25 Mentions of FiniteMap - Data.FiniteMap is DEPRECATED, please use Data.Map instead. 15:47
The paper mentioned FiniteMap?
This is funny, hehe.
Limbic_Region audreyt - horrible hack worked
audreyt I wonder if I should send a patch on how Hs has influenced p5, citing Scalar::Defer and friends
Limbic_Region: good. horrible hacks usually are that one
Limbic_Region anyone wanting to build on Win32 using 6.6rc - let e know
audreyt makeshift lasts longest etc :)
Limbic_Region let me know even
gaal I want a T-shirt saying "ferocious implementor"
Limbic_Region well - I am looking into a fix now 15:48
real fix that is
though you work the Cabal angle
audreyt k.
gaal if I specify two traits, does a comma separate them? 15:50
$x is ref is moose
15:51 araujo joined
audreyt I don't think so 15:51
($x is ref, is moose)
would parse "is moose" as second param 15:52
araujo hi hi
gaal ok. asking two other Qs on p6-l. 15:53
audreyt araujo: heya
gaal (vim's zf)++ 15:54
araujo hello there audreyt 15:56
audreyt araujo: heya. got some cycles to help out haskell hacking? :) 16:01
svnbot6 r12945 | audreyt++ | * Comment out the unused require_helper stuff from Prelude.pm to save space and maybe help malaire++ to build.
audreyt depending on your interest area (FFI, Parsec, STM, Typeclass, etc), there's several tasks laying around... 16:02
SamB huh, Parsec... 16:04
iirc someone needs to implement that for packed strings? 16:05
audreyt xerox setup a repo for linspire's packed string parser
but it's not direct port of parsec
SamB oh, that was linspire's was it? 16:06
audreyt and as such needs some tweaks; johnmeacham revived packrat parsing and that may be nice as well
sjanssen is supposed to do full parsec port on packed strings
...but it may or may not have been fizzled.
SamB the packrat parsing looks quite hard to use...
I started to write an XML parser in it and I was mostly struggling with it rather than with XML...
audreyt in fact, I'm not sure what parts of sjanssen's work was completed... 16:07
since pugs can use every bit of his SoC work, salvaging any part would be useful :)
SamB: it's useful when you need lots of backtracking
from what I recall, XML needs no backtracking at all
and as such using it may be asking for pain 16:08
16:10 markstos left, markstos joined
SamB audreyt: mmhmm 16:10
markstos New Perl6 blogging on Perl5 embedding and YAML support:
</p>
<pre
Doh! Sorry. bad paste.
pugs.blogs.com/pugs/2006/09/perl_6_....html#more 16:11
SamB even so, I was struggling with the interface!
audreyt markstos: you want to pass a \$foo into p5 land for modification? 16:12
markstos Yes. 16:13
HTML::Templat accepts a "scalarref" as a template.
If it already works, that's great, but it's low priority for me if it doesn't. 16:14
audreyt indeed there's no easy way. 16:16
clkao: pugs::guts didn't have a TIESCALAR instance
so other kinds of refs work but not SV 16:17
markstos so it could happen eventually ?
audreyt fixing
markstos I better hurry up and write a test, then! 16:18
clkao audreyt: huh?
16:18 Psyche^ joined
markstos I guess I'll need to know what the syntax would be to pass it from one language to the other ,though. 16:18
audreyt well, \$foo should still work. 16:19
markstos Really? It won't form a P6 Capture instead ?
audreyt clkao: p5func(\$p6val)
it will
gaal audreyt: why? captures are xlated to refs in p5 bridge? ew!
audreyt but P6 Capture in p5 land should overload ${} into an assignable thing 16:20
and overload @{} and overload %{}
gaal ah, a la XML::All
audreyt right.
markstos proceeds with a test.
audreyt clkao: nvm, trying to think about passing a pugscapt via p5embed bridge into a Data::Bind-ish Capture callconv object
clkao audreyt: was talking about that to rgs and nick 16:22
svnbot6 r12946 | gaal++ | * Correct handling of required and optional parameters. These all work:
r12946 | gaal++ | :($x) :($x!) # required positional $x
r12946 | gaal++ | :($x?) :($x? = 42) :($x = 42) # optional w/o, w/, and w/default
clkao uhm, not cap
svnbot6 r12946 | gaal++ | :($x! = 42) # correctly raises an error
audreyt clkao: D::B callconv natively? 16:23
cool. I figure I don't have to fly to YAPC::EU because you're there :)
clkao not callconv, just the bidning bit
audreyt k. anything?
clkao audreyt: your flattering skill has degraded 16:24
nick tries to escape from me. rgs ponders
audreyt I'm sleepy, so that's to be expected
gaal hmm. should :($x! = 42) raise a special userfriendly error?
audreyt would be nice.
clkao something like what judy does, munging the potinter and stick a flag in it can be doable
markstos I think I've got a test now. Will nopaste it. 16:25
audreyt markstos: btw, the :lang<yaml> bit in your blog post has disappeared
16:25 ayrnieu_ joined
audreyt oh, and you know you can eval with :lang<perl5> too? 16:25
clkao: you mean using the lower 2 bits in a Ptr? 16:26
that seems to be a popular technique
pasteling "markstos" at 12.176.101.89 pasted "Test for passing scalar ref to Perl5" (12 lines, 338B) at sial.org/pbot/19426
gaal aiiiii that's dirty
markstos My test? 16:27
gaal now i know why people want 64 bit archs. an extra bit to mangle
markstos I think I typo'ed scalar_ref vs. scalarref.
gaal markstos: no, the pointer parasity
araujo audreyt, Sounds fun :-)
markstos audreyt: Yes, I knew about :lang<perl5>.
Limbic_Region audreyt - I *think* I may have found the problem
gaal hmm, looks like third-party/ is always compiled with optimizations, even in make fast? 16:28
markstos audreyt: Is there a :lang<yaml> replacement ?
Limbic_Region and if I am correct, there is absolutely nothing we can do about it
though it won't affect that many people
araujo audreyt, i have been glancing over the pugs code now , don't you have some Haskell-related TODO list or something?
Limbic_Region is testing hypothesis now
araujo audreyt, probably it is a bit difficult for me, since i don't know perl5 at all.
markstos Oh, it' s not gone from the language, just from my post. :) Fixing.
That's better.
16:30 Psyche^ is now known as Patterner
markstos Blog is fixed now. The blog software had a made a <yaml></yaml> tag pair out of it. :) 16:30
clkao audreyt: but valgrind would you it 16:31
audreyt araujo: oh, you don't have to know anything about perl5 :) 16:32
markstos Any hints on how, given a string, I can use it to call a method that may be in a parent class? This doesn't work: 16:33
&::($meth)(self:);
audreyt (a sec)
self.$meth() is canonical 16:34
araujo audreyt, good then :-)
audreyt but it's not yet parsed. I wonder why. 16:35
markstos I like self.$meth(). I thought I tested it before. Re-testing.
bug, most likely.
audreyt tries to think what was blocking self.$meth()
markstos ;-)
I'll make sure there's a test for it. 16:36
audreyt ah. right. reason is that our Exp was not expressive to distinguish $meth(1:) from 1.$meth. 16:37
sadly, our newExp is still not! 16:38
audreyt ponders whether to introduce a new CCallLate node
or desugar that into 16:39
self.META.can($meth).(self:)
which looks ugly.
markstos In Perl5, $self->$meth() worked. So self.$meth() feels natural and expected. 16:40
audreyt and ineed perl5 has special op for that 16:41
markstos Is there something ugly that I can use now, that works?
audreyt $self->meth is method_named, and ->$meth is method
svnbot6 r12947 | audreyt++ | * introduce CCallDyn node to Pugs.Exp, to stand for the
r12947 | audreyt++ | dynamic method case:
r12947 | audreyt++ | $obj.$meth()
r12948 | markstos++ | Add failing test for $self.$meth.
audreyt don't; a fix is coming.
give me a few mins 16:42
markstos And a test. :)
audreyt right :)
markstos pets cat and waits.
audreyt parsec. now to run it... 16:43
s/parsec/parsed/
gaal how do I peek at the current char in parsec?
audreyt getInput
gaal since this can't work: try $ char '!' >> fail "required parameters cannot have default values"
markstos That failing test is in t/oo/symbolic_refs.t, BTW.
audreyt <- lookAhead anyChar
one of the two.
gaal thanks
audreyt np :) 16:44
gaal: btw, is "make ghci" working for you? 16:45
gaal no :(
audreyt judy errors?
gaal no, it's those linkage errors I never tracked down fully 16:46
audreyt oh. colinux
gaal I think threaded/nonthreaded libs or something
yeah
rrr, why doesn't this work? 16:47
ch <- lookAhead anyChar ; when (ch == '!') $ fail "..."
this is not in an optional rule
ah: we're already at the next char for some reason. hmm. 16:48
svnbot6 r12949 | audreyt++ | * "make ghci" needs Judy*.o for now.
gaal oh, of course. heh. 16:49
audreyt getInput would work. 16:50
gaal yes yes, my cursor had moved. fixed, committing
audreyt oh. I'm starting to use this style
Syn "CCallDyn" [...] 16:51
to denote newExp nodes in oldExp
instead of cramming new hacks on old reused nodes
gaal sure, and since "EE" is already taken. :P
audreyt Syn "CCall" and Syn "CApply" would follow I think
aufrank markstos: you instigated something bigger than you expected! 16:52
gaal ah no! unexpected "=" expecting "::", end of input, "?" or "="
audreyt it's in.
gaal dumb
svnbot6 r12950 | audreyt++ | * Dynamic method calls:
r12950 | audreyt++ | my $meth = 'say';
r12950 | audreyt++ | "Hello, World!".$meth;
r12950 | audreyt++ | Thanks to markstos++ for suggesting this to be implemented.
r12949 | audreyt++ | * "make ghci" needs Judy*.o for now.
gaal unexpected moose, expecting moose 16:53
wow, fast 16:54
audreyt araujo: ok, back to business :) spec.pugscode.org/ can get you started on the thing we are supposed to implement
lambdabot Title: Official Perl 6 Documentation
audreyt araujo: do you have a working pugs built on your machine? 16:55
araujo: one place to hack is to refactor src/Pugs/Type.hs 16:56
which is the oldest part of Pugs still surviving intact
markstos audreyt: Cool! When will pugs on feather catch up ? (Or should I just rebuild my own? )
audreyt such that it can support multiple inheritance.
it will catch up when evalbot say s it is
?eval 1
16:56 evalbot_12941 is now known as evalbot_12946
evalbot_12946 1 16:56
audreyt it's still 4 revs behind
markstos But that part is automated ?
audreyt yup 16:57
a full rebuild is perhaps 5mins
so have patience :)
markstos Sure.
audreyt araujo: currently we use "Tree ID" to denote inheritance; it should use Data.Graph.Inductive
araujo: you can ignore most things in that file 16:59
and simply change the rawTree (found in the bottom of Pugs.Type)
into a acyclic graph
and then fix all the type errors you encounter :) 17:00
currently our subtyping-based dispatch (also known as MMD) doesn't work well for user-defined types, largely because the multiple inherietance relationship is not reflected in the class tree; so making the tree a Graph will suddenly make several tests pass
which would be a good thing :) 17:01
araujo: another good task is to summarize the paragraphs above and put it as a comment above Pugs.Types.rawTree... 17:02
markstos:
my $test = ' &::($meth)(self:) should find method in parent class';
that is not so 17:03
&foo(self:) does not do a method lookup
markstos Ok. I'll remove the test. I wasn't sure.
audreyt foo(self:) would do that
but &foo(self:) is moral equivalent of perl5
(\&foo)->(...)
markstos Should this work: ::($meth)(self:) ?
audreyt I don't think so either
because ::() itself is not valid, iirc. 17:04
markstos Because there's no sigil on the :: ?
audreyt aye.
markstos Anyway, self.$meth solves it, so I'll remove that other test.
&::($meth)(self:) is rather ugly anyway.
audreyt k.
also you were misuing eval_is 17:06
simply is() would do
to protectagainst error, use
is(try{},)
eval_is takes first arg as string not expr. 17:07
as in
eval_is('code here')
which protects against parsefail
but you'd have to write
eval_is('$obj.$meth',..)
instead.
Limbic_Region audreyt - where is Setup.exe created?
markstos audreyt: thanks for the eval_is tip. 17:08
audreyt Limbic_Region: actually on ghc 6.6 we can simply use cabal-setup.exe
Limbic_Region audreyt - well, the issue is with Setup.exe
audreyt it's determined on line 147 and compiled on line 174
wow
Limbic_Region not that you probably didn't already know that
audreyt actually I didn't.
so it tries to find relative to Setup.exe? 17:09
Limbic_Region um, let me be more clear
audreyt that's uhm, very broken
line 147 and line 174 of Makefile.PL is where you want to look
Limbic_Region when $runsetup-.('build'); is run, that's when gcc-lib is not found
so I ran just that from the command line
and sure enough - gcc-lib not found
despite $ENV
er path being correct
so
I thought it was a mingw/msys problem 17:10
but that was a dead end
audreyt what if instead of Setup.exe you run c:\ghc\bin\cabal-setup.exe ?
same build line, just with different .exe
Limbic_Region tries
markstos ?eval 1
17:10 evalbot_12946 is now known as evalbot_12948
evalbot_12948 1 17:10
Limbic_Region nope 17:11
svnbot6 r12951 | markstos++ | After talking with audreyt, Remove symbolic ref OO test, and move
r12951 | markstos++ | self.$meth test to a more logical location.
Limbic_Region error - gcc-lib\\ld.exe doesn't exist
audreyt ok.
Limbic_Region that is when being run from the pugs build dir
markstos feather question: Why does '/usr/bin/pugs --version' disagree with the evalbot? /usr/bin/pugs is recent, but older.
Limbic_Region assumes it is hardcode the $basedir into the executable or something
*shrug*, I am not sure I can track it down further but will look at lines 147 and 174 17:12
svnbot6 r12952 | gaal++ | * :($x! = 42) now gives a friendly error message
audreyt Limbic_Region: er, no need to... I think I know why 17:13
17:13 Southen_ joined
Limbic_Region line 174 of makefile.PL 17:13
the compile ?
audreyt that was where Setup.hs was produced
err Setup.exe
but that's probably dead end too.
Limbic_Region ok - I assumed some of those other parameters might be worth looking into if it affected the way setup.exe functioned 17:14
but I will defer to your better judgement
btw - my util/build_pugs.pl is now filled with warn statements ;-) 17:15
audreyt oh. please make it less noisy
Limbic_Region that was just tracking down where the problem was
markstos ?eval 1
17:16 evalbot_12948 is now known as evalbot_12950
evalbot_12950 1 17:16
Limbic_Region I will revert eventually
audreyt k
gaal markstos: 'say 42.yaml' is fine, but if you want to be more consistent: 42.yaml.say or: say yaml 42
though 'say X.perl' comes naturally to me too :) 17:17
Limbic_Region ok, so have I got you interested in investigating again or should I keep looking?
markstos gaal: I see what you are saying. I'm mixing styles. 17:18
gaal: Do you know where the binary corresponding to the evalbot lives on feather ? 17:19
audreyt markstos: it's a Pugs.Version bug 17:21
it's actually 12950 on feather
when evalbot builds a pugs, it didn't update the version as it should
fixing
markstos: i.e. you can effectively use the /usr/bin/pugs as r12950
17:22 turrepurre joined
markstos gaal: I've updated the blog post. Thanks. 17:22
Limbic_Region audreyt - would running setup build -v be helpful at all? 17:23
markstos audrey: despite what /usr/bin/pugs --version reports ?
gaal oops, back
audreyt Limbic_Region: might be
markstos: aye
svnbot6 r12953 | audreyt++ | * evalbot-look: unlink src/Pugs/pugs_version.h so that the version
r12953 | audreyt++ | is reflected in each build.
Limbic_Region audreyt all it shows is gcc-lib\ld.exe being called without absolute path 17:24
perhaps -v5 might show something more
17:24 evalbot_12953 joined
audreyt ?eval my $meth = 'say'; "Hello World".$meth 17:25
evalbot_12953 OUTPUT[Hello World ] Bool::True
gaal kewl
audreyt we're now VB9 compatible ;)
xerox Crazy. 17:26
ingy audreyt: have you seen hlvm?
Limbic_Region audreyt - these output files with -v5 are rather large, should I just email them to you
audreyt ingy: the llvm upper proj?
Limbic_Region I need to go grocery shopping anyway
ingy I think so 17:27
yeah
gaal (prompt "what do you want to do today?").()
audreyt saw it on LtU
havn't investigate too much
sounds very much parroty.
ingy is Perl6 targeting hlvm?
svnbot6 r12954 | markstos++ | Fix use of eval_is for self.$meth test. It's passing now. audreyt++.
ingy ;)
Limbic_Region large = 11,200 bytes for stdout and 234,270 bytes for stderr
audreyt I thoughtabout targetting IO, actually 17:28
17:28 cm joined
audreyt the object model very much in sync 17:29
with p6's
ingy IO?
audreyt IO is the language inside javascript
that struggles to get out.
# www.iolanguage.com/about/
lambdabot Title: io - about
audreyt highlight: fast. clean. small.
Limbic_Region audreyt? 17:30
ingy oh, fyi... yaml.com
lambdabot Title: The Official YAML Projects Information Site
audreyt Limbic_Region: put it on feather?
Limbic_Region ok - what dir? 17:31
ingy heads off to run *15 miles*
:(
audreyt Limbic_Region: your ~
Limbic_Region k
17:31 ludan joined
Limbic_Region I did C:\pugs> setup.exe build -v5 >build.out 2>build.error 17:32
so those are the two files I will upload as soon as I install putty on this laptop
Patterner hmmm... gentoo has "io-vm-20030923" 17:33
gaal what other auxillaries are relevant to signatures? $x does Swim is valid, right?
Limbic_Region audreyt - uploaded 17:34
and now that I know it is safely in ghc land
I am off to go grocery shopping 17:35
thanks for bearing with me
and thanks for making the ugly hack in the interim
Limbic_Region & # grocery shopping
audreyt ingy: as re HLVM:
Parrot has an object model, just almost no reflection and no sane metamodel
HLVM doesn't even have an object model. 17:36
so, considering it vapourware until it hits the 0.4 milestone.
17:37 kane-xs is now known as kane_, cognominal left
audreyt the design looks traditional enough, so once it has an object model, probably not that hard to target. 17:38
17:38 cognominal joined 17:39 onsen joined
audreyt I like its choice of APR. 17:41
cm what's APR?
audreyt apache portable runtime
cm ah, right
audreyt for a C-based project, it's a good way to avoid
XXX - unimplemented - Win32 hackers needed 17:42
parts in the source.
cm hehe 17:43
audreyt hm, the actual from parrot source is "Win32 is not POSIX. Need win32 developer!"
17:44 larsen joined
araujo back from lunch 17:45
audreyt, yes, i got a version of pugs installed
6.2.12
audreyt cool. did larry send you a commit bit? 17:46
araujo yes audreyt
I still don't use it though
audreyt svn co svn.openfoundry.org/pugs/ ; cd pugs ; sh confiure ; make
lambdabot Title: Revision 12954: /
araujo I have mainly looked (kind of randomly) at the pugs code 17:47
audreyt vim AUTHORS # add yourself
svn ci AUTHORS
araujo audreyt, yeah, i am doing a big upgrade of my systems atm , next to compile pugs svn
audreyt and then hack away at src/Pugs/Types.hs (see backlog)
araujo yeah, reading
audreyt or other places as you prefer :))
I need to sleep now, unfortunately
nearly 2am here 17:48
so see you around tomorrow :)
*wave* &
araujo audreyt, nice, no problem, jusy one more question
gaal night
araujo If i am nex to modify something, what is it a good place to notify?
audreyt "nex"? 17:49
araujo next even
hah
araujo will check Types.hs and hack accordingly then 17:50
svnbot6 r12955 | gaal++ | * Parse 'is ref' and 'is lazy' in Signatures 17:52
gaal @hoogle [a] -> (a -> b) -> b -> b
lambdabot Prelude.foldr :: (a -> b -> b) -> b -> [a] -> b
Prelude.foldl :: (a -> b -> a) -> a -> [b] -> a
Data.List.foldl' :: (a -> b -> a) -> a -> [b] -> a
audreyt araujo: as long as it compiles, you can try to "make test" 17:53
if not all was failing, then simply commit it
araujo thanks audreyt , and good night :-) 17:54
audreyt also you can talk about what you're going to commit here in#perl6 also
but remember to add yourself to AUTHROS first. welcome aboard!
audreyt waves &
araujo Ok :-)
17:54 elmex joined 18:05 chris2 joined 18:14 mdiep joined
[particle] thanks to audreyt++'s link to iolanguage, i think i have a perl6 grammar for it now :) 18:20
avar does the perlvar.pod draft live in the pugs repos? 18:25
markstos avar: find . -name 'perlvar.pod' ... says no. 18:26
gaal I wasn't aware one existed 18:30
avar it's linked from the spec in the topic
anyway there's a typo in it, hence the question:)
gaal well, then: yes it does live in docs/AES/S28draft.pod 18:31
:-)
svnbot6 r12956 | gaal++ | * golf trait handling in Signatures 18:34
avar I'll fix it!:)
I have commit access from way back apperently
gaal avar++ 18:35
oh it looks like it hasn't been updated in a while? HISTORY says 2005-04-11 18:36
avar maybe I should just leave it?:) 18:37
I just saw in on spec.pugscode.org
Yeah, it looks out of date
gaal svk log shows 2005-11-29
well, a rehaul would be needed eventually.. so please fix away
and if you're in the mood, give it a scan viz. other synopses and update accordingly 18:38
avar www.google.com/search?q=unambuous 18:39
lambdabot Title: unambuous - Google Search
gaal that's an interesting word :) 18:40
wolverian hrm, could someone do s/builtin's/builtins/ on Perl6/Perl5/Differences.pod? I don't have access to a checkout currently and it's bugging me :) 18:42
svnbot6 r12957 | avar++ | * The 'ig' was missing in 'unambiguous'
wolverian (it's under "Builtin Functions")
gaal fixed 18:43
wolverian thanks! :) 18:44
gaal sure
wolverian oh, on that note, the "references are gone" index link does not work, and should be capitalised probably.
gah. sorry, I should just do a fresh checkout 18:45
gaal too tired to fix tonight :)
wolverian no problem, I'll fix it when I get home
svnbot6 r12958 | gaal++ | * Differences.pod: grammar fix, reported by wolveran++ 18:48
avar $foo ~~ Hash <= Yummie
avar reading Perl6 diff 18:49
my coworker does ref $hr =~ /HASH/i; a lot
integral /i? they're superstitious? 18:50
wolverian and you probably won't be typing the ~~ explicitly either, but using multiple dispatch or 'when'
avar integral: apperently:) 18:51
18:56 buetow joined 19:01 nwc10 joined
avar woohoo 19:02
nwc10 Sorry if this is either an RTFM type question, or a "try it with pugs" (which I don't have to hand), but: if you take a continuation, where one (or more) of the lexical variables are references to deep data structures, does the continuation have a deep copy of those structures, or just a shallow copy?
gaal nwc10: try p6-l? 19:05
nwc10 OK. SO it's not a trivial question? :-)
gaal nobody for whom it's trivial seems to be around :)
integral afaik it should be shallow
it's closing over the variables, not the stuff in them 19:06
nwc10 Ah good. If conceptually it's "closing" then it's the same action as the existing closure implementation in Perl 5. Bad people have got me thinking about continuations and 6 on 5. I'm not promising that I will do anything more than think about them. 19:07
19:08 Limbic_Region joined
Limbic_Region returns to find the laptop in standby mode 19:09
19:26 melite joined 19:27 melite left 19:43 traecer joined 19:48 penk joined
svnbot6 r12959 | markstos++ | fix typo and add smart link for q:h test. 20:00
20:02 lectus joined
pasteling "rindolf" at 88.153.53.7 pasted "Haskell Program with a compile error" (52 lines, 1.5K) at sial.org/pbot/19427 20:13
rindolf Can anyone help with sial.org/pbot/19427 ?
lambdabot Title: Paste #19427 from "rindolf" at 88.153.53.7
rindolf integral: ?
20:27 justatheory joined
markstos I keep getting "No compatible subroutine &exists" errors on valid hash syntax. By moving the problematic method to a test script, I can see that the whole method is in fact fine. This indicates a problem somewhere else in the class that's causing this problem indirectly, but I'm sure how to find it. 20:29
s/sure/not sure/ :)
gaal rindolf: I don't think you can override instances on type aliases, you need a newtype 20:32
rindolf: newtype PhraseCounter = MkCounter{ unCounter :: Map PhraseCounterKey PhraseCounterValue } 20:38
rindolf gaal: thanks.
gaal: never mind.
gaal rindolf: instance Show PhraseCounter where show MkCounter x = ...
oops "show (MkCounter x)" 20:40
20:40 nothingmuch_ joined
rindolf gaal: thanks. 20:40
gaal no prob
20:41 nothingmuch_ is now known as nothingmuch, ruz_ joined 20:42 plisk joined
gaal okay that's it for me for tonight 20:43
bye everyone!
svnbot6 r12960 | gaal++ | * Support for arbitrary traits in Signatures: 20:46
r12960 | gaal++ | :($moose! is Beautiful is Fair)
r12960 | gaal++ | * Honor spelled-out 'is required' trait:
r12960 | gaal++ | :($x = 42 is required) # gives the error you'd expect
r12960 | gaal++ | * Along the way I broke implicit-optionality, so if you enter
r12960 | gaal++ | auxillaries, you need either a ?/! or a default value :-(
r12960 | gaal++ | * Open questions:
r12960 | gaal++ | - How does Pugs.Val.Code.Param express Dog ::T $fido?
r12960 | gaal++ | - What does it do with 'does' and other non-is auxillaries?
20:48 miyagawa_ joined 21:10 crem_ joined 21:24 nothingmuch_ joined 21:32 nothingmuch_ is now known as nothingmuch 21:46 _SamB_ joined, thomason joined
svnbot6 r12961 | markstos++ | Updates to dispatch_quiz.pl: 22:19
r12961 | markstos++ | - Run every scenerio as both subs and methods. (Sometimes the answers are different!)
r12961 | markstos++ | - Catch and report test compile failures.
r12961 | markstos++ | (%h, *%h) won't compile for subs, but passes for methods!
r12961 | markstos++ | Try it to see the surprising results!
r12961 | markstos++ | Currently 5 out of the 14 scenerios fail my expectations...
pasteling "markstos" at 12.176.101.89 pasted ""interesting" results from dispatch_quiz.pl" (42 lines, 1K) at sial.org/pbot/19432 22:26
22:28 ToniEisner joined 22:32 ToniEisner left
svnbot6 r12962 | markstos++ | rename pipe operator to feed in test suite and remove that from t/TASKS 22:40
r12963 | markstos++ | Actually move pipe.t to feed.t in a second operation, 22:44
r12963 | markstos++ | since svk can't handle moving a changed file, like darcs can.
r12964 | markstos++ | [t/oo/methods/multi.t] 22:53
r12964 | markstos++ | Add smart links to header
23:11 larsen joined 23:20 ruz_ is now known as ruz 23:21 ruz joined
TreyHarris gaal: from r12960 "* Along the way I broke implicit-optionality, so if you enter auxillaries, you need either a ?/! or a default value :-(" what does this refer to? i see 'auxiliary' mentioned a couple times in S06, but not defined AFAICT 23:26
markstos: when you create lexical variables in a test, you should surround the tests using it in a block so the lexical will go out of scope after.... 23:38
svnbot6 r12965 | markstos++ | [t/oo/methods/multi.t]
r12965 | markstos++ | Four new failing tests for multi method dispatch, based on dispatch_quiz.pl.
r12965 | markstos++ | The spec is not specific about multi method dispatch details, saying:
r12965 | markstos++ | "They are sorted into an order according to how close the run-time types of the
r12965 | markstos++ | arguments match up with the declared types of the parameters of each candidate.
r12965 | markstos++ | The best candidate is called..."
r12966 | markstos++ | one more failing MMD test. 23:47
23:48 spoopithy joined
markstos TreyHarris: I understand your point, but I'm not sure where I've made a mistake. Please go ahead and patch it yourself, or point it out to me. 23:53