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