Run Perl6 Now! | pugscode.org ('Overview', 'Journal') | pugs.kwiki.org | chan now logged: xrl.us/e98m Set by theorbtwo on 28 February 2005. |
|||
wolverian | hah. nice bug with shift() | 01:17 | |
ingy | back | 02:01 | |
stevan | ingy: do you know if open() and readline() was working? | 02:05 | |
ingy | stevan: I don't thinkso | 02:06 | |
I didn't see any tests or other code using file input | |||
I need it for my Kwid test harness | 02:07 | ||
wolverian | creating a filehandle seems to work to some extent, but it is always closed | 02:08 | |
that is, I can't hGetLine or hPutStr. | |||
ingy | I want to port IO::All to pugs | ||
stevan | wolverian: I can write to a file, but not read it | ||
thats enough to do a test though | 02:09 | ||
I can just eval the read tests | |||
wolverian | stevan: how? | 02:10 | |
oh, > works. | |||
stevan | yeah | ||
wolverian | < is a unknown mode. :) | ||
stevan | yup | ||
wolverian | s/a/an/ | ||
stevan | actually from what I can gather form the Haskell, read mode is "" | 02:11 | |
so open("file") defaults to read | |||
wolverian | but it doesn't work. | ||
stevan | yeah it doesnt :) | ||
but broken stuff has not stopped me from writing tests yet :P | |||
wolverian | hehe. | ||
stevan | write will also create the file too | 02:12 | |
wolverian | it's neat how irrational I can be about programming languages. I just don't feel comfortable coding python, even though I consider it a very good language. (just as good as perl, or ruby, and in many cases better.) | 02:28 | |
also, ruby would be my favourite language if not for the Proc/block separation. | 02:31 | ||
stevan | r404 and we are up to 926 test | 04:14 | |
my goal is 1000+ tests by the end of the week ;-) | |||
nnunley | ;) | ||
No problem. | |||
2 days. 80 tests. | 04:15 | ||
stevan | shouldnt be a problem, thats about the average lately anyway | ||
nice! rt.openfoundry.org/Foundry/Project/.../pugs/log/ | 04:17 | ||
I only just saw this :P | |||
nnunley | stevan: I realized there was another path towards testing the pretty printing... We could export a function into pugs that pretty prints an evaled statement. | 04:19 | |
Into a string. | |||
And then use 'is' testing. | |||
stevan | nnunley: that would work | ||
although I was considering learning Haskell to write that test | 04:20 | ||
but realistically if I can do it in perl, it will get done much quicker | |||
nnunley | stevan: If at least 1 of us learns enough of QuickCheck to start testing the haskell core, then we can ensure some really nice coverage. | ||
Preferably 2. | |||
stevan | nnunley: isn't QuickCheck the specification based testing tool? | 04:21 | |
nnunley | stevan: Exactly. | ||
stevan | tmoertel's LectroTest is based on that | ||
hmmmmmm | 04:22 | ||
nnunley nods. | |||
And shapr has a standing offer to help us with groking its usage. | |||
stevan looks for that YaHT PDF he downloaded yesterday | |||
I need file test operators too | 04:24 | ||
to round out the tests t/op/io.t | |||
*sigh* | |||
wolverian | does an infix:<foo> declaration work yet? :) | 04:25 | |
Steve_p | shapr's mentioned he's done qite a bit with QuickCheck | ||
buu | wolverian: | ||
wolverian: I seriously doubt it=] | |||
nnunley | Steve_p: Yeap. He's got a TDD version of QuickCheck. | ||
stevan | wolverian: doubt it, i was just reading Prim.hs and didnt see anything that looks remotely like it | ||
wolverian | stevan: right. it doesn't seem to work. | 04:26 | |
buu | infix:<Z> { zip(@_) } | ||
wolverian: What is the full syntax for those declarations anyways? | |||
wolverian | I'd like to infix is() | ||
stevan drools at the idea of creating my own infix operators | |||
nnunley nods at wolverian. | |||
wolverian | buu: sub infix:<foo> (...) { ... } | 04:27 | |
buu | Oh | ||
nnunley | foo is bla because "I said so" | ||
buu | Simple enough. | ||
I thought there already was an infix 'is' | 04:28 | ||
nnunley nods | |||
buu | for @x -> $_ is rw { } | ||
nnunley | Actually, it's adverbial. | 04:29 | |
IIRC. | |||
buu | Perl6, why are you so scary | ||
nnunley | sub infix:<foo> is parsed /(.*)foo(.*)/ {...} | ||
buu | ! | 04:30 | |
Oh god | |||
#writing sub languages in perl is bad idea | |||
stevan | uh oh I think buu's head is going to explode again | ||
nnunley grins. | 04:31 | ||
buu | Too late =[ | ||
nnunley | buu: And there will be rabbits, too. | ||
buu | nnunley: Oh goody. | 04:32 | |
Do I get my own rabbit? | |||
wolverian | nnunley: doesn't that need to be a macro? | ||
(since it needs to parse the code itself, so it needs to do it at compiletime.) | |||
(I think.) | 04:33 | ||
buu: heh, I forgot that. :) | |||
mauke | sub infix:<IsNot> is patented {...} | ||
tmoertel | stevan: did you have questions about QuickCheck? | 05:09 | |
stevan | tmoertel: no, not yet, still working on Haskell itself | ||
nnunley: r405 and up to 969 tests | 05:31 | ||
:) | |||
nnunley | Slow down, man... Save some for the rest of us. ;) | 05:32 | |
stevan++ | |||
stevan | nnunley: no doubt there will be plenty more needed | ||
we dont even have classes yet | |||
and forget about reg-exps | |||
nnunley nods | 05:33 | ||
And rules | |||
stevan | yup | ||
nnunley | I'm guessing that rules might come next... With them and PGE, we very close to bootstrap. | 05:34 | |
stevan | nice | 05:35 | |
although I have to admit, I want to try out the classes more | |||
nnunley nods. | |||
stevan | ok,.. off to sleep for me, later all | 05:37 | |
nnunley waves. "Sleep well." | |||
tmoertel | 'night | ||
ingy | hola | 07:06 | |
autrijus: ping | 07:07 | ||
buu | HALLO | 07:12 | |
ingy | hi buu | 07:13 | |
buu | Hi ingy! I recruited someone else to make fun of kwid | 07:14 | |
ingy | what is your deal? | ||
buu | um | 07:15 | |
3 queens and a two | |||
I pass | |||
ingy | later | ||
viirya_ | yyyy | 07:34 | |
ingy | viirya_: do you know haskell? | 07:35 | |
Khisanth | the syntax looks scary | ||
viirya_ | ingy: a bbit | 07:40 | |
weridly, making pugs causes very high loading now. | 07:47 | ||
what's wrong | |||
buu | Fine for me | 07:49 | |
ingy | autrijus: hihi | 07:50 | |
autrijus_ | greetings lambdacamels | ||
ingy | autrijus_: too | ||
autrijus_ @ AOSS "Standards" working group | |||
ingy | I am transcribing YAHT to Kwid | ||
autrijus_ | oooh. | 07:51 | |
ingy | while waiting for you to show up | ||
autrijus_ | I fixed the open"<" bug; working on open some mor | ||
e | |||
ingy | I have a simple haskell question | ||
autrijus_ sees many new tests committed | |||
sure? | |||
ingy | you++ | ||
autrijus_ | (also, #haskell is a good place to have simple haskell questions answered) | ||
ingy | I have an array of strings | ||
and I want to listify it | 07:52 | ||
autrijus_ | you mean, a list of strings | ||
but go ahead | |||
hmm? | |||
ingy | well I want to use the list where strings are expected | ||
btw, I am sitting on a very nice patch | 07:53 | ||
autrijus_ | you can use "concat" | ||
ingy | just need this to finish it | ||
actually it is done | |||
autrijus_ | concat ["1","2","34"] -- "1234" | ||
ingy | no | ||
autrijus_ | write code, not words :) | ||
ingy | I want "1", "2", "3", "4" | 07:54 | |
autrijus_ understands code better than words | |||
you want to join them with comma? | |||
ingy | ok... | ||
Khisanth | heh just got up to that part in YAHT :) | ||
ingy | hold on | ||
I am using unlines | 07:55 | ||
which takes a list of strings | |||
autrijus_ | and join them with "\n" | ||
that's correct | |||
ingy | let me try something | 07:56 | |
viirya_ | why new pulled code hard to build? | ||
making high loading, and in slow scramble. | |||
ingy | foo = ["1", "2"] | 07:57 | |
unlines [foo, "3", "4"] | |||
I want foo to list its contents | 07:58 | ||
because the above is invalid | |||
viirya_ | just unlines $ foo ++ ["3","4"] | 08:00 | |
guess what you need is that. | 08:01 | ||
ingy | that works | ||
I tried it without the $ | 08:02 | ||
why is the $ needed? | |||
viirya_ | unlines (foo ++ ["3","4"]) works too. | ||
ingy | oh I see now | 08:03 | |
viirya_ | unlines don't know what's foo ++ ["3","4"] | ||
ingy | I would think ++ binds tighter | ||
thanks, it works | 08:04 | ||
pugs now has -V | |||
autrijus_ | woot | ||
ingy | which comes from the new Config.hs | ||
autrijus_ | no, function application always binds tightest | ||
can't have any operator that binds tighter than function application in haskell | |||
clkao | autrijus_: yo, come around #svk | 08:05 | |
autrijus_ | however useful it may be | ||
ingy | cool | 08:06 | |
it is a pitiful -V | |||
but it's a start | |||
buu | ingy: I can parse text, verbatim and .verbatim! | 08:08 | |
autrijus_ | ooh! | ||
buu | Yeah =/ | ||
But I think I finally have a clean design to expand to the rest of kwid. | |||
ingy | buu: cool | ||
buu | yeah | 08:09 | |
cls_bsd | ok, make nightly build again | ||
svk up -s ; perl Makefile.PL; make | |||
autrijus_ | cls_bsd: you are holding nightly builds | ||
?' | |||
buu | ingy: =header is invalid, right? It has to be: = header; ? | ||
viirya_ | compiling in turtle speed... | 08:10 | |
autrijus_ | sorry, I'm involved in the conf right now, discussing revisions for the PO format | ||
ingy | buu: correct | 08:11 | |
(and documented) | |||
buu | Yeah yea. | ||
You were closer. | |||
ingy | you should carefully read perlkwid at least once | ||
buu | I did. | 08:12 | |
ingy | maybe twice :p | ||
buu | Well yeah | ||
I keep re-reading secitons | 08:13 | ||
But while I'm asking you questions, should: =foo; be an error or just plain text? | |||
ingy | plain text | 08:14 | |
cls_bsd | sudo pkg_delete /var/db/pkg/bsdpan-Perl6-Pugs-6.0.9/ ; sudo make install clean | ||
hmm | |||
always doing this | |||
cls_bsd considering about make pugs in ports even when pugs is still alpha | |||
viirya_ | give up compilation | 08:16 | |
buu | ingy: Is there any particular reason you made *foo*,*bar*,*baz not bold? | 08:17 | |
ingy | it is too problematic imo | 08:18 | |
buu | Well, I can see stuff like foo* bar* baz; | ||
ingy | *foo*, *bar*, *baz* is bold | ||
buu | Good point. | ||
ingy | and you can always {*foo*},{*bar*},{*baz*} | 08:19 | |
buu | Well yes | ||
ingy: line 190 "If you start ith bullets or numbers, stick with them, as formatters use the first "=item" type to decide how to format the list" | 08:20 | ||
Should that be there? | |||
theorbtwo | Question: What is $foo{`clear`} ? | ||
I'd insert a "may". | 08:21 | ||
ingy | buu: I'll fix that | ||
buu | theorbtwo: Er, kwid doesn't have =item tags =] | ||
theorbtwo | Oh. Right. | ||
buu | ingy: And inside a .list region, is there any difference between - and * thingies? | 08:22 | |
ingy | yes | ||
- foo() | 08:23 | ||
blah blah | |||
it is just like the diff between | |||
=item foo() | |||
and | |||
=item * | 08:24 | ||
buu | Er, sorry, I'm not following | ||
oh | |||
"- for things that look nothing like bullets or numbers" | |||
ingy | :) | ||
buu | I see. | ||
ingy | pod has 3 list types | ||
autrijus_ | ingy: ooh xliff-tools.freedesktop.org/wiki/Pr...iffPoTools | ||
buu | So if I was rendering - foo; as html | 08:25 | |
autrijus_ | ingy: you may or may not like that, but it looks sensible | ||
buu | Would I use <li>, despite the bullet? | ||
ingy | bulleted, numbered and worded | ||
buu: html has nothing to do with parsing | |||
buu | ingy: Right. | ||
I was just curious | |||
ingy | buu: you can use whatever you want | 08:27 | |
buu | heh | ||
ingy | you can have multiple html formatters | ||
buu | Well yeah | ||
ingy | look at what various pod2html formatters do | 08:28 | |
theorbtwo | I'd use li, certianly. If you really want a certian sort of bullet, use CSS or the type= parameter. | 08:30 | |
buu shrugs | |||
Just an idle curiosity. | |||
ingy | autrijus_: Config stuff checked in | 08:31 | |
you should take a look | |||
theorbtwo | Semantic markup is the most important sort, IMnsHO; use CSS if your semantic markup doesn't make the browser display what you want. | ||
autrijus_ | ok, updating | 08:32 | |
ingy | Next step is to rework the installation of modules into the perl6 paths | ||
autrijus_ | woot. | ||
mmm bin/ | |||
can I move it to script/ ? | 08:33 | ||
ingy | I did some clever heuristics to make perl6 module directories | ||
autrijus_ | to agree with makemaker convention | ||
buu | theorbtwo: I need some way to use kwid as xml =[ | ||
autrijus_ | and to avoid clashing with the haskell/eclipse conventino of putting executables produced to bin/ | ||
ingy | um | ||
it's not an installed script | |||
it's part of the build process | 08:34 | ||
autrijus_ | then util/ | ||
ingy | sure | ||
autrijus_ | is a better idea | ||
please do so if you can :) | |||
ingy | ok | ||
autrijus_ is entangled is weird ISO stuff | |||
hi nothingmuch! | 08:37 | ||
nothingmuch++ # donor | |||
nothingmuch | =) | ||
autrijus_ | nothingmuch++ # paypal'ing me for the cause | ||
nothingmuch: I've synced darcs repo | |||
nothingmuch | autrijus_: grazie | ||
say | 08:38 | ||
yesterday i tried my first hours or so with pugs and stuff | |||
theorbtwo | Allo, nothingmuch! | ||
autrijus_ | cool. | ||
nothingmuch | hola, orb! | ||
stevan said I should try testing the open op | |||
autrijus_ | the fatal error in eval"open()" is fixed | ||
will commit soon | |||
nothingmuch | so i did | ||
ingy | autrijus_: bin->util done | ||
nothingmuch | but i didn't get far at all | 08:39 | |
autrijus_ | ingy: danke | ||
nothingmuch | i'd like to get a sort of handle on what is available, language wise | ||
autrijus_ | nothingmuch: the bottom of Prim.hs | 08:40 | |
ingy | night all... | ||
autrijus_ | nothingmuch: and grep for todo_ in t/ | ||
nothingmuch | for example, my $handle = eval { open "non_existing_file" }; didn't work well for me | ||
autrijus_ | should give a pretty good idea | ||
there is no eval {} | |||
nothingmuch | right | ||
autrijus_ | yet | ||
there's only eval "" | |||
because in p6 it's try{} now. | |||
nothingmuch | but it "worked", in that it didn't complain much | ||
autrijus_ | gone was the punning | ||
nothingmuch | i tried try first | ||
but that didn't work at all | |||
autrijus_ | yeah, and try{} is not there :) | ||
you want it? | |||
I can code it up :) | |||
nothingmuch | so buu suggest eval {}, and it gave the impression that it was working | ||
i'll make deal | 08:41 | ||
if you give me try and catch, with throwable stuff | |||
i'll give you tests | |||
;-) | |||
autrijus_ | uh... the norm here is the other way around :) | 08:42 | |
tests first etc | |||
nothingmuch | anywho, i shouldn't get carried away | ||
test & code simultaneously | |||
autrijus_ | but sure, considering your generosity, I can try to get try working | ||
nothingmuch | i'll do it this afternoon | ||
well, no, bass lesson. This evening | |||
autrijus_ | cool! | ||
nothingmuch | don't rush it | ||
buu | nothingmuch: I have no idea what's actually working. | ||
nothingmuch | it will take me long | ||
buu | I was just randomly guessing. | ||
nothingmuch | spreading disinformation, huh? | ||
anywho, i just dropped in to give buu a link (www.findinglisp.com/blog/2005/03/da...ited.html) | 08:43 | ||
so now i have to go back to real work | |||
ciao! | 08:44 | ||
autrijus_ | Can't locate Spiffy.pm in @INC (@INC contains: C:/perl/lib C:/perl/site/lib .) a | ||
wilx | I just updated pugs. | ||
Chasing modules from: Main.hs | |||
Main.hs: | |||
Can't find module `Config' | |||
autrijus_ | ingy: thou shalt not pollute the tree | ||
wilx | Oh, now I get it. | ||
Geez, do I really need to configure? | |||
:/ | |||
ingy | ? | ||
wilx: rerun perl Makefile.PL | |||
autrijus_: ? | 08:45 | ||
autrijus_ | ingy: nvm, fixed | ||
wilx | Yeah, but that would mean installing Win32 Perl :/ | ||
Oh well... | |||
ingy | ? | ||
wilx | Never mind. | ||
autrijus_ | and you did not escape stuff correctly | ||
also fixing | |||
ingy | ? | ||
explain all this | 08:46 | ||
sorry about the Spiffy thing | 08:47 | ||
did you fix that?> | |||
autrijus_ | yeah | ||
I also fixed escapgin | |||
ingy | what escaping? | ||
autrijus_ | see r410 | ||
$value =~ s{\\}{\\\\}g; | |||
ingy | nice, thanks | 08:49 | |
how do single quotes work in haskell? | 08:50 | ||
are they for single chars? | |||
autrijus_ | yup, just like a certain C language | 08:51 | |
but haskell has no interpolation | |||
ingy | I C | ||
autrijus_ | so just escaping \\ and \n is enough | ||
and I truse Config.hs will have no \n | |||
ingy | nope | ||
finished YAHT intro -> Kwid | 09:24 | ||
ok zzzzzzz for real & | |||
buu | 75 tests | ||
Matches inline listy items. | 09:25 | ||
beth | enlighten me, buu | 09:29 | |
buu | Pugs is the new religion. | ||
svn.perl.org/perl6/pugs/trunk | 09:30 | ||
beth | web.mit.edu/dyezone/www/images/Bolt...20Pugs.JPG ? | ||
buu | I doubt it, but I can't see that link | ||
svn.perl.org/perl6/pugs/trunk/docs...rview.html | |||
beth | showing me where to get it is not the same as saying what it is! | ||
buu | ^ | ||
beth | I am SO not enlightened | ||
ok | |||
buu | Read! | ||
beth re4dx0rz | 09:32 | ||
damn you buu, I'm going to have to look at this now | 09:33 | ||
didn't you know I'm already busy and stuff?! | |||
buu | hahaha | 09:44 | |
Yo're welcome. | |||
theorbtwo | beth, autrijus has cleared out many of his paying customers to work on this. It's kind of addictive. | 09:47 | |
Even I'm getting into it. | |||
buu | hrm | 09:48 | |
I think this is the first time I've seen you on irc. | |||
Well, today and all. | |||
theorbtwo | I tend to lurk on here more then I talk. | 09:50 | |
buu | I noticed | 09:52 | |
I see you a lot on the chatter box though | |||
But this is the first time I've really spoken to you | |||
If we can all this speaking | |||
theorbtwo | Heh. | 09:54 | |
pjcj | Do your lips move as you type? | 10:14 | |
theorbtwo | Rarely. | 10:16 | |
I also often don't get jokes over IRC/AIM/etc that "work" because the punchline sounds like something else. | 10:17 | ||
metaperl | does anyone understand the arguments to the value constructor ApplyArg? | 11:16 | |
in src/Junc.hs | |||
theorbtwo | Hm, hat doesn't like pugs, and it looks like ghc's inbuilt profiling stuff isn't as detailed as I want. | 12:56 | |
cls_bsd | ok, time to translate synopsis | 12:57 | |
autrijus_ | metaperl: you were looking for me? | 13:02 | |
metaperl | well, what is the collapse field of ApplyArg used for? | 13:03 | |
data ApplyArg = ApplyArg | |||
{ argName :: String | |||
, argValue :: Val | |||
, argCollapsed :: Bool | |||
} | |||
deriving (Show, Eq, Ord) | |||
in Junc.hs | 13:04 | ||
cls_bsd | oh, will pugs become perl6? or just a aim to archive? | ||
autrijus_ | argCollapsed controls whether that arg avoids junctive autothreading | 13:05 | |
metaperl | autrijus, that was my question? | ||
autrijus_ | if argCollapsed is true, it means it's not a junction, or it was a junction used in a nonautothreading context (typically Bool) | ||
cls_bsd: it is not my place to answer that question :) | 13:06 | ||
if the C-based team came forward with a working compiler before Pugs does, then that will become perl6 | |||
if however, by the time we completed the bootstrap, we are the only team around | |||
then there is the possibility that pugs will be the perl 6. | |||
metaperl | and which synopsis covers junctions? | 13:07 | |
autrijus_ | S09? | ||
metaperl | yes it does, thanks | ||
autrijus_ | :) | 13:08 | |
theorbtwo | Allo, Joshua. | 13:10 | |
Limbic_Region | morning James | 13:13 | |
guess it is early afternoon over there | 13:14 | ||
theorbtwo | Aye; 2. | ||
cls_bsd | hmmm | 13:17 | |
so there exists an perl6 contest :p | |||
autrijus_ | not really a contest :) | 13:24 | |
a context, maybe, not a contest | |||
cls_bsd | good point | 13:25 | |
autrijus_ | pugs ported to GHC 6.4. | 13:40 | |
mmm much faster code. | 13:41 | ||
(but ghc 6.4 had not been really released yet.) | |||
Limbic_Region | buu - you about yet? Ready and willing to help. | 13:45 | |
evening autrijus_ | |||
autrijus_ | hi Limbic_Region | 13:46 | |
mm BOF finished | 13:52 | ||
autrijus | scw: thanks a lot on implementing pick() | 14:30 | |
I rescinded dump() though; in perl6, dump() is known as perl() | |||
and works on all data types | |||
theorbtwo | Nifty! | ||
Does it produce p6 code, or p5 code? | 14:31 | ||
rgs | ub perl5, dump() is known as CORE::dump() | ||
s/^ub/in/ | |||
autrijus | it produces p6 code. | 14:32 | |
rgs: uh. the context is Data::Dumper::Dump ;^H:) | |||
Coke_ | hey, autrijus. | 14:47 | |
Limbic_Region | grrr - I hate it when this client flakes as I don't know it has | 14:55 | |
buu - you around? | 14:56 | ||
Juerd | 15:34 < rgs> ub perl5, dump() is known as CORE::dump() | 15:06 | |
Which I think has no place in P6 | |||
integral | serialisable continuations otoh... | 15:07 | |
autrijus | yeah, serialisable continuation is just a fancy term for dump/undump ;) | 15:08 | |
Juerd | ehh :) | ||
I hope the dumps will be a bit fancier than core dumps :) | 15:09 | ||
autrijus | it will be core dumps... it's not j^Wthe C core ;) | ||
theorbtwo | If dump works on all data types, then $?CURRENT_CONTINUATION must be one of those data types. | ||
integral | hmm, it'd be very neat for post-mortem debugging | ||
Juerd | theorbtwo: Isn't that just $?CONTINUATION? | ||
theorbtwo | Quite possibly. | ||
Juerd | As with $?SUB, which isn't $?CURRENT_SUB (unless I have not been paying attention well enough) | ||
Juerd expects continuation to be abbreviated as cont, as subroutine is sub | 15:10 | ||
theorbtwo | I think it was supposed to have a long name so people weren't tempted to use it friviously. | ||
Juerd | Why not use it much? | ||
autrijus | uh. &?CALLER_CONTINUATION makes sense | 15:11 | |
&?CURRENT_CONTINUATION makes less sense. | |||
Juerd | autrijus: Why not? Serialize it, store it, exit() | ||
autrijus | which dynamic scope is "current"? | ||
4 + &?CURRENT_CONTINUATION + 10; | |||
basically continuations only makes sense on dynamic l^Hscope boundaries | 15:12 | ||
s/lscope/scope/ | |||
Juerd | Oh | ||
integral | it's a bit like a return instruction you can save a copy of to call in another scope | ||
autrijus | yeah. it's just \&return; | 15:14 | |
except more magical | |||
nnunley | Hrm. Problems with the ext/Kwid tests. The harness is attempting to run the tests with perl5, rather than perl6 | 15:26 | |
autrijus | yeah. | 15:34 | |
weird, HARNESS_PERL should be set. | |||
malaire | where can I read about &?CURRENT_CONTINUATION ? synopsis, etc..? | 15:37 | |
PerlJam | malaire: It's a pugism | 15:38 | |
autrijus | malaire: escape continuation support is I think mentioned by larry informally | ||
but not part of synopses | 15:39 | ||
malaire | ok | ||
autrijus | &?CALLER_CONTINUATION is my interpretation on that | ||
but it's a pugism, as perl said | |||
PerlJam, even. | |||
malaire | so, what is it? | 15:40 | |
autrijus | it is a function that, when invoked, returns on behalf of your caller. | ||
you can also pass that function around and, when anywhere, returns on behalf of the original caller. | 15:41 | ||
nnunley: Pretty for Value types must be eval-roundtrippable | 15:51 | ||
because that is what ".perl" uses | |||
I've fixed it | |||
r418 | |||
nnunley | autrijus: Didn't realize there was a fixpoint contract there. :) | 16:01 | |
autrijus | feel free to add it as a comment | ||
sorry; I should've write it down myself | |||
but journal up; I need to sleep now :) | |||
clkao | autrijus: take a look at svk/win32 before sleep? | 16:02 | |
autrijus: or put the instructions on wiki and i can ask matthewd to do that | 16:03 | ||
ingy | hola | 16:23 | |
Steve_p | bonjour | ||
ingy | are there any tests for junctions | ||
nnunley | ingy: One in 03operators.t that I know about. And the borken sendmoremoney.t | ||
ingy | yow! | 16:35 | |
my $osnames = any( 'darwin' | 'linux'); | 16:36 | ||
is($?OSNAME, $osnames, "Test \$?OSNAME == $?OSNAME"); | |||
runs 2 test!! | |||
that is freaky | |||
surreal | |||
Steve_p | heh | ||
ingy | I'm on darwin | ||
ones test passes, one fails | |||
This works fine though: | 16:37 | ||
my $osnames = any( 'darwin' | 'linux'); | |||
ok($?OSNAME eq $osnames, "Test \$?OSNAME == $?OSNAME"); | |||
nnunley | ingy: Unless you force a binary collapse in the type signature, it will run both branches. | 16:38 | |
Err... boolean. | |||
integral | welcome to the evil world of auto threading. junctions thread as early as possible | ||
ingy | nnunley: yes, it appears so. but it still blows my mind | ||
integral: interesting | 16:39 | ||
nnunley | Test::ok used to run each of the junctive branches before I changed its signature from $cond (implicit Any) to Boolean $cond | ||
integral | ingy: yep. personally I support the other side ;-) | ||
ingy | the cool thing is that the code actually ran and the test harness was fine with the output etc | 16:40 | |
nnunley | I really, really want junctive narrowing. But that's because I'd like to use it for non-deterministic solving. | ||
theorbtwo | Junctive narrowing? | ||
ingy | I mean... if they are threads, there could have been interspersed output, no? | ||
nnunley | theorbtwo: Chaining conditions such that I've narrowed a large junction into a much narrower set of states. | ||
theorbtwo | Oh, throw away the false ones, keep the true ones? | 16:41 | |
nnunley | Right. | ||
ingy | anyway, I got my cute test using junctions working :) | 16:42 | |
nnunley | ingy++ | ||
Limbic_Region | ingy - I had volunteered to help buu with his kwid parser last night with work commencing today - haven't seen him - do you know where his work in progress is? | ||
ingy | and pugs now has $?OSNAME | ||
Limbic_Region: no | |||
Limbic_Region | ok - to be honest it didn't seem like a fun thing to do anyway | 16:43 | |
ingy | hehe | ||
Limbic_Region: kwid parsing or working with buu? ;) | |||
Limbic_Region | little of both | ||
ingy | :) | ||
Limbic_Region | buu and I don't always see eye to eye | ||
ingy | aye and aye | 16:44 | |
Limbic_Region | but he is writing a custom parser and not going with a grammar/lexer/parser approach | ||
PerlJam | Limbic_Region: Why don't you track down the bug in examples/hanoi.p6 for me :-) | ||
ingy | Limbic_Region: that seems sad | ||
PerlJam | er, the bug is in pugs, the exposition is examples/hanoi.p6 | ||
integral | Limbic_Region: would you have used yapp? | ||
Limbic_Region | after having read through the kwid definition - likely | 16:45 | |
that's easy to say without getting your hands dirty though | |||
jaap | hi; I'm having some trouble compiling parrot; specifically, it complains "blib/include/unicode/ucnv.h" is missing, and I do indeed not see anything called blib in the source tree | ||
Limbic_Region | once your knee deep in mud with shrapnel overhead - you do what works even if it means sucking mud | ||
integral | jaap: you'd probably get an answer out of [email@hidden.address] if you asked there | 16:46 | |
jaap | integral: thanks. i s'pose i'll also try the tarball, maybe the CVS happens to be in a non-working state | 16:47 | |
abstraction | jaap, use latest cvs | ||
Limbic_Region | PerlJam - if there is something I can do in p5 without needed to know/learn Haskell/p6 - let me know | ||
jaap | abstraction: that's I've been doing, got it about 20 minutes ago | 16:48 | |
Coke_ | hurm? what steps did you go through to compile parrot, and what's your OS? | ||
(anything in "blib" should be generated, IIRC) | 16:49 | ||
jaap | Linux stein 2.6.8-1-686 #1 Thu Nov 25 04:34:30 UTC 2004 i686 GNU/Linux | ||
get cvs; then "perl Configure.pl"; then "make" | |||
Coke_ | how old is your cvs distro? | ||
PerlJam | Limbic_Region: somehow I think you're in the wrong place if you don't want to know/learn haskell/perl6 ;-) | ||
Limbic_Region | jaap - my recommendation would be to get ICU directly and build that before attempting Parrot | 16:50 | |
Parrot is now mostly smart enough to detect a system ICU and use that | |||
jaap | coke_: updated to the latest debian/testing a few hours ago; claims to be cvs 1.12.9 | ||
Coke_ | I thought blib was a perl thing, not an ICU thing, lr. | ||
jaap | o wait | ||
that's obviously not what you're asking | |||
Limbic_Region | PerlJam - didn't say I didn't want to learn - just not offering up my time during paid work hours to do it | ||
Coke_ | (just make sure if you did an update, you do a -dP) | ||
Limbic_Region | Coke_ blib from a Parrot sense is a Parrot thing is it not? That's just where Parrot puts things before linking IIRC - and ICU is one of those things | 16:53 | |
of course, I haven't worked on Parrot since late November | |||
pjcj | has anyone? </troll> | 16:54 | |
abstraction | what does ICU stand for? | ||
jaap | Limbic_region: i did apt-get icu, it installed fine, i ran configure.pl again, as well as cvs update, it doesnt complain, still get same error on build | ||
something with unicode, i take it | |||
integral | jaap: wouldn't you want something like icu-dev? | ||
Limbic_Region | jaap - Dan's unicode patch is probably in by now - so I am likely talking out my @$$ | 16:55 | |
theorbtwo | International Components for Unicode | ||
abstraction | his string pathc is in | ||
theorbtwo | www-306.ibm.com/software/globalizat.../index.jsp | ||
abstraction | that sounds painful | ||
Limbic_Region | icu.sourceforge.net/ | 16:56 | |
abstraction | more pain | ||
theorbtwo | It is, but it's mostly "somebody needs to do it" sort of things. | ||
integral | haven't read anything about the icu dep being dropped though | ||
abstraction | better now than later... | ||
Limbic_Region | well, the plan was not to drop it from CVS but to make it completely optional when building | ||
jaap | integral: i do, indeed; it's called icu-data; i installed it; doesnt help; thanks though | ||
theorbtwo | icu-data includes the shared library? | 16:57 | |
Limbic_Region | Dan originally said Parrot will ship with the ability to do Unicode - period. The installer can choose not to if they want | ||
jaap | it seems like it wants a header file that has to be within the parrot source tree, though, since it says make: *** No rule to make target `blib/include/unicode/ucnv.h', needed by `src/string_primitives.o'. Stop. | ||
[weel@stein] /home/weel | |||
Limbic_Region | He has been known to change his mind - and I haven't followed the list since late November either | ||
nnunley | Limbic_Region: Did they decide to do their own unicode implementation? Last time I bothered paying attention, that seemed to be the jist of the conversation. | 16:58 | |
theorbtwo | I think the idea is to avoid unicode more often, and consider it just another encoding. | 16:59 | |
nnunley nods. | |||
Limbic_Region | nnunley - my understanding was that Dan's big patch was to allow a standard interface for unicode libraries so ANY unicode library that played nice with the interface could be used | 17:00 | |
nnunley | Good. | ||
Limbic_Region | that ICU was "it" for now, but that we should consider our own | ||
and that until an alternative was available, Parrot would ship with ICU source | |||
theorbtwo | ...so if your input is big5, and your output is shift-jis, you may never go through Unicode in the middle. | ||
Limbic_Region | though using it would be optional | ||
and that's where I leave the story | 17:01 | ||
theorbtwo | Of course, Larry has said that Unicode is a hard requirement for p6, so a parrot compiled without unicode support may well not be able to run p6, which rather spoils the point. | ||
jaap | the tarball seems to somehow magically not have the same problem, so I think I'll stop bugging you guys ;-) | 17:02 | |
Limbic_Region | not really theorbtwo | ||
integral | just ignore Larry ;-) | ||
Limbic_Region | if I want the VM for a reason other than p6 where Unicode isn't needed, why should I be forced to use it | ||
my point being that I think it is a "good thing" that Parrot and P6 are divorced | |||
PerlJam | indeed | 17:03 | |
theorbtwo | I agree. | ||
PerlJam | theorbtwo: Were you saying that parrot without unicode spoils the point of parrot-as-perl6-VM ? | 17:04 | |
theorbtwo | Yes. | ||
PerlJam | but it's perfectly fine for parrot-as-XXX-vm where XXX is almost anything else :) | ||
theorbtwo | Ja. | ||
But while parrot is designed to be a general purpose VM, or at least general purpose for highly dynamic languages, the only large project really considering using it is p6. | 17:06 | ||
jaap | I think there's quite some interested from more academic circles for doing e.g. Scheme in Parrot | 17:07 | |
theorbtwo | That'd be very nifty. | ||
Limbic_Region | and nothing about what I described as my interpretation of Dan's plan for Parrot/Unicode spoils that | ||
the hooks are there - let the installer choose to use/not use them | |||
IIRC, nothingmuch was looking at doing Scheme in Parrot as an academic exercise | 17:08 | ||
PerlJam | theorbtwo: So you don't think that efforts to BASIC, PHP, Python, etc. with parrot are important or valid or something? | ||
s/to/to use/ | |||
integral | hmm, I thought the python one could be important if it actually ran faster | ||
jaap | well, the thing about Scheme is that it has been implemented about 30 times by now; it is not at all like the major scripting languages that are dominated by 1 or two implementations | ||
but I'm off to breakfast now; cheers all | 17:09 | ||
theorbtwo | I think that while using it for PHP, Python, etc, have been much discussed, they don't look purticularly like they're going to happen. BASIC has happened, but only a very old dialect. | 17:10 | |
Limbic_Region | theorbtwo I think Python will happen if Dan returns to overule Leo - or someone else takes over - there's a pretty smart Python guy working that problem though I can't remember the handle ATM | 17:11 | |
theorbtwo | Oh! That's great news. | 17:12 | |
Steve_p | Sam Ruby? | ||
theorbtwo | "Dan returns"? He left? | ||
Limbic_Region | theorbtwo - Dan has/had been out of the loop for some time | ||
one of the reasons why I stopped following Parrot | |||
Khisanth | Limbic_Region: I always thought we were more likely to get a python on parrot than perl6 on parrot :) | ||
Limbic_Region | Sam Ruby sounds right Steve_p - but it has been several months since I followed the list | ||
theorbtwo | That's horrible news. | 17:13 | |
PerlJam | yes, it's sam ruby who's working on the snake eating bird. | ||
Limbic_Region | he (Dan) re-emerged for a short time but his rl job sucked him back in | ||
Steve_p | He has his fingers in *many* pies though | ||
theorbtwo | Sam Ruby was working on it last I payed attention. That was quite a while ago, though. | ||
PerlJam | And rubys is *actively* working on it though. (at least the last time I looked at #parrot (last week)) | 17:14 | |
theorbtwo | (It always confused me -- Ruby/Python mental discouninuity.) | ||
Limbic_Region | my point being that he was making lots of headway and the stumbling blocks were issues he couldn't get resolved between just him and Leo | ||
so I don't think Python on Parrot is a pipe-dream | 17:15 | ||
theorbtwo | Great! | ||
Limbic_Region | I should be able to dive in head deep in the 3 ps in June (we will have closed/moved into the new house) | 17:16 | |
where the 3 ps are p6, pugs, parrot | |||
PerlJam | Check groups-beta.google.com/group/perl.p....internals . There have been messages about python on parrot even today. | 17:17 | |
Limbic_Region: excellent | |||
Limbic_Region: I'm treating pugs as the perl6 reference implementation and possible bootstrap. I talked with Pm yesterday and it appears that he's working more on PGE, so it's a race to see who implements the better bootstrap first :-) | 17:19 | ||
Limbic_Region | for now, I am working a full-time job, part-time job, in the process of buying a house, closely following his wife's paperwork to become permanent resident/citizen, and also making things happen so she can drive | ||
Steve_p | Yes, I thought the majority of Python had been implemented already | 17:20 | |
PerlJam DCCs some luck and congratulations and general warm fuzzies to Limbic_Region | |||
Limbic_Region | PerlJam - forgetting long term benefits, pugs has some very real tangible RIGHT-NOW benefits | ||
it is getting the community excited about p6, it is getting other communities interested | |||
PerlJam | Limbic_Region: indeed. I can't tell you the thrill I get from writing and *running* actual perl6 code :) | ||
Limbic_Region | it is helping iron out the synopsises where things aren't exactly clear | 17:21 | |
it is letting people start seeing real-world working p6 code | |||
if it ends up not being the p6 bootstrap of choice - I think no one would be overly disapointed | |||
theorbtwo | I think pugs can be not just a reference implementation or a bootstrap, but the real thing. | 17:22 | |
PerlJam | I really think that pugs will make a better bootstrap too. PGE is focused on the "rules" syntax, pugs is focused on basically everything else. As soon as you add rules to pugs, you've got a perl6 suitable for implementing perl6. | ||
theorbtwo: I don't think so. | |||
Limbic_Region | to me it doesn't matter - honestly - when is friendly competition not a good thing? | ||
PerlJam | yep! | ||
theorbtwo: ghc is not as widely ported as it would need to be for pugs to be the real thing. | 17:23 | ||
theorbtwo | I think the best path is to do a straight port of pugs from haskell to p6. | ||
...but perhaps I simply don't understand Hasell well enough to know why this is impossible. | 17:24 | ||
Steve_p | Hmmm...Haskell on Parrot? | ||
PerlJam | theorbtwo: it's not impossible, just highly unlikely :) | ||
integral | easier to port STG to parrot? | 17:25 | |
theorbtwo | STG? | ||
integral | spineless tagless G-machine, GHC's virtual machine | ||
theorbtwo | Ah. | ||
PerlJam | integral: now *there's* an idea that has some potential | ||
Limbic_Region notes the time and realizes he hasn't eaten yet | 17:26 | ||
Limbic_Region wanders off | |||
integral | possibly not hard either. Just write a PMC for the G-machine closure, and GHC already does most of the rest | ||
Steve_p | Exactly. Let the G-Machine generate the bytecode or imcc. Very intoxicating :) | 17:27 | |
theorbtwo | Virtual virtual machines... | ||
Steve_p | heh | 17:28 | |
theorbtwo | Now run the whole thing inside of qemu, running inside of vmware! | ||
Limbic_Region | Virtual virtual machines - reminicent of "The 13th Floor" | 17:58 | |
www.imdb.com/title/tt0139809/ | |||
nnunley | The fix-point virtual machine... | ||
Turtles all the way down. | 17:59 | ||
Limbic_Region | perlbot karma for autrijus | 18:07 | |
perlbot | Karma for autrijus: 1 | ||
Limbic_Region | heh | 18:08 | |
rjbs | perlbot: autrijus++ | ||
Limbic_Region | no need for perlbot | 18:11 | |
just autrijus works fine | |||
except my client eats plus symbols | |||
pjcj | autrijus += 2pi | 18:12 | |
theorbtwo | perlbot, journal is use.perl.org/~autrijus/journal/ | 18:13 | |
perlbot | added journal to the database | ||
theorbtwo | perlbot, journal? | ||
perlbot | use.perl.org/~autrijus/journal/ | ||
theorbtwo | When did we get a perlbot? | 18:15 | |
Limbic_Region | the other day | 18:16 | |
I asked why purl wasn't here | |||
the response was that it wasn't easy to get purl to join another network | |||
buu (in #perl) asked Chris62vw to invite perlbot here | 18:17 | ||
perlbot forget journal | |||
perlbot | removed journal from the database | ||
Limbic_Region | perlbot learn autrijus journal as use.perl.org/~autrijus/journal/ | 18:18 | |
perlbot | added autrijus journal to the database | ||
Limbic_Region | hmmm - should that have been possesive? | ||
jdv79 | maybe the reason i haven't been here yet is because parrot has my attention more than p6 lately | 18:21 | |
nnunley | perlbot learn pugs revisions log as rt.openfoundry.org/Foundry/Project/.../pugs/log/ | 18:22 | |
perlbot | added pugs revisions log to the database | ||
Limbic_Region | for those who don't know, perlbot was written by Chris62vw whose database spans all channels it is connected to (which currently also includes #perl) | 18:23 | |
perlbot help | 18:24 | ||
perlbot | Syntax: (fact) :: tell (who) about (what) :: (who) > (what) :: learn (what) as (info) :: relearn (fact) as (info) :: facts (search term) :: shorten (url) :: shorten it :: search (module) :: docs (module) :: perldoc -f (function) :: math :: fortune :: flip :: host (type) (record) :: rot13 :: roll (die) :: tempconv (temp) :: scramble (text) :: 8ball :: slap :: diss :: what time is it :: highest karma :: lowest karma | ||
Limbic_Region | perlbot .ca | 18:25 | |
perlbot | .ca is Canada | ||
Limbic_Region | 8ball will pugs beat pge as the p6 bootstrapper? | 18:26 | |
perlbot 8ball will pugs beat pge as the p6 bootstrapper? | |||
perlbot | Magic 8ball says: Yes | ||
theorbtwo | roll 10d3.14159 | ||
Limbic_Region | you need to say perlbot | 18:27 | |
theorbtwo | perlbot roll 10d3.14159 | ||
Limbic_Region | when all else fails - ask Chris62vw in #perl | ||
Khisanth | or | ||
perlbot: source | 18:28 | ||
perlbot | check out my insides: chrisangell.com/incoming/chrisbot/v3 | ||
Khisanth | :P | ||
jdv79 | haha, how did buu get into that article: www.perl.com/cs/user/print/a/908 | 18:31 | |
theorbtwo | Hm, I don't like the lack of prefix on chromatic's lines. | 18:33 | |
jdv79 | it is written by him... | ||
his name's at the top | |||
nnunley | Hrm. So, is grammar ~= module ? Other than stating that it's creating a grammatical module? | 18:34 | |
jdv79 | "but thing quickly went out of control" - best quote so far | 18:35 | |
Khisanth | jdv79: because the whole interview thing was done in here | 18:37 | |
theorbtwo | There was some side stuff that chromatic clipped. | 18:38 | |
But it's a useful question. | |||
jdv79 | oh wow, i missed a good time! | ||
theorbtwo | I only read it via the archive. | 18:39 | |
Limbic_Region | Apparently, M$ does Perl - www.microsoft.com/technet/scriptcen...fault.mspx | 18:47 | |
is there a way to browse pugs test suite on-line? | 18:52 | ||
theorbtwo | I wonder... is it possible to make the parsec bit automagically create examples? | 18:56 | |
stevan | Limbic_Region: svn.perl.org/perl6/pugs/trunk/t/ | ||
Limbic_Region | thanks stevan | ||
stevan | Limbic_Region: your welcome | ||
rjbs | Limbic_Region: haha. hungarian notation in Perl | 18:57 | |
Limbic_Region | there have been some interesting problems in p5 at the Monastery recently - I was thinking about writing p6 solutions and seeing if Pugs was up to the challenge yet | 18:58 | |
jdv79 | like what? | ||
stevan | Limbic_Region: remember that Pugs does not have classes yet, or multi-dimensional arrays (they all flatten) | ||
AFAIK, pairs are the old nested data structure possible at the moment | 18:59 | ||
Limbic_Region | no need for classes, but complex data structures would be a "good thing" | ||
stevan | Limbic_Region: you can always write an example and eventually it will run :) | ||
hanoi.p6 does not run yet | 19:00 | ||
Limbic_Region | that's the point stevan | ||
stevan | Limbic_Region: go for it them | ||
s/them/then/ | |||
metaperl_ | can anyone get this junction example to work? nomorepasting.com/paste.php?pasteID=33301 | 19:41 | |
PerlJam | Perl5's ?: operator is now spelled ?? :: | 19:43 | |
And I think you need the parens on the call to any | 19:44 | ||
metaperl_ | PerlJam, thanks | ||
PerlJam | oh, and you'll need to my @color, otherwise pugs will complain | ||
metaperl_ | PerlJam, the working example is committed as rev 422 | 19:47 | |
in pugs/examples/junctions/1.p6 | |||
PerlJam | cool. | 19:48 | |
More "real world" examples of junctions are needed however. | |||
metaperl_ | yes, I am moving slowly but surely | 19:49 | |
I want to present at our perl mongers meeting on junctions next wednesday | |||
how do you read from STDIN in pugs? | |||
my $x = <STDIN>; # assigns the string STDIN to $x | 19:50 | ||
integral | =$*IN | 19:54 | |
theorbtwo | Is that working now? | ||
integral | somewhat | ||
pugs -e'say =$*IN' behaves strangely | 19:55 | ||
stevan | reading and writing of files is working | ||
t/op/io.t | |||
theorbtwo | Great! | 19:56 | |
stevan | actually I take that back, the readline support is not all there yet | ||
but creating, writing and appending files is | 19:57 | ||
metaperl_: I usually check Prim.hs to see what is working and what is not | 19:59 | ||
metaperl_: line 169 is the unary '=' and autrijus has a big block commented out there | 20:00 | ||
metaperl_ | oh ok | ||
should this work? | 20:02 | ||
my $x = $*IN; | |||
print $x; | |||
the print is failing not the reading from STDIN | |||
stevan | try say() instead of print() | 20:03 | |
metaperl_ | my $x = $*IN; | ||
say $x; | |||
fails | |||
Fail: <stdin>: hPutStr: illegal operation (handle is not open for writing) | |||
PerlJam | As it should. | ||
stevan | yeah I am getting the same thing | ||
metaperl_ | perhaps I need to specify where to write it | ||
Coke_ | it looks like you're trying to print something to STDIN... | 20:04 | |
PerlJam | you need to use unary = to actually read from stdin | ||
metaperl_ | unary = | ||
meaning what? | |||
PerlJam | my $x = =<$*IN>; | ||
Coke_ | (wow, that's ugly =-) | ||
metaperl_ | holy god jesus christ | ||
theorbtwo | Umm, both = and <...>? | ||
metaperl_ | i know, for such a common thing | ||
PerlJam | well, I'm not sure about the <> | ||
theorbtwo | I thought it was my $x = =$*IN | ||
...which also looks like shut. | 20:05 | ||
PerlJam | I know that =<> is the replacement for magic <> as in perl5 | ||
theorbtwo | shit. | ||
stevan | I think <...> stuff is not valid perl6 | ||
sorje | Oh bummer, hyper ops aren't implemented yet | ||
PerlJam | (this week) | ||
theorbtwo | Er, s/s..t/junk/. | ||
stevan | although I can't remember where I saw that | ||
Khisanth | EWW I hope that isn't the only way, the double = looks rather ugly :p | ||
PerlJam | anyway $*IN.readline or somesuch should work too (once we get objects in pugs) | 20:06 | |
theorbtwo | That looks /much/ better. | ||
PerlJam | Khisanth: you should know by now that there is no such thing as "the only way" in perl :) | ||
theorbtwo | Though .rl would be nice. | ||
stevan | PerlJam: that should work pre-object actually | ||
Limbic_Region | well, once objects... | ||
PerlJam | stevan: Are you sure? | ||
Khisanth | PerlJam: true for most things but ... | ||
stevan | PerlJam: the filehandle works as the invocant | ||
Limbic_Region | yeah - you can do fh.method once that's implmented it will look cleaner | ||
stevan | $*IN.readline == readline($*IN) | 20:07 | |
AFAIK that is | |||
PerlJam | stevan: yeah, yeah, you're right. But is it implemented? | ||
stevan | t/op/io.t shows it | ||
PerlJam: readline is currently not complete | |||
PerlJam: but $fh.print works | 20:08 | ||
actually readline works for files | 20:09 | ||
stevan wrote t/op/io.t late last night and his memory is failing | |||
svn.perl.org/perl6/pugs/trunk/t/op/io.t | 20:10 | ||
ingy | Larry is so hardcore: www.nntp.perl.org/group/perl.perl6....uage/19468 | 20:12 | |
metaperl_ | how do you chomp your input read from $*IN | ||
theorbtwo | You get in chomped, unless you ask for it unchomped, IIRC. | 20:15 | |
Steve_p | ingu, so you got your answer ;) | 20:16 | |
Limbic_Region | and when you print you automatically get "\n" added on unless you ask for it not too, IIRC | ||
ingy | Steve_p: no :( | 20:18 | |
there is no support for objects at all yet, right? | |||
and pugs is a practical project | |||
metaperl_ | theorbtwo, can anyone get revision 423? I am typing in something but it apparently is not chomped | 20:19 | |
ingy | so I'll just have to wing it to accomplish my evil goals | ||
metaperl_ | pugs/examples/junctions/2.p6 | ||
theorbtwo | Er, no, L~R, that's the difference between say and print. (Of course, it's not an accident that say is shorter...) | ||
Limbic_Region | theorbtwo - depends on how you parse what I said, I didn't say "use print", I said print - meaning what I was thinking was correct but I wasn't specific enough in what I typed | 20:22 | |
nothinmuch - correct me if I am wrong, but weren't you considered Scheme on Parrot a while back as an academic exercise? | 20:27 | ||
nothingmuch | no | ||
i don't even know scheme, sadly | |||
i'm learning lisp from the sicp lectures on line | |||
they are wonderful | |||
stevan | Limbic_Region: I think Peirs had something to do with that | ||
nothingmuch | very fast paced | ||
my other limitation is that i don't know parrot | 20:28 | ||
qmole | heh | ||
nothingmuch | and my third one is that i have time for neither =) | ||
so, | |||
L~R->correct | |||
Limbic_Region | hmmm - I know it was a monk, but don't remember which one - fairly certain the monk I am thinking of wasn't Piers | ||
nothingmuch | stevan - remember the patch from yesterday? | ||
stevan | nothingmuch: the Test::Mockobject | 20:29 | |
nothingmuch | yup | ||
i glued Test::Deep to it | |||
stevan | ?? | ||
nothingmuch | for argument verification | ||
stevan | Test::Deep rules :) | ||
nothingmuch | (Test::MockObject also records arguments, so now you can declare them as part of the script and verify that) | ||
it so does | |||
especially for this | |||
superset of is 100% correct | 20:30 | ||
anywho | |||
i can't decide on a reasonable way to make it optional, but unambiguous | 20:31 | ||
right now, if you remember, steps in the script are like [ set_true => "foo" ] | |||
stevan | nothingmuch: the only way I can see to make it optional is to implement the validation yourself | 20:32 | |
nothingmuch | i mean interface wise | ||
stevan | nothingmuch: or leave it out all together | ||
nothingmuch | i did all the logic | ||
right now if the last element of that array is an array ref, or a bless object whose class =~ /^Test::Deep | |||
then it is assumed it's an argument list | 20:33 | ||
at that point it tries to require Test::Deep and dies violently if you don't have it | |||
but if you don't want to validate args, it's not required | |||
stevan | nothingmuch: wait I am not sure I am understanding you | ||
nothingmuch: can I see the updated patch? | |||
nothingmuch | my problem is what do i do when someone says something like [ set_always => "blah", [ ] ]; when they want blah to return an array ref? | 20:34 | |
sure | |||
unified diff? or should I darcs record? | |||
stevan | unified is fine, I speak diff :) | ||
nothingmuch | ok, the patch is on nothingmuch.woobling.org/Test-MockObject | 20:36 | |
and it depends on the script patch being applied too | |||
the test is very self explanatory | 20:37 | ||
it's the last part of the diff | |||
stevan | nothingmuch: what did chromatic think about adding Test::Deep ? | 20:39 | |
nothingmuch | i don't know, i just got a reply from him about the original patch | 20:40 | |
he is considering whether it's better placed in a subclass or not. With Test::Deep and argument validation, i reckon it is | |||
even though it's pretty tightly coupled to the internals | |||
without it, I think it's a compact enough change, but it's up to him to decide | 20:41 | ||
stevan | nothingmuch: I think he might have a point actually | ||
I did something similar to this in DBD::Mock, i called it DBD::Mock::Sessions | |||
but DBD::Mock is highly aware of DBD::Mock::Session objects, so they are tightly coupled | |||
nothingmuch | i considered it at first | 20:42 | |
but i didn't want to release something this small without checking if he wants to integrate it beforehand | 20:43 | ||
i'll be happy either way | |||
(although happier if i'm not the maintainer ;-) | |||
stevan | nothingmuch: I actually think you could expand this more :) | ||
nothingmuch | how? | ||
stevan | Test::MockObject::Scripts | ||
nothingmuch | i tend to be spooked out of advanced features | ||
the optional argument validation param is already starting to feel not right for me | 20:44 | ||
even though it's a feature I need, the interface needs work | |||
stevan | nothingmuch: the first thought that comes to mind is reading a script from a config file | ||
nothingmuch | complicating it further is not something i think i want to do | ||
ah, in that case | |||
just store YAML in your __DATA__ and unserialize that | |||
a script is an array of array refs, is all | |||
stevan | nothingmuch: yeah something like that | ||
nothingmuch: I kind of see it as a way to automate Test::MockObject | 20:45 | ||
r424 just commited, we now have 1003 tests in the suite :P | 20:48 | ||
nothingmuch | sorry, back | 20:50 | |
stevan | ingy: you still around?? | 20:51 | |
I have a kwid question | 20:52 | ||
Limbic_Region wonders how buu got on with his kwid parser | 20:55 | ||
jdv79 | he still didn't finish his search.cpan replacement | ||
Limbic_Region | he asked me to help him last night | 20:59 | |
I offered to help today | |||
he hasn't pinged me | |||
to be honest, I don't think a custom parser is the way to go given the grammar definition - but he asked | 21:00 | ||
stevan kinda likes POD actually | 21:01 | ||
stevan will give KWID a try though | 21:02 | ||
jdv79 | yeah, what's wrong with POD? | ||
stevan | jdv79: ask ingy :) | ||
Limbic_Region | blame Ingy | ||
wolverian | POD is not semantic enough. | 21:04 | |
ingy | hola | 21:05 | |
jdv79 | i don't think it was meant to be | ||
ingy | nothing is wrong with POD | ||
Kwid is just much nicer | |||
stevan | ingy: whats the status of the kwid parser/converter stuff? | ||
I was going to document Test.pm, and I figured it best to use kwid (if that is the official PUGS format that is) | 21:06 | ||
ingy | I'm still working on the systems to install it | ||
stevan: go ahead | |||
it is easy to convert between the two | |||
or do it in POD | 21:07 | ||
jdv79 | lossy though i guess | ||
stevan | ingy: didnt you and autrijus hack a kwid -> HTML converter? | ||
ingy | not lossy | ||
stevan: yes, but it doesn't really work yet ;) | |||
patience perl6 programmer | 21:08 | ||
stevan | ingy: ok, I will just wing it then :) | ||
ingy: rt.openfoundry.org/Foundry/Project/...n/?rev=426 | 21:09 | ||
ingy | stevan: cool. I think you will really enjoy writing Kwid. I do. | 21:10 | |
did you see docs/yaht.kwid? | 21:11 | ||
jdv79: read lib/Perl6/lib/perlkwid.kwid | |||
it is a transcription of perlpod.pod | 21:12 | ||
as such it really pushes the language | |||
Limbic_Region | . o O ( with little white lies ) | ||
ingy | ;) | ||
Limbic_Region | I was going to ask buu if he had many examples to test against but he hasn't shown up - in the off chance I still agree to help him - where should I look for examples ingy? | 21:14 | |
ingy | Limbic_Region: grep the pugs source for kwid files | 21:17 | |
metaperl | the YAHT is writtein kwid | ||
pugs/docs | |||
metaperl returns to work | |||
(which means leaving home, where he is now) | |||
mugwump puts on a cheesy grin | 21:18 | ||
"Try my new documentation formatting system. I think you might like it!" | |||
mugwump drinks a glass of cranberry juice | |||
stevan | ingy: r428 has the Test.pm kwid doc in it, can you tell me if it looks okay? | 21:37 | |
ingy | sure | 21:39 | |
jdv79 | is he modeling this after his POD parser? | ||
ingy | you mean me? | 21:40 | |
:P | |||
jdv79 | buu i meant | ||
ingy | ah | ||
jdv79 | he wrote a POD parser a few weeks ago | ||
stevan | is he writing it in perl5? | ||
jdv79 | the POD one was | 21:41 | |
ingy | created docs/src/Junc.kwid for metaperl | 21:42 | |
trivial | |||
but so much nicer to read | |||
metaperl_ | I dont want to work in kwid | 21:43 | |
buu | heh | ||
ingy | why not? | ||
jdv79 | yeah | ||
is your Kwid parser gona be like the POD one you did? | |||
ingy | stevan: looks ok | 21:45 | |
metaperl_ | jdv79, i dont follow your comments about the POD parser... what POD parser are you talking about? | ||
ingy | stevan: the authors section will word wrap though | ||
gotta run& | 21:46 | ||
metaperl_ | ingy, if autrijus says all docs in kwid, then so be it | ||
but we need one format, be it POD, kwid or whatever and then we all use it | |||
jdv79 | buu wrote a POD parser a montth or 2 ago. now i hear he is gonna buld a kwid parser. i'm wondering if they are going to be similar. | ||
metaperl_ | I like head1 head2 head3 better than = == === | ||
autrijus is not around today is he? where is he physically these days? | 21:47 | ||
stevan | metaperl: autrijus is sleeping now (i assume) | ||
buu | I return! | ||
metaperl_ | is he in Taiwan? | ||
well anyway, I think we need to have a collaborative decision on kwid vs. pod | 21:48 | ||
buu | jdv79: Technically speaking, I didn't really write a parser, I just wrote a wrapper around Pod::Parser | ||
metaperl_ | with autrijus' vote being authoritiative | ||
jdv79 | buu, punk2 | ||
buu | =[ | 21:49 | |
metaperl_ | i'm gong to post the RFC on pugs docs to perl6.compiler... ok? | ||
obra | autrijus may still be in the PRC for a conference | ||
clkao | yes he is. | 21:50 | |
metaperl_ | oh, that's why he was in a hotel, etc. | ||
I see | |||
clkao | there's going to be a mini perl lunch today i belive | ||
stevan | metaperl: I agree that POD is not quite enough, but I am not sure of kwid either | 21:53 | |
mugwump | this is because deep down, something about wikiformat makes your gut wrench :) | 21:54 | |
stevan | my problem with wiki format is that every wiki seems to do it slightly differntly | 21:55 | |
much like every POD parser | |||
buu | stevan: Kwid obviously needs some kind of formatter guidelines. | ||
mugwump | I think that POD should look a bit like Perl | ||
buu | As for Kwid, how would you specify an item / definition list so it would be very easy to parse? | ||
As in, perlfunc, or perlvar | |||
metaperl_ | what is wrong with POD? | 21:56 | |
we all know it, for one | |||
buu | Ask ingy. | ||
I kind of like kwid better, just for formatting text. | |||
stevan | metaperl: it does have it's limits, and depending upon which parser you are using it can be very unforgiving | ||
mugwump | POD fills a gap fine, in that it is deliberately simple and so easy to make work with editors, parse, etc | 21:57 | |
kwid looks like a refinement of POD based on experience on Wikis | |||
theorbtwo | Mmm... I don't much care for kwikd, and like POD much more. | ||
metaperl_ | what did the perl6 community decide would be the doc format for perl6? | ||
edgewalker | I don't particularly like kwid | 21:58 | |
metaperl_ | SGML? :) | ||
theorbtwo | I think POD just needs a bit of a cleanup with L<> semantics. | ||
But I also think it's my bedtime. | |||
edgewalker | what theorbtwo says | ||
stevan | metaperl: I dont think the perl6 community has decided | ||
buu | metaperl_: The perl community rarely decides these things, if you haven't noticed | ||
edgewalker | also, POD needs some cleanup with regards to list markup | ||
metaperl_ | POD needs a CPAN tag or something like that (like you were saying about L<>) | ||
mugwump | the perl community is not a sentient being | ||
stevan | metaperl: I think autrijus and ingy decided | ||
buu | metaperl_: What would cpan do? | ||
mugwump | it is a collective, so you can't talk about what "it" decides :) | 21:59 | |
buu | stevan: I think ingy made it up and convinced autrijus =] | ||
stevan | buu: I think you are probably right | ||
theorbtwo | I think the perl community should just steal PM's bracket-link code. | ||
buu | theorbtwo: Dude, did you read kwid? | ||
edgewalker | I think the final decision for Perl6-the-Real-Thing is going to be with Larry and crew | ||
stevan | I think we should just all use XML :P | ||
buu | edgewalker: I doubt it. I suspect the final decision will be determined by how many use what. | ||
mugwump | p6l would be the place to discuss I guess | ||
buu | stevan: I was seriously considering it =[ | ||
stevan | buu: if only to drive ingy more crazy right? | ||
Coke_ | pod is mentioned in one of the apocolypses that it will be treated in APOC 23 or some such, which is no where in site. | 22:00 | |
metaperl_ | I think we should Microsoft Word | ||
buu | stevan: =] | ||
stevan | Wordstar !!!!! | ||
metaperl_ | that's my final offer | ||
edgewalker | LyX | ||
metaperl_ | Printshop Pro | ||
buu | brainfuck. | ||
stevan | and write the parser in BASIC | ||
Coke_ | I find kwid seems to be easier than POD for what I use POD for. | ||
buu | Coke_: That's because you don't have to parse it =[ | ||
stevan | I just wrote a kwid doc for the Test.pm module, | 22:01 | |
its not bad, my hands wanted to type POD though | |||
theorbtwo | Everybody should just learn HTML already. ;) | ||
Really, bedtime. | |||
buu | theorbtwo: Well, yeah. | ||
rgs | pod with kwid extensions ? | ||
stevan | Javadoc?? | ||
rgs | python doc strings. | ||
stevan | I actually think POD could be re-worked and be fine | 22:02 | |
rgs | iirc that was The Plan | 22:03 | |
stevan | just clean up the ugly corners | ||
I once tried to mix XML and POD, but that got really ugly | |||
metaperl_ | i have emailed autrijus and asked for a final decision | 22:04 | |
edgewalker | well, what we really should be using is markdown, but that's another story | ||
stevan | metaperl: this might really be an issue for p6l | ||
buu | edgewalker: Mark down? | ||
edgewalker | buu: google it | ||
stevan | and then again, there is nothing to say PUGS can't support POD and KWID (it currently does) | ||
buu | edgewalker: I'm playing war3 =[ | 22:05 | |
metaperl_ | I have used Text::Template to inline Perl code without manually pasting it into pod files.. Most of Parse::RecDescent::FAQ is done by text-template loading things in from outside files | ||
edgewalker | buu: then google it when you're done with war3. it's basically wiki "markup" on steroids, heavily influenced by the formatting of email, and reads as well in plaintext form as it does as HTML | 22:06 | |
buu | Sounds like kwid. | ||
Coke_ | (don't have to parse it) ... so? It should be easy for the person WRITING it, not the person parsing it. =-) | 22:07 | |
buu | Coke_: Well, yeah, I'm bitter. | ||
edgewalker | buu: except it's about 10x better than kwid | ||
or any other wiki markup for that matter | 22:08 | ||
anyway, the only complaints I have with POD: lists with many short items are awkward; L<> semantics are underspecified; and fixed width text can either have formatting *or* be prewrapped, but not both | 22:11 | ||
other than those I like it better than most wiki markup; incl kwid | |||
markdown is an order of magnitude more readable and writable, but markdown is also complex to parse | 22:13 | ||
of course if Perl6 ships with a really good module for manipulating whatever documentation format is settled on, then the parsing complexity issue is moot | |||
metaperl_ | markdown, textile. there are a few out there | 22:23 | |
edgewalker | textile is really nothing but a sparser way to write HTML | 22:28 | |
Limbic_Region kicks buu hard | |||
buu | limbic! | 22:29 | |
Limbic_Region | I asked since 8AM EST for you/about you to help you with your kwid parser | ||
edgewalker | markdown is written with HTML in mind as well, but the markdown markup itself isn't HTML specific | ||
Limbic_Region | and you were no where around | ||
metaperl_ | in revision 430, does anyone have time to look at pugs/examples/junctions/3.p6? it isn't working as I expected | 22:32 | |
buu | Limbic_Region: I was asleep =./ | 22:36 | |
Limbic_Region: Sorry. | |||
Limbic_Region | sleep is a "good thing" | 22:45 | |
buu | heh | ||
I have odd hours. | |||
Limbic_Region | in any acct, having read more of the spec - I think a proper grammar/lexer/parser is more appropriate | ||
but - if you still want to roll your own - I am willing to help | |||
buu | Limbic_Region: Well, I kind of agree about the proper grammar thing, but I have my reservatios about it. Anyways, What I have so far: | 22:46 | |
jdv79 | yaccin' it? | 22:47 | |
Limbic_Region | I was thinking yapp | 22:48 | |
but yeah | |||
buu | erxz.com/pugdoc.zip | ||
Note t/ | |||
jdv79 | YAPP! | ||
buu | heh | 22:49 | |
jdv79 | i've only heard of yacc | ||
Limbic_Region | is that link semi-static or should I forward myself a copy to work as well? | ||
jdv79 | isn't that your server buu? | ||
buu | It'll be there for a tleast a month | ||
yes | |||
until I forget what it is | |||
and delete it | |||
jdv79 | someone has buu.com | 22:50 | |
ugh | |||
buu | YES | ||
Limbic_Region | jdv79 - see Parse::Yapp | ||
buu | they've fucking had it for like 7 years | ||
and they did fuck all with it | |||
jdv79 | i hate that | ||
buu | It used to be this like one page about a health club | ||
jdv79 | took me 3 years and almost $500 to get my lastname domain | ||
buu | =[ | 22:51 | |
jdv79 | PITA | ||
buu | No wait, that was buu.org | ||
theorbtwo | Somebody bought mastros.com about 3 hours before my father finally decided to buy it. | ||
buu | buu.com is being scalped | ||
They've been wanting like 3 grand for it for 5 years now | |||
jdv79 | hahaha | ||
i got off cheap | |||
theorbtwo | So he's mastros.biz, and printed off all sorts of busniess cards, stationary, etc. | ||
buu | heh | ||
Reasonable | 22:52 | ||
theorbtwo | ...and of course, mastros.com becomes available again a year later. | ||
buu | Your tale is one of woe and tragedy | ||
theorbtwo | Actually, my tale is one of "eh, whatever". | 22:53 | |
buu | Limbic_Region: If you really care I can set up a svn server | ||
Limbic_Region | no - just will likely do most of any work I contribute during the day and not in the evenings | 22:55 | |
I can't sleep if I am doing programming of any complexity after 7pm | 22:56 | ||
buu | heh | ||
jdv79 | Parse::Rec... isn't good Limbic_Region? | ||
buu | Maybe I should consider that | ||
Limbic_Region | jdv79 - there isn't anything wrong with P::RD | 22:57 | |
well, other than it is slow | |||
but some grammars are more suited for different kinds of parsers | |||
buu | Limbic_Region: The basic structure of Parser.pm should be fairly obvious | 22:58 | |
Limbic_Region | yeah - it is a lot cleaner then you lead me to believe | ||
buu | Well, I thought about it for a whilke | ||
My next problem is how to deal with .list. regions | |||
Limbic_Region | well, like I said - not going to play with it until tomorrow | 22:59 | |
buu | Eh, well, ok | 23:00 | |
Limbic_Region | one thing I would like to do if possible is determine which regex to apply and apply it in only two steps | ||
jdv79 | is it really worth rolling it like that? | ||
buu | Yes! | ||
Limbic_Region | a la dispatch table - instead of for looping over all of them | ||
buu | Limbic_Region: Er, how? | 23:01 | |
Limbic_Region | well - you need to join all those regexes together with capturing parens | ||
buu | hrm | ||
Limbic_Region | and then use whatever is captured as the key | ||
but the trouble is it isn't fixed key still | |||
buu | I have to go do an errand, I'll be back in 10. | ||
Limbic_Region won't | 23:02 | ||
oh - 10 minutes | |||
not 10pm | |||
The dispatch table is still a possibility but probably shouldn't try and pursue it until more of the grammar is covered since it might not fit in as easily | 23:04 | ||
buu | Limbic_Region: Yeah. Maybe. | 23:05 | |
I see what you're getting at, but I'm not sure it's worth it. | 23:06 | ||
Anyways, dropping sister off, we shall discuss in a bit. | |||
23:26
edgewalk1r is now known as edgewalker
|
|||
Limbic_Region notes that he will give buu another 15 minutes before wandering off himself | 23:42 | ||
www.perlmonks.org/index.pl?node_id=431364 | 23:48 | ||
for instance | |||
grrr - wrong channel - sorry | 23:49 | ||
Limbic_Region wanders off | 23:59 |