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 |