Run Perl6 Now! & pugscode.org ('Overview', 'Journal') & pugs.kwiki.org & channel log: xrl.us/e98m & < autrijus> damn, my journal keeps getting obsoleted by #perl6. Set by Juerd_ on 12 March 2005. |
|||
Juerd z | 00:01 | ||
theorbtwo crazy is. | 00:16 | ||
jabbot | pugs - 626 - More authors updates: extra column with | 00:34 | |
Khisanth strangles YAHT | 00:52 | ||
theorbtwo | desert-island.dynodns.net/perl/prims.html | 00:54 | |
Khisanth | is that all the implemented operators? | 00:55 | |
theorbtwo | Yep. | 00:57 | |
Currently done with a little p5 script that takes them out of initSyms = table in Prims.hs | 00:59 | ||
The presentation could use some work, but I'm not 100% sure what to do with it. | 01:00 | ||
Allo, FOAD. | 01:10 | ||
Khisanth | theorbtwo: can't do it in p6 yet? :) | 01:17 | |
theorbtwo | Hm, could, but would be hard. | 01:19 | |
Regexes are a great goodness. | |||
Updated | 01:24 | ||
sleep & | |||
mugwump | I guess perl5 regexes would be `easier' via pcre than implementing perl6 regexes straight away | 02:17 | |
obra | i thought pcre wasn't quite C | 02:18 | |
mugwump | :-/ | 02:19 | |
How is your weekend going for you anyway obra ? | |||
obra | Today was ok. I haven't done the work work I need to do before monday, but I got Devel::CallTrace commented, tested, docced and uploaded | 02:21 | |
Which has led me to want to understand the debugger | |||
mugwump | yeah. ever looked at the implementation of Devel::Cover vs. Devel::Coverage? | 02:27 | |
obra | nope | 02:31 | |
mugwump | Devel::Coverage uses the debugging hooks, Devel::Cover uses a more comphrehensive approach - it replaces Perl_runops | 02:47 | |
AIUI | 02:48 | ||
obra | nod | ||
pjcj said that the hooks jst aren't suffiicnent for that | |||
man. cna't type | |||
mugwump | I had to bite my tongue at the last PM meet when someone had just finished off showing off Devel::Cover, then described "how it works" like Devel::Coverage. Didn't want to look like a pratt ;) | 02:49 | |
I was thinking, "I remember being shown this at a presentation before it was released" | 02:54 | ||
obra | heh | 03:04 | |
mugwump | Yay, my crack-fueled quantum junction script got another complete standing down message from Larry! Those are the best. | 03:23 | |
metaperl | standing down? you mean he rejected it? | 03:24 | |
mugwump | xrl.us/fe9d (Link to groups-beta.google.com) | 03:33 | |
right, gotta go, cafe closing... | 03:34 | ||
jabbot | pugs - 627 - Added examples/golf, containing Santa Cl | 03:44 | |
pugs - 629 - * param extraction for $_ and $^x now en | 05:14 | ||
pugs - 628 - * use proper 'skip' syntax | |||
autrijus | lucs: fixed. | 05:15 | |
obra | morning, autrijus | ||
autrijus | hey obra. | ||
lucs | autrijus: Thanks. And good morning :) | 05:20 | |
autrijus | :) | 05:21 | |
I'll start to write pugscc now. | |||
est 3 mins :) | |||
"compile p6 to native code and deter all reverse engineering attempts!" | 05:22 | ||
or something. | |||
obra is timing from now until he sees the checkin | |||
"compile perl6 to native code for a huge performance boost"? | |||
autrijus | not huge. same as B::* | 05:23 | |
currently. | |||
~ same as B::C | |||
lucs | Simple as a B::C. | 05:25 | |
autrijus | done. testing. | 05:29 | |
(yeah, more than 3 mins. :-/) | |||
obra | you are forgiven | ||
how many loc? | |||
autrijus | 12 | 05:30 | |
obra | you-- # you promised it would be 0 loc | ||
autrijus++ # pugs->native code | |||
autrijus | all 12 is in the "pugscc" helper script. | ||
;) | |||
obra | hah | ||
you++ # no new core code | |||
autrijus | so I consider 0 really. | ||
obra | fair | 05:31 | |
autrijus | committing. | ||
obra looks around for clkao | |||
it appears that his p5 p4 mirror is missing files | |||
autrijus | hm. | 05:32 | |
autrijus finds a security exploit. | 05:33 | ||
in pugscc. | |||
autrijus blames p5 and fixes that. | |||
obra | nice | 05:34 | |
jabbot | pugs - 630 - * first cut at pugscc | 05:44 | |
nothingmuch | hola | 05:46 | |
obra reads perl5db.pl and starts to twitch | 05:47 | ||
autrijus | ok, we have a honest-to-god pugscc now. | 05:51 | |
the executable it generates depends on nothing but libc :) | 05:52 | ||
so it's more like 30 minutes :) | |||
obra | wow | ||
how big is hello world? | |||
autrijus | and I'm sad to report that the loc is 24 lines | ||
including empty lines | 05:53 | ||
nothingmuch | how does it do that? | ||
autrijus | 3.6mb | ||
nothingmuch: read script/pugscc :) | |||
obra | stripped? | ||
nothingmuch | autrijus: did you look at my annoyances of yesterday, btw? | ||
autrijus | not sure how to strip a win32 executable | ||
nothingmuch: zip? | 05:54 | ||
jabbot | pugs - 631 - * fixed typos and cleaned up messages. | ||
nothingmuch | uhuh | ||
Khisanth | get strip from cygwin/mingw? | ||
nothingmuch | ah | ||
autrijus | maybe. not very concerned at this point. | ||
nothingmuch | pugscc is naughty | 05:55 | |
autrijus | it is! | ||
nothingmuch | autrijus++ | ||
autrijus | but imagine doing it with C! | ||
:) | |||
Khisanth | witing pugscc with C? | ||
autrijus | actually, don't imagine, look at B::C :) | ||
Khisanth: aye. pugscc does exactly what B::C in perl5 did. | |||
well, not exactly, but a close approximation | |||
nothingmuch | autrijus: when i'll get to work i'd like to implement zip | ||
and get some help on that | |||
autrijus | nothingmuch: cool | ||
sure | 05:56 | ||
nothingmuch | ok | ||
now i've got to get ready and stuff | |||
autrijus | see ya | ||
Khisanth | works better than B::C? :) | 05:57 | |
autrijus | of course :) | ||
Khisanth | s/better/more reliably/ | 05:58 | |
it was kinda hit and miss thing | |||
autrijus | well, try it and see :) | 06:02 | |
jabbot | pugs - 632 - * even more cleanup on pugscc; now assum | 06:04 | |
autrijus | ingy: I think doc/perlkwid.kwid belonds to ext/Kwid/doc | ||
or ext/Kwid/lib | |||
but I think it's cool for each ext to maintain their own installable kwids. | |||
Khisanth | how do you use it? | 06:11 | |
Khisanth tried compiling one of he examples | 06:12 | ||
jabbot | pugs - 633 - * add usage info and pathsep to pugscc | 06:14 | |
autrijus | Khisanth: hm? | 06:16 | |
make install | |||
pugscc examples/life.p6 | |||
Khisanth | can't just do perl scripts/pugscc ? | ||
autrijus | that should work also, provided a "pugs" executable is built first | 06:17 | |
i.e. after "make" | |||
(in r633) | |||
Khisanth | getting "Fail: -C: openFile: does not exist (No such file or directory)" with a file and with -e | 06:18 | |
autrijus | did you rebuild pugs? | 06:19 | |
a sec | 06:20 | ||
Khisanth makes clean just to be sure | 06:22 | ||
autrijus | try r634? | 06:24 | |
I wonder what's wrong. | |||
nothingmuch | damnit | ||
censoreship sucks | |||
autrijus | does "pugs -C -e 'print 123'" work for you? | ||
nothingmuch | now my mother hates me, /and/ she won't better herself | ||
autrijus | eh? | ||
nothingmuch | all because I kept my mouth shut for years | ||
Khisanth | same error | 06:26 | |
after the make clean that is, tryin 634 | |||
autrijus | very strange. | 06:27 | |
nothingmuch | ok, well anyway | ||
my ride is here in an hour | |||
and I'm ready | |||
autrijus | anyone else willing to try pugscc and see if it works? | ||
nothingmuch | so i'd like to do the zip thing | ||
autrijus: trying... | 06:28 | ||
autrijus | ok. you'd like to make semicolon inside brackets to be multidim constructor | ||
nothingmuch | i think | ||
will that yield a list of lists in pugs internals? | |||
autrijus | yes. | ||
nothingmuch | ok, then that's what we'll do | 06:29 | |
and then make an explicit type vcast thingy | |||
autrijus | yeah. | 06:30 | |
nothingmuch | where the thing wants a vlist where the Vlist -> a => Vlist a ? | ||
autrijus | the trick is how to make | ||
zip @a;@b | |||
and | |||
zip(@a;@b) | |||
parse differently. | |||
nothingmuch | oh my | ||
';' is evil | |||
Khisanth | is the ; in first case ending the statement? | 06:31 | |
autrijus | yup. | ||
may I interest you in the Y operator first? :D | |||
nothingmuch | you may | 06:32 | |
autrijus | i.e. let's first make zip work before tackling ; | ||
nothingmuch | how does chaining stuff work? | ||
autrijus | it's list-associative | ||
Khisanth | that ; looks for for obfuscating :) | ||
autrijus | chaining means something else | ||
Khisanth | s/for/good/ | ||
autrijus | nothingmuch: just add a | 06:33 | |
nothingmuch | autrijus: explain what the tree looks like | ||
autrijus | \\n List list Y (List)\ | ||
nothingmuch | for @a Ā„ @b Ā„ @c | ||
autrijus | and it will Just Work. | ||
nothingmuch | vs. (@a Ā„ @b) Ā„ @c | ||
jabbot | pugs - 635 - * first approximation of <> | 06:34 | |
pugs - 634 - * use absolute path throughout. | |||
autrijus | a sec. | ||
well, currently it is a bug | |||
(@a Y @b) Y @c | |||
will also be parsed as list-associative | |||
so we need to fix that | |||
the place to fix this is in Lexer | 06:35 | ||
nothingmuch | hmm | ||
autrijus | that is nontrivial, so I'll just outline the idea | 06:36 | |
nothingmuch | i think we'll start with @a Ā„Ā @b Ā„Ā @c working correctly | ||
autrijus | you can just assume it's there and write the rest thing :) | ||
nothingmuch | brb, and then we start | ||
autrijus | exactly. | ||
food & | 06:37 | ||
will be back in a few mins | |||
nothingmuch | ok | 06:42 | |
nothingmuch is now back, but autrijus is gone ;-) | |||
autrijus | I'm still here:) | ||
so, added the two lines (Y and Yen) to Prim.hs? | |||
as list-associative OPs | 06:43 | ||
nothingmuch | doing now | ||
unicode inline? | |||
autrijus | they are of the op0 category | ||
nothingmuch | or should i put the code? | ||
autrijus | \000 etc for now | ||
nothingmuch should look at what | et al do? | 06:44 | ||
autrijus | aw. never mind. | ||
just use utf8 ;) | |||
time to bite the bullet | |||
anyway. so as listOps they take a list. | |||
nothingmuch | the bottom of Prim.hs is percedence order , right? | 06:45 | |
autrijus | no... | ||
nothingmuch | or can i just slap it anywhere? | ||
autrijus | precedence is now in Parser.hs | ||
we should unify them | |||
but not for 6.0.11 | |||
nothingmuch | ok | ||
autrijus | you can slap it anywhere you feel like | ||
nothingmuch | \\n List listY(List)\ | 06:46 | |
? | |||
\\n List listĀ„(List)\ | |||
seems like hypers use utf8 | |||
autrijus | I'll handle Parser | 06:47 | |
right just use utf8 | |||
Y and Yen are now parsed. | 06:48 | ||
now just hook them to your "zip" op0 | |||
nothingmuch | op0 "Ā„" = return . VList . concat . transpose . map vCast? | ||
autrijus | and that should be all. | ||
nothingmuch | looking at op0 ",", sort of | ||
autrijus | op0 "Y" = op0 "Ā„" | 06:49 | |
that's all | |||
nothingmuch | is my solution OK? | ||
or should I revert to the old? | |||
autrijus | does transpose stop whenever the shorter list stops? | 06:50 | |
nothingmuch | no | ||
it does the right string | |||
thing | |||
autrijus | yay. | ||
nothingmuch | adding 'import List' | ||
it's very pretty | |||
autrijus | nono | ||
in Internals | |||
nothingmuch | so List.transpose? | ||
autrijus | line 74 | 06:51 | |
add "transpost" there | |||
add "transpose" there | |||
and just use transpose without extra "import List" | |||
wow. transpose is really Just The Right Thing | 06:52 | ||
I think that's all it takes. | |||
nothingmuch | having trouble with op0 patterns | 06:54 | |
jabbot | pugs - 636 - * infix Y is now parsed; listOPify thing | ||
nothingmuch | op0 "\194\165" = ... | ||
op0 "Y" = ... | |||
autrijus | does it not work? | 06:55 | |
nothingmuch | no | ||
Warning: Pattern match(es) are overlapped | |||
In the definition of `op0': op0 "\194\165" = ... | |||
autrijus | it's not fatal | 06:56 | |
just commit it and we'll deal. | |||
nothingmuch | one second | ||
running tests | |||
tests are not passing | 06:59 | ||
autrijus | and i know why | 07:01 | |
luqui broke list assoc a while ago it seems | |||
fixing | |||
fixed. | 07:02 | ||
up to r637 | |||
and things should work. | |||
nothingmuch | Fail: cannot cast as Str: VError "unimplemented listOp: \194\165" (Val (VList [VInt 0,VInt 4,VInt 2,VInt 6])) | 07:03 | |
ingy | hola | ||
nothingmuch | hola ingy | ||
why does it want a str? | |||
jabbot | pugs - 639 - * save a pattern match | 07:04 | |
pugs - 638 - Converted pa01 to kwid. | |||
pugs - 637 - * resurrect list-associativity evaluatio | |||
ingy | oh nice | ||
638 was me of course | |||
autrijus | nothingmuch: try Y first? :) | ||
ingy: woot! | |||
now we need to talk a bit about doc/ vs docs/ :) | 07:05 | ||
nothingmuch | pugs> (1,2) Y (3, 4) | ||
*** Error: "unimplemented listOp: Y" at (1, 2, 3, 4) | |||
ingy | we need those kwid tools | ||
autrijus | aww you killed 01Overview.html! | ||
people are linking to it :-/ | |||
ingy | I have to tune out. see y'all tommorrow. I plan on working on the Kwid ext | ||
autrijus: undelete it | 07:06 | ||
autrijus | ok. | ||
ingy | I just didn't want skew | ||
nite all! | |||
autrijus | nite! | ||
thanks ingy! | 07:07 | ||
nothingmuch: weird. that error only happens when there is no "op0 Y" | |||
nothingmuch | hmm | 07:08 | |
is it related to: | |||
src/Prim.hs:22: | |||
Warning: Pattern match(es) are overlapped | |||
In the definition of `op0': op0 "\194\165" = ... | |||
autrijus | maybe. comment out the 194 part? | 07:09 | |
nothingmuch | op Y only now | ||
autrijus | yup | ||
nothingmuch | not working | 07:12 | |
autrijus | commit? | 07:13 | |
I'll see | |||
nothingmuch | ok | ||
jabbot | pugs - 641 - * fix typo | 07:14 | |
pugs - 640 - undelete | |||
nothingmuch | 642 | 07:15 | |
autrijus | looking | 07:16 | |
ahh. | 07:17 | ||
you shoulve'added it _before_ "op0 s" | |||
because "op0 s" is the base case. | |||
nothingmuch | heh | ||
i think i did something naughty in line 74 | 07:18 | ||
ok, something is starting | 07:19 | ||
autrijus | r643 fixed | ||
nothingmuch | it is giving the first array | 07:20 | |
@a Ā„Ā @b Ā„ @c -> @a | |||
autrijus | fixing | 07:21 | |
I see. it's already flattened when it's passed in. | |||
lightstep notes that -Wall actually warns now | 07:22 | ||
nothingmuch | ? | ||
autrijus | lightstep: 6.4? | ||
lightstep | 6.2.2 | ||
autrijus | what warning? | ||
nothingmuch | good morning, lightstep | ||
lightstep | g'morning | ||
we're UTC+2 | 07:23 | ||
clkao | autrijus: where's your xcin25-utf8 port? | ||
nothingmuch | sorry about 74, autrijus! | ||
autrijus | fixed! | 07:24 | |
jabbot | pugs - 644 - * unnaughtify lien 74 | ||
pugs - 643 - * fix ordering; better debug msg for uni | |||
pugs - 642 - Attempt at Y and yen operators | |||
autrijus | clkao: wagner.elixus.org/~autrijus/xcin-u...rts.tar.gz | ||
nothingmuch | i think tests 2, 3, 5, 6 should pass | ||
8, 9 - wrong value, but not the current wrong value | 07:25 | ||
lightstep | the case in readVar (at AST.hs) ignores the possibility of symExp not being a Val | ||
nothingmuch | it'll yield 0, 2, 1, 4, 6, 3, 5, 7, instead of 0, 1, 2, 3, 4, 5, 6, 7 | ||
clkao | cheers autrijus | ||
nothingmuch | i'll test for that | ||
err, well, it is tested for, actually | 07:26 | ||
actually there's no real room for improvement | |||
autrijus | r645, fixed! | ||
nothingmuch | what was the diff? | ||
err, same results | 07:27 | ||
ahg | 07:28 | ||
wait | |||
zip of two arrays seems to be sort of working | 07:29 | ||
my @y; eval '@y = (@a Ā„ @b) Ā„ @c'; | |||
@y eq @a Ā„ @b | |||
maybe it's a parsing error | |||
my @y; eval '@y = (@a Ā„ @b)'; | 07:30 | ||
todo_is(~@y, ~@e, "also with yen char"); | |||
autrijus | not an error! | ||
assignment = := ::= += **= xx= | |||
list item separator , ōæ½xA5 | |||
nothingmuch | ok 2 - also with yen char # TODO | ||
autrijus | see, Y is lower than = | 07:31 | |
nothingmuch | oh! | ||
crap | |||
why the hell is that? | |||
nevermind | |||
nothingmuch hates it when assignment is higher percedence than things you do | |||
i'll fix the tests | |||
autrijus | ok. | 07:32 | |
brb | |||
nothingmuch | hmm | ||
jabbot | pugs - 646 - Fix test due to Y/= prec issues, and unt | 07:34 | |
pugs - 645 - * fixed op0 parsing... this broke some t | |||
nothingmuch | with 3 parms it does not work | ||
that is now a bug in the impl | |||
lightstep | why does yen stand for zip? | 07:35 | |
nothingmuch | because it looks like a zipper | ||
=D | |||
ride is | 07:36 | ||
lightstep | do i have to cd to the Test.pm directory to run the tests? | 07:38 | |
autrijus | lightstep: no, just make install | 07:43 | |
or set PERL6LIB | |||
lightstep | thanks | 07:46 | |
lumi | There's a hash stringify test that fails because of precedence | 07:49 | |
Ghh, or I'm wrong | 07:50 | ||
autrijus | whoa. our new committer, asavige, is pure genius | 07:52 | |
autrijus running his wagner.elixus.org/~autrijus/saturn.perl | 07:53 | ||
lumi | I'm wrong, itfails because of junction eq? | 07:55 | |
autrijus | a sec :) | ||
obra | um. er. fear. | 07:56 | |
planet6 | |||
autrijus | obra: did you run it with perl5? | ||
obra | I have not yet. should I? | 07:57 | |
autrijus | sure! | ||
please do so. | |||
obra | oh. | ||
wow | |||
autrijus | sheer genius | 07:58 | |
obra | That's insane | ||
does it work in perl6? | |||
autrijus | perl6 will have much more insane obfus | ||
;) | |||
(no) | |||
obra | heh | ||
lumi | Something really broken with junction comparison? | 08:02 | |
'5 == (5 | 6)' evals to false | 08:03 | ||
obra -> sleeep | |||
autrijus | I'm fixing them, lumi :) | ||
lumi | I could write a test.. | 08:04 | |
autrijus | r647. | 08:05 | |
lumi: should be fixed now | 08:13 | ||
jabbot | pugs - 647 - * revive list-based listops | 08:14 | |
nothingmuch | so... | 08:23 | |
autrijus | so, 2 tests are failing | ||
# got: '0 2 1 5 3 4' | |||
# expected: '0 1 2 3 4 5' | |||
both reads that | |||
you have time to investigate? | |||
or should I? | |||
nothingmuch | i will try | ||
but that i think it's beyond me | 08:24 | ||
autrijus | okie. I'll work some more toward 6.0.11 releng. | ||
ok, I'll do that too :) | |||
nothingmuch | i'll keep trying to grok it | ||
and ask questions | |||
and in the end i'd like to know what went wrong | |||
for starters: what is mapM doing in that example? | |||
autrijus | k. | ||
nothingmuch | ensuring that all elems are extracted in order? | ||
and elem extraction: | 08:25 | ||
is that the actual array refs? | |||
autrijus | mapM fromValue | 08:26 | |
fromValue is the monad version of castV | |||
castV can't read from mutable variables or references to them | |||
fromValue could | |||
mapM fromValue is like map castV | |||
I need to find more food. | |||
will be back in a bit. | 08:27 | ||
nothingmuch | phew | 09:06 | |
ok, back to pugs | 09:07 | ||
ok | 09:17 | ||
back again | |||
and looking at it i see: | |||
@a Ā„Ā @b Ā„ @c makes sense in the way that (@a Ā„Ā @b ) Ā„ @c should | |||
pugs> (0, 4) Y (2, 6) Y (1, 3, 5, 7) | 09:20 | ||
(0, 1, 2, 3, 4, 5, 6, 7) | |||
pugs> (( 0, 4) Y (2, 6)) Y (1, 3, 5, 7) | 09:21 | ||
(0, 1, 2, 3, 4, 5, 6, 7) | |||
that makes sense | |||
but without grouping it should be per n arrays, not per 2 arrays N times | |||
autrijus: so how do we make the first Ā„ be the actual op, and the subsequent ones more like a , argument to it? | 09:22 | ||
autrijus | nothingmuch: fixed! | 09:29 | |
list assoc redistirbution was still looking for args | |||
instead of invs | |||
and it's now all invs thanks to luqui | |||
so that's fixed | |||
now of course ((a Y b) Y c) breaks | |||
we can work around it by decreeing () is a special construct "Paren" | 09:32 | ||
or by truly implement the listop parsing foo in Lexer | |||
the latter is of course the way to go | |||
but I don't think it's release-critical for 6.0.11. | |||
so, anyone got any pet things that needs to go into 6.0.11 before I start releng? | 09:33 | ||
nothingmuch | umm | 09:34 | |
not me | |||
autrijus | perlbot: seen stevan | 09:35 | |
jabbot | pugs - 649 - * list association redistribution now re | 09:38 | |
pugs - 648 - -c now mimicks perl5's -c behaviour. | |||
Khisanth | blind bot! | ||
autrijus | bbiab. & | 09:40 | |
nothingmuch | autrijus: is (@a Ā„ @b) Ā„Ā @c a bug or todo? | ||
autrijus | it is a todo. | 09:41 | |
nothingmuch | ok | ||
autrijus | it's a lexer todo, to be specific. | ||
vladtz | now that Y works I noticed a FIXME in given.t, can I send it to someone? | 09:45 | |
lumi | There's a typo on the --help | 09:47 | |
"it's" should be "its" | 09:48 | ||
vladtz | in zip.t it says: zip(@a;@b), should not the ; ba a , ?? | 09:51 | |
Synopsis syas , | |||
S03 says , S04 syzs ; which one is correct, semicolon looks odd to me | 10:12 | ||
tiw | d | 10:15 | |
perl 5 style sub seem do not work | 10:16 | ||
nothingmuch | vladtz: luke palmer says it needs to be ; | ||
tiw | sub s{say $_[0]; say $_[1];} just print the first arg. | 10:18 | |
vladtz | OK, more reason to use Y | 10:19 | |
nothingmuch | uhuh =) | ||
vladtz: r650 makes given.t use Ā„ | 10:21 | ||
tiw: do you know if that's tested? | |||
tiw | i didn't find it in test | ||
nothingmuch | i'll try to write it | ||
basically: | |||
my @result; sub s { push @result, $_[0]; push @result $_[1] } | 10:22 | ||
s(<foo bar>) | |||
vladtz | Oops, I menat: I did the fix, not fix it :-( | ||
nothingmuch | todo_is(@result, <foo bar>, "...")? | 10:23 | |
oops! sorry... | |||
in that case | |||
sign up for rt.openfoundry.org access | |||
and become a comitter | |||
tiw | ok, i will do it | 10:24 | |
jabbot | pugs - 650 - Use yen operator to simplify testing | 10:27 | |
clkao | yen operator | 10:29 | |
nothingmuch | clkao: huh? | 10:30 | |
theorb | Morning, all. | 10:32 | |
nothingmuch | hola orb | 10:33 | |
theorb | desert-island.dynodns.org/perl/prims.html should now be up-to-date. | 10:38 | |
nothingmuch | theorb: i can't do a proper lookup on that | 10:42 | |
is the TLD correct? | |||
theorb | desert-island.dynodns.net/perl/prims.html should now be up-to-date. | 10:43 | |
You'd think after all this time, I'd remember what the TLD is. | |||
Perhaps I should just get a dynodns.org account additionally. | |||
nothingmuch | wtf? | 10:44 | |
left-associative infix | |||
List | |||
zip | |||
( | |||
List | |||
($List zip $List) zip $Lis | |||
theorb | \\n List left zip (List)\ | 10:47 | |
There's some that are known wrong... but that's not one of them... that's a very odd definition line. | 10:48 | ||
nothingmuch blames it on autrijus | |||
*shrug* | |||
theorb | BBIAB. | 10:55 | |
tiw | i have change subroutine.t : -plan 12; | 10:58 | |
+plan 13; | |||
sub foobar ($var) { | |||
return $var; | |||
@@ -70,3 +70,11 @@ | |||
is($_, "-wibble-", 'sub closures close'); | |||
$_ = $block.(); | |||
is($_, "-quux-", 'block closures close'); | |||
+ | |||
+my @result; | |||
+sub perl5sub { | |||
+ push @result , $_[0]; | |||
+ push @result, $_[1]; | |||
+} | |||
+perl5sub(<foo bar>); | |||
+todo_is(@result, <foo bar>, "use \@_ in sub"); | |||
is this ok? | |||
nothingmuch | perlbot nopaste? | 10:59 | |
perlbot | Paste your code here and #perl will be able to view it: sial.org/pbot/perl | ||
nothingmuch | you should use that normally | ||
now i'll read through | |||
it looks good, tiw | |||
tiw | thanks | ||
nothingmuch | only id use single quotes | ||
'use @_ in sub' | 11:00 | ||
do you have commit access? | |||
ooh, we're going out to lunch, appearantly | |||
tiw | i hava sign up in rt.openfoundry.org | ||
Juerd | [perlmonks.org/index.pl?node_id=439079|That time of the year again!] | ||
nothingmuch | tiw: so you can just type 'svn ci t/op/subroutine.t' | 11:01 | |
and type in your login/password | |||
tiw | ok, i do it | ||
nothingmuch | or wherever subroutine.t is | ||
great! | |||
see you guys later | |||
lunch & | |||
tiw | KVIrc 2.1.3 'Renaissance' | 11:13 | |
pasteling | "tiw" at 85.74.5.210 pasted "a test ignore it" (1 line, 16B) at sial.org/pbot/8138 | 11:20 | |
Someone at 85.74.5.210 pasted "another test, please ignore it" (80 lines, 1.6K) at sial.org/pbot/8140 | 11:36 | ||
tiw | Problem about commit access: i can login rt.openfoundry.org, but can not commit file with svn :( | 11:44 | |
12:01
Aankh|Clone is now known as Aankhen``
|
|||
nothingmuch | tiw: what error do you get? | 12:14 | |
castaway_ waves at nm | |||
nothingmuch | hola castaway_! | ||
12:15
castaway_ is now known as castaway
|
|||
castaway | (bah) | 12:15 | |
nothingmuch ate about 2.5 liters of salad | |||
castaway | saladcomes in liters? | ||
nothingmuch | well, it's harder to estimate the mass/weight | ||
castaway | true | ||
nothingmuch | i think it was around 1 kilo | ||
castaway | excet that a liter is 1kilo weight.. so that must have been 2.5Kg | 12:16 | |
nothingmuch | well, if it were that dense, maybe | 12:17 | |
but there was some grated salty cheese | |||
which is more volumenous than it's normal form | |||
and lots of lettuce | |||
and onions, in rings, which is not a dense form | |||
cucumber and tomatoe are probably .9x mass/volume of water in the shape they were there | 12:18 | ||
and lots of yellow pepper | |||
maybe a little less | |||
maybe it was more than 1k | |||
i think it's more logical that it was less than 2.5l | |||
given the size of the bowl, and the size of a 0.5 liter bottle of water before me it seems to make more sense | 12:19 | ||
anywho... | |||
tiw: please mention my name if you reply, the IRC window will probably be in the bg, and mentioning me will cause it to popup | |||
ciao! | |||
tiw | nothingmuch: something like: svn: MKACTIVITY result ?/pugs/!svn/act/8e13e8ea-2ff2-0310-80ad-e9d419cfe8d5?: fail authorize (svn.openfoundry.org) | 12:28 | |
nothingmuch | hmm | ||
what is your login? | 12:29 | ||
to rt? | |||
tiw | nothingmuch: you mean my login name? tiw | ||
nothingmuch | ah | 12:30 | |
it's not listed in the project staff | |||
err, get hcchien, autrijus or bestian to invite you | |||
tiw | just ask them to do that? | 12:31 | |
nothingmuch | this will probably be done immediately once one of them wakes up | ||
yes | |||
nothingmuch thinks that more inviters/project admins should be made | |||
to cover more time zones | |||
luqui and ingy would probably be willing and trusted | |||
nothingmuch nominates | |||
tiw | i see, thanks. Are you in Eu? | 12:32 | |
nothingmuch | i'm from israel | ||
so time zone wise, you could say i'm from eastern europe | |||
nearly the same longitude as moscos | |||
w | |||
tiw | i'm in German | 12:33 | |
we are closer as autrijus | 12:34 | ||
autrijus | greetings /\/\s | 12:59 | |
S29++ # jfdi | 13:00 | ||
nothingmuch | autrijus: open up commit access for tiw | 13:02 | |
tiw | autrijus: can you add me to the project list? | ||
autrijus | sure sec | ||
nothingmuch | so that it is not limited to a certain time zone's day | 13:03 | |
daytime | |||
and also, please consider letting people like ingy and luqui and maybe someone from europe the ability to do this | |||
autrijus | sure. | ||
will talk about that on yapc::taipei | 13:04 | ||
nothingmuch | goody | ||
autrijus | tiw: welcome aboard | ||
nothingmuch | Juerd will probably be willing to do it too | ||
he is from nl | |||
tiw | autrijus: thanks | ||
nothingmuch | so i think that covers everything | ||
wtf is s29? | 13:05 | ||
and also, autrijus++ for fixing last two tests in for.t | 13:06 | ||
theorbtwo | Allo, autrijus. | 13:07 | |
autrijus | yo theorbtwo | ||
theorbtwo | Have you seen desert-island.dynodns.net/perl/prims.html ? | ||
jabbot | pugs - 651 - add a test for using arguments with perl | ||
autrijus | yes I had. | ||
you++ | |||
I wonder if you can massage it into proper perl6 sub signature | 13:08 | ||
theorbtwo | I rather wonder as well. | ||
But I think I want to try to get it to know the precidence order first, which I'm not sure how to do. | 13:09 | ||
autrijus | you look at Parser.hs table. | ||
theorbtwo | Right, but how do I get stuff out of there? | 13:10 | |
ghci won't even show it, because it's not in the Show class. | |||
autrijus | from line 456 on | 13:11 | |
you can just slurp them into a string | |||
and parse them as a string ;) | |||
wouldn't be hard ;) | 13:12 | ||
theorbtwo | That's what I'm doing with Prims.hs now. | ||
autrijus | sure. it's good enough for booting. | ||
theorbtwo | I was worried if that was all of them, though. | ||
autrijus | once you have proper signatures | ||
then well, we can use that for the table instead | |||
theorbtwo | And what the "Not yet transcribed" comment means. | ||
autrijus | and all will be joy | ||
theorbtwo | Oh! | ||
I see what you mean now. | |||
I was just thinking of this in terms of a reference. | 13:13 | ||
autrijus | oh. "Not yet transcribed" means that the things below is now yet transcribed to proper perl6 sigs! | ||
theorbtwo | Aaah! | ||
autrijus | i.e. that comment means "theorbtwo was not here" | ||
or something. | |||
theorbtwo | Heh. | ||
autrijus | so the idea is to take that table and primdecl | 13:14 | |
and generate things in builtins.pod format | |||
or an equally good format | |||
kind of like a .h file | |||
err builtins.kwid | |||
and then use _that_ to generate decl and prec | |||
and throw the old things away. | |||
that way we can kill the adhoc decl parser | 13:15 | ||
and use the same parser as the one we use to parser userdefined routines. | |||
I hope I'm making sense :) | |||
theorbtwo | I think so. | ||
You want to convert the existing lists of primitives into standard perl6 sub declarations. | |||
Then implement them with inline haskell or something, and consider that file implicitly used. | 13:16 | ||
Hm, possibly not inline haskell, since eval STRING would be hugely impure. | |||
Inline AST, then. | 13:17 | ||
This, and my AUTHORS script, are currently rather ad-hoc perl5 -- is there anywhere they go in the repo? | |||
autrijus | put them to utils/ | ||
mk a new dir | 13:18 | ||
theorbtwo | Cool. | ||
Working on one of my other projects for a bit, though. | |||
autrijus | that's fine. take yer time :) | ||
ooh. | 13:24 | ||
=begin testing method after othermethod Some::Class 25 | |||
(supposedly new Test::Inline syntax) | |||
ingy: inline FITish things in kwid makes sense to you? | |||
nothingmuch | Test::Inline gives me the creeps | ||
reduces readability by a lot | 13:25 | ||
since you have to skip, and skip, and skip, and skip | |||
and you can't organize tests well | |||
autrijus | unless your editor has folding... | ||
nothingmuch | mine does | ||
but i never get along with it | |||
autrijus | oh. folding++ | ||
nothingmuch | i might be retarded though ;-) | ||
autrijus likes folding. | |||
rgs likes folding too, but almost never uses it :( | 13:26 | ||
autrijus | hi rgs :) | ||
nothingmuch | will perl6 support non upwards flowing ranges? | ||
i usually like to say @a[2 .. -3] | 13:27 | ||
but can't do it | |||
since it makes no sense | |||
except that it does | |||
rgs | I think that python supports that | ||
yup, it does | |||
>>> x = [1,2,3,4,5,6,7,8,9,10] | 13:28 | ||
>>> print x[2:-3] | |||
[3, 4, 5, 6, 7] | |||
nothingmuch | 2 1 0 -1 -2 -3 | ||
and if not in the context of array subscripts, i'd like it to do something like: | |||
because that's also sometimes useful | |||
and reverse(-3 .. 2) is just, err, unnecessary | |||
rgs | I don't think so | ||
but I'm not familiar with Perl 6 slice notation | |||
autrijus | haskell has it as | 13:29 | |
[2,1 .. -3] | |||
which I really like, but won't work in p6 | |||
nothingmuch | why not, actually? | 13:30 | |
as a special case? | |||
autrijus | no, because it conflicts with splice syntax | 13:31 | |
@array[2, 1..-3] | |||
rgs | what's the splice syntax ? | 13:32 | |
autrijus | s/splice/slice/ | ||
@array[2, 1..-3] # means @array[2], @array[1] ... | |||
so can't steal the comma to mean step-by | |||
so in p6 it is | 13:33 | ||
@array[1..-3:by(-1)] | |||
not very sexy | |||
but works | |||
nothingmuch | which is actually 1 0 -1 -2 -3? | ||
autrijus | aye | ||
to get 2, use | |||
@array[1^..-3:by(-1)] | |||
nothingmuch | so how do i do something like: | 13:34 | |
rgs | hmm, and to get what python does ? | ||
nothingmuch | (isn't that 0?) | ||
[1, 2, ... , -4 -3]? | |||
autrijus | oh. sorry. that will start from 0. | ||
rgs | yes. Lazy extensino | ||
autrijus | [1^..^-3:by(-1)] ? | ||
nothingmuch | nay nay | 13:35 | |
rgs | ^-3 ? this confuses me | ||
autrijus | oh never mind | ||
I was misparsing you all along | |||
nothingmuch | i mean where -3 is really (+@a - 3) | ||
autrijus | right right. | ||
rgs thinks his brain begins to be python-infected | |||
autrijus | sorry | ||
nothingmuch | [ 1 .. (+a - 3) ] <-- this does it | ||
but i'd like 1 .. -3 to dwim | |||
autrijus | yeah but that's sad | ||
according to lwall the range constructs a range object | |||
so maybe range object behaves weirdly in a slice context. | 13:36 | ||
weirdly as in dwimmy. | |||
nothingmuch hopes that is the case | |||
autrijus | not seen it raised before. | ||
throw it to the snake pit that is p6l? | |||
rgs | :)) | ||
nothingmuch | @a[0 ^.. -Inf] == reverse(@a) | ||
=D | |||
autrijus | yow =D | ||
-Inf, oh my | |||
woot. I lured Alias into committership. | 13:43 | ||
PPI-based p5-to-p6 | 13:44 | ||
I think is very feasible. | |||
theorbtwo | Great! | 13:45 | |
rgs | larry doesn't seem to think so | ||
autrijus | he base it on 90% mark. | 13:46 | |
I'm happy with 50%. | |||
and lots of runtime magic. | |||
theorbtwo | Pretty much anything is better then 0%. | ||
rgs | larry wants 100% :) | ||
autrijus | I think the idea is more of a partial recompilation/reparse | ||
i.e. PPI gets the tokens in place | |||
rgs | PPI is already very good | ||
nothingmuch | rgs: 100% is ponie, i think | ||
autrijus | and we can selectively reparse p5. | ||
that way we can put more burden in the runtime helper libraries | 13:47 | ||
rgs | nothingmuch: no, ponie is more than 100% : it ports XS too... | ||
autrijus | instead of on the parser at once | ||
rgs: only perl parses Perl | |||
rgs | autrijus: that's larry's plan. | ||
autrijus | so anything not based on perl trunk is, by definition, broken | ||
but I can very well live with that. | |||
rgs | anyway we'll see what larry comes up with | 13:48 | |
autrijus | I don't really care about having to write in some more streamlined (i.e. always use strict) | ||
fashion in order to be fed to p5top6. | |||
in that case PPI+Parser/Perl5.hs is Good Enough (tm) | |||
theorbtwo | I'm certainly fine with that provision. | 13:49 | |
autrijus | anyway iff alias is interested, we'll figure something out :) | ||
theorbtwo | I would think B::-based translation makes more sense, though. | ||
autrijus | aye. that is another route. | ||
but that means we'll probably have to emulate all the p5 runtime OPs. | 13:50 | ||
whilst with PPI we can operate at a coarse-grained level | |||
but it's all handwaving before alias hops here and starts coding :) | 13:51 | ||
theorbtwo | Oh, I meant something like a B::Deparse that output p6 code rather then p5 code. | ||
Steve_p | heh | ||
rgs | theorbtwo: B:: lose info about BEGIN blocks and other stuff | ||
theorbtwo | Possibly calling functions in Perl5::* instead of builtins, at least in some cases. | ||
autrijus | theorbtwo: sure, but the B::* backend operates on p5 op level | ||
Steve_p | like constants | ||
autrijus | including all its stack semantics | ||
rgs | actually larry is patching perl 5 itself to produce perl 6 code | 13:52 | |
autrijus | which is the Correct layer. | ||
why go above the reification layer when you can instrument the runtime? | |||
and I'm sure larry is the best one to do that | |||
rgs | I had, 2 or 3 years ago, the idea to modify the output of perl -Dp, to get it machine-parseable | ||
autrijus | he wrote all of it anyway :) | ||
rgs | -DpT even | ||
autrijus | <- mucking with perl5 OpTree != my forte | ||
rgs | and that's basically what larry does | 13:53 | |
autrijus | nod. | ||
rgs | autrijus: you know me, I like mucking with optrees :) | ||
autrijus | that's why we pay you Big Money and make you the pumpking! :) | ||
rgs | Big Money ? | ||
autrijus | like, 0e12 or something :) | ||
Steve_p | perlbot, Nicholas? | 13:54 | |
rgs | so far I only had a couple of beers :) | ||
which I'm very grateful for | |||
hi Steve_p | 13:55 | ||
Steve_p | hi rgs :) | ||
perlbot doesn't say the right response yet ;) | |||
rgs | heh | 13:56 | |
rgs out to lunch & | |||
jabbot | pugs - 652 - Adding Algorithm::Dependency for porting | 13:57 | |
13:58
safrican_ is now known as safrican
|
|||
autrijus | I asked alias to hop in here soon | 13:58 | |
Alias_ | dum de dum | ||
autrijus | the plan is to gradually p6ify Algorithm-Dependency | ||
oh. hi! | |||
Alias_ | As the log message says, it's reasonably large, a little trick, and has no external dependencies whatsoever | 13:59 | |
s/trick/tricky/ | |||
autrijus | Alias_: so I trust the A::Dep doesn't really need external deps | ||
yup. | |||
Alias_ | Nope | ||
autrijus | and has well-defined tests. | ||
Alias_ | It's a "green box" | ||
autrijus | so, ideal for p6ification | ||
Alias_ | yep | ||
Shitloads of tight testing, and no deps | |||
autrijus | whose code was it? | 14:00 | |
I see you're listed as the "maintainer" | |||
Alias_ | oh... I tag that on everything | ||
in case there are two authors | |||
Most of that stuff is automated these days | 14:01 | ||
Got sick of maintaining janatorial stuff for 60 modules | |||
:) | |||
autrijus | har :) | ||
can you write a call-for-p6ifier announcement on p6c? | |||
rgs | Alias_: btw, side note : if you like dependency solvers, you should have a look at smartpm.org/ | ||
autrijus | that will likely help to draw in additional people to work on p6ification :) | ||
rgs really off now & | |||
autrijus | Alias_: i.e. extoll the virtue of this green box thing :) | 14:02 | |
theorbtwo | "green box"? | ||
Alias_ | modules on my big module dep graph get coloured green when they have no non-core deps | ||
autrijus | theorbtwo: no external dependencies; tightly tested | ||
genuinely useful | 14:03 | ||
(for many things) | |||
and small enough :) | |||
Alias_ | ironically doesn't support versioned dependencies :) | ||
... yet | |||
autrijus | it's the same virtue as Locale-KeyedText really. | ||
p6c's posting address is [email@hidden.address] and subscription address is [email@hidden.address] | |||
it's not as high-volume as p6l :) | 14:04 | ||
Alias_ | eep, wrong window :) | ||
I'm on enough mailing lists thanks :) | |||
autrijus | you can post without subscribing and tell people to cc you if they have questions, then. | ||
theorbtwo | There's an NNTP server that's nice for occasional reading. | 14:05 | |
autrijus | if you really don't want to do that I'll try posting for you, but that is not as convincing :) | ||
metaperl | I was able to post via nntp.perl.org | 14:06 | |
without joining p6c or p6l | |||
metaperl hugs Gnus | |||
:) | |||
autrijus | that... works too :) | ||
Alias_: can PPI serialize to something else than perl code or internal data structure dumps? | 14:07 | ||
Alias_ | I you want | ||
If you want | |||
autrijus | instrument PPI::Dumper? | ||
the first step is to for haskell to load PPI dump tree | 14:09 | ||
we can certainly write a custom p5 dump parser | |||
or yaml parser | |||
Alias_: will it be lossy if we instrument PPI::Dumper to dump yaml? | 14:10 | ||
i.e. is there self-cyclic blessed substructures? | |||
if not, yaml may be the best way | |||
nothingmuch just spend 30 minutes going through a 50 line perl file | 14:11 | ||
reading every char | |||
Alias_ | p6c email sent | ||
nothingmuch | 100 times at least | ||
trying to figure out where the fscking bug is | |||
autrijus | p5 source -> PPI -> PPI::Document yaml -> Yaml parser -> Haskell YAML AST -> Pugs AST -> runtime | ||
nothingmuch | when it turns out the CSV excel imports is just bad | ||
and the input is really at fault | |||
Alias_ | PPI::Document is non-cyclic | ||
autrijus | woot! | ||
good good | 14:12 | ||
nothingmuch | i think microsoft owes me about 100 hours of my life, and I don't even work on windows | ||
Alias_ | Theres a %PPI::Element::_PARENT hash that does refaddr-indexed upward refs | ||
nothingmuch | Alias_: i think refaddr is flakey on 5.9 | ||
i tried using it a while | |||
autrijus | will check w/ ingy when he's up. | ||
nothingmuch | but stuff got a bit fooey | ||
autrijus | now really food. & | ||
nothingmuch | so i wrote Tie::RefAddr::Weak to complement Tie::RefAddr | ||
otherwise, just use overload::StrVal | 14:13 | ||
scw | Hi, pugs now view '(say "something" if 1)' as valid expression, but should it? | ||
Alias_ | autrijus: in fact, it should dump to YAML quite normally | 14:14 | |
nothingmuch | scw: i think autrijus is keeping it as long as larry doesn't say to remove it | ||
scw | Oh, so it is already on mailing list? sorry for not checking mal^Hil these two days :) | 14:18 | |
Alias_ | autrijus: OK, gotta run, tired. But for the record, if you simply throw a PPI::Document object at YAML, it should dump cleanly. The rest is up to you :) | 14:56 | |
autrijus | scw: no, it's only in #perl6 I think; nobody bothered to check p6c | 15:59 | |
scw: you can certainly ask on p6c; that may help | |||
nothingmuch | blackout in -1 minute | 16:00 | |
nothingmuch wonders if they can shutdown all the machines in time | |||
jabbot | pugs - 653 - * GHC 6.4 compilation sanity; more relen | 16:07 | |
autrijus | hi ingy! | ||
ingy | hi autrijus | ||
good things are happening I see | 16:08 | ||
autrijus | yuppers | ||
hcchien | new module in repository. :) | 16:09 | |
rgs notices Data::COW | |||
ingy | hi hcchien | 16:10 | |
hcchien | ingy: hola | 16:11 | |
ingy | Algorithm-Dependency is Perl5? | 16:12 | |
why is it in modules? | |||
autrijus | ingy: because I invited alias to check in | 16:13 | |
and try to do it piecemeal | |||
instead of only check in after it's all p6ized | |||
alias posted to p6c talking about that. | |||
it will take some time to get thru. | |||
it has no deps, and tests are well-covered | |||
so I gather it makes sense to do a free-for-all p6ization in modules | |||
just as a social experiment. | |||
ingy | ok | 16:14 | |
autrijus | (modules/ is not installed anyway) | ||
ingy | sure | ||
lightstep | Makefile is now broken (8 spaces instead of a tab) | 16:15 | |
ingy | I am torn on whether to work on a perl5 or haskell kwid parser today... | ||
autrijus | lightstep: aw. my bad. | ||
fixing | |||
lightstep: or can you fix it real quick? | |||
lightstep | i don't know makemaker | ||
ingy | I can do it | ||
autrijus | ok. will do | ||
ingy++ | 16:16 | ||
I'm working on changelog. | |||
ingy | wow. all tests passing again | 16:23 | |
is a realease imminent? | 16:24 | ||
autrijus | it is... but I made tests pass by implementing them | ||
not by TODO them. | |||
a release is due in an hour | |||
theorbtwo | Oh, I should put my p5 scripts in the repo, then. | 16:25 | |
autrijus | theorbtwo: right, until/ | 16:26 | |
err | |||
util/ | |||
jabbot | pugs - 654 - Somehow tabs got changed to spaces in Ma | 16:27 | |
pugs - 655 - Rather ad-hoc p5 scripts to make a HTML | 16:37 | ||
autrijus | theorbtwo++ | ||
(!) | 16:38 | ||
# fixauthors.pl | |||
somehow gugod appeared twice in AUTHORS. | |||
theorbtwo | Oh, odd. | 16:39 | |
With different romanized names. | |||
But the same Han name. | |||
autrijus | what's with the irc nicks? | 16:40 | |
looks weird | |||
lightstep | why isn't AUTHORS edited manually? isn't there a closed group that grants contributorship? | 16:41 | |
autrijus | lightstep: syntax error, I can't parse that questions | ||
ingy | autrijus: I think perl6 should install html docs instead of just man pages | 16:42 | |
rgs ponders switching to UTF-8 for perl 5's AUTHORS file | |||
lightstep | if "author" is same as "contributor", and contributors are added manually to the system, why isn't AUTHORS updated manually too? | ||
autrijus | ingy: I happen to agree. | ||
ingy | I'll work on the doc fu today | ||
autrijus | lightstep: AUTHORS is updated manutally. | 16:43 | |
that script just fills in metadata from cpan. | |||
lightstep | oh | ||
theorbtwo | James "theorbtwo" Mastros is the normal way of writing nicknames with proper names, at least in English. | ||
Could have added a column just for it. | |||
autrijus | okay. what if the nick agrees with cpan id? | ||
theorbtwo | Or switched to something like linux's AUTHORS format. | ||
Then I left it out. | 16:44 | ||
autrijus | what is the linux author format? | ||
theorbtwo | Each person gets a \n\n-seperated stanza, with each line having a single-letter prefix for the data-type. | ||
autrijus | hm, ok. | 16:47 | |
xerox | autrijus, what parser do you use in pugs? | ||
autrijus | xerox: src/Rules/ | ||
jabbot | pugs - 656 - * correct some AUTHORS misentries | ||
autrijus | err, src/Rule | ||
which is based on parsec. | 16:48 | ||
theorbtwo: ok. I think that works better. you want to hack toward that? | |||
I'll use your current format for 6.0.11. | |||
theorbtwo | Nod. Will in a while; going to get back to my book. | ||
xerox | theorbtwo, reading or writing it? :D | 16:50 | |
theorbtwo | Reading it. | ||
xerox | hi nothingmuch :D | 16:51 | |
theorbtwo | Star trek: Stargazer: Oblivion. | ||
nothingmuch | hi xerox, all! | ||
theorbtwo | Hi, nothingmuch. | 16:52 | |
nothingmuch can only remember really having liked one sci fi thingy... the 5th element | |||
lumi | Hi nothing | ||
nothingmuch | and scifi is not it's point =) | ||
lumi | Well, it was good | ||
nothingmuch | everything else I tend to look over again, and, err, not appreciate as much | 16:53 | |
ingy | autrijus: I think ActiveState does lib/bin/man/html for install, so I'll copy that style | ||
autrijus | ingy: also did you read about my reservation for having a core doc/ location? | ||
it's not proper module style | |||
lightstep | is Alan Sung gone? | ||
autrijus | lightstep: he is Chen-Lung Song on cpan | 16:54 | |
the cpan name is considered canonical | |||
Cheng-Lung Song, even | |||
ingy | I don't get it? | ||
s/?// | |||
autrijus | ingy: ok. CPAN modules don't have doc/ | ||
if they have pod, they put it in lib/ | |||
ingy | true yes | ||
autrijus | so doc/ is a p5 core special case | ||
well I hate that special case | |||
because it complicates matters | 16:55 | ||
ingy | I never suggested doc/ in modules | ||
autrijus | I love your idea that the core should not have modules of its own | ||
everything should be in ext/ | |||
ingy | only in top level to match perl core pod/ | ||
autrijus | formatted like true modules | ||
in that sense, I propose that we split all the docs into ext/*/doc | |||
or ext/*/kwid/ | |||
or ext/*/whatever/ | |||
instead of a toplevel doc/ | 16:56 | ||
ingy | fine | ||
autrijus | so perlkwid.kwid really belonds to ext/Kwid/ | ||
etc. that has a good effect of making the core "merely a bundle" | |||
ingy | I see, because you want to continue thinking of pugs as simply a Perl5 module :P | ||
autrijus | which is what I've wished all along | ||
no, I want to think pugs as a simple perl6 runtime :) | |||
i.e. I want perlkwid.kwid etc be shared among perl6 environments. | |||
even if pugs ends up becoming the only perl6 implementation, it also has the good effect of cleaner layout | 16:57 | ||
versus the sick special-casing of doc => lib/pod/ | |||
which is sick sick sick. | |||
jabbot | pugs - 657 - * more fixes to AUTHORS | ||
cls_bsd | oh great!! | 16:58 | |
ingy | putting perlkwid.kwid in ext/Kwid makes little sense to me. how about ext/doc | 16:59 | |
there are 108 perl*.pod that need to be integrated | 17:00 | ||
plus more I'm sure | |||
you want a module for each of those? | |||
autrijus | I'm not even sure that we want to keep this perl*.kwid format :) | 17:01 | |
ingy | ? | ||
jabbot | ingy: ōæ½xACOōæ½xB3oōæ½xBCĖŖōæ½xB1ōæ½xB6ōæ½xDC? o_oa | ||
autrijus | never mind. | ||
I was thinking along the lines of "pugsdoc Kwid::Syntax" | |||
ingy | sure | ||
autrijus | because perlsyn etc is now called synopses | ||
so the 108 things can really be integrated along the | 17:02 | ||
ext/Synopses/ | |||
ingy | of course that will be in ext/Kwid | ||
autrijus | etc lines. | ||
I don't think we want to transliterate the perl*.pod just now. | |||
but if that is the case, sure, ext/coredocs/ or just ext/doc/ makes sense. | |||
ingy | ok | ||
I'll work on it. we can always refactor | 17:03 | ||
autrijus | I think we keep it simple for now. | ||
yeah. thanks! ingy++ | |||
theorbtwo | ext/Perl6/Apoclypse01.kwid ? | ||
autrijus | something like that, yes | ||
ingy | gotta run& | ||
autrijus | ext/Pugs/Apocrypha01.kwid | ||
ext/Apocrypha/01Overview.kwid | |||
etc etc. | |||
it's all negotiatable :) | 17:04 | ||
ingy | I'll start with ext/Apocrypha | ||
oops | |||
gotta run& | |||
autrijus | ok, and move the two doc/*.kwid into it. | ||
uh. ok. run then | |||
I'll move it myself :) | |||
lightstep | isn't it ext/Pugs/Apocryphon01.kwid ? | 17:05 | |
autrijus | it is. | 17:06 | |
unless it is ext/Pugs/docs/Apocryphon01.kwid | |||
or ext/Pugs/lib/Apocryphon01.kwid | |||
I am not sure we want to split lib with docs. | |||
I kind of like perl5's treatment of making those two under lib/ | |||
what do you think? | |||
since ingy is away I'll move it myself now :) | 17:07 | ||
pasteling | "gugod" at 61.64.173.217 pasted "Tibeten characters" (1 line, 29B) at sial.org/pbot/8143 | 17:11 | |
gugod | autrijus: can you see those characters ? I have a unicode_varnames.t ready | ||
that's 123456789 in tibeten :P | |||
nothingmuch | gugod: please checkin, i'd like to contribue hebrew =) | ||
the Ord haskell class if a class of types whose values have some kind of order? | |||
gugod | alright | 17:12 | |
theorbtwo | I see them. | ||
lightstep | nm, yes | ||
theorbtwo | Yeah, nm. | ||
gugod | just wondering if perl6 should handle complex combining characters as varnames | ||
nothingmuch | huh? | ||
gugod: as I understand it, it should | 17:13 | ||
gugod | that sounds awesome | ||
theorbtwo | gugod, IIRC, Larry said somewhere that it considers them as a sequence of unicode characters -- that is, it will, iff they're always written the same. | ||
autrijus | gugod: sure, it should. make judicious use of eval"" and todo | ||
and have fun | |||
gugod | I committed | 17:14 | |
theorbtwo | Add a check with a unicode sub name there as well? | ||
nothingmuch | err, it doesn't compile | 17:16 | |
should it? | |||
or is it untested? | 17:17 | ||
jabbot | pugs - 658 - unicode variname name | ||
autrijus | greetings ati | 17:19 | |
gugod | should I make them all inside eval() so that those ok() can all be invoked ? | ||
autrijus | gugod: give me a min | 17:20 | |
nothingmuch | gugod: i'm fixing as we speek | 17:21 | |
speak | |||
i have a version that passes | 17:22 | ||
and also tests hebrew | |||
and english | |||
and umlauts | |||
and french | |||
and arabic | |||
that's as much as I can type | |||
lightstep | what about malformed codepoint sequences? | ||
nothingmuch | lightstep: i think that's a file corruption error, perhaps | ||
not even syntax | 17:23 | ||
autrijus | yup. | ||
17:36
lightstep is now known as lightstep_eating
|
|||
jabbot | pugs - 660 - rename because it should be more than ju | 17:37 | |
pugs - 659 - Some more varnames | |||
nothingmuch | autrijus: when are you going to fix $CALLER::POSITION? | 17:40 | |
autrijus | nothingmuch: I'll look at it now | ||
but I'm still in utf8 | |||
nothingmuch | goody | ||
autrijus | most of your tests passes. | ||
nothingmuch | there's a test for it | ||
autrijus | I mean unicode.t | ||
fixing the rest. | |||
nothingmuch wonders whether to try things like sub Ļ { 3.141 } | 17:41 | ||
sub Āµ ($x) { $x/1000 } | |||
err, * | |||
my $micro = Āµ$unit; | 17:42 | ||
nothingmuch wants to port Data::Dimensions to p6 | |||
autrijus: t/magicals/caller_pos.t | 17:43 | ||
autrijus | danke. | ||
nothingmuch happy | |||
autrijus | hm? :) | ||
only arabic fails. | 17:46 | ||
for some reason. | |||
you sure the arabic is legal? | |||
nothingmuch | the arabic is crap | ||
wilx | Right to left issues? :) | ||
nothingmuch | i don't know it | ||
i just opened the unicode palette | |||
and stuck letters i sort of still remembered in | 17:47 | ||
but IIRC arabic has no funny constraints | |||
autrijus | no, not RTL | ||
nothingmuch | wilx: it's all logical order anyway | ||
and hebrew does work | |||
autrijus | I pasted from wikipedia | ||
then it wors | |||
nothingmuch | ok | ||
autrijus | so I'll just assume your arabic was bad. | ||
nothingmuch | sorry =) | ||
jabbot | pugs - 661 - Add some subs, too, but not for the funn | ||
nothingmuch | is jabbot stealing the data from RSS? | 17:48 | |
autrijus | ok, all passes. | ||
yes. | |||
nothingmuch | because if it is, perhaps the rss feed should be made so it doesn't truncate... | ||
autrijus | I think the bot truncates | 17:49 | |
not the rss | |||
nothingmuch | my rss reader seems to have the same truncations | ||
autrijus | oh. hm. | ||
it's clkao's baby. | 17:50 | ||
btw, r662. | |||
welcome to the age of unicode. | |||
nothingmuch | laa di daa! | ||
nothingmuch wonders what damage this may do | |||
theorbtwo | The arabic might have contained chars that aren't legal in identifers, perhaps? | ||
nothingmuch | theorbtwo: perhaps | 17:51 | |
autrijus | aw. I overwrote your changes. | ||
nothingmuch | given macros we couldl rename the entire language, right? | ||
autrijus | bad me. | ||
nothingmuch | and at the very worse, we could redefine the Perl6 grammer class | ||
autrijus | nothingmuch: can you repair? | ||
nothingmuch | noo!!! | 17:52 | |
oh my, what will i do! | |||
autrijus | just put some of the "sub" tests back | ||
one or two would be fine. | |||
sorry for that. | |||
looking at caller position | |||
nothingmuch | no big deal =) | ||
autrijus | haskell++ # Char is unicode by default | 17:53 | |
so implementing that is piece-of-cake | 17:54 | ||
I'm happy that | |||
isAlpha | |||
Just Works | |||
without any complications | |||
hurray for sanity! | |||
Khisanth | will perl6 be able to be "parsed" from right to left? :) | ||
autrijus | Khisanth: write a macro :) | 17:55 | |
nothingmuch | ook | ||
Khisanth awaits REALLY obfuscated golfing solutions | |||
Juerd | 14:08 < nothingmuch> Juerd will probably be willing to do it too | ||
nothingmuch | Juerd: tee hee | ||
Juerd | No, I'm taking no extra physical or psychological load | ||
I'll sometimes be able to hack some tests or provide informatio | 17:56 | ||
autrijus | bad nothingmuch | ||
Juerd | But in general, do not count on me at all | ||
autrijus | "t/magicals/caller_pos.t at line 12" | ||
should use $?FILE | |||
because it's t\magicals\ on win32. :) | |||
I fixed that | |||
nothingmuch | autrijus: ah | ||
as soon as i get opendiff to work with utf8 | |||
i was thinking of $?PROGNAME | |||
oh, goody =) | |||
but that wasn't impl | |||
i'll update, | |||
Juerd: sorry! | 17:57 | ||
Juerd: i was just sort of brainstorming about who is in europe, and sort of known by everyone | |||
jabbot | pugs - 663 - * use $?FILE not hardcodes | ||
pugs - 662 - * utf8 support | |||
nothingmuch | how do i get see to save a BOM? | 17:58 | |
autrijus | why do you want to save a BOM? | ||
BOM doesn't make sense on UTF8. | |||
nothingmuch | to see if maybe opendiff will make sense | ||
theorbtwo | Sure it does. | ||
Pretty good book, BTW. | 17:59 | ||
autrijus | what is the byte-order of utf8? | ||
theorbtwo | BOM is somewhat misnamed. | ||
"Magic number" is what it is. | |||
autrijus | so "cat" will eat it? | ||
if it doesn't, it breaks some important file assumptions. | |||
namely, plain text should not require magic numbers. | 18:00 | ||
theorbtwo | Cat won't, but it won't eat any other sort of magic number either. | ||
autrijus | <- was biten by Notepad.exe too many times | ||
theorbtwo | Including UTF-16 LE and BE BOMs. | ||
autrijus | true. | ||
if BOM is named "magic number" | |||
I'll maybe see the use. | 18:01 | ||
theorbtwo shrugs. | |||
BOM should be considered whitespace. | |||
autrijus | # www.w3.org/International/questions/...8-bom.html | ||
theorbtwo | ...so it shouldn't matter that it's there, any way you slice it. | ||
(It'll keep a #! from being seen, but that's not pugs's problem.) | 18:03 | ||
autrijus | \xEF\xEE\xBF#!/usr/bin/perl | ||
eh. :) | |||
nothingmuch | heh | 18:04 | |
autrijus | anyway, haskell groks BOM just fine. | ||
so pugs did not do anything | |||
and it's transparently working now. | |||
which is fine; I'll keep it that way :) | 18:05 | ||
nothingmuch | hmm | ||
tests are not passing, autrijus | 18:06 | ||
see woobling.org | |||
autrijus | hm? | ||
pardon? | |||
nothingmuch | the tests for unicode stuff | ||
with sub calls, are not working | 18:07 | ||
but neither are arabic, hebrew, etc | |||
even though I svn upped | |||
autrijus | osx? | ||
ghc 6.2? | |||
nothingmuch | uhuh | ||
uhuh again | |||
is it a notabug? | |||
gugod | wow, hebrew and arabic uncode varanme tests are so cool | 18:08 | |
right-to-left perl! | |||
nothingmuch | gugod: the really nice thing is that { } are displayed like } { when flowed in rtl text | 18:09 | |
so theoretically, if your keywords are RTL | |||
or at least you have dir marks in your unicode | |||
then your editor will display the control blocks correctly | 18:10 | ||
autrijus | gugod: does it work or not? | ||
for you | |||
tr r665 | |||
gugod | trying | 18:11 | |
nothingmuch | oi, what a nasty revision | 18:12 | |
ā¢ [syeeda:/usr/local/src/pugs] nothingmuch % svn up | |||
At revision 666. | |||
autrijus | ;) | ||
nothingmuch | no wonder we're having troublew | ||
autrijus | "6" means lucky in chinese. | ||
and "66" or "666" means "things going really well". | |||
nothingmuch | well, it's meaningless for jews =) | 18:13 | |
autrijus | CALLER_POSITION is so borked. | ||
fixing | |||
gugod | now those latin characters in unicode.t passes | 18:14 | |
autrijus | but not others? | ||
gugod | not Chinese / Japanese / Tibten /Arabic / Hebrew / Arabic | 18:15 | |
autrijus | yow. | ||
gugod | oops, two Arabic | ||
nothingmuch | new unicode.t | ||
autrijus | platform specificism detected. | ||
gugod | oh? | ||
nothingmuch | crap, typo | 18:16 | |
that subcall reads rtl in see | 18:17 | ||
fun fun fun! | |||
jabbot | pugs - 668 - err, id is zehut, not zehu in heb... =P | ||
pugs - 667 - merge todo with subs, and add hebrew sub | |||
pugs - 666 - oops, forgot to increase plan | |||
pugs - 665 - * fix hyperop Prim | |||
pugs - 664 - Japanese unicode varname test | |||
gugod | hmm | 18:18 | |
autrijus | platform specificism detected. | ||
err. sorry | |||
nothingmuch | ook, i zapped japanese | ||
will remerge | |||
gugod | I'm a little confusd about how to read those hebrew tests | 18:20 | |
no, actually I'm /really/ confused now. | |||
nothingmuch | gugod: ×××Ø is bar | ||
read it from × | |||
right to left | |||
autrijus | gugod: think classical chinese | 18:21 | |
nothingmuch | since the sigil is in the context of my in the declaration, it is on the left of the hebrew | ||
the rest is sort of confused in see | |||
sub | |||
×× | |||
{}; | |||
1 | 18:22 | ||
that's the logical order | |||
the second example is also sort of screwed up | |||
except for ××××Ŗ($×××Ø) | |||
ihb | what's "××"? | ||
nothingmuch | "laa" | ||
which reads RTL pretty well | |||
since ××××Ŗ is the sub | |||
and $×××Ø is the var | |||
and even the sigil is on the right that time | 18:23 | ||
sadly so is the single quote ;-) | |||
the arabic reads ok | 18:24 | ||
'my $' | |||
then start reading from the comma | |||
ihb | so, in perl 6, can i write source code from right to left? | ||
nothingmuch | rtl | ||
arabic = 2; $arabic | |||
', 2 | |||
you are now back in the 'my $' sigil | |||
continue to "evaluation" | |||
ihb - it's all logical order, so it doesn't matter | |||
it is written from begining to end =) | |||
jabbot | pugs - 670 - * oops | 18:27 | |
pugs - 669 - * add a missing sub | |||
nothingmuch | everyone: update unicode.t before you edit it | 18:29 | |
autrijus | ok. | 18:30 | |
it all passes for me. | |||
nothingmuch | woot | ||
ghc 6.4? | |||
autrijus | 6.2 | ||
win32 | |||
must be win32 specific. | |||
bad bad. | |||
btw, nothingmuch: indeed sub calls are now evaluated lazily | |||
but in the wrong pad | |||
so all hell breaks loose | 18:31 | ||
nothingmuch++ # uncovering subtle bug | |||
gugod | I'm using ghc 6.2.2 on osx | ||
nothingmuch | *bow* | ||
gugod | and uniocde.t still failed on non-latin characters | ||
nothingmuch | same here | ||
gugod: put yourself in pugs.kwiki.org/?OSXPeople if you're interested | 18:32 | ||
gugod | sure. | ||
autrijus updates README to say [email@hidden.address] | 18:33 | ||
gugod | I got a error message upon saving | 18:34 | |
but it still saves | |||
it appers that Kwiki::Notify::IRC fails :P | |||
Khisanth | hmm | ||
autrijus: could the locale setting affect those? | |||
autrijus | Khisanth: I have no idea. | ||
ask #haskell? | 18:35 | ||
autrijus still fixing callerpos | |||
theorbtwo | Linux, 6.2.2, fails 16/18 tests in t/syntax/unicode. | ||
Khisanth | meh, I'll just run the test.. O_o | ||
autrijus | I'll boot to fbsd shortly after. | ||
Khisanth | 17 & 18 went from failing to passing and back to failing again | 18:36 | |
nothingmuch | Khisanth: could you try svn up -r ... to try and see what passes? | ||
jabbot | pugs - 672 - * mention pugsbugs. | 18:37 | |
pugs - 671 - merge merge merge... *sigh* | |||
Khisanth | nothingmuch: you want the revision where those two were passing? | 18:39 | |
nothingmuch | autrijus prolly wants it, but yeah =) | ||
Khisanth scrolls up :) | |||
that was r688 | 18:40 | ||
wilx | pugspugs, nice name :D | ||
nothingmuch | 668, you mean? | ||
Khisanth | oh wait a minute nvm | ||
it wasn't passing those, they just didn't exist! | 18:41 | ||
nothingmuch | heh | ||
before japanese | |||
Khisanth | going to try with a different locale | ||
nothingmuch | not ok 5 - a m??se once bit my sister | 18:42 | |
pugs (err, ghc?) seems to be downgrading utf8 to ascii | 18:43 | ||
autrijus | callerpos fixed | ||
committing | |||
nothingmuch | dance dance dance | ||
autrijus | the caller scope needs to be entered only in sub body | ||
not in binding time | |||
sub (?$x = $?CALLER::POS) {...} | 18:44 | ||
this now will use the caller's caller | |||
not the caller | |||
which is counterintuitive | |||
but not really seeing how to fix. | |||
nothingmuch | is that a bug? | ||
autrijus | I don't know. | 18:45 | |
attempting a fix. | |||
nothingmuch | i'll test for it as a bug | ||
autrijus | it's tested | ||
in subroutine.t | |||
nothingmuch | ah | ||
Khisanth | t/syntax/unicode.................ok | 18:47 | |
nothingmuch | btw, is $?POSITION the one we're in now? | ||
Khisanth: what r? | |||
Khisanth | nothingmuch: no change from when it was failing | ||
nothingmuch: locale issue | |||
nothingmuch | ah | ||
nothingmuch tried LC_ALL as C and 'he_IL.utf-8' | 18:48 | ||
neither worked | |||
Khisanth | hmm | ||
I used en_US.utf8 | |||
nothingmuch | what did you set it to? | ||
not working for m | 18:49 | ||
e | |||
linux? | |||
Khisanth | yup | 18:50 | |
nothingmuch starts emerging svn et al | |||
Khisanth | err this is r671 | 18:51 | |
vladtz | Is there a way to get an english "Term of use agreement" from rt.openfoundry.org? | 18:56 | |
nothingmuch | vladtz: autrijus says it is basically sf.net's one, | 18:57 | |
18:59
lightstep_eating is now known as lightstep
|
|||
autrijus | hi. | 19:01 | |
vladtz: wagner.elixus.org/~hcchien/termtouse.html | |||
nothingmuch: I'll try to ignore locale. | |||
please try r675. | 19:03 | ||
please try 675 on linuxen, too | 19:04 | ||
nothingmuch | my linux is emerging subversion | ||
will try it soon | |||
oxsx is making | |||
autrijus | I'm seeing a tibetan error | 19:05 | |
fixing | |||
jabbot | pugs - 675 - * fix callerpos bug by only evaluate the | 19:07 | |
pugs - 674 - * unicode is the Only True Locale | |||
pugs - 673 - Chinese sub name | |||
nothingmuch | dum dee dum | ||
nothingmuch grudges at gentoo regenerating ssl keys every time postfix is updated | 19:09 | ||
autrijus | all pass now for me. | ||
r677. | |||
nothingmuch | none passed before 677, except ascii | 19:10 | |
compiling 677 | |||
autrijus | try set LANG=en_US.UTF-8 | 19:11 | |
and LC_ALL=en_US.UTF-8 | |||
nothingmuch | ah, that did the trick for latin | 19:12 | |
including mĆøĆøse | |||
but that still prints as m??se on the terminal | |||
autrijus | okay. I understand now | ||
nothingmuch | however, asian and semite scripts are not working | ||
autrijus | macosx build did not compile in libunicode | ||
that's all. | 19:13 | ||
not fun | |||
nothingmuch | ah | ||
oozy | hi, I try to install Pugs, but gets errors about Ambiguous occurrences from modules GHC.List.null and Data.Set.null, what can I do tot fix this? | ||
autrijus | oozy: are you using GHC 6.4 and Pugs 6.0.10? | ||
oozy | exactly | ||
I do | 19:14 | ||
autrijus | do you have subversion? | ||
oozy | are you telling to get latest Pugs from svc? | ||
autrijus | if you already have subversion, yes. | ||
oozy | ok, thanks I try | 19:15 | |
autrijus | if you don't, try this tarball: | ||
autrijus.org/tmp/Perl6-Pugs-6.0.11.tar.gz | |||
oh good. | |||
nothingmuch wonders what $MACHTYPE/$OSTYPE eq in emacs | |||
oozy | :) | ||
nothingmuch | oozy: svn tree is pretty stable | ||
autrijus | it should be, because I need to roll a release now. | ||
nothingmuch: so what we do about unicode.t? | |||
nothingmuch | i find it always tends to be | ||
autrijus | the problem is clear | 19:16 | |
nothingmuch | autrijus: say unicode is supported if GHC supports it | ||
autrijus | just not sure what to do. | ||
nothingmuch | and complain to ghc folks | ||
autrijus | they can't help either | ||
the underlying OS need to have some way of libunicode | |||
it's up for the porter | |||
to compile with the lib | |||
nothingmuch | by the GHC people I meant those which make the GHC dmg | ||
can't it be compiled properly on OSX? | |||
autrijus | not sure, I hope it can | 19:17 | |
nothingmuch | gentoo: all fail without LC_ALL | ||
all pass with | |||
The Glorious Glasgow Haskell Compilation System, version 6.2 | |||
pugs at head rev | |||
autrijus | okay. | 19:20 | |
lightstep | i get the moose as iso8859-1 | ||
autrijus | try r678 | 19:21 | |
lightstep | (ghc-6.2.2 on debian linux) | ||
nothingmuch | on linux? or osx? | ||
autrijus | either. it should now always pass. | ||
I'm really working on changelog now. | 19:22 | ||
autrijus declares it's freeze time | |||
lightstep | now it says "no unicode support" | ||
677 was better | |||
autrijus | I see. | 19:23 | |
r680? | |||
nothingmuch | =) | ||
autrijus | 680 should be happy. | ||
lightstep | just a moment | 19:24 | |
still iso8859-1 | |||
autrijus | what do you mean "still iso8859-1"? | 19:25 | |
skip("GHC was not compiled with non-latin1 Unicode support, bummer"); | |||
did this line run? | |||
lightstep | no | ||
autrijus | nopaste the full run log. | ||
thanks :) | |||
lightstep | which run log? is succeeded. but the slashed o was latin1, not unicode | 19:26 | |
s/is/it | |||
autrijus | oh oh ok | ||
that's fine. | |||
ghc managed output translations | |||
that's Correct Behaviour. | |||
lightstep | ok | ||
autrijus | nothingmuch: what about osx vs r680? | ||
jabbot | pugs - 680 - * latin1 only | 19:27 | |
pugs - 679 - * oops | |||
pugs - 678 - * don't bomb out on unicode.t | |||
pugs - 677 - * all pass now | |||
pugs - 676 - * unTODO | |||
nothingmuch | ok 1 - ascii declaration | 19:28 | |
not ok 2 - french declaration | |||
# Failed test (t/syntax/unicode.t at line 10, column 5) | |||
ok 3 - # skip GHC was not compiled with non-latin1 Unicode support, bummer | |||
autrijus | so even french failed. | ||
what if you run it with LANG=C ? | 19:29 | ||
or LANG=en_US.UTF-8 ? | |||
nothingmuch | C faukes | ||
fails | |||
en_US.UTF-8 will pass | |||
yup | 19:30 | ||
autrijus | hm. | ||
do you think we should putEnv? | |||
at start of pugs | 19:31 | ||
nothingmuch | i have no clue | ||
autrijus | alternatively, only do that on harness | ||
nothingmuch | i think not | ||
autrijus | thinking. | ||
let me try putenv | |||
theorbtwo | User apps might want to know what the user's locale was set to. | ||
nothingmuch | that makes programs written in perl6 not know what LANG was originally | ||
autrijus | that is true too | ||
nothingmuch: hm. so all other tests passed? | 19:32 | ||
including french quotes and yen? | |||
even under LANG=C? | |||
nothingmuch | autrijus: yes, that stuff works perfectly | ||
autrijus | oooook | 19:33 | |
nothingmuch | it doesn't really matter | ||
if it's not utf8 to parsec or whomever | |||
it's not utf8 in both cases | |||
so it still gets parsed =) | |||
autrijus | does "en.UTF-8" work? | 19:34 | |
nothingmuch | on osx? | ||
theorbtwo | Hm, not working for me even with LANG=en_US.UTF-8 | 19:35 | |
wilx | Hmm.... | 19:36 | |
nothingmuch | autrijus: en.UTF-8 causes french to fail again | ||
wilx doesn't like the way *nix handles locale stuff. | |||
autrijus | sigh. | ||
nothingmuch | handle? what handle? | ||
autrijus | ok, I abandon all hope. | 19:37 | |
lightstep | theorbtwo, which ghc do you have? | ||
autrijus | r683. ;) | ||
jabbot | pugs - 684 - * doc is gone. | ||
pugs - 683 - * sigh. | |||
pugs - 682 - * perlkwid.kwid belongs somewhere under | |||
pugs - 681 - * move to docs for now before we figure | |||
Khisanth | gugod: can you make jabbot print those in the other order? | 19:39 | |
autrijus | 1477 tests now. | 19:43 | |
one week ago it was 1050 | |||
nothingmuch | =) | ||
lightstep | but they fail | ||
nothingmuch | lightstep: a failing tests tests something too =) | 19:44 | |
obra | 50 more tests and pugs will have more tests than RT | ||
lightstep | rt? | ||
obra | make pugs able to run RT and I'll double your test suite ;) | ||
bestpractical.com/rt/ | |||
autrijus | hah :) | ||
nothingmuch: please delete my password. | 19:45 | ||
err, sorry, mischan | |||
nothingmuch | hola stevan | 19:47 | |
stevan | hey there nothingmuch | ||
just the person I was looking for | |||
nothingmuch | =) | ||
jabbot | pugs - 685 - * regen manifest | ||
theorbtwo | Sorry -- GHC 6.2.2, from debian unstable. | 19:49 | |
autrijus | hi stevan! | ||
stevan | hey autrijus | ||
how goes Pugs | |||
autrijus is doing changelog :-/ | |||
stevan | I have been busy with work and "real live" lately sorry | ||
autrijus | that's just fine. | 19:50 | |
6.0.11 will be out in a few mins. | |||
stevan | nice | ||
theorbtwo | s/live/life/ | ||
lightstep | theorbtwo, i have the same problem. i'm installing 6.4 now to see the difference | ||
modules/Sample-Module is missing (this complaint is from Makefile.PL) | 19:55 | ||
or rather, some of its files (meta, blib, etc.) | 19:56 | ||
and there are warnings about orphan instances | 19:57 | ||
in Internals and in AST | |||
jabbot | pugs - 686 - * don't spread my email around. | ||
obra | autrijus: is svn.perl.org reasonably syncced? | 19:58 | |
autrijus | obra: I think so. | 19:59 | |
obra | expected to pass tsts? | ||
autrijus | yeah. what fails? | ||
obra | nothing yet | 20:00 | |
I'm running the suite nopw | |||
obra got a bad idea | |||
or rather, jhi gave me a bad idea | |||
autrijus | yes? | 20:01 | |
rgs | nasty jhui | ||
jhi | |||
obra | Digest::SHA::PurePerl | ||
a necessary precondition of cp6an, in his opinion is working things like FTP and SHA1 | |||
Digest::SHA::PurePerl appears to do math but otherwise be pretty simple | 20:02 | ||
autrijus | sure, but we can also hook haskell Codec. | ||
obra | sure. | ||
autrijus | is ::SHA::PurePerl already on cpan? | ||
obra | yes | ||
In terms of "prove perl6" "hack in a haskell extension" isn't a win | |||
in terms of "Get sha1 working" it's reasonable | 20:03 | ||
but In that case, exec and perl5 would be fine too ;) | |||
Is that at all sensical? | |||
autrijus | of course... | 20:04 | |
ext/Digest-SHA/ awaits you. | |||
want committer bit? | |||
obra | no committer bit until I prove that I have code | ||
autrijus | sure. | ||
obra | "incentive to write code" | ||
autrijus | brb. | 20:05 | |
obra | "incentive to not do customer work I _must_ do before monday" | ||
nothingmuch | obra: a comitter bit will make you feel guilty about not having written code already ;-) | 20:06 | |
obra | nothingmuch: I have rather a lot of committer bits ;) | 20:07 | |
nothingmuch | heh | ||
jabbot | pugs - 687 - * fix manifest | ||
obra | so. um. perl6 tutorials | 20:14 | |
autrijus | Perl 6 Now? | 20:15 | |
wilx | Yay for jabbot! | 20:16 | |
autrijus | kw.pm.org/talks/2004-10-24-Perl6talk.ppt ? | 20:17 | |
wilx | It should print the changes oldest first. | ||
autrijus | wilx: yeah, that's a FAReq :-/ | ||
jabbot is gugod's | |||
obra | is perl6now any good? | ||
theorbtwo | p6now isn't really about perl 6, it's about how to implement p6-like ideas under p5. | 20:18 | |
obra | oh. "enh" | ||
theorbtwo | Came up near the beginning of the project; wanted to use the code examples as tests, but they're p5 code... IIRC. | 20:21 | |
autrijus | there's some p6 code there. | 20:22 | |
but it's not needed anymore | 20:23 | ||
the t/* gang completely overwhelmed its scope. | |||
nothingmuch gloats a bit | 20:25 | ||
;-) | |||
autrijus | nothingmuch++ | ||
testers++ | 20:26 | ||
ok. who has GHC 6.4 on linux? | 20:27 | ||
lightstep | me | ||
autrijus | all tests passed for you? | ||
(ignore the warnings) | |||
lightstep | how do i check it> | ||
? | |||
jabbot | lightstep: ōæ½xACOōæ½xB3oōæ½xBCĖŖōæ½xB1ōæ½xB6ōæ½xDC? o_oa | ||
autrijus | "make test" | ||
jabbot | pugs - 689 - * set properties | ||
pugs - 688 - * changelog for 6.0.11 | |||
obra | I have 6.22. Want me tto upgrade? | ||
autrijus | I don't think 6.4-macosx is out | 20:28 | |
lightstep | i'm pulling right now | ||
nothingmuch | obra: are you osx too? | ||
obra | I have linux and osx | ||
right here, linux | |||
why is algorthm::dependency checked into pugs svn? | 20:29 | ||
autrijus | obra: see backlog :) | ||
obra | it appears to be p5. | ||
how far back? | |||
lightstep | on t/examples: 10/10 skipped, various reaons | ||
autrijus | it's my experiment in doing p6ification in trunk. | ||
obra | ahhhhh | ||
autrijus | modules/ means "does not really work and is not installed" anyway. | ||
and A::Dep is not even in MANIFEST. | |||
so I feel safe. | |||
obra nods | 20:30 | ||
I went looking for example code for modules :/ | |||
autrijus | yeah. :/ | ||
'mafraid there's only t/* for you. | |||
obra | Ok. | ||
what's the right set of tests to learn about setting up package variables, etc | 20:31 | ||
nothingmuch | obra: if you use OSX for dev, perhaps write yourself down in pugs.kwiki.org/?OSXPeople | ||
it's basically a subetha users directory, for pairing | |||
autrijus | autrijus.org/Perl6-Pugs-6.0.11.tar.gz | ||
calling for a final round of tests. | |||
lightstep | all tests succeeded or skipped | ||
nothingmuch | 404 | ||
autrijus | autrijus.org/dist/Perl6-Pugs-6.0.11.tar.gz | 20:32 | |
sorry. | |||
nothingmuch | autrijus+=0; # forgiven ;-) | ||
ime stamp 2005-03-13 22:33:09 is 25 s in the future | 20:33 | ||
heh | |||
autrijus | adjusted back. | ||
stevan | orba if you want module example code,.. you could check Test.pm | ||
theorbtwo | Ah, good, I'm not the only one that's off from Autrijus Standard Time. | ||
nothingmuch | server 128.139.6.20, stratum 1, offset -7.521101, delay 0.04782 | ||
i'm not that good either | |||
theorbtwo | Remind me how to check, nm? | 20:34 | |
nothingmuch | oh, sorry, different box | ||
obra | should this statement work: my $foo = 5; | ||
autrijus | ...yes. | ||
nothingmuch | ntpdate -qd your_server | ||
autrijus | I think. | ||
will be surprised if it does not | |||
nothingmuch | obra: t/op/assign.t ;-) | ||
obra | I'm typing this: | 20:35 | |
pugs | |||
theorbtwo | -0.030720 sec | ||
I'm pretty good. | |||
obra | my $foo = 5; | ||
nothingmuch | oh, in interactive... | ||
obra | >pugs says: undef | ||
lightstep | it only evaluates expressions | ||
obra | I say: | ||
theorbtwo | All succeeded, 11 skipped. | ||
obra | say $foo | 20:36 | |
*** Error: Undefined variable $foo at Var "$foo" | |||
autrijus | context is lost between lines. | ||
that was debated. | |||
nothingmuch | pugs> my $foo = 5; $foo | ||
5 | |||
autrijus | it will be made togglable. | ||
obra | *blink* why would you want to lose context between lines? | ||
autrijus | between lines in interactive shell, that is. | ||
theorbtwo | I rather wondered that as well... | 20:37 | |
nothingmuch | will you implement an :r, to throw away context when sticky, autrijus? | ||
autrijus | uh, because no-one complained loudly :) | ||
nothingmuch: sure, that sounds good | |||
theorbtwo should have been louder. | |||
autrijus | any lambdafolks up for it? :) | ||
nothingmuch | obra, theorbtwo: to sure errors don't leak between your checks | ||
autrijus | otherwise I'll look at it tomorrow. | ||
nothingmuch is too dead to even think he can try | |||
autrijus too, today | |||
obra | to make sure errors don't leak? | 20:38 | |
nothingmuch | .11 passes all | ||
obra: err, if you did something wrong | |||
obra | Is it not supposed to be an interactive environment for pugs in the end? | ||
lightstep | if i look at it in a few hours, who should i report to? | ||
nothingmuch | and you go at it again | ||
bad state might leak | |||
causing stuff which is correct to not be correct, due to screwey environment | |||
theorbtwo | :reset , then. | 20:39 | |
nothingmuch | autrijus: also nice would be the ability to have non balanced structures cause a secondary prompt | ||
autrijus | true. | 20:40 | |
nothingmuch | so you can type: | ||
pugs> {\n | |||
type a multiline expr | |||
and then }\n | |||
and it evals | |||
autrijus | yup. | 20:41 | |
nothingmuch always saw pugs in interactive mode as sort of <code>eval while <></code> | |||
err, before .11 | 20:42 | ||
stevan | this is still testing,..... | ||
I think we have too many tests :P | |||
nothingmuch | t/parser....Perl v6.0.0 required--this is only v5.8.5, stopped at t/parser.t line 1. | ||
BEGIN failed--compilation aborted at t/parser.t line 1. | |||
t/parser....dubious | |||
Test returned status 9 (wstat 2304, 0x900) | |||
FAILED--1 test script could be run, alas--no output ever seen | |||
ooh, LANG=he_IL.UTF-8 bothers make | |||
make[1]: *** [test_dynamic] 2 ××ק×Ŗ | 20:43 | ||
stevan | it probably need #!/usr/bin/pugs at the top | ||
nothingmuch | it types 'error', but in reverse =D | ||
lightstep | make is funny in hebrew | ||
autrijus | 04:42 * CPAN upload: Perl6-Pugs-6.0.11 by AUTRIJUS | ||
if there's bugs, it's now too late :) | |||
nothingmuch | hah | ||
stevan | All tests successful, 11 subtests skipped. | 20:44 | |
Files=87, Tests=1461, 405 wallclock secs (265.73 cusr + 9.47 csys = 275.20 CPU) | |||
lightstep | search.cpan.org/dist/Perl6-Pugs still has only .10 | ||
nothingmuch | lightstep: it usually takes a while | ||
2 hours or so | |||
stevan | lightstep: it will take a few hours to get there | ||
nothingmuch | you can leech of nic.funet.fi if you're really impatient | ||
but search.cpan is the slowest of all | 20:45 | ||
lightstep | i have the svn version | ||
nothingmuch reads a bit of YAHT before sleep | 20:46 | ||
stevan | what is pugscc? | ||
autrijus | stevan: it turns p6 code into standalone exe. | 20:47 | |
same as perlcc. | |||
obra | aw. the test suite has no tests | ||
nothingmuch | obra: you mean Test.pm? | ||
no Test::Ouput yet | |||
anyway, if it was bad, we'd know ;-) | 20:48 | ||
theorbtwo | Oh: It doesn't have +x perms. | ||
autrijus | nothingmuch: you got a "special thanks" :) | ||
# www.nntp.perl.org/group/perl.perl6.compiler/309 | |||
rgs | autrijus: is there an url for the latest pugs ? | ||
lightstep | why are single-statement monadic blocks prefixed with `do'? is this some convention? | ||
rgs | the tarball, i mean | 20:49 | |
autrijus | autrijus.org/dist/Perl6-Pugs-6.0.11.tar.gz | ||
nothingmuch | ooh | ||
rgs | thanks | ||
autrijus | lightstep: yes, some convention. | ||
lightstep | it looks strange in, eg, doRun | ||
nothingmuch | careful, my ego might boil ;-) | ||
autrijus | oh, that. | ||
that's just baskell legacy | |||
it matters little to me anyway. | 20:50 | ||
ok, sleep time. | |||
have fun, folks! | |||
thanks for making 6.0.11 possible! :) | |||
nothingmuch | good night autrijus | ||
great job! | |||
theorbtwo | G'night, autrijus, and congrats. | ||
autrijus | =) & | ||
jabbot | pugs - 690 - * This be Pugs, version 6.0.11. | 20:57 | |
rgs | kwid is no longer installed in latest pugs ? | 21:03 | |
nothingmuch | ext/Kwid | ||
rgs | no, after "make install" | ||
nothingmuch | oh, installed | ||
nothingmuch never installed pugs =P | |||
rgs makes rpms of pugs | 21:04 | ||
nothingmuch | yeah, i misread | ||
rgs | in fact, I use pugs straight from svn, but I have friends who play with it via the rpm | ||
and it amuses me | |||
which justifies the worthwhility of it :-) | 21:05 | ||
theorbtwo ponders a CGI that will deliver a up-to-date .deb. | 21:08 | ||
rgs | theorbtwo: investigate CPANPLUS. | ||
theorbtwo | But that'd only give the latest release. | 21:09 | |
And the release is always out of date. | |||
rgs | yes, the pace is amazing | ||
but you can "make dist" and have cpanplus produce a .deb IIRC | 21:10 | ||
obra | ok. I've got a test patch. what's the right place to get it reviewed? | ||
rgs | p6c I think | 21:11 | |
nothingmuch | obra either pastebot | ||
or subetha pariring | |||
or mailing lists | |||
or just commit and someone will cleanup | |||
theorbtwo | I'd say just put it someplace http-accessable, and point us at it, or commit. | ||
obra | given that it's my first perl6 code and it's a patch to the test harness, I'm not about to commit it without review ;) | 21:12 | |
but as soon as the suite runs, I'll put it up | |||
theorbtwo | Does it work for you? | ||
obra | it's appearing to. but I'm somewhat build-break averse | ||
rgs | obra: so what are your first impressions about writing p6 code ? | ||
obra | "more copmplexity, not any more utility" | 21:13 | |
complexity | |||
nothingmuch | and it's use of zip | ||
obra: for nice p6 only utility see t/op/given.t | |||
err, Ā„ | |||
obra nods | |||
nothingmuch | and for () -> ($try, $expected) | 21:14 | |
obra | sure. I expect this will change once I've used it for more than anhour | ||
rgs hugs perl 6 | |||
nothingmuch | one thing to be weary of: | ||
rgs curses his perl 5 hat | |||
nothingmuch | is($thing, <junction>, "foo"); | ||
obra | fsck.com/~jesse/test.pm6 | ||
nothingmuch | like, is($thing, ("ok value" | "other ok value"), "foo"); | 21:15 | |
this will invoke is twice | |||
once for ok value | |||
and another for other | |||
and one will fail | |||
so you do ok($thing eq junction, "foo") | |||
integral still disagrees with this scheme for junctions | |||
nothingmuch | report_failure could be made cooler: | 21:16 | |
$?CALLER::CALLER::POSITIOn | |||
=), | |||
obra | that will just work? | ||
nothingmuch | uhuh | ||
err, supposed to | |||
will test | |||
obra | Ok. patched | 21:17 | |
and actually, I think I'll switch to integrating with proclaim | 21:18 | ||
theorbtwo | "proclaim"? | 21:19 | |
nothingmuch | theorbtwo: Test.pm internals | ||
obra | see the main code | ||
autrijus wakes up from sleep | 21:20 | ||
nothingmuch | autrijus: CALLER::CALLER? | 21:21 | |
autrijus | just one thing: obra now has the admin bit. if I'm unavailable and someone needs committer bit, ping him :) | ||
nothingmuch | yay! | ||
autrijus | CALLER::CALLER works, no? | ||
nothingmuch | i don't know how to syntax it | ||
autrijus | $?CALLER::CALLER::POSITION | ||
nothingmuch | undef var | 21:22 | |
sub inner { return join("\n", $?CALLER::CALLER::POSITION, $?CALLER::POSITION) } | |||
sub outer { inner() } | |||
autrijus | I see. it's TODO then. | ||
nothingmuch | Undefined variable $?CALLER::CALLER::POSITION | ||
autrijus | the relevant bit is line 225 Eval.hs | ||
nothingmuch | does eval have a caller? | ||
autrijus | you can write a test | ||
nothingmuch | i am writing one =) | ||
autrijus | or attempt a fix by somehow using findVar instead of findVar' in eval line 225. | 21:23 | |
autrijus really sleeps & | |||
nothingmuch | i'll try to grok | ||
mugwump sends autrijus SIGSTOP | 21:24 | ||
mugwump renice's autrijus to 1.5Hz | 21:25 | ||
nothingmuch | mugwump: his irc client is prolly beeping... let him be! | ||
;-) | |||
mugwump | true | 21:26 | |
nothingmuch tries to figure out where caller is defined | 21:30 | ||
hmmm | 21:32 | ||
i think i can actually do this | |||
anybody want to SEE with me? | |||
lumi | You mean someone who actually has a clue? | ||
theorbtwo | I will, but I don't know how useful I'll be. | ||
nothingmuch | err, cluefullness adds up, lumi =) | 21:33 | |
lumi | I'd like to read over your shoulder anyway | ||
theorbtwo | If a third wants to come in, I've been wanting to get some protocol caps of three-party SEE. | ||
nothingmuch | ok, we'll discuss here | 21:34 | |
see freeforall is open at see://woobling.org | |||
lumi: try again | 21:36 | ||
wifi problems | |||
lumi | I'm learning to loath these | ||
nothingmuch | the guy who built our house before we bought it appearantly had a very good friend who was a cement dealer or something | 21:37 | |
that's why i have wifi problems | |||
jabbot | pugs - 691 - test CALLER::CALLER | ||
lumi | I think he did my house as well | ||
nothingmuch | i believe there is about 0.5 meters of concrete, when it sums up, between me and the station | 21:38 | |
theorbtwo | Hmmpf, I'm having network problems; OSX isn't doing DNS, it's trying to do portmapping. | ||
nothingmuch | oi oi oi | ||
theorbtwo: we'll wait a bit then | 21:39 | ||
obra | will $?CALLER::CALLER::CALLER::POSITION work in the end? | ||
nothingmuch | just tell us if you give up | ||
obra - the way it seems like the impl might be, yes | 21:40 | ||
it's just going to be recursive | |||
obra | okm | ||
lumi | Bh | ||
obra | but I should expect that right now, it does not? | ||
lumi | A pox on wifi in all its forms | ||
nothingmuch | obra: not yet, only single level | ||
obra | ok | ||
theorbtwo | Huh? My /var/run is missing! | 21:41 | |
nothingmuch | oi oi oi | ||
nothingmuch begs OSXPeople to join in | 21:44 | ||
everyone that is interested seems to be having some kind of issue with it ;-) | 21:45 | ||
lumi | I've changed my network configuration a little | 21:46 | |
nothingmuch | me too | ||
lumi | (And stayed on irc, a miracle!) | 21:47 | |
nothingmuch | nat punch now goes to ethernet ip | ||
nothingmuch needs to get both interfaces to bind to the same port some how... does arp even allow it? | |||
theorbtwo: how are you coming along? | 21:48 | ||
theorbtwo | Not sure. | 21:49 | |
nothingmuch | shall we start? | 21:51 | |
(this is a vote, larsen, lumi ;-) | |||
lumi | Sure | ||
larsen | ok | ||
nothingmuch | ok | ||
theorbtwo | Go for it; I'll join later if I get this fixed. | 21:52 | |
nothingmuch | first i think we'll start guessing on findVar | ||
lumi | Gr | ||
nothingmuch | as i see it it's taking a varname | ||
the first line is taking the package prefix, and the rest | 21:53 | ||
i.e. foo::bar::gorch is -> foo, bar::gorch | |||
lumi->ping | |||
lumi | Ow | ||
I keep dying | |||
nothingmuch | go somewhere where you have a physical cable =) | ||
lumi | I *do* have physical cable | ||
nothingmuch | anywho,then it's looking at the package variable | 21:54 | |
and if it's CALLER, without the sigil, err sort of | |||
then it calls findVar' inside an env for that context, which does the dirty work | |||
i think what our task is going to be is to make findVar' the general case | 21:55 | ||
or otherwise cause findVar to have another variant | |||
which takes env args | |||
and recurses them | |||
each time dealing with another CALLER prefix | |||
lumi | That is, factor the env thing into findVar'? | ||
nothingmuch | and eventually using findVar' to extract the actual whatever it extracts | ||
i'm not exactly sure | 21:56 | ||
lumi | Hh | ||
nothingmuch | blockedit is fun | 21:57 | |
=) | |||
larsen | :) | ||
theorbtwo | I think you're better off making findVar call findVar instead of findVar' when it sees CALLER. | 21:59 | |
Oh, wait, no. | |||
nothingmuch | theorbtwo: the problem is how to get findVar to look in another env | ||
nothingmuch has commented Eval.hs a bit | 22:00 | ||
you should see, but you have no see. | |||
theorbtwo | Factoring the CALLER bit into findVar'... | ||
Right. | |||
nothingmuch | heh, pun not intendant | ||
heh, pun not intended | |||
theorbtwo | I'll get back to that now. | ||
That's too bad, as it was good. | |||
nothingmuch | theorbtwo: save an image when you get it fixed ;-) | ||
good catch, lumi | 22:01 | ||
lumi | I don't understand the call to caller | 22:03 | |
nothingmuch | anybody got a clue how that call to caller makes any sense as a Num? | ||
lumi | Ehm it's not, is it | ||
nothingmuch | caller n = do | ||
lumi | rv is Just x (x is called caller) | ||
nothingmuch | when (depth <= n) | 22:04 | |
it's $CALLER::FOO -> $FOO | |||
i get this part: (sig ++ (drop 2 name')) | |||
lumi | findvar' x (sig..etc) | ||
What is it? I don't | 22:05 | ||
nothingmuch | since sig and name were sliced properly | ||
i assume drop 2 takes the '::' off of name | |||
lumi | Oh | ||
nothingmuch | oh | ||
the call to caller is not a call to caller | |||
we're used to reading it wrong ;-) | |||
lumi | No, confusing | ||
Yup | |||
nothingmuch | if it were (caller (sig ++)) | 22:06 | |
so what is the caller? | |||
an env? | |||
that is really a function, that is errr, lazifyingly made in to an env? | |||
lumi | It got it from "asks envCaller" | ||
nothingmuch | not rv | ||
findVar' caller | |||
caller is something | |||
lumi | It's Just caller | 22:07 | |
nothingmuch | oh shit | ||
sorry | |||
lumi | The case binds it | ||
nothingmuch | ok | ||
obra | does pugs use the perl5 test harness? | ||
nothingmuch | obra: uhuh | 22:08 | |
what do | and , really do in a function? | |||
case? | |||
lumi | Yes, "if so and so fits, the function = this" | 22:09 | |
Otherwise that | |||
I think | |||
nothingmuch | and comma is and? | ||
how would we extract the caller of a caller? | |||
rv <- asks envCaller | 22:10 | ||
lumi | Yes | ||
I don't know that "asks" magic | |||
nothingmuch | i think we'll deal with it later | ||
lumi | Possibly another <- asks envCaller will get you the next one | ||
nothingmuch | another? | 22:11 | |
how does it keep state? | |||
lumi | It's a monad | ||
nothingmuch | right | ||
but we don't return states to it at the end of findVar | |||
lumi | I see returns in findVar' | 22:12 | |
I don't yet grok it :/ | |||
nothingmuch | return is, as i gather, a way to type do | ||
since do is a number of actions/functions | |||
you declare some to be final | 22:13 | ||
i think | |||
s/think/guess/ | |||
(infer ;-) | |||
lumi | Final? | ||
nothingmuch | the thing whose type is the type of the do segment | ||
hence the type of findVar | 22:14 | ||
okay, lumi, i think i'm sort of done | 22:15 | ||
except for the parrts I really don't know | |||
larsen: any feedback? | |||
lumi | What did you do? | 22:16 | |
nothingmuch | perlbot: nopaste? | 22:17 | |
perlbot | Paste your code here and #perl will be able to view it: sial.org/pbot/perl | ||
pasteling | "nothingmuch" at 212.143.91.217 pasted "findVar for recursive CALLER" (23 lines, 946B) at sial.org/pbot/8151 | ||
larsen | nothingmuch: sorry, I was writing some code for another project | ||
nothingmuch | rv <- -- getNextEnv env | ||
that part we don't know yet | |||
larsen | actually, I'm too ignorant in Haskell to really contribute | ||
nothingmuch | hence it's commented out | ||
well, nevermind then | 22:18 | ||
lumi | I know absolutely nothing, and I think I helped some | ||
nothingmuch | you're picture in the participants window is fun enough ;-) | ||
lumi: liar, you do too know | |||
larsen | nothingmuch: cheers for that | ||
lumi | I do not! | ||
nothingmuch | beh | ||
lumi | I only read YAHT a bit | ||
obra | what's the authenticated svn url for pugs? | ||
nothingmuch svn co svn.openfoundry.org/pugs | 22:19 | ||
and then ci | |||
and it just worked | |||
i guess it uses DAV | |||
obra | ah. ok | ||
obra has a refactored test harness to check in | |||
nothingmuch | obra: does it use CALLER::CALLER? | ||
wtf is envCaller? | 22:20 | ||
lumi | I think the do is magic | ||
nothingmuch | do is pretty magic, yes | 22:21 | |
lumi | I think it passed in a monad, and asks is defined on that monad | ||
I mean, it's "THE" magic here | |||
nothingmuch | that's two levels farther than I understand do | ||
so lets just try asks envCaller, you say? | |||
obra | nothingmuch: it does not. it has a todo for that | ||
nothingmuch | okay, | ||
lumi | I think do topicalizes on a monad | ||
nothingmuch | lumi: elaborate? | 22:22 | |
lumi | You pick somehow a monad, and then you do stuff. And you call other folk who do stuff | ||
Everyone who is do-ing is do-ing with the "topic" monad | |||
<- binds from the monad | 22:23 | ||
I should really start quoting temrs | |||
Terms as well | |||
I'm not sure about the part that picks the monad, but the rest I'm.. fairly sure of | 22:24 | ||
Well, vaguely sure | |||
nothingmuch | that's an oxymoron | ||
theorbtwo | Ugh. | ||
lumi | Aren't there any Followers of the Lambda about? | ||
theorbtwo | I think I need to reinstall my OSX. | 22:25 | |
Join #haskell and ask there? | |||
lumi | Except what's the question exactly | 22:27 | |
"Explain monads, please" is a bit vague | |||
theorbtwo | I certianly don't know. | ||
Going to bed, will probably be back in approx .5hr. | 22:28 | ||
nothingmuch | night, theorbtwo | ||
theorbtwo | Perhaps "do you know where 'asks'" comes from in this code. | ||
Hm, misplaced end quote. | |||
lumi | Right, do pastebots | ||
That's not what I meant to type | |||
nothingmuch | lumi->sanify | 22:30 | |
i get indent errors now, trying to figure out why | |||
lumi | Why'd you take findVar' out of findVar? | 22:34 | |
nothingmuch | trying stuff out | 22:35 | |
to see if i coudl make the error more specific | |||
beh | 22:36 | ||
rewriting | |||
svn revert first, copying new broken version | |||
lumi | It doesn't compile now? | 22:38 | |
nothingmuch | no | ||
ok, this ocmpiles now | 22:39 | ||
lumi | What fixed it? | ||
nothingmuch | i have no clue | ||
i just zapped the change | |||
and rewrote it | |||
cleanly | |||
ok | 22:40 | ||
the recursion works | |||
but asks envCaller is not getNextEnv | |||
lumi | And for our next trick, let's rewrite using Maybe monad :P | ||
Oh.. What does it do then? | |||
nothingmuch | not ok 3 - caller::caller notation works # TODO | ||
# Failed (TODO) test (t/magicals/caller_pos.t at line 24, column 1) | |||
# got: 't/magicals/caller_pos.t at line 22, column 13 | |||
# t/magicals/caller_pos.t at line 22, column 13' | 22:41 | ||
# expected: 't/magicals/caller_pos.t at line 24, column 1 | |||
# t/magicals/caller_pos.t at line 22, column 13' | |||
appearantly asks envCaller always returns the same thing | |||
$?CALLER::POSITION -> $?POSITION in asks envCaller | |||
recursively, till you run out of CALLER | |||
so now lets figure out what asks and envCaller are | |||
lightstep | i think -fno-warn-orphans should be added to line 139 in Makefile.PL | 22:43 | |
obra | once you fix CALLER::CALLER, I'll redo the test suite again | ||
nothingmuch | lumi - join #haskell | ||
metaperl | are there tests written for smartmatching? | 22:45 | |
metaperl does svn update | |||
yup: t/op/smartmatch.t | 22:46 | ||
nothingmuch | ok, back here, to not annoy #haskell | 22:47 | |
it appears like caller n allows you to err, give it an int | |||
jabbot | pugs - 693 - r8413@hualien: jesse | 2005-03-13 17:3 | ||
pugs - 692 - r8412@hualien: jesse | 2005-03-13 17:3 | |||
nothingmuch | and get the same thing as rv <- env | ||
or whatever | |||
obra++ | 22:48 | ||
lightstep | ok | ||
nothingmuch | =) | ||
lightstep: are envs a sort of linked list that is really a stack? | 22:49 | ||
lightstep | to my unsuspecting eye, it seems that the first branch of findVar is never taken | ||
nothingmuch | it is | ||
at least, i am nearly sure | |||
lightstep | oh, i misinterpreted the (:) in breakOnGlue | 22:50 | |
they are stacked, through envCaller | |||
nothingmuch | look what we've come up with: | ||
lightstep | envCaller :: Env -> Maybe Env | ||
nothingmuch | perlbot: nopaste | ||
perlbot | Paste your code here and #perl will be able to view it: sial.org/pbot/perl | ||
pasteling | "nothingmuch" at 212.143.91.217 pasted "new findVar" (24 lines, 1K) at sial.org/pbot/8152 | 22:51 | |
nothingmuch | lightstep: where do you read that? | ||
lightstep | is it supposed to be equivalent? | ||
nothingmuch | ATS.hs | ||
lightstep | line 487 on AST.hs | 22:52 | |
nothingmuch | no, it's supposed to recurse, running findVar' on the highest env | ||
xerox | 'night folks | ||
nothingmuch | err, highest -> shallowest | ||
night xerox! | |||
removing a level for every time package isa CALLER | |||
as we gathered, the first findVar thingy will match a name which has 'CALLER::' in it | 22:53 | ||
and will put the part before that in sig, and the part after in name' | |||
and then should call findVar' oneUpperEnv (newname) | |||
lightstep | it seems to want "<sig>CALLERCALLER::<name'>" | 22:55 | |
i mean, the guard | |||
oh, not | |||
nothingmuch | lightstep: it does seem to work | ||
guard = | ... | otherwise? | |||
$?CALLER::CALLER::POSITION did not parse before | |||
lightstep | yes | ||
nothingmuch | and now it basically folds into $?CALLER::POSITION | 22:56 | |
which folds into $?POSITION in envCaller | |||
except that envCaller stuff doesn't add up | |||
lightstep | it requires "<sig>CALLER::<name'>" | ||
nothingmuch | yah | ||
and then it mushes <sig><name> to make a new name | |||
so how do we recurse upwards through the env stack? | 22:58 | ||
i don't understand data Env = Env {} | |||
lightstep | it's a record | ||
nothingmuch | ah | ||
how does one fudge a record's contents? | |||
lightstep | and the field names are the same as the names of the extractor functions | 22:59 | |
nothingmuch | someEnv <-- envCaller | ||
will yield the envCaller record of ...? | |||
findVar' 's env param? | 23:00 | ||
lightstep | (envCaller someEnv) is the obvious field | ||
nothingmuch | err, someEnv <- envCaller | 23:01 | |
lightstep | it's illegal | ||
the thing on the rhs of a <- must be a monad value | |||
nothingmuch | why is envCaller monadic? | ||
or called in a monadic fashion? | |||
oh crap | |||
err | |||
=) | |||
lightstep | envCaller is a regular function | 23:02 | |
nothingmuch | rv <- asks envCaller | ||
lightstep | this gets the caller of the current env | ||
nothingmuch | and the current env is ... env? | 23:03 | |
obviously not, otherwise it'd be giving back the same thing | |||
lightstep | the env of the current evaluation state | 23:04 | |
nothingmuch | rv <- asks envCaller env -- does this make sense? | ||
err, (envCaller env) | |||
lightstep | i need a few moments, to figure out these lines of code | ||
theorbtwo returns | 23:08 | ||
nothingmuch | hola theorbtwo | ||
nothingmuch yawns | 23:12 | ||
lightstep | now i grokked the code | 23:13 | |
what is the problem? | |||
nothingmuch | it is late | ||
that's the main problem | |||
lightstep | indeed | ||
nothingmuch | ;-) | ||
the second problem is: | |||
envCaller | |||
err | |||
lightstep | rv <- asks envCaller | ||
nothingmuch | rv <- asks envCaller | ||
lightstep | yes | ||
nothingmuch | i don't see how it know which env to get the envCaller out of | ||
lightstep | like in env <- ask | 23:14 | |
nothingmuch | that part i didn't understand either | ||
lumi pointed out that it's the current env | |||
and that made sense | |||
lightstep | a type like Eval a contains a value of type a, and an evaluation state | ||
it is invisible and magical | |||
monadic, in other words | 23:15 | ||
nothingmuch | ... because it is a monad | ||
ok | |||
lightstep | env <- ask | ||
gives env the environment part of that stat | |||
*state | |||
and asks likewise | |||
nothingmuch | ... parsing ... | 23:17 | |
lightstep | but you don't want this | ||
nothingmuch | by saying env <- ask | ||
i, err, | |||
fudge the monad | |||
so that asks frobnicates it correctly? | |||
lightstep | yes and no | 23:18 | |
nothingmuch | for simplicity shall we assume yes or no? | ||
note that i am no where near monads in YAHT | |||
lightstep | since you want rv to be the caller of env, not of the current evaluation state | ||
nothingmuch | right | ||
lightstep | using asks will get the current evaluation state | ||
nothingmuch | ah | ||
lightstep | to get the caller of env, just use envCaller env | ||
nothingmuch | so i should just do away with the monad stuff | 23:19 | |
ok, i see | |||
case (envCaller env) of ...? | |||
lightstep | yes | ||
nothingmuch | or let rv = envCaller env | ||
lightstep | both are good | ||
nothingmuch | ok | ||
sounds logical | |||
lightstep | i'd dispose of the `do', but it's a matter of coding style | ||
nothingmuch | now why didn't we see it before... ;-) | 23:20 | |
because now it's not necessary? | |||
wow! | |||
ok 3 - caller::caller notation works # TODO | |||
nothingmuch hugs lightstep | |||
lightstep | now i'll get to the Maybe monad part | ||
nothingmuch | and llumi and larsen and theorbtwo | ||
larsen | :) | 23:21 | |
theorbtwo ? | 23:22 | ||
pasteling | "lightstep" at 212.235.32.146 pasted "findVar name= do env <- ask fi" (25 lines, 1K) at sial.org/pbot/8155 | 23:23 | |
lightstep | damn | ||
tab doesn't work well | |||
nothingmuch | lightstep: all of pugs' haskell is spaced at 4 | 23:24 | |
i think | |||
obra: enjoy CALLER::CALLER, 694 | |||
lightstep | i tried to type "tab space" in the edit box, and it pasted | ||
nothingmuch | ah, i get it... heh | ||
obra | nothingmuch: does CALLER::CALLER::CALLER work? | 23:25 | |
nothingmuch | theoretically yes, it's recursive | ||
obra | col | ||
Juerd | Is there a way to figure out what the first caller namespace is of a caller that isn't the current sub? | 23:26 | |
nothingmuch | Juerd: rephrase please? | ||
jabbot | pugs - 694 - CALLER::CALLER with lightstep, lumi, and | 23:27 | |
nothingmuch | obra: 695 tests CALLER::CALLER:CALLER, and it works | 23:29 | |
Juerd | nothingmuch: In a recursive sub, how do you get to the caller of the sub that initiated the recursion | 23:31 | |
nothingmuch | ah | ||
errm | |||
lightstep | ouch | ||
do you include mutual recursion? | |||
Juerd | s/caller/namespace of the caller/ | ||
lightstep | and some functions call themselves on multiple points... | 23:32 | |
Juerd | lightstep: I don't know what that is. | ||
nothingmuch | eval '$?' ~ join("::", ("CALLER" xx $current_level)) ~ "::POSITION"; # ;-) | ||
I would guess the proper idiom would be, err, something like: | 23:33 | ||
sub function { ## blah blah, set up $CALLER:: introspection | |||
recursive_function($outercaller_info, @params) | |||
} | |||
sub recursive_function ($caller, @params){ ... } | 23:34 | ||
anyway, i need sleep | |||
work tomorrow | |||
Juerd | nothingmuch: Or, if we can iterate over the caller stack, | ||
nothingmuch | i don't know how we'd do that though | 23:35 | |
is that for p6l? | |||
lightstep | is there a CALLER::sub_id ? | 23:36 | |
Juerd | $::( (first { not &?SUB :=: &$_ } @?CALLERS).namespace )::_ | ||
nothingmuch is too tirred to remember what synopsis CALLER/OUTER are in to check what might make sense | |||
Juerd | This was hard to write :) | 23:37 | |
lightstep | with anonymous functions (closures), it's getting really hard to know what really is recursion and what is just a sequence of successive calls to the same function | ||
nothingmuch | oh my | ||
Juerd++ | |||
that's beautiful | |||
nothingmuch forgot all about :=: | |||
Juerd | I suddenly realised it has no negated version | ||
nothingmuch | and actually $?SUB too | ||
lightstep | what is :=: ? | ||
Juerd | Perhaps :!=: is implied | ||
nothingmuch | lightstep: identity | ||
jabbot | pugs - 696 - Also test for just plain old $?POSITION. | ||
pugs - 695 - Also check error condition, and three le | |||
Juerd | lightstep: See my talk for a quick introduction of all weird new operators (except the ones for sub calling) | 23:38 | |
nothingmuch | the first caller which is not the same thing as $?SUB (the current sub), is what we're after | ||
Juerd | lightstep: juerd.nl/, most recent news item | ||
nothingmuch | err, rather, it's namespace is what were after | ||
then we just smudge that into the $::( <here> ):: | |||
Juerd | See the slide titled "Binding" | 23:39 | |
nothingmuch | Juerd: does caller reach into lexical or dynamic scope? | ||
Juerd | nothingmuch: Any score. | ||
$CALLER::foo is $foo as it would be in the caller | |||
nothingmuch | isn't that naughty? | ||
well, err | |||
Juerd | That can be global, lexical, dynamically global or lexical | ||
nothingmuch | enough rope to hang yourself =) | ||
Juerd | It's like eval '$foo' in a B:: sub in Perl 5 | ||
eh, DB:: | |||
(perldoc -f eval) | 23:40 | ||
nothingmuch: You get punished by not getting to make use of some optimizations. | |||
nothingmuch | Juerd: thanks for eval link, that's both scary and fun at the same time | 23:41 | |
Juerd | nothingmuch: See also tnx.nl/include | ||
nothingmuch | also, i'd like to hear about optimisation crap, but tomorrow | ||
now i sleep | |||
Juerd | I don't know that crap | ||
So don't ask me | |||
nothingmuch | because i already am | ||
ok, i will speculate =) | |||
uh, why tnx.nl/include? | 23:42 | ||
for DB::? | |||
Juerd | eval fun | ||
With DB:: | |||
It's actually implementing include() as I want Perl 6 to have by default | |||
nothingmuch | aha | 23:43 | |
Juerd++ | |||
lightstep | what us // ? | ||
Juerd doesn't dare asking, because people will only say it's PHP-ish and thus bad. However, there are some situations in which very simple inclusion is in fact the best solution, so I'll make it work in Perlego. | |||
lightstep: defined-or. | |||
nothingmuch | very nice | ||
what is perlego? | 23:45 | ||
perl for foreigners? | |||
Juerd | A better Perl 6. | 23:46 | |
In my opinion. | 23:47 | ||
Also, *following* my opinion. | |||
nothingmuch | made by fudging the grammer at runtime? | ||
or deeper than that? | |||
Juerd | That, and maybe adding some useful methods or functions | ||
Maybe macros can implement all I need | |||
mugwump | so will there be seperate directories in Dialects for each specific ego? :) | 23:48 | |
Juerd | It should be entirely compatible with vanilla Perl 6 | ||
So that you can add it to any existing file. | |||
brb | |||
mugwump | Maybe I should make one where any() junctions autothread on creation rather than when being passed to a function | ||
nothingmuch goes to slee | |||
well, enough | |||
p | |||
lightstep | i'll go join nothingmuch | 23:49 | |
g'night all | |||
Juerd | mugwump: Perhaps | 23:59 |