| 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 | |||