Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-07-10

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 Darren_Duncan OSCON 2005 Portland is my first conference ever (unless one counts WWDC 2001, which I also went to)
00:02 geoffb I used to work at SAP conferences, but I don't count those -- I wasn't attending, but rather attending to.
00:03 geoffb And I did OSCON in Monterey and once before that did some set up for a conference in Las Vegas . . . that's about it.
00:03 geoffb One attendance, like half a dozen "worked at"
00:17 justatheory has joined #perl6
00:22 autarch has joined #perl6
00:24 autarch is pugs File::Spec supposed to work at all?
00:24 autarch It seems to be missing aliasing from the loaded per-OS module to File::Spec's namespace
00:28 autarch sheesh, don't tell me people who normall hang out here and answer questions have things to do on Saturday night.  C'mon, I thought you were all nerds!
00:29 geoffb Well, I'm here, I just don't know the answer to your question.  ;-)
00:29 autarch heh
00:30 autarch It passes its tests but then breaks in FindBin
00:30 autarch which is used in the inc::Module::Install stuff
00:30 autarch I'm seriously tempted to start on Module::Build for P6 now
00:31 autarch just enough to be able to do ./Build test, at least
00:31 autrijus yo.
00:31 geoffb yo, autrijus
00:31 autrijus inc::Module::Install uses the perl5 FindBin and FileSpec
00:31 geoffb Up from your nap?
00:31 autrijus no, just registering for icfp
00:32 autrijus firefox annoyingly crashed so I need to refill forms
00:32 geoffb bleah
00:32 autarch autrijus: It just says "use FindBin"
00:32 autarch not use perl5-FindBin
00:32 autrijus autarch: it is also a perl5 program to be run by perl5.
00:33 autrijus and it's written in perl5 if you take a look :)
00:33 autarch oh
00:33 autarch it's not really obvious from looking at Module::Install stuff, since it's all declarative
00:34 autarch but it's quite funny, because if you run "pugs Makefile.PL" it gets at least a little way in before blowing up ;)
00:35 autarch this is legit, right: class Date-0.01-http://datetime.perl.org;
00:36 geoffb There has got to be some bit of magic source filtering that will allow you to write relatively simplistic perl 6 code and have it run under both perl6 and perl5.  Just the brain dead simple stuff like . reverting to -> and ~ reverting to .
00:36 autrijus autarch: sure is
00:37 autrijus I think the bit of magic is autodetection as specced in synopsys for all code not starting with "use v6" or "class"
00:37 geoffb And by run it under both, I mean the same file, byte for byte -- so the source filtering would have to noop when run by pugs
00:37 autrijus and exec perl5 otherwise
00:37 geoffb No, I meant writing perl 6 that will magically run on perl 5.8 or so.  Some kind of Acme::Madness
00:38 geoffb Cause dammit, if you can do Acme::Bleach, this can't be that hard
00:38 autrijus yeah, and I mean that it's builtin in perl6 :)
00:39 geoffb You're saying "write Perl 5, and both perl6 and perl5 interpreters will do the right thing, because perl6 will hand off transparently to perl5", right?
00:40 geoffb Oh,
00:40 geoffb duh, I think I get what you mean
00:41 geoffb If you write Perl 6 code, but start it off with a source filter instead of 'use v6', you'd ALWAYS get the perl5 interpreter
00:41 autrijus yup.
00:41 geoffb bleah.  That's no fun.
00:42 autarch regression in pugs? multi submethod BUILD (: Int|Real +$epoch) returns Date
00:42 autarch that no longer seems to parse
00:42 autrijus not sure what the : means
00:42 autarch ah
00:42 autarch it used to parse
00:42 autrijus that would be a bug
00:43 autarch I thought that meant don't auto-assign the invocant to anything special
00:43 autrijus oh. cute! maybe ask on p6l :)
00:43 autrijus (but I don't remember that syntax)
00:43 autrijus but wait
00:43 autarch I have no idea where I got that from
00:43 autrijus you can simply drop the :
00:43 autrijus and it would still mean that.
00:44 elmex has quit IRC ("leaving")
00:51 vcv has joined #perl6
00:53 ezra_ has joined #perl6
00:57 joao autrijus: i just read the faq. it would be nice to contribute, but i don't think i got the knowledge to do it :)
00:59 dudley autrijus: If someone could give the committer bit to 'dudley' on openfoundry, I'd be eternally grateful...
01:01 autarch how to see all the arguments passed to one's BUILD?
01:02 autarch preferable ala "@_", so I can see both the invocant and the params (with names)
01:03 autrijus autarch: *%_ lets you get all named args
01:03 autrijus $self: *%_
01:03 autarch ah
01:04 autrijus joao: you can start by playing with examples :) anyway... may I have your email address?
01:04 autrijus dudley: done
01:04 autarch argh, MMD dispatch to BUILD seems very busted
01:04 autrijus you want a MMD BUILD?
01:04 joao you can, but what's the reason? I have some different emails for different purposes :)
01:04 autarch I could've sworn it was working the other day
01:05 autrijus joao: the reason is I'd like to sent you an invitation email
01:05 autrijus as a committer
01:05 autrijus autarch: elaborate? I may know where to fix
01:05 autarch paste?
01:05 autrijus perlbot: nopaste
01:05 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
01:07 pasteling "autarch" at 65.103.28.217 pasted "some code from Date.pm" (7 lines, 234B) at http://sial.org/pbot/11651
01:10 theorbtw1 has joined #perl6
01:11 svnbot6 r5346, autarch++ | Date - refine the tests to use localtime() properly
01:11 svnbot6 r5346, autarch++ | still all fail because MMD to BUILD seems to be busted or my brain is busted
01:11 autrijus autarch: if it worked it worked by chance :-/
01:11 autrijus fixing
01:11 autarch heh
01:12 autarch well, I was hoping my work would help provoke pugs bugs, so I guess it's working
01:13 autrijus autarch++ # indeed
01:14 dudley autrijus: thanks. I'm going to add a BUILDING file to document the various make targets, environment variables, etc. for building Pugs
01:15 dudley and move the build instructions out of README
01:15 castaway has joined #perl6
01:15 autrijus cool
01:15 autrijus I thought the usual name is INSTALL
01:15 autrijus or am I mistaken?
01:15 autarch no, that's normall
01:16 dudley d'oh, of course it is
01:17 stevan autarch: did you figure out the File::Spec issue?
01:18 autarch stevan: yeah, I didn't realize the Makefile.PL for modules in ext was Perl5
01:18 autarch so I ran it as pugs Makefile.PL
01:18 autarch although actually, I'm still not sure that that answers my original q
01:18 autarch there's no tests for FindBin, hmm
01:19 autrijus autarch: fixed, committing
01:19 theorbtwo has quit IRC (Read error: 60 (Operation timed out))
01:19 autarch autrijus: wow, cool
01:20 stevan autarch: FindBin was ported by sri, so I cannot help with that
01:20 stevan but the platform specific stuff in File::Spec too advantage of a "feature" in early Pugs
01:21 autrijus and I promptly "fixed" it
01:21 svnbot6 r5347, autrijus++ | * allow MMDs in BUILD and DESTROY, as requested by autarch.
01:21 stevan where that subroutines were always global
01:21 autarch oh
01:21 stevan autrijus: it's been fixed?? cool
01:21 autrijus stevan: yes. so... got time to changelog another round?  :)
01:21 autarch I suspect FindBin is busted then
01:22 autarch although I can't understand how the File::Spec tests pass at all
01:22 stevan autrijus: how long do I have before release?
01:22 stevan autarch: they load the platform specific modules directly
01:22 autarch I mean, it calls "use File::Spec" and then "devnull()".  How does devnull() get exported?
01:22 autrijus $ ./pugs -MFindBin -e 'say $FindBin::Bin'
01:22 autrijus /home/autrijus/work/pugs
01:22 autarch no, take a look at 01_file_spec_test.t
01:22 autrijus stevan: I don't know, at least 24hours
01:22 stevan autrijus: in that case, yes, I can
01:23 stevan I will start later tonight, and finish tommorrow morning
01:23 Amnesiac has joined #perl6
01:23 autrijus stevan++
01:23 * stevan is about to watch a movie with the wife :)
01:23 stevan autrijus++ :)
01:23 jabbot has quit IRC (Read error: 110 (Connection timed out))
01:23 autrijus enjoy your movie :) I'll go find food
01:23 autrijus bbiab
01:23 autarch aw, that was cute, you two
01:23 scw has quit IRC (Read error: 110 (Connection timed out))
01:24 stevan autarch++ # dont be jealous, there is plenty to go around :P
01:24 autrijus autarch++ # and you get double too
01:25 Amnesiac o.O
01:25 autarch I'm not jealous, I was enjoying the mutual love ;)
01:25 Amnesiac increment party?
01:25 autarch the #perl6 mutual love society
01:25 autarch is now known as barney
01:25 barney o/` I love you, you love me o/`
01:25 barney is now known as autarch
01:25 geoffb DEAR GOD NO
01:26 Amnesiac hahahah that was kind of sick!
01:26 geoffb No parent should ever be faced with that.
01:26 * autarch has no kids, and that's one damn good reason
01:26 stevan nice, my IRC client colored <barney> in purple too
01:27 autarch that's excellent
01:27 stevan autarch: ohhh, but there are sooo many things far worse than barney
01:28 autarch I'm sure
01:28 autarch I have friends with a kid
01:28 castaway_ has quit IRC (Read error: 110 (Connection timed out))
01:28 autarch he's enough
01:28 dudley (changing diapers)--
01:28 * stevan attended a 3 year olds birthday party today, with like 30 other kids running around (3 of them mine too :)
01:28 autrijus well at least it's better than unchanged diapers...
01:29 dudley Ever seen a Mary Kate and Ashley video? It'll make you get down on your knees and pray for Barney...
01:29 joao autrijus: being member of the project means that I can commit to svn repos. ?
01:29 autarch I'm very glad I can answer no to that
01:30 dudley I wish I could...
01:30 autrijus joao: yes.
01:30 joao autrijus: svn+ssh://joao@svn.openfoundry.org/pugs ?
01:30 joao something's missing
01:30 joao :)
01:30 autrijus joao: no, just the same uri as your checkout
01:30 geoffb dudley, MK&A are *also* banned from the house.  :-)
01:30 autrijus joao: just commit and you'll be prompted password
01:30 joao Oh
01:31 autrijus you can start by adding yourself to AUTHORS.
01:31 joao I checked-out using http:// mode
01:31 autrijus that's fine
01:31 autarch oh yeah, I should put myself in AUTHORS
01:31 joao Good, thanks
01:31 stevan joao: you can check back in too, it uses WebDAV
01:31 joao stevan: what do you mean? (sorry, i didn't understand :P )
01:32 svnbot6 r5348, autarch++ | AUTHORS.insert($self)
01:32 stevan joao: svn over http uses WebDAV which allows saving content over HTTP
01:32 stevan it adds some bits to the HTTP protocol, I dont remember the details
01:32 joao Oh, i didn't know
01:32 autarch how could you possibly remember the details?
01:33 autarch there's _SO MANY_ details
01:33 joao :)
01:33 autarch err, pugs now installs my Date.pm into /usr/local/share/perl6/Date.pm
01:33 stevan autarch: actually IIRC WebDAV's extensions are fairly simple (at least they were when I first looked at them)
01:33 autarch but that's the only modlue under ext it installs
01:33 autarch stevan: that wasn't the impression I got from hanging out on the svn list
01:34 geoffb clkao, I seem to recall you hate DAV -- why?
01:34 autrijus that's because svn folks abuse DAV
01:34 autrijus and layer on top of it a half implemented DeltaV
01:34 autrijus as well as some other things.
01:34 autarch as long as they don't abuse dave
01:34 autrijus mm RolskyDAVe
01:34 stevan poor dave
01:34 * joao thinks he will learn a lot just being around :-)
01:35 autrijus really food &
01:35 stevan autarch: the heart of DAV is DELETE, PUT and COPY HTTP methods
01:36 autarch ok, now MMD is taking Date.new( epoch => $epoch ) and sending it to BUILD (Str $string)
01:36 autarch instead of BUILD (Int +$epoch)
01:36 stevan oh wait, MOVE LOCK and UNLOCK too
01:36 autarch shouldn't named args always be checked first?
01:37 autarch damnit, you can't eat when I have questions!
01:37 svnbot6 r5349, dudley++ | Move build instructions from README to INSTALL
01:37 autarch it's not fair!
01:37 * autarch whines like a little baby
01:37 stevan autarch: MMD is still being defined, AFAIK
01:37 autarch I'm tempted to suggest he should order Chinese takeout ;)
01:37 autarch stevan: yeah, I've been following that on the p6-l list
01:37 stevan surely he will bring his laptop where ever he goes
01:38 autarch stevan: sure, but he may not have wireless
01:38 Khisanth if he brings it to the shower ...
01:38 autarch he did bring it with him when walking through the night market with my wife and I
01:38 stevan autarch: i think taiwan has pretty good coverage (at least that is what ingy said)
01:38 autrijus autarch: +$epoch renders it optional. you need ++$epoch I think, and even then I don't think mmd currently tiebreaks on name, only on type.
01:38 autarch ++$epoch ?
01:38 autrijus or (+$epoch is required)
01:39 autrijus or something like that
01:39 autrijus to mark it as nonoptional
01:39 autarch I thought +$epoch meant named & required
01:39 stevan I think that syntax was depreceted
01:39 autrijus I think that syntax was speculative
01:39 autarch and +?$epoch meant and named and optional
01:39 autrijus autarch: that is not what S06 says
01:39 * autrijus thumps the bible
01:39 * autarch mutters
01:39 stevan thats what I remember too
01:40 autarch ah, I see
01:40 autrijus but seriously, you can just drop the +
01:40 autrijus BUILD (Int $epoch)
01:40 autrijus that will still allowed for named
01:41 autrijus as all positionals qualify for named
01:41 autarch ah
01:42 pasteling "autarch" at 65.103.28.217 pasted "But what about this ..." (5 lines, 180B) at http://sial.org/pbot/11653
01:43 autrijus you have to use ?$month=1
01:43 autrijus $month=1 makes no sense
01:43 autrijus or +$month=1
01:43 autarch right
01:43 autarch ok, that's what I thought
01:44 autrijus yay, one minute passed without a question. I can now finally go find food &
01:44 autarch hmm, pugs is still calling the wrong one though ;)
01:44 autarch but you should go eat
01:44 autarch it needs to tie break on name when named params are used
01:45 autarch I'm going to eat junk food and read or something &
01:46 joao I must go offline, now. See you tomorrow!
01:46 joao has quit IRC ("gtg")
01:49 cm has quit IRC ()
02:07 vcv has quit IRC (Nick collision from services.)
02:25 geoffb has quit IRC (Remote closed the connection)
02:25 svnbot6 r5350, dudley++ | Set usual svn properties on INSTALL
02:29 scook0 has joined #perl6
02:35 Maddingue__ has joined #perl6
02:45 Nattfodd has quit IRC (Read error: 113 (No route to host))
02:47 cdpruden has quit IRC ("The computer fell asleep")
02:48 mja has joined #perl6
02:54 Maddingue has quit IRC (Read error: 110 (Connection timed out))
02:54 Odin-LAP has joined #perl6
02:58 geoffb has joined #perl6
03:11 Darren_Duncan has left
03:26 ezra_ has quit IRC ()
03:48 vcv- has joined #perl6
03:52 flw has joined #perl6
03:52 flw has quit IRC (Read error: 104 (Connection reset by peer))
04:04 justatheory has quit IRC ()
04:11 ezra_ has joined #perl6
04:30 gaal morning.
04:30 vcv- has quit IRC (Read error: 54 (Connection reset by peer))
04:30 gaal why is t/builtins/caller.t not parsing? looke like something's up with class definitions.
04:41 SamB has quit IRC (Read error: 110 (Connection timed out))
04:45 SamB has joined #perl6
04:48 vcv- has joined #perl6
04:48 svnbot6 r5351, fglock++ | the Span classes were reorganized; added Set::Infinite
05:09 vigilante has joined #perl6
05:09 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
05:10 vigilante has quit IRC (Client Quit)
05:14 vigilante has joined #perl6
05:14 justatheory has joined #perl6
05:16 justatheory has quit IRC (Client Quit)
05:30 justatheory has joined #perl6
05:37 ezra_ has quit IRC ()
05:44 justatheory has quit IRC ()
05:44 svnbot6 r5352, fglock++ | new( :int, :object => 1..10 ) works
05:49 vigilante has quit IRC (Read error: 110 (Connection timed out))
05:59 Maddingue__ has quit IRC (Read error: 104 (Connection reset by peer))
05:59 svnbot6 r5353, fglock++ | updated dependencies
06:00 Maddingue__ has joined #perl6
06:20 gaal|work has joined #perl6
06:21 ezra_ has joined #perl6
06:30 ezra_ has quit IRC ()
06:42 Shachaf has joined #perl6
06:47 justatheory has joined #perl6
06:48 vcv- has joined #perl6
06:49 justatheory has quit IRC (Client Quit)
07:02 Aankhen`` has joined #perl6
07:16 vigilante has joined #perl6
07:23 b6s has joined #perl6
07:48 Maddingue__ has quit IRC (Read error: 104 (Connection reset by peer))
07:48 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
07:49 Maddingue has joined #perl6
08:03 Amnesiac has quit IRC ("Leaving")
08:06 vigilante has quit IRC (Read error: 110 (Connection timed out))
08:21 jdv79 has joined #perl6
08:23 jdv79 should this run?:  http://perlmonks.org/index.pl?node_id=469482
08:24 nothingmuch has joined #perl6
08:25 Nattfodd has joined #perl6
08:41 clkao has quit IRC (Remote closed the connection)
08:41 clkao has joined #perl6
08:52 gander has left "Leaving"
09:00 nothingmuch morning
09:02 Nattfodd morning
09:02 autrijus morning
09:03 * autrijus is finally summoning enough sanity to tackle precompiled prelude
09:04 Aankhen`` jdv79 >> There seem to be a couple of brackets (parentheses, not square brackets) missing under the first `given $result_3 { ... }` block. The `return` statements have an opening bracket but not a closing bracket.
09:05 * Aankhen`` wanders off to eat lunch.
09:08 jabbot has joined #perl6
09:15 nothingmuch autrijus: lumi has interesting ideas
09:16 nothingmuch i'm trying to get him to blurt here
09:16 nothingmuch since i don't know diddly squat about them, but you might, i think it's appropriate
09:16 autrijus lumi: ideas?
09:17 nothingmuch dum dee dum
09:17 lumi Well
09:17 lumi They have absolutely nil to do with Perl, but all the compiling going around made me think
09:17 lumi Hanzi is sort of an AST for natural language, right?
09:17 nothingmuch lumi: i'll quote tye:
09:18 autrijus lumi: sort of, yes
09:18 lumi Even though it happens to coincide with a specific language
09:18 nothingmuch err, paraphrase since I can't find it
09:18 nothingmuch cat skinning is on-topic in perlmonks since TIMTOWDI
09:18 nothingmuch so you're allowed to talk about anything ;-)
09:19 autrijus lumi: no, it coincides with no specific language :)
09:19 lumi I was wondering about the possibility of using, probably not actually hanzi, but a language AST, which could be compiled into natural intermediate languages
09:19 lumi Oh, I thought it more or less coincides with Mandarin?
09:19 autrijus it also "coincides" with Cantonese, Holok, among other things.
09:19 autrijus to the same degree
09:20 saorge has joined #perl6
09:20 lumi Obviously in the AST it makes little sense to optimize or anything, except perhaps for a reasoning engine?
09:20 autrijus it's like saying DBI coincides with DBD::Oracle
09:20 autrijus which may well be true, but is not specific in any sense
09:20 lumi Ah, OK, but being positional, I thought it shares its grammar with one particular dialect
09:20 lumi Okay, I see what you mean, but that's sort of what I was saying by "coincides" I think
09:21 nothingmuch ook, /me has to go order lunch
09:21 nothingmuch too bad, I want to listen =(
09:21 nothingmuch talk slowly
09:21 lumi But in the NIL you could have grammar specialization, and the AST can be as detailed as you like
09:22 lumi But to know how helpful this is, I'd need to know probably if the general problem with machine translation is missing data, or an insufficient representation of the language models
09:23 vcv- has joined #perl6
09:23 autrijus I think the general with MT is common sense.
09:23 autrijus s/general/general problem/
09:23 lumi Because if it's the former, then a sufficiently detailed AST would let you compile down to any human language in a sufficiently legible way.. I was thinking also things like tagging with "replace this with an idiom if possible"
09:23 vigilante has joined #perl6
09:23 lumi Common sense is always nice.. In what way?
09:23 autrijus which is why huge-corpus-matching-based translation works really well.
09:23 lumi Ohh, in the system
09:24 autrijus er, the cyc sense of common sense, among other things
09:24 * lumi sees
09:24 lumi That Google project sounds strange, statistical analysis of a metric gigaton of documents
09:24 lumi But apparently works fairly well.. I guess my model isn't so useful
09:24 theorbtw1 I think it sounds amazingly cool.
09:25 lumi Well this is true
09:25 lumi Although inferring the common sense is still strange
09:25 lumi Especially inferring common sense from UN documents...
09:26 theorbtw1 Yeah... I'm unconvinced that UN documents will form a good corpus for general use of language.
09:27 theorbtw1 I suspect people use different sorts of language when making speaches before the UN then when blogging about their kitten.
09:27 lumi The kitten filibuster
09:28 theorbtw1 It is, however, mirroring the way humans learn language, and making up for the lack of common sense with bulk.
09:29 lumi Maybe a wiki translation model would work with that
09:29 lumi It translates and the human fixes up the translation
09:38 saorge has quit IRC (Success)
09:41 saorge has joined #perl6
09:41 osfameron has joined #perl6
09:41 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
09:44 * nothingmuch returns
09:44 nothingmuch so, will this be implemented in perl6?
09:45 nothingmuch oh my! 16 points to sainthood
09:45 * nothingmuch is getting butterflies
09:46 theorbtw1 Last on PM 5 weeks ago.
09:46 theorbtw1 Your monks I've met list on your homenode needs to be updated.
09:47 theorbtw1 is now known as theorbtwo
09:47 nothingmuch oh, it was
09:47 nothingmuch i had you, castaway, and autrijus there as well
09:47 nothingmuch i think it didn't save
09:47 nothingmuch i updated it during the hackathon, and have actually met a few more since
09:47 * autrijus is content with the friarhood
09:48 nothingmuch autrijus: it's not like I was working at it, but it is nevertheless rewarding
09:48 theorbtwo I know of know PM bugs that'd cause that... I think you just didn't hit stumbit.
09:48 nothingmuch especially since I don't spend so much time there
09:48 theorbtwo G'morning, autrijus.
09:48 autrijus greetings theorb2
09:48 nothingmuch theorbtwo: i think I didn't... maybe the network came down
09:49 lumi I guess it could be, I was thinking of Haskell, for Goddess knows I need a boost there
09:49 nothingmuch or maybe i just got confused, that happens a lot
09:49 nothingmuch the goddess likes haskell?
09:49 lumi But a p6 boost is good as well
09:49 nothingmuch i would argue that the goddess likes forth better ;-)
09:49 lumi It's very confusing
09:49 lumi So very Discordian
09:49 lumi Confusion from order is good
09:49 nothingmuch i find it clear upon sufficient inspection
09:50 autrijus Perl 6 is fully blessed with the Holy Chao
09:50 nothingmuch and I'll argue that discordian goodness has both order and chaos, as long as they are not destructive
09:50 nothingmuch hold on, i'll refer you to a page
09:50 autrijus gaal|work: so, strangely, pugscc on subroutines has never worked
09:50 theorbtwo 3+rand()*$n cheers!
09:50 autrijus so neither of us broke it -- you can't break something that never worked
09:51 lumi That's a technicality
09:51 nothingmuch page 63
09:52 lumi Oh yup
09:52 * lumi concurs
09:54 nothingmuch http://www.principiadiscordia.com/book/70.php
09:59 nothing_pasta putter: smoke loop restarted
10:00 Maddingue has joined #perl6
10:00 theorbtwo Hello, Maddingue.
10:03 elmex has joined #perl6
10:05 * nothingmuch thinks that Damian is aggreeing with him on MMD
10:05 nothingmuch i'm not sure though
10:15 theorbtwo changes topic to: http://pugscode.org/
10:15 nothingmuch theorbtwo?
10:15 gaal|work autrijus: hi (was away)
10:15 theorbtwo changes topic to: Chip needs help!!! http://www.geeksunite.net | http://pugscode.org/ <Overview Journal Logs> | http://pugs.kwiki.org | paste: http://sial.org/pbot/perl6
10:16 gaal|work the AST was richer, once...
10:17 gaal|work it had _some_thing in it to do with subs, now it's much shorter
10:18 gaal|work so maybe it didn't wokr, but presumably it was closer :-)
10:20 gaal|work Juerd++ # feather admin
10:21 autrijus but anyway, I think the problem is much harder if you use globas in prelude
10:22 autrijus or file-scope lexicals
10:22 gaal|work i think we can avoid those
10:22 autrijus that'd be great.
10:22 gaal|work we used to have %*INC declared there
10:22 gaal|work is class-scoped my okay?
10:22 autrijus still thinking about it
10:23 autrijus the gist of the problems is that if two subEnv share the same syms
10:23 autrijus the current compile infrastructure will clone the syms
10:24 autrijus my $foo; sub bar { $foo }; sub baz { $foo }
10:24 autrijus so they will see different $foo after compilation
10:24 autrijus there may be a way around this, I'm still thinking
10:26 * autrijus ponders the wisdom of working on this instead of just switch things to PIL
10:26 gaal|work why's it different from what eval does?
10:26 autrijus (which has much saner lexical semantics)
10:26 gaal|work i know that's a PHB question :-)
10:26 autrijus hm? eval triggers a reparse
10:26 autrijus the thing is we're freezing the env
10:27 gaal|work hmm, right
10:27 autrijus otoh, we can instead choose to _not_ freeze the env.
10:28 autrijus since subEnv is a Maybe
10:28 autrijus we can just throw Nothing into it
10:28 autrijus but that is pessimistic, since that means no lexicals whatsoever.
10:28 autrijus that may actually be correct though.
10:28 * autrijus thinking
10:28 gaal|work what's left of a BEGIN block after compilation?
10:28 autrijus its value.
10:29 gaal|work might need to leave a little more metadata there, eventualy
10:29 gaal|work but we probably don't need that now.
10:31 autrijus whatkindofmetadatadoyouhaveinmind?
10:31 autrijus that value will be annotated with a Pod I think
10:31 autrijus er, Pos
10:31 autrijus essentially its original source range
10:31 autrijus of the BEGIN block
10:32 autrijus which should be enough if people way to do a reparse
10:32 autrijus s/way/want/
10:32 gaal|work and the .text prop, i guess?
10:32 gaal|work .source
10:32 gaal|work whatever it'll be called
10:32 autrijus you can get there from here.
10:32 gaal|work okay
10:32 autrijus if you save the src code as some $=SOURCE etc.
10:33 nothingmuch smoooookkeee..e..... soooo.... sloooow
10:33 nothingmuch what is the status of compiled prelude?
10:33 gaal|work why was subEnv made a Maybe, originally?
10:33 gaal|work (back to your previous thread)
10:34 autrijus nothingmuch: workingonit
10:34 autrijus gaal|work: prims need no envs.
10:34 autrijus I mean, real prims
10:34 nothingmuch heh: http://www.perlmonks.org/?node_id=473701
10:35 autrijus ok, I made the Nothing fix. testing if it works
10:38 nothingmuch http://nothingmuch.woobling.org/MiracleOfLife.wmv
10:38 nothingmuch (mplayer friendly
10:42 wolverian IMHO making PIL the primary target seems sane at this point
10:42 autrijus yes.
10:42 autrijus but that may take a week or three
10:42 autrijus and precompile prelude is worthy to add in if trivial
10:43 wolverian is it worth it determining whether it is trivial? :)
10:43 gaal|work where can i read on the convention of constructors? eg "MkCode" vs. "mkSub" - is the case different because one is the "real" data type construcor?
10:45 autrijus right. MkCode is "real"
10:45 autrijus mkSub is just a function.
10:45 autrijus the diff being you can pattern match over MkCode but not mkSub.
10:45 autrijus it'd be fun to pattern match over mkSub, though.
10:46 autrijus (which I hope to learn how in the Curry workshop)
10:46 gaal|work there are surprising things you can pattern match over. (n+1) for example
10:47 autrijus yeah, which is seen in some part of haskell community as a misfeature
10:47 autrijus ok, I grok the reason of borkage.
10:47 autrijus in Compile.Pugs
10:47 autrijus instance Compile Exp where
10:47 gaal|work the Evolution page cites someone calling it an abomination i think :)
10:47 autrijus it doesn't cover all recursive nodes
10:47 autrijus so whenever it hits a App or Pos
10:47 wolverian has quit IRC (Read error: 104 (Connection reset by peer))
10:47 autrijus it reverts to simple "show" for everything else
10:47 autrijus ixing
10:48 * autrijus is, again, glad to have sanity back
10:48 autrijus hm, this is a very good candidate of Data.Generics
10:48 autrijus I should be able to just gmap compile over Exp
10:48 autrijus but I'll implement it in the ugly and fast way first ;)
10:49 gaal|work is that defaut show case ever right?
10:49 autrijus surprisingly, yes, for
10:49 gaal|work well, it is in literals
10:49 autrijus Noop, NonTerm
10:50 autrijus and Var
10:50 autrijus that's all ;)
10:50 gaal|work oh, right, in literals it *isn't* right :_)
10:50 autrijus mm, a consistently-shifted smiley
10:51 gaal|work scarface.
10:52 gaal|work 1. :-{}  # user wears lipstick
10:52 gaal|work 2. :{})  # user was kissed on the nose by user #1
10:53 autrijus lol
10:53 theorbtwo You could explicitify the Noop, NonTerm, and Var cases, and get rid of the default implementation.
10:54 gaal|work to2, that's what i had in mind
10:54 autrijus gaal|work: hrm, if you have spare cycle, maybe I can check in for you to fill in the other instance Compile Exps
10:54 autrijus that way I can work on getting subEnv right
10:54 pasteling "Aankhen``" at 203.101.20.186 pasted "want and MMD" (6 lines, 161B) at http://sial.org/pbot/11660
10:55 gaal|work hmmm, waiting for lunch to be delivered and my coworkers might eat me if i delay them :)
10:55 Aankhen`` Err.
10:55 Aankhen`` Wait.
10:55 Aankhen`` I mixed that up somewhere.
10:55 autrijus alright then :)
10:55 svnbot6 r5354, autrijus++ | * repair pugscc so we can more easily test compilation.
10:56 pasteling "Aankhen``" at 203.101.20.186 pasted "want and MMD, corrected (hopefully)" (6 lines, 172B) at http://sial.org/pbot/11661
10:56 autrijus no output ;)
10:56 gaal|work but isn't it just compile (v@Var _) = return $ text "return" $+$ parens (text $ show v) or similar?
10:57 autrijus gaal|work: right... for Var you don't need to add anything
10:57 Aankhen`` Well, what does it return? :-)
10:57 autrijus the basecase covers that
10:57 autrijus Aankhen``: well, depending on context.
10:57 Aankhen`` In that particular case?
10:57 Aankhen`` Argh.
10:57 autrijus yeah, depending on what cxt you call bar() with.
10:57 Aankhen`` I think I'll give up for now
10:57 Aankhen`` I can't think straight.
10:58 autrijus right. and the answer to the question you can't quite form is List.
10:58 gaal|work lol
10:58 autrijus (i.e. if it's ambiguous it always fallback to slurpy (aka list) context)
10:58 Aankhen`` Ah.
10:58 autrijus and if it's ambiguous over laziness, it's Lazy
10:58 autrijus and if it's ambiguous over type, it's Any.
10:59 pasteling "Aankhen``" at 203.101.20.186 pasted "want and MMD, once again" (6 lines, 176B) at http://sial.org/pbot/11662
11:00 Aankhen`` That was what I was originally thinking of, FWIW. :-P
11:00 autrijus "Array version"
11:00 Aankhen`` OK.
11:00 autrijus and I even answered correctly with prescience :)
11:00 Aankhen`` Heh.
11:00 Aankhen`` Even though @foo is not slurpy?
11:01 autrijus hm
11:01 svnbot6 r5355, autrijus++ | * initial work for getting Compile Exp right (still a couple to be filled)
11:01 autrijus I read it incorrectly then
11:01 autrijus with $foo and @foo you are matching against Any
11:01 autrijus the return tyep of bar
11:01 autrijus with Item and Array, respectively
11:02 Aankhen`` So whichever one is defined first?
11:02 autrijus so want.List is always false
11:02 autrijus 'foo' is returned
11:02 autrijus it's distance matched with Item and Array
11:02 autrijus Item wins
11:02 Aankhen`` Ah, right, want will return positive if it's specific, not general.
11:02 autrijus so "Scalar version".
11:02 autrijus but if @foo was slurpy (which would really be ambiguous).
11:02 autrijus then it's list.
11:03 Aankhen`` Cool.
11:03 Aankhen`` Thanks for the explanation. :-)
11:03 autrijus np :) this is one of the things I finally groked at hackathon
11:03 autrijus this should really get written down along with the MMD resolution algorithm.
11:03 autrijus (hint hint)
11:04 * autrijus goes back hacking PCP
11:05 gaal|work btw: larry mentioned something about "want" knowing if the calling context wants an *object* or a different value. but let's not think about that right now. :-)
11:05 autrijus it's just the type slot of context
11:05 autrijus that's fine
11:06 autrijus note that the context is merely the signature of the return continuation subroutine.
11:06 autrijus you can think of it as something like &return.signature
11:06 gaal|work but when i looked into implementing want i didn't see a way to get that data from Ctx
11:06 autrijus so it has its usual Type/Slurpiness/Laziness axes
11:07 Aankhen`` ?eval class Foo { method bar (::?CLASS ::class) { ::class.new.ref } }; class Bar is Foo { }; Bar.new.bar
11:07 evalbot6 Error: No compatible subroutine found: "&bar"
11:07 autrijus huh? Cxt has a Type
11:07 osfameron has quit IRC (Read error: 113 (No route to host))
11:07 autrijus testing that Type against OBject gets you that.
11:07 Aankhen`` ?eval class Foo { method bar (::?CLASS ::class) { ::class.new.ref } }; class Bar is Foo { }; Bar.new().bar
11:07 evalbot6 Error: No compatible subroutine found: "&bar"
11:07 Aankhen`` ?eval class Foo { method bar () { "bar" } }; class Bar is Foo { }; my $bar = Bar.new(); $bar.bar()
11:07 evalbot6 'bar'
11:07 autrijus ?eval class Foo { method bar (::?CLASS $class: ) { $class.new.ref } }; class Bar is Foo { }; Bar.new().bar
11:07 Aankhen`` Ah, my mistake.
11:08 Aankhen`` ?eval class Foo { method bar (::?CLASS ::class) { ::class.new.ref } }; class Bar is Foo { }; Bar.bar()
11:08 evalbot6 Error: No compatible subroutine found: "&bar"
11:08 Aankhen`` ?eval class Foo { method bar (::?CLASS ::class) { ::class.new.ref } }; Foo.bar
11:08 gaal|work autrijus: cool! i'll work on want later on then.
11:08 autrijus er, the "method bar" there has one inv and one arg
11:08 evalbot6 Error: No compatible subroutine found: "&bar"
11:08 nothingmuch cwest: rsync is not working
11:08 autrijus you probably want a trailing colon. and I'm not sure the ::?CLASS dwigil works
11:08 Aankhen`` It ought to have only one arg, that is to say, `::class`, where `::class ~~ ::?CLASS`.
11:08 Aankhen`` Ah.
11:08 autrijus nor the ::clas dwigil
11:09 autrijus Aankhen``: but method adds one implicit inv.
11:09 Aankhen`` ::?CLASS parses, dunno if it works.
11:09 Aankhen`` Oops.
11:09 Aankhen`` My bad. :-)
11:09 Aankhen`` ?eval class Foo { method bar (::?CLASS ::class: ) { ::class.new.ref } }; Foo.bar
11:09 evalbot6 Error: No compatible subroutine found: "&new"
11:09 Aankhen`` Holy colons, Batman!
11:10 * autrijus tries to not think about holy colons.
11:10 Aankhen`` Good idea.
11:11 autrijus I mean, holy prepuce is bad enough...
11:11 Aankhen`` I'm glad I don't know what a 'prepuce' is.
11:11 * nothingmuch found out about a nice salad place that does delivery
11:11 autrijus # http://en.wikipedia.org/wiPki/Holy_Prepuce (feature article even)
11:11 * castaway read "nice salad picture" then got confused
11:11 Aankhen`` I refuse to look at that link.
11:12 Aankhen`` (I'm scared)
11:12 castaway its devoid of pictures of same, Ana
11:12 autrijus that link is broken anyway, a random additional P crept into it
11:12 Aankhen`` Heh.
11:12 castaway invasion of the Ps !
11:13 * Aankhen`` wanders off to play games.
11:14 gaal|work linux smoke up at perlcabal.org/~gaal
11:14 gaal|work lunch &
11:19 nothingm1ch has joined #perl6
11:21 theorbtwo It's an invasion of the nothings!
11:24 autrijus dinner &
11:26 nothingm2ch has joined #perl6
11:28 castaway nothing 2 much?
11:28 theorbtwo Nothing mtwoch.
11:28 larsen has joined #perl6
11:30 broquaint has joined #perl6
11:30 castaway da bro!
11:31 nothingm3ch has joined #perl6
11:31 broquaint da C!
11:33 theorbtwo OK, NM, you're just doing this to be silly now, right?
11:33 * castaway wanna new camera :(
11:34 * theorbtwo wonders why NM hasn't hit the "too many logins from same IP" limit yet.
11:38 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
11:44 nothingm1ch has quit IRC (Read error: 110 (Connection timed out))
11:47 * masak finds it ironic that there would be several instances of "nothingmuch"
11:48 masak reminds me of agent smith
11:48 nothingm2ch has quit IRC (Read error: 110 (Connection timed out))
11:55 gaal|work to2, can there be a limit like that? it would break on NAT.
11:57 gaal|work wow cool, theree are only about 2**5 failures in t/ now.
11:57 nothingm3ch has quit IRC (Read error: 110 (Connection timed out))
12:04 nothing_pasta has quit IRC (Read error: 60 (Operation timed out))
12:05 scw has joined #perl6
12:05 nothingmuch has joined #perl6
12:05 nothingmuch sorry for messing around
12:05 nothingmuch my connection was dying, and coming back
12:05 nothingmuch and I didn't notice
12:15 elmex has quit IRC ("bbl")
12:15 svnbot6 r5356, gaal++ | unbreak the build (subType -> subEnv)
12:32 theorbtwo gaal, there was not too terribly long ago, though I might have been thinking of slashnet.
12:32 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
12:34 gaal|work that kinda exludes AOL users. not that that's necessarily a bad thing :-)
12:37 clkao http://www.gucomics.com/archives/view.php?cdate=20050627
12:43 wolverian has joined #perl6
12:46 autrijus perl script/pugscc -e '{say 123}.()'
12:46 autrijus *** Generated output: a.out
12:47 autrijus $ ./a.out
12:47 autrijus 123
12:47 autrijus yay.
12:47 Juerd brrr, a.out.
12:47 broquaint 1337
12:47 Juerd But apart from that: neat.
12:48 broquaint a.out is all you need.
12:48 autrijus clkao: what's wrong with your london pmers? I got that link from sky too
12:48 clkao he is multicasting
12:48 svnbot6 r5357, autrijus++ | * proper closure support for Compile.Pugs; that's one step closer to compiled prelude
12:48 autrijus suspected as much
12:51 vigilante has quit IRC (Read error: 110 (Connection timed out))
12:53 whitay hi
12:55 autrijus greetings whitay
12:59 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
13:05 theorbtwo gaal: They special case NATs that ask for it.
13:05 gaal|work w00t!   (backlogs)
13:05 svnbot6 r5358, autrijus++ | * all prelude functions is now fully compiled in PCP...
13:05 svnbot6 r5358, autrijus++ |   let's see if turning on Pugs.Run support for PCP
13:05 svnbot6 r5358, autrijus++ |   will Magically Work
13:05 gaal|work w00t! (again)
13:08 castaway magic++
13:14 dvtoo has joined #perl6
13:20 Maddingue has joined #perl6
13:20 gaal|work unfortunately no.
13:21 autrijus yeah, due to "is builtin" handling.
13:21 autrijus I'm fixing
13:22 gaal|work is there a way to get haskell pretty-printing emit less layed-out code? it reaches alarming indent levels :-)
13:23 autrijus yes, fix the prettyBind
13:26 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
13:34 asd has joined #perl6
13:35 broquaint has quit IRC (Read error: 104 (Connection reset by peer))
13:35 asd #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team
13:35 asd #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team
13:35 asd #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team #fazlamesai Turkish Linux Team
13:35 asd has left
13:37 * castaway wonders
13:40 autrijus the wonder of IRC.
13:42 masak such things never happen to me in real life
13:43 masak someone comes into a room, says something 100 times, and leaves
13:43 masak the net seems to facilitate actions based less on conscience and more on something else
13:44 autrijus "whim" I think is the term
13:44 masak :)
13:44 masak yes
13:44 masak there's too much whim out there, generally
13:45 masak is this exclusive to the net? do you know of any other medium where people abandon reason and thought for whim?
13:45 gaal|work fasion?
13:45 masak lol
13:46 autrijus gaal|work: only one problem left
13:46 autrijus that is, somehow
13:46 autrijus BEGIN { $foo::bar = 1 }
13:46 gaal|work which, as oscar wilde reminds us, is when sometihng is so ugly it must be changed every six months
13:46 autrijus leaves a "$foo::bar" sym in the envGlobal
13:46 autrijus but
13:46 autrijus BEGIN { $*bar = 1 }
13:46 autrijus leaves nothing to the compiler
13:46 autrijus this is very strange and I can't easily see why
13:47 gaal|work well, we can fix that later since we don't do BEGIN in the prelude :-)
13:47 autrijus we do something directly equivalent.
13:47 autrijus sub foo is builtin {}
13:47 autrijus eq to
13:47 autrijus BEGIN { &*foo = sub { ... } }
13:47 autrijus well, make that :=
13:47 autrijus but same thing
13:52 autrijus aha. I filtered them out myself.
13:52 svnbot6 r5359, autrijus++ | * Pugs::Internals::check_for_io_leak moved to Prim.hs because
13:52 svnbot6 r5359, autrijus++ |   we need it being present for -C compilation.
13:52 svnbot6 r5359, autrijus++ | * `sub *foo { ... }` now registers into the global namespace.
13:53 autrijus how convenient
13:53 nothingmuch has joined #perl6
13:55 nothing_pasta has joined #perl6
13:58 gaal|work (sorry, was $work'ed)
13:58 autrijus nvm, I fixed it
13:58 autrijus testing
13:59 scook0 has quit IRC ("Leaving")
13:59 gaal|work nvm is instead of nm so that mr pasta guy doesn't get summoned? :)
13:59 * gaal|work waves at yuval
14:00 autrijus why is he mr pasta?
14:00 autrijus I remember him as mr flaming pizza
14:00 gaal|work "nothing_pasta"...
14:00 gaal|work of course nothing, all of it was burnt
14:01 gaal|work still no go i think.
14:01 gaal|work er, how do i see the svn r in my svk working copy?
14:01 autrijus svk log -l 1
14:02 autrijus hrm, I need a Compile VObject
14:03 gaal|work someinng along the lines of "bless " ++ (show obj) ++ (show class) ?
14:03 autrijus no, no
14:03 autrijus just do the same thing with compile VCode
14:03 autrijus i.e. move the objAttr one out as a separate compilation call
14:03 autrijus instead of simply show'ing it
14:04 autrijus but first let me workaround it...
14:04 gaal|work oh, blah, how do i restore an accidentally deleted file in an svk working moose?
14:05 gaal|work i hate it when i do :w instead of :e in vi...
14:06 autrijus svk revert foo
14:11 Aankhen`` gaal >> Does `seek` work properly?
14:11 Limbic_Region has joined #perl6
14:12 gaal|work yes. but on windows it only works in binary mode
14:12 Aankhen`` Ah.
14:12 Aankhen`` gaal++
14:12 gaal|work open("file", :layer<:raw>)
14:12 gaal|work i should really add a guard against all other layers...
14:13 gaal|work because none of them is defined
14:13 gaal|work also note that this isn't the final interface, see p6-l
14:13 gaal|work it seeks bytes, not chars.
14:14 gaal|work likewise tell.
14:14 gaal|work tell is tricky to do in utf8!
14:14 Aankhen`` Heh.
14:15 vcv- has joined #perl6
14:15 vigilante has joined #perl6
14:15 gaal|work actually random access is horrible in utf8
14:18 jhorwitz has joined #perl6
14:18 gaal|work meeting &
14:20 theorbtwo .oO(He's at a meeting in the background?)
14:22 Aankhen`` I never did understand that, but it looks neat. ;-)
14:23 autrijus no... you need to look at the whole sentence
14:23 elmex has joined #perl6
14:23 autrijus gaal | work > meeting &
14:23 autrijus so obviously it's "gaal" that is put to background
14:23 Aankhen`` LOL.
14:23 nothingmuch the output of gaal is productivity
14:23 nothingmuch work is a filter
14:23 nothingmuch and meeting is an alias for /dev/null
14:24 * Aankhen`` falls over laughing.
14:25 * nothingmuch has a module idea
14:26 nothingmuch hack hack hack
14:26 iblechbot has joined #perl6
14:28 theorbtwo OK then.  Makes perfect sense.
14:28 autrijus gaal: I made everything work but this line
14:28 autrijus        runEnv env{ envBody = ast, envGlobal = globRef, envDebug = Nothing }
14:28 autrijus does not modify the original envGlobal
14:28 autrijus so is rendered null
14:30 autrijus attempting a fix
14:32 autrijus works!
14:35 autrijus it would be nice if the Makefile rules can be tweaked so "make ; make" won't pointlessly rebuild
14:37 Limbic_Region hear hear
14:37 svnbot6 r5360, autrijus++ | * Lambdas and Camels, I present... precompiled Prelude!
14:37 * Limbic_Region decides to break the build he is on now
14:37 Limbic_Region recheckout
14:37 Limbic_Region and start over
14:37 autrijus somehow caller() broke, I think it's because :Control::Caller isn't frozen
14:37 Aankhen`` Yay!
14:37 Aankhen`` autrijus++
14:37 autrijus fixing that
14:37 Limbic_Region is a make clean in order?
14:39 autrijus dunno
14:39 dudley has quit IRC ()
14:40 * Limbic_Region does anyway
14:41 * Limbic_Region notes the time he starts the build process to see how long it takes
14:45 * autrijus is so happy we're back to sane startup time
14:45 clkao oh?
14:45 Limbic_Region r
14:45 Limbic_Region [10:42] <svnbot6> r5360, autrijus++ | * Lambdas and Camels, I present... precompiled Prelude!
14:47 * Limbic_Region notes that tomorrow is his 3 year anniversary
14:47 autrijus many happy returns!
14:48 Limbic_Region err - meant that for #perl since tangible perl6 has only been around for months
14:48 autrijus heh :)
14:49 * Limbic_Region started with Perl and PerlMonks the same day - 2002-07-11
14:51 * Juerd started with Perl in 1998 or 1999, and with PerlMonks in 2001 (december, though)
14:52 Limbic_Region autrijus - is there an official end date to your sabbatical?
14:52 autrijus aug 1st I think
14:53 autrijus since I gave myself six months
14:53 Limbic_Region ok - so I need to win the lottery before then
14:53 Limbic_Region it is good to have goals
14:53 autrijus heh
14:55 Limbic_Region out of curiosity - paying projects during that time frame have consituted approximately what percentage of your time?
14:57 Limbic_Region_ has joined #perl6
14:57 svnbot6 r5361, autrijus++ | * horrible hack: move Control::Caller and Time::Local into the default class hierarchy so prelude can be inititialised
14:57 Limbic_Region has quit IRC (Nick collision from services.)
14:58 Limbic_Region_ is now known as Limbic_Region
14:58 * Limbic_Region wanders off to wake Jean up &
15:03 autrijus PCP works on win32 now.
15:03 svnbot6 r5362, autrijus++ | * trigger rebuild the hard way on Win32
15:04 autrijus Limbic_Region: 10% or less
15:06 autrijus call for smokers on r5362.
15:06 autrijus I'd like to know if that has adversely affected tests
15:08 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
15:10 cm_ has joined #perl6
15:12 Aankh|Clone has joined #perl6
15:17 rafl Why does rx:Petl5:m/^\[\s*(.*)\s*\]$/; (Name => $0) give me something like that: ('Name' => MkMatch {matchOk = True, matchFrom = 1, matchTo = 19, matchStr = "XML::SAX::PurePerl", matchSubPos = [], matchSubNamed = {}}) and not 'Name' => 'XML::SAX::PurePerl' ?
15:17 svnbot6 r5363, autrijus++ | * turns out we don't need to remove pugs.exe
15:20 Aankhen`` has quit IRC (Read error: 60 (Operation timed out))
15:21 rafl The string I try to match is "[XML::SAX::PurePerl]", btw.
15:25 autrijus rafl: er, that should only show up in .perl (i.e. in pugs interactive)
15:25 autrijus if you attempt to use that as string it will stringify as that string.
15:25 autrijus you can force stringification by saying Name => ~$0 or Name => "$0" etc.
15:25 autrijus but usually it's good as a string
15:26 rafl OK. But that doesn't happen for ($0 => "foo"). Is $0 in another context here?
15:26 autrijus I suspect it is stringified as a hash key
15:26 Maddingue has joined #perl6
15:26 autrijus although I'm not exactly sure why that happens
15:27 autrijus but in any case it should be good as a Str in either position
15:27 autrijus ok, PCP looks solid. I'm running a smoke now
15:27 autrijus that should be worthy of a day's work
15:28 dudley has joined #perl6
15:28 * autrijus waves &
15:28 autrijus gaal++ # did bulk of the work
15:29 rafl How do I declare class variables? I also want accessors to be created.
15:29 autrijus my $.x
15:29 autrijus but, I'm fairly sure it's not yet supported.
15:29 autrijus mostly because the accessor semantic was not specced down until hackathon
15:29 rafl OK, thanks.
15:29 autrijus and I didn't get around to it post-hackathon
15:30 autrijus there should be tests in t/oo/; if you don't see one, please write some
15:30 autrijus it's in the "hackathon notes" thread in p6l
15:30 autrijus bbiab
15:36 stevan morning all
15:36 stevan starting on the changelog now, it looks safe enough :)
15:37 Limbic_Region salutations stevan
15:37 Limbic_Region though there isn't much left of the morning at my localtime
15:37 stevan greetings Limbic_Region
15:37 stevan Limbic_Region: morning is a state of mind :)
15:39 stevan besides, in pugs-space time has no meaning
15:39 Limbic_Region very true
15:39 stevan it is always pugs-time :)
15:40 Limbic_Region I really need to bone up on my p6 OO so I can make some posts at the Monastery
15:40 stevan Limbic_Region: no better way than to help with the metamodel :)
15:41 Limbic_Region stevan - really - I was thinking reading [AS]12 would be a pretty good way
15:41 Limbic_Region :P
15:42 stevan Limbic_Region: read them, and then implement :)
15:43 justatheory has joined #perl6
15:43 Limbic_Region stevan - I haven't written any p6 OO yet but I can tell that most of the un-initiated think p6 OO is going to work the same way as p5
15:44 stevan nothing could be further from the truth :)
15:44 Limbic_Region I don't need to implement in order to crush that
15:44 stevan well, actually thats not totally true
15:44 stevan it can work a lot like perl5
15:44 stevan but why the hell would you want it too :)
15:44 Limbic_Region dunno - and that's the point
15:44 stevan Limbic_Region: what better way to grok it, then to build it
15:45 Limbic_Region stevan - persistency doesn't always pay when dealing with someone as stubborn as I am
15:45 * stevan is just messing :)
15:45 * Limbic_Region needs to learn at his own pace
15:45 autrijus smoke time down from 2209sec to 951sec!
15:45 Limbic_Region and that takes having a goal I feel is worth while
15:45 Limbic_Region wooo hooo
15:45 Limbic_Region autrijus++
15:46 Limbic_Region at this point - edumacating others is worth while enough to learn what I need to learn to do that
15:47 stevan Limbic_Region: I am only messing around, you advocacy efforts are extremely valuable IMO
15:47 svnbot6 r5364, autrijus++ | * argh, PCP broke PIR compilation. too tired to fix it tonight
15:47 svnbot6 r5364, autrijus++ |   -- at least throw out a meaningful error msg.
15:47 nothingmuch darcs get http://nothingmuch.woobling.org/Caller-Context-Handle
15:48 nothingmuch has quit IRC ("leaving")
15:48 nothingmuch has joined #perl6
15:48 Limbic_Region wb nothingmuch
15:48 stevan nadda mucho,... there is nothing there?
15:49 justatheory has quit IRC ()
15:50 nothingmuch darcs get http://nothingmuch.woobling.org/Caller-Context-Handle
15:50 nothingmuch nothing/
15:50 nothingmuch ?
15:50 nothingmuch yes I am there
15:50 nothingmuch that is, here
15:50 nothingmuch reload URL
15:51 * nothingmuch goes cycling
15:52 nothingmuch Limbic_Region: how did you like the node, btw?
15:52 Limbic_Region which node?
15:52 Limbic_Region oh
15:52 Limbic_Region nevermind
15:52 Limbic_Region the grammar thingy
15:52 Limbic_Region I didn't have time to digest it
15:53 Limbic_Region regex-fu isn't strong with me
15:53 Limbic_Region though the comments explained it well enough
15:55 Limbic_Region figuring out how it gets from one ? or ?? to the next is still lost on me though
15:55 Limbic_Region all in all - cool stuff
15:55 Limbic_Region wow - pugs startup is a lot faster
15:55 Limbic_Region good stuff
15:56 nothingmuch ?{  } means do this code
15:56 nothingmuch ??{ } means do this code, and evaluate the regex it returns as a subpattern right here
15:57 Limbic_Region no
15:57 Limbic_Region I understand that
15:58 nothingmuch err?
15:58 nothingmuch oh, when they are invoked?
15:58 Limbic_Region following the regex through the matching process
15:58 Limbic_Region right
15:58 nothingmuch let's say you have the pattern 'ab.*c'
15:58 nothingmuch match on
15:58 nothingmuch 'ab53c'.
15:58 nothingmuch just fill in one by one
15:59 nothingmuch a for a, b for b, 5 for ., 3 for ., c for c
15:59 nothingmuch (with backtracking, ofcourse, it wil lfirst try c for ., then fail, and try shortening ... to ..)
15:59 Limbic_Region right
15:59 nothingmuch now, assume the pattern was 'a(?{ warn "moose" })b.*c'
15:59 nothingmuch a for a
16:00 nothingmuch sub invoked
16:00 nothingmuch b for b
16:00 nothingmuch ...
16:00 Limbic_Region ok
16:00 Limbic_Region so let me ask the question
16:00 nothingmuch and if it's ab.*(?{ warn "foo" })c then
16:00 Limbic_Region a matches but the whole pattern isn't matched yet
16:00 Limbic_Region so sub gets invoked
16:00 nothingmuch it will be invoked twice
16:00 Limbic_Region that's what I wanted to know
16:00 nothingmuch yup
16:00 Limbic_Region now what about in backtracking
16:00 nothingmuch every time the regex engine goes over the sub, it get's invoked
16:00 Limbic_Region is it invoked each time there is a partial match up to that point?
16:00 nothingmuch yes
16:01 nothingmuch backtracking is sadly untrappable
16:01 nothingmuch i asked p5p if we can have a ?<{ } block
16:01 Limbic_Region ok - so that is what would make my head hurt
16:01 nothingmuch that is invoked like ?{ } but when backtracking
16:01 Limbic_Region trying to figure out if backtracking (i.e. false starts) would break what I was trying to accomplish
16:01 nothingmuch if you want it more deterministic, apply (?> ) around it to make a whole subpattern unbacktrackable
16:02 Limbic_Region well - my assertion fu is also very very basic
16:02 nothingmuch rule of thumb for that question: yes
16:02 nothingmuch look at how 'abort_sub' is called: it's an alternative to the body match
16:02 nothingmuch that is 'new_elem' is called just before trying to match the body
16:02 nothingmuch if the body didn't match, the alternative is tried
16:02 nothingmuch that does the cleanup
16:02 nothingmuch if I had ?<{ } then I wouldn't need that
16:02 Limbic_Region well - that's the part where I said I didn't have a chance to fully digest it
16:03 Limbic_Region I saw that and thought - ok, so it must get invoked more than I would think
16:03 Limbic_Region and then I looked at the time and said - maybe tomorrow
16:03 Limbic_Region but thanks
16:03 Limbic_Region this really helps
16:03 masak has left
16:03 nothingmuch sure
16:04 Limbic_Region so ?? can really be a mind fuck
16:04 Limbic_Region since in backtracking the match pattern can change dynamically
16:04 nothingmuch http://www.pixyland.org/peterpan/index.html
16:05 Limbic_Region breakfast is ready
16:05 Limbic_Region food &
16:05 nothingmuch have fun
16:06 putter has joined #perl6
16:07 putter nothingmuch: err, which node where? # backlogging...
16:08 stevan anyone know how many tests we now have?
16:08 * putter notes in p6 you get to modify the "match in progress" Match object.
16:08 nothingmuch stevan: my pugs smoke loop has been restarted... 7687
16:08 nothingmuch http://www.perlmonks.org/?node_id=473610
16:09 stevan nothingmuch: thanks :)
16:09 nothingmuch putter: yeah, that was a fun discussion in the hackathon
16:09 nothingmuch i think luqui and I scared pmichaud a bit though ;-)
16:10 nothingmuch putter: the perlmonks link is the node in question
16:10 putter thanks.
16:10 putter :)
16:13 nothingmuch autrijus: did you look at http://nothingmuch.woobling.org/Caller-Context-Handle/ ?
16:17 putter nothingmuch: one worry: the "if you are here, then the body match failed".  With alternates being tried to compare match lengths, that may not be a correct assumption.
16:17 nothingmuch putter: hmm... good point
16:18 nothingmuch i'll have to test it on demerphq's blead perl
16:18 nothingmuch or maybe make someone get a ?<{ } in
16:24 cdpruden has joined #perl6
16:24 justatheory has joined #perl6
16:25 justatheory has quit IRC (Client Quit)
16:31 putter nothingmuch: one thing I've done (though I dont remember how well it worked) is something like ?{$flag=0}...?{$flag=1} | \Z?{mumble if !$flag}
16:31 putter hmm, thinking aloud without remembering your code... if your explicity managing a stack, a local might work better.
16:33 putter Locals getting automagically "cleaned up" for you on backtracking.
16:37 putter gaal: linux smoke up... but not yet listed on http://perlcabal.org/~gaal/ ...;) tnx.
16:38 putter oh, wait, now it its.  sorry.
16:39 putter gaal: http://pugs.kwiki.org/?SmokedPugs updated.  Thanks gaal!
16:44 nothingmuch putter: a local wouldn't work, because there is no way to reach into $OUTER::
16:44 nothingmuch i thought about it
16:45 nothingmuch one good idea is to use local for backtracking tokens
16:45 nothingmuch that refer to stack frames
16:45 nothingmuch whose DESTROY handler is abort_elem.
16:46 nothingmuch since it was a didactical post I didn't want to add GC into the mes
16:46 nothingmuch anyway, ciao
16:48 Limbic_Region has quit IRC ("leafChat IRC client: http://www.leafdigital.com/Software/leafChat/")
16:48 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
16:49 putter ah.
16:52 * putter always worries when the parrot make says  warning: cast to pointer from integer of different size ...
16:52 svnbot6 r5365, Stevan++ | ChangeLog - updated as of r5363; may need more work before the release though
17:04 * putter worries more when ghc says it... ;)
17:05 justatheory has joined #perl6
17:05 autarch stevan: you should mention localtime and Time::Local
17:05 autarch ah, I see localtime
17:06 nothingmuch has quit IRC (Read error: 113 (No route to host))
17:08 Maddingue has joined #perl6
17:14 Aankh|Clone stevan >> `use_ok` wasn't repaired; I added an alternate implementation which is commented out since it doesn't work properly yet.
17:14 svnbot6 r5366, Aankhen++ | * ChangeLog: edited stevan++'s latest additions.
17:14 Aankh|Clone is now known as Aankhen``
17:15 Aankhen`` Hrm.
17:15 Aankhen`` Sorry, I was mislead.
17:15 Aankhen`` autrijus's commit was supposed to have fixed it, but apparently it didn't.
17:17 gaal rehi
17:17 * gaal backlogs
17:17 Aankhen`` Hola gaal.
17:18 gaal wow!
17:18 gaal autrijus++
17:18 gaal autrijus: caller was broke before precomp prelude
17:18 gaal i noticed it the other day, dunno why
17:18 gaal it happens
17:18 gaal caller.t parsefails on line 32 i think
17:19 elmex_ has joined #perl6
17:19 gaal i'm starting a smoke to get regression info + speedup data
17:20 elmex has quit IRC (Read error: 113 (No route to host))
17:21 broquaint has joined #perl6
17:22 vigilante has quit IRC (Read error: 110 (Connection timed out))
17:29 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
17:29 justatheory has quit IRC ()
17:33 stevan autarch: feel free to add info about Time::Local if you like. I was unsure of it's purpose other than to be a facade for localtime
17:34 gaal the ball's in p6l on that one, stevan
17:34 gaal (hi! :-)
17:34 stevan hey gaal :)
17:35 gaal it should probably be renamed to Time; and there's unfortunately disagreement about what it should include exactly.
17:35 stevan gaal++ # Prelude is sooooooo cool
17:35 * stevan only just now took a good look at it
17:35 gaal :)
17:35 gaal autrijus did the hard part :)
17:36 Nattfodd has quit IRC (Read error: 113 (No route to host))
17:36 gaal i'm smoking on feather now - it's visibly faster
17:36 stevan nice
17:36 gaal but i don't know *how* faster yet.
17:36 stevan smoking is much better in holland I am told :P
17:36 gaal will post results... soon :)
17:37 gaal heh, i'm not into that myself but i don't think it's a problem around here either.
17:38 gaal "youth today is terrible! look at that girl for example! excuse me missy, do you smoke?" "nah, i quit that when i was twelve"
17:38 stevan :D
17:40 gaal t/builtins/io/time.t has some interesting probably new breakage.
17:40 svnbot6 r5367, Stevan++ | Changelog - whoops, called the metamodel by the wrong name
17:40 svnbot6 r5368, Stevan++ | Perl6-MetaModel : Added support for full Perl 6 style classnames (MyClass-0.0.1-cpan:JRANDOM); and added accessors/mutators for these in the MetaClass as well; oh yeah, and some tests for it too;
17:40 gaal ooh changelog! :)
17:41 stevan gaal: yup, just updated it this morning
17:45 putter Is anyone (else) using pugs on x86_64?  (I've an oddity, and am wondering if it is present in different snapshots of ghc)
17:47 gaal guess not, putter :)
17:48 putter :)
17:49 gaal wow, what a sugar rush this precomp prelude thing is :)
17:49 putter Ah well, I've been meaning to try a recent "getting ready for 6.4.1" ghc snapshot anyway.
17:49 putter Yes. :)
17:50 gaal putter, i've been using some snapshot of 6.5 for a while now on w32, worked great
17:50 gaal haven't updated it though - it's not a *recent* 6.5
17:50 gaal once cute feautre is that it enumerates build files.
17:51 gaal [2 of 64] Pugs.Help
17:51 dudley I've been battling ghc on osx for a while now. Maybe a 6.5 snapshot is the way to go...
17:51 putter k.  ghc's x86_64 support has been a work in progress.  It took some time to find a snapshot that worked.  But that was back in... May?
17:52 gaal hmm, my 6.5 may be that old :) but it doesn't really matter for you since i have a 32 bit box
17:53 gaal uh, i think we broke $!. that's not good. :-)
17:56 putter hmm... two roads diverged in a yellow wood, shall I try 6.4.1 or 6.5...
17:57 dudley anybody checked out ghc from cvs lately?
17:57 gaal stevan: Pipe::* and Carp::longmess have been in the prelude for a while
17:57 gaal i'll just fix that myelf ok? or are you still editing?
17:57 dudley I can't seem to login anonymously...
17:58 stevan gaal: I am done editing, you can go for it
17:58 gugod s/win 6
17:59 gaal we should really use our precompilation technology on Test.pm, that'll speed up smokes immensely too
17:59 putter dudley: the last time I checked, the password was cvs
18:00 dudley yep. I guess the darwinport is slightly broken. It uses an empty password.
18:00 putter ooo, retargetable "make things go zoooom" ;)
18:01 meppl has joined #perl6
18:07 gaal on feather, 2774 => 1687 seconds wall clock time PCPrelude difference
18:07 svnbot6 r5369, Stevan++ | Perl6-MetaModel : full names now can be used everywhere too, so "Dog-0.0.1-cpan:JRANDOM"->new() actually now works, and class Fido => { is => [ "Dog-0.0.1-cpan:JRANDOM" ] } will DWIM as well; added a new test file to check this behavior as well;
18:07 svnbot6 r5370, Stevan++ | Perl6-MetaModel : whoops, forgot to add a plan for my test; also added some class method tests as well to make sure "Dog-0.0.1-cpan:JRANDOM"->growl() DWIM;
18:07 gaal winxp data soon
18:10 putter There is a fun paper... somewhere, on the policy decisions leading to the LA? light rail system.  It's thesis was policy makers, in the grip of a viceral "zooommm it's fast" feeling, neglected to attend to the whole system, which included getting people from home to/from station, and another station to/from work (ie, busses).  The "ask ration question and get "weee, zoooooommm" answer" quotes were striking.  Completely random thought.
18:10 gaal :-)
18:11 gaal we just had three train wrecks in the past two weeks here :-(
18:11 putter !
18:11 cdpruden has quit IRC ("The computer fell asleep")
18:12 gaal weird thing is i can't remember ANY train accident from the past ten years
18:12 gaal there was one very serious one when i was a kid
18:12 gaal school bus serious.
18:12 jhorwitz has joined #perl6
18:12 putter class Fido => { is => [ "Dog-0.0.1-cpan:JRANDOM" ] }  ?  putter needs to read the synopses again...
18:12 gaal but ever since, nothing
18:13 putter poisson process?)
18:13 wolverian putter, that is perl5 code for the metamodel backend
18:14 gaal 2649 => 1486 on xp, where the wallclock gives a more accurate measure because there's fewer users.
18:15 gaal almost twice as fast. cool, but not cool enough i fear.
18:15 gaal i remember when make smoke was 300 seconds... :(
18:15 gaal then again i also remember when we had a thousand tests.
18:16 putter ahhh.  let's see, if I confuse p5 and p6 1 or 10 times a week, say 100 or 1000 times a year, times... how many people use perl?  say 10^3 to 10^6, so 10^5 to 10^9 p5/p6 confusions per year...
18:16 gaal http://perlcabal.org/~gaal for charts
18:17 gaal putter, you've confused me. :)
18:17 putter Just trying to quantify confusion...
18:18 putter gaal: re prelude, what's the executive summary?  "stuff broke"?
18:18 gaal actually 1..10 a week is rather less than 1000 a year :)
18:18 gaal "some stuff broke. smokes twice as fast."
18:20 putter 1 * 50 == 100, 10 * 50 == 1000, order of magnitude wise.  everything between 300 and 3000 is 1000.  (well, 316 to ...)
18:20 gaal actually the bottom line is about 180 new fails...
18:20 gaal yeah
18:21 Aankhen`` `eval` has no lexical scope issues now?
18:21 gaal sometimes when i'm loggy i'd say 2.7 or something
18:22 gaal what lexical scop issues?
18:23 Aankhen`` my $foo = 10; eval '$foo + 10'; # wasn't this a problem because the `eval` didn't see the outer scope?
18:23 gaal oh, i don't know, but i was just editing changelog and moved the following line to the bug fixes section:
18:23 gaal * `eval` now pushes one caller frame, just as Perl5's eval does.
18:23 gaal i guess that has something to do with it :)
18:23 Aankhen`` Er, okay.
18:25 * Aankhen`` wanders off to play NFSU2.
18:30 gaal sugar rush over, man i'm tired now
18:30 svnbot6 r5371, gaal++ | ChangeLog edits regarding Prelude
18:36 putter Sigh, ghc-6.4.1.20050709 and ghc-6.4.1.20050708 don't build, trying 6.5...
18:41 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
18:47 masak has joined #perl6
18:52 vigilante has joined #perl6
18:56 cm_ has quit IRC ()
18:57 geoffb Just did a pull and make, and the build seems to be even more RAM-heavy than before (270 MB unoptimized on my box, just counting ghc and ld).
18:57 geoffb Thoughts:
18:58 geoffb 1) Can ghc be told not to link, and have make link as a separate step?  ld and ghc get to about the same virtual mem size, so we'd cut mem usage in half right there
18:58 geoffb 2) Why does GHC have to work so hard on Pugs.AST.Internals?  It's not the largest file, so why does it seem to take the longest and cause the most mem burn?
18:59 geoffb 2a.  Can something be done to mitigate the problem causing 2?
18:59 Maddingue has joined #perl6
18:59 gaal re: 2, see the block starting at line 85
19:00 gaal #include "everything else" :-)
19:00 geoffb bleah
19:00 geoffb gaal, any thoughts on 2a then?
19:00 gaal that's done, i think, because decoupling would require -boot files and stuff like that.
19:01 integral use a different AST for compiletime and runtime
19:01 gaal i faced the same problem in the precomp prelude, and used the same cop out^W^W solution
19:01 integral avoiding having so many types depending on each other
19:01 geoffb integral, so this is Yet Another Reason to get everything running through PIL?
19:01 integral yep.
19:02 gaal regarding #1: http://haskell.org/ghc/docs/latest/html/users_guide/options-phases.html#options-linker
19:02 geoffb Is that a "wait on autrijus" task?
19:02 integral not necessarily :-)
19:02 gaal please experiment with "-c"
19:03 integral One key thing I suspect would be to write an Eval.hs for PIL
19:03 gaal # Omits the link step. This option can be used with ––make to avoid the automatic linking that takes place if the program contains a Main  module.
19:03 gaal (which ours does.)
19:04 geoffb Hmmm, I wonder if the process will use less peak RAM if ghc is just called twice -- once in compile only mode, once with linking enabled
19:04 geoffb It wouldn't be the 50% drop, but I'll take like 40% drop, without having to figure out how to link on every platform (since ghc already knows that)
19:05 gaal dunno. i expect our makefile knows how to link, btw
19:05 gaal also, we link twice now, so this may be quite useful if the link is faster.
19:06 gaal we also start ghc twice though :)
19:06 integral I thought it was ld that was using lots of mem in the link?
19:07 gaal doesn't calling free() on lots of stuff cost more than just exiting a program?
19:07 geoffb Integral, on my box, ghc goes to 140 MB doing Pugs.AST.Internals, then later ld goes to 130 MB
19:07 geoffb gaal, I believe so
19:08 gaal because keeping ghc around just to system ld either does that, which is slow, or doesn't, which costs ram and is potentially slower if youstart thrashing :)
19:08 integral yes, while ghc is running it's virtual memory size will just grow, using swap file space,  but it also won't be bigger than necessary,  so separate processes won't buy a total resident memory gain, but might help swapping
19:08 integral ghc's got an option to write makefile dep rules for the .hs files
19:08 gaal which for many people is a probelm
19:09 geoffb yeah, if I'm not careful, pugs builds OOM kill my X server.
19:09 geoffb integral, you mean compile every .hs as a separate ghc process?
19:10 gaal it's kinda tricky to make everyone happy here... i don't mind the ram usage on my new machines
19:10 geoffb I think it would probably be "good enough" to just not link after compiling Pugs.AST.Internals in the same process.  :-)
19:10 gaal probably.
19:10 integral geoffb: yeah
19:11 gaal if we aren't careful, we'll end up with a pre-build step that profiles the system and generates an optimized makefile :)
19:12 putter t/builtins/sprintf_and_as.t claims # traditionally, sprintf has rounded, not truncated fractions. is sprintf("%d", 1.5), "2",   "sprintf('%d') rounds arguments", :todo<bug>;
19:13 putter I no longer have a zoo of perl versions, but 5.8.5 says perl -we 'print sprintf("%d\n",1.6)' #=> 1.   Is this a bogus test?
19:14 integral hmm, that should be converting to int (ie trunc) not round.  I'd expect %.0f to round
19:14 theorbtwo My perl agrees with both of you.
19:14 geoffb gah, Makefile.PL could use some refactoring.
19:15 theorbtwo Yes, yes it could.
19:15 * geoffb is serious danger of blowing his yak-shaving stack
19:15 theorbtwo yak-shaving?
19:15 integral hmm, is the makefile always run by gnu make, or is it meant to work with nmake?
19:15 geoffb The process by which you have to do D in order to do C in order to do B in order to do A
19:16 geoffb Especially when B, C, and D seem totally unrelated to getting work done
19:16 gaal integral: nmake and bsd make too.
19:16 theorbtwo It needs to work with nmake and bsd... blast, too slow.
19:16 gaal :)
19:17 theorbtwo Notably, OSX uses bsd make unless you type the silent g.
19:17 geoffb "Yes, I have to play Frozen Bubble in order to make sure SDL is working, in order to make sure the bug is in my code, not SDL, in order to prepare to write this article."  That sort of thing
19:17 geoffb I have often gone about 7-10 levels deep in yak shaving
19:18 theorbtwo It would be very helpful, however, if the pugs makefile stuff were refactored.
19:20 integral ugg, that makes things harder, can't just use include
19:20 integral theorbtwo: that must be something like 10.2, my 10.3 uses gnumake by default
19:21 theorbtwo I was largely guessing.
19:21 theorbtwo autrijus mentioned something the like.
19:24 geoffb Could someone save me from yet more shaving and explain the diff. between single and double colon rules in make?
19:27 gaal http://shekel.jct.ac.il/cc-res/online-doc/make/make_41.html
19:27 gaal if you have several :: rules, they each run or not, independently of each other.
19:28 * Aankhen`` goes to sleep.
19:28 Aankhen`` G'night.
19:28 Aankhen`` has quit IRC ("Induhvidual quote: "I don't understand the big deal about the price of oil. I mean, I only put oil in my car every now and th)
19:29 geoffb Hmmm, they say it should be rare, but it looks like we use them quite a bit
19:29 gaal i think it's practical when autogenerating makefiles, because you can use them to aggregate rules.
19:30 gaal but i'll let someone who's more of a makefile maven explain it :-)
19:31 geoffb Why is the rule for $pugs not just '$pugs : optimized' ?
19:32 geoffb It looks like duplicate stuff
19:32 putter ?eval sprintf("%f",1.2)
19:32 evalbot6 pugs: Printf.printf: bad argument
19:32 putter (it's not just me:)
19:37 wolverian oh, wow. DateTime::Calendar::Discordian++
19:40 b6s has quit IRC (orwell.freenode.net irc.freenode.net)
19:40 Southen has quit IRC (orwell.freenode.net irc.freenode.net)
19:41 b6s has joined #perl6
19:41 Southen has joined #perl6
19:43 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
19:52 broquaint has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]")
19:56 jdv79 has left "Leaving"
20:15 vcv- has quit IRC (Read error: 104 (Connection reset by peer))
20:31 nothingmuch has joined #perl6
20:32 nothingmuch seen cwest
20:32 jabbot nothingmuch: cwest was seen 1 days 22 hours 14 minutes 55 seconds ago
20:32 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
20:33 vigilante has quit IRC (Read error: 110 (Connection timed out))
20:36 wilx has quit IRC (Read error: 104 (Connection reset by peer))
20:52 Maddingue has joined #perl6
20:54 putter any lambda camels present?
20:54 putter err, emphasis on lambda.
20:55 geoffb I'll do you one better: I need someone who understands src/Pugs/Embed/Perl5.hs . . .
20:56 * nothingmuch pretends to be a lambda camel
20:56 geoffb specifically, am I correct in assuming that line 114 should have "perl5.h perl5_eval" instead of "perl.h perl5_eval"?
20:57 geoffb My questions is, why doesn't that break?  Is it just a comment?
20:58 * nothingmuch reads perlembed
20:58 svnbot6 r5372, mugwump++ | Remove this wart... functionality to be moved to new Proxy functions etc
20:58 integral geoffb: I suspect you're right
20:58 nothingmuch i would guess it goes the other way, maybe
20:58 nothingmuch dunno
20:58 integral hmm, perl5.h is src/perl5/perl5.h
20:58 mugwump Perhaps if you reduced that Perl5.hs so that it was the only import it might show if it's right
20:59 putter I suspect it doesnt break because it uses the real, enourmous, perl.h...
20:59 integral maybe it doesn't break because perl5.h has already been loaded
20:59 geoffb grepping shows that perl.h doesn't contain perl5_ , only perl_
20:59 integral but since perl5_eval is from perl5.h and *not* perl.h
20:59 geoffb integral, now that one I'd believe
20:59 nothingmuch oh
20:59 integral perl5_ is the C wrapper of libperl in src/perl5
20:59 putter doh
20:59 nothingmuch perl5.h is a pugs file, perl.h is ini archlib/CORE/perl.h
21:01 geoffb Yeah, I've gotten that far, integral and nothingmuch -- I am just trying to figure out if the bugs I'm seeing are in my head or in the code
21:01 geoffb :-)
21:01 * geoffb says "What the hell" and changes it just to see what happens
21:01 nothingmuch ah
21:01 * nothingmuch steps out of the conversation... not being useful =)
21:02 nothingmuch instead I will feed on the dead remains of some tofu
21:02 nothingmuch *manic laughter*
21:02 geoffb Oh, and sorry putter, and didn't actually mean to hijack your chance at a question
21:02 geoffb heh
21:02 putter nothingmuch: I'm trying to wrap  Text.Printf.printf in a catch.  printf is PrintfType r => String -> r, where r can be String or IO a.  catch is IO a -> (Exception -> IO a) -> IO a.
21:02 integral putter: is it a Haskell question?
21:02 putter geoffb: np, my brain was just grinding slowly...
21:03 integral catch (printf ...) something ?
21:03 putter yes,  tryprintf = catch printf (\e -> fail "printf went type-boom")
21:04 lightstep has joined #perl6
21:04 nothingmuch putter: and you're getting type errors?
21:05 masak has left
21:05 integral tryprintf = (swap catch (\e -> ...)) . printf  ?
21:07 nothingmuch נךשי
21:07 nothingmuch eep!
21:07 nothingmuch anyway, i was supposed to get some food
21:07 integral putter: is that what you were intending?  there is the simpler: t x = catch (printf x) (...)
21:07 nothingmuch i'm brain dead (went bicycling for 2.5 hrs) so i'll stop pretending like I can help anyone
21:08 nothingmuch see also flip
21:08 putter nothingmuch: re type errors, yes.
21:08 nothingmuch putter: nopaste them
21:08 integral ty, nothingmuch, I mean't flip not swap
21:08 nothingmuch and show us some source
21:08 putter I suspect part of the problem is printf ... ok, working...
21:08 integral putter: if printf is a function, what you gave won't work
21:08 nothingmuch :t and :i in ghci are your very best friends
21:09 nothingmuch where is printf?
21:09 integral you're not passing an arg to printf.  You either have to use composition,  or name the argument
21:10 pasteling "putter" at 66.30.119.55 pasted "type error" (12 lines, 371B) at http://sial.org/pbot/11669
21:11 saorge has quit IRC (Read error: 110 (Connection timed out))
21:12 integral putter: what's a PrintfType?
21:12 putter ghci is great... and historically unavailable on x86_64.  snif.  dont have one at the moment.
21:12 nothingmuch damnit! fucking browsers keep crashing
21:12 nothingmuch integral: a type class
21:12 nothingmuch putter: use feather, or my box
21:12 integral yes, I know that,  but what are instances of it?
21:12 lightstep type inferencinf doesn't work well with printf
21:12 nothingmuch oh.... :i PrintefType
21:12 lightstep String, IO a, a -> PrintfType
21:13 integral oh, :i neat, nothingmuch++
21:13 putter http://www.haskell.org/ghc/docs/latest/html/libraries/base/Text.Printf.html#t%3APrintfType
21:13 nothingmuch where is printf?
21:13 nothingmuch oh
21:13 lightstep putter, is that line 849?
21:14 saorge has joined #perl6
21:14 putter 849... Scalar::as
21:15 putter it's unmodified except for s/printf/tryprintf/
21:15 lightstep that paste page says you applied tryprintf to fmt and to str
21:15 lightstep while tryprintf is a function of one argument
21:15 lightstep it seems correct
21:16 integral the problem is the r in printf :: PrintfType r => String -> r
21:16 lightstep integral, not really. the inferencer figured it out
21:16 integral it can be either an IO a, or a function PrintfType r => a -> r
21:16 lightstep but catch makes it be IO a
21:16 integral yes, but in tryprintf you're losing the variable argness of printf
21:16 wilx has joined #perl6
21:17 lightstep which is fine, since (.) is function composition with one argument
21:17 integral the complaint is about the application of tryprintf
21:17 lightstep yes, you do lose it
21:17 nothingmuch does printf return more and more functions?
21:17 lightstep nothingmuch, only if you ask it to
21:17 nothingmuch errm.... how is it variadic under the hood?
21:18 nothingmuch i'm thinking ((tryprintf fmt) str)
21:18 integral via the typeclass
21:18 putter "The PrintfType class provides the variable argument magic for printf.  Its implementation is intentionally not visible from this module."
21:18 nothingmuch ooh
21:18 nothingmuch eek
21:18 putter yeah. ;)
21:18 nothingmuch so by using catch IO a is enforced
21:18 nothingmuch and that makes it lose that typeness?
21:18 integral yep
21:19 integral this should be able to be solved by another typeclass :-/
21:19 nothingmuch how so?
21:19 lightstep you don't usually want printf, or the use of such typeclasses
21:19 nothingmuch what about hacking a layer over it
21:19 lightstep haskell isn't good for this
21:20 nothingmuch printf returns either a fun ction with the same type as itself
21:20 nothingmuch or a string
21:20 nothingmuch depending on how many args it needs
21:20 nothingmuch wait, screw that
21:21 nothingmuch why doesn't it just use a list, and the members of the list are of class Printfable
21:21 nothingmuch so you can shove all sorts of data into the list?
21:21 nothingmuch errr, data type, not class
21:21 * nothingmuch is losing his brain
21:21 integral hmm, maybe typeclasses are more supported than existentials?
21:21 lightstep yes, but the point was to make printf variadic
21:21 lightstep (i think)
21:22 lightstep if you want printf in pugs, you'd better not use Text.Printf
21:22 nothingmuch anyway, back to my eating plan
21:23 putter Just for context, the _real_ problem is that printf exceptions if the object types dont match the format... but p6 wants to coerce the objects if they dont.  doing a catch is just a hack to avoid pugs getting killed when printf chokes.  .as and sprintf will still be doing the not-quite-right thing.
21:24 integral putter: a simple solution is just to not have a combined printf + catch
21:24 geoffb Hah -- finally found the doc reference for anyone interested. -- yes, it should be "perl5.h perl5_eval", and it worked because there was at least one other foreign import that specified perl5.h.
21:24 integral common_catch = flip catch (\e -> ...)
21:25 * geoffb fixes . . . .
21:25 * putter considered ccall snprintf... but that seemed an unfortunate barrel of worms.  we may need an sprintf library.
21:25 * putter tries common_catch...
21:26 putter geoffb: :) closure++
21:40 saorge has quit IRC (Read error: 110 (Connection timed out))
21:40 svnbot6 r5373, geoffb++ | Fix foreign import bug in src/Pugs/Embed/Perl5.hs that happened to not break things because surrounding code hid it
21:43 saorge has joined #perl6
21:43 lightstep has quit IRC ("later")
21:43 mugwump stevan: do we have a divmod operator?
21:43 mugwump bah, that shouldn't have been directed at stevan
21:52 elmex_ has quit IRC ("leaving")
21:55 vcv- has joined #perl6
21:56 vigilante has joined #perl6
22:05 Amnesiac has joined #perl6
22:06 mugwump anyone know if we've got a floor() function anywhere?
22:06 svnbot6 r5374, mugwump++ | Correct test count
22:06 mugwump hmm, apparently not
22:06 mugwump I reckon that should be a primitive, all those in favour please say Aii
22:07 * jql votes aye on Math::floor being in the standard * import
22:08 jql might as well vote aye on ceil()
22:08 mugwump int() has such bizarre behaviour when you're doing calculation with the numbers
22:09 jql int (aka. truncate)/round/floor/ceiling/abs ?
22:09 mugwump ceiling or ceil?
22:10 * jql shrugs
22:10 jql the only thing going for ceil is C legacy
22:11 mugwump ceiling it is
22:11 jql can probably have a &ceil ::= &ceiling alias hidden in Math somewhere.
22:11 mugwump sure
22:12 mugwump why not
22:12 jql exactly
22:12 mugwump hmm, there isn't a POSIX round() function
22:13 mugwump n/m, found the C function.
22:15 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
22:16 putter has quit IRC (Read error: 110 (Connection timed out))
22:28 putter has joined #perl6
22:28 svnbot6 r5375, mugwump++ | Add the variety of rounding functions
22:30 * mugwump just doesn't understand the Haskell :t of floor; floor :: (RealFrac a, Integral b) => a -> b
22:31 putter mugwump: Emit/PIR.hs has mathops for -BPIR...
22:32 Maddingue has joined #perl6
22:33 Limbic_Region has joined #perl6
22:33 mugwump so it does.  presumably it was added because of Haskell internals inducted out by compilation?
22:37 mugwump hmm, seems floor is only defined on RealFrac
22:40 putter mugwump: yes, though in practice it was "oo, lots of parrot functions... signatures match... slurp".
22:42 Darren_Duncan has joined #perl6
22:43 meppl has quit IRC ("quit")
22:44 clkao dear pugs, it takes one hour to compile and run the tests
22:46 vigilante has quit IRC (Read error: 110 (Connection timed out))
22:46 Limbic_Region is that with a make clean clkao?
22:46 clkao i guess not.
22:46 Limbic_Region and how many things do you have turned on - embedded p5, haskell, parrot
22:46 clkao nothing
22:48 putter Could I get a reality check on a design proposal?  Write sprintf() in p6, calling Pugs::Internal::printf_i, _s, _f.
22:49 putter clkao: cpu? memory? make or make unoptimized?
22:49 clkao this is 1.6G powerbook with 1G ram
22:50 putter optimized?
22:50 obra clkao: how new is your pugs?
22:50 iblechbot has quit IRC (Read error: 110 (Connection timed out))
22:50 clkao right after autrijus declares it gets reasonable startup time
22:51 obra he's done that 8 times. Which time?
22:51 Limbic_Region obra - precompiled Prelude - happened earlier today
22:52 putter halved test runtime
22:53 * obra goes to try a make clean
23:01 nothingmuch i think that the runtime is better
23:01 nothingmuch but i'm not sure
23:03 Limbic_Region well - according to autrijus' numbers it is
23:03 Limbic_Region smoke time cut in half
23:03 * mugwump gives up with the types hell implementing floor() is putting him through
23:03 mugwump    No instance for (RealFrac (Eval n))
23:03 mugwump    Probable fix: add an instance declaration for (RealFrac (Eval n))
23:08 putter mugwump: Prelude.pm?
23:08 putter Do we have a haskell-specific prelude?
23:08 mugwump So, I tried adding;
23:09 mugwump op1 "floor" = op1Cast $ VInt . floor . fromVal
23:09 mugwump to use Haskell's floor primitive
23:10 putter sub floor($n) { my $i = int($n); if ($n - $i) >= 0.5 { $i + 1 } else { $i } }  ... or something like that...
23:11 * putter is currently fleeing type hell by Prelude'ifying sprintf...
23:12 mugwump putter: you'd also need to special case negative numbers
23:12 mugwump there are also precision corner cases I'd rather not have to think about ;)
23:13 putter ah.
23:17 nothingmuch is goto no longer gotoish?
23:17 cdpruden has joined #perl6
23:18 nothingmuch line 93 of Test.pm does a goto &is
23:18 nothingmuch but $?CALLER::POSITION lists that line
23:21 obra Make test took me 13:17
23:21 obra Failed 19/351 test scripts, 94.59% okay. 72/6252 subtests failed, 98.85% okay.
23:21 nothingmuch 6252?!
23:21 nothingmuch oh!
23:21 nothingmuch no module tests
23:21 * nothingmuch ducks
23:21 Limbic_Region mine just finished too
23:21 Limbic_Region Failed 19/351 test scripts, 94.59% okay. 72/6252 subtests failed, 98.85% okay.
23:22 Limbic_Region must have been a Win32 build obra?
23:22 obra Limbic_Region: nope. linux x86
23:23 Limbic_Region oh
23:23 Limbic_Region that's interesting
23:23 Limbic_Region I get the same results on Win32
23:24 Limbic_Region has quit IRC ("tiuq\")
23:25 nothingmuch do we have index?
23:25 mugwump what kind of index, nothingmuch ?
23:26 nothingmuch i.e. the function that takes a substring and returns it's position in a containing string
23:26 svnbot6 r5376, mugwump++ | Add tests for the variety of rounding functions
23:27 mugwump it's in S29
23:27 mugwump there's an op3 "index" in Prim.hs too
23:27 nothingmuch actually I don't need it
23:27 nothingmuch i found a nicer way =)
23:28 * mugwump throttles nothingmuch
23:28 saorge has quit IRC ("Leaving")
23:30 putter re index, yes (using it right now....:)
23:31 nothingmuch there, new buggah
23:31 svnbot6 r5377, nothingmuch++ | discuss joining junctions and values
23:31 svnbot6 r5378, nothingmuch++ | goto didn't eliminate stack frames... a test
23:31 nothingmuch confusion!
23:32 nothingmuch how do I add @INC to runFile from ghci?
23:32 putter mugwump: re floor, perhaps unpack val with a case of VRat... VInt... etc?
23:33 Amnesiac has quit IRC ("Leaving")
23:43 mugwump Expected type: m VInt; Inferred type: m Val; In the expression: (return . VInt) $ (floor x')
23:43 svnbot6 r5379, nothingmuch++ | junctions/items are the same match step (item is median weight)
23:43 svnbot6 r5379, nothingmuch++ | banish coerce/is rw - it's just too fragile
23:43 mugwump (after the unpackign)
23:52 Amnesiac has joined #perl6
23:52 Maddingue has quit IRC (Read error: 104 (Connection reset by peer))
23:52 gaal_ has joined #perl6
23:56 cm has joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo