Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-01-21

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:18 svnbot6 r15103 | putter++ | Created new ./project_planning directory.  Moved ./STATUS and TASKS there.
00:18 svnbot6 r15104 | putter++ | STATUS - added warning that this file has been out of date for more than a year.
00:19 putter oops, missed gaal :(
00:32 mako132_ joined perl6
00:57 weinig is now known as weinig|bbl
00:57 svnbot6 r15105 | putter++ | Added project_planning/a_dependency_graph.
01:00 svnbot6 r15106 | putter++ | THOUGHTS tweaked.
01:00 svnbot6 r15107 | putter++ | Renamed THOUGHTS to TALK.
01:03 svnbot6 r15108 | putter++ | Fix file reference (THOUGHTS renamed TALK).
01:05 pasteling "putter" at 66.30.117.127 pasted "The Failed Test section from a current `make test`. Fyi." (37 lines, 2.6K) at http://sial.org/pbot/22534
01:33 pasteling "putter" at 66.30.117.127 pasted "./pugs -Bperl5 currently fails. Here is the error output." (15 lines, 1.2K) at http://sial.org/pbot/22536
01:34 putter fyi
01:37 svnbot6 r15109 | putter++ | TASKS: * Add mp6 and kp6 to src/Pugs.hs so one can say -Bmp6 and -Bkp6.
01:37 prism joined perl6
01:48 neonse left perl6
01:49 Ziggy6 putter: how can i run kp6?
01:52 Ziggy6 ah, it was a tasks entry :D
01:53 Ziggy6 i guess fglock is the only one who knows kp6
01:54 neonse joined perl6
01:58 pasteling "putter" at 66.30.117.127 pasted "gaal: build log of failingTest-TAP-Model-0.06. fyi." (305 lines, 26.1K) at http://sial.org/pbot/22537
02:04 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:05 putter 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:07 Azure-BOT joined perl6
02:08 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:09 putter
02:10 putter anyone: know of any perl5 projects to create a yaml based (rather than raw perl .t file based) test framework?
02:11 putter 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
02:11 allbery_b er.
02:11 allbery_b me
02:11 allbery_b everything works but Test::TAP::Model
02:11 allbery_b which also fails during smoke tests with similar errors
02:12 putter gaal: note above
02:12 putter allbery_b: thanks :)
02:13 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
02:16 putter does mp6 have an interactive shell?
02:16 Ziggy6 i don't think so
02:19 putter someone could slap the old pil-run shell on it...
02:19 putter misc/old_pugs_perl5_backend/PIL-Run/pugs-p5.pl
02:21 putter run-mp6.pl ?
02:21 putter then it would be easy to add to Pugs.hs
02:21 putter and then it would be easy to  make test/smoke it.
02:22 Ziggy6 should i create run-mp6.pl?
02:22 putter go for it! :)
02:27 putter 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:30 jdv79 joined perl6
02:31 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:32 putter "def repl" and "def main" in misc/pX/Common/redsix/redsix_snapshot.rb
02:34 jdv79 what's the word on the street?
02:34 Ziggy6 hmm, i just discovered a major bug in mp6
02:35 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
02:35 Ziggy6 i doubt it would pass any test
02:35 putter "discovered bug" == "progress"! :)
02:36 putter re passing tests, the first step will be to see if it can handle the low-numbered t/01-sanity/ tests.
02:37 Ziggy6 it can't :D
02:37 Ziggy6 i tried the first one
02:38 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 putter ah well
02:38 putter a todo!  maybe it goes in TASKS?
02:39 Ziggy6 i'll talk to fglock when he comes back about kp6 and mp6
02:40 Ziggy6 i'm willing to fix some stuff there, but i'm totally clueless right now
02:40 Ziggy6 no docs :D
02:41 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:42 putter ok.  almost end of day for me.
02:43 Ziggy6 10x for the pointers
02:43 putter maybe create a TALK file someplace in mp6/kp6 land?
02:44 putter i'm thinking something like the Talk/discussion page which is behind every wikipedia article.
02:44 putter could even use the same convensions
02:45 putter 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
02:46 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
02:47 * putter 's new idea for today - have TALK files.
02:48 Ziggy6 i was already doing this file on my computer :)
02:48 putter :)
02:49 Ziggy6 and now i know how to run kp6 too :D
02:49 Ziggy6 i was running it the right way but with the wrong tests
02:51 putter we definitely want to wrap it up on a real pl file, rather than depending on .sh files.... ;)
02:52 Ziggy6 i think it has a pl file but i didn't look carefully at the source, just give me one sec
02:59 Ziggy6 do i have to run ./util/add-svn-props.sh ?
03:00 Ziggy6 for new files
03:01 dduncan what that does is strongly recommended for any text files you add
03:01 dduncan you could run its components separately, but its easier together
03:10 svnbot6 r15110 | Ziggy6++ | Added run-mp6.pl
03:11 putter woot
03:12 neonse left perl6
03:16 Ziggy6 my first commit :)
03:16 ozo_ joined perl6
03:17 putter the traditional first is adding oneself to AUTHORS...
03:18 Ziggy6 i skipped that one
03:19 putter intentionally?
03:19 Ziggy6 yes
03:20 putter hmm.  i can imagine it being needed for copyright cruft...
03:20 putter but don't really know what policy is
03:23 buetow joined perl6
03:25 svnbot6 r15111 | Ziggy6++ | Added Andrei Benea
03:29 nipra joined perl6
03:42 Ziggy6 putter: ping
04:26 b00t joined perl6
04:48 putter Ziggy6: pong
04:58 Ziggy6 i played around with mp6
04:58 Ziggy6 and it's useless to try to run the tests
04:58 Ziggy6 because mp6 is a very restricted subset of Perl6
04:58 Ziggy6 and from what i've seen on irc, it's also frozen
04:59 Ziggy6 also, kp6 currently has the same grammar
05:00 Ziggy6 i guess they're both throwaway projects, needed for bootstrapping purposes
05:02 luqui I wouldn't say throwaway
05:03 luqui but they are for bootstrapping
05:20 putter Ziggy6: how very restricted?
05:30 putter Ziggy6: I'm sorry.  It looks like fglock explicitly said mp6 would not pass any existing tests. :(
05:31 allbery_b actually I think he said it couldn't run the test framework yet
05:31 allbery_b which would make it hard to actually run tests
05:31 putter can it run the non-Test.pm sanity tests?
05:33 allbery_b dunno.  I only recall fglock saying the test framework wouldn't work with mp6
05:35 putter I don't think any immature p6 implementation has *ever* worked with Test.pm.  You use a simplified one.
05:36 putter even pugs :)
05:36 frode15243 joined perl6
05:36 leed joined perl6
05:44 svnbot6 r15112 | putter++ | run-mp6.pl - mp6 requires an explict "class Main {...}".  This kludge provides one if Main seems implied.
05:52 frode15243 left perl6
05:56 svnbot6 r15113 | putter++ | run-mp6.pl - kludge - remove any "use v6-alpha;" from the source, as mp6 doesn't understand it.
05:56 svnbot6 r15113 | putter++ | t/01-sanity/01-tap.t now passes.  02-counter.t does not.
05:59 putter hmm.  looks like mp6 may not have Scalar?  and thus no assignment?
06:12 jdv79 how is mp6 doing?
06:14 kanru joined perl6
06:14 nipra joined perl6
06:17 BooK joined perl6
06:18 TimToady putter: the mp6 spec specifies no assignment
06:19 TimToady just binding
06:20 putter ah, thanks
06:28 luqui ooh, TimToady is here...
06:30 luqui TimToady, so... um, how can I tell perl that it's wrong about what it thinks a token is?
06:30 luqui I understand that you're being more and more liberal in what is allowed to be a token
06:30 luqui 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"
06:31 luqui deliberately violating any dfa optimization or whatever.  just "this thing gets longest-token semantics, too, even if you can't optimize"
06:31 luqui (i.e. try it and see how much it matches, and compare that to the other candidates)
06:33 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
06:33 luqui that's true, that is an option
06:34 TimToady at some point the doctor says "Well, don't do that..."
06:34 luqui but I want my "elementary compositionality"!
06:35 luqui most of the time I don't care if it's slow
06:35 TimToady then don't use non-elementarily compositionalizational entities...
06:35 luqui (but I know that many people do, so I understand the desire to define semantics geared toward optimization)
06:35 TimToady and I suppose all is fair with a pragam
06:35 TimToady *pragma
06:36 luqui the other thing is, you want your grammar to be predictable
06:36 luqui but memorizing what is and isn't going to be considered a token seems a little hard for the average user
06:36 luqui but it will be necessary for him
06:36 TimToady it's how pretty much every language works
06:37 luqui example?
06:37 TimToady English, Japanese, Swahili
06:37 luqui oh
06:37 luqui those languages
06:37 TimToady yeah, the one's humans use
06:37 luqui do you want your programming language to take as long to learn as japanese?
06:37 TimToady oh, and computer langauges as well
06:37 luqui example>
06:37 luqui :-)
06:37 TimToady every language with a lexer
06:37 luqui example?
06:37 TimToady I don't do examples
06:38 luqui maybe we're not on the same page though, given your "every language with a lexer" comment
06:39 luqui I'm saying that someone will write rule { ... <?{ something something }> }
06:39 luqui and then change it to
06:39 luqui rule { ... { blah blah;  fail unless something something } }
06:39 luqui and stuff will change, and he'll be surprised
06:39 TimToady screw 'em
06:39 luqui also, **{} is a more pronounced example
06:39 * luqui sighs
06:40 elmex joined perl6
06:40 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:41 luqui (... for today)
06:41 TimToady at some point the thing becomes intractible to DFA anyway
06:41 luqui that's the whole point
06:41 luqui I want to separate semantics from optimization
06:41 luqui don't *do* dfa if it can't be done
06:41 luqui but still guarantee the semantics
06:41 TimToady this is not about optimization, I keep saying
06:42 luqui then what's it about if you're worrying about dfaability
06:43 TimToady tokens need to be simple, but not necessarily constant, for understandability.
06:44 TimToady a lot of people are going to see 192.168.1.1 as 7 tokens anyway...
06:45 luqui and 3.14159 as 3?
06:45 TimToady it's going to end up being fuzzy not matter what
06:45 TimToady *no
06:45 luqui (3 tokens, that is)
06:45 luqui but that's not really my point
06:46 luqui we're not designing languages on behalf of our programmers
06:46 luqui we're designing a language for them
06:46 TimToady I don't see Perl 6 as a single language...
06:46 agentzh joined perl6
06:46 luqui whatever.  we're designing a parsing interface for them.
06:47 luqui 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
06:47 luqui but the refactoring thing is my biggest worry
06:48 luqui 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 luqui when something started as a token, but you refactor (or rewrite) in a way that can no longer be considered a token
06:48 luqui and there is no way to get those semantics back
06:48 luqui (say you changed your data structure)
06:49 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
06:49 allbery_b ?
06:50 luqui TimToady, so a smart programmer would not use longest token anything and always use ||
06:50 putter good night all &
06:50 luqui in case he were to do such a refactor
06:50 * luqui would definitely be inclined to do that
06:50 luqui because || is refactor-invariant
06:50 TimToady it's certainly one approach, but not terribly extensible
06:51 luqui but sadly more robust than |
06:51 luqui (because I don't think recdescent parsing is that robust to begin with)
06:52 TimToady beg pardon?
06:52 luqui which pardon?
06:52 TimToady recdescent knows what it's expecting, and can give much better error messages in general that bottom up
06:53 TimToady *than
06:53 luqui no, from the grammar author's side it's not very robust
06:53 luqui what with the author having to worry a lot about the order of alternations
06:53 TimToady gah, have you ever used yacc?
06:53 luqui yeah...?
06:54 TimToady you just end up worrying about shift-reduce errors instead...
06:54 luqui (I mean ratchet-free recdescent; a la P::RD)
06:54 luqui wait--
06:54 luqui right, || still ratchets...
06:54 luqui does it?
06:55 luqui on its left side, that is
06:55 allbery_b not to mention what happens if you code foo : bar | /**/ ; instead of foo : /**/ | bar ;
06:55 luqui however, I don't worry about shift-reduce errors, because shift is right most of the time.
06:55 allbery_b (that's a shift-reduce of a particularly nasty kind)
06:55 luqui (it's a larger scale longest token rule)
06:56 luqui allbery_b, that makes a difference in yacc
06:56 * luqui has to admit, he doesn't have perl5-calibur experience with yacc :-)
06:56 luqui allbery_b, ?
06:57 allbery_b I didn't quite specify the case right, it's been years since I wasted time on yacc
06:57 allbery_b but there are cases where getting your altrnations in the wrong order leads to an incorrect parser
06:58 * luqui knows the LR construction algorithm, and doesn't think that's possible
06:58 * agentzh misses yacc's reduce-reduce errors.
06:58 allbery_b or hundreds of unexpected shift/reduce conflicts
06:58 allbery_b yacc is LALR(1)
06:58 luqui that's what I meant when I said LR
06:58 allbery_b there are cases where if you put alternation sin the wrong order it'll never reduce
06:59 * allbery_b doesn't recall them now
06:59 luqui weird
06:59 luqui aanyway..
06:59 luqui I'm not arguing for bottom-up
06:59 allbery_b I used to know but haven't used in in some 15 years
06:59 luqui I think predictive parsing is pretty close to as good as it will get
07:00 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
07:01 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, '"')}
07:01 luqui (and admittedly in perl 6 rules, you get to specify it exactly, you just don't have very much power in the specification)
07:01 * luqui likes Parsec's quotedString
07:02 luqui not to mention the whole kickass combinator model :-)
07:02 luqui it's a little too verbose, but it is marvelously powerful
07:02 luqui and longest token stuff is too hard
07:02 luqui :-)
07:02 * agentzh nods
07:03 * 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
07:04 * TimToady will continue to think about it
07:05 TimToady SciAm &
07:24 svnbot6 r15114 | putter++ | TASKS - added "Integrating KP6 with the test suite" task cluster.
07:25 agentzh joined perl6
07:25 * allbery_b wonders if TASKS should just be a hyperlink to hiveminder :)
07:26 * agentzh is a hiveminder user.
07:28 kanru joined perl6
07:29 Sartak joined perl6
07:29 Sartak left perl6
08:04 avar joined perl6
08:04 * luqui ventures off to do the gentoo upgrade he has been avoiding (have to unmerge x11)
08:04 avar joined perl6
08:08 nperez joined perl6
08:19 esammer joined perl6
08:24 bjoern_ joined perl6
08:41 GabrielVieira2 joined perl6
09:13 luqui joined perl6
09:14 Belaf joined perl6
09:21 nipra joined perl6
09:38 iblechbot joined perl6
09:48 chris2 joined perl6
10:07 foo\ joined perl6
10:11 lisppaste3 joined perl6
10:21 Alias_ joined perl6
10:21 Alias_ audreyt: ping?
10:21 Alias_ (when will you folks finally get a seen bot)
10:35 Alias_ audreyt: I was mentioning before a potential solution to the cross-language dep problem
10:35 Alias_ audreyt: I've tentatively started workin on this now
10:35 Alias_ VERY early days
10:35 Alias_ But FYI http://use.perl.org/~Alias/journal/32221
10:35 lambdabot Title: Journal of Alias (5735)
10:46 svnbot6 r15115 | luqui++ | All this talk about DFA optimizations made me want to write an NFA to DFA
10:46 svnbot6 r15115 | luqui++ | converter.  It was easier than I thought... modulo pugs bugs frustrations.
11:15 larsen_ joined perl6
11:22 ozo_ joined perl6
11:23 spx2 joined perl6
11:36 kanru joined perl6
12:04 svnbot6 r15116 | luqui++ | Fixed a bug in the nfa to dfa thingy.
12:04 TimToady joined perl6
12:06 DHGE joined perl6
12:12 elmex joined perl6
12:34 mako132_ joined perl6
12:39 jferrero joined perl6
13:01 nipra joined perl6
13:12 GabrielVieira joined perl6
13:36 buetow joined perl6
13:58 marmic joined perl6
13:59 GabrielVieira2 joined perl6
14:03 ludan joined perl6
14:45 buetow joined perl6
14:45 rdice joined perl6
14:45 nipra joined perl6
15:16 foo\ joined perl6
15:37 neonse joined perl6
15:44 Ziggy6 left perl6
15:44 Ziggy6 joined perl6
15:45 allbery_b @seen audreyt
15:45 lambdabot audreyt is in #perl6, #ghc and #haskell. I don't know when audreyt last spoke.
15:45 allbery_b (we gt one but it's been undergoing revisions...)
15:46 audreyt hm?
15:46 allbery_b <Alias_> audreyt: ping?
15:46 allbery_b <Alias_> (when will you folks finally get a seen bot)
15:46 Alias_ thanks
15:46 Alias_ audreyt: http://svn.phase-n.com/svn/cpan/trunk/PIG/
15:47 Alias_ "Package Interdependency Grammar"
15:47 Alias_ early mucking around
15:48 Alias_ And see http://use.perl.org/~Alias/journal/32221
15:48 lambdabot Title: Journal of Alias (5735)
15:49 Alias_ audreyt: comments welcome
15:49 Alias_ (at your leisure)
15:50 audreyt k
15:52 * Alias_ goes for a break
16:16 explorer__ joined perl6
16:20 leed joined perl6
16:21 larsen_ joined perl6
16:26 leed joined perl6
16:33 leed joined perl6
16:43 nipra joined perl6
16:52 jferrero joined perl6
16:56 weinig|bbl is now known as weinig
17:25 explorer joined perl6
17:32 nipra joined perl6
17:35 VanilleBert joined perl6
17:35 VanilleBert left perl6
17:55 xinming joined perl6
18:10 weinig is now known as weinig|bbl
18:30 cognominal joined perl6
18:37 elmex joined perl6
18:40 stef_ joined perl6
18:41 stef_ joined perl6
19:19 svnbot6 r15117 | kudra++ | Placeholder
19:30 spx2 joined perl6
19:36 Teratogen joined perl6
19:52 bernhard joined perl6
19:53 szabgab joined perl6
19:54 szabgab good evening
19:54 szabgab I was about to download Pugs for windows but the link on the wiki lead me to http://download.pxperl.com/  which does not seem to hold it any more
19:55 lambdabot Title: Sedoparking.com - pxperl.com info. This website is for sale!
19:57 bjoern_ Second link on http://pugs.kwiki.org/?PugsBinaries - as linked from pugscode.org?
19:57 svnbot6 r15118 | kudra++ | This week
19:57 lambdabot Title: PugsBinaries - Pugs - A Perl 6 Implementation
19:57 szabgab oh as I can see this wiki http://pugs.kwiki.org/ is mostly filled by spam, but then why does the Binary builds link from http://www.pugscode.org/ lead to this page?
19:57 lambdabot Title: HomePage - Pugs - A Perl 6 Implementation
20:21 Schwern joined perl6
20:33 weinig|bbl is now known as weinig
21:38 Aankhen`` joined perl6
21:47 jahsak joined perl6
21:47 jahsak left perl6
21:52 spx2 joined perl6
21:56 diakopter joined perl6
22:12 larsen__ joined perl6
22:18 larsen___ joined perl6
22:24 Aankh|Clone joined perl6
22:30 leed joined perl6
22:32 weinig is now known as weinig|bbl
22:37 luqui joined perl6
22:47 Manticore-1 joined perl6
22:55 mako132_ joined perl6
23:01 spx2 is now known as fock2
23:04 GabrielVieira2 is now known as GabrielVieira
23:05 fock2 is now known as spx2
23:09 pbuetow joined perl6
23:13 bsb joined perl6
23:18 Alias_ joined perl6
23:23 Psyche^ joined perl6
23:31 weinig|bbl is now known as weinig
23:39 dduncan joined perl6
23:41 Psyche^ is now known as Patterner
23:46 [particle] joined perl6
23:48 Aankhen`` joined perl6
23:50 devogon joined perl6
23:52 kernel06 joined perl6

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

Perl 6 | Reference Documentation | Rakudo