Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-02-03

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:10 mncharity my impression is the parrot folks have been working to make t/ less monolithic.  does anyone know the details?
00:11 mncharity specifically, has anyone looked at "chunking" the tests?  ie, groveling over the files and determining which lines are needed for each test?
00:21 peepsalot jnthn, when was that FAQ originally written?
00:21 peepsalot and how much is perl 6 still changing?
00:24 peepsalot pmichaud, i added a comment to RT#39930 earlier today, regarding the smoke test being broken
00:25 peepsalot oops, semi-wrong-channel
00:25 Auzon left #perl6
00:26 peepsalot time for dinner.  afk
00:29 jnthn peepsalot: I think over a year ago. And, well, hard to say how much stuff is changing. Sometimes I think something won't change, and a good reason comes up to change it, etc.
00:29 jnthn Like the list assignment discussion earlier today.
00:29 * jnthn afk too, sleepz
00:29 zamolxes joined #perl6
00:54 meppl good night
01:06 stevan_ joined #perl6
01:30 jjore joined #perl6
01:45 mncharity re tests, it looks like t/spec is the development hotspot for the test suite.  (ah, so *that's* what fudge is:)
01:51 luqui joined #perl6
02:06 TimToady ah, so you found the README didja?
02:15 Connel joined #perl6
02:22 monomorph mncharity: earlier today, you wondered what keeps people from contributing to perl6
02:23 monomorph mncharity: i'm new to this channel, so i have an "outsider" perspective that might be interesting (maybe not)
02:23 monomorph mncharity: this is long, so i posted it on http://jottit.com/r3stt/
02:23 lambdabot Title: Perl6 Thoughts: Home
02:23 monomorph mncharity: perhaps at least food for discussion
02:33 Lion2 joined #perl6
02:36 mncharity re README, hmm, not ./README... t/spec/README ?    $ find .|grep -v svn|grep README|wc -l   #=> 134 ;)
02:37 mncharity hmm, maybe there's a t/README... yes, but no mention.  so my guess is t/spec/README, right?
02:37 mncharity re food for discussion, nifty, looking...
02:50 mncharity Unmaintained websites - very much agree - big problem.
02:53 mncharity Thoughts on cause: "perl6 isn't a project". :)   Assorted related projects create stuff, which then lacking a core support team, then rots.  Perhaps an expectation of brokenness develops - eg, I didn't even try to figure out how to report http://svn.perl.org/perl6/ 's brokenness.
02:53 lambdabot Title: Revision 14497: /
02:54 aindilis joined #perl6
02:54 mncharity Thoughts on resolution: ... hmm, good question.  Searching around, and creating a wiki page summarizing the assorted brokenness, might help.  With the bug list concentrated like that, it might draw attention and peoples' time.
02:58 mncharity Unclear project boundaries.  Interesting.  It didn't strike me as odd until you mentioned it. :)   Thoughts on cause: perl doesn't have a centralized community _development_ site (repo, cia, etc).  So pugs and parrot both rolled their own.  Pugs being... ? most open? featureful? site of the first real test suite? encouragement of other p6 related projects? whatever,
02:59 mncharity ended up being the default p6 repo.  Moving t/spec off to a different repo would require recreating infrastructure.  Rather than say, if perl had a gforge, simply new-project'ing it.
03:00 mncharity Oh, and the move would lose the pugs development community (by losing their commit bits).
03:01 monomorph the actual url is not the issue IMO, but it's definitely non-obvious what on pugscode belongs to pugs and what doesn't
03:01 mncharity One could imagine a perl6 super-project on source forge, with parrot and pugs and spec projects within it, sharing access rights.  But, didn't happen that way.
03:03 mncharity ah, ok.  yes.  pugscode is now perhaps now an approximation of "most perl 6 stuff, aside from parrot, and the mailing-lists".
03:03 mncharity which would be a useful thing to say somewhere. :)
03:05 mncharity I'm afraid shifting around directories to reflect that, eg, putting pugs off in a subdirectory, would break things.  And tuits are a bit short to clean up after it.  But better README's seem a good and tractable goal. :)
03:07 mncharity Parsing Perl6 requires Perl6.  STD.pm is a bit complex.  But then, so is p6.  I am unclear on it's status.  My impression is it's simply spec at this point.  Given the pain redsix had trying to cope before it existed, I'm delighted that it's there.  Even if I kind of expect if I end up doing something which needs it, a bunch of massage will be needed.
03:08 mncharity But yes, it's not casual reading. :)
03:09 monomorph i see. but again, it's right inside the pugs source, and there's no document anywhere (that i could find...) to explain its purpose
03:10 mncharity Over-ambition.  Hmm.  The specific example I'm not sure is correct.  The backends were spun off, at least originally, because they were easy.  And while the percent of attention they got, vs Pugs haskell development, increased in time, I'm not sure to what extent that was cause, or effect.
03:10 monomorph in fact, my last three points may all be explained by me misunderstanding the project goals
03:11 mncharity s/effect/an effect of haskell development slowing down/
03:13 mncharity re project goals, interesting.  yeah, it might be nice to have something which captured those somewhere.  I was looking around earlier today for an svn heat map generator, so I could more easily see what people were spending time on.
03:15 mncharity finally, re bootstrapping, I think it's an artifact of the language was (and is) still evolving, and the language is quite complex.  Lua engineered for simplicity.  p6, very not so much.
03:15 mncharity (though the core can be much simpler than the surface)
03:17 mncharity So writing Lua in C was a no brainer.  Hmm, curiously, you might view parrot as an attempt to write p6 in C... well, sorta kinda not really.
03:19 mncharity monomorph: very neat.  might the observations be summarized as "it was hard to look for a big picture description of the Perl 6 project, and it turned out one didn't exist"?  or something like that?
03:20 monomorph i'm not sure if i understand the part about perl evolving... that makes bootstrapping harder, not easier
03:20 monomorph about complexity: i agree, lua and perl are very different beasts
03:22 mncharity re makes bootstrapping harder, I guess the idea is p6 complexity and size push you towards implementing non-core stuff in the language itself, and towards using as high-level a language as you can get (which then tends to blur into bootstrap).
03:22 monomorph mncharity: in a nutshell, yes. although i wonder if there's no description of the big picture because there *is* no big picture. if that makes any sense.
03:23 mncharity (I note, re non-core and high-level language, parrot took a very different approach)
03:24 Auzon joined #perl6
03:25 mncharity re *no* big picture, well, one necessarily exists, even if it's balkanized.  the 'two line summaries of everything' would have made you effort easier, no?
03:26 mncharity *your
03:27 Tene So, I could give a two-line summary of most parts of the Perl 6 effort.
03:27 Tene So could many people here.
03:27 mncharity the glossary might be tweaked in that direction?
03:27 Tene Where should that summary be posted such that it would solve that problem?
03:29 mncharity in the face of Unmaintained websites, it's not clear.   the current wiki?  pugs svn?  as long as it's written somewhere, folks could point to it.
03:29 mncharity one issue is how to keep it updated.
03:30 mncharity but yeah, given a browsing user, I don't know how to get it to them before they hit #perl6.
03:30 mncharity which rather suggests any website updating should emphasize #perl6, to age better.
03:33 mncharity Tene: re two lines, if the first line is what it is, and the second line is status, I could give one-line summaries for lots of things, but few two-line summaries.
03:35 mncharity What is kp6-perl5 blocked on in core p5 and cpan module bugs?   What can and can't one do with STD.pm?  How far did the pugs hs new ast/compiler changes get?  What if anything about pil2js is rotted?
03:37 mncharity How close is kp6 to being bootstrap-able?  Do we have any idea what it would take to update pugs to current versions of ghc?  What, briefly, can/can't PCR currently do?'
03:38 mncharity ok, starting to get to more than two lines there.
03:39 mncharity but lots of basic questions.  pugs seems to be passing fewer tests than it used to.  is that just because the language and test suite has been evolving, or is there some rot in pugs itself?
03:40 mncharity what are the two lines on Moose?  how close is it to the current vision/spec of p6 oo?
03:41 mncharity but perhaps all that is more like a paragraph each, rather than two lines each.
03:43 mncharity Is parrot running against the pugs t/ ?  How much is passing?
03:46 mncharity same question for pugs, pugs alternate backends, kp6, mp6, redsix.
03:49 obra getting all these questions on the wiki where folks can edit in answers would probably be very useful
03:49 obra (and then a note to p6c and p6l encouraging people to actually do the filling in ;)
03:50 Tene Is there now a wiki that is considered authoratative for Perl 6?
03:51 obra http://www.perlfoundation.org/perl6/index.cgi is likely reasonable
03:51 lambdabot Title: Perl 6 / Perl 6
03:53 mncharity http://www.perlfoundation.org/perl6/index.cgi claims officialness.  it's unfortunately a socialtext wiki.  There's also PerlNet.  http://perl.net.au/wiki/Perl_6
03:53 lambdabot Title: Perl 6 / Perl 6
03:56 mncharity so yes, but if you used to mediawiki, well, it's a much simpler data model.  so, for instance, in the absence of discussion/Talk pages, it's hard to calibrate collaboration.
03:56 monomorph almost 5am here, i'll finally go to bed. thanks for the discussion, a few things are clearer now
03:57 mncharity monomorph: thanks for your work, and the resulting discussion! :)
04:00 mncharity I note www.perlfoundation.org/perl6/ points into the ~year out of date svn.perl.org.
04:01 obra ...it is a wiki, no?
04:01 mncharity or maybe not.  parrot.  r25454?
04:06 obra parrot and the specs are still canonically in svn.perl.org
04:06 mncharity ah, great.
04:06 mncharity "perl6 is currently in the Parrot repository in languages/perl6/, but needs to become its own repository." ?!?
04:06 stevan_ mncharity: hey :)
04:06 mncharity http://www.perlfoundation.org/perl​6/index.cgi?development_dashboard
04:06 lambdabot Title: Development Dashboard / Perl 6, http://tinyurl.com/276go6
04:06 mncharity hey steven_! :)
04:06 obra that means rakudo
04:06 obra Rakudo was called 'perl6' until recently
04:06 stevan_ mncharity: Moose is not directly tracking the p6 OO spec,.. but I every once in a while I do review it and try and keep us heading the same general direction
04:06 stevan_ mncharity: also Moose is helping push some of the other p6-ish p5 based efforts such as Devel::Declare, Devel::BeginLift, B::Simple and others
04:09 sanxiyn joined #perl6
04:10 stevan_ mncharity: and mst is been hanging out over on p5p a lot too... so I wouldnt be suprised if some of these efforts end up in 5.12 too
04:12 obra well, mst is a p5 person more than a p6 person ;)
04:12 mncharity neat.  :)  what are the most important current objectives and challenges?
04:14 mncharity re spec, does Moose have the same "a class is an undef instance of itself" kind of flavor, or is it more p5-like with a strong class/instance distinction?
04:15 stevan_ obra: he is one of the bridge folk :) we who stand between the two (sorry watching LoTR with my daughter)
04:15 stevan_ mncharity: it has the same p5 class/instance distinction
04:15 mncharity oh, np.  just curious.  another time perhaps.
04:16 mncharity k
04:16 stevan_ there is a point where I cant do it in pure perl
04:16 stevan_ without crazy autoload hacks, etc
04:16 stevan_ so thats where mst has been coming in (Devel::Declare, etc)
04:17 stevan_ B::Simple is basically LISPish macros that operate on the p5 opcode level
04:17 mncharity http://search.cpan.org/~mstrout/Devel-​Declare-0.001006/lib/Devel/Declare.pm
04:17 lambdabot Title: Devel::Declare - - search.cpan.org, http://tinyurl.com/2gk6zd
04:18 stevan_ yeah look at the tests... the docs are crap
04:18 stevan_ http://search.cpan.org/~mstrout/​Devel-Declare-0.001006/MANIFEST
04:18 lambdabot Title: The CPAN Search Site - search.cpan.org
04:19 mncharity hmm, i'm not getting a cpan hit on B::Simple
04:21 mncharity http://www.faqs.org/docs/perl5int/x1854.html  B/Simple
04:24 japhb joined #perl6
04:26 orafu joined #perl6
04:29 mncharity obra:  re questions->wiki, email->p6c|p6l, ... volunteers welcome.  I'm afraid it's too non-Ofun with too low a "do it anyway, it's critical" payoff for me.
04:32 obra k
04:33 simcop2387 joined #perl6
04:36 mncharity TimToady: re t/spec, it might be helpful if one could easily break the .t files into fragments which could be run separately.  so an implementation could use the tests without having to do a lot of test file editing.  or at least many of the tests.
04:37 Auzon Well, the tests can be marked to skip for a certain implementation...
04:37 pbuetow joined #perl6
04:37 obra mncharity: how much have you read up on fudge?
04:38 mncharity indeed.  but if, for instance, the tests guarenteed that any state which affected a test was within a surrounding block, then one could automagically break up the test files, run the tests independently, and not have to worry about maintaining a set of skip/eval/etc tags.
04:39 mncharity re read up on fudge, skimmed only.
04:39 Auzon well, then you're maintaining a list of which tasks to execute somewhere...
04:40 obra It's my understanding that fudge is timtoady's solution to the problem you're describing
04:40 obra I may well be wrong, though ;)
04:42 mncharity re solution, yes, but it's the same approach of pugs.  tagged tests, and no information on whether those tests depend on other parts of the file (decls, mutation in other tests, etc).
04:43 mncharity which is ok.  but since the tests are being touched anyway, it might be nice to add additional nature-of-the-test tagging to permit use without editing the files.
04:44 literal joined #perl6
04:45 mncharity re "you're maintaining a list of which tasks to execute somewhere", maybe, at least for regression testing, but it means everyone with a p6 implementation or mutant doesn't need to be banging on the spec .t files.
04:49 sanxiyn mncharity: You want test inclusion/exclusion list maintained outside of test file itself?
04:49 mncharity that said, it's not clear to me whether there's a nice way to do it.  without going for a perhaps painfully more verbose  '(test jig / optional setup / tests... )+" approach.
04:51 mncharity sanxiyn: I'm picturing being able to mechanically grovel over t/spec, and run the tests independently.  so instead of "test file" being the unavoidable unit of test running, it's instead "cluster of tests which can't be run separately".
04:52 mncharity ideally it would be nice to have full dependencies.  so you know test1 and test2 depend on the preceding decl, but not on each other.
04:53 mncharity but each step down that path can make the spec less readable, less maintainable.
04:54 mncharity so I'm wondering if there might be a low-hanging fruit around.  like saying top level blocks in the test files are independent of the rest of the file.
04:54 mncharity the one could go through the files, yank each top level block, and run it separately.
04:55 sanxiyn You want setup/teardown?
04:55 alester joined #perl6
04:56 mncharity that would do it.
04:56 literal left #perl6
04:56 mncharity as long as the clarity cost wasn't too high.
04:59 mncharity people with mutants can always make their own copy of t/spec, to avoid having to edit the master.  so perhaps it's not a big deal.  it's just been on the pugs t/ wish list since forever, for a t/ rev 2, and t/spec seemed to have some t/ rev 2-ness to it, so I thought I reraise the issue for consideration.
05:02 mncharity I was also thinking earlier today, "how might one set up a test-driven-development hackathon to create a p6 implementation?".  to which an immediate response is one wants test rather than file level failure granularity.  (the one bit of file you can't handle failing the entire, or rest of, the file).
05:03 mncharity a test suite one could set up at the beginning.  I suppose one could go through and tag all tests, and all declarations, EVAL or some such.  but... not a pretty approach to TDD.
05:05 mncharity hmm, my decls are local to eval() blocks.  otherwise automagically wrapping every single statement in an eval might be a solution.
05:08 mncharity perhaps it's just an observation that new implementations should build fault tolerance into their parsers, compilers and runtimes.
05:08 mncharity though the difficulty in doing that is what motivated tagging to start with.
05:12 mncharity rather than actual blocks of related tests, perhaps one could just use comments.  #cluster{  ...setup...  #tests  ...tests... #cluster}
05:13 mncharity with a default that otherwise, the tests are independent.  or something...
05:14 manfred joined #perl6
05:14 mncharity #{ ... setup ... ...first-test-terminates-setup...tests... #}
05:14 sanxiyn IMO, tests should be independent.
05:19 mncharity "tests in ...tests... are independent, and can be run on a fresh copy of ...setup..., unless bracketed together with #( ... #) " ?
05:25 mncharity use v6; #{ my $x;  #{ $x = 3;  is($x,3);  #( is(++$x,3); is($x,4); #) is($x+2,5) #}  #{ my @a;  $x = +@a;  is($x,0); #}}
05:27 mncharity err, no: is($x++,3)
05:30 mncharity hmm.  though that set of tests _depends_ on tests being independent.  which would be a non-trivial departure from the current style.  the #mumbles are no longer simply comments.  so...
05:33 mncharity perhaps just tag the #{ #} with whether the enclosed tests are independent or not.   #{i vs #{ ?  tests in #{i being declared to be sideeffect-free.  or at least not to depend on each others sideeffects. ?
05:34 mncharity re _depends_, ie, $x went from 4 to 3 just because a #) was passed.  which seems a no-no.
05:35 Connel joined #perl6
05:40 mncharity so, calling them #{i and #{d for in/dependent enclosed tests, the story might be "test files can be decomposed into independent tests, and #{d clusters of tests, all with associated setup".
05:41 mncharity anyway.  maybe something to consider.
05:41 mncharity end of day.  g'night all. &
05:43 sanxiyn bye
05:49 jordilin joined #perl6
06:21 justatheory joined #perl6
06:28 Auzon joined #perl6
06:39 thestarslookdown joined #perl6
06:42 _newbie_ joined #perl6
07:01 kanru joined #perl6
07:02 peepsalot are negative indices supported in slices?  @a[0..-2] for example could get everything but the last element?
07:20 Conne1 joined #perl6
07:38 devogon joined #perl6
07:44 peepsalot pugs: %*ENV
07:44 exp_evalbot RESULT[\undef]
07:46 peepsalot pugs: my $a = 123; %*MY;
07:46 exp_evalbot RESULT[{}]
07:46 peepsalot pugs: my $a = 123; %*MY
07:46 exp_evalbot RESULT[{}]
07:47 peepsalot this page talks about symbol tables, http://search.cpan.org/dist/Perl6-Doc/lib​/Perl6/Doc/Overview.pod#Variable_scoping but I don't understand how you access them
07:47 lambdabot Title: Perl6::Overview -- a brief introduction and overview of Perl 6 - search.cpan.org, http://tinyurl.com/2ez6gj
07:48 peepsalot i was able to access %*ENV in pugs on my local machine, but not the other ones?
07:49 peepsalot ugh, why do i keep ending statements with question marks.  past my bed time
07:49 Auzon This one is running in a safe compartment or something of the sort
07:49 Auzon e.g.
07:49 Auzon pugs: sleep
07:49 exp_evalbot OUTPUT[*** ␤    Unexpected end of input␤    at /tmp/jJMHcch0Cp line 2, column 1␤]
07:49 Auzon pugs: sleep 1;
07:49 exp_evalbot OUTPUT[*** Unsafe function 'sleep' called under safe mode␤    at /tmp/wZpsMmsxFY line 1, column 1-8␤]
07:50 peepsalot Auzon, ok, i can understand that %*ENV might not be good to display here, but what about all the other symbol tables?  MY OUR GLOBAL etc. ?
07:51 Auzon No idea.
07:51 peepsalot I can't figure out how to show them in my own pugs terminal
07:51 peepsalot should they theoretically be accessed in the same way?  with %* ?
07:52 Auzon pugs:%::
07:52 Auzon pugs: %::
07:52 exp_evalbot OUTPUT[*** ␤    Unexpected end of input␤    expecting "(", "!", "/", twigil or word character␤    at /tmp/rtv3cEDYKK line 1, column 4␤]
07:52 Auzon pugs: %*::
07:52 exp_evalbot OUTPUT[*** ␤    Unexpected "*::"␤    expecting "::"␤    at /tmp/tSNfUrWz7Y line 1, column 2␤]
07:52 Auzon pugs: %::*
07:52 exp_evalbot OUTPUT[*** ␤    Unexpected end of input␤    expecting word character␤    at /tmp/jx3ZuTIbno line 1, column 5␤]
07:53 Auzon Hm. There's somewhere to get it, or there should be
07:57 TimToady peepsalot: see S09:619 "Negative and differential subscripts"
08:01 peepsalot TimToady, where do I find that?  i'm new to all this
08:02 peepsalot nevermind, i found it
08:03 peepsalot ugh, was looking in s06 instead of s09
08:03 * peepsalot smacks head
08:03 Aankhen`` joined #perl6
08:03 peepsalot will read tomorrow, it's getting too late for me to function
08:06 TimToady anyway, you'll write @a[0..*-2] for that
08:07 TimToady (not implemented yet, btw)
08:07 TimToady so you'll still see a lot of @a[-1] that will eventually be @a[*-1]
08:08 Auzon What does the star signify?
08:09 TimToady * is a term that is of type Whatever, and it is intentionally context dependent
08:09 TimToady the operator that receives a * gets to decide what it means
08:09 Auzon So it's a DWIM operator?
08:09 TimToady so an infinite range is just 0..* for instance
08:10 TimToady essentially, as long as you mean what most people would mean by * in that situation :)
08:10 Auzon Fair enough.
08:11 Auzon so what should @a[-1] do? throw an error?
08:11 TimToady turns out to be useful all over the place
08:11 TimToady yes
08:11 Auzon Thank you. :) I've been bitten in Perl 5 by $arr[$index] when $index is below 0
08:12 TimToady well, we're trying to fix everything wrong with Perl 5 and then some... :)
08:13 Auzon Yeah. I cannot wait to start using Perl 6 in my freetime project. :)
08:13 TimToady unfortunetly Perl 6 is my freetime project :/
08:14 Auzon No one wants to pay you to work on Perl 6? That's unfortunate :(
08:15 TimToady I wish people could send back a little money from the future for that, but that doesn't seem to work
08:17 TimToady course, maybe that means we've made money obsolete in the future :)
08:18 Auzon I don't know if that'd be good or not. Too much to think about at this time of night...
08:19 TimToady yeah, I'm waiting for my antihistamine to hit so I can sleep...
08:20 TimToady and thinking more about possible list assignment operators
08:22 Auzon Where are captures defined in the spec?
08:23 Auzon ah, I see something now
08:26 TimToady well, sort of all over the place, S02, S03, S04, S06
08:26 Auzon or this: http://svn.pugscode.org/pugs​/docs/Perl6/FAQ/Capture.pod
08:28 Aankh|Clone joined #perl6
09:08 iblechbot joined #perl6
09:31 blindfish joined #perl6
09:34 drrho joined #perl6
09:53 meppl joined #perl6
10:05 IllvilJa joined #perl6
10:07 rindolf joined #perl6
10:14 ispy_ left #perl6
10:16 barney joined #perl6
10:27 rakudo_svn r25461 | bernhard++ | [Rakudo]
10:27 rakudo_svn r25461 | bernhard++ | Clean up perl6.o
10:39 ruoso joined #perl6
10:46 Aankh|Clone joined #perl6
11:04 chris2 joined #perl6
11:05 rakudo_svn r25462 | bernhard++ | [Rakudo]
11:05 rakudo_svn r25462 | bernhard++ | Fiddle with perl6/Makefile.
11:05 rakudo_svn r25462 | bernhard++ | - Use make variable $(EXE)
11:05 rakudo_svn r25462 | bernhard++ | - Remove setup of unused commands
11:05 rakudo_svn r25462 | bernhard++ | - Let 'make help' tell about the targets 'perl6' and 'xmas'.
11:05 rakudo_svn r25462 | bernhard++ | - Use $(RM_F) instead of $(RM_RF).
11:43 riffraff joined #perl6
11:45 riffraff hi
12:08 jferrero joined #perl6
12:11 monomorph joined #perl6
12:13 pdy joined #perl6
12:14 pdy hi
12:45 pugs_svn r19796 | ruoso++ | [smop] Most of the memory leaks are solved... ALL TESTS PASSING :)
12:46 cognominal_ joined #perl6
13:20 manfred joined #perl6
13:56 DarkWolf84 joined #perl6
13:58 wilx joined #perl6
14:12 rakudo_svn r25464 | coke++ | [rakudo]
14:12 rakudo_svn r25464 | coke++ |
14:12 rakudo_svn r25464 | coke++ | Spelling fix; minor output consistentifcation.
14:27 rff_ joined #perl6
14:33 drrho joined #perl6
15:44 alester joined #perl6
16:08 Psyche^ joined #perl6
16:10 meppl joined #perl6
16:11 marmic joined #perl6
16:13 chris2 joined #perl6
16:19 peepsalot TimToady, so, this perl6 doc has some misinformation about arrays then?  I guess that's the perl 5 way of donig things, not perl 6.
16:19 peepsalot http://search.cpan.org/dist/Perl6-Doc/lib​/Perl6/Doc/Overview.pod#Variable_scoping
16:20 peepsalot er, its closer to this part of the page http://search.cpan.org/dist/Perl6-Doc/lib/​Perl6/Doc/Overview.pod#Perl_variable_types under arrays of course
16:21 peepsalot should I not be reading this perl 6 doc?
16:22 penk joined #perl6
16:27 lambdabot joined #perl6
16:31 rakudo_svn r25472 | jonathan++ | [rakudo] Allow classes whose last declaration is an attribute to compile.
16:37 penk joined #perl6
16:45 pbuetow joined #perl6
16:52 rakudo_svn r25473 | jonathan++ | [rakudo] Have the new method on objects initialize the attributes to Undef or the supplied value. Note we aren't passing named parameters yet, so can't really use that bit. It does, however, let us mutate attributes through the accessor (we're always is rw by default at the
16:52 rakudo_svn ..moment, though that will change).
16:53 barney joined #perl6
17:01 meppel-san joined #perl6
17:12 pmurias joined #perl6
17:22 schmalbe joined #perl6
17:28 pugs_svn r19797 | cosimo++ | [t/spec] Minor fixes to S16 tests (pod + fudgify)
17:42 TimToady peepsalot: the Overview directory is not canonical, and can get out of date with respect to the synopses, as it is in this case on negative subscripts.
17:47 peepsalot ok
17:53 thoughtpolice joined #perl6
17:55 pcbuetow joined #perl6
17:57 pugs_svn r19798 | lwall++ | Added "self" for jonathan++
18:16 pmurias ruoso: how will s1mp look like?
18:34 icwiener joined #perl6
18:42 rakudo_svn r25477 | jonathan++ | [rakudo] Implement self. Note that we can't make it a term yet, where it belongs, so it's a noun for now.
18:43 ruoso pmurias, s1p looks like Perl 6... but it is translated to smop C runtime + sm0p code...
18:44 ruoso it doesn't have namespaces, so everything should resolve to the smop C runtime names...
18:44 ruoso it doesn't have lexical scopes also, which means that variables should be compiled to sm0p operations
18:45 ruoso http://www.perlfoundation.org/perl6/index.​cgi?smop_inter_continuation_communication
18:45 lambdabot Title: SMOP Inter Continuation Communication / Perl 6, http://tinyurl.com/yuqcgm
18:45 ruoso that is how one sm0p frame can communicate with another to pass the values that transcend the frames.
18:46 ruoso s1p will already be completely stackless, that's why all its code is sm0p  based
18:47 ruoso after I finish the stage0 details (memleaks), we'll implement p6opaque which is the default responder interface for Perl 6 objects
18:47 ruoso s1p will already be a KP6 backend, just not the final one...
18:50 jordilin joined #perl6
18:51 riffraff joined #perl6
18:53 pmurias ruoso: i see
19:01 pmurias ruoso: s1p will feed source code into the kp6 the ususal way rather than via q:s1p {...} right?
19:15 peepsalot is this class Marker ... example correct? http://www.oreillynet.com/onlamp/blog/2007​/09/yap6_operator_repeat_operators_1.html
19:15 lambdabot Title: YAP6 Operator: Repeat Operators - O'Reilly ONLamp Blog, http://tinyurl.com/2jzu42
19:16 * moritz_ looks
19:16 moritz_ it should, yes
19:16 peepsalot i guess I just don't undertand the method declaration, and how it knows the way to convert to string
19:17 peepsalot it doesn't seem to run correctly in pugs in my terminal
19:17 moritz_ when you have a method with name $type, it is used to convert to that $type
19:17 moritz_ ah, pugs isn't very up to date
19:18 peepsalot ok
19:18 moritz_ class A { method Num { 1 } }; my $a = A.new; say $a + 1; # should print 2
19:19 peepsalot pugs: class A { method Num { 1 } }; my $a = A.new; say $a + 1;
19:19 exp_evalbot OUTPUT[*** Cannot cast from VObject (MkObject {objType = (mkType "A"), objAttrs = <Hash:0xb714e378>, objOpaque = Nothing, objId = MkObjectId {unObjectId = 3}}) to Double (VNum)␤    at /tmp/AEgbJxf10x line 1, column 50-56␤]
19:19 peepsalot heh
19:20 moritz_ that feature was introduced to the specs after audrey got sick
19:20 moritz_ and nobody cared to implement it since
19:20 peepsalot do you not need semicolons after method declarations?
19:21 avar joined #perl6
19:21 moritz_ no
19:22 moritz_ in general you don't need any semicolons after closing } that delimits a block
19:22 moritz_ in p5 you needed here one: my $a = sub { ... };
19:48 SamB joined #perl6
19:51 Limbic_Region joined #perl6
20:06 aindilis joined #perl6
20:08 TimToady more precisely, you don't need one after a line-ending }
20:08 TimToady you do if you put more on the same line
20:09 TimToady bbl &
20:27 peepsalot lol
20:27 peepsalot This synopsis summarizes Apocalypse 10, which discusses packages despite never having been written.
20:27 moritz_ ;)
20:32 sri_work joined #perl6
20:33 peepsalot is Order package?  (ex. Order::Decrease)
20:33 peepsalot s/Order/Order a/
20:36 peepsalot i'm trying to follow these micro articles, but I guess they assume knowledge of perl 5
20:36 peepsalot i don't know what is the difference (as far as perl 6 is concerned) between a package, module, class, etc
20:37 peepsalot was wondering if there's a list somewhere of builtin things like Order::
20:37 moritz_ a package is basically a namespaces
20:37 moritz_ classes introduces namespaces
20:37 moritz_ and modules do as well
20:39 peepsalot so what is Order ?
20:41 moritz_ in p5 namespaces are not hirarchical, so you could have Order::Decrease without having Order::
20:41 moritz_ I'm not sure how that's don in p6
20:42 ruoso pmurias, yeah... s1p is plain code to be compiled by kp6...
20:42 ruoso but still generating C code, or better, sm0p code...
20:43 peepsalot moritz_, is there a way to list all the global namespaces that are part of the language like that?
20:43 peepsalot or a page that lists them
20:44 moritz_ peepsalot: there will be, both
20:44 moritz_ but I don't think there is a way yet
20:44 peepsalot doh
20:44 moritz_ the most important builtins are summarized in S29 though
20:44 peepsalot ko
20:58 moritz_ TimToady: are you going to make the parse tree available trough a special variable?
20:59 moritz_ perhaps only on request, to avoid performance impact
21:01 chris2_ joined #perl6
21:06 jferrero joined #perl6
21:09 * pdy slaps moritz_ with a rubber band
21:10 TimToady well, if I don't make it available, someone else surely will  :)
21:10 moritz_ pdy: why that? that hurts!
21:10 moritz_ TimToady: I meant in terms of specs ;)
21:11 pdy moritz_: was looking for you this weekend till i found out that i can help myself via your website :-p
21:11 moritz_ pdy: ;)
21:11 moritz_ pdy: you don't have a different nick in #perlde by chance? ;-)
21:11 pdy sure, i am Leibsle there
21:11 moritz_ thought so
21:12 pdy :-)
21:12 pdy your log bot is really a good learning example
21:12 moritz_ thanks
21:13 peepsalot what website?
21:14 peepsalot ist auf deutsche?
21:14 * moritz_ assumes http://irclog.perlgeek.de/ or http://moritz.faui2k3.org/en/ilbot
21:14 lambdabot Title: IRC logs - Index
21:14 pdy yep, http://moritz.faui2k3.org/ i finally found when i followed the white rabbit in the channel topic
21:14 lambdabot Title: Moritz Lenz
21:15 pdy cause i failed to find the svn source
21:21 Khisanth joined #perl6
21:28 cosimo_ joined #perl6
21:34 Khisanth joined #perl6
21:43 alester joined #perl6
21:43 cosimo_ left #perl6
21:49 ruoso monomorph, about your post at http://jottit.com/r3stt/... the problem with trying to write a something simply in ANSI C is that Perl 6 features require a very rich runtime environment. While I don't completely agree with chromatic (in the sense that I do believe that it can be simpler than parrot), it's not simple as gcc *.c, just take a look in how smop is evolving and you can have a better understanding...
21:49 ruoso brb &
21:49 monomorph i stumbled upon smop after i wrote this
21:50 monomorph i don't yet understand what it does :)
21:51 monomorph but i agree with what mncharity said yesterday on that point, lua is unique in that the language is specifically engineered  to have a very simple implementation
22:07 kane__ joined #perl6
22:16 silug joined #perl6
22:29 wknight8111 joined #perl6
22:39 moritz_ is $foo[$a] the same as $foo.postcircumfix:<[ ]>($a) ?
22:51 alester joined #perl6
22:51 Torment joined #perl6
22:58 jferrero joined #perl6
23:13 alester joined #perl6
23:31 BinGOs joined #perl6
23:31 jferrero joined #perl6
23:36 ruoso monomorph, smop is an effort on doing Perl 6 the most pragmatic way I can possibly find out...
23:36 jeffreykegler joined #perl6
23:36 marmic joined #perl6
23:41 jeffreykegler TimToady (if you're there): you mentioned the other day that Perl 6 would be "deterministically parseable"
23:41 jeffreykegler I take you mean by that LR(k), or parseable by a deterministic PDA
23:42 jeffreykegler Another reading is that you mean "no rand() stuff in BEGIN blocks can affect the parse" -- a much weaker statement
23:43 jeffreykegler Correcting the above ...
23:43 jeffreykegler That is, you said that under certain circumstances Perl 6 would be "deterministically parseable"
23:44 jeffreykegler I think it was in the context of the tools discussion
23:51 TimToady I mean that Perl 6 is many languages, but we'll know exactly which one we're in at any moment
23:53 jeffreykegler So both the above readings are wrong
23:54 jeffreykegler In the parsing world "determinism" means a zillion different things
23:54 TimToady everyone keeps treating Perl 6 like it's a single language; it's really a metalanguage
23:54 TimToady well, I'm going for vigor, not rigor :)
23:54 jql I see perl6 as the language between the {} in the rules syntax
23:55 jeffreykegler In particular, then, my reading you're using the phrase in the Grune and Jacobs sense ...
23:55 jeffreykegler to mean LR(k) is just totally wrong
23:56 Tene "Wherever I go, there I am!"

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

Perl 6 | Reference Documentation | Rakudo