pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by TimToady on 25 January 2008. |
|||
diakopter | PerlJam: I still don't see your point :) ... do you mean that a }\n in a semi-list should or shouldn't terminate a statement in a semi-list? | 00:00 | |
PerlJam | diakopter: I would say it should. | 00:01 | |
diakopter | PerlJam: oh.. ;) my first guess was that it shouldn't | ||
00:02
toddr joined
|
|||
PerlJam | cognominal_: I think <before: ...> is still zero-width (but capturing). | 00:02 | |
diakopter: well, don't take my word for it, wait for TimToady to wake up and tell you definitively :) | |||
diakopter | PerlJam: or I guess I could take 30 min to find it in STD.pm | 00:03 | |
if it's there | 00:04 | ||
PerlJam | yeah, STD.pm is still unfleshed in a few places | ||
cognominal_ | PerlJam: that would make sense, but the examples in S05 don't support that thesis | 00:07 | |
PerlJam | cognominal_: well, <? and <! guarantee zero-width, there's nothing that says a rule that starts with an alpha can't be. | 00:09 | |
00:09
wknight8111 joined
|
|||
cognominal_ | zero width but capturing. An interesting beast indeed. But that would desserve some explicite syntax. | 00:09 | |
diakopter | cognominal_: perlcabal.org/syn/S05.html#line_1537 | 00:10 | |
lambdabot | Title: S05 | ||
cognominal_ | bed time. | 00:16 | |
00:21
japhb joined
00:41
wknight8111 left
|
|||
scrottie | Tene, re: why get pugs running, at the risk of having an opinion (smelly), all of my experience with virtual machines tells me that Parrot is a foul beast. The idea with pugs was to rewrite perl 6 in pugs and make it self hosting; Larry actually started that. In the interest of not having parrot be a central building block (it's okay if it's a part... eggs in oen basket and all that), I wanted to see if I could help with that. | 00:41 | |
alright, with irssi, long lines just don't go through at all? | 00:42 | ||
or am I lagged? blargh. not used to this beast. used to irc-II, but mine has been coredumping lately. i'm guessing that means it's out of date. | |||
diakopter | scrottie: we got the long msg | 00:44 | |
PerlJam | scrottie: pugs fell down a bit in that in order to write a language in perl 6, you need a parser that parses perl 6; pugs punted on the parser. | ||
diakopter | PerlJam: I wasn't aware of that... i'm curious; explain more? | ||
00:45
pbuetow joined
|
|||
scrottie | ooops. typing doesn't knock irssi out of backscroll mode, apparently, and backscroll mode looks like regular mode. hehe, I'm so stupid. | 00:46 | |
diakopter | so very :P | ||
00:47
zaphar_ps joined
|
|||
allbery_b | that's tjhe second person I've seen today who did that | 00:47 | |
diakopter | scrottie: there are actually other attempts... smop/sm0p promises to reignite in early July when ruoso finishes his $project... also there's the measly parser/interpreter I built and am actively working on | ||
scrottie | herding frickin' cats. not only does every developer insist on a different version control system, no two people will commit on the same project. | 00:48 | |
diakopter | well, there's also elf, which is a very fast implementation on Perl 5 | 00:49 | |
00:49
bacek left
|
|||
scrottie | really! | 00:49 | |
diakopter | mncharity runs elf | 00:50 | |
scrottie | what state is that in, and whose project is that? (I'm guessing their name is more unique and more easily googled than the project name.) | ||
allbery_b | @larry wants multiple implementations | ||
lambdabot | Maybe you meant: arr yarr | ||
diakopter | elf is fairly complete, actually... I just can't read the code for the life of me or else I'd help out :) | 00:51 | |
scrottie | allbery_b: one person projects are okay; multiple people doing the same work in one person projects is okay; people being unrealistic about the scope of work and trying to do everything rather than a reusable piece is problematic. not to judge ya'll. just sayin'. | ||
PerlJam | diakopter: The idea for pugs (as I understood it), was to turn Parsec into Perl 6 parser, but no one ever quite got around to it. But in the mean time, pugs ended up being a decent adhoc parser for parsing most of the "easy" perl 6 syntax | ||
diakopter | PerlJam: thx; I'll read up on Parsec | ||
00:52
wknight8111 joined
|
|||
diakopter | scrottie: pmurias and moritz_ help out with elf | 00:52 | |
allbery_b | scrottie: everyone has to redo the easy stuff in order to get to the hard stuff which everyone keeps running around on | ||
scrottie | hits for mncharity+elf are primarily on irc logs. does anyone know that homepage, offhand? | ||
diakopter | dare I ask on which things rakudo will run around | 00:53 | |
scrottie: the homepage is the irc logs :) | |||
scrottie | allbery_b: makes sense. | ||
diakopter: and the source code is in a shar archive that people email around? | |||
diakopter | scrottie: it doesn't have a homepage, I don't think... the source is in the pugscode svn, like every implementation but rakudo | 00:54 | |
scrottie | neato! so I already have it! | ||
diakopter | scrottie: there is also MP6/KP6, which is a (bootstrapped!) implementation in Perl 5... but apparently (I can't substantiate) it turned out to be quite slow... (probably not nearly as slow as yap6 will be).... fglock built that. | 00:55 | |
yap6 is my little toy bitbox | 00:56 | ||
all it does is syntax check and tokenize at the moment. | |||
00:57
simcop2387 left
00:58
simcop2387 joined
|
|||
diakopter | so anyway, in order of activity, it goes rakudo, STD5 (Larry's parser), elf, yap6, smop, kp6, pugs.... but smop will shortly be 2nd/3rd again, I'm sure. in order of completeness, it goes pugs, elf/rakudo (not sure on that order), kp6, smop, yap6 (probably shouldn't be on this list yet)... I'm sure I've left out something somewhere... | 01:01 | |
scrottie | diakopter++ | 01:02 | |
diakopter: mind if I quote you extensively to use.perl.org? | |||
diakopter | scrottie: hrm | ||
PerlJam | diakopter: how exactly are you defining "completeness"? | 01:03 | |
diakopter | PerlJam: in the usual hand-wavey way | ||
PerlJam | As Larry says, each implementation has different areas of focus. | ||
diakopter | PerlJam: probably approximately to amount of work put in to-date...? | ||
scrottie | diakopter: "I'd prefer not" is valid and acceptable. But, imo, this is very good info. | 01:04 | |
diakopter | scrottie: I don't mind, no... just let me know the url so I can post comments/clarifications if necessary :P | 01:05 | |
or retractions | |||
:D | |||
pasteling | "scrottie" at 130.13.73.133 pasted "quoting" (24 lines, 1.7K) at sial.org/pbot/31366 | 01:06 | |
scrottie | that's my draft | ||
not going to do too much with it... just log it as a personal blog. | |||
feel free to edit and nopaste again. | |||
pmichaud | I thought that larry's tokenizer is in P5...? | ||
diakopter | Larry's program is more than a tokenizer.. it produces nested Match objects.. it's a full-fledged parser.. and yeah it runs on P5, and it's not in v6/ ; it's in src/perl6 | 01:07 | |
scrottie: here's some more history on STD5 | |||
at one point TimToady had a program that would convert STD.pm to a dialect pugs could understand... but nowadays his script takes it all the way to Perl 5 | 01:08 | ||
scrottie | diakopter: this is the program he presented at YAPC::NA this year? looked pretty p6 to me, with :stuff and whatnot. | ||
diakopter | STD.pm is in Perl 6 | 01:09 | |
pmichaud | what it parses is P6, yes. | ||
but the program itself is P5. | |||
PerlJam | uses Moose even | ||
pmichaud | by that reckoning, what rakudo and the parrot compiler tools parse is P6. :-) | ||
diakopter | scrottie: what you saw on the screen was STD.pm, I'm pretty sure. | 01:10 | |
the Perl 6 standard grammar (slash parser generation instructions) | |||
scrottie | first line of Perl-6.0.0-STD.pm is: grammar Perl:ver<6.0.0.alpha>:auth<perl.org>; | 01:11 | |
I think he said something about this being marked .alpha, but in the p6 it parses, that's not legal. | |||
pmichaud | afaik, nothing actually runs STD.pm yet. | ||
PerlJam | not an unmodified STD.pm | 01:12 | |
diakopter | scrottie: there shouldn't be a Perl-6.0.0-STD.pm | ||
01:12
Auzon joined
|
|||
scrottie | I'm looking at pugs/src/perl6/Perl-6.0.0-STD.pm ... worng thing? | 01:12 | |
it looks awfully familiar... | |||
pmichaud | I don't see a Perl-6.0.0-STD.pm in the repo. Just STD.pm . | ||
however, STD.pm does start with grammar Perl:ver<6.0.0.alpha>:auth<perl.org>; | 01:13 | ||
scrottie | alright, I might have gotten something old by mistake. where do I need to pull from? | ||
diakopter | www.perlcabal.org/svn/pugs/browse/src/perl6 | ||
lambdabot | Title: browse: /pugs/src/perl6 (Rev: HEAD, via SVN::Web) | ||
diakopter | svn export/checkout svn.pugscode.org/pugs | ||
lambdabot | Title: Revision 20922: / | ||
PerlJam | svn.pugscode.org/pugs works as well | 01:14 | |
lambdabot | Title: Revision 20922: / | ||
pmichaud | (I tend to browse through the url PerlJam just gave, fwiw.) | ||
diakopter | that's the one I gave too :P | ||
pmichaud | I'm not familiar with the "/browse/" component, though. | ||
diakopter | I sent two urls | 01:15 | |
the first is SVN::Web; second was the svn repo itself | |||
pmichaud | right. | ||
bbl. | 01:16 | ||
scrottie co's | 01:17 | ||
diakopter, use.perl.org/~scrottie/journal/36739 ... I can make corrections directly too. | 01:18 | ||
lambdabot | Title: Journal of scrottie (4167) | ||
rindolf | Hi scrottie | ||
scrottie: hi. | |||
scrottie | hi rindolf | ||
rindolf | scrottie: have you seen the fuss on use.perl.org about my "Closed books" essay? | ||
scrottie | rindolf, how do you fit into this neat little puzzle these people have created? | ||
rindolf | chromatic++ | ||
scrottie | rindofl: no, sounds boring. | ||
rindolf | scrottie: which one? | 01:19 | |
scrottie: which puzzle? | |||
diakopter | scrottie: the first two sentences are incorrect | ||
scrottie | alright, I'm still confused on that point. why did he track down a working pugs to run it? | 01:20 | |
diakopter | scrottie: also, another correction, STD.pm is *the* Perl 6 grammar; Larry's effort is separate from that - his effort is comprised of gimme5/Cursor5, which together produce STD5.pm from STD.pm | 01:21 | |
scrottie | and I think I'm getting conflicting opinions on that here | ||
diakopter | scrottie: he didn't track down a working pugs to run it; he tracked down a working pugs to demo a Perl 6 feature | ||
scrottie: re: conflicting opinions; no, no one's disagreed on these points | |||
scrottie | svn: REPORT request failed on '/pugs/!svn/vcc/default' ... svn: REPORT of '/pugs/!svn/vcc/default': Chunk delimiter was invalid (svn.pugscode.org) | 01:23 | |
lambdabot | Title: Revision 20922: / | ||
scrottie | dammit. this stuff is so confusing, svn can't even check it out =P | 01:24 | |
diakopter | "Larry Wall, at YAPC, demo'd his Perl 6 tokenizer written in the perl 6 dialect spoken by pugs. That's v6/ in the pugs source code." --> "Larry Wall, at YAPC, demo'd his Perl 6 parser (generated into Perl 5 from STD.pm (Perl 6) by gimme5/Cursor5). That's src/perl6/*5.* in the pugs source code." | ||
src/perl6/metholate was the converter from Perl 6 to pugs-P6, but not updated in 4 months b/c that's not what Larry uses anymore | 01:25 | ||
all I can suggest about the svn checkout problem is to try again, or to export instead of checkout | 01:26 | ||
scrottie | edited (thanks for corrections). | ||
PerlJam | scrottie: what version of svn are you using? | ||
Auzon | Note that elf, like many P6 implementations, is partially written in Perl 6. | ||
scrottie | 1.3.2 (r19776) | 01:27 | |
PerlJam | you might want to try a newer svn | ||
(I was all set to give fitz and sussman grief about svn 1.5 at yapc but apparently it's actually out now :) | 01:28 | ||
01:30
toddr left
|
|||
rindolf | PerlJam: were they present there? | 01:30 | |
scrottie | rindolf, re: puzzle, the puzzle formed by all of these projects. how do you fit in to that? in other words, what are you working on? | ||
diakopter | scrottie: to clarify further, Larry's programs require perl 5.10 | ||
rindolf | scrottie: lots of stuff. | 01:31 | |
scrottie: CPAN modules. | |||
scrottie: and some stuff in the perl5-core. | |||
scrottie: and a bit on Parrot. (Very little). | |||
scrottie | rindof, neat, didn't know that about you. I thought you just wrote essays that annoyed people ;) | ||
rindolf | scrottie: I'm here because of the discussion. | ||
scrottie: nah. | |||
scrottie: www.shlomifish.org/open-source/ - knock yourself out. | 01:32 | ||
lambdabot | Title: Open Source Software I wrote | ||
01:32
rindolf left
|
|||
scrottie | okay, but you're not working on the perl 6 "puzzle" (my words)? you're just here for the discussion? everyone has CPAN modules. only every other person has a perl 6 parser. | 01:32 | |
bleah | 01:33 | ||
afk a bit, heading to the laundramat | 01:34 | ||
laundromat | |||
diakopter | heh | 01:37 | |
scrottie | but when I get there I'll get back online >=) | 01:38 | |
02:14
mjk left
|
|||
diakopter | TimToady: typo at S03:175 | 02:24 | |
TimToady: S03:220 has a trailing semicolon whereas the other examples don't | 02:27 | ||
TimToady: inconsistent spacing at S05:1502 | 02:28 | ||
TimToady: spello at S05:2069 | |||
pugs_svnbot | r20923 | pmichaud++ | S02-literals/autoref.t: Fix rakudo skip message. | 02:39 | |
02:53
alester joined
02:54
alester left
|
|||
diakopter | TimToady: I assume postfix !meth has the same precedence as the other postfix method calls...? | 02:54 | |
pmichaud: or you.. ^^ | 02:55 | ||
rakudo_svn | r28588 | pmichaud++ | [rakudo]: | 02:57 | |
r28588 | pmichaud++ | * Update tools/test_summary.pl to summarize skipped tests. | |||
pugs_svnbot | r20924 | pmichaud++ | S04-statements/try.t: Fix skip messages. | ||
speckbot | r14553 | pmichaud++ | typo fixes by diakopter++ | 02:59 | |
r14554 | pmichaud++ | typo fixes by diakopter++ | 03:00 | ||
03:02
wknight8111 left
03:04
elmex_ joined
|
|||
diakopter | pmichaud: I don't know if you saw; I created this parametric regex/token/rule (template) function; I think it could actually be a neat language feature that could benefit Perl 6, too. | 03:07 | |
it's a pretty simple concept, but its implementation in Perl 5 was kindof heinous. | 03:08 | ||
scrottie | rindolf, you never send me a link to the page you're talking about, but instead a page that links to the page, and that page always serves to convince me that I don't want to go to that page after all. | ||
pmichaud | diakopter: hadn't seen it yet, no. May take a look tomorrow. :-) | 03:09 | |
pugs_svnbot | r20925 | pmichaud++ | Fix typo in <radint>: <?before :> should be <?before ':'> . | ||
spinclad | (ftr, larry didn't start pugs; autrijus ==> audreyt did.) | 03:13 | |
scrottie: ^ | 03:14 | ||
diakopter | pmichaud: I'm just about done with the top-down portion of the Perl6in5::Grammar engine... now I'm working on the operator precedence engine/generators... I'm going to try to approach the capability of pge (but not the syntax, obviously) in those regards... | 03:19 | |
03:19
elmex_ is now known as elmex
|
|||
Auzon | elf: say '' | 03:25 | |
p6eval | OUTPUT[ā¤] | ||
03:26
bacek joined
|
|||
bacek | rakudo: my ($a, $b); $a=42; say $a | 03:27 | |
p6eval | rakudo r28589 OUTPUT[Scope not found for PAST::Var '$a'ā¤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)ā¤ | ||
diakopter adds 'use B::Generate;' to yap6; lol | 03:38 | ||
03:41
pbuetow_ joined
|
|||
s1n | so is rakudo supposed to now be the main perl6 implementation? | 03:46 | |
diakopter | s1n: it's the most active currently, by far... | 03:48 | |
s1n: here are some recent comments... use.perl.org/~scrottie/journal/36739 | 03:49 | ||
lambdabot | Title: Journal of scrottie (4167) | ||
s1n | i was reading about the recent grant for the smop implementation | 03:51 | |
i'd like to start playing with/on perl6, but i don't want to waste time on an implementation that gets neglected (pugs) | 03:52 | ||
diakopter | I'd look into rakudo if I were you, then | ||
03:53
pbuetow left
|
|||
scrottie | spinclad, yeah, I was just under the impression that his current work was based on top of it, and that people were still hacking on it (it = pugs) | 03:53 | |
diakopter | it certainly has the most funding/cheerleaders/potential | ||
s1n | i was thinking of helping with getting some of the spectests working again in rakudo, but i'd be pissed if that went the way of pugs | 03:54 | |
diakopter | s1n: the only way that would happen is if major design/implementation flaws/limitations were discovered in parrot that weren't reasonably insurmountable... | 03:55 | |
scrottie | pugs at least had numerous backends, parrot being just one of them. with pugs translated to perl6 to be made self-hosting (as was the.. er, a.. plan), it would be independant of VM. | ||
diakopter | s1n: but I sincerely doubt that's the case... | ||
s1n | what exactly was wrong with pugs that caused people to stop working on it? | 03:56 | |
diakopter | nothing; its primary author/maintainer became otherwise occupied | 03:57 | |
but there is a multitude of people familiar with parrot/pge/pct/rakudo internals... plenty to survive such buses | 03:58 | ||
s1n | does rakudo have a similar structure (primary-developer-gets-hit-by-bus-and-project-dies-too syndrome)? | ||
heh ok | |||
diakopter | s1n: no; there are lots... see #parrot on irc.perl.org | ||
s1n | what about the mention of elf? | 03:59 | |
03:59
alester joined
|
|||
s1n | it sounds complete, if it's complete, why has it not gotten any attention? | 03:59 | |
Auzon | It's not complete. | ||
elf: say 1 ~~ Int | |||
p6eval | OUTPUT[Can't call method "Str" on an undefined value at ./elf_f line 649.ā¤ at ./elf_f line 3854ā¤] | ||
diakopter | it's not complete.. | ||
Auzon | elf: say [*] 1 .. 5 | 04:00 | |
p6eval | OUTPUT[Parse error in: /tmp/Da3FHqReLHā¤panic at line 1 column 0 (pos 0): Can't understand next input--giving upā¤WHERE: say [*] 1 .. 5ā¤WHERE:/\<-- HEREā¤ STD_red/prelude.rb:98:in `panic'ā¤ STD_red/std.rb:76:in `scan_unitstopper'ā¤ STD_red/std.rb:224:in `comp_unit'ā¤ STD_red/std.rb:210:in... | ||
diakopter | s1n: but it hasn't gotten much attention because no one has written/talked about it anywhere but on this irc channel | ||
s1n | does that make it inferior? | ||
diakopter | in terms of publicity, yeah... but not otherwise, of course. | 04:01 | |
a Perl 6 implementation is measured/defined by its handling of the official test suite | |||
s1n | the pugs suite? | 04:02 | |
Tene | The pugs suite is gradually being organized better. It's going to grow into the official test suite. | ||
diakopter | and, I suppose, also its cross-platform-ness. and also, I suppose, the availability/free-ness of its dependencies. and also, I suppose, which open-source license it's available under | ||
s1n | okay, we're making progress here. i now have a definition of a metric of an implementation and what will ultimately be the test suite. | 04:03 | |
Auzon | s1n: From what I hear, the test suite is roughly 18000 tests. | ||
s1n | is rakudo more complete than elf? should i even spend time on any other implementation? | 04:04 | |
diakopter | I can't make that explicit recommendation; after all, I have my own infantile implementation (that's primarily for my own amusement/education)... but if I weren't me, I'd recommend diving into rakudo/parrot | 04:05 | |
s1n | okay, does the current test suite in pugs still need any work or is it pretty complete? | 04:06 | |
diakopter | Auzon? | ||
Auzon | It'll always need work :) | ||
I'm hoping to add 1000 tests by the end of the summer | 04:07 | ||
A few tests are outdated. | |||
More recent things are lacking, such as sameaccent. | |||
But the test suite is further along than all the implementations combined, which is the goal | 04:08 | ||
s1n | okay great, that was what i needed to know | ||
diakopter | Larry estimates the test suite is 20-50% complete, I think...? | ||
Auzon | I heard the estimate of 40000 tests for 6.0.0 of the first implementation | 04:09 | |
s1n | i'll probably start by hacking on learning the language, playing with the test suite, and then move into fixing stuff in rakudo | ||
lots of new perl6 features :) | |||
Auzon | s1n: If you're looking for untested areas on the suite, I've listed them in t/TASKS | ||
diakopter | s1n: rakudo is implemented in PIR and NQP (nearly Perl 6 syntax) | ||
s1n | Auzon: thanks | 04:10 | |
Auzon | Some of them, at least. | ||
diakopter | s1n: do you want a commitbit? (svn commit access) | ||
s1n | i tried doing the spectest and it just blew up on me (ended up running all night) | ||
to parrot? | |||
Auzon | Yeah, you can't run it. | ||
diakopter | no, to pugscode, where the test suite is | ||
s1n | diakopter: wouldn't hurt :) | 04:11 | |
diakopter | /msg me your email address and desired username... | ||
Auzon | the pugs repo holds a lot of implementations as well, such as elf, yap6, smop, pugs... | ||
And the test suite | |||
diakopter | and the standard grammar (STD.pm) and Larry's parser based on the standard grammar... :) | ||
s1n | hmm okay | 04:12 | |
Auzon | It's pretty lacking for committing rules. | ||
The Parrot repo is a lot stricter | |||
diakopter kicks jifty | |||
s1n | there seems to be a lack of documentation on getting a good dev. environment up and running, i read about feather, should i get an account there or just hack on it on my machine? | 04:13 | |
Auzon | It depends on your goal | ||
s1n | what would be my goal if i used feather? | ||
Auzon | I'm a Google summer of code student, and my project is the test suite. Locally, I only have Rakudo running | 04:14 | |
s1n | i have parrot svn compiled locally, i was going to just use that | ||
diakopter | there we go; jifty responded well to SIGHUP | 04:15 | |
Auzon | Yeah, that's what I do. The rakudo_svn bot here announced commits to the Rakudo section of the Parrot repo | ||
s1n | okay, but the test suite is through pugscode, so i guess i should check that out too | 04:16 | |
diakopter | s1n: invitation sent | ||
s1n | diakopter: thanks for that | 04:17 | |
diakopter | s1n: generally to get commit access to parrot/rakudo, you become known as a reliable submitter of good (working) patches... then you get invited; then you sign a form regarding IP... | ||
s1n | i'll probably start slowly, maybe a handful of minutes a night :) | ||
diakopter | but apparently at some point rakudo will get its own repository/home somewhere | 04:18 | |
Auzon | s1n: My setup has a few repos checked out. I have the Pugs repo (for the test suite), the Parrot repo (for Rakudo), and the synopsis repo checked out (for searching the synopses). | ||
diakopter | since parrot eventually won't be released with all the HLLs (high level languages) | ||
Auzon | s1n: If you just want to run the test suite with Rakudo, there's a target for make in languages/perl6 that does it. | 04:19 | |
s1n | diakopter: okay, so you just gave me commitbit to pugscode, which i'll use for the test suite, right? | ||
diakopter | s1n: yep | ||
s1n | Auzon: yeah i was playing with that | ||
Auzon | If you want to hack on the test suite, then you'll want a setup kinda like mine | ||
diakopter | or starting your own implementation ;) | ||
scrottie: ^ | |||
s1n | diakopter: heh don't have time for that, like Auzon, i'm a student | 04:20 | |
diakopter | ha; students have more time than anybody... | ||
s1n | i work full time and part-time gradschool | ||
diakopter | ok, then :D | ||
students *who don't work fulltime* ... :) | |||
Auzon | s1n: There's also syntax highlighting for vim and presumably emacs in the pugs repo | 04:21 | |
diakopter | s1n: what OS do you use | ||
s1n | mainly, i want perl6 because i want to be able to try and convince my boss to switch our dated perl5 junk to perl6 :) | ||
gentoo ~amd64 | |||
Auzon | mmm, that's a ways off yet | ||
s1n | yeah, but the more i help, the closer it gets | ||
cj | s1n: hey, perl5's not so bad | ||
diakopter | s1n: that's a great attitude; you'll go far. | 04:22 | |
s1n | cj: no, i love it, but perl6 makes my mouth water | ||
Auzon | Oh, don't forget the redsix implementation :P | ||
diakopter | oh! I knew I'd left something out... | ||
Auzon | Don't bother with it though | 04:23 | |
I don't know of anything it does better than elf or rakudo | |||
s1n | i was reading about mixins in perl6 and on the rakudo blog and my heart started beating fast, then i read about generics and it was too much to handle | ||
Auzon | s1n: Have you seen the evalbot in here? | ||
s1n | Auzon: i've seen people use it | ||
impl: code | |||
Auzon | Yeah. I do a lot of testing with that, actually. | 04:24 | |
s1n | rakudo: say "Hello World" | ||
p6eval | rakudo r28591 OUTPUT[Hello Worldā¤] | ||
Auzon | You can also privmsg it if you don't want to flood the channel or something | ||
diakopter | rakudo: 'Hello Cosmos' | ||
p6eval | rakudo r28591 RESULT["Hello Cosmos"] | ||
Auzon | p6eval is a very easy way to play with Pugs and KP6, too. | ||
04:25
japhb left
|
|||
s1n | okay, i'll have to set up my environment tomorrow, thanks for everything guys | 04:25 | |
04:25
japhb joined
|
|||
Auzon | OK. I'm available to lend a hand if you want. | 04:25 | |
s1n | i gotta get up a the butt-crack of dawn tomorrow to go run then work some ot | 04:26 | |
Auzon | I suggest getting elf and rakudo running, as they're pretty easy | ||
s1n | Auzon: thanks | ||
Auzon: i have rakudo working now | |||
cj | what is rakudo? | ||
Auzon | elf is just Perl 5.10, Ruby 1.9 and some Perl modules | ||
cj: Rakudo is Perl 6 on Parrot | |||
cj | ah. it's got a name now, eh? | ||
Auzon | elf: say $?PERLVER | ||
cj | when did that happen? | ||
p6eval | OUTPUT[elf / perl 5.8.8 / EmitSimpleP5ā¤] | ||
diakopter | cj: www.rakudo.org | ||
Auzon | elf also runs on Perl 5.8.8 too, but it's slower. | 04:27 | |
not much though | |||
cj | elf must be perl6 on perl5 | ||
diakopter | one of the 3-4 | ||
s1n | im out, thanks for the deets and help | ||
Auzon | cj: Yes. It uses STD_red (Ruby translation of STD.pm) for the AST, I think | ||
see you, s1n | |||
scrottie | oh, then there's elf_on_rakudo. | 04:29 | |
Auzon | and elf on smop, and kp6 on smop, and... :P | ||
scrottie | you guys are f'n nuts. | ||
Auzon | I swear, I learn about a new P6 implementation every few days | ||
diakopter | or at least target permutation | 04:30 | |
Auzon | scrottie: Well, if you have an implementation of P6 written in P6, a good test for both would be to run it on another P6 implementation. | ||
and it might help with bootstrapping. | |||
diakopter | lol | ||
"if you have a bootstrapped Perl 6, it might help with bootstrapping to run it on a non-bootstrapped Perl 6"...? | 04:31 | ||
scrottie | ... and elf uses STD_red... the _Ruby_ translation of STD.pm? Is there logic in there somewhere? | ||
diakopter | scrottie: yes b/c redsix did a good job parsing STD(_old).pm I think | 04:32 | |
Auzon | scrottie: Apparently it works. Elf is pretty fast and complete for how little time it's around. | ||
Is STD_red hand or machine translated? | |||
scrottie | ... it hasn't been around long, and it already has several implementations (elf_a, elf_b, elf_c, ... elf_f)...? | 04:34 | |
Auzon | 2008-03-20 is the first commit | ||
diakopter | Auzon: well, maybe yap6 can replace its parser... | 04:35 | |
scrottie | attempting (and failing) to think, outloud. they *immediately* bootstrapped themselves by rewritting the parser into the language they parsed...? props there. neato. | 04:36 | |
Auzon | scrottie: elf_a was pure P5. Then elf_b was written in P6 that elf_a could understand. Then elf_b was hacked on, and then made into elf_c when a milestone happened. | ||
diakopter | I mean, who am I kidding that I can write my own runtime/object model | ||
Auzon | and so on with each milestone for elf_c .. elf_f | ||
scrottie | Auzon: neat! | ||
diakopter | scrottie: want a commit bit? | 04:37 | |
scrottie | um... I might have one. how would I know? | ||
Auzon | It's probably a bit more complicated, but it's awesome for only 3 months and fast for P5 | ||
scrottie: commitbit.pugscode.org/ and login | |||
lambdabot | Title: Welcome to CommitBit for PugsCode | ||
diakopter | scrottie: email address? | ||
Auzon | or ask diakopter. | ||
scrottie | [email@hidden.address] | ||
diakopter | nope | ||
invitation sent | 04:38 | ||
scrottie | ahhh. audreyt was slinging them when I was around, long ago, but apparently missed me. | ||
bacek | pugs: my ($a,$b); $a=42; say $a; | 04:40 | |
diakopter | Auzon: I think we have new 365-day record for irclog length for the past 24 hours... | ||
p6eval | OUTPUT[42ā¤] | ||
Auzon | diakopter: I've noticed that IRC has been a lot more active this spring/summer than last winter | ||
Hopefully it's a sign of more P6 momentum. | 04:41 | ||
diakopter | scrottie: why doesn't your article appear on use.perl.org recent post list | ||
Auzon | diakopter: Are you aiming for a general purpose P6 parser now with yap6? | 04:44 | |
diakopter | Auzon: yeah... well actually, as flexible as pge, hopefully | 04:45 | |
just not its syntax | |||
Auzon: do you have any thoughts on that? | 04:51 | ||
Auzon | I don't know PGE well enough to comment about comparison of PGE and yap6. | 04:52 | |
diakopter | PGE basically has nearly-Perl 6 rule/token/regex declaration syntax | 04:53 | |
just not all the features | |||
but lots | |||
Auzon | I'm interested a way to check if P6 is valid for personal selfish reasons, since it would catch typos and other things easily | 04:54 | |
Depending on the output of such a parser, I could find a few uses for it in code unrelated to P6 development | 04:56 | ||
diakopter | interesting | ||
Auzon | But this all supposes that a parser is orders of magnitude easier to write than the corresponding implementation | ||
Replacing STD_red in elf and perhaps other implementations could be beneficial too | 04:57 | ||
If it does what I think it does, I could adjust the smartlinks tool to provide accurate syntax highlighting for the synopses. | 04:58 | ||
diakopter | ooo | ||
ha | 04:59 | ||
even for STD.pm's gradual grammar... ;) | |||
05:07
alester left
|
|||
scrottie | diakopter: I thought I saw the article there... sudden mass posting immediately afterwards? dunno | 05:08 | |
05:13
smtms left
05:16
Psyche^ joined
05:29
Patterner left,
Psyche^ is now known as Patterner
05:46
kanru left
05:50
a-jing joined,
a-jing left
05:52
njm joined
|
|||
bacek | pugs: my $a; my $a; $a=42; say $a | 05:56 | |
p6eval | OUTPUT[42ā¤] | ||
bacek | pugs: my $a; $a=42; my $a; say $a | ||
p6eval | OUTPUT[42ā¤] | ||
06:04
xinming joined
|
|||
scrottie | here yak, yak, yak... I won't hurt you... nevermind this knife... it's just a razor blade... | 06:07 | |
06:35
sri_work_ left
06:41
japhb left,
pbuetow_ left,
bacek left,
simcop2387 left,
pjcj left,
cognominal_ left,
Grrrr left,
s1n left,
diakopter left,
TimToady left,
cls_bsd left,
Patterner left,
njm left,
zaphar_ps left
06:42
xinming left,
p6eval left,
elmex left,
Southen_ left,
pengrate left,
Auzon left,
araujo left,
hcchien left
06:43
ingy joined,
Alias_ joined,
xinming joined,
njm joined,
Patterner joined,
japhb joined,
pbuetow_ joined,
bacek joined,
elmex joined,
Auzon joined,
simcop2387 joined,
zaphar_ps joined,
Southen_ joined,
pjcj joined,
cognominal_ joined,
araujo joined,
p6eval joined,
Grrrr joined,
pengrate joined,
lambdabot joined,
drbean_ joined,
BinGOs joined,
stevan_ joined,
cookys joined,
revdiablo joined,
wolverian joined,
jan__ joined,
Ara4n joined,
Maghnus joined,
SamB joined,
felipe joined,
eternaleye_ joined,
gbacon joined,
lumi joined,
Lunchy joined,
kcwu joined,
dmq joined,
Kattana joined,
yahooooo joined,
mj41 joined,
SubStack joined,
perlbot joined,
pugs_svnbot joined,
beppu joined,
TreyHarris joined,
yves joined,
ilbot2 joined,
rafl joined,
kolibrie joined,
mtve joined,
irc.freenode.net sets mode: +o ingy,
obra joined,
buubot joined,
speckbot joined,
Tene joined,
nipotaway joined,
IRSeekBot joined,
Maddingue joined,
arguile joined,
jrockway joined,
jjore joined,
Juerd joined,
clkao joined,
buu joined,
audreyt joined,
allbery_b joined,
nnunley joined,
moritz_ joined,
avar joined,
lisppaste3 joined,
yath joined,
rakudo_svn joined,
broquaint joined,
kane_ joined,
charsbar joined,
awwaiid joined,
osfameron joined,
Gothmog_ joined,
Khisanth joined,
zostay joined,
nothingmuch joined,
pmichaud joined,
PerlJam joined,
Ingmar joined,
qmole_ joined,
jiing joined,
fullermd joined,
apeiron joined,
Caelum joined,
cj joined,
rhr_ joined,
Coleoid joined,
dalek joined,
mofino joined,
spinclad joined,
pasteling joined,
gugod joined,
silug joined,
cls_bsd joined,
diakopter joined,
s1n joined,
TimToady joined,
irc.freenode.net sets mode: +o TimToady,
hcchien joined
06:44
Jedai joined
|
|||
Patterner | occam's? | 06:56 | |
07:25
iblechbot joined
07:26
Alias__ joined
07:27
Alias_ left
07:40
cornelius_ joined,
cornelius_ is now known as c9s
07:57
bacek left
07:59
xinming left,
xinming joined
08:02
njm left
08:03
barney joined
08:16
c9s left,
jan__ left,
ilbot2 left,
yves left,
rafl left,
Lunchy left,
Jedai left,
s1n left,
Grrrr left,
pbuetow_ left,
japhb left,
pjcj left,
eternaleye_ left,
cognominal_ left,
simcop2387 left,
xinming left,
diakopter left,
wolverian left,
TimToady left,
stevan_ left,
cls_bsd left,
lambdabot left,
Patterner left,
lumi left,
SamB left,
iblechbot left,
fullermd left,
qmole_ left,
kolibrie left,
zaphar_ps left,
ingy left,
pmichaud left,
charsbar left,
mj41 left,
pugs_svnbot left,
dmq left,
mofino left,
jiing left,
yahooooo left,
dalek left,
Caelum left,
BinGOs left,
hcchien left,
Coleoid left,
p6eval left,
buu left,
gbacon left,
zostay left,
Khisanth left,
audreyt left,
perlbot left,
barney left,
apeiron left,
Gothmog_ left,
yath left,
Ara4n left,
jjore left,
nnunley left,
Juerd left,
Ingmar left,
lisppaste3 left,
revdiablo left,
felipe left,
rakudo_svn left,
arguile left,
Maghnus left,
silug left,
SubStack left,
awwaiid left,
PerlJam left,
drbean_ left,
osfameron left,
allbery_b left,
Maddingue left,
pasteling left,
elmex left,
Alias__ left,
rhr_ left,
kane_ left,
broquaint left,
kcwu left,
Southen_ left,
pengrate left,
Tene left,
cj left,
avar left,
mtve left,
buubot left,
gugod left,
speckbot left,
beppu left,
nothingmuch left,
Kattana left,
spinclad left,
moritz_ left,
Auzon left,
jrockway left,
TreyHarris left,
araujo left,
IRSeekBot left,
obra left,
clkao left,
cookys left,
nipotaway left
08:18
ingy joined,
xinming joined,
c9s joined,
Alias__ joined,
iblechbot joined,
Jedai joined,
hcchien joined,
Patterner joined,
japhb joined,
pbuetow_ joined,
elmex joined,
Auzon joined,
simcop2387 joined,
zaphar_ps joined,
Southen_ joined,
pjcj joined,
cognominal_ joined,
araujo joined,
p6eval joined,
Grrrr joined,
pengrate joined,
lambdabot joined,
drbean_ joined,
BinGOs joined,
stevan_ joined,
cookys joined,
revdiablo joined,
wolverian joined,
jan__ joined,
Ara4n joined,
Maghnus joined,
SamB joined,
felipe joined,
eternaleye_ joined,
gbacon joined,
lumi joined,
Lunchy joined,
kcwu joined,
dmq joined,
Kattana joined,
yahooooo joined,
mj41 joined,
SubStack joined,
perlbot joined,
pugs_svnbot joined,
beppu joined,
TreyHarris joined,
yves joined,
ilbot2 joined,
irc.freenode.net sets mode: +o ingy,
rafl joined,
kolibrie joined,
mtve joined,
obra joined,
buubot joined,
speckbot joined,
Tene joined,
nipotaway joined,
IRSeekBot joined,
Maddingue joined,
arguile joined,
jrockway joined,
jjore joined,
Juerd joined,
clkao joined,
buu joined,
audreyt joined,
allbery_b joined,
nnunley joined,
moritz_ joined,
avar joined,
lisppaste3 joined,
yath joined,
rakudo_svn joined,
broquaint joined,
kane_ joined,
charsbar joined,
awwaiid joined,
osfameron joined,
Gothmog_ joined,
Khisanth joined,
zostay joined,
nothingmuch joined,
pmichaud joined,
PerlJam joined,
Ingmar joined,
qmole_ joined,
jiing joined,
fullermd joined,
apeiron joined,
Caelum joined,
cj joined,
rhr_ joined,
Coleoid joined,
dalek joined,
mofino joined,
spinclad joined,
pasteling joined,
gugod joined,
silug joined,
cls_bsd joined,
diakopter joined,
s1n joined,
TimToady joined,
irc.freenode.net sets mode: +o TimToady
08:38
masak joined
09:02
agentzh joined
09:15
Jedai left
09:34
ruoso joined
09:44
redicaps joined
10:03
Alias__ left
|
|||
pugs_svnbot | r20926 | masak++ | corrected a few grammatical errors | 10:18 | |
masak | can I do `next` in a sub called from within a for loop? | 10:19 | |
10:19
iblechbot left
10:24
wknight8111 joined
10:28
meppl joined
10:35
BinGOs left,
Jedai joined
10:51
a-jing joined,
a-jing left
10:53
BinGOs joined
10:57
wknight8111 left
11:03
iblechbot joined
11:35
alanhaggai joined
11:42
Harleaquin joined,
Harleaquin left
11:58
Coleoid left
12:01
alanhaggai left
12:25
alanhaggai joined
12:55
alanhaggai left,
alanhaggai joined
13:10
iblechbot left
13:28
pbuetow_ left,
pbuetow joined
13:36
ruoso left
13:54
xinming_ joined
13:58
ruoso joined
14:04
alanhaggai left
14:07
xinming left
|
|||
rakudo_svn | r28594 | pmichaud++ | [rakudo]: | 14:15 | |
r28594 | pmichaud++ | * Update spectest-progress | |||
r28594 | pmichaud++ | * 65 files, 794 passing tests | |||
r28595 | pmichaud++ | [rakudo]: | 14:19 | ||
r28595 | pmichaud++ | * Update README. | |||
14:37
alanhaggai joined
14:47
iblechbot joined
|
|||
pugs_svnbot | r20927 | pmichaud++ | Add some tests for statement termination and empty statements | 14:52 | |
r20927 | pmichaud++ | (contributed by Ronald Schmidt) | |||
14:55
Limbic_Region joined
|
|||
rakudo_svn | r28596 | pmichaud++ | [rakudo]: | 14:57 | |
r28596 | pmichaud++ | * Set svn:ignore properties on src/ops . | |||
r28597 | pmichaud++ | [rakudo]: | 14:58 | ||
r28597 | pmichaud++ | * Handle empty statements (RT#55594) | |||
r28597 | pmichaud++ | * Patch courtesy Ronald Schmidt <ronaldxs@software-path.com> | |||
r28598 | pmichaud++ | [rakudo]: | 15:08 | ||
r28598 | pmichaud++ | * Allow 'make spectest_regression' to work even when "svn up" fails on t/spec. | |||
r28598 | pmichaud++ | * RT#56050 patch courtesy Deven T. Corzine [email@hidden.address] | |||
15:17
Alias_ joined
|
|||
rakudo_svn | r28599 | pmichaud++ | [rakudo]: | 15:20 | |
r28599 | pmichaud++ | * Add chop.t and remove comb.t from spectest_regression (RT#56068, moritz++) | |||
r28599 | pmichaud++ | * Patch courtesy Moritz Lenz [email@hidden.address] | |||
15:27
Alias_ left
|
|||
pugs_svnbot | r20928 | pmichaud++ | Test suite TASKS: Conflict between S29 and rand.t | 15:27 | |
15:31
cognominal_ left
|
|||
masak | I have GHC 6.8.3. what's my best chance of compiling a pugs binary? | 15:35 | |
audreyt | masak: install Cabal 1.4.0.1 and cabal-install 0.5.1 from hackage | 15:37 | |
(which will in turn need zlib and HTTP) | |||
and then see if "cabal update ; cabal install pugs-compat" works | |||
if it works, "cabal install Pugs" will work. | |||
masak | audreyt: thank you | 15:38 | |
audreyt | where "will" means, like, 20 hours from now. | ||
masak | I found the hackage page | ||
let's see if I can figure out how to install things... | |||
audreyt | let cabal-install handle it for you | ||
masak | audreyt: ok, looking for Cabal | 15:39 | |
audreyt | I'm not yet done with partitioning pugs (7 parts so far, about 5 to go) | ||
but the parts already on hackage should build cleanly. | |||
masak | audreyt: you're working on pugs? that's good news | ||
audreyt++ | |||
audreyt | I'm not... I'm just partitioning it :) | ||
diakopter | audreyt: wow. talk about JIT - Sat Jun 21 08:15:21 PDT 2008 AudreyTang pugs-compat 0.0.1 | 15:40 | |
audreyt | :) | ||
don't have any expectations though. this is just me cannibalizing parts of pugs for $job projects :) | 15:41 | ||
diakopter | expectations-- while expectations | ||
audreyt | the few pugs-related code I'm coding won't make any sense until 5.^Wghc 6.10. | ||
masak | what happens then? | 15:42 | |
diakopter | masak: expectations-- while expectations :P | 15:43 | |
masak | diakopter: righty-ho. | ||
diakopter | cool... hackage.haskell.org/packages/archiv...l#cat:Pugs | 15:45 | |
lambdabot | tinyurl.com/yqov7f | 15:46 | |
masak | where do I get HTTP and zlib? | 15:47 | |
nvm, found www.haskell.org/http/ | |||
lambdabot | Title: Haskell HTTP package | ||
diakopter | masak: cabal install http | 15:48 | |
I think | |||
masak | diakopter: well, I'm building cabal-install, so... | ||
diakopter | oh; heh | ||
sorry | |||
masak | but thanks | ||
diakopter tries the same exercise | 15:49 | ||
Limbic_Region rubs his eyes and sees audreyt speaking and thinks he must be dreaming | 15:54 | ||
diakopter | Limbic_Region: you're dreaming; go back to sleep ;) | ||
Limbic_Region: btw, I'm sorry I didn't introduce myself at yapc :/ | 15:55 | ||
Limbic_Region | no worries | ||
I did meet lots of people | |||
I am hoping to meet a lot more next year - since it will be relatively close | 15:56 | ||
diakopter | Pitt's Borough | ||
Limbic_Region | yeah, it is a 4 hour drive from here | 15:57 | |
and Jean should be driving by then | |||
so I should be able to be there for pre and post activities | |||
Limbic_Region is going to upload YAPC photos tonight as well as one more blog post on all the people he met | 15:58 | ||
masak | audreyt: pugs-compat landed just fine. crossing fingers for 20 hours | 16:00 | |
audreyt | masak: cool thanks! | 16:01 | |
16:02
masak left
|
|||
yath | hum | 16:17 | |
i'm just trying to build pugs on debian and get paste.debian.net/7081/ | |||
am i missing something? | 16:18 | ||
TimToady | audreyt++ for learning hard lessons on Sustainability :) | ||
16:22
Jedai left
16:29
sri_work joined
16:37
fridim joined
|
|||
fridim | hi | 16:39 | |
There is a dead link on pugscode.org : wiki -> rakudo.org/perl6/ | |||
diakopter | fridim: if you'd like, you can fix it... :) you just need a commitbit for pugscode svn | 16:40 | |
otherwise I'll fix it... it should point to perlfoundation.org/perl6 | 16:41 | ||
lambdabot | Title: Perl 6 / Perl 6 | ||
Auzon | I'll get it :) | 16:42 | |
pmichaud | fridim++ # reporting broken links | 16:43 | |
pugs_svnbot | r20929 | Auzon++ | [pugscode.org] fixed bad URL | ||
Auzon | Yes, fridim++ | 16:44 | |
pmichaud | Auzon++ # fixing broken links | ||
16:46
kanru joined,
stevan_ left
16:59
zaphar_ps left,
stevan_ joined
|
|||
diakopter runs cabal install pugs-compat | 17:23 | ||
audreyt: if I muck around in pugs' parser... how conflicted will I be when I merge in your (eventual) commit(s)..? | 17:24 | ||
17:27
hanekomu joined
17:50
alanhaggai_ joined,
Jedai joined
18:04
lichtkind joined,
alanhaggai left
18:11
sri_work_ joined
18:13
polettix joined
18:15
sri_work left
18:18
Khisanth left
18:21
Khisanth joined
18:25
explorer joined
|
|||
pugs_svnbot | r20930 | pmichaud++ | S04-statements/try.t: Link #?rakudo skip to RT#56184. | 18:29 | |
r20931 | pmichaud++ | S29-num/roots.t: update error message, avoid needless eval. | 18:32 | ||
18:33
polettix left
|
|||
pugs_svnbot | r20932 | pmichaud++ | S29-num/exp.t: correct skip message for rakudo | 18:33 | |
lichtkind | expression in if statement is evaled into bool scalar context? | 18:35 | |
spinclad | lichtkind, sounds right | 18:36 | |
18:36
alanhaggai__ joined
18:42
lichtkind_ joined
|
|||
lichtkind_ | spinclad: thought too but a phrase in syn 4 irritates me | 18:43 | |
18:52
alanhaggai_ left
|
|||
Auzon | perl6: say list().WHAT | 18:54 | |
p6eval | kp6 r20932: OUTPUT[no method 'APPLY' in Class 'Undef'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345ā¤ | ||
..pugs: OUTPUT[Arrayā¤] | |||
..rakudo r28599: OUTPUT[Listā¤] | |||
..elf r20932: OUTPUT[Undefined subroutine &GLOBAL::list called at (eval 117) line 3.ā¤ at ./elf_f line 3854ā¤] | |||
Auzon | perl6: say list().WHAT ~~ List | ||
p6eval | kp6 r20932: OUTPUT[no method 'APPLY' in Class 'Undef'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345ā¤ | ||
..pugs: OUTPUT[1ā¤] | |||
..rakudo r28599: OUTPUT[1ā¤] | |||
..elf r20932: OUTPUT[Undefined subroutine &GLOBAL::list called at (eval 121) line 3.ā¤ at ./elf_f line 3854ā¤] | |||
19:00
lichtkind left
|
|||
Auzon | perl6: my $a = 5; say list($a).perl; say list($a) == $a; | 19:14 | |
p6eval | kp6 r20932: OUTPUT[no method 'APPLY' in Class 'Undef'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345ā¤ | ||
..pugs: OUTPUT[\5ā¤5ā¤] | |||
..rakudo r28599: OUTPUT[[5]ā¤0ā¤] | |||
..elf r20932: OUTPUT[Undefined subroutine &GLOBAL::list called at (eval 121) line 4.ā¤ at ./elf_f line 3854ā¤] | |||
Auzon | perl6: my $a = 5; say list($a) ~~ $a | 19:16 | |
p6eval | kp6 r20932: OUTPUT[no method 'APPLY' in Class 'Undef'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345ā¤ | ||
..pugs: OUTPUT[5ā¤] | |||
..rakudo r28599: OUTPUT[0ā¤] | |||
..elf r20932: OUTPUT[Undefined subroutine &GLOBAL::list called at (eval 121) line 4.ā¤ at ./elf_f line 3854ā¤] | |||
Auzon | perl6: say ''.defined | 19:18 | |
p6eval | kp6 r20932: OUTPUT[1ā¤] | ||
..pugs: OUTPUT[1ā¤] | |||
..rakudo r28600: OUTPUT[Method 'defined' not found for invocant of class 'Perl6Str'ā¤current instr.: '_block11' pc 31 (EVAL_13:17)ā¤ | |||
..elf r20932: OUTPUT[Can't call method "defined" without a package or object reference at (eval 115) line 3.ā¤ at ./elf_f line 3854ā¤] | |||
Auzon | perl6: say undef.defined | ||
p6eval | kp6 r20932: OUTPUT[DISPATCH: calling defined on invalid object:$VAR1 = undef;ā¤ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 128ā¤ main::DISPATCH('undef', 'defined') called at - line 11ā¤] | ||
..pugs: OUTPUT[ā¤] | |||
..rakudo r28600: OUTPUT[Method 'defined' not found for invocant of class 'Failure'ā¤current instr.: '_block11' pc 37 (EVAL_13:17)ā¤ | |||
..elf r20932: OUTPUT[Can't call method "defined" on an undefined value at (eval 117) line 3.ā¤ at ./elf_f line 3854ā¤] | |||
19:27
c9s left
19:32
smtms joined
19:33
smokemachine joined
|
|||
Auzon | perl6: say list(5) == (5,) | 19:33 | |
p6eval | kp6 r20932: OUTPUT[no method 'APPLY' in Class 'Undef'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345ā¤ | ||
..pugs: OUTPUT[ā¤] | |||
..rakudo r28601: OUTPUT[1ā¤] | |||
..elf r20932: OUTPUT[Undefined subroutine &GLOBAL::list called at (eval 117) line 3.ā¤ at ./elf_f line 3854ā¤] | |||
19:41
xinming_ left,
xinming joined
19:52
cognominal_ joined
|
|||
Auzon | rakudo: ; | 19:53 | |
p6eval | rakudo r28602 RESULT[Null PMC access in find_method()ā¤current instr.: '_block11' pc 38 (EVAL_13:18)ā¤ | ||
Auzon | rakudo:; | ||
pmichaud | that's odd. | 19:54 | |
Auzon | Which one? | 19:55 | |
pmichaud | $ ./parrot perl6.pbc -e ';' | ||
$ | |||
Auzon | The second one might not match evalbot's pattern | ||
pmichaud | right, but simply sending rakudo a semicolon shouldn't result in the find_method error. | 19:56 | |
Auzon | odd | ||
pmichaud | i.e., it should work. It works in my version of rakudo. | ||
Auzon | If it was a recent Parrot change, it may not be rebuilt yet | ||
pmichaud | shouldn't require a Parrot change, though. | ||
Auzon | odd | ||
oh | 19:57 | ||
Evalbot was probably wrapping it weirdly | |||
It wraps it with this is there is no output to STDOUT: '( ( do { ' . $program . "\n} ).perl ).print" | 19:58 | ||
pmichaud | ah, and we can't find the .perl method on a non-existent object. | 19:59 | |
since { ; } doesn't actually return anything. | |||
Auzon | right. (do {;}).perl is enough | 20:00 | |
20:07
Alias_ joined
20:08
ruoso left
|
|||
Auzon | rakudo: say @(1,2) | 20:10 | |
p6eval | rakudo r28602 OUTPUT[12ā¤] | 20:11 | |
Auzon | rakudo: say 1,2 Z 3,4 | ||
p6eval | rakudo r28602 OUTPUT[132 4ā¤] | ||
Auzon | rakudo: say @(1,2 Z 3,4) | ||
p6eval | rakudo r28602 OUTPUT[132 4ā¤] | ||
Auzon | rakudo: say @((1,2) Z (3,4)) | ||
p6eval | rakudo r28602 OUTPUT[132 4ā¤] | ||
Auzon | rakudo: say @((1,2) Z (3,4)).perl | ||
p6eval | rakudo r28602 OUTPUT[[1, 3, [2, 4]]ā¤] | ||
Auzon | that's weird | ||
rakudo: ((1,2) Z (3,4)).perl.say | 20:12 | ||
p6eval | rakudo r28602 OUTPUT[[1, 3, [2, 4]]ā¤] | ||
20:13
lichtkind_ is now known as lichtkind
|
|||
Auzon | rkaudo: item(1,2).perl.say | 20:13 | |
rakudo: item(1,2).perl.say | |||
p6eval | rakudo r28606 OUTPUT[Could not find non-existent sub itemā¤current instr.: '_block11' pc 35 (EVAL_12:19)ā¤ | ||
20:13
ruoso joined
|
|||
Auzon | rakudo: item(1).perl.say | 20:13 | |
p6eval | rakudo r28606 OUTPUT[Could not find non-existent sub itemā¤current instr.: '_block11' pc 28 (EVAL_12:17)ā¤ | ||
Auzon | rakudo: $(1).say | 20:16 | |
p6eval | rakudo r28606 OUTPUT[1ā¤] | ||
Auzon | rakudo: $(1,2).say | ||
p6eval | rakudo r28606 OUTPUT[1 2ā¤] | ||
Auzon | There might be some low hanging fruit with getting item() working here. | 20:17 | |
20:19
lichtkind left
|
|||
Auzon | rakudo: say @@ 1 | 20:25 | |
p6eval | rakudo r28607 OUTPUT[Statement not terminated properly at line 1, near "@@ 1"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | ||
Auzon | rakudo: say @@(1) | ||
p6eval | rakudo r28607 OUTPUT[Statement not terminated properly at line 1, near "@@(1)"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | ||
pmichaud | there's a problem with ZIP. | 20:26 | |
getting item() to work should be no problem. | |||
Auzon | rakudo: list(1,2 X 3,4).perl | 20:27 | |
p6eval | rakudo r28607 RESULT["[1, 3, 1, 4, 2, 3, [2, 4]]"] | ||
pmichaud | same with X | ||
I don't know who implemented those, but they're seriously broken. | |||
Auzon | I'll fudge them, then. Presumably, Rakudo will be able to run the new file I'm making | 20:28 | |
rakudo: say (% 1,2).perl | 20:31 | ||
p6eval | rakudo r28608 OUTPUT[Statement not terminated properly at line 1, near "(% 1,2).pe"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | ||
Auzon | rakudo: say (%(1,2)).perl | ||
p6eval | rakudo r28608 OUTPUT[{"1" => 2}ā¤] | ||
Auzon | rakudo: say (hash(1,2)).perl | ||
p6eval | rakudo r28608 OUTPUT[{"1" => 2}ā¤] | ||
pmichaud | I'm a little surprised that %(1,2) worked. :-) | 20:32 | |
Auzon | Me too. | ||
20:32
smokemachine left
|
|||
pmichaud | rakudo: say %(1,2).WHAT; | 20:32 | |
p6eval | rakudo r28608 OUTPUT[Hashā¤] | ||
Auzon | I am finding quite a few things that are untested that work in Rakudo, which is always nice | ||
pmichaud | what should item() return? | 20:33 | |
Auzon | item() and $() should be exactly the same. | ||
pmichaud | so item() would return $/.item() ? | 20:34 | |
that seems, weird. | |||
by that argument list() and @() should be the same, so list() should return $/.list ? | |||
Auzon | "To force a non-flattening item context, use the "item" operator." | ||
pmichaud | oh, so item is really prefix:item, then? | 20:35 | |
Auzon | Yeah, sorry, I just had to keep parens for proper precedence in my tests | ||
I think it's prefix anyway. | |||
20:36
jhorwitz joined
|
|||
pmichaud | item $a, $b would be the same as item($a), $b and not item($a,$b) then? | 20:36 | |
Auzon | scroll down until you see 'the item contextualizer' : perlcabal.org/syn/S03.html#List_pre...precedence | ||
lambdabot | Title: S03 | ||
Auzon | the 'Sigils as contextualizer listops' section is also good | 20:37 | |
pmichaud | yes, but we also have in S05: $() is a shorthand for $($/). | 20:38 | |
and | |||
Use @() as a shorthand for @($/) to flatten the positional captures under list context. | |||
so I'm pretty sure that list() is not _exactly_ equivalent to @() | |||
(although list(...) would be equivalent to @(...) ) | 20:39 | ||
Auzon | S03 says that the item contextualizer is 'equivalent to $()' | ||
pmichaud | I know that. | ||
I'm saying that S03 is likely imprecise there. | |||
because S03 also says that list() is equivalent to @() | 20:40 | ||
Auzon | Oh, ok. | ||
pmichaud | and S05 says that @() is a shorthand for @($/) | ||
which would mean that list() is a shorthand for @($/) | |||
and I'm pretty sure that's not what is intended. | |||
(and leaves unanswered the question of "what should item() return?") | 20:42 | ||
I'm going to guess that item() returns an empty Array for now. | 20:44 | ||
Auzon | Sounds just as good as anything else. | 20:45 | |
20:46
rindolf joined
|
|||
rindolf | Hello good people! Fine Sabbath to you. | 20:46 | |
Auzon | Hi rindolf. | ||
rindolf | Hi Auzon | 20:47 | |
pmichaud | $ ./parrot perl6.pbc | ||
> say item(3).WHAT; | |||
Int | |||
> say item(3,4).WHAT; | |||
Array | |||
lambdabot | Parse error at ";" (column 17) | ||
Parse error at ";" (column 19) | |||
pmichaud | > say item().WHAT; | ||
lambdabot | Parse error at ";" (column 16) | ||
pmichaud | Array | ||
> | |||
Auzon: shall I send a message to p6l for clarification of list(), item(), etc.? | 20:49 | ||
Auzon | That'd be nice | 20:52 | |
rakudo: hash(1).perl.say | 20:54 | ||
p6eval | rakudo r28610 OUTPUT[Odd number of elements found where hash expectedā¤current instr.: 'parrot;List;hash' pc 2120 (src/gen_builtins.pir:1553)ā¤ | ||
pmichaud | can't create a hash from a list of one element. | ||
pugs: hash(1).perl.say | |||
p6eval | OUTPUT[*** Odd number of elements found where hash expected: VList [VInt 1]ā¤ at /tmp/FT0j0JEEK5 line 1, column 1 - line 2, column 1ā¤] | ||
Auzon | Right, that's what I'm testing | 20:55 | |
pmichaud | okay. :-) | ||
20:57
alanhaggai__ left
|
|||
Auzon | rakudo: (@ 1).WHAT.say | 20:58 | |
p6eval | rakudo r28610 OUTPUT[Syntax error at line 1, near "(@ 1).WHAT"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | ||
pmichaud | rakudo doesn't know prefix:@ yet. | ||
Auzon | rakudo: (@ 1,2).WHAT.say | ||
p6eval | rakudo r28610 OUTPUT[Syntax error at line 1, near "(@ 1,2).WH"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤ | ||
Auzon | rakudo: (@(1,2)).WHAT.say | 20:59 | |
p6eval | rakudo r28610 OUTPUT[Listā¤] | ||
Auzon | It should work either way, from what I can tell | ||
pmichaud | prefix:<@> is parsed differently from circumfix:<@( )> | 21:00 | |
oops | 21:02 | ||
it's term:sigil | |||
21:02
rindolf left
|
|||
pmichaud | still, they're parsed differently. :-) | 21:02 | |
(which is why rakudo supports one and not the other thus far :-) | 21:03 | ||
Auzon | How hard is it to support the other version? Is it just a matter of adding a rule somewhere, or is it more complicated than that? | 21:04 | |
rakudo_svn | r28611 | pmichaud++ | [rakudo]: | ||
r28611 | pmichaud++ | * Fix trailing space problem in src/parser/actions.pm . | |||
pmichaud | at the moment it's a little more complicated, because it's a little difficult to get term:<something> parsing correctly. | ||
that's one of my "planned to do this weekend" items. | |||
Auzon | Why is @(values) parsed as a circumfix instead of a term:sigil in front of some parenthesized values? | 21:05 | |
rakudo_svn | r28612 | pmichaud++ | [rakudo]: | ||
r28612 | pmichaud++ | * Add item() function. | |||
diakopter | pmurias++ # making the yap6 parser combinators even more lazily created | ||
pmichaud | I don't know the reason off-hand, but I'm sure there probably is one. | 21:06 | |
afk # lunch | 21:08 | ||
Auzon | Thanks for item by the way. | ||
21:21
Alias__ joined
21:22
Alias_ left
|
|||
diakopter | rakudo: sub say { undef.say }; say(); | 21:36 | |
p6eval | rakudo r28612 OUTPUT[[oops; continuation 0xb76b03e0 of type 21 is trying to jump from runloop 1429 to runloop 98]ā¤[oops; continuation 0xb76b09c8 of type 21 is trying to jump from runloop 1429 to runloop 98]ā¤[oops; continuation 0xb76b0fb0 of type 21 is trying to jump from runloop 1429 to runloop | ||
..98]ā¤[... | |||
diakopter guffaws, but only briefly | |||
21:37
Alias__ left
21:38
Jedai left
|
|||
diakopter | omg | 21:40 | |
rakudo: my $a = sub { 3.say }; $a(); | 21:48 | ||
p6eval | rakudo r28615 OUTPUT[3ā¤] | ||
22:07
simcop2387 left,
simcop2387 joined
22:09
simcop2387 left,
simcop2387 joined
|
|||
pmichaud | pugs: sub foo {}; say foo().WHAT; | 22:16 | |
p6eval | OUTPUT[Scalarā¤] | ||
pugs_svnbot | r20933 | diakopter++ | [yap6] generalized the lambda-rule parser combinator generator, so lrule is now just rule. speedups ensue. | ||
r20933 | diakopter++ | Any rule can now serve as a meta-rule constructor, which paves the way for token() & regex() rule generators... | |||
diakopter | note this hilarity... ;) no warnings qw{ reserved closure recursion }; | 22:17 | |
wait, sorry, it's no warnings qw{ reserved closure recursion prototype }; | |||
to explain line 2 of that commit message... | 22:19 | ||
your components of a :ratchet (match a.m.a.p.) pattern or a regex pattern would be passed into the regex() constructor, which takes the component rules as parameters and applies the appropriate whitespace or chaining rules. | 22:23 | ||
TimToady: any thoughts on this idea of a rule template? | 22:24 | ||
22:25
iblechbot left
|
|||
diakopter | another application of this abstraction would be the creation of sublanguages, such as quoted spans. the items that behave differently in quote context would be the only items needing to be substituted in the patterns in which they appear... the rest of the rules can remain as-is. Another application would be the detection of a balanced *something* within a single pattern, which would serve as a good replacement/equivalent for backreferences. | 22:27 | |
22:28
meppl left
|
|||
diakopter | ..and for parametrized n-ary pattern constructors, you just add 'shift;' at the front of the rule if you don't want it to be head-call... | 22:32 | |
(and use map({something},@_) | |||
) | |||
22:35
meppl joined
|
|||
rakudo_svn | r28616 | pmichaud++ | [rakudo]: | 22:39 | |
r28616 | pmichaud++ | * Update rakudo's grammar with various changes to STD.pm . | |||
22:53
simcop2387 left
22:54
simcop2387 joined
|
|||
diakopter | .oO( ...another application of the parametric/templated patterns would be the opp/expression engine. Each precedence layer would be represented as a parametric pattern (for each shape/symbol), with the argument placeholders representing the next layer down... and then if someone wants to insert another layer, the declarative op table is merely regenerated from the new list, without any funny business necessary. If that style of operator precedence ... |
23:02 | |
... turns out to be too inefficient, then it wouldn't be as helpful.... ) | 23:03 | ||
23:07
hanekomu_ joined
|
|||
pugs_svnbot | r20934 | cjfields++ | Add more tests, latest RT patch passes all but tr/// | 23:14 | |
23:18
hanekomu left,
cjfields joined
|
|||
pmichaud | diakopter: fwiw, when writing PGE I was personally very surprised at how much more efficient an operator precedence parser is compared to rec-descent, even for a small number (6) of precedence levels. | 23:31 | |
the parser for p6 regexes was originally rec-descent, but I switched it over to opp after seeing how slow rec-descent was. | |||
diakopter | pmichaud: did you use a precedence climbing algorithm or shunt-yard | ||
pmichaud | for the opp? | 23:32 | |
diakopter | ye | ||
s | |||
pmichaud | I don't know the terms "precedence climbing" versus "shunt-yard" | ||
it's a pretty standard shift/reduce bottom-up parser. | |||
diakopter | en.wikipedia.org/wiki/Operator-precedence_parser mentions the shunting-yard algorithm and your PGE, as well as has a footnote to the prec-climbing one | 23:33 | |
www.engr.mun.ca/~theo/Misc/exp_parsing.htm is the "climbing" one... | 23:35 | ||
lambdabot | Title: | ||
diakopter | I've been concerned that I can't elegantly shoehorn the shift-reduce one into this functional/combinator approach, so I was looking at alternatives | 23:36 | |
pmichaud | pge's opp is a shunting yard algorithm according to the exp_parsing.htm description. | 23:37 | |
diakopter | however, that wikipedia article needs work/clarification.... oh, okay.. that helps. | ||
thanks :) | |||
I assume circumfix precedence isn't really treated as its own precedence level, right? | 23:38 | ||
23:38
Eevee joined
|
|||
pmichaud | well, circumfix: is a syntactic category, not a precedence level | 23:39 | |
but it tends to occur on or about the same level as "term" | |||
diakopter | ok; that's what I thought.. oh, nm, I was misreading S03. /slapself | 23:40 | |
pmichaud: would the C source or the PIR?? source be easier for me to read if I can read C marginally better than PIR (zero)..? | 23:47 | ||
for PGE I mean | |||
23:48
hanekomu_ left
|
|||
diakopter | or is it written in PASM...? | 23:49 | |
pmichaud | PGE is written in PIR. | 23:52 | |
(which, in retrospect, writing PGE in PIR was far easier than trying to do it in C.) | 23:53 | ||
diakopter | I guess I could take a look at the source of Parse::Yapp | 23:54 | |
Limbic_Region rather likes Parse::Yapp but he has only used it for one toy project | 23:55 | ||
what I liked about it was that it handled both precedence and associativity out of the box with no need to eliminate left recursion | |||
which all 3 were problems that I needed for my toy project | |||
and P::RD sucked in those regards | 23:56 | ||
diakopter | Limbic_Region: my toy project solves all but the inefficient precedence part | ||
yet.. | |||
(you can express left associate operators in the natural way) | |||
Limbic_Region | diakopter - is your intention to make the parser part of the project for general use? | ||
diakopter | associative | ||
Limbic_Region: well, I've run into a theoretical snag | 23:57 | ||
you can't have both memoization and look-behind. | |||
and memoization is key to "Packrat" parsing | |||
so hrm | 23:58 | ||
now that I verbalized the problem, I see the solution | |||
Limbic_Region | diakopter - have you looked at the Earley Parsing algorithm? | 23:59 | |
diakopter | just have the memotable lookup be aware of when it's "in" a look-behind, probably by a global variable... and have it always redo the scan at that position for that pattern | ||
Limbic_Region: I read about it yesterday a bit |