Camelia, the Perl 6 bug

IRC log for #perl6, 2005-02-28

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:03 xern has joined #perl6
01:29 stevan has quit IRC ("Leaving")
01:29 stevan has joined #perl6
01:37 autrijus greetings lambdacamels.
01:37 obra autrijus, have you had tori do a logo of the camel with its legs in a lambda yet?
01:38 autrijus no, not yet
01:38 autrijus amahabal++# figuring out the parsing bug
01:39 * autrijus tries mapping amahabal to an id here
01:41 * abstraction still doesn't like _
01:41 Steve_p evening autrijus
01:41 tea has joined #perl6
01:42 autrijus hi testeve.
01:43 * autrijus blames the still very high latency
01:43 autrijus I wonder how good it will be to directly connect to freenode here
01:44 tea Hello :) im playing with pugs, now
01:45 * tea interested in the logical and fp style programing.
01:46 Steve_p Hi tea.  There's quite a few fp style programmers here :)
01:48 tea I got an implession at the y-combinator sample :)
01:50 tea it was hard to understand for me before. until today I saw the sample in perl6.
01:51 Nei has quit IRC (Read error: 101 (Network is unreachable))
01:51 autrijus &?SUB you mean?
01:51 autrijus I wonder where is such a sample :)
01:52 autrijus tea: you grok ruby? many discussions here can benefit from rubyfolks' input
01:52 tea autrijus: Yeah, that.
01:53 tea autrijus: what is grok ?
01:53 tea I'm new in this channel :)
01:53 autrijus # http://catb.org/~esr/jargon/html/G/grok.html
01:53 autrijus basically " understand"
01:53 autrijus_ has joined #perl6
01:54 autrijus_ latency test. 1.2.3...
01:54 mugwump you really need to read the book to grok grok :)
01:54 autrijus_ ok, works. switching to chatzilla for now
01:54 autrijus is now known as autrijus[tw]
01:54 autrijus_ is now known as autrijus
01:55 autrijus fixing () parsing now
01:55 autrijus once that's done I'll just roll 6.0.9 during this all-tests-pass window :)
01:57 tea ah thx, i read the page, but seem "grok" is a word hard to understand for me
01:57 mugwump where are you living, tea?
01:58 tea mugwump: japan, and I'm non-native english speaker
01:58 obra is svn.perl.org up to date, autrijus?
01:58 autrijus obra: sure is
01:58 autrijus synced every night
01:58 obra ok. a couple hours svn.perl.org was failing tests for me. let me test
01:59 obra oh. I was 10 commits out of date
02:02 obra still failing a bunch of tests
02:02 obra what's the right way to hand off failures?
02:04 obra Failed 10/40 test scripts, 75.00% okay. 55/426 subtests failed, 87.09% okay.
02:04 mugwump todo_ok() ?
02:05 obra that's just make test
02:05 autrijus obra: syncup again
02:08 autrijus obra: you really want to track openfoundry tough, if you're into realtime testing
02:09 autrijus until I set up auto magic syncups
02:09 obra nod.
02:10 autrijus the debian leader is speaking.
02:11 autrijus saying QA has to start at the beginning and can't be tackled on later -- now he starts talking about cat-herding techniques
02:11 autrijus 1000 cats and 10000 packages, that is
02:11 obra t/operator "unexpected operator 'o'  was expecting ";"
02:12 autrijus yup. that's the thing I'm fixing.
02:12 autrijus anything else?
02:12 obra that's it
02:12 autrijus ok then. :)
02:12 obra ubuntu hoary
02:12 stevan autrijus: I just updated t/op/hash.t
02:12 autrijus okie
02:13 stevan all tests are still passing though :)
02:13 buu autrijus: Anyidea why 'nmake' is giving me an "Fatal error: spawn failed : invalid argument" on win32?
02:13 autrijus buu: activeperl + ghc msi?
02:13 obra I'm watching Apocalypse Now
02:14 buu autrijus: Right
02:15 buu The perl Makefile.PL goes off without a hitch
02:16 autrijus buu: "nmake pugs.exe"
02:16 autrijus also see if typing "ghc --version" works
02:17 buu "ghc --make -o pugs src/Main.hs -isrc"
02:17 buu "NMAKE: fatal error U1045: spawn failed : invalid argument"
02:17 Odin-LAP has quit IRC ("What's this button do?")
02:17 buu Stop.
02:17 buu ghc --version
02:17 buu The Glorious Glasgow Haskell Compilation System, version 6.2.2
02:18 autrijus how about you typing that line by hand?
02:18 autrijus ghc --make -o pugs src/Main.hs -isrc
02:19 buu Chasing modules...
02:19 buu Compiling..
02:20 buu Linking...
02:20 buu No error.
02:20 autrijus I suspect your nmake.exe is somehow weird.
02:20 buu Reasonable
02:20 autrijus did my Makefile.PL install it for you?
02:20 Steve_p somewhat? ;)
02:20 buu autrijus: Nope
02:21 buu autrijus: I didn't see any mention of nmake in the makefile.
02:21 autrijus try kill it from path
02:21 autrijus run makefile.pl again
02:21 autrijus which should download a good nmake.exe for you
02:21 buu Where would makefile.pl put it?
02:21 autrijus same path as your perl.exe
02:21 buu Er, in the same folder as perl.exe?
02:21 autrijus yup.
02:21 Steve_p I usually do
02:21 autrijus you can always move it away later
02:21 buu Nope, not there
02:21 autrijus yeah, you need to remove the nmake.exe from PATH first
02:22 autrijus delete it or something
02:22 ingy autrijus: hi
02:22 autrijus the url to the installer is http://download.microsoft.com/download​/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
02:22 autrijus hey ingy. nice to see kwid coming along that nicely!
02:23 buu autrijus: Yeah, that's the one I god
02:23 buu got*
02:23 autrijus not sure what to do then. hmm.
02:23 autrijus (it worksforme)
02:23 buu Hrm
02:24 buu I have nmake in my path someplace
02:24 buu But it's not in \perl\bin
02:25 ingy autrijus: how would you suggest I write a Kwid parser/formatter?
02:25 ingy would it be best to do a perl5 one for now?
02:25 buu Ah..
02:25 autrijus ingy: if you have time to learn parsec
02:26 autrijus do it in parsec :)
02:26 ingy ok
02:26 autrijus it will take just a few hours at most
02:26 ingy I think parsec would make it easy
02:26 autrijus sure will.
02:26 ingy and I needd to learn it for the yaml parser anyway
02:26 autrijus parsec is a preview of the power of p6rules :)
02:26 ingy :)
02:27 ingy autrijus: is parsec covered in yaht?
02:27 buu autrijus: hrm
02:27 buu autrijus: I removed nmake from my path, reran makefile.pl, it got nmake, I ran nmake, same error.
02:27 autrijus ingy: no, read the parsec manual :)
02:27 autrijus buu: 'fraid it's beyond me then :-/
02:27 ingy ok
02:28 buu Gah
02:28 ingy did you get my comment that '=kwid' is not Kwid?
02:28 autrijus if you'd have tuits to convert our build system to Build.PL
02:28 autrijus ingy: yup. sorry for that
02:28 autrijus buu: Build.PL would work
02:28 buu tuits?
02:28 ingy no worries
02:28 autrijus tuits, as in cycles
02:28 autrijus as in available time
02:28 buu I see.
02:28 buu Is tuits an actual word?
02:29 ingy when I get a round tuit
02:29 buu Ah.
02:29 * ingy hands buu a round tuit
02:29 ingy there you go
02:29 * buu rolls it down the hall with a stick
02:30 buu Hrm. How might I run the tests now?
02:31 buu And are the tests supposed to pass?
02:33 stevan buu: all the tests currently either pass or are labeled TODO
02:33 buu oh
02:33 stevan buu: and one is skipped
02:33 buu "Failed (TODO) test" =]
02:33 autrijus you can run the tests by hand using
02:33 autrijus set HARNESS_PERL=pugs
02:34 stevan actually I have been able to use 'prove' without any trouble
02:34 buu Oh hey, I have prove.
02:34 autrijus prove t\*
02:34 stevan of course its in the same login session I did make-test (which may help)
02:34 autrijus that'd do.
02:34 autrijus remember to set harness_perl
02:34 autrijus otherwise it will try to run p6 code wit p5
02:34 autrijus which won't be very much fun
02:34 buu Yeah
02:35 buu t\03operator...NOK 15#  Failed Test (t\03operator.t at line 42, column 1)
02:35 buu That's not supposed to happen?
02:35 stevan buu: sometimes things break :)
02:35 buu stevan: Just checking
02:36 stevan buu: your welcome to try and figure out the bug :)
02:36 buu Hrm
02:36 buu t\op\recurse timed out
02:36 stevan buu: yeah thats normal
02:37 buu Failed 10/40 test scripts, 75% okay. 60/452 subtests failed, 86.73% okay.
02:37 stevan buu: the t/03operator issue is with chained comparisons
02:37 autrijus hmm, you're using openfoundry head?
02:37 stevan AFAIK that is not implemented
02:37 autrijus I'm fixing 03operator. it's almost there.
02:37 autrijus no, it is now :)
02:37 autrijus luqui broke it
02:37 autrijus has left
02:37 autrijus has joined #perl6
02:37 autrijus sorry, bad keybinding
02:37 buu autrijus: Maybe. I can update again
02:39 stevan autrijus: there are other tests for chained comparisons in t/op/relational.t
02:39 stevan maybe i should make a t/op/chained_comparisons.t
02:39 stevan put them all in the same place
02:39 autrijus actually I'd argue relational is the place to test chained cmps
02:39 ingy dinner is ready
02:39 autrijus since they're just standard feature in p6
02:40 autrijus but I don't feel that strongly on it, so do what you seem best :)
02:40 stevan autrijus: okay, I will move the 03operator.t ones into there then
02:40 autrijus k
02:40 ingy autrijus: got your book
02:40 autrijus ingy woot
02:40 autrijus is HOP out yet?
02:40 ingy don't think so
02:40 ingy gotta eat. bbiab
02:43 autrijus see ya.
02:44 autrijus I have traced down the chained cmp bug and the parens bug
02:44 autrijus doing a final regression test
02:44 stevan autrijus: let me know when you commit,.. I will move the tests around after that
02:45 buu Sounds exciting
02:48 autrijus "the model of ubuntu's QA is the way to go, I think personally, but debian has a history of saying all packages are equal, and it will be a large flamewar if we change that tradition... sigh"
02:48 SyntaxNinja has joined #perl6
02:48 autrijus hi SyntaxNinja!
02:48 SyntaxNinja hi autrijus
02:49 SyntaxNinja I was thinking of hacking a little bit on pugs :)
02:50 autrijus woot!
02:50 autrijus you came in at a correct time :)
02:50 autrijus (well, any time is, really, but we just got all tests passed)
02:50 SyntaxNinja is all the stuff under Rules developed by daan? I see some funny code in there, but maybe it's beyond me
02:50 SyntaxNinja I just darcs pulled, and it looks good ;)
02:50 buu Pssh
02:50 autrijus it's currently all parsec code
02:50 buu Tests are failing
02:51 autrijus it will work for you once I commit :)
02:51 autrijus (14 subtests UNEXPECTEDLY SUCCEEDED), 2 subtests skipped.
02:51 buu heh
02:51 * buu waits with baited breath
02:51 autrijus good. I fixed 14 subtests in a run.
02:51 stevan autrijus: I will un-TODO those tests once you commit
02:51 autrijus cool.
02:52 crysflame nice!
02:56 autrijus committing.
02:57 stevan updating
02:57 autrijus nope. it will take a long time :)
02:57 autrijus the network == horribly slow
02:58 autrijus this is suppsoed to be broadband :-/
02:58 stevan autrijus: yeah I figured that :)
02:58 autrijus done, r332
02:58 autrijus please unTODO the 25 subtests
02:58 autrijus All tests successful (25 subtests UNEXPECTEDLY SUCCEEDED)
02:58 stevan cool
02:58 stevan will do
02:59 autrijus stevan++
02:59 * autrijus focuses on other releng stuff now
02:59 obra is the project actually still accelerating?
02:59 autrijus I think so, yeah.
03:00 autrijus I'm not accelerating, but the project seems to be
03:00 buu Gah
03:00 buu What is wrong with my bloody nmake
03:01 autrijus buu: do you have problem nmaking other cpan modules?
03:01 abstraction windows?
03:01 buu autrijus: I haven't tried =/
03:01 buu I was using cygwin
03:01 autrijus try it with $random_cpan_distro and see
03:01 autrijus hmm. try removing cygwin from your path
03:01 autrijus PATH even
03:01 buu It's not in the path
03:02 autrijus weird.
03:02 autrijus win2k?
03:02 buu At least, my windows path
03:02 buu Yep
03:02 abstraction what's mandel.p6 ?
03:02 buu Apparently nmake can't spawn any process
03:02 autrijus abstraction: it is something that, if you update to HEAD, works again
03:02 autrijus and can draw a nice mandelbrot set on your screen
03:03 abstraction it just draws dots
03:03 abstraction wait
03:03 buu Yay!
03:03 autrijus abstraction: are you tracing svn.openfoundry head?
03:03 buu All tests sucessful, 25 subtests unexpectedly suceeded)
03:03 autrijus woot.
03:03 autrijus buu++
03:04 buu Heh, I didn't do anything
03:04 stevan buu: its magic
03:04 autrijus I think it's you who prompted me to add cygwin check into Makefile.PL
03:04 buu What's the check do?
03:05 autrijus it tells you to use MinGW perl or ActivePerl and dies spectacularly.
03:05 buu Awesome.
03:05 buu autrijus++ #advancing the cause of perl6
03:05 autrijus :)
03:05 buu Just wait till I compile cygwin ghc.
03:05 autrijus I think they ran into dome ld bugs
03:05 SyntaxNinja would work toward -Wall cleanness be welcome?
03:06 autrijus SyntaxNinja: yes! yes definitely
03:06 autrijus <- haskell newbie
03:06 autrijus well, 2 months, but still newbie
03:06 SyntaxNinja these changes tend to be annoying for conflicts, so I'll send them in small bundles
03:06 autrijus sure thing.
03:06 buu autrijus: With out getting in to a silly argument, I know you said you're using haskell because it has some cool features, but if you have haskell, why bother to write perl6?
03:06 autrijus SyntaxNinja++
03:07 autrijus buu: haskell is good for writing perl6.
03:07 autrijus perl6 is good for writing a good deal many other things.
03:07 mugwump "horses for courses"
03:07 buu Ah
03:07 buu Reasonable
03:07 abstraction autrijus, yeah, at revision 332
03:07 SyntaxNinja heh
03:07 autrijus haskell may get good at those many other things with Cabal (i.e. haskell's CPAN) populated
03:07 autrijus which I also intend to help
03:07 autrijus but it's not there yet, really :)
03:07 abstraction it's working now
03:08 autrijus abstraction: nice
03:08 SyntaxNinja I'm sure it would be a disappointing outcome if the perl6 hackers realized that haskell was too fun to give up ;)
03:08 * SyntaxNinja high-fives autrijus for mentioning cabal
03:08 buu haha
03:08 autrijus SyntaxNinja: monolingual is no fun :)
03:08 buu SyntaxNinja: It'd be pretty amusing.
03:08 autrijus btw, SyntaxNinja is haskell world's andreas koenig. :)
03:09 buu I have no idea who andreas koenig is =[
03:09 autrijus buu: he did PAUSE and MakeMaker and other stuff.
03:10 buu Cool.
03:10 SyntaxNinja :)
03:10 buu Haskell isn't one of those bizarre parentheses infested lispy things is it?
03:10 autrijus nope. there is very little parens in haskell.
03:10 buu Hurray!
03:11 autrijus when you see too many parens, you place a dollar sign
03:11 SyntaxNinja buu: but you can put parens all ove rthe place if you want to make pretend that haskell is lame
03:11 autrijus which makes it looks like perl, but really is not :)
03:11 buu SyntaxNinja: =]
03:12 buu Woah. makemaker.org
03:13 autrijus yeah, it's schwern's baby now
03:13 metaperl_ has joined #perl6
03:13 autrijus we sacrifice a perl5 porter each year to the MakeMaker god so it won't get angry and bitrot
03:13 autrijus and schwern is currently the sacrifice
03:14 buu Ahh
03:14 buu Sounds like a great party
03:14 mugwump so just where did that "do ->" syntax in S09 come from, anyway?
03:14 autrijus mugwump: when you see ->, read "sub"
03:14 autrijus anonymous closure
03:15 autrijus so it's just do &sub
03:15 autrijus with a fancy syntax
03:15 buu Horrifying.
03:15 autrijus foreach @list -> $x { ... }
03:16 buu Er, so what is that supposed to do?
03:16 autrijus it's the same as perl5:
03:17 autrijus foreach my $x (@list) { ... }
03:17 autrijus but with a saner syntax and less parens.
03:17 buu Oh. That's what I thought, your "when you see ->, read 'sub'" was confusing me
03:17 autrijus it means
03:17 mugwump ah, you haven't joined closures and subs yet, buu
03:17 autrijus &foreach(@list, sub ($x) { ... });
03:18 buu !
03:18 mugwump Read synopsis 4
03:18 buu Why did you have to tell me that, it was making sense.
03:18 autrijus ha.
03:18 autrijus read S04 :)
03:18 buu Can you remind me where they are?
03:18 buu dev.perl.org?
03:18 mugwump t/Synopsis :)
03:19 autrijus sure, they are in http://dev.perl.org/perl6/synopsis/
03:19 buu Ah. Thanks.
03:19 autrijus that too, if your brain can parse pod
03:19 autrijus s/brain/toolset/
03:19 buu I shall check them out and write some bizarre perl6 code to break pugs.
03:19 autrijus buu++ # yay, welcome aboard
03:19 SyntaxNinja darcs send isn't working for me :(
03:19 autrijus :-/
03:19 autrijus assuming it's not my bug
03:20 SyntaxNinja probably not. it's locking hard
03:20 buu I blame darcs, because it's written in some funny no good language.
03:20 autrijus har har.
03:20 autrijus indeed, the same no good language that writes perl6 :)
03:20 buu Pssh
03:20 SyntaxNinja in lexer.hs around line 422, how come you're not checking for the other types of operator associativity?
03:20 metaperl has quit IRC (Operation timed out)
03:20 buu I'm not listening to your lies and heresy!
03:20 metaperl_ is now known as metaperl
03:21 autrijus SyntaxNinja: I added two assocs and I had not started dealing with them
03:21 autrijus so it's only using builtin parsec assocs for now
03:21 autrijus the two new assocs are currently dealt with with tree rewriting
03:22 autrijus but they really want to be dealt at the parser level I think.
03:22 SyntaxNinja oh, the reason darcs send isn't working, I guess, is because the repo is timing out
03:22 autrijus stevan: how's detodo doing? I think I'm only blocking on that
03:23 autrijus yeah, confirmed, the darcs repo machine is offline for some reason
03:23 stevan autrijus: I am almost done
03:23 autrijus SyntaxNinja: you can just drop them to autrijus at autrijus dot org
03:23 autrijus stevan: yay :)
03:23 stevan autrijus: running prove t/* now to make sure
03:23 autrijus The changelog is more than one screen long. :-/
03:24 autrijus actually, almost more than two screens
03:24 * autrijus tries some consolidating
03:25 stevan autrijus: the recurse.t still skips though
03:25 stevan should we change that?
03:25 autrijus stevan: is it fast enough now?
03:25 autrijus I don't mind skipping it if it's still slow.
03:26 stevan autrijus: it gets to the 4th test on my machine (powerbook 1.5 gHz)
03:26 stevan autrijus: make that the 5th test,.. so it only skips one
03:26 autrijus that's what I remember
03:26 autrijus keep it that way
03:26 stevan autrijus: actually the test is commented out,.. the one that takes too long
03:27 autrijus sure
03:27 SyntaxNinja autrijus: I take it that stuff like the non-exhaustive pattern in bindEmpty (Bind.hs:67) is taken care of elsewhere in the code?
03:27 stevan we can just remove that skip()?
03:27 autrijus stevan: fine
03:27 stevan doing it now
03:27 autrijus SyntaxNinja: it is, but let me add a base case, thanks for the catch
03:28 autrijus    other   -> error "Impossible - unknown slurpy sigil in param: " ++ other
03:29 autrijus I mean error $.
03:29 autrijus but it should be fine now.
03:29 SyntaxNinja autrijus: for that kinda stuff, I tend to leave out the base case, unless you're sure you'll never add new types
03:29 SyntaxNinja because that gets rid of the wanring, which you actually want :)
03:29 SyntaxNinja but I guess a better error message is a good thing
03:29 autrijus yeah.
03:29 autrijus it's okay if the base case is just error"" I think
03:30 SyntaxNinja why equality instead of pattern matching for mergeJunk (Junk.hs:44)
03:31 autrijus uh, I think damian will be unhappy
03:31 autrijus it's Junc :)
03:31 autrijus for junctions
03:31 SyntaxNinja and you're missing patterns there too. I can add error cases for these things if you like
03:31 SyntaxNinja sorry :(
03:31 autrijus no prob
03:31 SyntaxNinja <--- really bad speller
03:31 autrijus sure, if you can refactor and add error cases and/or improve withpattern matching
03:31 autrijus I'd be very grateful
03:32 stevan autrijus: r333 commited
03:32 SyntaxNinja OK. be sur eto take a look at any error catch-alls I add in case they're actually bugs :)
03:32 autrijus how would you like to be credited in AUTHORS? :) your name, that is
03:32 stevan all tests pass clean now
03:32 autrijus stevan++
03:32 autrijus stevan++
03:32 buu heh
03:32 buu Too bad theres no bot to record karma
03:32 stevan autrijus: your welcome :)
03:32 crysflame nice!
03:32 SyntaxNinja just Isaac Jones :)
03:33 autrijus buu: and your name/cpan id, too :)
03:33 buu Hrm. You know, I can't get 'buu' as a cpan ID
03:33 crysflame why not?
03:33 buu three letters =/
03:33 buu Minimum is 4, I think.
03:34 autrijus JHI@cpan.
03:34 buu hrm
03:34 buu Lemme check again
03:34 crysflame JHI might be grandfathered
03:34 obra I could beieve that jhi@ is historical. yeah.
03:34 crysflame buu: ignore the rules. just apply and cc: autrijus.
03:34 buu heh
03:34 crysflame probably won't work
03:34 crysflame BUT
03:34 crysflame never doubt the power of humans evaluating rulesets flexibly
03:34 buu Oh hey
03:35 crysflame just don't bet on it =)
03:35 buu Desired ID: 3-9 characters match [A-Z]
03:35 autrijus nah, there is NBR, RDF
03:35 buu I swear it said 4 last time =]
03:36 autrijus oh no. group photo time.
03:36 ingy haha
03:36 crysflame heh
03:36 * autrijus tries evasion technique
03:36 stevan :)
03:37 buu autrijus: Is there any particular reason you use the period in print << '.';  ?
03:37 autrijus just a personal habit
03:37 autrijus "." usually ends a mail
03:37 buu Yeah
03:37 mugwump I like "...", yaml style
03:37 autrijus that works too.
03:38 crysflame people don't say . as the entirety of a line intentionally in any case i've ever seen except ascii art
03:38 buu I've always prefered HEREDOC_ENDS_HERE, but I may be compensating for something.
03:38 autrijus heh
03:38 autrijus sigh. evasion failed.
03:38 autrijus will be back in a while.
03:38 autrijus &
03:39 ihb buu: haha
03:40 buu autrijus: Nice CPAN id
03:40 ingy I like the deprecated print <<;
03:41 buu ingy: where?
03:41 ihb <<'.' goes well with how formats are defined too.
03:43 ingy buu: '<<' is terminated with a blankline
03:44 buu ingy: Oh, right. I thought you were referring to it in use someplace.
03:45 buu ingy: You are the author of Module::Install, yes?
03:45 stevan autrijus: are you releasing a new version to CPAN tonight/today?
03:45 autrijus I'm releasing it in another hour.
03:45 autrijus after lunch, that is
03:45 autrijus or during lunch, if we have wireless there
03:46 stevan autrijus: cool. I am writing a perlmonks meditation, and i wanted to point people to the latest code
03:46 ingy buu: autrijus and I coauthored originally
03:46 autrijus wonderful. it will take a bit to propagate though.
03:46 buu ingy: Ah. I was just going to ask A) Why does it still produce a Makefile and B) Would you prefer Module::Build?
03:46 stevan autrijus: what will be the version number?
03:46 ingy buu: it does both
03:46 autrijus but you can always point people at http://autrijus.org/dist/Perl6-Pugs-6.0.9.tar.gz
03:46 autrijus 6.0.9.
03:47 ingy at the same time even
03:47 autrijus gone &
03:47 buu ingy: Er, it does?
03:47 autrijus it can do both :)
03:47 ingy buu: last time I checked :)
03:47 autrijus has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0+/20050219]")
03:48 buu Er, so can I just copy it to Build.PL and not have to futz about with nmake?
03:48 ingy let me check...
03:49 buu Is there some advantage to producing a Makefile over a build.pl script?
03:49 abstraction '$*ARGS is chomped;'
03:49 abstraction doesn't work
03:50 ihb stevan: about Class::StrongSingleton; is there any chance that you'd consider changing _init to something else that won't get accidentally overridden so easily? :-) consider some distant subclass that just adds an "innocent 'private' initialization help sub".
03:50 ingy buu: depends on what the various plugins depend on
03:51 stevan ihb: sure I would consider that
03:51 stevan ihb: any suggestions?
03:52 buu ingy: "The 'Build' method does not exist in the 'inc' path! Please remove the 'inc' directory and run build.pl again to load it"
03:52 ihb stevan: init_singleton? anything more than just init. and my preference is to not use a leading underscore for anything that should be used outside of the package, but that's me.
03:53 buu stevan: *{ "this method will never get overridden. Ever" } = sub { init! }
03:53 stevan ihb: well you should really only use it in subclasses
03:53 stevan buu: thats difficult to call though
03:53 stevan *{ "this method will never get overridden. Ever" }()
03:53 stevan yuk :P
03:54 ihb stevan: it's easy to call. my $init = 'this method will never get overridden'; $foo->$m;
03:54 buu stevan: =]
03:54 stevan ihb: true.... didnt think of that
03:54 buu (Or of course: my $init = sub { }; $init->() )
03:55 stevan ihb: I will look at the code tonight and see what I can do
03:56 ihb stevan: anyway, i know it's not a widely supported opinion, but i reserve _foo for things that *no one* but me should have to care about, which includes subclass authors. i also call private methods as _foo($self => @args) so the call won't accidentally "leak" out.
03:57 * buu whinges about stupid make
03:57 stevan ihb: I try to reserve _foo for private methods, but it's also useful for just non-public (aka protected)
03:58 ihb btw, i don't know how on/off-topic #perl6 is, but perhaps we should move this conversation to #perl?
03:59 abstraction the 1990's called, they want there perl5 back.
03:59 ingy buu: what are you using M::I for?
03:59 stevan ihb: if you want to send me an email that might be easier,.. since it is pretty specific to one module too
04:00 stevan has quit IRC ("Leaving")
04:00 buu ingy: Um. Pugs?
04:01 stevan has joined #perl6
04:01 ingy buu: do you have M::I installed?
04:02 buu Apparently not
04:03 ingy it has 7000 deps
04:03 buu Great
04:03 buu PPM has it
04:03 buu (Why the fuck does ppm s/::/-/g ?? )
04:03 ingy if you install it, you can delete the inc directory
04:04 ihb stevan: nah, i'm happy with you considering it. :-)
04:04 stevan ihb: cool
04:04 stevan ihb: init_StrongSingleton()?
04:04 buu "Creating new 'Build' script for 'Perl6-Pugs' version '6.0.8'
04:05 abstraction CamelCaseInPerlSucks
04:05 buu "Can't copy ('lib\perl6\lib\Test.pm', 'blib\lib\Perl6\lib\Test.pm'): bad file descriptor at base.pm line 2691
04:05 stevan abstraction: toEachTheirOwn
04:05 abstraction iGuess
04:06 ihb stevan: anything but _init and with an indicator to the class works for me.
04:06 wolverian abstraction: class names use that by convention :)
04:06 abstraction wolverian, right
04:06 stevan ihb: look for an update in a day or two
04:06 ihb will do. thanks.
04:08 * buu pokes ingy
04:08 wolverian I hate ruby because: attr_reader doesn't autocreate the instance variables when I pass them to new(). perl6 must do this. :(
04:08 wolverian now, time to sleep. cheers.
04:12 buu Hrm
04:12 buu Did you ever specify why haskell over perl?
04:14 SyntaxNinja haskell is very well suited to language implementation
04:15 mdiep syntaxninja: s/haskell/functional languages/, I think
04:16 SyntaxNinja I get the feeling that Parsec was a factor in the choice, and parsec is, I believe, unique to Haskell
04:16 SyntaxNinja but I won't speak for anyone else ;)
04:16 buu What is parsec?
04:18 SyntaxNinja buu: it's a library that makes it really elegant to write a parser in haskell that almost looks like a Yacc-type grammar, but it's implemented in the language itself
04:18 SyntaxNinja http://www.cs.uu.nl/~daan/parsec.html
04:18 SyntaxNinja it's a very good example of monadic combinators
04:19 * buu cowers from the terror that is Monads
04:19 mugwump damn you lambda programmers and your funny terms that don't have direct equivalents in other languages
04:19 SyntaxNinja it's not that bad
04:20 buu mugwump: I agree =]
04:22 stevan ihb: uploading 0.02 to PAUSE right now
04:23 stevan ihb: it was an easy change, and I left an alias to _init for backwards compatibility
04:23 ihb uhm.
04:23 mugwump so how do the terms "monadic container" and "polymorphism" interact, particularly if you have a class structure where everything
04:23 mugwump ... "everything is an object"
04:23 ingy hi
04:24 SyntaxNinja mugwump: by "class structure" do you mean 'class' in the OO sense?
04:25 ihb stevan: if you left _init for backwards compability, what good did the change do? the risk of accidentally overriding it is still as present as before.
04:25 stevan ihb: no, the method is now called _init_StrongSingleton (sorry about the _ , I had to leave it)
04:25 buu ihb: You can over ride it and not break the module
04:25 ingy are you folks getting commit mail for pugs?
04:25 mugwump I mean that if there exists a type O which every other type in the system can be said to be... ie everything is an "object".
04:25 ihb oh, ok, yeah. gotcha.
04:26 stevan ihb: and then I have *_init = \&_init_StrongSingleton after it
04:26 mugwump so, you could have a monad with homogenous members - they're all "objects", but have nothing else in common
04:26 stevan ingy: I dont get commit mail
04:26 ingy I would like to get commit mail
04:27 * mugwump takes his beginner question and leaves it hanging on the wall like a Koan that doesn't need answering
04:27 stevan maybe it's an option on openfoundry? ask autrijus
04:27 SyntaxNinja mugwump: you can do that with IORefs, kinda.
04:27 SyntaxNinja mugwump: monads are more than just containers, though. lists are just containers
04:28 SyntaxNinja mugwump: but you might be able to do something interesting with it anyway; perhaps it implements the "Show" class or something
04:28 SyntaxNinja then you could print it out, without knowing exactly what it is
04:29 mugwump so, a monad of objects is equivalent to a general Set, in a sense?
04:29 mugwump or list, I guess, if it has an order
04:30 SyntaxNinja I wouldn't spend a lot of time thinking of Monads as containers, if I were you :) they can be, though.
04:37 autrijus has joined #perl6
04:37 autrijus rehi
04:37 autrijus please smoke-test http://autrijus.org/dist/Perl6-Pugs-6.0.9.tar.gz before I upload it to CPAN?
04:39 crysflame group picture url?
04:39 * crysflame is on gprs / OS X atm, so no pugs/ghc :(
04:40 autrijus crysflame: not sure when they'll post it
04:40 autrijus also, I end up running away at the last second.
04:41 * autrijus <- hates group photo
04:41 crysflame ah, understood
04:41 Coke_ hurm? pugs doesn't work on OS X?
04:41 SyntaxNinja autrijus: I sent you a few patches.  be sure to take a look at them, since I don't always understand the context, so I might be hiding bugs. I made some notes on the last one
04:42 autrijus sure. I'll do it right after the release.
04:42 SyntaxNinja autrijus: I'm using the clean-up to get a bit familiar with the codebase
04:42 autrijus Coke_: GHC doesn't work on a gprs phone.
04:42 autrijus more specifically, the "downloading GHC" part doesn't work
04:42 autrijus SyntaxNinja: cool
04:43 autrijus SyntaxNinja: the darcs machine admin is on holiday so it will only be back on Monday 'mafraid
04:43 autrijus meanwhile you can use http://svn.openfoundry.org/pugs/ or just work on your private repo :)
04:43 autrijus your snapshot should be a ppretty stable one.
04:43 SyntaxNinja autrijus: machine went down? sucks
04:43 autrijus sucks a lot.
04:43 SyntaxNinja it must have been my doing, it went down right after I ran 'darcs get' :)
04:43 autrijus it's possible :)
04:43 autrijus the loading was already high
04:44 buu NOOOOOOOOOOOOOOOOOOO!
04:44 buu $                    foo; is no longer valid code =[
04:44 * buu weeps.
04:45 autrijus I don't particularly miss that, to be honest, but my condolences for your loss
04:45 autrijus ingy: ok, I'll set up commit mails.
04:46 autrijus ingy: meanwhile pugscode.org has RSS.
04:46 Khisanth hmm that was a very neat and tidy make test :)
04:46 buu autrijus: Well yeah, I've never used it in my life, but I had the opportunity!
04:46 autrijus Khisanth: 6.0.9 worked for you?
04:47 Khisanth yup
04:47 buu autrijus: Did you just go to .9 ?
04:47 * Khisanth goes to play in examples
04:48 autrijus buu: the last version was .8
04:48 autrijus so I think it's natural to call this one .9
04:48 buu Guess so =]
04:48 buu autrijus: Not what I was asking =/
04:48 Khisanth 682 tests, how many does perl5 have right now?
04:48 buu Over 50,000 I think
04:48 stevan Khisanth: a lot more than that
04:48 Khisanth some might call it 6.0.8b! :p
04:50 autrijus it's up. much thanks for making it happen :)
04:51 buu autrijus: Er, I just ran svn update, I'm still getting 6.0.8 ?
04:51 stevan autrijus: 6.0.9 worked fine for me
04:52 buu stevan: How did you get .9 ?
04:52 autrijus buu: up again?
04:53 buu revsion 336 ..
04:53 stevan buu: http://autrijus.org/dist/Perl6-Pugs-6.0.9.tar.gz
04:53 crysflame 20:52  * CPAN upload: Perl6-Pugs-6.0.9 by AUTRIJUS
04:54 * tea running test now
04:54 Khisanth this thing is drawing ascii art
04:54 buu autrijus: I updated, recompiled, same version. Let me wipe it out completely
04:55 tea say %undefined_hash  fail ? it was not catched
04:55 stevan autrijus: tomorrow I will make sure we have tests for all of the new features listed in the changelog
04:55 autrijus pugs -e "say %d"
04:55 autrijus Undefined variable %d
04:55 autrijus stevan: wunderbar.
04:56 stevan off to sleep now, later all
04:56 autrijus I'll do multidimensionals, apply SyntaxNinja's patches, and do more cleanups whilst you sleep
04:56 autrijus 'nite stevan, thanks!
04:56 tea it shown to me, Fail: cannot cast into [VPair]: VError "Undefined variable %d" (Val VUndef)
04:56 autrijus ah!
04:56 stevan autrijus: excellent
04:56 autrijus tea: you are correct.
04:57 autrijus the casting triggered before definedness check.
04:57 buu Hrm
04:57 autrijus tea: write a test in 01basic or in hash.t?
04:57 buu ghc --make -o pugs src/Main.hs -src; src/Help.hs:16: version.h: No such file or directory
04:57 tea but test cases was ok , All tests successful.
04:57 autrijus (although I'll fix it today anyway)
04:57 autrijus you want -isrc
04:57 autrijus not -src
04:58 buu Er, yeah, that's what I did, typo.
04:58 autrijus buu: try "nmake version.h"
04:59 autrijus oh wait. that's because youre nmake is broken.
04:59 buu Yeah =[
04:59 autrijus ok, do this first
04:59 autrijus perl Makefile.PL -version
04:59 autrijus after that, ghc --make should work
04:59 buu Yay!
05:00 autrijus :)
05:00 buu Ah, and that is why my version was wrong, because I wasn't recreating that header?
05:00 autrijus yup.
05:00 autrijus normally nmake will update it for you
05:00 buu 6.009, r336 =]
05:00 autrijus woot
05:00 buu Next version you'll be at "reet"
05:01 tea autrijus: im not sure it, i found it in the shell. do u need version info of dependences, if it was depend on my environment
05:01 autrijus tea: no, I duplicated your bug in the shell
05:01 autrijus so it's certainly a pugs glitch
05:01 autrijus aside from Posix calls, there's nothing that depends on environments
05:02 autrijus both perl5 and ghc are notorious for platform independence :)
05:02 tea ah, ok ~
05:02 buu ghc is so platform independent it only runs on platforms ghc runs on. =[
05:03 autrijus lol :)
05:03 autrijus yeah, it's annoying that its cygwin support is partly broken
05:04 viirya_ has joined #perl6
05:04 crysflame pmake++ # pure-perl make
05:05 buu Hey, theres a thought
05:08 * buu tries to figure out how to install pmake without having a working make
05:09 autrijus by copying files, persumably
05:09 autrijus announced on p6c.
05:10 viirya_ autrijus: have checked the translation?
05:11 autrijus viirya: yup. it looks nice
05:11 viirya_ I'm doing the rest.
05:11 autrijus I'd like to do the final proofread after the rest is done
05:11 autrijus but the first half looks very very nice.
05:11 autrijus viirya++
05:12 autrijus I think we can post it to newzilla... maybe tw.comp.lang.perl
05:12 autrijus the usual places
05:13 viirya_ hcchien said he will post it on newzilla.
05:13 autrijus cool.
05:13 clkao cc
05:14 autrijus the afternoon session is about to start. I may disappear for a bit. :)
05:24 crysflame post.. what to newzilla?
05:25 autrijus chinese version of pugs apocryphon 1
05:25 autrijus (newzilla is a free software tech webzine run by hcchien)
05:27 crysflame o, cool. i should rewad the english apocryphon.
05:29 autrijus :)
05:37 buu Theres a p6 question on perlmonks
05:37 buu If anyone cares =]
05:37 autrijus url?
05:37 buu 434972
05:40 crysflame click
05:40 crysflame http://perlmonks.org/?node_id=434972
05:40 crysflame example:
05:40 crysflame (1, 5, 2, 4, 3).quicksort.say;
05:40 crysflame Is there a reason why that last line is not written
05:40 crysflame say quicksort (1, 5, 2, 4, 3);
05:41 autrijus ah. if someone can quote S06 at that thread I'd be grateful
05:41 buu Why do you say S06 instead of S6?
05:41 autrijus because there's S12
05:41 buu Er, so?
05:41 autrijus and the url is called S06.html and S06.pod
05:41 autrijus so I'm merely repeating the url :)
05:41 buu heh
05:42 autrijus ( http://dev.perl.org/perl6/synopsis/S06.html )
05:42 buu Right
05:42 autrijus but anyway. saying
05:42 autrijus sub say ($x) { ... }
05:42 autrijus is like saying
05:42 autrijus sub say ($x:) { ... }
05:42 autrijus which means that $x is an invocant
05:42 autrijus $x.say
05:42 autrijus is just a way to write
05:42 autrijus say($x:)
05:43 autrijus which is just say($x)
05:43 autrijus so they are almost always interchangeable.
05:43 buu Head.. exploding
05:43 buu On another note, do you have a pugdoc ?
05:43 autrijus buu: S06 explains it all :)
05:43 autrijus no, not yet.
05:43 autrijus just open your browser to docs/*
05:44 buu Any plans for one?
05:44 autrijus I think they'll eventually be coverted to kwid
05:44 autrijus sure. ingy is the person to ask
05:44 autrijus a perldoc that groks kwid, that is
05:44 autrijus maybe it can be done as a Pod::Simple plugin as well.
05:45 crysflame somene asked for a kwiki that's based on pod at one point
05:45 crysflame i think ingy finished it
05:45 crysflame it might have been robrt, on behalf of perl5/pod/*.pod
05:46 buu autrijus: Oh, I was considering writing one, but I don't want to step on anyones toes or something.
05:46 autrijus buu: just go ahead.
05:46 autrijus there's very little toestepping around here :)
05:46 buu heh
05:46 buu I don't suppose a kwid parser exists..
05:47 autrijus buu: read pugs\lib\Perl6\lib\perlkwid.kwid for spec
05:47 autrijus it is supposed to be <=> with POD
05:47 autrijus (where <=> reads "isomorphic")
05:47 autrijus Kwiki parser is available on CPAN; you can adopt that
05:48 buu Hrm
05:48 autrijus (Kwiki.pm)
05:48 autrijus or write your own
05:48 autrijus in any language you prefer :)
05:48 autrijus as long as it's not BF or Lazy K...
05:48 buu And of course the next question, any useful docs?
05:48 * buu writes it in BL
05:48 autrijus buu: perlkwid.kwid
05:48 autrijus itself is written in kwid
05:48 autrijus so if you can parse that, you're set
05:48 autrijus I think gugod volunteered to convert PA01 to kwid as well.
05:49 buu perl6doc ?
05:49 autrijus I think pugsdoc or kwidoc for now
05:49 autrijus if you're asking for the name of the script
05:49 buu Oh, no, sorry
05:50 buu You know, I really hate when people just type "?" to me, I should stop doing that =/
05:50 autrijus heh :)
05:50 autrijus yeah, complete sentences help
05:50 buu What I meant to ask was "This documeng is in Kwid format. To read this, use a Kwid formatter, like 'perl6doc perlkwid'"
05:50 autrijus oh. it doesn't exist yet.
05:50 buu Ah
05:51 buu Wow. Perl6.
05:52 buu And earlier I was asking, is there any actual documentation equivalent to perlvar, perlfunc, perlop, etc, in existance for perl6, or just the synopsis?
05:52 autrijus there is synopses, apocalypses, exegesis
05:52 buu Great!
05:52 autrijus in descending order of normativeness
05:53 buu Maybe I can write perlvar and make it actually parseable.
05:53 autrijus it's all in the left side navbar of dev.perl.org/perl6/
05:53 autrijus that will be wonderful.
05:53 autrijus also check the two books mentioned in PA01.
05:53 buu autrijus: Right, I see it. I was just wondering if any of the work had already been done.
05:53 autrijus there used to be a list called perl6-documentation
05:53 autrijus which didn't actually produce any normative documents
05:53 buu Awesome.
05:53 autrijus but its archive at nntp.perl.org may be worth looking
05:54 autrijus there's many 80% complete docs
05:54 autrijus if you can salvage those I'd be very very very grateful.
05:54 buu Hey, theres a thought.
05:55 autrijus do subscribe p6c and post yoru findings there :)
05:56 autrijus it has a beter chance of being read on p6c.
05:56 buu p6c is perl6-compiler, yes?
05:56 autrijus yeah.
05:56 buu Well, if I find anything useful and/or actually accomplish something
05:56 autrijus buu++ # thanks in advance
05:56 buu =[
05:57 buu So does kwid have any official standing?
05:58 autrijus suppose that it's only been specified less than a day ago
05:58 autrijus I'd say no :)
05:58 buu haha
05:58 autrijus but failing better alternatives, I think I'll adopt it for pugs.
05:58 SyntaxNinja autrijus: so is Rule basically a fork of parsec?
05:58 buu Sounds reasonble.
05:59 autrijus SyntaxNinja: yup. now 6.0.9 is out I plan to redo the monad so it's put inside the Eval monad
05:59 autrijus SyntaxNinja: which will land tomorrow with luck
05:59 autrijus SyntaxNinja: problem with Parsec is that it doesn't have a ParsecT
05:59 autrijus which is why I forked it to work on it in the first place
05:59 SyntaxNinja autrijus: can you send your changes upstream?
06:00 autrijus SyntaxNinja: of course yse
06:00 autrijus once it's anything near coherent I'll sned upstream.
06:00 autrijus I think a ParsecT will benefit many.
06:00 SyntaxNinja autrijus: because there are changes I'd like to make in there, to clean stuff up, but they really blong upstream
06:00 autrijus (I hope, anyway.)
06:00 autrijus SyntaxNinja: sure, I'll push them for you too
06:00 autrijus SyntaxNinja: it is my hope that pugs can result in many toolchain contributions and cleanups to haskell libraries
06:00 coaster has joined #perl6
06:01 autrijus (eg. the test coverage tool discussed here a while ago)
06:01 autrijus hi coaster.
06:01 coaster hi
06:02 SyntaxNinja autrijus: cool
06:02 autrijus coaster: first time here? :)
06:02 coaster yes
06:02 autrijus nice. how did you find out this place?
06:03 coaster saw the post about pugs on perl monks
06:03 autrijus (btw, Pugs 6.0.9 has been released, if you'd like to try it put.)
06:03 autrijus s/put/out/
06:03 autrijus ahh. cool
06:03 autrijus so, got some time to help out writing tests and/or examples and/or libraries? :)
06:03 SyntaxNinja autrijus: is "XXX" your version of "fixme"?
06:03 autrijus SyntaxNinja: yeah.
06:04 shapr oh hey! I have a suggestion for that.
06:04 autrijus shapr: mm?
06:04 SyntaxNinja autrijus: I ignored warnings that were in close proximity to XXX
06:04 coaster i suppose :D
06:04 autrijus coaster: woot! :)
06:04 shapr I asked about XXX on the Pragmatic Programmers list and a smart guy in Berkely said that he uses XX XXX XXXX ...
06:04 autrijus right, I read that too
06:04 SyntaxNinja shapr: why?
06:04 autrijus it's eerie
06:04 shapr http://www.scannedinavian.com/2005-02-02.html
06:05 shapr minor/normal/severe issues.
06:05 SyntaxNinja heh
06:05 shapr autrijus: oh you read that already?
06:05 SyntaxNinja you could use FIXXXXX also ;)
06:05 autrijus coaster: so, try getting pugs built on your system, and play around a bit; if you run into anything bizzare/limiting/ugly, scream here or on perl6-compiler :)
06:05 shapr autrijus: I'm not used to dealing with other people who restlessly absorb info.
06:06 coaster yeah i got it built, messing around with it now
06:06 * shapr boings happily
06:06 autrijus shapr: seems we're built with similar materials :)
06:06 shapr truly
06:06 shapr Once again, I very much hope we can end up in the same physical space for a few days. I think I would enjoy that much.
06:06 autrijus I think euroscon
06:06 autrijus or icfp
06:06 shapr yeah
06:06 autrijus are both likely venues.
06:06 SyntaxNinja autrijus: so should I go ahead and clean up warnings in Rule also?
06:07 autrijus SyntaxNinja: yes, yes definitely.
06:07 SyntaxNinja OK. I'm just worried about the conflict situation w/ upstream, but they're annoying, so I'll go ahead
06:07 autrijus that will make my time in MonadT'ing it much more enjoyable
06:07 SyntaxNinja they meaning the warnings
06:07 autrijus and more coherent when I push them upstream
06:09 autrijus ok, I need to run now.
06:09 autrijus be back in a couple hours.
06:09 autrijus see you! &
06:09 SyntaxNinja Pos is weird. I wonder why he doesn't use field accessors
06:10 shapr I know of several people who've got Parsec extensions/additions/changes, including me.
06:11 autrijus has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0+/20050219]")
06:12 SyntaxNinja is upstream slow to accept them?
06:12 SyntaxNinja post to libraries@ :)
06:14 shapr Slow to accept them is an understatement :-) I sent a bunch of stuff to Daan and he said "yeah, this is cool"
06:15 coaster has quit IRC (Read error: 104 (Connection reset by peer))
06:15 coaster has joined #perl6
06:24 SyntaxNinja that sucks. post them to libraries@!
06:25 SyntaxNinja someone will handle it
06:44 crysflame .
06:44 shapr ,
06:44 shapr really big semicolon!
07:02 coaster has quit IRC (Read error: 110 (Connection timed out))
07:11 viirya has quit IRC (Ping timeout: 14400 seconds)
07:11 gugod has quit IRC (Ping timeout: 14400 seconds)
07:11 lukhnos has quit IRC (Ping timeout: 14400 seconds)
07:11 autrijus[tw] has quit IRC (Ping timeout: 14400 seconds)
07:23 coaster has joined #perl6
07:33 rgs has quit IRC (Remote closed the connection)
07:33 rgs has joined #perl6
07:34 xerox has joined #perl6
07:48 SyntaxNinja has quit IRC ("bed")
08:09 buu Hrm
08:15 edgewalk1r has joined #perl6
08:17 buu The trolls have attacked!
08:18 shapr Quick! under the bridge!
08:21 buu But that's where the trolls live!
08:21 shapr oh, never mind then. Burn the bridges behind us!
08:21 buu Good idea
08:22 buu But I lack an inflammable substance!
08:23 rgs flamewar against trolls ?
08:24 buu Mildly
08:24 buu There was only one.
08:27 xerox has quit IRC ("ERC Version 4.0 $Revision: 1.703 $ (IRC client for Emacs)")
08:31 edgewalker has quit IRC (Read error: 110 (Connection timed out))
08:50 pjcj has quit IRC (Read error: 110 (Connection timed out))
08:51 theorbtwo has joined #perl6
08:55 pjcj has joined #perl6
09:08 coaster has quit IRC (Read error: 110 (Connection timed out))
09:10 iblechbot has joined #perl6
09:30 crysflame trolls? o no!
09:31 crysflame ~/win 3
09:32 buu ... What?
09:33 scw Hello! Where are duplicated '\\n   List      pre     values  (Hash)\' when defining initSyms in Prim.hs
09:33 scw Is there any reason?
09:34 scw Besides, function 'values' can also apply to junction, but it seams it anly accept Hash now :)
09:34 scw s/anly/only/
09:39 buu Hrm
09:40 buu I want an aujitrus so I can bitch
09:50 abstraction has quit IRC ("Leaving")
09:50 buu Anyone understand kwid here?
09:50 buu .list
09:50 buu -foo
09:50 buu bar
09:51 buu -baz
09:51 buu .list.
10:09 ihb has quit IRC (Read error: 113 (No route to host))
10:26 theorbtwo has quit IRC (Remote closed the connection)
10:27 Nei has joined #perl6
10:35 theorbtwo has joined #perl6
10:38 theorbtwo Somebody should make the chan's topic mention that it's logged.
10:38 theorbtwo (I don't care, but I can imagine other people caring.)
10:38 shapr can you change the topic?
10:38 crysflame we're logged now?
10:38 * crysflame shrugs
10:39 shapr changes topic to: Run Perl6 Now! | pugscode.org (see 'Overview' and 'Journal') | pugs.kwiki.org | test
10:39 shapr theorbtwo: go forth and add that info to the topic.
10:39 scw crysflame: definitely http://colabti.de/irclogger/irclogger_logs/perl6
10:40 crysflame changes topic to: Run Perl6 Now! | pugscode.org ('Overview', 'Journal') | pugs.kwiki.org | now with logging: http://colabti.de/irclogger/irclogger_logs/perl6
10:40 crysflame if it's undesirable to log it, that'll help identify that a situation exists
10:40 crysflame if it's desirable, now we know
10:41 crysflame someone should shorten that url though :)
10:44 theorbtwo changes topic to: Run Perl6 Now! | pugscode.org ('Overview', 'Journal') | pugs.kwiki.org | now with logging: http://xrl.us/e98m
10:45 shapr Can't we get someone with a top-level domain to do *really* short urls?
10:45 shapr http://go/here
10:46 crysflame i know someone with a tld
10:46 shapr Which one?
10:46 crysflame one of the cc codes
10:47 crysflame http://zs/x/blah
10:47 crysflame zs is made up, for example purposes
10:48 shapr I want a .aq domain.
10:50 * theorbtwo hears it's possible to get your passport stamped in Antartica (even though it isn't a country).
10:50 shapr Who owns Aq anyway?
10:50 shapr Can I just setup shop there with no rules?
10:51 shapr Would be a nice way to escape a bunch of stupid copyright and patent laws.
10:51 theorbtwo Most of the world considers it under the direct juristiction of the UN, IIRC.  (Except France, who considers part of it under their direct juristiction.)
10:55 theorbtwo http://en.wikipedia.org/wik​i/Government_of_Antarctica
10:55 rgs only the part known as "terre adélie"
10:55 theorbtwo (In other words, I'm completely wrong.)
10:57 crysflame oh, neat. it's illegal for those under American jurisdiction in America to pollute Antarctica in any way
10:57 crysflame which includes discharge of pollutants
10:57 crysflame which means oil mining is ilegal
11:00 theorbtwo ...and Article 8 of the Antarctic Treaty stipulates that US law holds for US citizens in Antarctica.
11:02 crysflame otherwise the mafia would go nuts
11:02 theorbtwo Oh, and the Protocol on Environmental Protection to the Antarctic Treaty prohibits oil mining as well, for the citizens of 27 countries (including china, the US, and most of the EU).
11:02 crysflame woot!
11:06 * rgs wants a .moon
11:06 shapr I've wondered about interplanetary tcp/ip
11:07 theorbtwo IIRC, there's an RFC on it, and TCP/IP over satalite isn't that uncommon.
11:07 theorbtwo For that matter, TCP/IP over moon bounce probably isn't /terribly/ uncommon.
11:11 theorbtwo Ah, RFC 3271 mentions that the current NASA Mars activities use interplanetary IP.
11:14 theorbtwo Heh, 2775: "It should also be noted that since the speed of light is not set by an IETF standard..."
11:15 * crysflame blinks
11:17 theorbtwo Too far off-topic?
11:19 * shapr snickers
11:19 shapr that's cute.
11:25 theorbtwo .oO(TCP/IP over philotic links?)
11:31 sorje has joined #perl6
11:54 lukhnos has joined #perl6
11:54 gugod has joined #perl6
11:55 viirya has joined #perl6
11:59 autrijus[tw] has joined #perl6
12:16 iblechbot has quit IRC (Connection reset by peer)
12:48 theorbtwo has quit IRC (Remote closed the connection)
13:14 theorbtwo has joined #perl6
13:14 iblechbot has joined #perl6
13:16 litlun has joined #perl6
13:25 litlun has quit IRC ("Trillian (http://www.ceruleanstudios.com")
13:35 YJ has joined #perl6
13:35 YJ hi
13:36 YJ is there anyone here can give me a little help?
13:36 theorbtwo Can try.
13:36 YJ thx
13:36 YJ i can't generate html with perl
13:37 integral YJ: with pugs?
13:37 YJ i tryed googling the question
13:37 integral I don't suppose #perl6 does perl5 questions...
13:37 theorbtwo You don't want this channel, then.  This is for perl6; you're using perl5.
13:37 YJ ehm.. pugs?
13:37 theorbtwo Try #perl.
13:37 YJ oh
13:37 YJ ok
13:37 YJ bye than
13:37 YJ thx
13:38 YJ has left
13:40 pbuetow has joined #perl6
14:01 Steve_p Hmmm...`say "<html><body><h1>Welcome to pugs</h1></body></html>"`
14:03 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
14:04 Odin- has joined #perl6
14:16 xerox has joined #perl6
14:19 autrijus has joined #perl6
14:19 autrijus rehi!
14:20 rgs hi autrijus
14:21 autrijus yo. got more time for pugs? :)
14:21 rgs no. Perl 5 and real work keep me busy
14:21 rgs (and haskell tutorials)
14:22 autrijus ycheng: 0100 is no longer 64 in perl6.
14:22 autrijus ycheng: it is either a warning, an error, or just 100.
14:22 clkao autrijus!
14:22 autrijus clkao!
14:22 clkao i need you to fix get_prompt on win32
14:22 autrijus just had some really good beijing ducks
14:22 clkao it blocks 0.30
14:22 autrijus ok, fixing now
14:23 clkao oh well, hack, you are in beijing.
14:23 autrijus meanwhile do you have svn-1.1.x?
14:23 autrijus 1.1.3 built to win32?
14:23 clkao as ?
14:23 clkao i don't have win32
14:23 autrijus as something that can replace 1.1.0 in win32 bindists?
14:23 clkao svn on win32
14:23 clkao i don't know, the one branko built can't be used?
14:23 autrijus I'll try...
14:23 autrijus wagner is down
14:23 autrijus my notes are gone
14:24 autrijus hmm it responds to ping
14:24 ihb has joined #perl6
14:25 autrijus clkao: so what was broken again? just the resolution part?
14:25 clkao move to #svk
14:31 autrijus running regression
14:31 autrijus 11ceckout
14:31 autrijus #     $expected->[0] = 'Syncing //V-3.1/A/Q(/V-3.1/A/Q) in C:\Program Files\svk\
14:31 autrijus fix it?
14:31 autrijus #          $got->[0] = 'Syncing //V-3.1/A/Q(/V-3.1/A/Q) in C:\Program Files\svk\
14:32 autrijus site\t\checkout\checkout\0 to 6.'
14:32 autrijus a forgotten __
14:41 iblechbot has quit IRC (Connection timed out)
14:46 autrijus syntaxninja not here. hmm
14:46 autrijus darcs-- # applying patch with missing context ~= impossible
14:46 autrijus eats 99% cpu for half an hour and did nothing
14:46 autrijus sigh.
14:49 clkao you want svk
14:50 autrijus I wish svk doesn't take ~1hr to sync all revisions though :)
14:50 clkao 11checkout fixed
14:50 autrijus in particular I want the [h]ead option to work.
14:50 clkao i works
14:50 clkao it works
14:50 clkao it's been fixed long ago
14:50 autrijus oh. right. it works.
14:50 autrijus I keep stuck in the past. sorry
14:51 autrijus got burned too many times, etc.
14:51 ycheng autrijus: got it.
14:51 autrijus ycheng: so, will you kindly revert your commit, or (preferably) change it to emit a fatal error?
14:51 ycheng autrijus: I am puting it back.
14:51 autrijus like, returning a VError.
14:51 autrijus I think I want it be an error.
14:52 autrijus which is what lwall said, too
14:52 ycheng I'll try to revert it first.
14:52 ycheng I do that for I want to write "chmod".
14:52 autrijus ycheng: nono, I think your infrastructure is fine
14:52 autrijus just change it to emit VError
14:52 autrijus which is what we want
14:53 ycheng autrijus: make 0100 a error ?
14:53 autrijus reboot, bbiab. &
14:53 autrijus has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0+/20050219]")
14:53 theorbtwo I think thta's what he meant, ycheng.
14:53 theorbtwo that's
14:54 ycheng theorbtwo: see.
14:54 ycheng well, it will take me some time to study how to return a VError :)
15:00 f has joined #perl6
15:00 stevan autrijus: I responded to http://www.perlmonks.org/index.pl?node_id=434972
15:00 stevan I hope I got it right :P
15:03 * Steve_p takes a peek
15:03 theorbtwo Looks good to me, thilo.
15:03 theorbtwo Er, stevan.
15:05 Steve_p Actually, the "hello world".foo will feel very familiar to ruby programmers
15:06 Steve_p It actually can be also done in Java, but I've seen it much more in Ruby
15:08 stevan Steve_p: I understand the autoboxing, but foo() is not a method of the String class, so I think that is where the confusion is
15:08 Steve_p If you mixin, it will be :)
15:08 stevan theorbtwo: thanks
15:08 stevan Steve_p: I prefer to view it as RPN perl
15:08 stevan "hello world" .foo
15:08 integral isn't it just that method calls now additionally look in other namespaces other than the class for (multi)methods?
15:09 integral (like C++ Koenig lookup I suppose)
15:09 stevan integral: they seem to have called it invocant parameters in S06
15:09 Steve_p Also, the scriptable programming paradigm in Perl 6 seems to allow it
15:09 stevan and not associated it with object
15:09 pbuetow has quit IRC (Remote closed the connection)
15:09 integral *nod* it's just unifying the CLOS generic method type syntax of method(obj, args), with obj->method(args)
15:10 stevan part of me likes it, the other part is not so sure
15:10 stevan but hey,.. this is all new stuff,.. so it will take some time
15:11 Steve_p I'm guessing it could get very messy if you aren't careful, but that can be dealt with
15:11 stevan Steve_p.do.mean.whatever
15:11 stevan or rather Steve_p.mean.you.do.whatever
15:12 stevan It has the same smell as method chaining
15:12 stevan which I like sometimes, and don't like other times
15:12 theorbtwo It's one of those "there's nobody forcing you to use it" things.
15:13 stevan theorbtwo: exactly
15:13 stevan TMTIWTDO
15:13 stevan bah ,... TIMTOWTDI
15:13 * stevan needs more coffee
15:16 Steve_p Mmm...method chaining
15:16 iblechbot has joined #perl6
15:16 * Steve_p hugs Perl 6
15:20 nnunley HRm... is this a valid test for junction equivalance?  ok all(4|5|6 + 3) == one(7|8|9)
15:22 f has left "Leaving"
15:22 nnunley Hrm.  Minor syntax error... all((4|5|6) + 3) == one(7|8|9)
15:23 mkirank has joined #perl6
15:25 theorbtwo Hm.  We spew errors pretty badly when compiling under -Wall.
15:27 Steve_p ghc -Wall?
15:27 theorbtwo Yeah.
15:30 scw nnunley: Seems correct? I think like this:
15:30 scw nnunley: all((4|5|6) + 3) make all(any(7, 8, 9)) and one(7|8|9) becomes one(any(7, 8, 9)), then ALL the any(7, 8, 9) match ONE of the any(7, 8, 9)
15:30 mkirank has left "Leaving"
15:31 nnunley scw: That was my thought.
15:31 scw (any(7, 8, 9) is a single element..)
15:31 mkirank has joined #perl6
15:31 nnunley scw: Cool.  The middle element is an error case right now in pugs.
15:32 nnunley scw: It's validating one of the synopsis assertions.
15:37 scw nnunley: Er, I didn't follow. What do you mean?
15:37 nnunley Try this:  ok all((4|5|6) + 3) == one(7|8|9), "all elements in junction are incremented";
15:37 nnunley Just writing test cases to follow S03
15:38 nnunley it will pass 2 out of 3 times.
15:39 nnunley I'm just trying to make sure that my test is not flawed.
15:43 scw Quite strange.. It won't pass if I use Test module, but print correct string if not.
15:45 nnunley I guess it's a side effect of Test.
15:46 nnunley Committed it for public examination.
15:49 scw I think the problem comes from parameter.
15:49 scw I wrote a function:  sub test($cond){ say 'true' if $cond; say 'false' if !$cond; }
15:50 scw Then, test(0|1) prints both
15:51 * nnunley nods.
15:52 nnunley It's currently hitting 3 of the 9 branches.
15:53 nnunley So I would expect either 9 evaluations(3 pass, 6 fail), or 3 evaluations (all pass).
15:55 scw Oh! I totally forgot when junction is evaluated branches are taken!
15:56 * nnunley nods.
15:56 nnunley So passing 2 of 3 is odd.
15:58 scw But why only 3 branches?
15:58 nnunley Right.
15:58 nnunley Good question.
15:59 scw Or, why are there 3 branches. By interactive mode, all((4|5|6) + 3) == one(7|8|9) has value ((((bool::false | bool::true))))
15:59 nnunley Though I believe the == colapses the state.
16:01 scw Is there any discussion of equality of qunction in Synopses?
16:01 * crysflame smiles
16:01 crysflame the first bug i found in pugs was with junctions. also 2nd, 3rd.
16:02 nnunley At least we're fixing them before they become actual threads.
16:03 crysflame all(4|5|6) + 3) results in (7|8|9)
16:03 * nnunley nods.
16:03 nnunley WHich is in S03.
16:03 crysflame all(7|8|9) == one(7|8|9) is a 3x3 matrix of results
16:03 crysflame (7|8|9) == 7
16:03 crysflame (7|8|9) == 8
16:03 crysflame (7|8|9) == 9
16:03 nnunley and only the diagnal is true.
16:03 crysflame but since it's all(7|8|9), all three are true
16:03 crysflame so it should collapse to a 3x1
16:04 crysflame er, 1x3
16:04 crysflame and all three are true, so it should collapse down to true
16:04 * nnunley nods.
16:06 crysflame all(7 or 8 or 9) == one (7|8|9)
16:06 crysflame oh
16:06 crysflame it wouldn't collapse down to true
16:06 crysflame er..
16:06 * crysflame twitches
16:06 crysflame well, if there's a bug in comparing all(x..z) == one(x|y|z) then i could see why, at least
16:07 crysflame all(one(x|y)) == all(x|y)?
16:07 crysflame if not, then my logic is wrong.
16:07 * crysflame &
16:07 PerlJam your logic sure sounds wrong.
16:08 PerlJam all(7,8,9) can not == one(7,8,9)
16:08 nnunley I thought I was stating:  for all a in list a, there exists b in list a that is equivalent.
16:09 nnunley s/list/junction/
16:12 nnunley Changing the signature of Test::ok from ($cond, ...) to (Bool $cond,...) does cause it to collapse according to my expectation.
16:12 Juerd PerlJam: Isn't that: all(7 == one(7,8,9), 8 == one(7,8,9), 9 == one(7,8,9)) and thus true?
16:14 PerlJam Juerd: hold on, let me check the synopsis on the order of evaluation.
16:15 nnunley I think that might still just be living in the chatter on p6l.
16:15 Juerd IIRC, right expands first
16:15 nnunley That's what I remember reading, too.
16:16 ycheng autrijus[tw]: I make 01 error ("010 is not octal in perl6 anymore, use 0o10")
16:16 crysflame i'm thinking in pure math, not in precedence of collapse, fwiw.
16:17 ycheng autrijus[tw]: should I make 090 error, too. (9 is not 0-7)
16:17 theorbtwo Having one work and not the other is a gross violation of least surprise.
16:18 PerlJam Juerd: oh, you're indeed correct.
16:18 PerlJam damn junctions to the hell of quantum confusion  ;)
16:18 * nnunley grins.
16:18 crysflame aw, they're not confusing
16:18 nnunley Just set theory.
16:18 crysflame just very meticulous in proving shortcuts wrong
16:18 crysflame repeatedly
16:18 * crysflame never trusts anything with set math yet
16:19 PerlJam nnunley: If it's just set theory why don't we call them "sets" instead of "junctions"?
16:19 crysflame a list is a set
16:19 crysflame a junction is not a list
16:19 theorbtwo Because that'd be even more confusing for people who think a set is like a hash, but without the values.
16:19 crysflame {3,4,5} = set
16:19 crysflame {3|4|5} = a set that collapses when studied
16:20 * crysflame shrugs
16:20 crysflame my @list : all = (3,4,5); # maybe
16:21 Juerd 17:21 < crysflame> a list is a set
16:21 Juerd Lists have order, sets do not
16:21 crysflame ah, neat.
16:21 nnunley PerlJam: Yeap.  set has become overloaded in meaning in the programming world.
16:21 crysflame i can't touch the semantic argument
16:21 crysflame but set math feels a lot more sane to me than it should, apparently
16:21 crysflame just can't trust any of it
16:23 theorbtwo Also, lists can contain duplicates, sets cannot.
16:26 theorbtwo Set math is rather insane, actually.  It's the bit where it's most obvious that it's insane, at least.
16:27 theorbtwo Does the set that contains all sets that do not contain themselves contain itself?
16:31 mkirank has quit IRC ("Leaving")
16:33 scw Set theorem prevent such paradox..
16:35 integral 'naïve set theory', 'axiomatic set theory' and friends...
16:39 pbuetow has joined #perl6
16:39 nnunley has quit IRC (Read error: 110 (Connection timed out))
16:39 nnunley has joined #perl6
17:16 autrijus has joined #perl6
17:17 autrijus rehi. :)
17:17 autrijus (web-based backlog)++
17:18 autrijus theorbtwo: syntaxninja has lots of patches that cleans -Wall.
17:18 clkao autrijus: while i can get a hold of you, can you test zh filenames / commitlog on win32 with svk?
17:19 autrijus ok, testing
17:20 autrijus[tw] has quit IRC (Ping timeout: 14400 seconds)
17:28 autrijus syntaxninja++
17:28 autrijus -Wall patch landing in a few mins.
17:30 crysflame hi
17:30 autrijus hey crysflame
17:31 ingy hola
17:31 autrijus yo ingy san
17:32 ingy I started http://pugs.kwiki.org/?KwidSynopsis
17:32 autrijus rocks.
17:33 rgs hi ingy
17:33 ingy hi rgs
17:33 ingy I'm already wanting the new features from fleshing out Kwid in Kwiki
17:36 autrijus new features?
17:36 rgs (... sometimes you expect purl to say something.)
17:36 autrijus :)
17:36 ingy heh
17:37 ingy things like `$foo`
17:37 ingy and also {*foo*} meaning *foo*
17:38 ingy but the backticks are like crack
17:38 autrijus yup
17:38 autrijus how do you say raw `$foo`?
17:39 ingy { `$foo` }
17:39 autrijus and raw {} ?
17:39 ingy or \`$foo`
17:39 ingy \{}
17:39 autrijus ah. totally makes sense.
17:40 ingy code for `$foo` is {``$foo``} btw
17:41 ingy '{`' is start tag and '`}' is end tag
17:41 shapr has quit IRC (Read error: 104 (Connection reset by peer))
17:41 ingy so anything but '`}' goes inside
17:41 autrijus okay.
17:41 autrijus that is very regular.
17:42 autrijus I think it will make an excellent example in learning parsec :)
17:42 ingy and '`}' is {`\`}`}
17:42 autrijus let me commit a simple ruleKwidBlock for you...
17:42 autrijus and you can take over
17:42 ingy please!!
17:43 autrijus that way we can support the crack inline literals
17:43 autrijus let me find them in synopses...
17:43 autrijus riiight.
17:44 autrijus %=POD{'DATA'}
17:44 autrijus all PODs inside a namespace can be accessed individually
17:44 autrijus as hash, or as array.
17:44 autrijus or as scalar.
17:44 ingy nice
17:44 autrijus all comments can be read as @=COMMENT.
17:45 autrijus so Smart::Comment is suddenly trivial.
17:46 ingy autrijus: where will the Kwid parsec rules go?
17:46 autrijus I think Parser/Kwid.hs
17:46 autrijus I think.
17:46 theorbtwo Hm, sigil~'='~name is very confusing.
17:46 autrijus makes sense to you?
17:46 autrijus theorbtwo: where's that?
17:46 ingy autrijus: sounds fine
17:46 autrijus oh, you mean secondary crack sigils
17:47 theorbtwo @=COMMENT.
17:47 theorbtwo Secondary sigils aren't bad in general, but = as a secondary sigil is.
17:47 autrijus I agree. sadly I think it makes the most sense.
17:47 autrijus maybe @|COMMENT
17:47 autrijus %|POD{'DATA'}
17:48 theorbtwo Looks better.
17:48 autrijus feel free to raise on p6l. for now I'll do the spec :)
17:48 theorbtwo OTOH, that might be an artifact of the variable-width font I'm viewing this with.
17:50 theorbtwo I don't care anywhere near enough to brave the uggage of p6l.
17:50 autrijus p6l is very tame nowadays :)
17:51 theorbtwo Also, I feel rather bad that a couple times I've made in-passing comments, and Larry has decided to change the world just after.
17:51 autrijus that doesn't sound too bad...
17:52 theorbtwo Yeah, and one of those was really unrelated, I suspect.
17:53 theorbtwo changes topic to: Run Perl6 Now! | pugscode.org ('Overview', 'Journal') | pugs.kwiki.org | chan now logged: http://xrl.us/e98m
17:54 PerlJam heh ... for some reason my mind parsed that as "Perl6!  Run now!"  (as in "run away")
17:54 ihb haha
17:54 theorbtwo Hed fur de hills, sonny!  De perl6 is commin'!
17:55 ihb has quit IRC ("brb")
18:00 ihb has joined #perl6
18:00 pbuetow has quit IRC (Read error: 104 (Connection reset by peer))
18:01 luqui has joined #perl6
18:01 autrijus hi luqui!
18:01 luqui hi autrijus
18:01 * luqui recovers from his cold and reluctantly returns to the working world
18:01 luqui which probably means less pugs work...
18:02 autrijus luqui: I talked steve fink into writing  http://0xdeadbeef.net/wiki​/wiki.pl?FinkBlog/CodeTour
18:03 pbuetow has joined #perl6
18:03 luqui of P6C in parrot/languages?
18:03 luqui no
18:03 luqui of regex
18:03 theorbtwo Does anybody here mind being mentioned in Perl6Irc on the kwiki?
18:04 theorbtwo (I'm looking at you, luqui.)
18:04 luqui yes I mind.  You may not use my name without express written consent!
18:04 luqui :-p
18:04 luqui go ahead (there's your written consent)
18:05 luqui When I was writing that type-collated hash example on p6l, I realized that Perl 6's sub declaration syntax has some major flaws
18:06 luqui You shouldn't have to know all that stuff about a method to wrap it
18:06 autrijus although you can introspect
18:06 autrijus with .arity and .param, no?
18:07 luqui But that's a lot of black magic for a common operation
18:07 autrijus that is true.
18:07 luqui Haskell has had a profound effect on my for what it means to be concise
18:07 autrijus also in quicksort, btw
18:07 PerlJam surely some of it is "inheritable"?
18:07 autrijus (1,2,3,4).say
18:07 autrijus surely *@_ can't be invocant?
18:07 autrijus so that is downright illegal?
18:07 luqui The invocant idea is breaking down
18:08 autrijus as is $anything.say
18:08 autrijus luqui: can you elaborate? I have that feeling
18:08 autrijus but can't quite say clearly
18:08 luqui For instance, $anything.say seems reasonable, and in fact you'd like to be able to override say on yourself
18:08 luqui but if sub say (*@_), then you can't
18:08 viirya has quit IRC (Ping timeout: 14400 seconds)
18:09 luqui but if it's sub say ($a1, $a2, $a3, ...), then you can
18:09 luqui (multi, that is)
18:09 theorbtwo Overriding stringification would seem to make more sense in most cases, but for some.
18:09 luqui ceratinly, but this is just an example
18:09 theorbtwo Well, what's wrong with having *@_ be the invocant?
18:09 autrijus problem is not even
18:10 autrijus multi sub say (*@_) {}
18:10 autrijus can be used in an invocant fashion
18:10 autrijus theorbtwo: there's nothing wrong. pugs does that.
18:10 autrijus it's just, uhm, against the spec.
18:10 theorbtwo Oh.
18:10 * theorbtwo steps backwards when volunteers to talk to p6l are asked for.
18:10 luqui I'm just thinking that the concrete idea of "invocant" isn't buying us anything
18:10 autrijus pugs currently tries to match invocantless multisubs when all invocantful subs did not match.
18:11 autrijus which is my intuition
18:11 autrijus but after further reading of Syns it seems that it's against the spec.
18:11 theorbtwo Perhaps the case where there is one invocant, and it's the first scalar parameter, is just an optimization of the general case of multimethods?
18:11 luqui the spec says that all your multis have to have the same number of invocants
18:11 luqui forget quicksort, then
18:11 theorbtwo That's how I always interpreted it, but I've never done a real detail reading.
18:12 autrijus yeah. quicksort seems like a bad thing to forget.
18:12 PerlJam luqui: multi sub say ($_) { ... }  multi sub say (*@_) { ... }   # there ya go!  Same number of invocants :-)
18:12 autrijus and the fact that lwall did not catch the bug when I presented it on p6l (asking for slurpy ())
18:12 autrijus PerlJam: nope. the first one has one
18:12 autrijus the second one as none.
18:13 autrijus slurpy are never invocants.
18:13 luqui So I'm trying to re-work the dispatch mechanism as an arglist pattern matcher
18:13 autrijus the zones are: invocants, positionals, nameds, slurpy.
18:13 luqui Doing some wicked cool stuff with junctions
18:13 PerlJam oh right, then the second one is multi sub say ([$_,*@_]) { ... }    #  oops!
18:13 PerlJam :-)
18:13 autrijus at least since dec 04.
18:13 luqui I'll blog on it later today
18:14 coaster has joined #perl6
18:14 autrijus mm.
18:14 autrijus maybe add your blog to planetsix?
18:14 autrijus http://www.luqui.org/blog/ right?
18:14 shaine has joined #perl6
18:14 luqui yeah
18:15 PerlJam luqui: do you attend the cabal conference call each week?
18:15 luqui yeah
18:15 PerlJam This sounds like a good topic for this week's call.
18:15 luqui sometimes...
18:16 luqui I'll probably mention it and have an email waiting to go out on it
18:16 luqui it's hard to talk about code itself
18:16 luqui better to write about it
18:18 theorbtwo I like the exponential units thing, BTW.
18:18 luqui that was just wacky, I had to say something
18:18 luqui thanks
18:21 ingy hi luqui
18:21 luqui hi ingy
18:21 ingy I just realized you were luqui
18:22 luqui lol, I think I know what you mean
18:22 ingy -)
18:24 theorbtwo Hmm, how do you write while (<>) {...} this week?  And is it implemented in pugs?
18:24 luqui for =$*IN {...}
18:25 luqui Was there a short form for that?
18:25 luqui I don't remember
18:25 PerlJam I thought that bare = or something was the <> equiv
18:25 PerlJam for = {...}
18:25 luqui I seem to remember something like that
18:26 autrijus where is unary = in synopses?
18:26 luqui on p6l
18:26 autrijus in syns it's "for *$*IN { }"
18:26 luqui It's pretty recent
18:26 autrijus or "for *$FH"
18:26 autrijus right.
18:26 autrijus so is * invalid now?
18:26 luqui I don't even know if Larry has decided to go with unary = as the <> equiv
18:27 PerlJam autrijus: I get the impression that that's some syntax that's up-for-grabs at the moment.
18:27 luqui but he pondered it pretty seriously
18:27 luqui yeah, let's just hold off
18:27 PerlJam or maybe it was for =<> {...}
18:27 gugod has quit IRC (Ping timeout: 14400 seconds)
18:27 theorbtwo http://dev.perl.org/perl6/synopsis/S04.html under "The for statement"
18:27 luqui PerlJam: that is much more strongly reminiscent
18:28 PerlJam yeah, that sounds righter.
18:28 lukhnos has quit IRC (Ping timeout: 14400 seconds)
18:28 luqui yep, =<> indeed
18:28 PerlJam Though the <> have radically changed meaning :-)
18:28 luqui not since larry pondered that
18:29 PerlJam I meant from perl5
18:29 luqui actually I think the refactor was in the same message, or the same week at least
18:29 luqui oh
18:29 luqui yeah, it's like ={''}
18:29 * luqui wonders if that works
18:30 * luqui wonders if you can open/iterate in one nice call:
18:30 PerlJam I'd add that to pugs if I were adding  (unfortunately, I haven't had enough time to learn as much as I'd like)
18:30 luqui for =<file.foo> {...}
18:30 clkao do we have a summary of implementation status of all primitives?
18:30 PerlJam luqui: And then from the domino effect we get people asking if you can do   for =<*.foo *.bar> {...}
18:31 autrijus clkao: builtin.pod
18:31 autrijus src/builtins.pod
18:31 luqui and we'd say no, you do:  for ={glob '*.foo', glob '*.bar'} {...}
18:31 PerlJam btw, builtins.pod was copied from the perl6 repos?  Why not just use svn:externals?
18:32 autrijus PerlJam: because we're using svk :)
18:32 autrijus or at least, I am.
18:32 autrijus and svk:merged is more handy than svn:externals to do mutual syncs.
18:32 PerlJam I'll take your word for it :-)
18:33 autrijus dev.perl.org's pugs and openfoundry pugs is synced bothways :)
18:33 * PerlJam hasn't really looked at svk beyond the "carry whole repos around" idea
18:33 autrijus was one-way, but thanks to luqui, I verified that two-way is working.
18:33 autrijus even with conflict resolution ;)
18:33 luqui cool
18:35 luqui ack, my keyboard appears to be russian
18:35 luqui except here in putty
18:36 autrijus new keyboard or new os?
18:36 luqui using a computer at school
18:36 luqui something happened
18:37 theorbtwo .oO(In soviet russia, keyboards type you!)
18:37 * luqui reads about the more theoretical aspect of monads so he can try to integrate them with his new model
18:37 luqui haha
18:41 autrijus :)
18:41 autrijus luqui: so, lwall threatened to learn haskell. try to inflict it on him during confcall? :)
18:41 autrijus I think it will help the "regularity" phase of perl6 design :)
18:41 luqui definitely
18:42 luqui !!
18:42 luqui I think my new proposals will go over much better after he learns haskell, too
18:42 metaperl6 I have finished with yaht (pretty much) and have decided to understand Junc.hs and want to write up a pod document on what I learn. ~dist/docs is the place. what should I name the file
18:42 metaperl6 I presume you dont want lines and lines of comments within the Haskell code. Which I'm sure reads cleanly for an experiened haskeller
18:42 luqui (one of the fundamental assumptions in my object model is obvious in haskell)
18:43 autrijus metaperl6: Junc.pod is fine.
18:43 autrijus or better, docs/src/Junc.pod.
18:43 metaperl6 ok
18:44 nnunley Wee.  p6l analysis of my send+more=money implementation.
18:45 autrijus nnunley: yeah. which led me to not ship it with 6.0.9 :)
18:46 autrijus hope that's okay with you
18:46 luqui natural monadic operations in perl will correspond rougly to overloading the semicolon operator
18:47 luqui yay for macros!
18:47 autrijus uh.
18:47 malaire has joined #perl6
18:47 autrijus you'll also have to overload destructive assignment.
18:48 autrijus be back in a bit.
18:48 autrijus has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0+/20050219]")
18:49 luqui be back tomorrow
18:49 luqui has quit IRC ("leaving")
18:50 nnunley autrijus: No offense taken.  I commited in order to find out what the correct implementation would be.
18:56 Coke_ wow. could fink's haskell have more dependencies?
18:57 ingy Coke_: do a binary install of ghc
18:57 ingy it is painless
18:57 Coke_ how?
18:57 ingy download the .dmg from the ghc site
18:57 Coke_ ah, htought you meant through fink. =-)
18:59 Coke_ (gah, 30MB. =-)
19:02 rafl has joined #perl6
19:10 iblechbot has quit IRC (Connection timed out)
19:18 Coke_ Note pugs/README mentions C<cpansign>, which I don't seem to have.
19:18 Coke_ (hurm. it does say optional, I suppose that's sufficient. =-)
19:19 clkao it's in module::signature
19:20 Coke_ note that the referenced "SIGNATURE" is actually empty.
19:21 integral the one in svn, or the one is a dist tarball?
19:21 Coke_ svn.
19:22 integral well that should be empty.  The signature is for a distributed tarball
19:22 Coke_ Perhaps instead of being empty, it can have the text, "This file left blank intentionally". =-)
19:22 integral heh
19:23 Coke_ huh. tests seem veeeery fast.
19:25 Coke_ I have test failures in svn-current.
19:25 Coke_ t/S03.t                    7    2  28.57%  3 5
19:25 PerlJam failure is always fast :)
19:25 wolverian timing out is not!
19:26 malaire btw, the chat-log for this channel seems to break many perl-examples by thinking they contain email-addresses which should be hidden. Is there any way to fix this?
19:26 autrijus has joined #perl6
19:27 autrijus a huge set of changes is about to land.
19:27 malaire Reading logs is a bit hard when 50% of perl-codes has '[email@hidden.address]' in it...
19:27 autrijus verily!
19:27 pjcj feb owns the logger
19:27 autrijus maybe beginning @ can be exepmted.
19:27 autrijus btw, S03.t should be folded info 03operator.t.
19:27 autrijus which I did.
19:28 autrijus the t\0*.t are for the numbered synopses.
19:28 autrijus also, our use of CR/CRLF was not consistent
19:28 autrijus so I fixed it too.
19:29 autrijus still committing...
19:33 autrijus still going...
19:33 autrijus hm. I may not have the time/bandwidth to sync up to svn.perl.org tonight, then.
19:33 ingy autrijus: when will you write my kwid parsing starter kit
19:34 autrijus ingy: tomorrow once I wake up, I think.
19:34 autrijus be sure to ping me.
19:34 ingy ok...
19:34 Khisanth autrijus: you actually sleep? :)
19:34 autrijus ingy: it will also help if you write some tests.
19:34 ingy ok
19:34 autrijus i.e. corner cases
19:34 ingy yeah
19:34 autrijus that can be fed to parser to ensure it does not break.
19:34 ingy don't do it all :P
19:34 malaire Should all tests pass now? I get 2 failures with 341 (both in t/S03)
19:35 * ingy is reading the parsec manual
19:35 autrijus you need 342.
19:35 autrijus which all passes.
19:35 autrijus and is much cleaner to boot.
19:36 ingy you have to boot it?
19:36 ingy :P
19:36 autrijus ;)
19:36 ingy you know too much english
19:37 ingy maybe I can take lessons during yapc :p
19:37 autrijus heh :p
19:37 autrijus sure.
19:39 autrijus now I sleep :)
19:39 * autrijus waves &
19:39 autrijus has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0+/20050219]")
19:43 Coke_ just svn updated and re-conf,make,test ... 100% pass.
19:44 PerlJam yeah, but have you looked to see if he cheated yet?  ;-)
19:45 malaire yep, I got 100% too
19:47 malaire has left
19:56 metaperl6 so
19:56 metaperl6 is the other svc admin here? I need my openfoundry account activated
19:58 ingy hcchien: ping
19:59 ingy metaperl6: I think it would be hcchien
19:59 ingy and I think he would be sleeping... or insane
19:59 metaperl6 hcchien, could you authorize me for commits? I have something I want to commit
19:59 ingy metaperl6: you could mail a patch too
20:00 metaperl6 its a new file
20:00 metaperl6 intermediate commit of my pod on Junc.hs
20:00 metaperl6 does autrijus/hcchien sleep 4 or 8 hours? :)
20:00 ingy in pod or kwid?
20:00 ingy ;)
20:00 metaperl6 well, no worry, I won't lose it by tomorrow. It is in pod
20:00 Steve_p diff -u /dev/null $filename
20:01 ingy metaperl6: have you looked at perlkwid yet?
20:01 metaperl6 no... I dont know what that is.
20:01 * ingy needs to write pod2kwid
20:01 edgewalk1r is now known as edgewalker
20:01 Squall` has joined #perl6
20:01 ingy pugs/lib/Perl6/lib/perlkwid.kwid
20:02 Squall` wow, i thought perl6 was just an idea, dos the topic suggest that there's actually a usuable version of it out?
20:03 ingy yes
20:03 metaperl6 kwid would be a big improvement if verbatim paragraphs could be specified in some way like {{{ }}}
20:03 ingy Squall`: install ghc and Perl6::Pugs
20:03 metaperl6 or =for verbatim =cut
20:03 Squall` ok
20:03 ingy metaperl6:
20:04 ingy .verbatim
20:04 ingy ...
20:04 ingy .verbatim.
20:04 edgewalker http://www.kwiki.org/ 403?
20:04 metaperl6 perlkwid.kwid did not say that under verbatim paragraphs
20:04 metaperl6 which is why I made my comment
20:05 ingy metaperl6: I know. it would be an easy kwid extension tough
20:05 ingy though
20:05 ingy and useful
20:05 metaperl6 well I'm going to lunch... yes very useful
20:05 * metaperl6 slips out the door
20:12 nnunley Hrm.  Have I missed the documentation on the accessors for Junctions?  Junc.states seems to be something promised.
20:13 ingy hi nnunley
20:13 nnunley ingy: Hey, ingy.  How goes?
20:13 ingy nnunley: good. do you ever get out to Seattle?
20:14 nnunley ingy:  Pretty rarely, these days.
20:14 nnunley ingy:  Last time I was there was 2000, I think.  When the national poetry slam was there.
20:14 ingy you are always welcome to stay a spell at our place
20:14 * nnunley grins.
20:15 ingy are you trekking to oscon?
20:15 nnunley Danke.  Once I hit the ground in London, you're welcome to stay with us, too.
20:15 ingy nnunley: oh right...
20:15 nnunley Hadn't planned on it yet, but I think it might be in the budget.
20:15 ingy cool
20:16 ingy I forgot about the London thingy
20:17 nnunley Easy to forget.   I've been in transitional state for a rather long time.  A bit like a junction. :)
20:17 clkao lol
20:17 ingy like schwern
20:17 ingy hi clkao
20:17 nnunley nnunley = one(Pittsburgh|London)
20:17 ingy clkao: are you still depressed?
20:18 clkao i'm tired. it's 4am
20:18 nnunley Snow's really coming down here.
20:18 nnunley clkao: Sleep good.
20:18 ingy clkao: I read that thing that made you depressed.
20:18 nnunley Insomia bad.
20:18 ingy I don't think it was that bad
20:18 nnunley s/som/somn/
20:18 ingy svk is still rough, but it is genuinely useful
20:19 ingy so keep on keeping on with it
20:19 clkao ingy: no it wasn't, it was just a late-night boring whining
20:19 ingy but we all know svk sucks right?
20:19 clkao ya. terribly
20:19 ingy at least it sucks less than yaml
20:20 clkao and i got two thank-you mails today. how sickful. why don't they complain?
20:20 sorje has quit IRC ("leaving")
20:22 theorbtwo Anybody know if Autjirus is going to speak at YAPC::NA?
20:24 clkao i heard that he wants to go estonia around that time.
20:27 Steve_p theorbtwo, official submissions are still open for YAPC::NA
20:38 pbuetow has quit IRC (Remote closed the connection)
20:43 ingy I proposed to fill in for autrijus at oscon
20:43 * theorbtwo .sleep();
20:45 ingy theorbtwo: does that put the current topic to sleep?
20:45 stevan no only orbtwo because he was the invocant
20:45 ingy hmmm
20:45 stevan sleep ($obrtwo:) {}
20:46 ingy is now known as theobratwo
20:46 theobratwo hi obra
20:46 theobratwo is now known as ingy
20:49 qmole has joined #perl6
20:49 ingy hi qmole
20:49 qmole hey
20:50 ingy new to here?
20:50 qmole yeah
20:51 ingy do you use perl5?
20:51 qmole i do
20:51 ingy you can use perl6 now if you want
20:52 ingy it's easy enough to install
20:52 ingy grab ghc and Perl6::Pugs from cpan
20:52 * PerlJam finding that writing perl6 code that actually runs is exhilarating
20:53 PerlJam except when pugs can't parse what should be legal perl6.  Then it's mildly annoying until pugs is patched  ;-)
20:53 qmole i'm doing so
20:53 ingy cool
20:53 qmole second attempt though
20:53 ingy you can also use svn to get the latest code which is being written in real time :)
20:56 Squall` has quit IRC ("Leaving")
20:58 iblechbot has joined #perl6
20:58 Steve_p PerlJam, I know.  I'm chomping at the bit for objects :)
20:58 PerlJam Steve_p: start implementing them then!   :-)
20:59 PerlJam I'm wrapping my head (slowly) around haskell and parsec so that I can get to perl6 rules at some point.
20:59 PerlJam I fear though, that others will have to pave that way.
21:00 Steve_p PerlJam, I need to get a handle on Haskell first :)
21:00 qmole heh
21:00 PerlJam Let's see ... if I cut out one(family,sleep,consulting,work) I could get more pugs stuff done and learn more haskell.
21:00 qmole finally, a motive to learn haskell
21:01 PerlJam I really wish I could cut out consulting.  Perhaps I can forego sleep?
21:01 Khisanth PerlJam: I vote for sleep
21:02 buu autark-jp !
21:02 * ingy invents Kwid bytecode
21:02 PerlJam Khisanth: the only trick there is that my wife wants me to go to bed when she goes to bed.  If I lay down too long (waiting for her to fall asleep) I'll fall asleep too.
21:02 buu ingy: You freak
21:02 buu ingy: Actually I had a question about kwid
21:02 Khisanth hmm
21:02 buu How is something like
21:02 buu .list
21:02 buu -foo
21:02 buu bar
21:02 ingy buu: necessary for defining kwid tests. and quite useful beyond that
21:02 buu -baz
21:02 buu .list.
21:03 buu Supposed to render?
21:03 Khisanth s/wife/android/ :P
21:03 ingy first off, it is:
21:03 PerlJam I guess I could set the alarm and wake up 2 hours earlier or something and get my haskell time then.
21:03 ingy - foo
21:03 Khisanth or maybe s/android/cyborg/
21:03 buu Oh, that makes a difference?
21:03 Khisanth PerlJam: do you drive to work?
21:03 PerlJam Khisanth: I do.
21:03 Khisanth can you take the bus/train instead/
21:03 Khisanth ?
21:04 PerlJam I could but it would eat up an inordinate amount of my day.
21:04 ingy but it would render same as pod's: =over\=item foo\bar\=item baz\=back\
21:04 buu PerlJam: The idea is to do stuff on the train I think
21:05 buu ingy: Well, yeah, I thought so, but how is *that* supposed to render? And have you actually written a kwid parser?
21:05 edgewalk1r has joined #perl6
21:05 Khisanth PerlJam: cut out food! :P
21:05 ingy buu: .list is a direct translation of =over
21:05 PerlJam buu: I don't know about you, but I have trouble focusing as it is without *more* things to distract me  :)
21:05 ingy buu: see Pod::Simple :P
21:05 buu PerlJam: Er, focusing on what?
21:05 webmind has joined #perl6
21:05 Khisanth PerlJam: learn haskell and lose weight at the same time
21:05 PerlJam ingy: you like nroff and troff don't you?
21:05 webmind uhm.. hi
21:05 ingy buu: I'm working on a parsec parser
21:05 webmind can I ask perl6/pugs questions here or ?
21:06 PerlJam webmind: this would be the place!
21:06 webmind good
21:06 buu webmind: No no, you want #php
21:06 webmind buu, :)
21:06 ingy PerlJam: I need to be able to support all Pod, if there is going to be a migration
21:07 webmind I've installed pugs.. and was playing with it.. but when I do something like: 'for(0..1) { print "$_\n"; }' it prints '$_' ten times..
21:07 PerlJam ingy: just like the perl6 parser is going to support perl5?  ;)
21:07 webmind I wondered if that is correct.. and how it should be if it is :)
21:07 ingy PerlJam: quite unlike that :P
21:07 Khisanth webmind: try a newer pugs :)
21:08 webmind Khisanth, uhm.. this one is from friday out of cpan ?
21:08 ingy webmind: get the code from svn
21:08 PerlJam webmind: friday?  That's *ancient*
21:08 Khisanth webmind: it prints 0\n1 here
21:08 buu heh
21:08 webmind PerlJam, it's when I was introcuded to  it
21:08 Khisanth friday is indeed ancient if you are talking about  pugs :)
21:08 ingy webmind: and write a cron to svn up every minute ;)
21:08 Khisanth webmind: there is almost a release every day :P
21:08 webmind damn..
21:08 Khisanth webmind: which version do you have?
21:09 webmind well.. I guess it is still a bit new use
21:09 webmind yes
21:09 webmind 6.0.8 ?
21:09 PerlJam Friday probably had a revision number < 200
21:09 buu webmind: 6.0.9
21:10 Khisanth webmind: works correctly in 6.0.9
21:10 Khisanth where is the bug tracker for pugs?
21:10 webmind I'll try and update :)
21:11 webmind is cpan updated regularly ?
21:11 webmind hmm
21:11 webmind apearently not...
21:11 buu For some value of regular
21:12 Khisanth it is on CPAN your mirror may not have updated yet
21:12 PerlJam webmind: yes, it's update regularly (for some value of regular as buu says) but supposedly there will be a pugs release each week.
21:12 webmind since cpan still hosts 60.8
21:12 webmind 6.0.8
21:13 buu heh
21:13 buu buumakefile
21:13 Khisanth http://search.cpan.org/~autrijus/Perl6-Pugs-6.0.9/ no it doesn't :p
21:13 Steve_p webmind, you should be able to browse ftp://pause.perl.org/incoming
21:14 Khisanth PerlJam: what are you using for learning haskell?
21:14 buu Latest is r345?
21:14 Steve_p buu, probably 'round there
21:14 webmind thnx
21:14 Steve_p It was around 300 on Saturday morning
21:14 buu Just making sure.
21:14 PerlJam Khisanth: I've just been using the stuff from haskell.org
21:14 buu I did svn up and remade, but I've had problems making properly.
21:15 Steve_p buu, nopaste?
21:15 buu Steve_p: Er, sorry, what?
21:15 Khisanth Version Installed              6.0.5
21:15 Khisanth Version on CPAN                6.0
21:15 Khisanth hmm that seems a bit odd
21:16 stevan buu: what revsion?
21:16 nnunley Khisanth:  The YaHT is one of the better haskell tutorials.  http://www.isi.edu/~hdaume/htut/
21:16 buu stevan: any
21:16 Steve_p buu, http://paste.husk.org . Enter your errors you are seeing there.
21:16 PerlJam nnunley: It's fairly good but there are a few gaps in the text that are slightly annoying.
21:16 buu Steve_p: one sec.
21:17 webmind and.. yay it works with 6.0.9
21:17 buu Wow, I just calld the Dentist's office and got a modem
21:17 buu Steve_p: Anyways, it's a nmake error
21:18 Steve_p heh, there've been a few
21:18 nnunley PerlJam:  True.
21:19 nnunley They all can be a little rough, actually.
21:20 buu NMAKE : fatal error U1045: spawn failed : Invalid argument
21:20 buu Yay nmake!
21:20 Steve_p log?
21:20 Steve_p Crap!  No infobot!
21:20 edgewalker has quit IRC (Read error: 110 (Connection timed out))
21:21 buu heh
21:21 buu I'm pretty sure my nmake is just broke though, or something
21:21 Steve_p Oh, that was you earlier
21:22 buu Yeah
21:22 buu I wrote my own make file though
21:22 buu It looks like
21:22 buu perl Makefile.PL -version; ghc --stuff main.hs
21:28 buu ingy: Are you doing anything with the documentation?
21:30 Norman has joined #perl6
21:32 Steve_p buu, http://svn.openfoundry.org/pug​s/lib/Perl6/lib/perlkwid.kwid
21:32 crysflame .
21:32 buu Steve_p: What about it?
21:32 Steve_p That's what ingy is doing to the documentation :)
21:32 buu heh
21:33 buu Point taken
21:33 ingy :)
21:33 buu I grepped the perl6-documentation mailing list,found like 4 actual pod documents totalling 300 lines
21:33 Steve_p the pod is dead!  long live the kwid!
21:33 ingy metaperl6: I added .verbatim
21:33 metaperl6 oh wonderful
21:34 * metaperl6 svn update and looks at perlkwiki.kiw... or whatever it's named
21:34 Steve_p heh
21:35 ingy I was thinking that an optional ending marker could be passed to .verbatim
21:35 Steve_p yeah tbone-metaperl-whatever :)
21:35 ingy .verbatim ^%^*&%
21:35 ingy but I'
21:35 ingy but I'm holding off for now
21:35 buu I was working on a perl parser for it
21:35 metaperl6 does a file document its usage ingy? I just did svn update
21:35 nnunley has quit IRC (Nick collision from services.)
21:35 buu metaperl6: Pssh, documentation.
21:36 ingy but I'm holding off for now
21:36 * metaperl6 returns to documenting Junc.hs
21:36 ingy crap ...
21:36 metaperl6 in plain ol' pod
21:36 ingy one sec
21:36 buu Yay, documentation++
21:36 Norman is now known as nnunley
21:36 ingy metaperl6: try again
21:37 webmind hmm
21:37 webmind 'my @bar = @bla »-« 2;'
21:37 webmind that's legal code in perl6 right ?
21:37 buu Eww, unicode =[
21:37 integral hmm, that didn't render here
21:38 metaperl6 yes, the docs were there but I am not sure how to bracket the verbatim... I guess a blank line ends the verbatim paragraph?
21:38 edgewalk1r is now known as edgewalker
21:38 ingy buu: you were writing a kwid parser?
21:38 buu ingy: Yeah
21:38 webmind buu, how are you going to use those operators without unicode ?
21:38 ingy cool, in what language?
21:38 buu webmind: They have ascii equivalents.
21:38 buu ingy: Perl!
21:38 ingy 5 or 6
21:38 buu 5
21:38 buu . o O ( Just kidding, it's actually in brainfuck! )
21:38 ingy that would be cool
21:39 webmind buu, hmm, well 'my @bar = @bla >>-<< 2;' isn't working either
21:39 nnunley webmind:  You probably want my @bar = @bla >>-<< 2;
21:39 integral oh, that reminds me of something I asked a day or so ago;  how do you do IO in p6?
21:39 nnunley webmind: Pugs doesn't have hyperoperators yet.
21:39 webmind ah.. darn
21:39 integral the a/e/s say that filehandles are now iterators, but I've only seen for *$IN -> $a { } as an example of how to use them
21:39 ingy buu: I'm sketching out a kwid bytecode
21:39 crysflame >>-<< ?!
21:39 ingy pod could parse to the same bytecode
21:40 nnunley crysflame: vector subtraction.
21:40 buu ingy: Sounds entertaining.
21:40 crysflame i..
21:40 webmind crysflame, in my example: subtract 2 from all values in @bla
21:40 crysflame promptly wonder if it'll support the latin1 >>
21:40 crysflame argh i hate me
21:40 ingy buu: it is how I'll write kwid tests
21:40 ingy which you can use
21:40 buu ingy: Heh, I looked at pod2html, it renders that .list. construct as <dl> <dt> </dt> <dd></dd> </dl> I believe.
21:40 buu Tests are cool.
21:41 webmind pugs doesn't seem to like junctions either :)
21:41 nnunley crysflame: The unicode version of >> (?) works, too.
21:42 integral »+«
21:42 nnunley webmind: It does like junctions fine.  :)  Mostly.
21:42 nnunley webmind: What are you trying to do with them?
21:42 webmind nnunley, something bad I think.. 'my $foo = 0|1|2; print $foo;'
21:43 nnunley webmind: Can?t directly print a junction.
21:43 webmind ok
21:43 ingy buu: yeah I think that is messed up
21:43 buu ingy: Oh, why?
21:43 webmind kinda make sense
21:43 integral so some types just won't have stringifications?
21:43 nnunley Which is part of my broken sendmoremoney.p6 example.
21:43 ingy buu: I would think it would use <li>
21:44 ingy but whatever
21:44 nnunley Err, part of why my sendmoremoney.p6 example is broken.
21:44 ingy it is only one formatter of pod to html
21:44 nnunley integral: Pretty much.  I think there?s supposed to be a Junction.states method to reveal what states are still possible in a junction.
21:44 buu ingy: Well yeah, but how does <li> work with the text paragraph?
21:45 integral that'll be fun :-)   poor newbies getting exceptions when printing things ;-)   Enough people moan about undef warnings
21:45 buu (undef warnings)--
21:46 nnunley integral:  I guess it?s because print $foo; should output 3 times (0\n1\n2\)
21:46 integral yeah, which makes junctions very, very different from other types
21:46 buu nnunley: What the heck are you generating instead of a single quote?
21:46 integral but that thread's been done to death :-(
21:46 nnunley buu:  Bad things, mikey.
21:46 buu =[
21:47 nnunley There we go.  I was in the wrong character group.
21:48 buu Hurray!
21:48 nnunley buu:  I take it your irc client doesn't support unicode?
21:48 buu nnunley: Guess not. Blame debian.
21:48 integral nnunley: was that utf-8 you were using?   I just got a ?
21:49 nnunley integral: That was supposedly utf-8.
21:49 crysflame nice
21:49 integral hmm
21:49 crysflame can you temporarily evaluate a junction without permanently affecting that which you are evaluating?
21:50 crysflame it looked exactly like latin 1 preceded by a utf-8 market
21:50 nnunley crysflame: Heh.  Great.
21:51 buu Hrm. TokeParser++
21:51 nnunley crysflame:  You mean, narrow it?  Not sure.
21:52 crysflame nnunley: "narrow it"?
21:52 crysflame is that code speak for what i said?
21:52 crysflame er, formal speak
21:52 integral hmm, are junctions like the list monad in Haskell?
21:52 nnunley crysflame: Nah, I mean, narrow down the number of states...  It's semi-formal.  No suit required.
21:52 crysflame given my $foo : readonly = (0|1|2); # can i evaluate $foo repeatedly, for different results?
21:52 nnunley crysflame: Yeap.
21:53 crysflame okay, cool
21:53 integral hmm, probably not. rhm
21:53 crysflame so if i don't mark it readonly does it get permanently evaluated after the first time?
21:53 nnunley I think it evaluates each time it's used, actually, whether it's readonly or not.
21:53 crysflame cool, so the original isn't collapsed
21:54 crysflame is there a .collapse() for doing so?
21:54 crysflame or just $foo = $foo; # collapses
21:54 nnunley Only time it stays collapsed is when its chained together... as far as I know.
21:54 nnunley If I know how to collapse state, I'd finish sendmoremoney.p6 properly. :)
21:54 crysflame nnunley: stringify it!
21:54 * crysflame &
21:55 integral t
21:55 nnunley You mean, "$foo" where foo is the junction?
21:58 ingy buu: I think you can put almost anything in <li>
21:58 buu ingy: I suppose, but what would you put?
21:58 ingy the stuff until the next item
21:58 buu So:
21:58 buu .list
21:58 buu - foo
21:58 buu bar
21:59 buu .list.
21:59 buu Would render as: <ul> <li> foo bar </li > </ul> ?
21:59 ingy buu: see http://dev.perl.org/perl6/synopsis/S02.html
21:59 feb has joined #perl6
21:59 ingy I'm sure it was written in pod
22:00 ingy but it uses a different formatter
22:00 ingy and uses <li>
22:00 integral Combust
22:00 ingy hmm
22:01 ingy it puts stuff after the </li>
22:01 buu Oh good.
22:01 ingy but I'm not sure that is necessary
22:01 buu Isn't that invalid markup?
22:01 ingy I don't think so
22:02 Limbic_Region has joined #perl6
22:02 buu I'm pretty sure it is
22:02 buu It's not valid HTML 4.01 transitional
22:03 ingy buu: to correctly nest in html, you do <ul><li><ul><li></li></ul></li></ul>
22:03 wolverian xhtml1.1 all the way.
22:03 buu ingy: Right, is that the correct output?
22:03 ingy the li contains the sub ul
22:04 buu yeah
22:04 buu That seems incorrect though, now you have two things that produce lists
22:04 ingy I'll check, but the point is that parsing and formatting need to be separate
22:04 buu Actual list formatters and text blocks
22:04 buu Well, yeah, this was related to my parsing output
22:05 ingy right
22:05 feb has left "Client exiting"
22:06 buu I suppose I'll just produce a list_item_start, text, list_item_end, text, text, list_item_Start
22:06 buu Or something similar.
22:08 stef_ has quit IRC (Read error: 54 (Connection reset by peer))
22:08 cognominal has joined #perl6
22:12 mugwump ingy: that's what I thought, too ... but I think this is more correct;
22:12 mugwump <ul> <li></li> <ul><li></li></ul> <li></li> </ul>
22:12 ingy buu: the bytecode is a formalized and compact version of that
22:13 buu mugwump: Er, are you sure?
22:13 ingy mugwump: that is invalid xhtml
22:13 buu Yeah I thought so
22:13 ingy afaik
22:14 ingy Kwiki currently does that
22:14 ingy and several people have informed me it is wrong
22:14 ingy :)
22:14 ingy the item *contains* the sublist
22:15 mugwump I guess I should really look at the spec before piping up stuff like that
22:15 buu ingy: Any idea what the bytecode looks like?
22:15 integral *blink* Am I the only one who took this as the obvious way to do it?
22:15 buu integral: It seems wrong to me =[
22:18 buu integral: Only one thing should produce a <ul>, .list
22:18 ingy integral: ?
22:19 integral i was meaning the <li><ul/></li> in html
22:19 ingy ah
22:19 ingy buu: I'm working on the bytecode now
22:20 buu Er, so should my parser try to output bytecode or what?
22:20 ingy buu: do you have SubEthaEdit?
22:21 buu Nope.
22:21 ingy buu: tmtowtdi, but your parser should call event handlers that map to the bytecode
22:21 buu Eww, event handlers =/
22:22 ingy event handlers don't have to be  icky
22:22 ingy for instance
22:22 ingy you could make it so that a program hands your parser the name of a class that implements the event handlers
22:23 buu ...
22:23 ingy so registration is easy
22:23 ingy or maybe you want a pull parser
22:23 buu Yes, yes I do.
22:24 * PerlJam pulls buu's pants down
22:24 ingy why? (just wondering)
22:24 * buu brutally beats PerlJam
22:24 ingy either way, you will have events that map to the bytecode
22:25 buu ingy: It's my opinion that pullparsers make it easier to write code that actually uses them.
22:25 ingy a bytecode formatter will be trivial, and used for testing your parser
22:25 ingy buu: how so?
22:25 * PerlJam enjoys the beating but wishes it were gorgeous female rather than buu doing the beating.
22:26 buu ingy: Perhaps a slightly contrived example, but imagine you want to skip the first 20 events
22:26 buu If you were using events, you'd have to have code in every single event sub that checks thenumber of events and such.
22:26 integral don't you just want a DSL that maps your logic onto the underlying parser, either pull, or event based?
22:26 buu integral: I banish you and your DSL's
22:26 buu But if you are using a pullparser, you just call 'get_token' 20 times then do what ever you want.
22:27 cognominal has quit IRC (Remote closed the connection)
22:28 buu Maybe I'm just biased.
22:28 ingy buu: true. you have to write your own dispatch loop though
22:28 ingy a better example: imagine you want to prune a branch
22:28 buu Yeah, but those typically aren't very onerous
22:29 buu Yes?
22:29 PerlJam buu: or you have a proxy "event object" that skips 20 tokens before it hands stuff off to the real event manager
22:29 PerlJam er, s/manager/handler/
22:29 buu PerlJam: Sounds overly complex and hard to write.
22:29 ingy you get a start event for that branch and return a code or throw an exception to ignore the branch
22:29 PerlJam buu: Actually, I was thinking it sounds almost monadic :-)
22:30 ingy easier in a push parser :)
22:30 buu while( $t = get_token ) { print unless $t->branch_id == $id }
22:30 buu =p
22:30 cognominal has joined #perl6
22:30 integral PerlJam: well ; is a lot like >>
22:30 feber has joined #perl6
22:31 PerlJam buu: you just don't like event driven things.
22:31 PerlJam buu: you like to be in control
22:31 buu PerlJam: Probably.
22:32 integral directly writing FSMs does suck though...
22:32 buu (psychiatric evaluation through perl)++
22:32 * buu beats integral to death with a TLA
22:32 ingy buu: a pull parser is nice because it is trivial to convert to a push parser
22:32 integral converting a push parser to a pull parser can be done with continuations
22:33 ingy buu: you don't use a mac?
22:33 buu ingy: Fraid not.
22:34 ingy too bad. SEE is fun
22:35 PerlJam ingy: fun, eh?  Are you using it for pugs development?  Do multiple editors come and go as you compose?
22:36 ingy I was thinking of using it to help create the kwid bytecode spec
22:36 ingy I used it recently to write an oscon tutorial proposal
22:36 ingy it was great
22:36 buu Hrm. I wrote a pod::pullparser type thing, and for the following code
22:37 buu = head1 my header
22:37 buu my paragraph
22:37 buu I produced 6 tokens
22:37 buu start header, text, end header, start textpara, text, end textpara;
22:38 ingy buu: yep
22:38 buu Seems a little wordy, but I'm not sure how else to do it
22:38 ingy it will be like that, but more compact
22:38 buu I would prefer to just produce a "header_token" containing the header text, but then what do I do about embedded formatting codes?
22:39 integral return a header_token with an embedded token stream
22:39 buu Er, so the user has to recurse in to it?
22:39 integral of course.   Sounds nicely haskell/lispish
22:39 buu =[
22:40 buu Recursion always comes off so ugly though
22:40 ingy >=1, ==my header, <=, >P, ==my paragraph\n, <P
22:40 buu Gah
22:40 buu ingy: What the hell.
22:40 PerlJam buu: yeah! recursive quicksort is *so* ugly!  
22:40 ingy :D
22:40 buu PerlJam: Ok, in some cases it isn't, but I think it would be fore this case
22:40 ingy buu: it is a bytecode
22:41 ingy anyway, it can be open for comment
22:41 buu It scares me.
22:41 buu Anyways, what was the point for the bytecode again?
22:41 ingy > == start, < == end
22:42 ingy as a standard compact intermediate form
22:42 buu We need one?
22:42 ingy it is based off of YAML bytecode
22:42 ingy it is great for testing
22:42 integral data PodBlock = Header [PodInline] | Paragraph [PodInline]; data PodInline = Text | Bold PodInline; -- ...
22:42 integral barely recursive at all
22:42 PerlJam ingy: why don't you use the SOH, STX, ETX, EOT, etc. characters?  ;)
22:43 feber is now known as feb
22:43 ingy buu: btw, I am working on a parsec parser for kwid
22:43 buu ingy: I remember.
22:43 ingy cool
22:43 buu integral: MY problem is escapes embedded in escapes =[
22:43 * PerlJam really must get on the ball learning parsec
22:43 integral buu: data PodInline = Escape PodInline;!
22:44 integral actually you probably don't want to use the constructor in your code, but rather a function wrapper for it which does some eager normalisation
22:44 buu Yeah..
22:45 feb did someone here complain about @ signs in the logs ?
22:45 buu I was thinking about that, but how do you tell the difference between f<b<foo>> and f<foo> b<foo>
22:45 buu or rather
22:45 PerlJam feb: someone earlier mentioned that they show up as email addresses (hidden) in the logs
22:45 buu I was thinking about that, but how do you tell the difference between f<foo b<bar>> and f<foo> b<bar>
22:46 feb yes, saw it. Just to mention that it's now improved
22:46 feb all @ signs should come through except email addesses
22:46 integral because one is Escape (Text "foo" : Bold (Text "bar" : []))) or something
22:46 PerlJam feb: Where are the logs at?
22:47 feb http://colabti.de/irclogger//irclogger_logs/perl6
22:47 buu integral: Er, so what's the other?
22:47 ingy {ffoo {bbarb}f}
22:47 feb the topic gives an url too, btw
22:47 integral buu: Escape (Text "foo" : []) : Bold (Text "bar" : []) or something
22:47 buu recursion--
22:48 * integral goes back to working
22:49 * buu ponders
22:49 feb good night
22:50 feb has left "Client exiting"
22:50 * Steve_p is pleased to see so many fellow monks here
22:50 buu heh
22:50 buu Monks++
22:51 * ingy is a dirty monk
22:51 buu ingy: What do dirty monks do?
22:51 Steve_p No underware under the robes
22:52 ingy well I'm more of a wandering monk. I haven't been to the monastery much, and yeah, I freeball it
22:52 buu Monastery is great.
22:52 ingy but i have been in perlmonks since 2000
22:54 buu Bah. I guess I'm going back to start and end tags.
22:54 ingy ?
22:55 buu start and end events.
22:55 buu tokens, whatever.
22:55 buu start header, text, start escape, text, end escape, end header;
22:55 ingy instead of?
22:55 buu Well, I would prefer a token that contained everything from start to end
22:55 ingy that's an optimization
22:56 ingy sounds premature
22:56 ingy :p
22:56 buu Um
22:56 buu It's a ease of use optimization, those are never premature!
22:56 ingy sure they are
22:56 buu Bah
22:56 buu This one isn't.
22:57 ingy they why are you going back to start and end?
22:57 buu hahaha
22:57 buu ingy: Because I don't see a good way to deal with escape code thingies, which can be nested.
22:57 ingy :)
22:58 buu Hrm. Maybe I'll have a command token which contains a list of text / escape items
22:58 buu and I can do start/end just for the escapes.
22:59 ingy the bytecode will always have begin/end since you can generate those from the optimized view
22:59 buu bah
23:00 buu You can generate start/end from my optimized tokens!
23:00 ingy that's what I said
23:00 buu Yeah I know
23:00 buu Time for cisco
23:00 ingy so it will be easy to use the bytecode tests for you
23:03 ingy hmm. I just realized that I am optimizing
23:03 ingy I didn't even catch that.
23:03 buu heh
23:03 buu Optimization is good.
23:03 ingy :P
23:04 buu Especially premature, code twsting, mind bending optimization.
23:06 buu Anyways, cisco time, I shall be back to mock your bytecode... soon.
23:06 ingy cisco?
23:07 ingy buu: look in t/kwid/readme when you return
23:16 iblechbot has quit IRC (Connection timed out)
23:20 stevan r348 --- All tests successful, 1 subtest skipped. Files=51, Tests=768
23:20 stevan :)
23:30 buu_ has joined #perl6
23:30 buu_ I return!
23:32 buu_ hi buu
23:32 ingy hi buu
23:32 ingy hi ingy
23:32 buu_ heh
23:32 ingy er
23:32 ingy hi ingy_
23:32 ingy almost done
23:32 buu_ Go wake up aujitrus
23:34 buu_ Hrm. I think I'll write my own query string parser.
23:34 crysflame hum.
23:35 buu_ Anyone taken a look at p6-doc? I grepped it for emails containing pod and found about 4, aujitrus seemed to imply that they had actually produced some useful docs
23:35 buu_ Did I miss them in the archive or is he missinformed?
23:37 buu_ Did everyone die?
23:39 * ingy rises from the dead
23:39 buu_ Good trick
23:41 buu_ Now answer!
23:41 ingy hehe
23:41 ingy dunno
23:42 buu_ =[
23:42 buu_ Because it looks like a stinking morass of failure to me
23:46 ingy buu_: yo
23:46 ingy buu_: could you review http://svn.openfoundry.org/pugs/t/kwid/readme for me
23:47 ingy it's a first pass. I'm sure we can /optimize/ it :)
23:48 buu_ Yes!
23:48 buu_ Optimization++
23:48 ingy food++
23:49 buu_ Er, is {``} special aside from the `` ?
23:49 ingy I like the linear bytecode because Test.pm could give me a diff
23:49 ingy which would be really nice
23:50 ingy buu_: special?
23:50 buu_ ingy: Is {``} some kind of special formatting construct, or is just a `` surrounded by textual brackets?
23:51 ingy {``} is the extended `` as {**} is the extended **
23:51 ingy the cleaner forms are highly restricted
23:51 buu_ Oh
23:51 buu_ Apparently I didn't get that far in to perlkwid =]
23:52 buu_ Ok, in your byte code, for:
23:52 buu_ == sample
23:52 buu_ you generate:
23:52 buu_ >H2
23:52 buu_ =sample
23:52 buu_ <H
23:52 ingy they must hug their args with whitespace before the biginning one and after the ending one
23:52 buu_ Why is sample preceded by a '=' ?
23:52 ingy well kind of like that
23:53 ingy `=` indicates the kind of line it is
23:53 ingy in the bytecode
23:53 ingy = for text lines
23:53 buu_ Ah
23:53 buu_ Oh hey
23:53 buu_ I should read the entire thing =]
23:53 ingy yes
23:54 buu_ Reminds me of xml
23:54 ingy we could do it in xml :P
23:54 buu_ =[
23:54 buu_ XML makes me weep inside.
23:55 ingy the text lines are normalized, which means that the parser does the line folding and escaping, etc
23:55 buu_ Ok..
23:55 buu_ I think I understand that
23:55 buu_ What are .Formatted lines?
23:56 ingy the bytecode uses \n to indicate newline
23:56 buu_ And why didn't you use a list for the bottom?
23:56 ingy ?
23:57 ingy feel free to refactor
23:57 buu_ heh
23:57 buu_ You never answered the .Formatted
23:57 ingy . is for things like .foo\n...\n.foo.\n
23:57 buu_ But at the bottom, when you list the types of events, you just have a verbatim block that looks a lot like a list.
23:57 buu_ Er, not following
23:58 ingy have you read perlkwid
23:58 ingy there is a generic block syntax akin to =begin foo
23:58 ingy .foo
23:58 ingy ...
23:58 ingy .foo.
23:58 ingy .comment
23:58 ingy ...
23:58 buu_ I thought those were lists
23:58 ingy .comment.
23:58 ingy .list
23:58 ingy ...
23:58 ingy .list.
23:58 ingy .pod
23:58 ingy ...
23:59 ingy .pod.
23:59 ingy etc
23:59 ingy .html
23:59 ingy .moinmoin
23:59 ingy .yomama

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs