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 |