Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-03-22

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 meppl good night
00:19 mncharity ok.  STD_red->IR.  at least for say(3).  next, IR->p5.
00:27 lumi joined #perl6
00:30 jferrero joined #perl6
00:31 lumi joined #perl6
00:39 larsen joined #perl6
00:52 mncharity say(3) makes it through.
01:06 japhb joined #perl6
01:09 kanru joined #perl6
01:18 pugs_svnbot r20141 | putter++ | [elf_a] Added IR construction and P5 emitting.  ./elf_a_create.pl -e 'say(3)' makes it from p6 to p5.
01:18 pugs_svnbot diff: http://dev.pugscode.org/changeset/20141
01:18 lambdabot Title: Changeset 20141 - Pugs - Trac
01:18 mncharity going to regret the "late night commit" in the morning.  but "early and often".
01:21 mncharity The IR node info needs to be pulled out into a class.  Then give elf_b ir node generation.  And elf_a "class X {...}" IR construction and p5 emitting.  At that point elf_on_STD_red will be caught up with elf_on_rakudo.  Give elf_b p6 versions of elf_a's hand written p5 files.  then incrementally bang on STD_red, the IR and p5 emitting until they compile and run.
01:23 mncharity running late.  good night all &
01:24 mncharity joined #perl6
01:26 mncharity pmurias: sorry I wasn't around much today.   more over the weekend.
02:38 spinclad TimToady: S05:1410: s/euro/eutero/  # it buys more lately, after all
02:42 spinclad i'm happy with the spelling 'Exodos', although i wonder then how to spell 'Leviticus', wishing to have a LXX at hand to see.
02:51 spinclad and 'Deuteronomia' is englished, and 'Numeri' latined then englished; so consistency as a guide seems to only point toward tradition.
02:56 Juerd I thought it was Exodus
03:12 allbery_b it is
03:13 allbery_b well, it's שמות but who's counting :)
03:23 allbery_b or are you reaching for transliterations from the Septuagint?
03:23 allbery_b if so, "Leviticus" will be a problem as it's a Latinization of a Hellenization of Hebrew :)
03:25 allbery_b (well, Anglicization of ...)
03:29 allbery_b which is ridiculous as the Hebrew name is ויקרא (va-Yiqra, "and [G-d] called"), and more colloquially תורת כוהנטם (Torat Kohanim, "Torah of the Priests"); the former makes *at least* as much sense as the made-up "Leviticus" and the latter is what "Leviticus" was presumably shooting for (and missing badly)
03:36 allbery_b (and if you're serious about figuring out the Greek you can probably find the Septuagint online, try sacred-texts.org for starters)
04:09 [particle] joined #perl6
04:22 lisppaste3 joined #perl6
05:54 wknight-away joined #perl6
06:12 Alias__ joined #perl6
07:50 BinGOs joined #perl6
07:58 Aankhen`` joined #perl6
08:29 alc joined #perl6
08:46 nothingmuch joined #perl6
08:50 buu joined #perl6
08:50 buubot joined #perl6
09:54 Psyche^ joined #perl6
10:22 larsen joined #perl6
10:32 rindolf joined #perl6
11:01 luqui joined #perl6
11:13 LazyJim joined #perl6
11:23 wknight-away joined #perl6
11:38 meppl joined #perl6
11:48 chris2 joined #perl6
12:06 wknight-away joined #perl6
12:43 pmurias joined #perl6
12:52 ting win 10
12:58 turrepurre joined #perl6
13:03 rindolf joined #perl6
13:15 ntgrl joined #perl6
13:20 Onyxyte joined #perl6
13:30 Onyx|Idle joined #perl6
13:44 wknight-away joined #perl6
13:49 Onyxyte left #perl6
14:17 mncharity joined #perl6
14:20 FurnaceBoy joined #perl6
14:34 FurnaceBoy joined #perl6
14:47 lollix joined #perl6
14:48 lollix left #perl6
14:54 kanru joined #perl6
15:00 wknight-away joined #perl6
15:05 pmurias mncharity: hi
15:06 pmurias i wrote a simplistic script which generates a ctags file for STD should i ci it somewhere?
15:07 [particle] yes yes yes
15:07 pmurias where? ;)
15:09 [particle] util/gen_std_tags.pl ??
15:10 pmurias added util/gen_STD_ctags.pl, but can change the name ;)
15:10 pugs_svnbot r20142 | pmurias++ | a simple hack to generate a tags file for STD.pm
15:10 pugs_svnbot diff: http://dev.pugscode.org/changeset/20142
15:10 lambdabot Title: Changeset 20142 - Pugs - Trac
15:11 [particle] yay
15:11 [particle] it's good to be home again, if only for two days
15:12 pmurias mncharity: would it be (easier|more fun) working on match2ir if one could just fill in STD.pm {*} actions
15:13 pmurias ?
15:13 pmurias mncharity: meaning should i implement it?
15:16 araujo joined #perl6
15:28 pugs_svnbot r20143 | putter++ | [elf_a] Cleaned up elf_a_create and renamed files.  Output a much more terse IR description.
15:28 pugs_svnbot diff: http://dev.pugscode.org/changeset/20143
15:28 lambdabot Title: Changeset 20143 - Pugs - Trac
15:32 TimToady spinclad: I wasn't trying to mix in lxx spellings, it just happened.  :)
15:32 [particle] hey TimToady! how's things?
15:32 TimToady welcome temporarily back
15:33 TimToady much better than a sesequiweek ago
15:33 TimToady *sesqui
15:33 [particle] ah, good news from the doctors with the cameras?
15:33 TimToady well, not done with tests yet
15:33 TimToady but I feel much better after topping up with half a gallon of blood
15:34 * diakopter has O-
15:34 [particle] camel blood, i hope.
15:34 TimToady ct scan, chest xray, upper endo (with ultrasound!) all negative
15:34 TimToady in a week I'll probably go in for lower endo, joy
15:35 diakopter they can't use valgrind to find the leak, right
15:35 [particle] i'll likely have one of those before year's end
15:35 TimToady but at this point it looks like best bet is some kind of angiodysplasia
15:35 [particle] lovely.
15:35 TimToady which is something like varicose veins on your insides
15:36 TimToady well, my insides, in this case...
15:36 [particle] release the nanobots with lasers on their heads!
15:36 TimToady still several other things it could be too...
15:37 TimToady I'd settle for a sayaka
15:38 diakopter well if the blood isn't pooling somewhere it's got to be leaving somehow...
15:39 [particle] my arthritis is killing me today. can't lift my arms above my shoulders
15:39 TimToady symmetrical?
15:41 TimToady sorry, I shouldn't be trying to play doctor over irc :)
15:43 [particle] yes, it's crohn's arthritis
15:43 [particle] just like rheumatoid (sp?) but without permanent damage
15:43 mncharity pmurias: hi!
15:44 [particle] yesterday it was thumbs, wrists, shoulders, knees, and ankles
15:45 [particle] imagine how much fun it was to shovel snow, drive 2 hours, carry a snowboard, and fly 3 hours
15:45 mncharity pmurias: re STD.pm actions, hmm, there's an idea.
15:46 mncharity though actions would be part of the parse phase, hmm.
15:47 mncharity have you seen elf_a_src/ast_handlers.config ?   the Match nodes are labeled with the rule which generated them, or in the case of some #= foo  , a  rule__foo or something like that.
15:48 TimToady I just have my _REDUCE method attaching the tag currently as a proxy for a rule pointer, since subs in p5 aren't really 1st class objects
15:48 mncharity basically by the time STD_red hands us a Match tree, ... all we have is a match tree.
15:48 TimToady and my current EXPR just looks at /^infix/ on that tag to see if it should pop 2 terms instead of 1
15:48 mncharity :)
15:49 TimToady nounphrase having moved into EXPR, more or less
15:49 TimToady but it's not quite right yet
15:49 mncharity re _REDUCE, yeah, STD_red is just using rule name too, well, the hand written rule name or mutant #= rule name.
15:50 elmex joined #perl6
15:50 TimToady and there's something squirrely about prefixes and postfixes that dominate a nearby infix
15:50 mncharity treating #= foo like implicit   $<foo>=[ ... ]
15:50 TimToady because the prefix dominates a following infix, and for symmetry a postfix could dominate a preceding infix
15:51 TimToady -$x**$y is the canonical case in existing operators
15:51 TimToady but the reverse of that could hold for a user-defined postfix
15:52 TimToady but a prefix can't dominate to its left, nor a postfix to its right
15:52 TimToady so $x**-$y can't make the - looser than the **
15:53 pugs_svnbot r20144 | putter++ | [elf_a] Now quiet by default (-v gives the old behavior).  And in the absence of -c, now eval()s the p5.
15:53 pugs_svnbot diff: http://dev.pugscode.org/changeset/20144
15:53 lambdabot Title: Changeset 20144 - Pugs - Trac
15:53 TimToady and then there's the little case of what do you do if there's both a prefix that dominates what's after and a postfix that dominates what's before...
15:54 TimToady say, for the sake of argument, there were a - postfix that did what - prefix does
15:54 TimToady you can get cool stuff like $x**-$y-**$z
15:55 TimToady which seems a bit bogus
15:56 TimToady not to mention ambiguous
15:57 TimToady the prefix would be trying to turn it into $x**(-($y-**$z)) while the postfix would be trying to do the mirror image
15:57 mncharity in redsix I ended up having separate left and right precedences, inferred from the fixity, because i was just finding it too confusing to try an work directly with both fixity and precedence in the OPP.
15:58 mncharity assoc too, maybe?
15:59 mncharity no, just precedence.
16:01 mncharity plus a "needs an expression on left? on right?"
16:02 TimToady at the moment I just track whether to pop 1 or 2 args, assuming that prefix and postfix are just simple unary by then, but may have to rethink
16:03 TimToady this was a lot simpler before the mathematicians got involved with their -$x**$y   :)
16:03 mncharity /me looks at $x**-$y-**$z , thinks Acme is going to get some *really* strange stuff.
16:04 TimToady well, that's obviously got to be asymmetrical or illegal
16:04 TimToady but the question remains whether the $x**$y- analog works
16:04 TimToady and means ($x**$y)-
16:04 mncharity re illegal, but it could be a circumfix operator, or... ;)
16:05 TimToady well, if you have prefix:<-> and circumfix:<- -> you're already in a world of hurt even without the postfix:<->
16:05 pmurias TimToady: can't prefix and postfix get handled as part of the term instead of the OPP
16:05 pmurias ?
16:06 TimToady pmurias: that's what I had before
16:06 TimToady (with nounphrase)
16:06 TimToady but it doesn't parse -$x**$y right
16:06 TimToady s/right/"right"/ if rand < .5
16:07 TimToady s/rand/rand()/
16:08 TimToady so the way the mathematicians want it, it needs to be parsed more like 0-$x**$y
16:08 TimToady ignoring the detail that prefix:<-> has a different precedence than infix:<->
16:10 TimToady and I can do that pretty easily in EXPR
16:10 TimToady question is how/whether to apply the same logic to postfixes dominating a preceding infix
16:11 [particle] (didn't (lisp (solve (all (this (with (parens ;)))))))
16:11 TimToady only for prefixes :)
16:12 [particle] the interesting bits of language are where symmetry is broken
16:13 mncharity hi pmurias.  i'm attempting to get elf_a to start running the t/01-sanity/ tests.  then... something?
16:13 TimToady indeed, but it's my job to figure out if the user is going to want the precedence of, say, postfix:<i> to be outside that of infix:<+>
16:14 TimToady so that they can say 1+2i
16:14 TimToady wait, that doesn't want to dominate the +, nevermind
16:14 TimToady but some similar situation
16:14 pmurias mncharity: rehi
16:14 TimToady maybe the user wants listops that go at the end of the list instead of the beginning
16:15 TimToady but postfixes are already syntactically distinguished
16:15 TimToady since the require no whitespace
16:15 ntgrl joined #perl6
16:15 TimToady *they
16:15 pmurias moving unarry prefix and postfix operators to the top of the precendence tables would "solve" the issue ;)
16:16 TimToady already the case for postfix, basically
16:16 TimToady I'm just wondering what happens if a user defines a looser postfix
16:16 TimToady such as a hypothetical postfix:<->
16:16 [particle] isn't there room for users to create their own precedence levels?
16:17 TimToady where $x**$y- could mean the same as -$x**$y
16:17 [particle] leave dominating-postfix as an exercise
16:17 TimToady yes, but the question is what do you do next
16:18 TimToady it's trivial to create a postfix:<-> with looser prec than **
16:18 TimToady but will it do anything with that precedence, and if so, what?
16:21 pmurias TimToady: is ** proper mathematical notation?
16:21 TimToady and the crazy thing is that the leftward precedence of a term is specified by a postfix, while the rightward precedence of a term is specified by the prefix
16:22 TimToady pmurias: no, we just have to parse superscripts correctly  :)
16:22 TimToady unfortunately Unicode doesn't have superscripts on superscripts...
16:23 TimToady so it's hard to write $x**$y**$z
16:26 TimToady anyway, ** has been "proper" ever since Fortran
16:28 TimToady and arguably, ** is better huffman coding of a heavy operation than superscripting is
16:28 TimToady so Backus was just fixing math notation  :)
16:38 pugs_svnbot r20145 | putter++ | [STD_red] show a pretty picture of where the parse error occurred.
16:38 pugs_svnbot diff: http://dev.pugscode.org/changeset/20145
16:38 lambdabot Title: Changeset 20145 - Pugs - Trac
16:40 rindolf joined #perl6
16:42 jhorwitz joined #perl6
16:42 pmurias mncharity: it's possible to run the actions after the parse (they can't affect it of course)
16:43 mncharity math notation regrettably has a great deal to be fixed.  but that's for openmath or mathml or some such.
16:44 mncharity re actions,
16:47 mncharity true.  but one probably doesn't want to write them in ruby and do them inside of STD_red.  so STD_red could include "do action here" tags in the Match tree, and they could be done afterwards, in elf.  providing a match object so the action has the raw material to work with.  ...  which is what we have now. ;)   eg,
16:48 mncharity 'if 3 {4} else {5}' has a Match labeled if__else, which isn't a real rule, but rather the rule if with the #= else  tag.
16:49 mncharity this was the #= thing I mentioned which I'm not sure is the right thing to be doing.  but it does provide a place to hang "actions". :)
16:50 TimToady there's no requirement to hang an action on every tag :)
16:50 pmurias TimToady: heavy operations means used commonly or slow?
16:51 TimToady the {*} is serving also to indicate explicitly where LTM must quit, if it hasn't quit before now (which it usually has)
16:52 TimToady ** is higher order than * in the sense that ** can be defined (roughly) in terms of repeated *
16:52 TimToady and you learn it later in school
16:52 TimToady so "mentally" heavy
16:53 pmurias mncharity: i just wanted to know if it would be more fun filling in STD.pm and having a script extract the actions out
16:53 TimToady and $x**$y tends to do more "violence" to the value than $x*$y, in some sense
16:54 TimToady please do not put actions into STD.pm
16:54 TimToady the main point of {*} is to avoid installing platform dependencies
16:59 mncharity re fun, :) hmm,
17:00 pmurias TimToady: they would be kept in a seperate place
17:01 mncharity prompted by the question, I'm filling in if... and noting it is heavy going.  a combination of the elf infrastructure is still getting fleshed out, plus the kp6-derived IR needs tweaking to mesh with the STD Match tree.
17:02 mncharity so doing it in elf isn't quite fun yet.  hopefully by tomorrow.
17:05 mncharity re STD, I wonder if it is time to give STD it's own directory?  there's a lot of it src/perl6, plus more in winter_jig/STD, and now a bit in util/, ...  as it becomes the focus of a lot of people/work, it will outgrow being directly in src/perl6/ at some point.
17:05 mncharity *it in
17:13 mncharity ok.  reality correction.  elf_a does 'say(3)'.  but little else.  well, it could do 'class A { has $.x; ... }'.  but it doesn't even parse strings, nor do if(), etc.  and a lot of that will require nontrivial slogging.  so... not yet ready for use.
17:14 mncharity re STD, or just start collecting all the non-TimToady work in a misc/STD/ ?
17:17 mncharity hmm, both <statement> and <statement_control:use> seem to be trying to <eat_terminator>
17:18 mncharity (in STD.pm)
17:20 smtms joined #perl6
17:27 Chillance joined #perl6
17:30 smtms joined #perl6
17:30 pmurias mncharity: you mean elf_a, or STD_red related slogging?
17:30 mncharity both :/
17:31 elmex joined #perl6
17:31 mncharity I'd forgotten the STD_red "big hairy quoted everything" handling was just sketched in, and not yet running.
17:34 mncharity /me tempted to fake it.  That section is slated for overhaul in STD.pm, and STD_red is doing something rather different anyway... but faking it would be a slippery slope.  sigh.  maybe fake ' ' to get sanity running an then go back to it?
17:34 TimToady yeah, the quoting in STD may be in for some refactoring as well, so I'd fake it for now.
17:35 TimToady on <eat_terminator>, need to cogitate a bit or two
17:35 TimToady probably will end up deleting the call in use and no
17:35 mncharity ok
17:36 TimToady since eat_terminator is supposed to handle the need for ; when you stack to statement_control on the same line
17:37 TimToady since foo {...}; bar {...} requires the semi
17:37 TimToady and the use/no calls probably predate that decision
17:37 TimToady but that's just gut feeling, not thotthru
17:38 TimToady but in any case <EXPR>? should be greedy enough to get us to the ';' anyway
17:39 TimToady so we can rely on statement's call to e_t
17:40 TimToady is a bit strange to reduce it (and having side effects!) before eating the semi, but seems benign, and you have to do that anyway if there's no semi
17:43 TimToady 'course, arguably, that means that eat_terminator doesn't need to be its own rule
17:44 TimToady however, it's probably good to make it available for user-derived grammars
17:45 TimToady (for similar reasons I've been tempted to make all the regex matching rules into multis, but I keep resisting that temptation. :)
17:45 mncharity lol :)
17:46 TimToady I did rename all the regex rules that have names that are too long though...
17:47 TimToady instead of all the ordered/unorderer mumbojumbo, it's now regex_{first,every,any,all}
17:47 TimToady for || && | & respectively
17:47 mncharity ah, neat
17:48 TimToady should probably check in my current STD et al, though it might regress some things
17:48 TimToady but since I'm really the only one running it, that's okay :)
17:48 TimToady break early, break often...
17:48 mncharity STD_red is so out of sync at this point, further STD.pm changes aren't a problem. :)
17:49 mncharity though maybe I'll snarf a copy for STD_red.  It's not _that_ out of sync.
17:49 TimToady well, you could at least glare at the diffs
17:49 pugs_svnbot r20146 | lwall++ | [STD et al.] snapshot of current state
17:49 pugs_svnbot diff: http://dev.pugscode.org/changeset/20146
17:49 lambdabot Title: Changeset 20146 - Pugs - Trac
17:50 mncharity lunch time, but, could you give me a hint how 'say 3' parses?
17:50 TimToady term:listop
17:50 mncharity looking....
17:52 mncharity ah, ok.  bbl.  will attempt sanity, with fake quotes, after lunch and errands.
17:52 mncharity thanks
17:52 TimToady walk &
18:00 b_jonas joined #perl6
18:04 meteorjay joined #perl6
18:17 Psyche^ joined #perl6
18:19 jferrero joined #perl6
18:49 eternaleye joined #perl6
18:55 rindolf joined #perl6
19:08 spinclad TimToady: for the record, Juerd++ first noticed Exodos.
19:19 TimToady I've been reading too much greek lately, obvously...
19:22 * spinclad too... gimme that old time geometria
19:22 TimToady ὁδὸς is one of those weird words that is structurally masculine but actually feminine...
19:24 jferrero joined #perl6
19:25 alester joined #perl6
19:26 TimToady well, it's actually neither...
19:31 spinclad neither?   now i need a good input method cause i want to mangle something from memory... <isé 'é 'odos anw katw>... looks feminine to me
19:32 allbery_b heh
19:33 TimToady you want rough breathings there, not smooth
19:34 spinclad true, s/'/`/, i was leaving them off for smooth
19:34 spinclad as an input method, it's a real mangle
19:34 TimToady but yes, ἡ ὁδὸς
19:36 TimToady when a real masc noun would take ὁ instead of ἡ as an article
19:40 TimToady but yeah, no decent greek input method here either...
19:40 TimToady and likely to be modern greek in any case
19:40 whiteg left #perl6
19:40 TimToady (no pun intended)
19:42 spinclad drat.  here i was hoping you would suggest one in passing.  so this has been cut and paste, or ...?
19:42 spinclad s/would/could/
19:44 TimToady yes, just cnp
19:46 cognominal_ joined #perl6
19:47 spinclad [mock-translation from before: to an élekron, the way to the anode and the kathode are the same]
19:48 spinclad s/élekron/élektron/  # step on my own joke
19:56 TimToady there's some discussion at http://mail.nl.linux.org/linux-utf8/2006-01/msg00019.html
19:56 lambdabot Title: Re: Experiments with classical Greek keyboard input
19:56 TimToady but looks like an overall mess
19:58 spinclad thanks, i take a look.  can't be much worse than pali (paa.li)
20:00 TimToady now if only I had a geek input method...
20:00 spinclad *i'll  # coffeee!!
20:01 spinclad *psi*
20:01 TimToady most geeks already have an input method for coffee
20:03 spinclad i go exercise it now then  &
20:27 lee__ joined #perl6
22:09 jferrero joined #perl6
22:09 mncharity TimToady: in term:listop, and <nofat> <arglist> , the <!before \w> of <nofat> rejects an arglist beginning with 3?
22:11 b_jonas hmm, is <nofat> something stolen from m?mix ?
22:11 jferrero left #perl6
22:13 mncharity hmm, no idea.
22:13 b_jonas (the world's first polyunsaturated computer)
22:14 b_jonas (100% natural, too)
22:28 justatheory joined #perl6
22:43 smtms_ joined #perl6
22:50 TimToady mncharity: fixed, listop shouldn't have have traversed \s before <nofat>
22:50 pugs_svnbot r20147 | lwall++ | [STD] various whitespace snafus
22:50 pugs_svnbot diff: http://dev.pugscode.org/changeset/20147
22:50 lambdabot Title: Changeset 20147 - Pugs - Trac
22:51 TimToady the <!before \s> is only to prevent <nofat> from matching in the middle of an identifier
22:51 TimToady \w rather
22:53 mncharity ah, ok.  thanks
23:14 Limbic_Region joined #perl6
23:31 larsen joined #perl6
23:44 xd joined #perl6
23:45 REPLeffect joined #perl6
23:47 pugs_svnbot r20148 | putter++ | [STD_red] +fake quote parsing; +term:listop Match; ignore nounphrase;  ws tweaks following r20147.
23:47 pugs_svnbot diff: http://dev.pugscode.org/changeset/20148
23:48 lambdabot Title: Changeset 20148 - Pugs - Trac
23:51 mncharity prove -e ./elf_a ../../../t/01-sanity/01-tap.t
23:51 pugs_svnbot r20149 | putter++ | [elf_a] "say 3" and "say 'e'" work.  t/01-sanity/01-tap.t passes.  There's also an unfinished attempt at if().
23:51 pugs_svnbot diff: http://dev.pugscode.org/changeset/20149
23:51 lambdabot Title: Changeset 20149 - Pugs - Trac
23:51 mncharity a first test pass. :)  all the rest fail of course.
23:54 mncharity 0.3 sec runtime.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo