pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
00:00 thoughtpolice joined
meppl good night 00:01
00:03 meppl left
mncharity ok. STD_red->IR. at least for say(3). next, IR->p5. 00:20
00:28 lumi joined 00:31 jferrero joined, lumi left 00:32 lumi joined 00:38 jferrero left 00:40 larsen joined 00:48 LazyJim left
mncharity say(3) makes it through. 00:53
01:07 japhb joined, japhb left 01:10 kanru joined
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
diff: dev.pugscode.org/changeset/20141
lambdabot Title: Changeset 20141 - Pugs - Trac 01:19
mncharity going to regret the "late night commit" in the morning. but "early and often".
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:22
running late. good night all & 01:24
01:25 mncharity left, mncharity joined
mncharity pmurias: sorry I wasn't around much today. more over the weekend. 01:27
01:27 mncharity left 01:41 elmex left 02:10 thoughtpolice left 02:31 larsen left
spinclad TimToady: S05:1410: s/euro/eutero/ # it buys more lately, after all 02:39
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:43
and 'Deuteronomia' is englished, and 'Numeri' latined then englished; so consistency as a guide seems to only point toward tradition. 02:52
Juerd I thought it was Exodus 02:57
allbery_b it is 03:13
well, it's שמו×Ŗ but who's counting :) 03:14
or are you reaching for transliterations from the Septuagint? 03:24
if so, "Leviticus" will be a problem as it's a Latinization of a Hellenization of Hebrew :)
(well, Anglicization of ...) 03:26
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:30
03:34 wknight8111 is now known as wknight-away
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) 03:37
03:44 Limbic_Region left 03:48 valrke left 03:55 wknight-away left 04:10 [particle] joined 04:23 lisppaste3 joined 04:53 Chillance left 05:35 kanru left 05:55 wknight-away joined 06:13 Alias__ joined, Zygo left 06:22 BinGOs left, justatheory left 07:04 FurnaceBoy left 07:20 buu left 07:22 buubot left 07:50 BinGOs joined 07:59 Aankhen`` joined 08:02 wknight-away left 08:30 alc joined 08:47 nothingmuch joined 08:51 buu joined, buubot joined 09:55 Psyche^ joined 10:12 Patterner left, Psyche^ is now known as Patterner 10:23 larsen joined 10:29 c9s_ is now known as c9s 10:33 rindolf joined 10:34 larsen left 11:02 luqui joined 11:13 LazyJim joined 11:24 wknight-away joined 11:39 meppl joined 11:49 chris2 joined 11:57 wknight-away left 12:07 wknight-away joined 12:24 rindolf left 12:44 pmurias joined
ting win 10 12:53
12:59 turrepurre joined 13:04 rindolf joined 13:16 ntgrl joined 13:17 ntgrl is now known as integral 13:20 wknight-away left 13:21 Onyxyte joined 13:31 Onyx|Idle joined 13:39 Onyxyte left, Onyx|Idle is now known as Onyxyte 13:45 wknight-away joined 13:50 Onyxyte left 13:54 eternaleye left 14:15 wknight-away left 14:18 mncharity joined 14:21 FurnaceBoy joined 14:23 FurnaceBoy left 14:34 FurnaceBoy joined 14:39 alc left 14:48 lollix joined 14:49 lollix left 14:55 kanru joined 15:01 wknight-away joined
pmurias mncharity: hi 15:06
15:07 luqui left
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:08
pmurias where? ;)
[particle] util/gen_std_tags.pl ?? 15:10
pmurias added util/gen_STD_ctags.pl, but can change the name ;) 15:11
pugs_svnbot r20142 | pmurias++ | a simple hack to generate a tags file for STD.pm
diff: dev.pugscode.org/changeset/20142
lambdabot Title: Changeset 20142 - Pugs - Trac
[particle] yay 15:12
it's good to be home again, if only for two days
pmurias mncharity: would it be (easier|more fun) working on match2ir if one could just fill in STD.pm {*} actions 15:13
? 15:14
mncharity: meaning should i implement it?
15:17 araujo joined
pugs_svnbot r20143 | putter++ | [elf_a] Cleaned up elf_a_create and renamed files. Output a much more terse IR description. 15:29
diff: dev.pugscode.org/changeset/20143
lambdabot Title: Changeset 20143 - Pugs - Trac
TimToady spinclad: I wasn't trying to mix in lxx spellings, it just happened. :) 15:33
[particle] hey TimToady! how's things?
TimToady welcome temporarily back
much better than a sesequiweek ago 15:34
*sesqui
[particle] ah, good news from the doctors with the cameras?
TimToady well, not done with tests yet
but I feel much better after topping up with half a gallon of blood
diakopter has O- 15:35
[particle] camel blood, i hope.
TimToady ct scan, chest xray, upper endo (with ultrasound!) all negative
in a week I'll probably go in for lower endo, joy
diakopter they can't use valgrind to find the leak, right 15:36
[particle] i'll likely have one of those before year's end
TimToady but at this point it looks like best bet is some kind of angiodysplasia
[particle] lovely.
TimToady which is something like varicose veins on your insides
well, my insides, in this case... 15:37
[particle] release the nanobots with lasers on their heads!
TimToady still several other things it could be too...
I'd settle for a sayaka 15:38
15:39 smtms left
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
TimToady symmetrical? 15:40
sorry, I shouldn't be trying to play doctor over irc :) 15:42
[particle] yes, it's crohn's arthritis 15:44
just like rheumatoid (sp?) but without permanent damage
mncharity pmurias: hi!
[particle] yesterday it was thumbs, wrists, shoulders, knees, and ankles 15:45
imagine how much fun it was to shovel snow, drive 2 hours, carry a snowboard, and fly 3 hours 15:46
mncharity pmurias: re STD.pm actions, hmm, there's an idea.
though actions would be part of the parse phase, hmm.
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:49
mncharity basically by the time STD_red hands us a Match tree, ... all we have is a match tree.
TimToady and my current EXPR just looks at /^infix/ on that tag to see if it should pop 2 terms instead of 1
mncharity :)
TimToady nounphrase having moved into EXPR, more or less 15:50
but it's not quite right yet
mncharity re _REDUCE, yeah, STD_red is just using rule name too, well, the hand written rule name or mutant #= rule name.
15:51 elmex joined
TimToady and there's something squirrely about prefixes and postfixes that dominate a nearby infix 15:51
mncharity treating #= foo like implicit $<foo>=[ ... ]
15:51 wknight-away left
TimToady because the prefix dominates a following infix, and for symmetry a postfix could dominate a preceding infix 15:51
-$x**$y is the canonical case in existing operators 15:52
but the reverse of that could hold for a user-defined postfix
but a prefix can't dominate to its left, nor a postfix to its right
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.
diff: dev.pugscode.org/changeset/20144
lambdabot Title: Changeset 20144 - Pugs - Trac 15:54
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...
say, for the sake of argument, there were a - postfix that did what - prefix does 15:55
you can get cool stuff like $x**-$y-**$z
which seems a bit bogus 15:56
not to mention ambiguous 15:57
the prefix would be trying to turn it into $x**(-($y-**$z)) while the postfix would be trying to do the mirror image 15:58
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.
assoc too, maybe? 15:59
no, just precedence. 16:00
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
this was a lot simpler before the mathematicians got involved with their -$x**$y :) 16:04
mncharity /me looks at $x**-$y-**$z , thinks Acme is going to get some *really* strange stuff.
TimToady well, that's obviously got to be asymmetrical or illegal 16:05
but the question remains whether the $x**$y- analog works
and means ($x**$y)-
mncharity re illegal, but it could be a circumfix operator, or... ;)
TimToady well, if you have prefix:<-> and circumfix:<- -> you're already in a world of hurt even without the postfix:<-> 16:06
pmurias TimToady: can't prefix and postfix get handled as part of the term instead of the OPP
?
TimToady pmurias: that's what I had before 16:07
(with nounphrase)
but it doesn't parse -$x**$y right
s/right/"right"/ if rand < .5
s/rand/rand()/ 16:08
so the way the mathematicians want it, it needs to be parsed more like 0-$x**$y 16:09
ignoring the detail that prefix:<-> has a different precedence than infix:<->
and I can do that pretty easily in EXPR 16:11
question is how/whether to apply the same logic to postfixes dominating a preceding infix
[particle] (didn't (lisp (solve (all (this (with (parens ;))))))) 16:12
TimToady only for prefixes :)
[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:14
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:<+>
so that they can say 1+2i 16:15
wait, that doesn't want to dominate the +, nevermind
but some similar situation
pmurias mncharity: rehi
TimToady maybe the user wants listops that go at the end of the list instead of the beginning
but postfixes are already syntactically distinguished 16:16
since the require no whitespace
16:16 ntgrl joined
TimToady *they 16:16
16:16 integral left
pmurias moving unarry prefix and postfix operators to the top of the precendence tables would "solve" the issue ;) 16:16
16:16 ntgrl is now known as integral
TimToady already the case for postfix, basically 16:17
I'm just wondering what happens if a user defines a looser postfix
such as a hypothetical postfix:<->
[particle] isn't there room for users to create their own precedence levels?
TimToady where $x**$y- could mean the same as -$x**$y 16:18
[particle] leave dominating-postfix as an exercise
TimToady yes, but the question is what do you do next
it's trivial to create a postfix:<-> with looser prec than ** 16:19
but will it do anything with that precedence, and if so, what?
pmurias TimToady: is ** proper mathematical notation? 16:22
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
pmurias: no, we just have to parse superscripts correctly :) 16:23
unfortunately Unicode doesn't have superscripts on superscripts...
so it's hard to write $x**$y**$z 16:24
anyway, ** has been "proper" ever since Fortran 16:27
and arguably, ** is better huffman coding of a heavy operation than superscripting is 16:29
so Backus was just fixing math notation :)
16:29 rindolf left 16:31 elmex left
pugs_svnbot r20145 | putter++ | [STD_red] show a pretty picture of where the parse error occurred. 16:39
diff: dev.pugscode.org/changeset/20145
lambdabot Title: Changeset 20145 - Pugs - Trac
16:41 rindolf joined 16:43 jhorwitz joined
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
re actions, 16:45
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
'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
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:51
pmurias TimToady: heavy operations means used commonly or slow?
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
** is higher order than * in the sense that ** can be defined (roughly) in terms of repeated * 16:53
and you learn it later in school
so "mentally" heavy
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:54
TimToady and $x**$y tends to do more "violence" to the value than $x*$y, in some sense
please do not put actions into STD.pm 16:55
the main point of {*} is to avoid installing platform dependencies
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
so doing it in elf isn't quite fun yet. hopefully by tomorrow. 17:03
17:03 Aankhen`` left
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:06
*it in
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
re STD, or just start collecting all the non-TimToady work in a misc/STD/ ? 17:15
hmm, both <statement> and <statement_control:use> seem to be trying to <eat_terminator> 17:18
(in STD.pm) 17:19
17:21 smtms joined 17:28 Chillance joined 17:30 smtms left 17:31 smtms joined, chris2 left
pmurias mncharity: you mean elf_a, or STD_red related slogging? 17:31
mncharity both :/
17:32 elmex joined
mncharity I'd forgotten the STD_red "big hairy quoted everything" handling was just sketched in, and not yet running. 17:32
/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:35
TimToady yeah, the quoting in STD may be in for some refactoring as well, so I'd fake it for now.
17:35 rindolf left
TimToady on <eat_terminator>, need to cogitate a bit or two 17:36
probably will end up deleting the call in use and no
mncharity ok
TimToady since eat_terminator is supposed to handle the need for ; when you stack to statement_control on the same line 17:37
since foo {...}; bar {...} requires the semi 17:38
and the use/no calls probably predate that decision
but that's just gut feeling, not thotthru
but in any case <EXPR>? should be greedy enough to get us to the ';' anyway 17:39
so we can rely on statement's call to e_t 17:40
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:41
'course, arguably, that means that eat_terminator doesn't need to be its own rule 17:44
however, it's probably good to make it available for user-derived grammars
(for similar reasons I've been tempted to make all the regex matching rules into multis, but I keep resisting that temptation. :) 17:46
mncharity lol :)
TimToady I did rename all the regex rules that have names that are too long though... 17:47
instead of all the ordered/unorderer mumbojumbo, it's now regex_{first,every,any,all} 17:48
for || && | & respectively
mncharity ah, neat
TimToady should probably check in my current STD et al, though it might regress some things 17:49
but since I'm really the only one running it, that's okay :)
break early, break often...
mncharity STD_red is so out of sync at this point, further STD.pm changes aren't a problem. :)
though maybe I'll snarf a copy for STD_red. It's not _that_ out of sync. 17:50
TimToady well, you could at least glare at the diffs
pugs_svnbot r20146 | lwall++ | [STD et al.] snapshot of current state
diff: dev.pugscode.org/changeset/20146
lambdabot Title: Changeset 20146 - Pugs - Trac
mncharity lunch time, but, could you give me a hint how 'say 3' parses? 17:51
TimToady term:listop
mncharity looking....
ah, ok. bbl. will attempt sanity, with fake quotes, after lunch and errands. 17:53
thanks
TimToady walk &
18:00 b_jonas joined 18:05 meteorjay joined 18:18 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner 18:20 jferrero joined 18:50 eternaleye joined 18:56 rindolf joined
spinclad TimToady: for the record, Juerd++ first noticed Exodos. 19:09
TimToady I've been reading too much greek lately, obvously... 19:20
19:20 elmex left 19:22 jferrero left, jhorwitz left
spinclad too... gimme that old time geometria 19:23
TimToady į½Ī“į½øĻ‚ is one of those weird words that is structurally masculine but actually feminine...
19:25 jferrero joined 19:26 alester joined
TimToady well, it's actually neither... 19:27
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:35
as an input method, it's a real mangle
TimToady but yes, į¼” į½Ī“į½øĻ‚
when a real masc noun would take į½ instead of į¼” as an article 19:37
but yeah, no decent greek input method here either... 19:41
and likely to be modern greek in any case
(no pun intended)
spinclad drat. here i was hoping you would suggest one in passing. so this has been cut and paste, or ...? 19:43
s/would/could/
TimToady yes, just cnp 19:45
19:47 cognominal_ joined
spinclad [mock-translation from before: to an Ć©lekron, the way to the anode and the kathode are the same] 19:48
s/Ć©lekron/Ć©lektron/ # step on my own joke 19:49
TimToady there's some discussion at mail.nl.linux.org/linux-utf8/2006-0...00019.html 19:57
lambdabot Title: Re: Experiments with classical Greek keyboard input
TimToady but looks like an overall mess
spinclad thanks, i take a look. can't be much worse than pali (paa.li) 19:59
TimToady now if only I had a geek input method... 20:01
spinclad *i'll # coffeee!!
*psi* 20:02
TimToady most geeks already have an input method for coffee
spinclad i go exercise it now then & 20:04
20:28 lee__ joined 21:00 meteorjay left 21:01 alester left 21:48 LazyJim left 22:10 jferrero left, jferrero joined
mncharity TimToady: in term:listop, and <nofat> <arglist> , the <!before \w> of <nofat> rejects an arglist beginning with 3? 22:10
b_jonas hmm, is <nofat> something stolen from m?mix ? 22:12
22:12 jferrero left
mncharity hmm, no idea. 22:14
22:14 pmurias left
b_jonas (the world's first polyunsaturated computer) 22:14
(100% natural, too) 22:15
22:29 justatheory joined 22:44 smtms_ joined
TimToady mncharity: fixed, listop shouldn't have have traversed \s before <nofat> 22:51
pugs_svnbot r20147 | lwall++ | [STD] various whitespace snafus
diff: dev.pugscode.org/changeset/20147
lambdabot Title: Changeset 20147 - Pugs - Trac
TimToady the <!before \s> is only to prevent <nofat> from matching in the middle of an identifier 22:52
\w rather
mncharity ah, ok. thanks 22:54
22:54 smtms left 22:55 smtms_ is now known as smtms 23:02 rindolf left 23:15 Limbic_Region joined 23:32 larsen joined 23:45 xd joined 23:46 REPLeffect joined
pugs_svnbot r20148 | putter++ | [STD_red] +fake quote parsing; +term:listop Match; ignore nounphrase; ws tweaks following r20147. 23:48
diff: dev.pugscode.org/changeset/20148
lambdabot Title: Changeset 20148 - Pugs - Trac 23:49
mncharity prove -e ./elf_a ../../../t/01-sanity/01-tap.t 23:52
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().
diff: dev.pugscode.org/changeset/20149
lambdabot Title: Changeset 20149 - Pugs - Trac
mncharity a first test pass. :) all the rest fail of course.
0.3 sec runtime. 23:55