Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-10-20

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:06 shachaf_ joined perl6
00:16 elmex joined perl6
00:19 cjeris left perl6
00:23 nekokak joined perl6
00:25 nipotaway is now known as nipotan
00:32 Aankhen`` joined perl6
00:33 mako132_ joined perl6
00:52 hexmode joined perl6
01:07 frankg joined perl6
01:09 Pomin joined perl6
01:49 frederico joined perl6
01:52 seano joined perl6
01:52 hikozaemon joined perl6
02:15 bsb joined perl6
02:26 christopher joined perl6
02:33 takesako joined perl6
02:44 drbean joined perl6
02:44 ofer0 joined perl6
03:03 mako132_ joined perl6
03:03 ofer0 joined perl6
03:04 hobbs joined perl6
03:06 root4o joined perl6
03:10 hobbs is pugs -Cparrot broken, or am I? (note: running Debian versions rather than latest; if an upgrade would help I'll get on it)
03:13 root4o If i want to do new test ...is there place where I can see what is missing or i have to look at all the test myself and see what is missing.  10x
03:28 stevan http://flickr.com/photos/auntie/274272263/in/pool-pugs/
03:28 lambdabot Title: Oscar Goes for a Ride on Flickr - Photo Sharing!, http://tinyurl.com/yyfz2r
03:29 stevan http://flickr.com/photos/auntie/272871939/
03:29 shobadobs joined perl6
03:29 lambdabot Title: Gimme Yer Gold on Flickr - Photo Sharing!
03:29 stevan pugs++ :)
03:33 audreyt hobbs: it worksforme
03:33 lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
03:33 audreyt @messages
03:33 lambdabot TimToady said 5h 9s ago: most of my smoke failures appear to be a bare block at statement level being taken as a hash because the code inside was all commented out. I don't think statement block
03:33 lambdabot should turn into hash ever.
03:33 audreyt root4o: http://spec.pugscode.org/ shows coverage
03:33 lambdabot Title: Official Perl 6 Documentation
03:33 hobbs audreyt: okay. Working on getting up-to-date versions then :)
03:38 audreyt finally finished a sketch of slides for tomorrow
03:38 audreyt uploading for review...
03:44 audreyt http://pugs.blogs.com/talks/dls06-pugs.pdf
03:48 audreyt also http://pugs.blogs.com/talks/dls06-pugs.key.tar.bz2 for people with Keynote.app
03:48 lambdabot http://tinyurl.com/v4tp7
03:51 audreyt Hm. I was writing to Intel about tomorrow's talk, and I find myself typing this
03:51 audreyt "my localhost Schwern will drive me..."
03:53 audreyt Also in Flash: http://pugs.blogs.com/talks/dls06-pugs.swf
03:54 svnbot6 r14444 | lwall++ | two more statement non-blocks
04:04 Eidolos joined perl6
04:18 audreyt hmm http://strongtalk.org/ looks like a Very Worthy taget.
04:18 lambdabot Title: Strongtalk: A High-Performance Open Source Smalltalk With An Optional Type Syste ...
04:18 TreyHarris "target" for what?
04:18 TreyHarris for a pugs backend?
04:19 audreyt aye
04:19 audreyt gradual typing and fast dispatch
04:21 audreyt seems like they've got it to the point of C++ level fast, via online profiling
04:22 audreyt @tell nothingmuch your crazy profiled-based-inlining idea turns out to be not crazy at all and implemented in strongtalk.org
04:22 lambdabot Consider it noted.
04:26 ofer0 joined perl6
04:28 araujo audreyt, yes, ST looks interesting
04:28 araujo They have recently released it too
04:28 araujo (hi audreyt)
04:29 audreyt hi araujo :)
04:29 audreyt yes, wouldn't have been looking at it if I don't get to see the source :)
04:30 audreyt need to wait for it to be ported to GCC though
04:30 audreyt currently it's MSVC only
04:31 araujo Me too.
04:31 araujo That's the _yet_ annoying part :-)
04:32 araujo I remember i looked at the project a few years ago, but was very disappointed it was closed source.
04:32 audreyt I'm no VM designer, so a faster-than-perl5 OO VM is always very attractive to me :)
04:32 araujo :-)
04:33 TimToady do they have continuations?
04:34 araujo This would bring Perl+Haskell+StrongTalk (Smalltalk-like) = Perl6
04:34 araujo Definitely , i will love it :-)
04:35 audreyt TimToady: they do. that comes with Smalltalk
04:36 seano joined perl6
04:37 araujo hi TimToady
04:37 TimToady howdy
04:38 araujo As a sidenote comment: Haskell programming is syntactically very very similar to Smalltalk.
04:39 araujo I wonder if that's related to the fact both are pure languages.
04:46 justatheory joined perl6
04:48 AzureStone joined perl6
04:49 SCalimlim joined perl6
04:50 AzureStone joined perl6
04:53 iblechbot joined perl6
05:03 audreyt journal up
05:03 audreyt feedback to slides welcome; I'll have to crash now
05:04 audreyt Jet lag hits! You fall asleep. --More--
05:14 jdv79 :)
05:21 nothingmuch joined perl6
05:29 BooK joined perl6
05:37 root4o if i had to add a new file I have to execute : ./util/add-svn-props.sh newfile1
05:38 root4o and then svn commit
05:38 root4o right ?
05:51 root4o ?eval 1+1
05:51 evalbot_r14438 is now known as evalbot_r14444
05:51 evalbot_r14444 2
06:06 svnbot6 r14445 | raptor++ | Adding test for named subs as specified by http://perlcabal.org/syn/S06.html
06:06 lambdabot Title: S06
06:13 root4o can someone check did I've done the adding new test correctly
06:14 root4o I don't have great experience with svn, Test.pm and perl6 :), so I want to be sure I do the things correctly ;)
06:22 root4o left perl6
06:27 masak roo4o: looks fine by me
06:27 masak the tests pass on my box, are they meant to?
06:30 ofer0 joined perl6
06:36 scw joined perl6
06:37 scw joined perl6
06:41 ofer0 joined perl6
06:42 miyagawa_ ingy: ping
06:48 scw joined perl6
06:51 araujo joined perl6
06:55 svnbot6 r14446 | raptor++ | Added smartlink, hope this is the correct way of doing it ;)
06:59 ofer0 joined perl6
07:09 masak root4o: generally, what people in this channel reply to things like "hope this is ok" is something like: "if it isn't it's no big deal. someone will find it and fix it, sooner or later, probably sooner. that matters is that you're moving stuff in the right direction"
07:16 Pominx joined perl6
07:21 zakharyas joined perl6
07:25 bsb left perl6
07:28 meppl joined perl6
07:31 marmic joined perl6
07:35 araujo joined perl6
07:51 drrho joined perl6
08:15 dakkar joined perl6
08:17 Alias_ joined perl6
08:32 Aukjan joined perl6
08:35 nothingmuch audreyt: cool
08:35 lambdabot nothingmuch: You have 1 new message. '/msg lambdabot @messages' to read it.
08:36 nothingmuch @moosages
08:36 lambdabot audreyt said 4h 13m 49s ago: your crazy profiled-based-inlining idea turns out to be not crazy at all and implemented in strongtalk.org
08:38 frederico joined perl6
08:39 Alias_ @moosages
08:39 lambdabot You don't have any new messages.
08:39 andara joined perl6
08:39 Alias_ :(
08:39 nothingmuch @tell Alias_ nobody loves you
08:39 lambdabot Consider it noted.
08:39 Alias_ @moosages
08:39 lambdabot nothingmuch said 5s ago: nobody loves you
08:39 Alias_ :(
08:40 * nothingmuch cheers for Alias_
08:40 * nothingmuch goes to give misrouted mail back to the post office
08:40 Aukjan left perl6
08:40 Alias_ @tell nothingmuch You don't have any new messages.
08:40 lambdabot Consider it noted.
08:44 TreyHarris araujo: you say Haskell and Smalltalk are both pure, but how can that be?  Smalltalk permits side-effects, doesn't it?  Granted, it's been a long time since I've done Smalltalk, but I recall := being used for assignment...
08:46 nipotan is now known as nipotaway
08:51 Juerd ?eval sub postfix:<?> ($lhs) { CALLER::<$_> = $lhs } 15? .say;
08:51 evalbot_r14444 is now known as evalbot_r14446
08:51 evalbot_r14446 Error: ␤Unexpected "CALLER"␤expecting statements or "}"
08:51 Juerd ?eval sub postfix:<?> ($lhs) { CALLER::<$_> = $lhs } 15?; .say;
08:51 evalbot_r14446 Error: ␤Unexpected "CALLER"␤expecting statements or "}"
08:51 Juerd ?eval sub postfix:<?> ($lhs) { $CALLER::$_ = $lhs } 15?; .say;
08:51 evalbot_r14446 Error: ␤Unexpected "CALLER"␤expecting "::"
08:51 Juerd ?eval sub postfix:<?> ($lhs) { $CALLER::_ = $lhs } 15?; .say;
08:51 evalbot_r14446 OUTPUT[15␤] Bool::True
08:52 Juerd Neat
09:03 bonsai joined perl6
09:04 buetow joined perl6
09:09 foo\ joined perl6
09:11 elmex joined perl6
09:12 chris2 joined perl6
09:19 buubot joined perl6
09:24 frankg joined perl6
09:26 dduncan left perl6
09:34 nipotaway is now known as nipotan
09:43 ruoso joined perl6
09:59 penk joined perl6
10:13 ceem joined perl6
10:15 ceem is now known as cm_
10:33 chris2 joined perl6
11:01 fglock joined perl6
11:06 fayland joined perl6
11:13 xinming_ joined perl6
11:14 andara left perl6
11:15 Psyche^ joined perl6
11:16 glasser joined perl6
11:29 * fglock wonders about writing a P6Regex lib for strongtalk
11:29 Lorn fglock: :)
11:31 Psyche^ is now known as Patterner
11:45 andara joined perl6
11:53 fglock joined perl6
11:54 fglock Lorn: ola
11:58 nipotan is now known as nipotaway
12:01 Lorn fglock: hi, that bug wit cache, it's fix?
12:05 fglock Lorn: I'm not sure, I haven't seen other reports on it
12:06 fglock Lorn: Cache::Cache 1.04 reports a fix on "repair permissions on temp cache files"
12:07 fglock but that's 1yr old - we should not have had this problem
12:13 Limbic_Region joined perl6
12:28 ofer0 joined perl6
12:34 Lorn fglock: i can help in anything?
12:41 mdiep joined perl6
12:42 kisu joined perl6
13:04 mdiep joined perl6
13:05 kanru joined perl6
13:06 iblechbot joined perl6
13:09 xinming_ is now known as xinming
13:23 P02 joined perl6
13:26 fglock Lorn: ping?
13:26 svnbot6 r14447 | fglock++ | v6 - added a version-banner
13:26 svnbot6 r14447 | fglock++ |   $ perl -e 'use v6-alpha' - -v
13:26 vel joined perl6
13:27 FurnaceBoy_ joined perl6
13:28 masak does anyone but me get frightened by TSa's emails sometimes?
13:30 masak He sure sounds like he knows what he's talking about, but he's requesting changes and features that seem to be directly picked out of a book on type theory
13:31 Juerd My impression is, although he denies it, is that he's not a Perl 5 programmer, but participates because he has a strong feeling of how things should be, and wishes Perl 6 to implement his ideas.
13:32 Juerd I'm sometimes annoyed by his academic approach, but on the other hand, we need people from all parts of the programming universe if Perl 6 is indeed to be the one language that solves all problems :)
13:37 masak true :)
13:37 masak it's not that I have anything against him in any way, it's just that sometimes he... scares me a bit
13:38 [particle] <TSa>HaloO, masak</TSa>
13:39 fglock I gave up scaring people :)
13:39 [particle] ...that's about all i understand from tsa. i let others worry about that stuff
13:40 Juerd masak: I don't have anything against him or what he says. It's just that most of the time I don't understand it. And when I do think I get it, I find it hard to place it in a Perl context.
13:43 djuls joined perl6
13:43 djuls hello
13:47 cjeris joined perl6
13:49 masak Juerd: that's nice to hear from someplace outside my own brain
13:50 rlb3 joined perl6
13:51 scw_ joined perl6
13:54 fglock it takes a little practice to explain clearly what you mean, specially when you are more used to math than english
13:56 fglock "mathematics as a universal language" does not exactly apply
14:02 ofer0 joined perl6
14:05 scw_ is now known as scw
14:13 fglock hmm - coro is not specced
14:16 Patterner Coco the talking guitar?
14:19 Lorn fglock: pong
14:20 fglock Patterner: that's unplayed, as in new()
14:20 fglock Lorn: pong
14:20 fglock Lorn: unping
14:21 Lorn fglock: hehe, 10:25 < fglock> Lorn: ping?
14:22 fglock Lorn: re help in anything - thinking...
14:22 svnbot6 r14448 | masak++ | [READTOO] added reference to a paper, 'Monad Transformers Step by Step'
14:22 svnbot6 r14448 | masak++ | mentioned on anarchaia
14:27 fglock Lorn: do you work with XS?
14:27 Lorn fglock: ok, i want to sync my perl6/pugs, what is the url to svn? ( maybe, this there arenot on topic? )
14:27 Lorn fglock: so so, why?
14:28 fglock Lorn: http://svn.openfoundry.org/pugs
14:28 lambdabot Title: Revision 14424: /
14:29 fglock Lorn: maybe try to port PGE to Perl5 (Parrot Grammar Engine)
14:29 Lorn fglock: svn up http://svn.openfoundry.org/pugs, its wrong?
14:29 lambdabot Title: Revision 14424: /
14:29 Lorn fglock: is on cpan? PGE?
14:30 PerlJam Lorn: PGE is in the parrot source tree under compilers/pge
14:30 Lorn PerlJam: ok, thanks
14:31 fglock Lorn: just 'svn up'
14:31 Lorn fglock: ah, ok
14:33 fglock Lorn: tewk did some experiments - see the files under misc/pX/tewk/
14:39 mauke joined perl6
14:42 stevan_ joined perl6
14:45 Lorn fglock: http://www.parrotcode.org/misc/pX/tewk/ doesnt exists
14:45 Lorn fglock: sorry, i found :)
14:46 Lorn is on pugs ..
14:46 seano joined perl6
14:46 Lorn fglock: i cannot send msg for you in gtalk :/
14:46 ajs fglock: just out of curiosity, why is the focus so much on getting away from parrot instead of making parrot interaction easier?
14:47 fglock Lorn: that would be great too
14:47 fglock s/Lorn/ajs/
14:47 fglock ajs: I don't know, really
14:47 ajs heh, ok.
14:47 PerlJam fglock: are you really anti-parrot or just really really pro-perl5 ?
14:48 fglock actually, I did some Parrot work before Pugs (Inline::Parrot on cpan)
14:48 fglock Pugs is just more fun :)
14:48 [particle] the focus isn't anti-parrot
14:49 ajs I was thinking more of the move away from parrot dependencies in pugs, which of course decouples the two projects more and makes us re-invent a lot of stuff (like PGE)
14:49 [particle] perl6-on-perl5 is the new ponie
14:49 [particle] instead of perl5-on-parrot
14:49 [particle] it's a different migration path to perl6
14:50 [particle] it allows you to migrate to perl 6 using your existing vm (perl5)
14:50 [particle] instead of migrating to perl 6 by swapping your perl 5 vm (perl to parrot)
14:50 fglock "re-invent" can also be called "abstract out" :)
14:51 [particle] we are working towards a shared AST, which should make swapping front & back ends straightforward
14:52 PerlJam and that's more important than whether anyone is using parrot or perl5 or scheme or haskell or whatever
14:53 ajs The concern that I have is that a Perl 6 on Perl 5 implementation will exist, and then the hurdle of moving both Perl 5 AND Perl 6 to Parrot will loom much larger.
14:55 [particle] perl5 on parrot is currently dead
14:55 [particle] that was called ponie. that's why i said p6-on-p5 is the new ponie
14:56 fglock moving Perl 6 to Parrot is supposed to be straightforward (easier than perl 5)
14:56 [particle] oh, definitely
14:58 [particle] right now, parrot is in the design process for some major components
14:58 [particle] this affected integration with pugs
14:58 fglock dunno if generating parrot code from v6.pm would be of use
14:59 [particle] i still think it would
14:59 [particle] unfortunately, i don't have the tuits atm
14:59 [particle] (i'm porting smartlinks to parrot)
14:59 fglock [particle]: actually, I just need some small snippets to fill in the emitter
15:00 [particle] can you put up a skeleton emitter?
15:01 [particle] i think i could provide some snippets, as could others (perljam, ambs, coke, mdiep, leo, etc)
15:01 fglock I've got some in misc/pX/Common/Pugs-Emitter-Perl6-Perl5-2 - I'll try to organize it a bit
15:02 fglock lunch time &
15:03 [particle] fglock++
15:05 chris2 joined perl6
15:05 hexmode joined perl6
15:06 ofer0 joined perl6
15:08 bonsai joined perl6
15:11 ingy miyagawa_: pong
15:18 SCalimlim joined perl6
15:20 Narcisse joined perl6
15:21 xinming TimToady: ping
15:30 stevan_ is now known as stevan
15:31 justatheory joined perl6
15:40 ofer0 joined perl6
15:44 xinming_ joined perl6
15:49 putter joined perl6
15:54 weinig is now known as weinig|bbl
15:55 thepler joined perl6
15:58 putter @tell audreyt Feb 15 / Parse in Perl 5 / parser_spike.pl
15:58 lambdabot Consider it noted.
15:58 putter Hmm, Parser in Perl 5?
15:59 fglock putter: hi!
15:59 putter hi fglock :)
16:00 xinming_ joined perl6
16:01 putter fglock: re a "Parse in Perl 5" slide, how plausible does that seem?
16:01 * putter reluctant to toot own horn ;)
16:01 fglock putter: one sec..
16:02 putter np :)
16:03 elmex joined perl6
16:04 fglock putter: you mean near #304?
16:06 putter checking...
16:06 putter yes
16:06 fglock sure
16:07 putter though I suppose could go by 308.  breaks calendar sequence, but clumps with other p5 stuff.
16:07 putter re "sure", :)
16:07 badalex joined perl6
16:08 f0rth joined perl6
16:09 fglock Pugs ChangeLog is a big one
16:10 putter ?
16:10 amnesiac joined perl6
16:10 fglock near 2k lines of ChangeLog
16:10 putter ah, yes
16:11 putter is "module-starter" the current RightThing for starting a new module?
16:12 fglock I don't know if there is an up-to-date starter - see also misc/Sample-Module/
16:13 bonsai joined perl6
16:13 putter ah, ok.  looks like Damian has a Module::Starter::PBP  perl best practices...
16:14 fglock oh, you mean for p5? for p6 you could start with a copy of ext/Test/
16:14 putter p5
16:17 putter hmm, what's an email address for author "Pugs Team"...
16:19 fglock perl6-compiler@perl.org - says pugs -v
16:23 xinming joined perl6
16:23 putter sounds good
16:23 putter Regexp::Convert::FiveToSix ?
16:26 [particle] Pugs::Regex::Convert::526 :)
16:26 putter lol
16:28 fglock putter: does it generate perl6 regex code?
16:29 putter yes
16:30 fglock that would be Regex::Compile::Perl5::Perl6 if you followed Pugs::Compiler conventions
16:31 weinig joined perl6
16:31 putter I'm currently thinking  Regexp::Parser::ConvertToSix  since the current implementation is just a tweak of Regexp::Parser.
16:32 putter But implementation-based names... eh.
16:33 [particle] Pugs:: is used to differentiate from (scary and outdated) Perl6::
16:34 seano any: should we allow whitespace inside the reduce ("
16:34 seano er, reduce ("[]") metaoperator?
16:35 putter or comments?  ;)
16:36 [particle] comments and whitespace inside an operator? yuck.
16:36 fglock seano: I don't think so, as it can be specified as prefix:<[+]> for example, which is a string w/o spaces
16:36 seano putter: heh....  "[# okay, I'm going to apply this to each element of the list, along with the return value from the previous application\n+]"
16:37 ofer0 joined perl6
16:38 seano fglock: ick...  yeah, I suppose you're right.  still, it feels odd to me that "[X]" acts like a single particle even though "[]" is an operator on operators...
16:40 [particle] metaoperator isa operator :)
16:41 [particle] ...okay, that's twisted.
16:41 seano of course, my real question is more like "should a single-element array ref whose element is a two-argument function act like a list operator", but that's just too vile ;)
16:42 seano [particle]: yeah, makes sense.  it's a lexical convention more than an operator.
16:43 xinming_ joined perl6
16:47 ofer0 joined perl6
16:48 fglock hmm - I mean infix:<+>
16:48 buetow joined perl6
16:48 fglock seano: [infix:<myfunction>] should work
16:48 svnbot6 r14449 | andara++ | [runpugs]
16:48 svnbot6 r14449 | andara++ | -new UI with more terminal-like behaviour ("runpugs2")
16:48 svnbot6 r14449 | andara++ | -plumbing to support non-interactive scripts
16:48 fglock not sure about [myfunction]
16:49 fglock but I think so
16:51 seano yup, currently works.  Now all we need is an "infixate" operator to turn prefix functions into infix.  ;)  it's a bit weird that [] only works with infix ops.
16:51 * putter wonders what $' $` look like in p6
16:54 eviltwin_b just borrow haskell's? :)
16:55 seano eviltwin_b: ym [`blah`]
16:55 andara left perl6
16:56 eviltwin_b yeh
16:56 bernhard joined perl6
16:57 SCalimlim joined perl6
16:58 fglock putter: you mean prematch/postmatch? I don't think they are specced
16:58 [particle] putter: could be something like $/.postmatch
16:59 [particle] right, not specced
17:02 * fglock reads the strongtalk list - nice project: http://groups.google.com/group/strongtalk-general
17:02 lambdabot Title: Google Groups: Strongtalk-general, http://tinyurl.com/yhrlq4
17:02 weinig_ joined perl6
17:02 justatheory joined perl6
17:02 seano eviltwin_b: bizarro interaction with backquote ("[`ls`]", anyone?)...
17:04 eviltwin_b when you're used to perl5, you're used to bizarro interactions :) but yeh, you'd probably want different delimiters
17:04 putter fglock, [particle]: thanks!
17:10 fglock putter: m:c/.../ would match inside the postmatch string
17:10 mauke joined perl6
17:16 hexmode joined perl6
17:17 araujo morning
17:18 Limbic_Region salutations
17:19 araujo TreyHarris, Smalltalk is a pure language because it implements a pure paradigm in the same way of Haskell.
17:20 araujo TreyHarris, it is an object oriented paradigm instead of a functional one
17:21 seano TreyHarris: pure == monomaniacal in this case...
17:22 [particle] as opposed to perl6, which is polymaniacal
17:22 seano == maniacal ;)
17:23 [particle] multimaniacal?
17:23 mauke megamaniacal
17:27 Limbic_Region [particle] - we are a bunch of crazies that belong in the looney bin that would require the head shrinkers years to finish categorizing and classifying
17:27 Limbic_Region is that what you are trying to say?
17:28 [particle] as opposed to haskell developers
17:28 putter Limbic_Region: no, no, no.  that we are creating a language which will create a bunch of crazies which will fill looney bins for years to come.
17:29 * [particle] polishes his loony bin sorting algorithm
17:30 fglock_ joined perl6
17:30 fglock_ left perl6
17:32 fglock oops
17:44 xinming joined perl6
17:49 eviltwin_b putter: so in other words, still buildinvg on what perl5 has accomlished :>
17:55 multic joined perl6
18:12 putter [particle]: groan
18:12 svnbot6 r14450 | putter++ | convert_regexp_to_six.pl moved to new Regexp-Parser-ConvertToSix.
18:12 putter eviltwin_b: yes. :)
18:14 polettix joined perl6
18:15 thepler joined perl6
18:17 fglock putter: btw, there is a p6regex-to-p5regex converter in PCR (not part of the distribution yet)
18:18 DHGE joined perl6
18:18 zdeqb joined perl6
18:18 zdeqb left perl6
18:21 putter fglock: neat!
18:27 fglock putter: see t/12-plain_regex.t - it is a bit unreadable because it wraps the result back into match objects, in order to test the semantics
18:28 putter looking...
18:29 justatheory joined perl6
18:32 fglock putter: uncomment line #27 to see the resulting perl5 regex
18:34 putter k
18:35 putter actually, my fuzzy recollection is I've never actually been able to run PCR independently of pugs... I could be wrong... :/
18:36 svnbot6 r14451 | fglock++ | PCR - use plain print to show perl5 regexes in t/12- line #27
18:39 kanru joined perl6
18:40 weinig_ is now known as weinig
18:40 tcliou joined perl6
18:41 fglock putter: does it run?
18:45 chris2 joined perl6
18:47 multic left perl6
18:47 chris2 joined perl6
18:48 justatheory_ joined perl6
18:48 putter fglock: yes :)
18:50 fglock cool
18:57 svnbot6 r14452 | mgrimes++ | Modified the build scripts to better support cygwin builds.
19:01 justatheory joined perl6
19:09 svnbot6 r14453 | putter++ | Common/backtrack_api.pl - backport some simplifications created for Pugs/Runtime/Regex.pm's repeat().  The result is untested, thus broken.
19:16 SubStack joined perl6
19:17 putter fglock: any thoughts on creating a unified p5 regexp testing module?  are we still doing the game of every p5 engine implementation grabs a copy of re_tests, writes their own driver for it, ignores most of the other p5 regex/ test files, etc?  ;) ConvertToSix needs re_tests, but I'm trying to resist making yet another copy...
19:17 putter spike, and Regexp::Parser, and PCR, and parrot, and pugs, and... it could be nice to refactor.
19:17 putter and ConvertToSix, and re:overload, and Regexp::Engine::PCRE, and...
19:18 putter One counter argument might be that each of these targets a subset of regexps, not the whole set, and the knowledge of what subset is believed to be working is encoded in custom copies of driver and re_tests.
19:19 putter ah well.
19:19 fglock putter: we could specify an API
19:20 fglock each lib could provide a small wrapper script in order to provide that API
19:20 fglock so a single 'prove' could run several backends
19:21 fglock known dead-ends could be just rejected by the wrapper
19:22 [particle] re_tests is a data file
19:22 putter and keep a copy of re_tests which is guaranteed to maintain the "number N means test /foo/" association, so one can skip (3,62,etc).
19:23 [particle] the implementations must keep their skip/todo information seperately
19:23 [particle] (except of course perl5, which has it in the file for both historical reasons, and because it's canon)
19:24 [particle] we've been struggling with this... unique identifiers for tests in shared test files
19:25 putter re uids, yes.
19:25 [particle] right now, the unique id is line number
19:25 [particle] this only works if tests are appended
19:27 [particle] so far, it's good enough, but it's nearing it's limits of extensibility
19:27 putter pugs especially needs a Test-NG, because the mere code of individual tests may cause some backends to parsefail the entire test file.
19:27 [particle] this is of course true for any perl6 impl
19:29 putter errm?  it is the multiplicity of impls which is critical.  the tests are currently hand modified to encode pugs-hs's current ability to deal with them.  which is a game one can only plausibly play for a single impl at a time.
19:29 TimToady that's not true
19:29 chris2_ joined perl6
19:30 putter how not true?
19:30 [particle] the tests are written in perl6 (at least that's the goal)
19:30 TimToady you merely have to distinguish which parts of the tests are universal, and which belong to various testing systems
19:30 TimToady keep them close and you don't need ids
19:30 TimToady I think test IDs are madness.
19:30 putter ah, let me clarify then
19:32 chris2_ is now known as chris2
19:32 putter when _creating_ p6 impls, one has to live with a pervasively failing test suite, with only weak association between what tests fail and the cause of the failures.
19:32 [particle] well, no
19:32 [particle] parrot has it's own test suite for it's perl6 impl
19:32 putter once an impl is mature enough to pass most of the suite, then yes, one just ignores the encoding of what pugs-hs can't deal with at the moment, and proceeds.
19:32 [particle] it's in a seperate dir
19:33 [particle] once it passes perl6's Test.pm, it can begin to run the shared perl6 test suite
19:33 [particle] the parrot harness can be used to control which portions of the shared suite are run
19:33 thepler joined perl6
19:34 [particle] so, you can get results like 100% passing, 5% of shared suite tested
19:35 putter re "parrot has it's own test suite", yes, and the recent perl5 stuff took the same approach.  PIL-Run and PIL2JS used the full suite (made accessible quickly by using a simplified Test.pm).  the point is,
19:35 TimToady having different testing organizations modifying the same test file is no different from having different developers modifying the same file, as long as the format is conducive to preventing merge collisions.
19:35 putter it should not be necessary for each impl to roll its own test suite.  and when using the full one, it would be nice if there was a better association between test failures and what isn't working.
19:36 TimToady so if each organization gets its own todo lines, there's really little problem, as far as I can tell.
19:36 PerlJam It would be nice if we had clearly tagged spec-tests versus implementation-tests
19:37 putter TimToady: :todo's dont deal with parsefails.
19:37 [particle] timtoady: i agree with your general statement. the implementation detals need to be worked out.
19:37 TimToady parsefails are in implementation detail  :)
19:37 TimToady *an
19:38 TimToady but yes, that is something that must be thought about, perhaps by splitting up tests more into separate files.
19:39 TimToady (or equivalently, separate evals)
19:39 [particle] putter: impls don't need to roll their own suite, but will probably want their own harness
19:39 putter todo's for everyone, plus evals wrapping everything ~~ a new test file format which declaratively defines tests, which then get driven, and here avoids needing ids by colocating todo info.
19:40 TimToady perhaps individual todos could then influence subsequent eval/non-eval
19:40 putter [particle]: harness doesn't help with parsefails.
19:40 TimToady would take some preprocessing
19:40 TimToady which might be acceptable in this case
19:41 [particle] well, it needs to work in Test.pm
19:41 TimToady Test.pm only needs to work with post-preprocessed form, perhaps
19:41 putter our tests are quite stereotyped, so one approach might be to finish regularizing them, permitting a preprocessing harness which basically treats the .t file as a .yaml-ish declarative description.
19:41 [particle] i do like the idea of preprocessing tests
19:42 [particle] in fact, it allows a particular impl to use external todo info if they want
19:42 putter ie {\n...indented code...\n}\n for test clusters, etc.
19:43 putter could have an annotation for loops
19:43 [particle] so, define a data format, define an api, and compile the data into executable tests complete with metadata
19:43 putter (ie, so the preprocessor can figure out how many times the loop is supposed to run)
19:43 TimToady I just feel pretty strongly about keeping related data close here, much like it's important to keep Pod with its module so that we don't have to make up document IDs that are then almost guaranteed to get out of sync or lost.
19:45 TimToady It also makes it clear to anyone looking at the test how that test is being used by various projects.
19:45 [particle] timtoady: it's the test data files like re_tests that i find it difficult to use :todo info inside
19:45 [particle] or, at least, ugly
19:45 [particle] but more smaller files may help
19:46 TimToady that's because the file is not syntactically good for that yet.
19:46 [particle] i've done that with pge's p6regex tests
19:46 putter so the first act of a new project is to touch every test and test file adding a :todo?
19:46 TimToady we need our data files to be supportive
19:46 [particle] putter: ugly, but something like that. unless, of course, you have a custom harness
19:47 [particle] putter: perhaps a :todo_all or :skip_all would help, too
19:48 putter or perhaps we add the concept of a "default todo", so a new project starts out with a default, and :untodo's incrementally, then at some point has a celebratory "turn of the default and remove all the untodo's"?
19:49 justatheory_ joined perl6
19:49 TimToady or we just switch everyone to "todone" default.
19:49 TimToady then the absence implies todo<unimpl>ness
19:52 TimToady then our files are celebratory all the time.  "This test is known to pass on Mumble system!!!"
19:52 cm_ joined perl6
19:53 TimToady so instead of untodo and todo we have cool and not-yet-cool.
19:53 putter though I note one can get by with doing diffs rather than :todo-ness for regression testing.  it is much more of a pain to have test files be the unit of failure indicating some test is a parsefail.  in an ideal world, one could create tiny little incomplete p6 impl, run the full suite, and have it truely report, test by test, what is/isnt working.
19:53 putter the current experience little resembles that ideal.
19:54 putter lol (re cool and uncool:)
19:54 TimToady a preprocessory would help with that.
19:54 TimToady s/y//
19:55 TimToady one could even regress each test multiple times and have some kind of backtracking algorithm that evals/unevals each test as it succeeds or fails.
19:56 TimToady ss:1st/each test/each test file/
19:57 PerlJam Is "ss" like "s" only with more emphasis?
19:57 TimToady you could go for all the marbles first, and then only backtrack if you get a parsefail.
19:57 PerlJam or even emPHAsis ;0)
19:57 TimToady s:sigspace
19:57 putter i wonder how hard it would be to scrape the current t/**.t.  ie, just _how_ non-diversely stereotyped is it.
19:58 audreyt greetings lambdacamels on a projector at Intel
19:58 lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
19:58 [particle] well, you need to do it in a small subset of perl6, to keep it portable
19:58 audreyt @messages
19:58 lambdabot putter said 4h 30s ago: Feb 15 / Parse in Perl 5 / parser_spike.pl
19:59 putter my does that look out of context, err, without context
19:59 TimToady hi Intel!
19:59 putter audreyt: proposed slide for position ~300 mumble.
19:59 fglock hi!
19:59 PerlJam Has Intel contributed any funding for perl6?   ;)
19:59 audreyt saw that but presentation is starting in 60 seconds
20:00 TimToady -Ofun
20:00 audreyt PerlJam: not afaik :)
20:00 [particle] ?eval "hi, intel".say
20:00 evalbot_r14446 is now known as evalbot_r14453
20:00 evalbot_r14453 OUTPUT[hi, intel␤] Bool::True
20:00 audreyt ok, switching IRC offscreen and back to the (more boring but also more predictive) Keynote.app...
20:00 putter good luck!
20:00 audreyt thanks!
20:01 glasser joined perl6
20:11 cm_ joined perl6
20:21 fglock is $object.isa( Any ) always true?
20:21 svnbot6 r14454 | putter++ | Common/Regexp-Engine-Reentrant - created.  first step in repackaging the regexp engine spike as a module.
20:26 TimToady ?eval (1 | 2).isa(Any)
20:26 evalbot_r14453 is now known as evalbot_r14454
20:26 evalbot_r14454 Bool::False
20:27 TimToady fglock: no
20:27 fglock ?eval my $a; $a.isa(Any)
20:27 evalbot_r14454 Bool::True
20:27 chris2 joined perl6
20:27 TimToady ?eval my $a = (1|2); $a.isa(Any)
20:28 evalbot_r14454 Bool::False
20:28 fglock I don't get it
20:28 TimToady ?eval my $a; say $a.WHAT
20:28 evalbot_r14454 OUTPUT[Scalar␤] Bool::True
20:28 TimToady ?eval Scalar.isa(Any)
20:28 evalbot_r14454 Bool::True
20:28 TimToady ?eval Junction.isa(Any)
20:29 evalbot_r14454 Bool::False
20:29 fglock right - thanks!
20:29 TimToady Junctions are only quasi-objects, insofar as they represent a linguistic notion rather than an, er, object notion
20:30 TimToady when you say "if A equals 1 or 2" the 1 or 2 is not a real thing.
20:32 fglock ?eval undef.isa(Any)
20:32 evalbot_r14454 Bool::True
20:32 fglock ?eval undef.WHAT
20:32 evalbot_r14454 ::Scalar
20:33 fglock is it an ro Scalar?
20:33 TimToady ?eval undef = 1;
20:33 evalbot_r14454 Error: Can't modify constant item: VUndef
20:33 TimToady apparently so.  :)
20:33 svnbot6 r14455 | putter++ | Regexp-Engine-Reentrant - drop in re_tests.
20:34 fglock ok - note taken :)
20:35 fglock is there anything else that is not Any?
20:36 fglock ? {42}.WHAT
20:36 fglock ?eval {42}.WHAT
20:36 evalbot_r14454 ::Scalar
20:37 fglock I didn't mean to execute the block
20:38 fglock ?eval {}.WHAT # Hash?
20:38 evalbot_r14454 is now known as evalbot_r14455
20:38 evalbot_r14455 ::Scalar
20:38 TimToady ?eval ({42}.WHAT)
20:38 evalbot_r14455 ::Block
20:38 TimToady ?eval {42}    .WHAT
20:38 evalbot_r14455 ::Scalar
20:39 TimToady this is one of the suprising results of forcing statement-begining { to start a bare block.
20:39 PerlJam surprises == :-(
20:39 TimToady as far as I know, only junctions !~~ Any
20:40 TimToady I sure wish ASCII had more bracketing chars...
20:40 TimToady maybe we could it a bare block only if the final } terminates a line.
20:40 TimToady s/could/could make/
20:41 TimToady coffee, biab &
20:41 fglock thanks
20:43 fglock ?eval ({}.WHAT)
20:43 evalbot_r14455 ::Hash
20:43 fglock ?eval (().WHAT)
20:43 evalbot_r14455 ::Array
20:44 fglock ?eval (Any.WHAT)
20:44 evalbot_r14455 ::Any
20:44 TimToady ?eval WHAT(Any)
20:44 svnbot6 r14456 | putter++ | Regexp-Engine-Reentrant - minor progress (svn limitations force a commit).
20:44 evalbot_r14455 ::Any
20:44 TimToady ?eval WHAT Any
20:44 evalbot_r14455 ::Any
20:44 TimToady ?eval WHAT {}
20:44 evalbot_r14455 Error: ␤Unexpected end of input␤Closing hash curly may not terminate a line;␤please add a comma or a semicolon to disambiguate
20:44 TimToady heh
20:44 TimToady ?eval WHAT {};
20:44 evalbot_r14455 ::Hash
20:46 TimToady ?eval item Any
20:46 evalbot_r14455 ::Any
20:46 svnbot6 r14457 | putter++ | Regexp-Engine-Reentrant - copy the right re_tests.t variant this time.
20:51 fglock is the type of "0 but True" something like ::(Int|Bool) ?
20:54 putter dinner &
20:54 svnbot6 r14458 | putter++ | Regexp-Engine-Reentrant - re_tests.t works.
20:54 svnbot6 r14458 | putter++ | prove -Ilib t/re_tests.t  yields 39/961 subtests failed, 95.94% okay.
20:54 svnbot6 r14458 | putter++ | Next steps are swapping in the new backtrack_api.pl, and massive code overhaul.
20:55 fglock can multis dispatch on a constant? multi a(1){ "first" }; multi a(2){ "second" }; multi a { "other" };
20:57 fglock ==> home &
20:57 spoop joined perl6
20:57 fglock left perl6
20:58 wolverian ?eval multi a(1){ "first" }; multi a(2){ "second" }; multi a { "other" }; a 1
20:58 evalbot_r14455 is now known as evalbot_r14457
20:58 evalbot_r14457 Error: ␤Unexpected "1"␤expecting formal parameter or ")"
20:58 wolverian good point
20:58 wolverian ?eval multi a(1){ "first" }; multi a(2){ "second" }; multi a ($n) { "other" }; a 1
20:58 evalbot_r14457 Error: ␤Unexpected "1"␤expecting formal parameter or ")"
20:58 wolverian oh.
20:58 wolverian ?eval multi a (1) { "first" }; multi a (2) { "second" }; multi a ($n) { "other" }; a 1
20:58 spoop joined perl6
20:58 evalbot_r14457 Error: ␤Unexpected "1"␤expecting formal parameter or ")"
20:58 wolverian I guess not.
20:58 * wolverian will try in his own shell enxt time
20:59 wolverian s,en,ne,
21:04 larsen_ joined perl6
21:05 lanny joined perl6
21:07 lanny TimToady: What relationship do the Synopses have to the *-True-Test-Suite?  I thought I had read (or imagined) that one of the problems of Perl 5 was that it was only defined by it's test suite so any behavior that was encoded into the suite was by default Perl 5.  Are the Synopses meant to be a check-and-balances type thing?
21:08 lanny s/check/checks/
21:08 lanny s/it's/its/  (alwasy get that one wrong)
21:10 TimToady The Perl 5 test suite tests many things that are merely idiosyncracies of the perl interpreter.
21:11 TimToady The test suite in Perl 6 is a negotiated settlement between the writers of the synopses and the implementors.
21:12 lanny I see that as an ideal.  But let's say I put something in a test that is VERY ODD(tm) with respect to Perl 6 that nobody sees.  (And yes, in this group that is unlikely especially with audreyt apperantly vetting every commit).
21:13 lanny I'm just wondering if the Tests are the final arbiter or if they must agree with what is also in the Synopsis.  Not saying one is better but if there is disagreement that that would be a point to be resolved.
21:14 lanny It seems that's the case since it's a negotiated settlement.
21:15 TimToady if the Ss and the Ts disagree the Ts are by definition wrong, up until we change the Ss.
21:15 lanny Aha!  Exactly the answer I was hoping for.
21:15 TimToady that's the theory. in practice, the Ss are still quite incomplete
21:16 lanny Yes.  And I've seen the T's for some definition of T-designer be *very* influential on the S's.  Which is only fair for first person to the top of the hill.
21:16 TimToady so there's an implicit assumption that the incomplete areas are likely to agree with the Ts that are out ahead in that area.
21:16 * lanny nod
21:17 TimToady and that's why I spend a lot of time running smokes and seeing what's currently broken from the viewpoint of the tests.
21:17 SubStack joined perl6
21:18 lanny I noticed in S01 and audreyt's Intel slides that the "answer" final answer seemed to be the T's.  Was just curious if this was a sugar of the intended balance.  (Which is seems to be.)
21:19 lanny Thanks.
21:19 TimToady the intent is that the Ts someday be the perfect embodiment of the design.
21:20 PerlJam TimToady: was that a little unintended hubris there?  ;-)
21:20 TimToady the perfect embodiment, not the perfect design.  :)
21:21 mauke joined perl6
21:21 Limbic_Region joined perl6
21:22 spoop joined perl6
21:35 rindolf joined perl6
21:35 rindolf Hi all.
21:36 rindolf I wrote two Perl Foundations Proposals and could use your input - see http://www.shlomifish.org/Files/files/emails/TPF-Proposals/ . Please read them and comment.
21:36 lambdabot Title: Index of /Files/files/emails/TPF-Proposals, http://tinyurl.com/ydeeg6
21:36 Aankhen`` joined perl6
21:45 cjeris left perl6
21:50 spoop joined perl6
21:56 dduncan joined perl6
22:00 TimToady ?eval |{:a<a b c>};
22:00 evalbot_r14457 is now known as evalbot_r14458
22:00 evalbot_r14458 {("a" => ("a", "b", "c")),}
22:01 TimToady ?eval |{:a<a b c>}
22:01 evalbot_r14458 Error: ␤Unexpected end of input␤Closing hash curly may not terminate a line;␤please add a comma or a semicolon to disambiguate
22:01 TimToady ?eval |{:a<a b c>;}
22:01 evalbot_r14458 {Syn "block" {App &infix:=> (: ␤                             "a", ␤                             Syn "," {"a";␤                                      "b";␤                                      "c"});␤              Noop}}
22:15 rindolf Hi TimToady
22:16 TimToady hello
22:19 Limbic_Region anyone ever dealt with a "stuck" horn in their car?
22:19 Limbic_Region I believe I have 2 choices, unplug the fuse to the horn (no horn at all) or pay to have the air bag assembly replaced as that is where the contact is (expensive)
22:20 Limbic_Region if those are my only two choices, I lean towards the fuse but I figured someone here may have more mechanical experience than myself
22:23 TimToady does anything else share the fuse?
22:24 SubStack joined perl6
22:31 Limbic_Region I don't think so - just checked
22:31 Limbic_Region it is just marked "horn"
22:32 Limbic_Region sorry for the delayed response - had to go out to the garage
23:00 mako132_ joined perl6
23:09 svnbot6 r14459 | seano++ | * don't echo result in REPL when command ends with semicolon (like Matlab)
23:09 svnbot6 r14459 | seano++ | * change :e and :E to evaluate in current environment rather than clean
23:09 svnbot6 r14459 | seano++ | * add :er and :ER to use a clean environment (like old :e and :E)
23:13 TimToady seano: does this fix the problem with typing item { :a };
23:13 TimToady it seems to throw away the semi and then give an error asking for the semi
23:13 seano urk, nope.
23:13 seano I'll look at that.
23:14 seano it just means that "$x = really_large_thing;" won't echo $x
23:14 seano TimToady: hm... here "item { :a };" gives me the eternal "....>" prompt...
23:14 TimToady type ^D to get error
23:16 TimToady basically, the detect-an-error loop doesn't distinguish syntax errors that can be recovered from those that can't...
23:17 TimToady you know, you could just use \ to suppress output if you want to continue the next line.
23:18 seano ah.  if this were p5, we could just look for "at EOF"...
23:19 seano but I really just want to eval something silently and return to the prompt.
23:20 TimToady can you turn on the evaluate silently flag without stealing the ;
23:20 seano I find ";" convenient.  Then again, I spend a lot of time in Octave, so maybe my view is warped.
23:20 seano yes, I could probably do that as well via an env var or something.
23:21 seano but it's convenient to be able to say when and when not to print tersely on a per-command basis.
23:21 seano e.g. "$x = huge_matrix(); summary($x)"
23:22 seano (with a newline in there ;)
23:22 TimToady if you're gonna suppress on final ; you should probably suppress on final } as well.
23:22 TimToady block } that is.
23:22 seano but an extra sem after a closing block is never a syntax error, right?
23:22 TimToady course, that makes it hard to write %foo{$bar} and see anything
23:23 seano also, at this stage we don't (without action beyond my skillz) have a real parser, just haskell string manipulation.
23:23 TimToady yeah, doing it right really involves having the parser decide whether to issue a subprompot
23:24 TimToady not this did-I-get-an-error hackery
23:24 TimToady subprompt even
23:24 seano or both.
23:24 seano fwiw, I haven't seen a language 's repl yet that tries very hard in this respect.
23:24 TimToady now I'm trying to figure out what a sub prom pot would be...
23:25 seano what you give a girl to get turned down for prom?
23:30 seano ah, here we go...  all: src/Pugs.hs:333 -- is there any reason we drop the trailing semi?  Always adding one before eval seems to fix the problem TimToady mentioned.
23:34 glasser joined perl6
23:41 weinig is now known as weinig|bbl
23:44 Limbic_Region joined perl6
23:51 audreyt seano: no there's no reason please remove ;
23:51 justatheory joined perl6
23:51 audreyt from the dropWhile elem
23:52 seano audreyt: further, making sure it always ends with ';' avoids the error.  will do.
23:52 Limbic_Region how did the talk go audreyt?
23:53 audreyt Limbic_Region: very well
23:53 audreyt actually one talk plus two discussions
23:53 Limbic_Region great
23:53 audreyt perl6 was extremely well received as a language :)
23:53 Limbic_Region did anyone chuckle at the "is intel providing financial support to perl 6 development" ?
23:53 audreyt (they were looking at the Fortress spec which is like perl 6 but without tests nor prototypes)
23:53 seano audreyt: was the audience mostly academic?  industry?  mixed?
23:54 audreyt seano: intel enginees. industry. people working on Harmony, ICC, the sorts.
23:54 seano (and wacky whitespace-as-multiplication :)
23:54 audreyt # http://incubator.apache.org/harmony/
23:55 audreyt talked on invokedynamic (and how to make that fast enough for perl6), effect typing, data parallelism, our current designs to expose STM to userland, etc etc etc.
23:55 audreyt a lot of fun, got many interesting links to papers that I'll have to digest later
23:55 audreyt but now I'm just about to be jet lagged into oblivion
23:57 audreyt Limbic_Region: some may have, I wasn't sure :)
23:57 audreyt the couple haskell hackers I met there are cool as well
23:57 Khisanth hmm oblivion, I heard that is fun :)
23:58 audreyt pointed out a couple GHC 6.6 new features on concurrency that pugs may take advantage of
23:58 audreyt (when we drop 6.4 support)
23:59 Limbic_Region audreyt - do you take melatonin when you travel?
23:59 audreyt namely that it seems trivial to specify when running pugs how many CPUs
23:59 audreyt it can use, and have >>+<< and junctions etc to use exactly that many in parallel

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

Perl 6 | Reference Documentation | Rakudo