Pugs 6.2.6 uploaded by cpan-upload.p6! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste at sial.org/pbot/perl6
Set by integral on 2 June 2005.
geoffb OK, there's something just disturbing about no traffic on this channel for hours on end. 04:48
autrijus_ indeed. 04:49
geoffb One comment from clkao in the last 7+ hours
autrijus_ just woke up
geoffb Didn't expect you to be around, autrijus_ !
Ah, early there then.
autrijus_ quite. before 7am
geoffb Get to see the dawn today? 04:50
autrijus_ no, not a chance :)
although it's alraedy daylight saving time
04:50 autrijus_ is now known as autrijus
autrijus but anyway. today's the hard deadline of hw2005 04:51
which means I better write down the pugs->parrot compilation strategy we discussed yesterday
geoffb So earlier this week (before family came to visit), I went to write some tests for pugs . . . but I couldn't get them to work because of Test limitations . . . and I couldn't work around those because of pugs bugs . . . and recurse. 04:52
So I was wondering -- does pugs still need exhaustive tests of the "simple stuff", like space handling in expressions and compliance with Perl 6 invariances, and so on?
autrijus which Test limitations?
yes, definitely so 04:53
geoffb As I recall, I wanted fails_ok to take a string, or somesuch . . . don't recall for sure.
I figured rather than writing tests for bleeding edge stuff, perhaps my time would be better spent fleshing out the basic test core.
autrijus yes. 04:54
that'd be much appreciated.
geoffb OK, after family leaves (Sunday), I'll try to scrape together my tuits in that direction. 04:55
autrijus danke. 04:56
geoffb de rien
good luck with hw2005, it's pretty good so far. 04:57
autrijus glad to hear that. :)) 04:58
Khisanth hrm 05:02
autrijus hey Khisanth
I'll brb -- shower &
geoffb So the rumors of autrijus ircing in the shower appear to be false . . . . 05:05
or maybe he just lurks, with the laptop right outside the curtain.
autrijus yup. 05:09
that's usually the case.
to avoid damaging the keyboard I usually type with a toothbrush or so.
geoffb LOL 05:10
crysflame oof
chopsticks are great for that i hear
autrijus hey lightstep, crysflame. 05:11
lightstep hoy
geoffb autrijus, a couple days ago I managed to produce a few lines that would work correctly if saved to a file, but would error if pasted into pugs interactive mode. Is there a difference between the parsing in those two cases? If so, why? 05:14
For reference, the four lines are: 05:15
#!/usr/bin/pugs
use File::Basename--perl5;
our &basename := File::Basename.can('basename');
say basename('/this/is/a.test');
autrijus the interactive mode's idea of continuity between lines is flawed. 05:21
in this case I think it's the class cache -- try ::File::Basename.can('basename'); ? 05:22
(btw, nice use of .can)
can you help updating examples/perl5/cpan-upload.p6 to reflect this infinitely better style? :)
geoffb 1) ah. 2) will try. 3) thanks, you suggested it. :-) 4) Will do. 05:26
::File::Basename.can('basename') no workie. 05:28
(either in a file, or in interactive mode)
What is this workaround for: 05:33
my &POST := eval_perl5 'sub { my $url = shift; &HTTP::Request::Common::POST($url, {@_}) }';
Why not just call POST with ($url, $hashref) directly? 05:34
OK, is it supposed to be the case that when you dereference an array ref with {'string'}, it treats the array as a hash with alternating odd and even being key and value? 05:41
If not, cpan-upload.p6 is just wrong
er, at line 258 05:42
OK, assuming I'm right, and just committing what I think was meant by the screwy lines in cpan-upload.p6 05:49
svnbot6 r4524, geoffb++ | cpan-upload.p6: clean up perl5 import workaround syntax; clean up ugliness with hashref arg to POST
geoffb afk
autrijus you're right. thanks :)
gaal please review: Prelude bypass strategy 05:58
sometimes we want to load pugs faster, bypassing the Prelude. (or sometimes in development we break the prelude and want to wait before fixing it)
to tell pugs not to call initPrelude, set PUGS_BYPASS_PRELUDE in the environment to a true value.
to load an alternate Prelude, do that and specify -MPrelude on the command line, it will be loaded like a regular module via @*INC
what think? 05:59
autrijus worksforme.
gaal btw, initPrelude is confused about Pos when the prelude breaks, citing ludicrous coordinates
good, i'll add that then 06:00
though i wonder if it isn't getting good time to organize all our env vars together :)
autrijus we can start documenting it at least 06:02
in the form of pugsrun.pod and friends
or is it pugs::run?
gaal many of them are only for development now (controllign smoke tests, there are at least three or four) 06:03
autrijus sure, but getting it documented is still nice 06:04
gaal okay, will start that.
autrijus 'kay. I think lib/pugs/run.pod is an okay place 06:05
better suggestions welcome too
gaal i'll start there. svn++; # 'mv'
ooh, the hash interface from haskell is... interesting :) 06:09
you generate a getter per hash, right? 06:10
geoffb bak 06:13
autrijus gaal: a getter per hash?
each hash as an associated implementation object 06:14
gaal autrijus, i see code like fetch <- doHash somehash hash_fetchVal
and then you apply fetch with a key
autrijus oh. right. that's because hash_fetchVal is polymorphic over the hash type
all you know is that somehash is a Val 06:15
but it may be a VRef to a VHash
or a PerlSV
or a VMatch
or something else entirely
so doHash is used to unpack the Val via typecasing
gaal i'm happy i chose to use the hash and not peek in the environment myself :) 06:16
autrijus (well, not really typecasing)
gaal wouldn't have learned all this if i did it the hacky way :)
autrijus true :)
yay, other people are up. I'll bbiab, breakfast etc 06:17
gaal bon breakfast 06:18
beh, Run.hs doesn't have findVar and i'm not sure i want to add a dep there 06:19
i'll figure something out :)
autrijus :) 06:29
gaal what i figured was that i needed readVar :) 06:30
geoffb bed time, g'night 06:44
gaal night geoffb
I have a Val and want to force it to a VBool. how? 06:47
by Prim's "?" and "!" it looks like VBool var should have done the trick, but i get type errors with that. 06:48
Aankhen`` Shout at it till its spirit is crushed and it obeys all your commands?
gaal tempting :) but no 06:50
Aankhen`` :-(
scook0 gaal: tried 'VBool (vCast var)'? 07:05
gaal not yet - but looking around at other aspects of this problem, i realized that since i needed to unsafePerformIO anyway, i might as well skip the hash interface and getEnv directly :/ 07:07
it was fun while it lasted :)
gaal praises GHC's pragma syntax that urges locality 07:13
svnbot6 r4525, gaal++ | allow bypassing Standard Prelude when PUGS_BYPASS_PRELUDE is set in the environment 07:31
r4525, gaal++ | to load an alternate Prelude.pm (from @*INC), use -MPrelude explicitly
r4526, autrijus++ | * hw2005 - Embedding Haskell. 07:49
r4527, autrijus++ | * hw2005.txt - minor fixes 07:59
Aankhen`` ?eval "foo".ref 08:10
evalbot6 ::Str
Aankhen`` ?eval "foo".ref.new() 08:11
evalbot6 {obj:Str}
Aankhen`` ?eval "foo".ref.new("bar")
evalbot6 {obj:Str}
Aankhen`` ?eval ~("foo".ref.new("bar"))
evalbot6 '<obj:Str>'
Aankhen`` ?eval class Foo { ... } my $foo = Foo.new(); $foo
evalbot6 *** ... - not yet implemented at <eval> line 1, column 13-17
Aankhen`` ?eval class Foo { } my $foo = Foo.new(); $foo 08:12
evalbot6 \{obj:Foo}
Aankhen`` ?eval class Foo { } my $foo = Foo.new(); $foo; $foo.ref.new();
evalbot6 {obj:Foo}
Aankhen`` ?eval class Foo { } my $foo = Foo.new(); $foo; my $bar = $foo.ref.new(); 08:13
evalbot6 \{obj:Foo}
Aankhen`` Yeesh. 08:19
svnbot6 r4528, Aankhen++ | * bumped up version number for URI::Escape.
r4529, Aankhen++ | * URI::Escape now uses the C<module { ... }> form. iblech++
Aankhen`` mod_perl2's tests take less time than Pugs's tests. :-P 08:20
crysflame heh 08:23
svnbot6 r4530, gaal++ | pugs::run documentation 08:25
Aankhen`` ?eval 0 but true 08:28
evalbot6 Error: unexpected end of input expecting term
Aankhen`` ?eval true
evalbot6 Error: unexpected end of input expecting term
Aankhen`` Shouldn't C<true> and C<false> be automatically imported so that stuff like C<0 but true> can be used?
(instead of, say, C<0 but bool::true>)
gaal ?eval 0 but bool::true 08:33
evalbot6 Error: Unknown syntactic construct: Syn "but" [Val (VInt 0),App (Var "&bool::true") Nothing []]
gaal heh.
Aankhen`` ?eval 0 is true
evalbot6 Error: unexpected end of input expecting term
Aankhen`` ?eval 0 is bool::true
evalbot6 undef
Aankhen`` ?eval 0 is true
evalbot6 Error: unexpected end of input expecting term
Aankhen`` :-\
gaal ?eval (0 is bool::true) ?? "true" :: "false" 08:34
evalbot6 'false'
gaal i think this language feature isn't really implemented yet ;-)
Aankhen`` Yea, but it wouldn't hurt to have C<true> and C<false>. :-) 08:35
gaal i'll add them to the prelude 08:36
but my working copy is not intentionally broken
so remind me later :) 08:37
Aankhen`` Heh, okay.
gaal++
gaal "now" intentionally broken
now "intentionally" broken
now intentionally "broken"
ah, scare quotes.
Aankhen`` ?eval sub foo () { 42 }; &bar ::= &foo; bar(); 08:38
evalbot6 Error: Undeclared variable: "&bar"
Aankhen`` ?eval sub foo () { 42 }; my &bar ::= &foo; bar();
evalbot6 42
Aankhen`` ?eval sub foo () { 42 }; our &bar ::= &foo; bar();
evalbot6 42
Aankhen`` ?eval module Foo { sub foo () { 42 }; our &bar ::= &foo; }; Foo::bar(); 08:39
evalbot6 Error: No compatible subroutine found: "&Foo::bar"
Aankhen`` ?eval module Foo { sub foo () { 42 }; our &bar ::= &foo; }; Foo;
evalbot6 \{obj:Class}
Aankhen`` ?eval module Foo { sub foo () { 42 }; our &bar ::= &foo; }; ::Foo;
evalbot6 \{obj:Class}
Aankhen`` ?eval module Foo { sub foo () { 42 }; our &bar ::= &foo; }; ::Foo::bar;
evalbot6 ::Foo::bar
Aankhen`` ?eval module Foo { sub foo () { 42 }; our &bar ::= &foo; }; ::Foo::bar();
evalbot6 pugs: cannot cast from VType (mkType "Foo::bar") to Pugs.AST.Internals.VCode
Aankhen`` o_O
BBIAB.
gaal another => bug: 08:44
?eval my %h = ( sub => <yellow> )
evalbot6 Error: unexpected "=" expecting subroutine parameters or block
gaal ?eval my %h = ( <sub> => <yellow> ) 08:45
evalbot6 {('sub' => 'yellow')}
gaal at least, i think it's a bug?
brb
Aankhen`` ?eval my %h = { sub => [<yellow>] } 09:00
evalbot6 Error: unexpected "=" expecting subroutine parameters or block
Aankhen`` ?eval my %h = ( sub => [<yellow>] )
evalbot6 Error: unexpected "=" expecting subroutine parameters or block
Aankhen`` Ah.
gaal it's the "sub" being interpreted as a subroutine dec
Aankhen`` I see what you mean.
gaal i'm pretty sure it has to do with => precedence, but i'll leave it to autrijus to fix :) 09:01
09:52 Aankh|Clone is now known as Aankhen``
Aankhen`` wonders if mod_perl for P6 will simply build upon mod_parrot, or whether it's not needed at all... 09:54
nothingmuch autrijus: ping 10:49
Anyone interested in meta models and dancing might want to look at chapter 7 of the harrorth mess 10:55
wherein is detailed the way forth words compile forth words
and you can learn a bit of assembley too 10:56
by the way, I need an editor for this stuff
any volunteers?
i'll buy you a beer at YAPC
okay, 2 beers 10:59
lightstep "At the lowest level we need [...] conditional branches [...] provided for by haskell". but the view of the rest of the document is running forth on a sequential machine, while haskell uses a graph reduction model 11:05
Aankhen`` nothingmuch >> An editor of what sort? 11:27
svnbot6 r4531, iblech++ | lib/pugs/run.pod -- More PODification.
r4532, iblech++ | Pugs.Run -- use $PERLLIB if $PERL6LIB is not set.
r4532, iblech++ | pugs::run -- Remove "[make true]" notice about $PERLLIB.
Aankhen`` A technical editor
?
Or just someone to fix grammar/punctuation/spelling mistakes? 11:28
gaal hah, iblech++; # self-fulfilling documentation 11:34
Aankhen`` pokes nothingmuch. 11:49
svnbot6 r4533, iblech++ | Pugs.Eval -- Fixed Haddock-confusing Haddocks.
Aankhen`` ?eval class Foo { multi sub *infix:<==> ($self, $other) { "$self (" ~ $self.ref ~ "), $other (" ~ $other.ref ~ ")" } }; Foo.new() == "a" 11:56
evalbot6 '<obj:Foo> (Foo), a (Str)'
Aankhen`` ?eval class Foo { multi method *infix:<==> ($self: $other) { "$self (" ~ $self.ref ~ "), $other (" ~ $other.ref ~ ")" } }; Foo.new() == "a"
evalbot6 Error: Wrong number of invocant parameters: 0 actual, 1 expected
nothingmuch gets poked 11:58
Aankhen``: an editor for the harrorth documentation 11:59
that is: an english language editor, a technical editor
Aankhen`` volunteers for the former.
nothingmuch in that case, read Harrorth end to end, and darcs send some patches which need no discussion
i'll read them and pay better attention to the errors next time 12:00
and discuss more substantial changes, and we will decide together what to do
Aankhen`` darcs? Bleh.
nothingmuch okay, unidiffs =) 12:01
or english diffs: "this was bad, make it "Foo""
dad just zonked my brain with ackerman
Aankhen`` Heh.
Nah, I need to get around to reinstalling it anyway.
nothingmuch how come? 12:02
lightstep: ping
Aankhen`` Just.
One question.
What is Harrorth?
nothingmuch ah
feather.perl6.nl/~nothingmuch/harrorth/
it's my learn-haskell project
i'm learning haskell forth and parrot (no parrot yet) by writing a forth compiler in haskell
which will eventually target parrot 12:03
Aankhen`` OK.
Sounds cool.
nothingmuch now, the catch is that i'm documenting my progress like a tutorial
so that people like me, who can get through the monad tuts and whatever but don't feel they've actually learned anything useful might find a purpose
Aankhen`` Sooo, where do I see the documentation?
nothingmuch but I can't assume any knowlege, since I don't know much more than the reader at any given point in time 12:04
the link i gave you has a doc subdir
Aankhen`` Oops, sorry.
I missed that while looking for Harrorth.
Aankhen`` goeth to inshtall darcsh. 12:05
lightstep nothingmuch, pong
Aankhen`` I hate it when a "Building with Microsoft Windows" section starts with "You need MinGW, MSYS, and...". 12:06
nothingmuch read chapter seven please =)
you are my forth guru #2, so i'd appreciate comments
lightstep sorry, i only got to the spot i quoted (right before the assembly thingy), and then i slid off to manga. i'll return to it now. 12:07
nothingmuch oh, i didn't notice you quoted
lightstep: i've screwed up a bit in the intro 12:08
and i've also forgot a paragraph
but the point is that we'll be focusing on a strategy for doing this in a haskellish manner in the next chapter
lightstep my point is, usually IF is implemented as an immediate work that pushs a JNZ or something, which isn't at all possible in haskell
nothingmuch what I plan to do is put the whole "Rest of the word" in the place of the address 12:09
and make the jump a continuation to the interpretation of that thing
lightstep so you need a parser 12:10
nothingmuch i'm not really what I need yet, we'll see when I start writing the code 12:11
lightstep ok 12:12
nothingmuch darcs pull btw
lightstep: here's a mini plan, i think i'm going to try and follow it: 12:14
a "cell" in haskell is either a primitive, a literal, or more AST 12:15
something like a branch has two choices
two continuations, one for each condition
the THEN word derives a version of the word currently being compiled 12:16
with a filled in branch
the two choices eventually meet to the same AST, but they don't know it
you have a jump which is a cont, and a call which is a recusrive call
lightstep are the cells organized in a sequence, or does every cell contain a jump to the next cell? 12:18
nothingmuch i'm not sure, i think it depends on what's easier to code
or what's harder to code, but turns out more elegant ;-)
lightstep btw, i've no idea how to use darcs (i only used the web interface till now). i'll be glad if you tell me how to start 12:19
Aankhen`` nothingmuch >> Do I use `darcs push` to commit changes?
lightstep maybe init, then register, then tag? or whatever the names are?
nothingmuch "darcs get feather.perl6.nl/~nothingmuch/harrorth" gets you a harrorth in pwd 12:20
Aankhen`` I got it.
I'm talking about committing my changes.
nothingmuch when you cd into it "darcs pull" updates the repo with changes
Aankhen``: that was for lightstep
Aankhen`` Oh, sorry.
Confusion, heh.
Er, wait... do I use `darcs record` or `darcs push`? 12:21
nothingmuch Aankhen``: you can darcs push 'feather:~nothingmuch/harrorth', but I need to chmod it first
or you can darcs send
and put in my email
or you can send -o or something, and that gets put into a file, which you can put somewhere
Aankhen`` Which would be?
nothingmuch or email
lightstep whoa, cool. much nore than arch.
nothingmuch ah
darcs record does that
if you've made a change to the working dir you must make a patch out of it
Aankhen`` OK.
nothingmuch once you have a patch you can move it around, and it's dependencies get dragged along with it
Aankhen`` I'll use `darcs send` later. 12:22
nothingmuch so you can 'push' or 'send' or 'pull' it
also, there's a notion of a "default repo" 12:23
if you push to the ssh path of the repo, subsequent 'darcs pulls' will use that
IIRC
which is slower
so you should --no-set-default 12:24
and you can also put that in a config file, so that no-set-default is assumed every time you say 'darcs push'
svnbot6 r4534, autrijus++ | * hw2005 - Section 6 (basically) done! Only one section to go! 12:48
Aankhen`` nothingmuch >> How do I send you the patch by e-mail? 13:05
I can't `darcs send`, since apparently that will end up using Microsoft Exchange or something.
?eval "<URL: www.pugscode.org/>" ~~ s/^\<[URL: ]?(.*)\>$/$0/ 13:09
evalbot6 Parrot VM: PANIC: Out of mem! C file src/memory.c, line 45 Parrot file (not available), line (not available) We highly suggest you notify the Parrot team if you have not been working on Parrot. Use parrotbug (located in parrot's root directory) or send an e-mail to [email@hidden.address] Include the entire text of this error message and the text of the script that generated the error. If you've made any modifications to Parrot, please describe them
Aankhen`` O_O 13:10
QtPlatypus Aankhen``: evalbot's regex engion is broken 13:11
svnbot6 r4535, iblech++ | autrijus++'s hw2005 -- Grammar and typo fixes.
Aankhen`` Ah.
Even for P5 regexen?
QtPlatypus Its been that way for a while
iblech QtPlatypus: Is it? I think it's only because evalhelper.p5 limits the available memory
Aankhen`` Dangit, now I have to build Parrot. :-( 13:12
iblech ?eval "hi" x 100000000; 5 # shouldn't work 13:13
evalbot6 5
iblech ?eval "hi" x 100000000000; 5 # shouldn't work
evalbot6 5
iblech ?eval "hi" x 1000000000000000; 5 # shouldn't work
evalbot6 5
iblech ?eval "hi" x 100000000000000000000; 5 # shouldn't work
evalbot6 5 13:14
iblech beh
Aankhen`` LMAO.
iblech ?eval bytes("hi" x 100000000000000000000); 5 # shouldn't work
evalbot6 pugs: out of memory (requested 8388608 bytes)
iblech ha! :)
Aankhen`` Yey! Finally!
iblech Seems like Haskell has pretty good optimizations for strings
Aankhen`` Yup. 13:16
?eval bytes("foo")
evalbot6 3
Aankhen`` ?eval bytes("foobar")
evalbot6 6
Aankhen`` Ah.
?eval "foobar".bytes
evalbot6 6
Aankhen`` That bytes(). Heh.
"foobar".chars
?eval "foobar".chars
evalbot6 6
QtPlatypus I wonder if haskal is cheeting and your "hi" x 100000000000000000000 just doesn't get run due to lazyness 13:17
Aankhen`` ?eval "foobar".graphs 13:18
evalbot6 6
Aankhen`` ?eval "foobar".codes
evalbot6 6
QtPlatypus ?eval "??".chars 13:19
evalbot6 2
iblech FYI, .graphs is currently a synonym to .chars 13:20
Aankhen`` OK.
iblech QtPlatypus: In pure Haskell: for sure -- (concat $ replicate 10000000 "Hi") will return immediately. But I wonder why that's the case in Pugs, too, as we explicitely disable laziness in the appropriate places, so we match Perl's behaviour... 13:22
QtPlatypus iblech: It could be a bug. Though I expect not an majour one. 13:24
Aankhen`` ?eval our <$foo $bar $baz>; 13:26
evalbot6 Error: unexpected "<" expecting qualified identifier, variable name or "("
Aankhen`` ?eval our (<$foo $bar $baz>);
evalbot6 Error: unexpected "<" expecting variable name, "undef" or ")"
Aankhen`` Ah well.
I had to try. :-)
svnbot6 r4536, iblech++ | ChangeLog -- Add note about pugs::run. 13:27
Aankhen`` ?eval my $foo = "bar\\n"; $foo;
evalbot6 \'bar\\n'
Aankhen`` ?eval my $foo = "bar\n"; $foo; 13:28
evalbot6 \'bar '
Aankhen`` ?eval my $foo = "bar\\n"; $foo;
evalbot6 \'bar\\n'
Aankhen`` ?eval my $foo = "bar\\n"; "\Q[$foo]";
evalbot6 'Q[bar\\n]'
iblech ?eval our ($foo, $bar, $baz); # works
evalbot6 undef
Aankhen`` iblech >> Yeh, I know.
I was just wondering whether through any manipulation of parsing <...> would work. :-)
?eval my $foo = "bar\\n"; quotemeta($foo); 13:29
evalbot6 Error: No compatible subroutine found: "&quotemeta"
iblech Ah. But I don't think it could work, as our() expects variables ($foo), not variable names ('$foo'). 13:30
Aankhen`` Yeah, I know.
Like I said, I was just wondering. :-) 13:31
iblech wondering++ :) 13:32
Aankhen`` Hehe. 13:33
# XXX: Hopefully uri CLASS will return CLASS.
# See L<S06/"Currying"/"subroutines/methods/etc. simultaneously:">.
$impclass ||= .:implementor($scheme) ||= use URI::_foreign;
Do you think you could explain that?
(I read the relevant section in S06, but I don't quite understand) 13:34
iblech s/uri/use/ in the first line of the comment 13:36
use(Class) should evaluate to Class
Aankhen`` Ahh.
iblech (That was my understanding of the AES, if not, one would have to write ...||= do { use URI::_foreign; URI::_foreign } 13:37
Aankhen`` OK.
Is there any reason why ||= should be used there instead of //=? 13:38
iblech No, probably just habit. //= is fine and more clear
Aankhen`` Okey dokey!
Ah, I would dearly love to have subtypes and C<where> clauses. 13:39
method :init(::?CLASS $class: Str $str, Str $scheme) { 13:44
That looks for an invocant of type URI?
I mean, wouldn't that make more sense as $self or something of the sort? 13:45
Hrm, wait.
Aankhen`` re-reads.
iblech :init is a class method
No, wait, it isn't... 13:46
Aankhen`` It is, apparently.
return $impclass.:init($uri, $scheme);
That's how it's called.
iblech It *should* be a class method, but isn't in my port
Yep
Aankhen`` So it ought to be Class $class, right? 13:47
iblech The proper translation is method :init(Class $class: ...)
Yep
Aankhen`` Yeh.
Heh.
Aankhen`` edits.
C<< bless $class: foo => "bar" >> is a synonym for C<< $class.bless(foo => "bar") >>? 13:50
iblech Yep 13:51
Aankhen`` OK.
iblech++ # patient as always
svnbot6 r4537, iblech++ | Pugs.Help -- Minor cosmetic fix. 14:03
r4537, iblech++ | pugs::run -- Wrote section about Pugs' command line flags.
r4538, gaal++ | fix mention of yaml_harness
r4539, iblech++ | Pugs.Help -- Put link to pugs::run.
gaal iblech, do you think pugs::run should be svn mv'ed to end with .pm? if so please go ahead 14:06
iblech Don't see anything wrong with .pod 14:07
gaal k, i just nocticed you called it .pm somewhere. never mind :) 14:08
iblech Ah, typo
svnbot6 r4540, gaal++ | add =item for PERLLIB
kelan jabbot: nopaste 15:01
jabbot kelan: I'm not sure I understand you fully.
kelan perlbot: nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
Aankhen`` Wow, TortoiseSVN rocks. 15:16
gaal Wow, Close to the Edge rocks. (just sayin') 15:32
Aankhen`` Yes rocks.
gaal Yes++; progrock++ 15:33
(that feeling of listeining to an album you love after a while you didn't listen to it, only to discover it's still amazingly excellent)++ 15:34
Aankhen`` (listening to a shuffled, 5000 song library over time and therefore discovering new music everyday)++ 15:35
(parents who listen to music you like)++
gaal cofee! 15:36
wow, this is bad spell day.
15:55 Boogie_ is now known as Boogie 16:07 iblech_ is now known as iblech 16:34 Aankh|Clone is now known as Aankhen``
putter autrijus: is there anything we can do to help you meet deadline? 17:45
putter notes svn.openfoundry.org is off the air. A hw2005.txt ci with minor grammar tweaks will have to wait...:( 17:46
autrijus putter: heya 18:18
putter: please nopaste it here
putter: or just paste it here
Limbic_Region how goes the hackathon autrijus? 18:22
autrijus Limbic_Region: very well! 18:37
figured out the compilation strategy
I'm still finishing up hw2005 (due in 3.5 hours)
Limbic_Region you'll make it 18:38
autrijus lots of blatant obsoleted and misleading statements in parrot PDDs removed
learned TeX (but not bibtex yet)
integral
.oO( ParrotTeX )
18:39
iblech autrijus: If you have a sec -- is there a way to use Pugs.Eval.findVar from Pugs.Parser.Unsafe? 18:42
gaal autrijus: in the "Tied" section: consider 18:43
-objects". If yes, Perl then calls the "STORE" method on those objects, passing
+objects". If they are, Perl then calls the "STORE" method on those objects, passing
iblech Currently I'm using "unsafeEvalExp $ Var "varname"", but this 1) dies if varname wasn't found and 2) seems a bit too heavy to me, as I just want to resolve varname 18:44
gaal iblech, can't you readVar ?
oh you'tr in the parser, no matter
iblech ...And findVar has special logic for &vars (i.e. automatically creating &prefix:<[+]> etc.), which I'd rather not like to replicate in Pugs.Parser.Unsafe 18:46
autrijus greetings 18:47
iblech: I think readVar is the way to go. 18:48
if you want the value, that is 18:49
iblech: you can duplicate readVar's logic
or generalise it for all MonadEval class.
gaal: gaal thanks, fixed 18:50
iblech But it seems that readVar doesn't have special logic for &vars, so readVar won't find "&prefix:<[+]>", right? 18:51
autrijus right. so you need to move the logic there 18:52
and reuse it
gaal actually: also ..."on them", not "on those objects", since we are already in the Deict monad.
iblech Ok, I'll try that
autrijus gaal: k 18:53
autrijus started writing out PIR grammar
after 20 constructors
I found there's still 40 to go
if I still had any doubt about the craziness of generate PIR directly from the parsed Exp, with any chance of optimisation, then there's no more 18:55
it's clearly a way of madness
instead I've written out the PAST grammar which has only seven node types, so we can optimise the hell out of it :)
even for the Eval monad itself
so expect some more 200% speedups down the road :)
iblech: hey, you grok TeX right? 18:56
iblech autrijus: If you mean LateX, then yes 18:57
Don't have a clue of pure TeX
gaal :)
autrijus :) 18:58
iblech :) # 3 smileys, can we top that? :) 18:59
autrijus iblech: cool. I'm having problems distinguishing
\texttt{}
\code{]
and other constructs
during the conversion of .txt to .tex
gaal we can do a moose smiley. }:)
crysflame :X 19:00
autrijus iblech: do you have a feather account?
in ~autrijus/hw2005/pugs.tex
that's my current formatted source
I'd be happy if you can sanity check a bit to see if there's some outrageous errors
(typing "make" in there should produce a pugs.ps)
iblech autrijus: No, please cp that to public_html or how it's called 19:01
autrijus: Sure
autrijus and/or help fixing the usage of things like {tree"} nad turn "libperl.so" to \texttt{libperl.so} (or something like that)
iblech: perlcabal.org/~autrijus/hw2005.tgz 19:02
danke sehr
iblech Kein Problem 19:03
nothingmuch Aankhen``: did you figure darcs out? 19:05
putter back... pasting... 19:07
iblech autrijus: Hm, you defined \code to mean the same as \texttt, so what's the exact problem?
autrijus iblech: the exact problem is that I did none of that definition XD 19:08
iblech: it's all copy-paste of hs-plugins.tex
I have no idea what is defined to what
so if \code just means \texttt... then wonderful
thanks for telling me that :)
also I noticed the source code <pre> things 19:09
doesn't break
iblech autrijus: :) It's at the top: \newcommand{\code}[1]{\texttt{#1}} -- "define the new command "\code", which takes 1 arg (which can be later referred to by #1), and let it expand to \texttt{#1}"
pasteling Someone at 66.30.119.55 pasted "hw2005.txt: minor grammar tweaks." (25 lines, 1K) at sial.org/pbot/10953
nothingmuch autrijus: any opinions on chapter 7? 19:10
autrijus nothingmuch: Leo says your journal is the best text he've found about Haskell 19:11
and that he can actually grok one chapter at a time without head exploding or something 19:12
nothingmuch =D
there's a saying in judaism
saving one life is like saving the whole world
scaled down to saving a head from exploding
autrijus I think ch7 is wonderful -- I never grokked how compile-time words relate to BEGIN until you wrote that
nothingmuch just that makes me overjoyed =)
autrijus of course the BEGIN is nestable? 19:13
you can do compile-time-inside-compile-time? 19:14
nothingmuch i'm not 100% sure
i haven't played around
in theory yes
though I suspect it depends on your impl
: just puts stuff on the stack
or maybe it doesn't, i'm not sure
autrijus nod. 19:15
nothingmuch you might preallocate some data
the way a word's definition is linear
or make sure to jump around the nested word
food time... see you soon!
autrijus ciao
Aankhen`` nothingmuch >> I figured out darcs somewhat, but I need to figure out how I send you a particular patch by e-mail; I can't use `darcs send` as it tries to send using Microsoft Exchange. 19:20
gaal a.*, darcs send -o file.patch 19:21
autrijus mugwump: hey, you know if there's a pod2kwid somewhere? 19:22
Aankhen`` Like I said, `darcs send` doesn't work...
autrijus chip's asking
Aankhen`` Or rather, it's not an option.
gaal -o file writes it to a file
Aankhen`` Oh. 19:23
autrijus maybe PDDs won't take up that much vertical space when it's converted to kwid :)
hmm Pod::Simple::DumpAsKwid 19:24
Aankhen`` Thanks, gaal. :-)
gaal sure :)
pasteling "iblech" at 80.81.17.181 pasted "autrijus: pugs.tex fixes" (120 lines, 5.6K) at sial.org/pbot/10954 19:28
autrijus iblech++ xx inf
iblech: h 19:30
iblech: hm, can't apply
iblech: can you just put the entire .tex somewhere?
I'll adapt
iblech Sure, a sec
m19s28.vlinux.de/iblech/.pugs.tex 19:31
nothingmuch Aankhen``: probably the simplest way for you to work is by just pushing to the repo on feather 19:32
keep your own repo there
by darcs getting to your home dir
(it's cheap, too, hardlinks and all that)
putter autrijus: I assume you saw the paste. Is pugs.tex supposed to be A4 or Letter. I note some of the code sticks out far enough to overlap adjacent columns, or be clipped by A4 printing.
nothingmuch and then push to your repo, where I can pull from
kelan anyone want to help me understand harrorth chapter 6? :) 19:34
nothingmuch kelan: sure =)
but blame autrijus ;-)
kelan heh
nothingmuch i think that in a later stage in the project i will try to move it down the chronology
autrijus putter: indeed... I don't know why is it the case
maybe I should investigate linebreaks
kelan well i get most of it, but i can't figure out how the simplified `interpret` is evaluating correctly 19:35
autrijus it's for A4
www.cs.uu.nl/~daan/hw2005/
but deadline is in 90 minutes :)
so I'll focus on the content
almost there
kelan this line (line 225): interpret ast = doExp (head ast) >>= \i -> return i
with the simplified `doExp` that just returns an empty interp
iblech autrijus: Listings don't auto-break, one has to put breaks manually in them
autrijus iblech: :-/ 19:36
kelan it doesnt seem like it should work to me
autrijus iblech or putter: do you have time to investigate A4 breaks for me?
kelan so apparently i'm misunderstanding something
nothingmuch how is the vienna hackathon proceeding?
autrijus and perhaps update the .pugs.tex file again
iblech Will do
autrijus nothingmuch: it's extremely fruitful thus far
nothingmuch: got Pugs->Parrot compilation strategy figured out largely
iblech autrijus: Should I use the same .tex? Or do you have an updated version of it?
nothingmuch with the meta compilation thingamabob? 19:37
autrijus iblech: just use the same .tex
I'll deal
nothingmuch: yeah
iblech autrijus: Ok
nothingmuch is this going to be a 10 day thing? WOW!
pasteling "kelan" at 68.101.16.64 pasted "what's wrong in my evaluation understanding?" (169 lines, 2.9K) at sial.org/pbot/10955
autrijus nothingmuch: yeah... also leo has got some notes on how to get STM on parrot
nothingmuch =D
autrijus and serialised conts 19:38
kelan thats a bit long, because i wrote out all of the steps
autrijus so the two big things can be made portable
now we just have to make parrot link libperl
and then there's nothing stopping the entire examples/ to be compiled to parrot
nothingmuch what what what? 19:40
i don't see the connection between libperl and examples
putter iblech: another option is to reduce the explicit indentation in the lstlisting's which are too long... sacrificing consistency for "dont have to rewrite code". 19:41
autrijus nothingmuch: examples/perl5/cpan-upload.p6!
nothingmuch ah!
putter autrijus: references?
autrijus putter: I failed to grok bibtex.
nothingmuch kelan: sorry, i missed the nopaste... reading now
kelan nothingmuch: ok thanks
autrijus putter: so I guess I can use some help in googlescholaring
gaal please keep in mind that we don't have perl5 embedding in win32... 19:42
autrijus gaal: but parrot is no ghc
gaal: parrot can survive link with perl more easily
gaal ah! wonderful 19:43
putter is there a list of papers you intend to reference somewhere...?
nothingmuch kelan: i think you got it right
kelan nothingmuch: but the end result is a function, not an empty interp
nothingmuch oh wait... one sec 19:44
kelan you would need to apply that function to another interp to get the empty one back
nothingmuch think of it this way
autrijus putter: "Monadic framework for subcontinuations"... the GADT paper from SPJ... hs-plugins paper... the STM paper...
nothingmuch f <- doExp ...
autrijus putter: any paper about parrot, I have no idea...
putter: that's pretty much it
nothingmuch local f (interpret exps);
ignore the rest of the stuff for now 19:45
kelan i don't know what `local` does, which is why i was trying with the simplified `interpret`
nothingmuch this function will return a Reader with a function that will give an interpreter to X, take the result, and send it to local
chain it
and that's basically it
the details is just a triple inversion
well, double inversion
try expanding >>= first 19:46
i think it will make more sense
oh wait, that's what you did
=)
kelan :)
autrijus brb
nothingmuch in that case, stop there, then evaluate the external runReader
kelan it seems like there needs to be another application somewhere to get a real result
nothingmuch yes, the details are hard... i spent like 2 hours reading the source to Reader again and again and again 19:47
as I said before, I think it will make a wonderful obfu in p5
pasteling "iblech" at 80.81.17.181 pasted "autrijus: line break fixes" (155 lines, 6.7K) at sial.org/pbot/10956
nothingmuch i've never seen 10 lines confuse me so much
iblech autrijus: The only two lines which are a little bit too long are two example lines of async { atomically { 19:48
autrijus ok.
nothingmuch kelan: i think that maybe >>= is incorrect 19:52
kelan the one i used? 19:53
nothingmuch the expansion
kelan i used the version from the Prelude because it expands easier, but it should be the same
i'll look over my expansion 19:54
nothingmuch hmm
i'm not sure
what I remember most distinctly:
doExp returns a lambda
eventually there's very little parameter passing, which is quite transparent 19:55
between the lambda returned by runReader (interp ast) and that lambda
kelan i thought doExp returns a Reader
nothingmuch yes it does, a lambda in a Reader 19:56
kelan right
nothingmuch ignore the Reader for a second, it's just glue =)
kelan but the Reader is where the problem is for me
because the lambda inside it is never applied
nothingmuch i mean at the principal level
the lambda inside is supposed to get the external `e` i think
let me try to carry on the second reduction of runReader 19:57
i would have done it differently
i'll nopaste in a sec
kelan does `runReader (return $ \interp -> interp{ stack = []})` evaluate to `\_ -> (\interp -> interp{ stack = []})` ? 19:58
putter is not making good progress...
kelan because if so, the external `e` is going into the `_` parameter, so it doesnt get to the inner lambda 19:59
nothingmuch right, which is silly
the error is before what I started with 20:00
because in another reduction i get the same thing
autrijus chip: when you have the next spare moment 20:01
chip: please rescue me from my room, thanks, much appreciated :)
(my room in leo's place has a knob only on one side of the door.) 20:02
(so if I go into the room without unpacking the knob and taking it with me inside, then I'm effectively locked within)
(because it can only be opened from outside)
chip autrijus: LOL ok 20:03
kelan hmm. closets usually only have knobs on the outside, don't they ;)
leo stuck you in a closet!
chip autrijus: Leo's on the way!
autrijus cool
chip is amused that this message passed through .nl if not .us to get about 30 meters
kelan nothingmuch: maybe i should give up on this part and just try to understand the real version that uses `local`? 20:04
nothingmuch i think so 20:05
but not yet
try reducing runReader (interpret []) initInterp
kelan ok
nothingmuch oh right! i see why,
doExp needs returns something to be used by local, in most situations
i think that using it as the left side of a bind that does an ask is not 100% correct 20:06
but i'm not sure
i'm too tired from doing silly things all day long
jhorwitz yo lambdacamels. back from vacation. i'm sure i missed, well, everything. :) 20:08
autrijus yo jhorwitz!
nothingmuch kelan: i'll try to reduce stuff for you, and append it to harrorth 20:09
autrijus jhorwitz: leo chip me among other friends figured out ways to do Exp->PAST->PIR->PBC!
nothingmuch that way you can check if you got it right when you finish
kelan nothingmuch: ok, thanks
jhorwitz autrijus: ooooooh
autrijus jhorwitz: also figured out VObj in ParrotObject land
jhorwitz autrijus++
autrijus and generational GC
jhorwitz in europe now?
nothingmuch and if it's not right, i was probably wrong =) 20:10
autrijus and plans for STM and serialised conts
and stuff.
(all within the last 18 hours)
jhorwitz: yeah, in Leo's place
jhorwitz i wouldn't expect any less in 18 hours from you guys. :)
autrijus jhorwitz: but I have 50 mins to finish this paper :)
(oh I also recorded some of this into the paper.)
jhorwitz off with you. ;-)
jhorwitz is now anticipating his next svn up 20:11
putter autrijus: when is the deadline? 20:13
nothingmuch kelan: interpret [] finished - darcs pull 20:14
autrijus putter: midnight london time today 20:15
putter which is now+?
autrijus +45
min
I'm in Conclusions
nothingmuch midnight london time? it's midnight in 45 mins here
and it's GMT+3
jhorwitz 4:15 here, and i'm GMT+5 20:16
i think you have more time than you think
autrijus right
Aankhen`` 1:45 AM here; GMT+5.5
autrijus I counted backwards.
so still 2:45.
Aankhen`` (just thought I'd add to the time lists :-P)
autrijus but I can't stay up anymore :)
jhorwitz eek, i'm GMT -5
plus, minus...minor details
nothingmuch autrijus: cold shower == minimum 30 minutes of alertness
integral midnight london time? That's not for 2h40 ... 20:18
integral is brain lagged
crysflame central 20:19
chip London is -1 from us, as we're Greenwich+1 (which is not to say GMT+1, what with summer) 20:21
s/us/Hernnbaumbarten/ 20:22
s/Hernnbaumbarten/Herrnbaumgarten/ # geez, spelling German is hard
integral hmm? you're GMT+1? Isn't that what we are? 20:23
s/we/London/
chip Um, that's exactly what I said we aren't. 20:25
"which is not to say GMT+1"
integral uh, so by "greenwich" you didn't mean GMT, you meant London time ...
integral goes back to hacking continuations to fix his brain ;-) 20:26
autrijus so it's just GT, not mean :)
gaal UTC or Z come in handy :)
putter iblech: e' in tex? 20:30
iblech putter: ?
kelan probably wants Ć© 20:31
nothingmuch kelan: done!
kelan i'm not:) 20:32
putter yes
nothingmuch interpret [Push 1] and interpret []
have fun =)
kelan ok thanks
nothingmuch i'm off to do laundry/shower etc
under misc/
putter andrƩ
kelan nod
iblech putter: Don't know for sure, try 'e, `e, e', e`, "e, e" 20:33
nothingmuch this is what I finish with: ( \e' -> e'{ interpStack = (1:) (interpStack e') } ) initInterp
( \e' -> e'{ interpStack = 1:(interpStack e') } ) initInterp
Odin-LAP GMT is absolutely and completely equivalent to UTC. UTC is just the new name for GMT. ;) 20:44
gaal true; but it was given that name to remove possible confusion against london time. 20:45
Odin-LAP Heh. :p
England is GMT+DST.
iblech Yay! We have rudimentary macro support! :) 20:47
autrijus iblech: !?
oh wow.
Odin-LAP Riddle me this. Is there something specced somewhere which says alphabetic operators have to be seperated from operands by space?
Hmmm.
iblech pugs> macro test ($x) { say "macro"; "100$x" }
undef
pugs> sleep 1; say 2; test 3
2
macro
'1003'
autrijus iblech++ 20:48
Odin-LAP iblech: How rudimentary? :>
Aankhen`` iblech++
iblech But not the whole parsing thing, only the compile-time evaluation thing
autrijus right, but that's fine
Odin-LAP Heeh. :p
autrijus because I plan to compile rules into parsec prims anyway
but that's for 6.28.x
iblech Odin-LAP: t/macros/*, with small modifications, pass :)
autrijus this is so nice
iblech++
Aankhen`` Parsing would need to wait till we have better rules support anyway, wouldn't it?
autrijus Aankhen``: yes 20:49
iblech That's enough, thanks :)
Odin-LAP karma iblech
jabbot Odin-LAP: iblech has karma of 337
autrijus in other news, I believe I just finished the first draft.
like, complete, text
only problem now is no references.
Aankhen`` ?eval module Foo { }
evalbot6 undef
autrijus perlcabal.org/~autrijus/hw2005.tex 20:50
perlcabal.org/~autrijus/hw2005.pdf
iblech Aankhen``: Do you think it should return the type/module/class object Foo?
Aankhen`` iblech >> IMHO, having C<use module;> return the module/class is enough...
iblech Aankhen``: Ok 20:51
Aankhen`` I figure if C<module Foo { }> returns the module, the only use would be to have anonymous modules... is there a need for that?
iblech autrijus: On the last page, in the bottom left, the definition of RelOp is a little bit too long 20:52
autrijus iblech: fixed already
reuploaded
Aankhen`` ?eval "foo".trans([<f o>] => [<F O>])
evalbot6 Error: No compatible subroutine found: "&trans"
Aankhen`` ?eval "foo" ~~ tr/a-z/A-Z/
evalbot6 Error: unexpected "A" expecting term postfix, operator, ",", ":", ">>=:=<<", ">>!=<<", ">>==<<", ">><=<<", ">>>=<<", ">>~~<<", ">>!~<<", ">>eq<<", ">>ne<<", ">>lt<<", ">>le<<", ">>gt<<", ">>ge<<", ">><<<", ">>><<", "\187=:=\171", "\187!=\171", "\187==\171", "\187<=\171", "\187>=\171", "\187~~\171", "\187!~\171", "\187eq\171", "\187ne\171", "\187lt\171", "\187le\171", "\187gt\171", "\187ge\171", "\187<\171", "\187>\171", "=:=", "!=", "==", "<=", ">=", "~
autrijus oh wow. 20:53
(re the error message)
Aankhen`` Heh.
Hrm.
nothingmuch my god, you go for 10 minutes, and pugs gets macros
autrijus nothingmuch: such is the pre-singularity age of accelerated acceleration 20:54
Aankhen`` ?eval multi sub *infix:<==> ($first, $second) { $first ~ "1" eq $second ~ "2" }; "a" == "b"
evalbot6 bool::false
Aankhen`` ?eval multi sub *infix:<==> ($first, $second) { $first ~ "1" eq $second ~ "2" }; "a" == "a"
evalbot6 bool::false
Aankhen`` snickers.
?eval multi sub *infix:<==> ($first, $second) { $first ~ "1" eq $second ~ "2" }; 1 ==
evalbot6 Error: unexpected end of input expecting term
Aankhen`` ?eval multi sub *infix:<==> ($first, $second) { $first ~ "1" eq $second ~ "2" }; 1 == 1
evalbot6 bool::true
Aankhen`` D'oh.
nothingmuch everyone, we need to make a petition to iblech's school so that they will let him go to the hackathon this week 20:55
Aankhen`` un-snickers.
?eval multi sub *infix:<==> ($first, $second) { ("$first, $second", $first ~ "1" eq $second ~ "2") }; 1 == 1
evalbot6 bool::true
Aankhen`` Bah.
autrijus decides to just mail the current version to Daan. 20:56
Aankhen`` ?eval multi sub *infix:<+> ($first, $second) { ("$first, $second", $first ~ "1" ~ $second ~ "2") }; 1 + 1
evalbot6 2
Aankhen`` ?eval my $foo; $foo = "foo"; my $bar ::= $foo; $bar = "bar"; $foo; 20:57
evalbot6 \'bar'
nothingmuch Aankhen``: btw, what did you do with the darcs patch?
Aankhen`` nothingmuch >> I tried e-mailing it to you, but failed...
nothingmuch push it to feather then
Aankhen`` What was your e-mail address?
I'm scared of doing that.
nothingmuch ssh feather; darcs get ~nothingmuch/harrorth;
then push to feather:harrorth
Aankhen`` Would that require an account on feather? 20:58
nothingmuch yes, it would
[email@hidden.address]
or you can have an account on pasta (my box)
you can also nopaste a patch
or put a txt one somewhere
Aankhen`` It's kinda long; I'll e-mail it.
woobling? Not wobbling? 20:59
nothingmuch no, woobling
Aankhen`` Ah.
That'd be my mistake, then.
nothingmuch like what the swedish chef says when he does the coconut thing
Aankhen`` Sent. 21:00
nothingmuch grazie!
mplayer woobling.org/coconut.mp4
Aankhen`` NP, sorry it got delayed.
When you use a Proxy object on an C<is rw> sub/method, does it actually create a new object each time? 21:02
chip could be a different method every time. &aliasing := &bites 21:04
Aankhen`` Er... I'll take that as a yes. 21:05
pasteling "putter" at 66.30.119.55 pasted "a first rough cut at bibtex" (35 lines, 1.1K) at sial.org/pbot/10957
chip I can't answer for sure, I'm just guessing
Aankhen`` OK, thanks.
putter autrijus: are these the papers you have in mind? any others? (I didn't see any papers for parrot. just talks). 21:06
chip Who is responsible for svnbot6?
autrijus putter: oh wow.
chip uses the Professor Mind Trick
Aankhen`` chip >> iblech, I think...
chip "These are not the papers you're looking for. You can go about your grad work."
autrijus putter: yes, those are those.
chip iblech: ping 21:07
iblech chip: Yes?
putter ok, I'll do a quick cleanup pass...
autrijus putter: how do I integrate it with perlcabal.org/~autrijus/hw2005.tex ?
putter: cool! please just give me a url of tarball or something I can download and resend to Daan, then
chip iblech: since you've set up and are running the bot already, could you watch parrot and send commit messages to irc.perl.org #parrot?
iblech chip: Sure 21:08
Aankhen`` Aha! I was right! Mwahahhaahahahaahahaha!
chip iblech: thanks! svn.perl.org/parrot
Aankhen`` accidentally chokes.
autrijus er 21:09
actually
iblech: svn.perl.org/parrot/trunk/
is a better url
Aankhen`` recovers and takes on a dignified air.
autrijus++ # I second that
chip what, only the truck?
trunk?
Aankhen`` # (remind me not to `svn co svn.perl.org/parrot/` ever again, even by mistake)
chip heh 21:10
could be worse. Robert didn't bring over the repo copy of icu
Aankhen`` The whole checkout crashed somewhere around tags/RELEASE_0_1_0/.
Then I suddenly realised that last time I did it, I only checked out the trunk.
Ah sweet, sweet trunk...
iblech++ # svnbot6 21:11
Hmmm... 21:13
iblech >> Is there a reason why Net::IRC isn't a proper class, aside from the primitive nature of Pugs OO at the time it was written? 21:14
putter ok, pasting first working draft, connection info... 21:15
Aankhen`` s/primitive/relatively primitive/
nothingmuch -and returns an `IO Interp`. WTF?
autrijus putter: ping me when you're done
nothingmuch +and returns an `IO Interp`. WTH?
silly!
Aankhen`` blushes.
iblech Aankhen``: No. There's a real OO in ext/Net-IRC/lib/Net/IRC-OO.pm, but I haven't tested the OO ver
Aankhen`` iblech >> OK.
nothingmuch >> I just went with my spellchecker. :-) 21:16
nothingmuch in that case i'll unspellcheck some stuff =)
Aankhen`` ?eval "foo " ~~ m/ $/
evalbot6 Parrot VM: PANIC: Out of mem! C file src/memory.c, line 45 Parrot file (not available), line (not available) We highly suggest you notify the Parrot team if you have not been working on Parrot. Use parrotbug (located in parrot's root directory) or send an e-mail to [email@hidden.address] Include the entire text of this error message and the text of the script that generated the error. If you've made any modifications to Parrot, please describe them
Aankhen`` Bah!
pasteling "putter" at 66.30.119.55 pasted "first working draft of bibliography" (42 lines, 1.2K) at sial.org/pbot/10958
Aankhen`` Oops.
Right, no pattern matching for evalbot6. 21:17
iblech s/\.$/, because parrot exceeds the RAM limit/
Aankhen`` Yeh, I did the same thing earlier. 21:18
My memory is a fascinating thing.
Are all your modules on freepan for P6? 21:19
svnbot6 r8304, autrijus++ | * bump pdd04 to version 1.5.
r8305, bernhard++ | At the Austrian Perl Workshop it was reported, that the 'bc' config test
r8305, bernhard++ | hangs on Win32. So this check is now only performed on linux, as the output
r8305, bernhard++ | of the will only be used in a future 'languages/bc'.
r8306, mdiep++ | Start an extend.pod.
iblech Err? 21:20
putter autrijus: I'm just going to do a double check. "S.P.Jones" ok, etc. will ping. 21:21
Aankhen`` ?eval role Foo { } 21:22
evalbot6 undef
Aankhen`` ?eval role Foo { method bar { 42 } } 21:23
evalbot6 undef
autrijus putter: I think I can stay up for maybe 38 more minutes :)
Aankhen`` ?eval role Foo { method bar { 42 } }; my $foo is Foo; $foo.bar
evalbot6 Error: unexpected "i" expecting "=", ":=", "::=", ";" or end of input
Aankhen`` ?eval role Foo { method bar { 42 } }; my $foo does Foo; $foo.bar
evalbot6 Error: unexpected "d" expecting "=", ":=", "::=", ";" or end of input
Aankhen`` ?eval role Foo { method bar { 42 } }; my $foo; $foo does Foo; $foo.bar
evalbot6 Error: Unknown syntactic construct: Syn "does" [Var "$foo",Var ":Foo"]
Aankhen`` Darn.
chip You can't just say C<$foo does Foo>, can you? 21:27
maybe C<my $foo of Any does Foo> 21:28
eval role Foo { method bar { 42 } }; my $foo of Any does Foo; $foo.bar
Aankhen`` G'night.
chip ?eval role Foo { method bar { 42 } }; my $foo of Any does Foo; $foo.bar
evalbot6 Error: unexpected "o" expecting "=", ":=", "::=", ";" or end of input
chip hm.
?eval role Foo { method bar { 42 } }; class Bar does Foo {}; my Bar $foo; $foo.bar 21:29
evalbot6 Error: No compatible subroutine found: "&bar"
chip ?eval role Foo { method bar { 42 } }; class Bar { does Foo }; my Bar $foo; $foo.bar 21:30
evalbot6 Error: No compatible subroutine found: "&does"
chip thought not
the Any thing is silly
iblech: ping 21:34
iblech chip: Pong
chip Hm. 21:35
I was about to make a feature request: only one karma bump per commit.
But now I wonder ... maybe it's a good idea to encourage long commit messages. :-,
so ... n/m 21:36
thanks
iblech We had the same discussion here :) Our arguments for leaving it as it is were 1. long commit messages bonus, 2. vertical alignment (even if we s/\+\+/ /, the commit messages won't vertically align when seen in a proportional font) 21:37
putter autrijus: pasted. I yanked the month from subcontinuations because two seem to be in use (Feb and July). 21:38
autrijus 'k
pasted?
putter pastling seems slow... sial.org/pbot/10961 21:39
autrijus putter: how do I use this?
save it to pugs.bib
that's all? 21:40
do I need to say \cite or some such?
putter \cite{*} just above the \bibliography
oops,
\nocite{*}
kelan nothingmuch: thanks for your help. i understand how `interpret` with `local` is working
putter complete: 21:41
\nocite{*}
\bibliography{pugs2}
assuming paste is in a new file pugs2.bib. it didnt look like pugs.bib was being used. 21:42
k?
nothingmuch kelan: goody! 21:43
oh wow! i get to do 3 way diff-merge!
autrijus putter: I went for direct citing
nothingmuch Herkamire from #forth helped maked chapter 7 more grokkable, and Aankhen fixed some spelling errors 21:44
autrijus works beautifully!
putter++ !
putter would have chosen better ids... ;)
weee. that was fun. ;)
autrijus =) 21:45
nothingmuch hola lightste1
autrijus re-uploaded everything
putter: check to see if it makes sense?
putter I used the tar file you created... dont have feather access... 21:46
autrijus oh oh
check my journal
putter k
oh, note the tar'ed Makefile didn't automagically update ps and pdf... dont accidentally submit the wrong version! .) 21:48
autrijus ok :)
nothingmuch wow, darcs is so cool 21:50
xerox Indeed!
nothingmuch i love the way it handles conflicts 21:51
with merge patches really being that
putter wonders why \keywords and \terms got trailing {} which werent in the sigplanconf template...
autrijus putter: because I adopted this with the old hs-plugins tex 22:05
but looks like it's still okay 22:06
anyway. I'll sleep now
happily we beat the deadline
#perl6++
nothingmuch ciao!
huraah!
autrijus I'll finally return to coding ;)
two weeks is a bit too long
nothingmuch sleep coding?
autrijus I mean from tomorrow on
nothingmuch sure...
autrijus (although I think hw2005 really forced me to think things thru, so it was still worth it)
nothingmuch where and when is hw going to be, btw? 22:07
autrijus nothingmuch: www.cs.uu.nl/~daan/hw2005/
autrijus waves... & 22:08
putter good night autrijus. 22:10
iblech m19s28.vlinux.de/iblech/pugs-macros.patch # As OpenFoundry is still down 22:11
Ok, work done, gonna sleep, too :)
Night #perl6
putter thinks "macros !?!" O.O ;)
iblech Yeah, and the tests pass! :) 22:12
Anyway, sleep &
wolverian whoa iblechbot 22:15
er
iblech++
putter something for the infinite todo list... an emacs p6 mode which hides sigils, colorizing symbols instead. 22:16
chip putter: down that path lay ColorForth. just make sure you've left a will. 22:17
Boogie_ at home & going to bed. :)
nothingmuch forth... MMM! 22:18
otoh, colorforth and emacs share some qualities
putter I noticed my ruby code is better abstracted than my p6, my p6 than my p5. It appears I'm using visual complexity as a proxy for semantic complexity... so things dont get refactored as much. 22:19
nothingmuch like being an OS with a language, an IDE, a UI, etc ... all at the same time
putter: identify what parts of ruby give you that, and post to p6l?
Khisanth there is also other things to consider, do you know p6 as well as ruby? :) 22:26
putter yes, ColorForth was... amusing.
nothingmuch: I think they are all known issues. I wouldn't buy simpler syntax at the cost of simpler semantics. 22:28
Though I expect p6 will get dialects which, for instance, try to make barewords scalars. I almost never use explicitly name nonscalar variables anymore... 22:29
Hmm, that may be a case of perl huffman encoding perhaps beginning to lag use...?
Khisanth: re groking p6 vs ruby, true. Also, I find myself pugs defensive. If something misparsed without parens, even months ago, I use parens... 22:31
An alternative to colorized idents might simply be less visually significant sigils. Hmm, maybe perl-mode will let me use a different face for the sigils themselves. 22:33
Though I've been burned a couple of times on ./foo vs .foo. That could be nice in color, so i could see the patterns of usage within a class... 22:34
aside from the cookbook, I wonder if we could use a style guide? 22:35
nothingmuch: btw, I've really been enjoying harrorth. Thanks! ;) 22:37
nothingmuch returns from shower 22:40
barewords - i think I agree for module code
but $foo is still highly identifyable to me (awk, bash, perl)
so i'd actually like to keep it in "my" perl 6
and in scripts i do find myself using @ a lot
as for harrorth - that's wonderful news! appearently autrijus is enjoying it from a mentor perspective, and you, kelan and even leo are avid readers 22:41
=)
putter :) 22:42
nothingmuch comments are very welcome, by the way 22:43
feel free to swamp me with grammer fixes, semantic fixes, or suggestions for future directions
putter 'k 22:50
nothingmuch anyone quick: nothingmuch.woobling.org/pugs_test_status/ <-- not updated because openfoundry is down? 23:15