Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-09-05

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:00 sail0r joined #perl6
00:05 * ruoso needs a fresher brain to implement map... zZzZz
00:06 bacek joined #perl6
00:11 rjbs http://use.perl.org/~rjbs/journal/37357
00:11 lambdabot Title: Journal of rjbs (4671)
00:11 rjbs That's the entry I was asking questions in furtherance of.
00:12 avar joined #perl6
00:29 literal "[...] multiple language. In explaining some of the issues I have with Ruby, both the scope of scope and the resolution of methods."
00:29 literal is that supposed to say "scope of scope"?
00:29 literal and also, multiple languageS
00:31 justatheory joined #perl6
00:33 rjbs thanks :)
00:42 eternaleye joined #perl6
00:54 sri_work joined #perl6
01:04 wknight8111 joined #perl6
01:07 Lichtkind_ joined #perl6
01:18 sail0r joined #perl6
01:19 c9s joined #perl6
01:30 kanru joined #perl6
02:04 justatheory joined #perl6
02:12 [particle]1 joined #perl6
02:48 pugs_svn r22158 | s1n++ | [spec] updated bool to support the latest tests and Bool class.
02:56 s1n moritz_: go ahead and add S02-builtin_data_types/bool.t to the spectest_regression
03:03 elmex_ joined #perl6
03:04 penk joined #perl6
03:14 finchely joined #perl6
03:15 wknight8111 joined #perl6
03:29 hercynium_ joined #perl6
03:31 scrottie joined #perl6
03:36 xuser joined #perl6
03:37 meteorjay joined #perl6
03:57 Auzon joined #perl6
04:15 yahooooo joined #perl6
04:23 elmex_ joined #perl6
04:25 Psyche^ joined #perl6
05:07 elmex_ joined #perl6
05:24 zamolxes joined #perl6
05:27 Psyche^ joined #perl6
06:16 rakudo_svn r30772 | chromatic++ | [Rakudo] Improved caller lookup algorithm in !OUTER; it's slightly more clear
06:16 rakudo_svn r30772 | chromatic++ | this way.  It also appears to clean up RT #58578 (reported by Moritz Lenz).
06:16 rakudo_svn r30772 | chromatic++ | Neither Patrick nor I trust it completely though.
06:35 ashizawa joined #perl6
06:37 moritz_ rjbs: re use.perl.org, it's 'self', not '$self'
06:37 moritz_ rjbs: in the Perl 6 example
06:51 masak joined #perl6
07:01 BinGOs joined #perl6
07:05 enton joined #perl6
07:18 viklund joined #perl6
07:31 cosimo joined #perl6
07:32 rakudo_svn r30778 | duff++ | Make the expressions in a loop statement optional and refactor loop_statement
07:59 meppl joined #perl6
08:13 scrottie joined #perl6
08:14 Alias_ joined #perl6
08:30 jferrero joined #perl6
08:43 barney joined #perl6
09:18 ilbot2 joined #perl6
09:18 Topic for #perl6is now http://pugscode.org/ | nopaste: http://sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: http://irc.pugscode.org/
09:20 les joined #perl6
09:20 allbery_b joined #perl6
10:09 penk left #perl6
10:22 wknight8111 joined #perl6
10:36 dmq joined #perl6
11:04 barney joined #perl6
11:09 iblechbot joined #perl6
11:19 rjbs moritz_: thanks
11:35 Alias__ joined #perl6
12:12 alanhaggai joined #Perl6
12:34 Jedai joined #perl6
12:34 rakudo_svn r30785 | pmichaud++ | [rakudo]: spectest-progress.csv update: 157 files, 3129 passing tests
12:35 moritz_ http://rakudo.de/rakudo-progress-nonstacked.png that looks nice ;)
12:37 clintongormley joined #perl6
12:37 holli joined #perl6
12:37 clintongormley left #perl6
12:50 rjbs left #perl6
13:17 alanhaggai_ joined #Perl6
13:23 rakudo_svn r30786 | coke++ | [cage] fix trailing whitespace causing smolder failures.
13:26 alanhaggai__ joined #Perl6
13:34 eternaleye joined #perl6
13:44 cognominal joined #perl6
14:00 BinGOs joined #perl6
14:10 TJCRI joined #perl6
14:33 jan joined #perl6
14:34 Exodist joined #perl6
14:42 frobnitz joined #perl6
15:09 meppl joined #perl6
15:17 xuser joined #perl6
15:21 justatheory joined #perl6
15:21 pugs_svn r22159 | moritz++ | [t/spec] add subset mmd tests
15:23 pugs_svn r22160 | moritz++ | [t/spec] fixed previous commit
15:39 Lichtkind joined #perl6
15:52 alanhaggai joined #Perl6
16:24 Caelum joined #perl6
16:33 pmurias joined #perl6
17:09 rindolf joined #perl6
17:19 ruoso joined #perl6
17:25 sri_work joined #perl6
17:29 ruoso_ joined #perl6
17:31 sri_work joined #perl6
17:41 ruoso joined #perl6
17:41 ruoso joined #perl6
17:42 TheFluff joined #perl6
17:46 Khisanth pugs: my  @a=([1,2],[3,4]); @a[0;0..1];
17:46 p6eval pugs: OUTPUT[*** ␤    Unexpected ";"␤    expecting "x", octal digit, "o", "b", fraction, exponent, term postfix, operator or "]"␤    at /tmp/xa4yI1WkYg line 1, column 27␤]
17:46 Khisanth o_O
17:47 moritz_ no multi dimensional arrays and indexes yet
17:47 moritz_ and no slice context either
17:47 Khisanth but why is it expecting an oct?
17:48 Khisanth or fraction or exponent those seem like strange things to be expecting there
17:48 Khisanth or does p6 accept fractional array indices? :P
17:48 moritz_ when you write '@a[0', it's a valid continuation from that point to write an octal digit, I suppose
17:49 moritz_ or an exponent
17:49 moritz_ for example '@a[0**1]' would be a valid continuation with an exponent
17:50 barney joined #perl6
17:53 TimToady it should not be expecting an octal digit unless it sees 0o
17:53 moritz_ that's probably a pugs anachronism
17:53 moritz_ but given that all octal digits are also decimal digits...
17:54 moritz_ pugs: say 010
17:54 p6eval pugs: OUTPUT[10␤]
17:54 moritz_ pugs: say 1+010
17:54 p6eval pugs: OUTPUT[11␤]
17:57 TimToady btw, I'm making a fudgable pge.t out of what you checked in
17:58 moritz_ cool
17:59 moritz_ I already thought about adding #emit rakudo $test_number in these skip/todo junctions
18:01 moritz_ erm, #?rakudo emit
18:02 TimToady I'm just translating it all to inline code with appropriate skip/todo directives
18:03 TimToady only comes out to about 2500 lines of code :)
18:03 TimToady including all the old data as comments
18:04 moritz_ so you're not even eval'ing?
18:04 TimToady I'm just using a variant of pge-tests.t that spits out code instead
18:04 TimToady it inserts evals where it needs them
18:04 TimToady (I hope)
18:05 TimToady some trickiness to get the quoting right
18:05 TimToady since the tests depend on being data rather than code in spots, sigh
18:06 TimToady already found a few bugs in STD with it :)
18:07 TimToady like it couldn't parse / a : b /
18:07 TimToady or  <- [a..z]>
18:08 [particle]1 yay for tests!
18:08 moritz_ now I know why you want inline code ;)
18:09 TimToady and there are pervasive regex-as-string assumptions, like /foo # bar/ eating up final /
18:11 r0bby joined #perl6
18:12 ruoso TimToady, do you plan to add Iterator (maybe a Role, instead of a Class) type to the builtin types?
18:12 TimToady oh, likely
18:12 rakudo_svn r30793 | pmichaud++ | [rakudo]:  Update svn:ignore to ignore auto-generated 'Test.pir'
18:12 ruoso TimToady, right.. it's just because I'm assuming that in SMOP ;)
18:14 ruoso TimToady, btw... I'm assuming that an iterator in item context should return one item at a time, even if the effective "producer" (like a map block) returns two items in an iteration... it would only return the capture when in slice context...
18:15 pmichaud TimToady: are you using the rx_* files from parrot?
18:15 pmichaud I'm not entirely sure of the status of the pge_tests file that is in t/spec
18:16 [particle] me neither, i haven't looked at it since moritz imported it
18:18 ruoso TimToady, actually... "an iterator in item context should return" means "my $iterator = something(); foo(=$iterator);"... which should probably be written as "an iterator in item context should have prefix:<=> returning one item at  a time"
18:20 TimToady pmichaud: I don't know where moritz_ got pge_tests from, but that's what I'm translating
18:20 pmichaud if it came from the pugs repository, I suspect it's a bit out of date
18:20 [particle] what does svn log say?
18:20 pmichaud I can check in the rx_* files from parrot
18:21 * [particle] updates his pugs wc
18:22 pmichaud oh, never mind -- the version I'm looking at now looks okay
18:22 TimToady *nod*
18:28 Myoma joined #PERL6
18:47 moritz_ yes, it was the freshly imported pge tests (sorry, should have made that clearer)
18:49 ludan joined #perl6
18:52 TimToady heh, /:s[]foo/ is no longer legal
18:54 pmichaud what is it now?
18:55 TimToady [] is not legal rx since it's null inside
18:55 pmichaud (I've been through too many syntax changes to remember accurately :-)
18:55 TimToady well, :s::foo is the next workaround in the tests
18:55 pmichaud ah, yes... at one time  :s[]   was meant to be similar to :s()
18:55 TimToady but I just changed that one to :s foo since it wasn't actually caring about the ws
18:56 TimToady bug :s() is presumably false
18:56 moritz_ pmichaud: if you implement Object.defined in trunk I can push some test changes that fix is ($stuff, undef,...)
18:56 TimToady *but
18:56 pmichaud moritz_: doing that now.  I'm merging the failthrow branch back into trunk, and then I can easily do an Object.defined
18:57 moritz_ pmichaud: ok
18:57 TimToady yow, :perl5 as an internal modifier
18:57 TimToady maybe I'll end up with an entire P5 grammar embedded in STD  :)
18:57 pmichaud I don't think that PGE ever implemented :perl5
18:57 pmichaud I think we just skip it
18:57 TimToady STD gets upset when it sees things like \z
18:58 TimToady well, it was \Q in this case
18:58 * ruoso have sketched some notes about "map" in http://www.perlfoundation.org/perl6/index.cgi?smop_map_operator ... and appreciate very much any comment...
18:58 lambdabot Title: SMOP map operator / Perl 6
18:58 rakudo_svn r30797 | pmichaud++ | [rakudo]:  Merge failthrow branch back into trunk.
18:59 yahooooo joined #perl6
19:00 TimToady funny it accepted \A, but I guess that's "not an alarm character" o_O
19:00 pmichaud ...nothing to be alarmed about.  :-)
19:00 TimToady well, except that we should probably catch \A and warn about obsolete P5isms
19:01 TimToady (in the absence of :P5, of course)
19:01 TimToady well, I know how to implement :P5, I just don't wanna  :)
19:02 PerlJam it's weird that we're parsing parts of a some other language just so we can warn.
19:02 moritz_ otoh it feels bad to reserve all these nice control sequences just to catch p5isms
19:02 TimToady could warn only if there's a subsequent \z
19:03 TimToady though they don't always occur together
19:03 TimToady but the \a match is relatively useless in any case
19:04 TimToady and the \A not-a-bell match is even uselesser
19:04 moritz_ aye
19:04 TimToady so I'll just remove \A as a P6ism, I think
19:06 pmichaud +1
19:07 pmichaud perhaps get rid of \a also?
19:07 ruoso TimToady, could you please, when you have some free time, take a look at the wiki page I just posted above about map? I should get to implement it in the weekend, so it would be nice to have some sanity checking on it... ;)
19:08 * PerlJam wonders how many times people have used
19:08 PerlJam (I can't recall a single time I've used it)
19:08 * ruoso cannot remember what  is...
19:09 pmichaud I've used it a couple of times in strings, but I don't think I ever used it in a regex
19:15 PerlJam ruoso: and   map { $^a + $^b } @stuff  falls under the lazy slice rubric?
19:17 ruoso PerlJam, I forgot to mention that map will consume as many items of the .arity of the block signature...
19:18 ruoso PerlJam, but this specific example will take a iterator for @stuff in item context, and consume twice for each call to the block
19:18 pmichaud that's what rakudo's map is currently doing.
19:18 ruoso pmichaud, is rakudo using iterators already?
19:19 ruoso or you mean just by using two items from the list as arguments?
19:20 pmichaud rakudo doesn't make a strong distinction between lists and iterators
19:20 ruoso but it isn't implementing lazyness in map yet, right?
19:20 pmichaud no, but that's because we don't have a good gather/take model yet
19:21 pmichaud and we don't really have lazy lists yet
19:21 ruoso pmichaud, in smop map lazyness won't be implemented in terms of gather/take...
19:21 ruoso using iterators makes that easier
19:21 ruoso pmichaud, have you seen the notes on the wiki page I've posted above?
19:22 pmichaud not yet -- been busy trying to get some stuff into rakudo for moritz
19:22 pmichaud and I have to go pick up kids in about 3 mins
19:22 ruoso ok... but try to take a look at it later... it should help you in rakudo...
19:23 pmichaud looking now.... but conceptually I don't see how Iterator differs significantly from List
19:23 pmichaud that is, if Iterator is a class.  I could see List implementing an Iterator role, however.
19:24 ruoso pmichaud, that would mean that the state of the iterator would be stored in the List?
19:24 pmichaud no, it's simply that when we ask a List for an iterator, it returns a clone of itself.
19:25 ruoso oh... ok...
19:25 pmichaud unless, of course, the intention of the spec is that modifying a List also modifies any previously created iterators, in which case I'll have to rethink that
19:26 ruoso pmichaud, that's indeed an important point..
19:26 pmichaud I haven't seen or heard any clear examples one way or the other
19:26 pmichaud but it's a question of:
19:27 pmichaud my @a = 1..5;   for @a { .say;  @a = (); }
19:27 pmichaud ...what gets output?
19:27 ruoso that's something spec related...
19:27 pmichaud exactly.  I haven't seen it clearly laid out anywhere.
19:27 ruoso I mean... both ways could be valid...
19:28 pmichaud and the choice will decide the implementation of iterators in Rakudo :-)
19:28 ruoso pmichaud, but wait...
19:28 ruoso this example is not precise...
19:28 ruoso because you're replacing the list entirely
19:28 ruoso my @a = 1..5; for @a { .say; @a[3] = 1 }
19:28 ruoso that should be a better example
19:28 pmichaud sure, that's another possibility
19:29 ruoso pugs: my @a = 1..5; for @a { .say; @a[3] = 1 }
19:29 p6eval pugs: OUTPUT[1␤2␤3␤1␤5␤]
19:29 ruoso that actually looks natural to me...
19:30 pmichaud pugs:  my @a = 1..5; for @a { .say; @a = (); }
19:30 p6eval pugs: OUTPUT[1␤2␤3␤4␤5␤]
19:30 ruoso the iterator points to the list which is no longer stored in the variable @a
19:30 pmichaud then why did @a[3] = 1;   modify the iterator?
19:30 ruoso it didn't
19:30 ruoso it modified the list
19:31 pmichaud pugs:  my @a = 1..5; for @a, 6 { .say; @a[3] = 1; }
19:31 ruoso as for is lazy...
19:31 p6eval pugs: OUTPUT[1 2 3 4 5␤6␤]
19:31 pmichaud pugs:  my @a = 1..5; for (@a, 6 ){ .say; @a[3] = 1; }
19:31 p6eval pugs: OUTPUT[*** ␤    Unexpected ";"␤    expecting term postfix, operator or "}"␤    at /tmp/cO9OOho02P line 1, column 33␤]
19:31 pmichaud pugs:  my @a = 1..5; for (@a, 6) { .say; @a[3] = 1; }
19:31 p6eval pugs: OUTPUT[1 2 3 4 5␤6␤]
19:31 Myoma pugs:  my @a = 1..5; for @a, @a, 6 { .say; @a[3] = 1; }
19:31 p6eval pugs: OUTPUT[1 2 3 4 5␤1 2 3 1 5␤6␤]
19:32 pmichaud those all look wrongish to me.
19:32 ruoso pmichaud, @a,6 expanded the array at that time... not lazily
19:32 pmichaud no, it stringified @a
19:32 pmichaud i.e.,   @a,6 was treated as a list with two elements
19:32 ruoso ah..ok
19:32 ruoso yeah...
19:32 ruoso that's simply wrong
19:33 pmichaud anyway, the question is whether the iterator takes a reference to the list (and modifications to the list modify what the iterator sees) or if it is a snapshot of the list at the time of creation
19:33 pmichaud and with that I have to run.
19:33 ruoso indeed...
19:34 rakudo_svn r30799 | pmichaud++ | [rakudo]:  Initial implementation of .defined for Object.
19:34 ruoso however, "snapshot" doesn't seem to fit well with lazy lists
19:34 pmichaud the snapshot can itself be lazy
19:34 pmichaud it doesn't require eagerness
19:34 PerlJam but the other way seems action-at-a-distancey
19:35 pmichaud if I say   my @b = (@a, 1..5, 8..10);    @b can still be lazy with respect to @a
19:35 pmichaud but changes to @a shouldn't cause @b to change
19:35 pmichaud I'm late -- bbl
19:35 ruoso pmichaud, I can't really see how to make snapshots of a network flow... (considering a network flow can be seen as a list)
19:35 ruoso (which <== implies)
19:36 ruoso pmichaud, and that should apply to database-backed lists as welll
19:38 ruoso pmichaud, my @b = (@a, 1..5, 8..10) can only be lazy if you have COW...
19:39 ruoso pmichaud, which is not always possible...
19:41 ruoso PerlJam, by "other way" you mean which way? ;)
19:42 Auzon joined #perl6
19:59 riffraff joined #perl6
20:03 pmichaud anyway, I can argue it either way, so it probably needs clarification from p6l
20:03 pmichaud (back, btw)
20:04 pmichaud moritz_: Object.defined is now available
20:04 pmichaud it might have some bugs... but that's what tests are for :-)
20:11 jan joined #perl6
20:12 jan_ joined #perl6
20:32 dduncan joined #perl6
20:32 pugs_svn r22161 | moritz++ | [t/spec] correct test wrt undef
20:35 pasteling "moritz_" at 89.13.234.179 pasted "pmichaud: those tests fail wrt .defined" (37 lines, 2K) at http://sial.org/pbot/32095
20:35 moritz_ pmichaud: see paste
20:35 * moritz_ goes to bed now
20:35 Chillance joined #perl6
20:35 pmichaud looking
20:35 pmichaud moritz_: yes, there's a problem with uninitialized scalars
20:35 pmichaud I'll need jonathan to fix it
20:35 pmichaud or to suggest ways to fix it
20:39 silug joined #perl6
20:41 meppl joined #perl6
20:42 dduncan left #perl6
20:44 yahooooo joined #perl6
20:48 jferrero joined #perl6
21:12 iblechbot_ joined #perl6
21:16 yahooooo joined #perl6
21:22 pugs_svn r22162 | lwall++ | [STD] bugs found by rx.t
21:22 pugs_svn r22162 | lwall++ | [rx.t] bugs found by STD
21:27 pugs_svn r22163 | lwall++ | [pge-tests] no longer needed but moritz++ anyway
21:30 _Chillance_ joined #perl6
21:32 pugs_svn r22164 | lwall++ | [rx.t] forgot to use Test and plan
21:32 Auzon TimToady++ # making bugs cancel each other out
22:03 araujo joined #perl6
22:32 s1n pmichaud: any work done to support smoke with those test results?
22:33 s1n moritz_: unless you want me to make a bug, add S02-builtin_data_types/bool.t to spectest_regression
22:35 pugs_svn r22165 | Auzon++ | [spectest] tests for regexes and closures in .trans. Also one test to ensure that y/// is gone
22:37 Auzon Also, a ++ for whoever added the PGE tests. I assume that was the huge jump in tests today :)
23:03 s1n Auzon: i think that was moritz
23:03 s1n http://www.parrotvm.org/svn/pugs/log/t?limit=100;rev=22165
23:03 lambdabot Title: log: /pugs/t (Rev: HEAD, via SVN::Web)
23:04 Auzon moritz_++ then :)
23:28 kanru joined #perl6

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

Perl 6 | Reference Documentation | Rakudo