svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by avar on 16 November 2006.
svnbot6 r15103 | putter++ | Created new ./project_planning directory. Moved ./STATUS and TASKS there. 00:18
r15104 | putter++ | STATUS - added warning that this file has been out of date for more than a year.
putter oops, missed gaal :( 00:19
svnbot6 r15105 | putter++ | Added project_planning/a_dependency_graph. 00:57
r15106 | putter++ | THOUGHTS tweaked. 01:00
r15107 | putter++ | Renamed THOUGHTS to TALK.
r15108 | putter++ | Fix file reference (THOUGHTS renamed TALK). 01:03
pasteling "putter" at 66.30.117.127 pasted "The Failed Test section from a current `make test`. Fyi." (37 lines, 2.6K) at sial.org/pbot/22534 01:05
"putter" at 66.30.117.127 pasted "./pugs -Bperl5 currently fails. Here is the error output." (15 lines, 1.2K) at sial.org/pbot/22536 01:33
putter fyi 01:34
svnbot6 r15109 | putter++ | TASKS: * Add mp6 and kp6 to src/Pugs.hs so one can say -Bmp6 and -Bkp6. 01:37
Ziggy6 putter: how can i run kp6? 01:49
ah, it was a tasks entry :D 01:52
i guess fglock is the only one who knows kp6 01:53
pasteling "putter" at 66.30.117.127 pasted "gaal: build log of failingTest-TAP-Model-0.06. fyi." (305 lines, 26.1K) at sial.org/pbot/22537 01:58
putter gaal: I'm not sure whether that was the only thing that failed in cpan -i Test::Smoke or not. Sorry, I don't have the original log. 02:04
Ziggy6: you might look to see whether it is documented. i didn't only because it was "out of scope" for me this evening. 02:05
putter and if you know how to run mp6, feel free to add that to Pugs.hs. if invocation only requires calling some foo.pl file, it might even be a straightforward oneliner derived from the existing js or perl5 ones. 02:08
02:09
anyone: know of any perl5 projects to create a yaml based (rather than raw perl .t file based) test framework? 02:10
perhaps something simple like .yt files from which .t files can be selectively generated? 02:11
allbery_b putter: that's what always fails for meww
er.
me
everything works but Test::TAP::Model
which also fails during smoke tests with similar errors
putter gaal: note above 02:12
allbery_b: thanks :)
allbery_b I think TimToady recently started seeing the same thing 02:13
Ziggy6 an example on how to run mp6 can be found in hello.sh
putter does mp6 have an interactive shell? 02:16
Ziggy6 i don't think so
putter someone could slap the old pil-run shell on it... 02:19
misc/old_pugs_perl5_backend/PIL-Run/pugs-p5.pl
run-mp6.pl ? 02:21
then it would be easy to add to Pugs.hs
and then it would be easy to make test/smoke it.
Ziggy6 should i create run-mp6.pl? 02:22
putter go for it! :)
there is also ./perl5/PIL2JS/runjs.pl and jspugs.pl as potential fodder (pil2js distinguishes the interactive shell from the "just run it!" one). pil-run combined the two. 02:27
putter redsix kept a readline history file of the last 1k interactive shell commands (ie, history was preserved across shell invocations). i found it very useful. 02:31
"def repl" and "def main" in misc/pX/Common/redsix/redsix_snapshot.rb 02:32
jdv79 what's the word on the street? 02:34
Ziggy6 hmm, i just discovered a major bug in mp6
putter there is also a "never really been used" repl written in p6. examples/shell.pl 02:35
Ziggy6 it won't run code if it doesn't have a package
i doubt it would pass any test
putter "discovered bug" == "progress"! :)
re passing tests, the first step will be to see if it can handle the low-numbered t/01-sanity/ tests. 02:36
Ziggy6 it can't :D 02:37
i tried the first one
putter then one borrows one of the simple Test.pm's which got written for previous bootstraps (pil-run, pil2js, redsix, whatever - a simple Test.pm is... simple), modifies it to work with mp6, and then tries other .t files. 02:38
ah well
a todo! maybe it goes in TASKS?
Ziggy6 i'll talk to fglock when he comes back about kp6 and mp6 02:39
i'm willing to fix some stuff there, but i'm totally clueless right now 02:40
no docs :D
putter one thing one can do is modify/prune a test until it works, and then work backwards, one step at a time, changing it back to its original form while improving the interpreter to keep the file working. 02:41
ok. almost end of day for me. 02:42
Ziggy6 10x for the pointers 02:43
putter maybe create a TALK file someplace in mp6/kp6 land?
i'm thinking something like the Talk/discussion page which is behind every wikipedia article. 02:44
could even use the same convensions
the #perl6 logs are great, but... 02:45
Ziggy6 i searched the svn logs, and fglock is the only one who commited in kp6... if he's not in the discussion... :D
putter oh, for example, I could have dropped the above repl pointers in a TALK file instead/in-addition-to of posting them. then they would be more accessibly captured for the next time this comes up. 02:46
Ziggy6 right
putter 's new idea for today - have TALK files. 02:47
Ziggy6 i was already doing this file on my computer :) 02:48
putter :)
Ziggy6 and now i know how to run kp6 too :D 02:49
i was running it the right way but with the wrong tests
putter we definitely want to wrap it up on a real pl file, rather than depending on .sh files.... ;) 02:51
Ziggy6 i think it has a pl file but i didn't look carefully at the source, just give me one sec 02:52
do i have to run ./util/add-svn-props.sh ? 02:59
for new files 03:00
dduncan what that does is strongly recommended for any text files you add 03:01
you could run its components separately, but its easier together
svnbot6 r15110 | Ziggy6++ | Added run-mp6.pl 03:10
putter woot 03:11
Ziggy6 my first commit :) 03:16
putter the traditional first is adding oneself to AUTHORS... 03:17
Ziggy6 i skipped that one 03:18
putter intentionally? 03:19
Ziggy6 yes
putter hmm. i can imagine it being needed for copyright cruft... 03:20
but don't really know what policy is
svnbot6 r15111 | Ziggy6++ | Added Andrei Benea 03:25
Ziggy6 putter: ping 03:42
putter Ziggy6: pong 04:48
Ziggy6 i played around with mp6 04:58
and it's useless to try to run the tests
because mp6 is a very restricted subset of Perl6
and from what i've seen on irc, it's also frozen
also, kp6 currently has the same grammar 04:59
i guess they're both throwaway projects, needed for bootstrapping purposes 05:00
luqui I wouldn't say throwaway 05:02
but they are for bootstrapping 05:03
putter Ziggy6: how very restricted? 05:20
Ziggy6: I'm sorry. It looks like fglock explicitly said mp6 would not pass any existing tests. :( 05:30
allbery_b actually I think he said it couldn't run the test framework yet 05:31
which would make it hard to actually run tests
putter can it run the non-Test.pm sanity tests?
allbery_b dunno. I only recall fglock saying the test framework wouldn't work with mp6 05:33
putter I don't think any immature p6 implementation has *ever* worked with Test.pm. You use a simplified one. 05:35
even pugs :) 05:36
svnbot6 r15112 | putter++ | run-mp6.pl - mp6 requires an explict "class Main {...}". This kludge provides one if Main seems implied. 05:44
svnbot6 r15113 | putter++ | run-mp6.pl - kludge - remove any "use v6-alpha;" from the source, as mp6 doesn't understand it. 05:56
r15113 | putter++ | t/01-sanity/01-tap.t now passes. 02-counter.t does not.
putter hmm. looks like mp6 may not have Scalar? and thus no assignment? 05:59
jdv79 how is mp6 doing? 06:12
TimToady putter: the mp6 spec specifies no assignment 06:18
just binding 06:19
putter ah, thanks 06:20
luqui ooh, TimToady is here... 06:28
TimToady, so... um, how can I tell perl that it's wrong about what it thinks a token is? 06:30
I understand that you're being more and more liberal in what is allowed to be a token
but I want to say "yes, I know this looks like an insanely complicated, recursive regex, but I want you to pretend it's a token"
deliberately violating any dfa optimization or whatever. just "this thing gets longest-token semantics, too, even if you can't optimize" 06:31
(i.e. try it and see how much it matches, and compare that to the other candidates)
TimToady well, I suppose you could match it first, poke it into a variable and the mathc $foo | whatever. 06:33
luqui forsees a module
that's true, that is an option
TimToady at some point the doctor says "Well, don't do that..." 06:34
luqui but I want my "elementary compositionality"!
most of the time I don't care if it's slow 06:35
TimToady then don't use non-elementarily compositionalizational entities...
luqui (but I know that many people do, so I understand the desire to define semantics geared toward optimization)
TimToady and I suppose all is fair with a pragam
*pragma
luqui the other thing is, you want your grammar to be predictable 06:36
but memorizing what is and isn't going to be considered a token seems a little hard for the average user
but it will be necessary for him
TimToady it's how pretty much every language works
luqui example? 06:37
TimToady English, Japanese, Swahili
luqui oh
those languages
TimToady yeah, the one's humans use
luqui do you want your programming language to take as long to learn as japanese?
TimToady oh, and computer langauges as well
luqui example>
:-)
TimToady every language with a lexer
luqui example?
TimToady I don't do examples
luqui maybe we're not on the same page though, given your "every language with a lexer" comment 06:38
I'm saying that someone will write rule { ... <?{ something something }> } 06:39
and then change it to
rule { ... { blah blah; fail unless something something } }
and stuff will change, and he'll be surprised
TimToady screw 'em
luqui also, **{} is a more pronounced example
luqui sighs
luqui (I was about to write, "he'll say, oh, I didn't realize that closures didn't count, but assertions did. where can I look that up? That's dumb"... but I give up) 06:40
(... for today) 06:41
TimToady at some point the thing becomes intractible to DFA anyway
luqui that's the whole point
I want to separate semantics from optimization
don't *do* dfa if it can't be done
but still guarantee the semantics
TimToady this is not about optimization, I keep saying
luqui then what's it about if you're worrying about dfaability 06:42
TimToady tokens need to be simple, but not necessarily constant, for understandability. 06:43
a lot of people are going to see 192.168.1.1 as 7 tokens anyway... 06:44
luqui and 3.14159 as 3? 06:45
TimToady it's going to end up being fuzzy not matter what
*no
luqui (3 tokens, that is)
but that's not really my point
we're not designing languages on behalf of our programmers 06:46
we're designing a language for them
TimToady I don't see Perl 6 as a single language...
luqui whatever. we're designing a parsing interface for them. 06:46
at the very least, anything that can be put into "lex" as input should be able to be specified as a token 06:47
luqui isn't sure if that's already the case
but the refactoring thing is my biggest worry
because changes can be nonlocal, and indeed, you can get into unreconsilable trouble if you are building a grammar role for others to use 06:48
when something started as a token, but you refactor (or rewrite) in a way that can no longer be considered a token
and there is no way to get those semantics back
(say you changed your data structure)
TimToady it is impossible to relieve the programmer of all responsibility in this 06:49
allbery_b erm? isn't a tokenwhatever the current grammar regexps say it is
?
luqui TimToady, so a smart programmer would not use longest token anything and always use || 06:50
putter good night all &
luqui in case he were to do such a refactor
luqui would definitely be inclined to do that
because || is refactor-invariant
TimToady it's certainly one approach, but not terribly extensible
luqui but sadly more robust than | 06:51
(because I don't think recdescent parsing is that robust to begin with)
TimToady beg pardon? 06:52
luqui which pardon?
TimToady recdescent knows what it's expecting, and can give much better error messages in general that bottom up
*than 06:53
luqui no, from the grammar author's side it's not very robust
what with the author having to worry a lot about the order of alternations
TimToady gah, have you ever used yacc?
luqui yeah...?
TimToady you just end up worrying about shift-reduce errors instead... 06:54
luqui (I mean ratchet-free recdescent; a la P::RD)
wait--
right, || still ratchets...
does it?
on its left side, that is 06:55
allbery_b not to mention what happens if you code foo : bar | /**/ ; instead of foo : /**/ | bar ;
luqui however, I don't worry about shift-reduce errors, because shift is right most of the time.
allbery_b (that's a shift-reduce of a particularly nasty kind)
luqui (it's a larger scale longest token rule)
allbery_b, that makes a difference in yacc 06:56
luqui has to admit, he doesn't have perl5-calibur experience with yacc :-)
allbery_b, ?
allbery_b I didn't quite specify the case right, it's been years since I wasted time on yacc 06:57
but there are cases where getting your altrnations in the wrong order leads to an incorrect parser
luqui knows the LR construction algorithm, and doesn't think that's possible 06:58
agentzh misses yacc's reduce-reduce errors.
allbery_b or hundreds of unexpected shift/reduce conflicts
yacc is LALR(1)
luqui that's what I meant when I said LR
allbery_b there are cases where if you put alternation sin the wrong order it'll never reduce
allbery_b doesn't recall them now 06:59
luqui weird
aanyway..
I'm not arguing for bottom-up
allbery_b I used to know but haven't used in in some 15 years
luqui I think predictive parsing is pretty close to as good as it will get
allbery_b (first went to writing my own parsers by hand, then switchged to languages where I didn't need to mess with crap like yacc :) 07:00
luqui but only if you get to specify your token set exactly
allbery_b at ;east one of those handrolled parsers had the ability to invent new subanguages with dfistinct token rules on the fly 07:01
agentzh likes P::RD's {extract_delimited($text, '"')}
luqui (and admittedly in perl 6 rules, you get to specify it exactly, you just don't have very much power in the specification)
luqui likes Parsec's quotedString
not to mention the whole kickass combinator model :-) 07:02
it's a little too verbose, but it is marvelously powerful
and longest token stuff is too hard
:-)
agentzh nods
luqui summarizes: in *forcing* automatic extraction of tokens, I feel like I'm being kicked around by perl, not telling it to do my bidding 07:03
luqui retires the issue for tonight
TimToady will continue to think about it 07:04
SciAm & 07:05
svnbot6 r15114 | putter++ | TASKS - added "Integrating KP6 with the test suite" task cluster. 07:24
allbery_b wonders if TASKS should just be a hyperlink to hiveminder :) 07:25
agentzh is a hiveminder user. 07:26
luqui ventures off to do the gentoo upgrade he has been avoiding (have to unmerge x11) 08:04
Alias_ audreyt: ping? 10:21
(when will you folks finally get a seen bot)
audreyt: I was mentioning before a potential solution to the cross-language dep problem 10:35
audreyt: I've tentatively started workin on this now
VERY early days
But FYI use.perl.org/~Alias/journal/32221
lambdabot Title: Journal of Alias (5735)
svnbot6 r15115 | luqui++ | All this talk about DFA optimizations made me want to write an NFA to DFA 10:46
r15115 | luqui++ | converter. It was easier than I thought... modulo pugs bugs frustrations.
svnbot6 r15116 | luqui++ | Fixed a bug in the nfa to dfa thingy. 12:04
allbery_b @seen audreyt 15:45
lambdabot audreyt is in #perl6, #ghc and #haskell. I don't know when audreyt last spoke.
allbery_b (we gt one but it's been undergoing revisions...)
audreyt hm? 15:46
allbery_b <Alias_> audreyt: ping?
<Alias_> (when will you folks finally get a seen bot)
Alias_ thanks
audreyt: svn.phase-n.com/svn/cpan/trunk/PIG/
"Package Interdependency Grammar" 15:47
early mucking around
And see use.perl.org/~Alias/journal/32221 15:48
lambdabot Title: Journal of Alias (5735)
Alias_ audreyt: comments welcome 15:49
(at your leisure)
audreyt k 15:50
Alias_ goes for a break 15:52
svnbot6 r15117 | kudra++ | Placeholder 19:19
szabgab good evening 19:54
I was about to download Pugs for windows but the link on the wiki lead me to download.pxperl.com/ which does not seem to hold it any more
lambdabot Title: Sedoparking.com - pxperl.com info. This website is for sale! 19:55
bjoern_ Second link on pugs.kwiki.org/?PugsBinaries - as linked from pugscode.org? 19:57
svnbot6 r15118 | kudra++ | This week
lambdabot Title: PugsBinaries - Pugs - A Perl 6 Implementation
szabgab oh as I can see this wiki pugs.kwiki.org/ is mostly filled by spam, but then why does the Binary builds link from www.pugscode.org/ lead to this page?
lambdabot Title: HomePage - Pugs - A Perl 6 Implementation