pugs.blogs.com/dist/Perl6-Pugs-6.2.13.tar.gz released! | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by audreyt on 17 October 2006.
00:06 shachaf_ joined 00:16 elmex joined 00:19 cjeris left 00:23 nekokak joined 00:25 nipotaway is now known as nipotan 00:32 Aankhen`` joined 00:33 mako132_ joined 00:52 hexmode joined 01:07 frankg joined 01:09 Pomin joined 01:49 frederico joined 01:52 seano joined, hikozaemon joined 02:15 bsb joined 02:26 christopher joined 02:33 takesako joined 02:44 drbean joined, ofer0 joined 03:03 mako132_ joined, ofer0 joined 03:04 hobbs joined 03:06 root4o joined
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:10
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:13
stevan flickr.com/photos/auntie/274272263/in/pool-pugs/ 03:28
lambdabot Title: Oscar Goes for a Ride on Flickr - Photo Sharing!, tinyurl.com/yyfz2r
stevan flickr.com/photos/auntie/272871939/ 03:29
03:29 shobadobs joined
lambdabot Title: Gimme Yer Gold on Flickr - Photo Sharing! 03:29
stevan pugs++ :)
audreyt hobbs: it worksforme 03:33
lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
audreyt @messages
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
should turn into hash ever.
audreyt root4o: spec.pugscode.org/ shows coverage
lambdabot Title: Official Perl 6 Documentation
hobbs audreyt: okay. Working on getting up-to-date versions then :)
audreyt finally finished a sketch of slides for tomorrow 03:38
uploading for review...
pugs.blogs.com/talks/dls06-pugs.pdf 03:44
also pugs.blogs.com/talks/dls06-pugs.key.tar.bz2 for people with Keynote.app 03:48
lambdabot tinyurl.com/v4tp7
audreyt Hm. I was writing to Intel about tomorrow's talk, and I find myself typing this 03:51
"my localhost Schwern will drive me..."
Also in Flash: pugs.blogs.com/talks/dls06-pugs.swf 03:53
svnbot6 r14444 | lwall++ | two more statement non-blocks 03:54
04:04 Eidolos joined
audreyt hmm strongtalk.org/ looks like a Very Worthy taget. 04:18
lambdabot Title: Strongtalk: A High-Performance Open Source Smalltalk With An Optional Type Syste ...
TreyHarris "target" for what?
for a pugs backend?
audreyt aye 04:19
gradual typing and fast dispatch
seems like they've got it to the point of C++ level fast, via online profiling 04:21
@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
araujo audreyt, yes, ST looks interesting 04:28
They have recently released it too
(hi audreyt)
audreyt hi araujo :) 04:29
yes, wouldn't have been looking at it if I don't get to see the source :)
need to wait for it to be ported to GCC though 04:30
currently it's MSVC only
araujo Me too. 04:31
That's the _yet_ annoying part :-)
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 :)
araujo :-)
TimToady do they have continuations? 04:33
araujo This would bring Perl+Haskell+StrongTalk (Smalltalk-like) = Perl6 04:34
Definitely , i will love it :-)
audreyt TimToady: they do. that comes with Smalltalk 04:35
04:36 seano joined
araujo hi TimToady 04:37
TimToady howdy
araujo As a sidenote comment: Haskell programming is syntactically very very similar to Smalltalk. 04:38
I wonder if that's related to the fact both are pure languages. 04:39
04:46 justatheory joined 04:48 AzureStone joined 04:49 SCalimlim joined 04:50 AzureStone joined 04:53 iblechbot joined
audreyt journal up 05:03
feedback to slides welcome; I'll have to crash now
Jet lag hits! You fall asleep. --More-- 05:04
jdv79 :) 05:14
05:21 nothingmuch joined 05:29 BooK joined
root4o if i had to add a new file I have to execute : ./util/add-svn-props.sh newfile1 05:37
and then svn commit 05:38
right ?
?eval 1+1 05:51
05:51 evalbot_r14438 is now known as evalbot_r14444
evalbot_r14444 2 05:51
svnbot6 r14445 | raptor++ | Adding test for named subs as specified by perlcabal.org/syn/S06.html 06:06
lambdabot Title: S06
root4o can someone check did I've done the adding new test correctly 06:13
I don't have great experience with svn, Test.pm and perl6 :), so I want to be sure I do the things correctly ;) 06:14
06:22 root4o left
masak roo4o: looks fine by me 06:27
the tests pass on my box, are they meant to?
06:30 ofer0 joined 06:36 scw joined 06:37 scw joined 06:41 ofer0 joined
miyagawa_ ingy: ping 06:42
06:48 scw joined 06:51 araujo joined
svnbot6 r14446 | raptor++ | Added smartlink, hope this is the correct way of doing it ;) 06:55
06:59 ofer0 joined
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:09
07:16 Pominx joined 07:21 zakharyas joined 07:25 bsb left 07:28 meppl joined 07:31 marmic joined 07:35 araujo joined 07:51 drrho joined 08:15 dakkar joined 08:17 Alias_ joined 08:32 Aukjan joined
nothingmuch audreyt: cool 08:35
lambdabot nothingmuch: You have 1 new message. '/msg lambdabot @messages' to read it.
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
Alias_ @moosages 08:39
lambdabot You don't have any new messages.
08:39 andara joined
Alias_ :( 08:39
nothingmuch @tell Alias_ nobody loves you
lambdabot Consider it noted.
Alias_ @moosages
lambdabot nothingmuch said 5s ago: nobody loves you
Alias_ :(
nothingmuch cheers for Alias_ 08:40
nothingmuch goes to give misrouted mail back to the post office
08:40 Aukjan left
Alias_ @tell nothingmuch You don't have any new messages. 08:40
lambdabot Consider it noted.
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:44
08:46 nipotan is now known as nipotaway
Juerd ?eval sub postfix:<?> ($lhs) { CALLER::<$_> = $lhs } 15? .say; 08:51
08:51 evalbot_r14444 is now known as evalbot_r14446
evalbot_r14446 Error: ā¤Unexpected "CALLER"ā¤expecting statements or "}" 08:51
Juerd ?eval sub postfix:<?> ($lhs) { CALLER::<$_> = $lhs } 15?; .say;
evalbot_r14446 Error: ā¤Unexpected "CALLER"ā¤expecting statements or "}"
Juerd ?eval sub postfix:<?> ($lhs) { $CALLER::$_ = $lhs } 15?; .say;
evalbot_r14446 Error: ā¤Unexpected "CALLER"ā¤expecting "::"
Juerd ?eval sub postfix:<?> ($lhs) { $CALLER::_ = $lhs } 15?; .say;
evalbot_r14446 OUTPUT[15ā¤] Bool::True
Juerd Neat 08:52
09:03 bonsai joined 09:04 buetow joined 09:09 foo\ joined 09:11 elmex joined 09:12 chris2 joined 09:19 buubot joined 09:24 frankg joined 09:26 dduncan left 09:34 nipotaway is now known as nipotan 09:43 ruoso joined 09:59 penk joined 10:13 ceem joined 10:15 ceem is now known as cm_ 10:33 chris2 joined 11:01 fglock joined 11:06 fayland joined 11:13 xinming_ joined 11:14 andara left 11:15 Psyche^ joined 11:16 glasser joined
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 11:53 fglock joined
fglock Lorn: ola 11:54
11:58 nipotan is now known as nipotaway
Lorn fglock: hi, that bug wit cache, it's fix? 12:01
fglock Lorn: I'm not sure, I haven't seen other reports on it 12:05
Lorn: Cache::Cache 1.04 reports a fix on "repair permissions on temp cache files" 12:06
but that's 1yr old - we should not have had this problem 12:07
12:13 Limbic_Region joined 12:28 ofer0 joined
Lorn fglock: i can help in anything? 12:34
12:41 mdiep joined 12:42 kisu joined 13:04 mdiep joined 13:05 kanru joined 13:06 iblechbot joined 13:09 xinming_ is now known as xinming 13:23 P02 joined
fglock Lorn: ping? 13:26
svnbot6 r14447 | fglock++ | v6 - added a version-banner
r14447 | fglock++ | $ perl -e 'use v6-alpha' - -v
13:26 vel joined 13:27 FurnaceBoy_ joined
masak does anyone but me get frightened by TSa's emails sometimes? 13:28
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:30
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:31
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:32
masak true :) 13:37
it's not that I have anything against him in any way, it's just that sometimes he... scares me a bit
[particle] <TSa>HaloO, masak</TSa> 13:38
fglock I gave up scaring people :) 13:39
[particle] ...that's about all i understand from tsa. i let others worry about that stuff
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:40
13:43 djuls joined
djuls hello 13:43
13:47 cjeris joined
masak Juerd: that's nice to hear from someplace outside my own brain 13:49
13:50 rlb3 joined 13:51 scw_ joined
fglock it takes a little practice to explain clearly what you mean, specially when you are more used to math than english 13:54
"mathematics as a universal language" does not exactly apply 13:56
14:02 ofer0 joined 14:05 scw_ is now known as scw
fglock hmm - coro is not specced 14:13
Patterner Coco the talking guitar? 14:16
Lorn fglock: pong 14:19
fglock Patterner: that's unplayed, as in new() 14:20
Lorn: pong
Lorn: unping
Lorn fglock: hehe, 10:25 < fglock> Lorn: ping? 14:21
fglock Lorn: re help in anything - thinking... 14:22
svnbot6 r14448 | masak++ | [READTOO] added reference to a paper, 'Monad Transformers Step by Step'
r14448 | masak++ | mentioned on anarchaia
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? )
fglock: so so, why?
fglock Lorn: svn.openfoundry.org/pugs 14:28
lambdabot Title: Revision 14424: /
fglock Lorn: maybe try to port PGE to Perl5 (Parrot Grammar Engine) 14:29
Lorn fglock: svn up svn.openfoundry.org/pugs, its wrong?
lambdabot Title: Revision 14424: /
Lorn fglock: is on cpan? PGE?
PerlJam Lorn: PGE is in the parrot source tree under compilers/pge 14:30
Lorn PerlJam: ok, thanks
fglock Lorn: just 'svn up' 14:31
Lorn fglock: ah, ok
fglock Lorn: tewk did some experiments - see the files under misc/pX/tewk/ 14:33
14:39 mauke joined 14:42 stevan_ joined
Lorn fglock: www.parrotcode.org/misc/pX/tewk/ doesnt exists 14:45
fglock: sorry, i found :)
is on pugs .. 14:46
14:46 seano joined
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?
fglock Lorn: that would be great too 14:47
s/Lorn/ajs/
ajs: I don't know, really
ajs heh, ok.
PerlJam fglock: are you really anti-parrot or just really really pro-perl5 ?
fglock actually, I did some Parrot work before Pugs (Inline::Parrot on cpan) 14:48
Pugs is just more fun :)
[particle] the focus isn't anti-parrot
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
instead of perl5-on-parrot
it's a different migration path to perl6
it allows you to migrate to perl 6 using your existing vm (perl5) 14:50
instead of migrating to perl 6 by swapping your perl 5 vm (perl to parrot)
fglock "re-invent" can also be called "abstract out" :)
[particle] we are working towards a shared AST, which should make swapping front & back ends straightforward 14:51
PerlJam and that's more important than whether anyone is using parrot or perl5 or scheme or haskell or whatever 14:52
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:53
[particle] perl5 on parrot is currently dead 14:55
that was called ponie. that's why i said p6-on-p5 is the new ponie
fglock moving Perl 6 to Parrot is supposed to be straightforward (easier than perl 5) 14:56
[particle] oh, definitely
right now, parrot is in the design process for some major components 14:58
this affected integration with pugs
fglock dunno if generating parrot code from v6.pm would be of use
[particle] i still think it would 14:59
unfortunately, i don't have the tuits atm
(i'm porting smartlinks to parrot)
fglock [particle]: actually, I just need some small snippets to fill in the emitter
[particle] can you put up a skeleton emitter? 15:00
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
lunch time & 15:02
[particle] fglock++ 15:03
15:05 chris2 joined, hexmode joined 15:06 ofer0 joined 15:08 bonsai joined
ingy miyagawa_: pong 15:11
15:18 SCalimlim joined 15:20 Narcisse joined
xinming TimToady: ping 15:21
15:30 stevan_ is now known as stevan 15:31 justatheory joined 15:40 ofer0 joined 15:44 xinming_ joined 15:49 putter joined 15:54 weinig is now known as weinig|bbl 15:55 thepler joined
putter @tell audreyt Feb 15 / Parse in Perl 5 / parser_spike.pl 15:58
lambdabot Consider it noted.
putter Hmm, Parser in Perl 5?
fglock putter: hi! 15:59
putter hi fglock :)
16:00 xinming_ joined
putter fglock: re a "Parse in Perl 5" slide, how plausible does that seem? 16:01
putter reluctant to toot own horn ;)
fglock putter: one sec..
putter np :) 16:02
16:03 elmex joined
fglock putter: you mean near #304? 16:04
putter checking... 16:06
yes
fglock sure
putter though I suppose could go by 308. breaks calendar sequence, but clumps with other p5 stuff. 16:07
re "sure", :)
16:07 badalex joined 16:08 f0rth joined
fglock Pugs ChangeLog is a big one 16:09
putter ? 16:10
16:10 amnesiac joined
fglock near 2k lines of ChangeLog 16:10
putter ah, yes
is "module-starter" the current RightThing for starting a new module? 16:11
fglock I don't know if there is an up-to-date starter - see also misc/Sample-Module/ 16:12
16:13 bonsai joined
putter ah, ok. looks like Damian has a Module::Starter::PBP perl best practices... 16:13
fglock oh, you mean for p5? for p6 you could start with a copy of ext/Test/ 16:14
putter p5
hmm, what's an email address for author "Pugs Team"... 16:17
fglock [email@hidden.address] - says pugs -v 16:19
16:23 xinming joined
putter sounds good 16:23
Regexp::Convert::FiveToSix ?
[particle] Pugs::Regex::Convert::526 :) 16:26
putter lol
fglock putter: does it generate perl6 regex code? 16:28
putter yes 16:29
fglock that would be Regex::Compile::Perl5::Perl6 if you followed Pugs::Compiler conventions 16:30
16:31 weinig joined
putter I'm currently thinking Regexp::Parser::ConvertToSix since the current implementation is just a tweak of Regexp::Parser. 16:31
But implementation-based names... eh. 16:32
[particle] Pugs:: is used to differentiate from (scary and outdated) Perl6:: 16:33
seano any: should we allow whitespace inside the reduce (" 16:34
er, reduce ("[]") metaoperator?
putter or comments? ;) 16:35
[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
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
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:38
[particle] metaoperator isa operator :) 16:40
...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 ;)
[particle]: yeah, makes sense. it's a lexical convention more than an operator. 16:42
16:43 xinming_ joined 16:47 ofer0 joined
fglock hmm - I mean infix:<+> 16:48
16:48 buetow joined
fglock seano: [infix:<myfunction>] should work 16:48
svnbot6 r14449 | andara++ | [runpugs]
r14449 | andara++ | -new UI with more terminal-like behaviour ("runpugs2")
r14449 | andara++ | -plumbing to support non-interactive scripts
fglock not sure about [myfunction]
but I think so 16:49
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
eviltwin_b just borrow haskell's? :) 16:54
seano eviltwin_b: ym [`blah`] 16:55
16:55 andara left
eviltwin_b yeh 16:56
16:56 bernhard joined 16:57 SCalimlim joined
fglock putter: you mean prematch/postmatch? I don't think they are specced 16:58
[particle] putter: could be something like $/.postmatch
right, not specced 16:59
fglock reads the strongtalk list - nice project: groups.google.com/group/strongtalk-general 17:02
lambdabot Title: Google Groups: Strongtalk-general, tinyurl.com/yhrlq4
17:02 weinig_ joined, justatheory joined
seano eviltwin_b: bizarro interaction with backquote ("[`ls`]", anyone?)... 17:02
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!
fglock putter: m:c/.../ would match inside the postmatch string 17:10
17:10 mauke joined 17:16 hexmode joined
araujo morning 17:17
Limbic_Region salutations 17:18
araujo TreyHarris, Smalltalk is a pure language because it implements a pure paradigm in the same way of Haskell. 17:19
TreyHarris, it is an object oriented paradigm instead of a functional one 17:20
seano TreyHarris: pure == monomaniacal in this case... 17:21
[particle] as opposed to perl6, which is polymaniacal 17:22
seano == maniacal ;)
[particle] multimaniacal? 17:23
mauke megamaniacal
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
is that what you are trying to say?
[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.
[particle] polishes his loony bin sorting algorithm 17:29
17:30 fglock_ joined, fglock_ left
fglock oops 17:32
17:44 xinming joined
eviltwin_b putter: so in other words, still buildinvg on what perl5 has accomlished :> 17:49
17:55 multic joined
putter [particle]: groan 18:12
svnbot6 r14450 | putter++ | convert_regexp_to_six.pl moved to new Regexp-Parser-ConvertToSix.
putter eviltwin_b: yes. :)
18:14 polettix joined 18:15 thepler joined
fglock putter: btw, there is a p6regex-to-p5regex converter in PCR (not part of the distribution yet) 18:17
18:18 DHGE joined, zdeqb joined, zdeqb left
putter fglock: neat! 18:21
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:27
putter looking... 18:28
18:29 justatheory joined
fglock putter: uncomment line #27 to see the resulting perl5 regex 18:32
putter k 18:34
actually, my fuzzy recollection is I've never actually been able to run PCR independently of pugs... I could be wrong... :/ 18:35
svnbot6 r14451 | fglock++ | PCR - use plain print to show perl5 regexes in t/12- line #27 18:36
18:39 kanru joined 18:40 weinig_ is now known as weinig, tcliou joined
fglock putter: does it run? 18:41
18:45 chris2 joined 18:47 multic left, chris2 joined 18:48 justatheory_ joined
putter fglock: yes :) 18:48
fglock cool 18:50
svnbot6 r14452 | mgrimes++ | Modified the build scripts to better support cygwin builds. 18:57
19:01 justatheory joined
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:09
19:16 SubStack joined
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
spike, and Regexp::Parser, and PCR, and parrot, and pugs, and... it could be nice to refactor.
and ConvertToSix, and re:overload, and Regexp::Engine::PCRE, and...
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:18
ah well. 19:19
fglock putter: we could specify an API
each lib could provide a small wrapper script in order to provide that API 19:20
so a single 'prove' could run several backends
known dead-ends could be just rejected by the wrapper 19:21
[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).
[particle] the implementations must keep their skip/todo information seperately 19:23
(except of course perl5, which has it in the file for both historical reasons, and because it's canon)
we've been struggling with this... unique identifiers for tests in shared test files 19:24
putter re uids, yes. 19:25
[particle] right now, the unique id is line number
this only works if tests are appended
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.
[particle] this is of course true for any perl6 impl
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
putter how not true? 19:30
[particle] the tests are written in perl6 (at least that's the goal)
TimToady you merely have to distinguish which parts of the tests are universal, and which belong to various testing systems
keep them close and you don't need ids
I think test IDs are madness.
putter ah, let me clarify then
19:32 chris2_ is now known as chris2
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
parrot has it's own test suite for it's perl6 impl
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.
[particle] it's in a seperate dir
once it passes perl6's Test.pm, it can begin to run the shared perl6 test suite 19:33
the parrot harness can be used to control which portions of the shared suite are run
19:33 thepler joined
[particle] so, you can get results like 100% passing, 5% of shared suite tested 19:34
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.
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.
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
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.
TimToady parsefails are in implementation detail :)
*an
but yes, that is something that must be thought about, perhaps by splitting up tests more into separate files. 19:38
(or equivalently, separate evals) 19:39
[particle] putter: impls don't need to roll their own suite, but will probably want their own harness
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.
TimToady perhaps individual todos could then influence subsequent eval/non-eval 19:40
putter [particle]: harness doesn't help with parsefails.
TimToady would take some preprocessing
which might be acceptable in this case
[particle] well, it needs to work in Test.pm 19:41
TimToady Test.pm only needs to work with post-preprocessed form, perhaps
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.
[particle] i do like the idea of preprocessing tests
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.
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
putter (ie, so the preprocessor can figure out how many times the loop is supposed to run)
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.
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
or, at least, ugly
but more smaller files may help
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
putter so the first act of a new project is to touch every test and test file adding a :todo?
TimToady we need our data files to be supportive
[particle] putter: ugly, but something like that. unless, of course, you have a custom harness
putter: perhaps a :todo_all or :skip_all would help, too 19:47
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:48
19:49 justatheory_ joined
TimToady or we just switch everyone to "todone" default. 19:49
then the absence implies todo<unimpl>ness
then our files are celebratory all the time. "This test is known to pass on Mumble system!!!" 19:52
19:52 cm_ joined
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.
the current experience little resembles that ideal.
lol (re cool and uncool:) 19:54
TimToady a preprocessory would help with that.
s/y//
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:55
ss:1st/each test/each test file/ 19:56
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.
PerlJam or even emPHAsis ;0)
TimToady s:sigspace
putter i wonder how hard it would be to scrape the current t/**.t. ie, just _how_ non-diversely stereotyped is it.
audreyt greetings lambdacamels on a projector at Intel 19:58
lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
[particle] well, you need to do it in a small subset of perl6, to keep it portable
audreyt @messages
lambdabot putter said 4h 30s ago: Feb 15 / Parse in Perl 5 / parser_spike.pl
putter my does that look out of context, err, without context 19:59
TimToady hi Intel!
putter audreyt: proposed slide for position ~300 mumble.
fglock hi!
PerlJam Has Intel contributed any funding for perl6? ;)
audreyt saw that but presentation is starting in 60 seconds
TimToady -Ofun 20:00
audreyt PerlJam: not afaik :)
[particle] ?eval "hi, intel".say
20:00 evalbot_r14446 is now known as evalbot_r14453
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...
putter good luck!
audreyt thanks!
20:01 glasser joined 20:11 cm_ joined
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.
TimToady ?eval (1 | 2).isa(Any) 20:26
20:26 evalbot_r14453 is now known as evalbot_r14454
evalbot_r14454 Bool::False 20:26
TimToady fglock: no 20:27
fglock ?eval my $a; $a.isa(Any)
evalbot_r14454 Bool::True
20:27 chris2 joined
TimToady ?eval my $a = (1|2); $a.isa(Any) 20:27
evalbot_r14454 Bool::False 20:28
fglock I don't get it
TimToady ?eval my $a; say $a.WHAT
evalbot_r14454 OUTPUT[Scalarā¤] Bool::True
TimToady ?eval Scalar.isa(Any)
evalbot_r14454 Bool::True
TimToady ?eval Junction.isa(Any)
evalbot_r14454 Bool::False 20:29
fglock right - thanks!
TimToady Junctions are only quasi-objects, insofar as they represent a linguistic notion rather than an, er, object notion
when you say "if A equals 1 or 2" the 1 or 2 is not a real thing. 20:30
fglock ?eval undef.isa(Any) 20:32
evalbot_r14454 Bool::True
fglock ?eval undef.WHAT
evalbot_r14454 ::Scalar
fglock is it an ro Scalar? 20:33
TimToady ?eval undef = 1;
evalbot_r14454 Error: Can't modify constant item: VUndef
TimToady apparently so. :)
svnbot6 r14455 | putter++ | Regexp-Engine-Reentrant - drop in re_tests.
fglock ok - note taken :) 20:34
is there anything else that is not Any? 20:35
? {42}.WHAT 20:36
?eval {42}.WHAT
evalbot_r14454 ::Scalar
fglock I didn't mean to execute the block 20:37
?eval {}.WHAT # Hash? 20:38
20:38 evalbot_r14454 is now known as evalbot_r14455
evalbot_r14455 ::Scalar 20:38
TimToady ?eval ({42}.WHAT)
evalbot_r14455 ::Block
TimToady ?eval {42} .WHAT
evalbot_r14455 ::Scalar
TimToady this is one of the suprising results of forcing statement-begining { to start a bare block. 20:39
PerlJam surprises == :-(
TimToady as far as I know, only junctions !~~ Any
I sure wish ASCII had more bracketing chars... 20:40
maybe we could it a bare block only if the final } terminates a line.
s/could/could make/
coffee, biab & 20:41
fglock thanks
?eval ({}.WHAT) 20:43
evalbot_r14455 ::Hash
fglock ?eval (().WHAT)
evalbot_r14455 ::Array
fglock ?eval (Any.WHAT) 20:44
evalbot_r14455 ::Any
TimToady ?eval WHAT(Any)
svnbot6 r14456 | putter++ | Regexp-Engine-Reentrant - minor progress (svn limitations force a commit).
evalbot_r14455 ::Any
TimToady ?eval WHAT Any
evalbot_r14455 ::Any
TimToady ?eval WHAT {}
evalbot_r14455 Error: ā¤Unexpected end of inputā¤Closing hash curly may not terminate a line;ā¤please add a comma or a semicolon to disambiguate
TimToady heh
?eval WHAT {};
evalbot_r14455 ::Hash
TimToady ?eval item Any 20:46
evalbot_r14455 ::Any
svnbot6 r14457 | putter++ | Regexp-Engine-Reentrant - copy the right re_tests.t variant this time.
fglock is the type of "0 but True" something like ::(Int|Bool) ? 20:51
putter dinner & 20:54
svnbot6 r14458 | putter++ | Regexp-Engine-Reentrant - re_tests.t works.
r14458 | putter++ | prove -Ilib t/re_tests.t yields 39/961 subtests failed, 95.94% okay.
r14458 | putter++ | Next steps are swapping in the new backtrack_api.pl, and massive code overhaul.
fglock can multis dispatch on a constant? multi a(1){ "first" }; multi a(2){ "second" }; multi a { "other" }; 20:55
==> home & 20:57
20:57 spoop joined, fglock left
wolverian ?eval multi a(1){ "first" }; multi a(2){ "second" }; multi a { "other" }; a 1 20:58
20:58 evalbot_r14455 is now known as evalbot_r14457
evalbot_r14457 Error: ā¤Unexpected "1"ā¤expecting formal parameter or ")" 20:58
wolverian good point
?eval multi a(1){ "first" }; multi a(2){ "second" }; multi a ($n) { "other" }; a 1
evalbot_r14457 Error: ā¤Unexpected "1"ā¤expecting formal parameter or ")"
wolverian oh.
?eval multi a (1) { "first" }; multi a (2) { "second" }; multi a ($n) { "other" }; a 1
20:58 spoop joined
evalbot_r14457 Error: ā¤Unexpected "1"ā¤expecting formal parameter or ")" 20:58
wolverian I guess not.
wolverian will try in his own shell enxt time
s,en,ne, 20:59
21:04 larsen_ joined 21:05 lanny joined
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:07
s/check/checks/ 21:08
s/it's/its/ (alwasy get that one wrong)
TimToady The Perl 5 test suite tests many things that are merely idiosyncracies of the perl interpreter. 21:10
The test suite in Perl 6 is a negotiated settlement between the writers of the synopses and the implementors. 21:11
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:12
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:13
It seems that's the case since it's a negotiated settlement. 21:14
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.
TimToady that's the theory. in practice, the Ss are still quite incomplete
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.
lanny nod
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
21:17 SubStack joined
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:18
Thanks. 21:19
TimToady the intent is that the Ts someday be the perfect embodiment of the design.
PerlJam TimToady: was that a little unintended hubris there? ;-) 21:20
TimToady the perfect embodiment, not the perfect design. :)
21:21 mauke joined, Limbic_Region joined 21:22 spoop joined 21:35 rindolf joined
rindolf Hi all. 21:35
I wrote two Perl Foundations Proposals and could use your input - see www.shlomifish.org/Files/files/emai...Proposals/ . Please read them and comment. 21:36
lambdabot Title: Index of /Files/files/emails/TPF-Proposals, tinyurl.com/ydeeg6
21:36 Aankhen`` joined 21:45 cjeris left 21:50 spoop joined 21:56 dduncan joined
TimToady ?eval |{:a<a b c>}; 22:00
22:00 evalbot_r14457 is now known as evalbot_r14458
evalbot_r14458 {("a" => ("a", "b", "c")),} 22:00
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
TimToady ?eval |{:a<a b c>;}
evalbot_r14458 {Syn "block" {App &infix:=> (: ā¤ "a", ā¤ Syn "," {"a";ā¤ "b";ā¤ "c"});ā¤ Noop}}
rindolf Hi TimToady 22:15
TimToady hello 22:16
Limbic_Region anyone ever dealt with a "stuck" horn in their car? 22:19
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)
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:20
TimToady does anything else share the fuse? 22:23
22:24 SubStack joined
Limbic_Region I don't think so - just checked 22:31
it is just marked "horn"
sorry for the delayed response - had to go out to the garage 22:32
23:00 mako132_ joined
svnbot6 r14459 | seano++ | * don't echo result in REPL when command ends with semicolon (like Matlab) 23:09
r14459 | seano++ | * change :e and :E to evaluate in current environment rather than clean
r14459 | seano++ | * add :er and :ER to use a clean environment (like old :e and :E)
TimToady seano: does this fix the problem with typing item { :a }; 23:13
it seems to throw away the semi and then give an error asking for the semi
seano urk, nope.
I'll look at that.
it just means that "$x = really_large_thing;" won't echo $x 23:14
TimToady: hm... here "item { :a };" gives me the eternal "....>" prompt...
TimToady type ^D to get error
basically, the detect-an-error loop doesn't distinguish syntax errors that can be recovered from those that can't... 23:16
you know, you could just use \ to suppress output if you want to continue the next line. 23:17
seano ah. if this were p5, we could just look for "at EOF"... 23:18
but I really just want to eval something silently and return to the prompt. 23:19
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.
yes, I could probably do that as well via an env var or something.
but it's convenient to be able to say when and when not to print tersely on a per-command basis. 23:21
e.g. "$x = huge_matrix(); summary($x)"
(with a newline in there ;) 23:22
TimToady if you're gonna suppress on final ; you should probably suppress on final } as well.
block } that is.
seano but an extra sem after a closing block is never a syntax error, right?
TimToady course, that makes it hard to write %foo{$bar} and see anything
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
not this did-I-get-an-error hackery 23:24
subprompt even
seano or both.
fwiw, I haven't seen a language 's repl yet that tries very hard in this respect.
TimToady now I'm trying to figure out what a sub prom pot would be...
seano what you give a girl to get turned down for prom? 23:25
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:30
23:34 glasser joined 23:41 weinig is now known as weinig|bbl 23:44 Limbic_Region joined
audreyt seano: no there's no reason please remove ; 23:51
23:51 justatheory joined
audreyt from the dropWhile elem 23:51
seano audreyt: further, making sure it always ends with ';' avoids the error. will do. 23:52
Limbic_Region how did the talk go audreyt?
audreyt Limbic_Region: very well 23:53
actually one talk plus two discussions
Limbic_Region great
audreyt perl6 was extremely well received as a language :)
Limbic_Region did anyone chuckle at the "is intel providing financial support to perl 6 development" ?
audreyt (they were looking at the Fortress spec which is like perl 6 but without tests nor prototypes)
seano audreyt: was the audience mostly academic? industry? mixed?
audreyt seano: intel enginees. industry. people working on Harmony, ICC, the sorts. 23:54
seano (and wacky whitespace-as-multiplication :)
audreyt # incubator.apache.org/harmony/
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
a lot of fun, got many interesting links to papers that I'll have to digest later
but now I'm just about to be jet lagged into oblivion
Limbic_Region: some may have, I wasn't sure :) 23:57
the couple haskell hackers I met there are cool as well
Khisanth hmm oblivion, I heard that is fun :)
audreyt pointed out a couple GHC 6.6 new features on concurrency that pugs may take advantage of 23:58
(when we drop 6.4 support)
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
it can use, and have >>+<< and junctions etc to use exactly that many in parallel