Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-05-30

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 ingy mncharity: traitor!
00:00 ingy ;)
00:00 ingy s/traitor/trader/
00:00 ingy :)
00:04 cognominal_ joined #perl6
00:13 mncharity ingy: ;)  sigh.  the internals are just too complex.  though part of that is just p5 being ugly.
00:14 mncharity s/complex/cluttered/...
00:14 mncharity s/are/were/   been years
00:17 lisppaste3 joined #perl6
00:20 stevan_ joined #perl6
00:28 mncharity Could I impose on someone with on a 32bit machine to () upgrade to current  Regexp::Common Sub::Name overload Filter::Simple, and then try () cd misc/pX/Common/yet_another_regex_engine; prove t/re_tests.t   ?
00:29 mncharity I upgraded Regexp::Common (I had the others all current), and the 'variable unavailable' warnings went away.  Does that mean it works on 32bit now?
00:30 mncharity hmm... I have a 32 bit qemu image around here somewhere...
00:34 slavik left #perl6
00:43 pugs_svnbot r20582 | putter++ | [yet_another_regex_engine] Require current CPAN module versions.  Removed two (uninteresting) sources of warnings.
00:43 pugs_svnbot r20582 | putter++ | Upgrading my Regexp::Common upgrade made all 'unavailable' variable warnings go away.  Perhaps by causing masking failures.
00:43 pugs_svnbot r20582 | putter++ | The set of passing tests has changed (increased), but is unexamined.  So the numbers in README are now out of date.
00:56 mncharity actually, t/re_tests.t is unchanged at 961 96.25%.  t/rx.t changed to 536 90.30%.
01:10 pasteling "diakopter" at 209.9.237.164 pasted "prove output" (18 lines, 1.6K) at http://sial.org/pbot/31157
01:10 diakopter mncharity: see there
01:13 pugs_svnbot r20583 | putter++ | [STD_gray] The start of a p6 version of STD_red.
01:15 mncharity woot!  32 bit?
01:16 mncharity @tell pmurias Could you recheck yare with a current Regexp::Common?  Thanks.
01:16 lambdabot Consider it noted.
01:20 mncharity diakopter: my thanks.  oh... macbook-pro => Intel Core 2 => 64 bit, yes?  works for me too, on an fc8 amd64.  was failing for pmurias on both his own box, and on feather.  but good to know it's less likely to be a debian vs fedora issue, unless you are running fedora on your mac. :)  thanks again.
01:20 mncharity own box and feather were 32 bit debian.
01:22 diakopter no; mine is 32-bit
01:22 diakopter Core Duo, not Core 2 Duo
01:23 diakopter STD_gray; heh
01:23 mncharity ah, ok.  back to yay.  hopefully it's a "fix", rather than debian being the problem.  good enough for now.  (well, trying on a 32 bit emulated fc7... slowly...).
01:23 mncharity re gray, :)
01:28 diakopter vroooom: very redundant(ly named) object-oriented object-orientation model
01:29 mncharity LOL
01:30 mncharity have to be able to include "meta" in there somewhere...
01:34 mncharity Very Recursive Object-Oriented Object Meta Model Representing (an) Object-Oriented Object-Orientation Model... vrooomroooom
01:36 mncharity hey, svn can co subtrees, nifty!
01:41 jferrero joined #perl6
01:52 mncharity ok, also working on emulated 32 bit 5.8.8 Regexp::Common/2.120.  ticket->"user: resolved?"
01:59 Tene If we can create hashes with circumfix:(), what do we need circumfix:{} for?
02:04 mncharity c:( ) only works with something like a  my %h = (...);  but {...} can go anywhere, no?
02:10 pugs_svnbot r20584 | putter++ | [elf] TODO: more of the big picture.
02:12 mncharity good night all.  diakopter: thanks again. &
02:17 mncharity pugs: temp($x) = 3
02:17 exp_evalbot OUTPUT[*** ␤    Unexpected ")"␤    expecting "::"␤    Variable "$x" requires predeclaration or explicit package name␤    at /tmp/cBzEzmSHlv line 1, column 8␤]
02:23 eternaleye_ joined #perl6
02:36 araujo joined #perl6
02:50 pugs_svnbot r20585 | bacek++ | [spec] Unfudge more test for rakudo. pmichaud++ for hashes
02:53 pugs_svnbot r20586 | bacek++ | [spec] Unfudge more test for rakudo.
02:55 cookys joined #perl6
02:59 pugs_svnbot r20587 | bacek++ | [spec] Unfudge more test for rakudo.
03:07 NewerEn joined #perl6
03:30 alanhaggai joined #perl6
04:02 rakudo_svn r27932 | pmichaud++ | [rakudo]:
04:02 rakudo_svn r27932 | pmichaud++ | * Fix problem with <pod_comment> rule destroying statement end
04:02 rakudo_svn r27932 | pmichaud++ | * bacek++ for providing a simple test case
04:35 rakudo_svn r27933 | pmichaud++ | [rakudo]:
04:35 rakudo_svn r27933 | pmichaud++ | * Add anonymous version of =begin...=end pod_comment.  (bacek++)
04:52 chadmaynard joined #perl6
05:16 luqui joined #perl6
05:45 pugs_svnbot r20588 | bacek++ | [spec] Unfudge more test for rakudo.
05:51 [particle] bacek++
05:53 bacek [particle]: but I'm too lazy to write what exactly was unfudged...
05:53 [particle] the fact that you're touching the test suite is reason enough for karma
05:54 bacek :)
06:38 alanhaggai_ joined #perl6
06:54 cognominal_ joined #perl6
06:55 rindolf joined #perl6
06:58 meppl joined #perl6
07:02 alc joined #perl6
07:05 clkao joined #perl6
07:26 iblechbot joined #perl6
07:38 IllvilJa joined #perl6
07:48 moritz_ rakudo: say 2 ~~ 3
07:48 exp_evalbot rakudo r27933 OUTPUT[0␤]
07:48 moritz_ rakudo: say 2 ~~ 2
07:48 exp_evalbot rakudo r27933 OUTPUT[1␤]
07:48 moritz_ rakudo: say "a" ~~ "b"
07:48 exp_evalbot rakudo r27933 OUTPUT[0␤]
07:48 moritz_ rakudo: say "a" ~~ "a"
07:48 exp_evalbot rakudo r27933 OUTPUT[1␤]
07:48 moritz_ bacek: maybe rakudo's Test.pm sub is() should just use ~~ to compare its values
07:49 moritz_ bacek: and then hope that nobody ever passes a regex to is()
07:49 moritz_ ;-)
08:18 bacek moritz_: hmm.
08:18 bacek rakudo: say (1..2) ~~ (1..2)
08:18 exp_evalbot rakudo r27933 OUTPUT[Method 'ACCEPTS' not found for invocant of class 'List'␤current instr.: 'infix:~~' pc 8120 (src/gen_builtins.pir:5625)␤
08:18 bacek no way :)
08:20 moritz_ rakudo: say (1..2) eq (1..2)
08:20 exp_evalbot rakudo r27933 OUTPUT[1␤]
08:21 moritz_ ok, you're right
08:22 spinclad rakudo: say (1..2) cmp (1..2)
08:22 exp_evalbot rakudo r27933 OUTPUT[MMD function __cmp not found for types (94, 94)␤current instr.: 'infix:cmp' pc 7526 (src/gen_builtins.pir:5119)␤
08:24 bsb joined #perl6
08:25 spinclad i'm inclined to say that C<< int(-0.5) --> -0 >> is Just Wrong, fix the test, and stick with C< eq > for comparison...
08:26 spinclad it's the -0.0's that want something like cmp_ok maybe
08:26 moritz_ spinclad: ok, go ahead
08:26 moritz_ but add a test that -0 == 0 somewhere
08:31 spinclad (but not now; /me wants sleep. i'll catch up with discussion and look things over in the morning.)
08:32 spinclad -0 == 0: indeed.
08:33 bacek rakudo: say -0 eq 0
08:33 exp_evalbot rakudo r27933 OUTPUT[0␤]
08:33 spinclad rakudo: say -0
08:33 exp_evalbot rakudo r27933 OUTPUT[-0␤]
08:33 spinclad perl6: say -0
08:33 exp_evalbot kp6 r20588: OUTPUT[␤]
08:33 exp_evalbot ..pugs: OUTPUT[0␤]
08:33 exp_evalbot ..rakudo r27933: OUTPUT[-0␤]
08:33 exp_evalbot ..elf r20588: OUTPUT[0␤]
08:34 bacek perl6: say -0 eq 0
08:34 exp_evalbot kp6 r20588: OUTPUT[␤]
08:34 exp_evalbot ..pugs: OUTPUT[1␤]
08:34 exp_evalbot ..rakudo r27933: OUTPUT[0␤]
08:34 exp_evalbot ..elf r20588: OUTPUT[1␤]
08:34 * spinclad thinks rakudo is odd one out.  kp6's '' is odd too though.
08:35 moritz_ aye
08:35 moritz_ pmichaud mentioned that parrot automatically converts between int and float at times
08:35 moritz_ maybe a -0 triggers float behaviour
08:36 bacek perl6: say ~-0 === ~0
08:36 exp_evalbot kp6 r20588: OUTPUT[syntax error at position 4, line 1 column 4:␤say ~-0 === ~␤    ^ HERE␤]
08:36 exp_evalbot ..pugs: OUTPUT[1␤]
08:36 exp_evalbot ..rakudo r27933: OUTPUT[Could not invoke non-existent sub infix:===␤current instr.: '_block11' pc 68 (EVAL_11:22)␤
08:36 exp_evalbot ..elf r20588: OUTPUT[syntax error at (eval 14) line 3, near "==="␤ at ./elf_f_faster line 4461␤]
08:37 spinclad i expect good multidispatch in the arithmetic ops would keep ints ints
08:37 pugs_svnbot r20589 | moritz++ | [svn-search] added 'terse' option which doesn't list the changed files
08:37 bacek I think pugs is wrong...
08:37 spinclad perl6: say ~-0
08:37 exp_evalbot kp6 r20588: OUTPUT[syntax error at position 4, line 1 column 4:␤say ~-␤    ^ HERE␤]
08:37 exp_evalbot ..pugs: OUTPUT[0␤]
08:37 exp_evalbot ..rakudo r27933: OUTPUT[-0␤]
08:37 exp_evalbot ..elf r20588: OUTPUT[-4294967295␤]
08:37 spinclad woof!
08:38 * spinclad thinks pugs right
08:38 * moritz_ too
08:38 bacek pugs: my $a=-0; say $a.WHAT()
08:38 exp_evalbot OUTPUT[Int␤]
08:39 spinclad rakudo: my $a=-0; say $a.WHAT()
08:39 exp_evalbot rakudo r27933 OUTPUT[Num␤]
08:39 moritz_ that's the heart of the problem
08:39 bacek rakudo: my $a = int(-0); say $a.WHAT()
08:39 exp_evalbot rakudo r27933 OUTPUT[Num␤]
08:39 bacek moritz_: +1
08:40 moritz_ elf: say ~1
08:40 exp_evalbot OUTPUT[4294967294␤]
08:40 moritz_ elf uses '~' for the perl5ish binary negation
08:40 moritz_ while it should use it for stringification
08:43 * spinclad -> $bed { ~~~ } &
08:46 bacek > say int(-0).WHAT()
08:46 bacek Int
08:46 lambdabot Not in scope: data constructor `WHAT'
08:46 bacek this is better
08:48 bacek > say int(-0.5) eq int(-0)
08:48 bacek 0
08:48 lambdabot Not in scope: `eq'
08:48 bacek but this is not...
08:49 bacek rakudo: say int(-0) eq -0
08:49 exp_evalbot rakudo r27933 OUTPUT[1␤]
08:49 bacek rakudo: my $a=int(-0.5); my $b=-0; say $a eq $b;
08:49 exp_evalbot rakudo r27933 OUTPUT[1␤]
08:49 bacek yeek
09:01 pugs_svnbot r20590 | moritz++ | [svn-search] terse output even terser ;-)
09:04 moritz_ http://moritz.faui2k3.org/svn-search​/search.pl?q=author%3Aauzon;terse=1
09:04 lambdabot Title: Pugs SVN search, http://tinyurl.com/5bc62x
09:43 wknight8111 joined #perl6
10:07 penk joined #perl6
10:19 cognominal_ joined #perl6
10:19 dolmen joined #perl6
10:31 pbuetow joined #perl6
10:40 bacek__ perl6: my @r; @r.push<hi>; say ~@r;
10:40 exp_evalbot kp6 r20590: OUTPUT[syntax error at position 17, line 1 column 17:␤my @r; @r.push<hi>; say ~@r␤                 ^ HERE␤]
10:40 exp_evalbot ..pugs: OUTPUT[*** Odd number of elements found where hash expected: VInt 0␤    at /tmp/6CXqWqeuzm line 1, column 8-19␤]
10:40 exp_evalbot ..rakudo r27936: OUTPUT[Method 'viviself' not found for invocant of class 'PAST::Op'␤current instr.: 'parrot;PAST::Compiler;keyed' pc 6207 (src/PAST/Compiler.pir:1721)␤
10:40 exp_evalbot ..elf r20590: OUTPUT[Useless use of hash element in void context at (eval 14) line 4.␤Can't coerce array into hash at (eval 14) line 4.␤ at ./elf_f_faster line 4461␤]
10:41 bacek__ rakudo: my @r; @r.push<hi>;
10:41 exp_evalbot rakudo r27936 OUTPUT[Method 'viviself' not found for invocant of class 'PAST::Op'␤current instr.: 'parrot;PAST::Compiler;keyed' pc 6207 (src/PAST/Compiler.pir:1721)␤
10:44 wknight8111 joined #perl6
11:09 cognominal_ joined #perl6
11:20 cognominal__ joined #perl6
11:44 icwiener joined #perl6
11:45 icwiener Hi, there is an excellent series of micro articles on http://www.perlfoundation.org/per​l6/index.cgi?perl_6_microarticles .
11:45 lambdabot Title: Perl 6 microarticles / Perl 6, http://tinyurl.com/2t5546
11:46 icwiener The author said that the next article is coming in january, but it is not on the page.
11:46 icwiener Was the seies stopped?
11:46 icwiener +r
11:57 rindolf icwiener: I think it was IIRC.
11:59 icwiener A pity. Very informative articles.
12:01 osfameron joined #perl6
12:01 osfameron afternoon
12:10 cognominal_ joined #perl6
12:13 kolibrie joined #perl6
12:19 Alias_ joined #perl6
12:19 IllvilJa joined #perl6
12:26 alanhaggai joined #perl6
12:42 b_jonas joined #perl6
12:57 dalek joined #perl6
12:58 iblechbot joined #perl6
13:00 pmichaud_ joined #perl6
13:04 FurnaceBoy joined #perl6
13:16 alc joined #perl6
13:17 chris2 joined #perl6
13:20 cmarcelo joined #perl6
13:23 cmarcelo left #perl6
13:42 wknight8111 joined #perl6
14:00 braceta joined #perl6
14:12 cognominal_ joined #perl6
14:20 pugs_svnbot r20591 | bacek++ | [spec] Get rid of useless 'eval_dies_ok'. Use dies_ok instead
14:23 pugs_svnbot r20592 | bacek++ | [spec] Get rid of useless 'eval_dies_ok'. Use dies_ok instead
14:24 dolmen joined #perl6
14:27 alanhaggai joined #perl6
14:35 Southen joined #perl6
14:39 alanhaggai joined #perl6
14:41 TJCRI joined #perl6
14:51 cjfields joined #perl6
14:52 wknight8111 joined #perl6
14:53 cjfields_ joined #perl6
14:54 cjfields_ joined #perl6
14:59 diakopter the key to building a good compiler is to build it for a well-designed language.
15:02 alanhaggai joined #perl6
15:05 Juerd diakopter: Isn't that what we've been doing for almost a decade now? :)
15:05 smtms joined #perl6
15:17 alanhaggai joined #perl6
15:28 sscaffidi joined #perl6
15:29 jiing joined #perl6
15:33 pmichaud pugs:  say  Scalar.isa(Any);
15:33 exp_evalbot OUTPUT[1␤]
15:49 cognominal_ joined #perl6
15:56 justatheory joined #perl6
16:04 sscaffidi joined #perl6
16:05 Psyche^ joined #perl6
16:07 armagad_ joined #perl6
16:09 penk left #perl6
16:09 sri_work joined #perl6
16:13 rakudo_svn r27942 | jonathan++ | [rakudo] Fix to make loop { ... } work again (that is, when you don't supply a clause in brackets). Not quite sure why we had to do this fix - it may be a bug in NQP or PGE.
16:20 elmex joined #perl6
16:21 AtomicStack joined #perl6
16:23 eternaleye_ joined #perl6
16:31 braceta joined #perl6
16:55 macae joined #perl6
17:00 Alias_ joined #perl6
17:01 schmalbe joined #perl6
17:41 jhorwitz joined #perl6
17:43 kanru joined #perl6
18:00 araujo joined #perl6
18:02 shachaf joined #perl6
18:21 hillmyster9 joined #perl6
18:21 hillmyster9 anyone here know the adress for Runehq?
18:21 alanhaggai joined #perl6
18:21 Juerd I don't know what runehq is.
18:22 hillmyster9 its runescape help page
18:22 hillmyster9 some what like tip.it
18:23 Auzon Google sats http://www.runehq.com/ -- but that's very random.
18:23 Auzon *says
18:23 Auzon Random question, that is
18:23 Tene I'd suggest asking the runescape community for that.
18:29 hillmyster9 how do i do that
18:29 hillmyster9 were is the runescape cammunity
18:30 Auzon Not here, certainly.
18:30 Auzon Did you see my link above?
18:30 hillmyster9 .... ya
18:30 Auzon Did it work?
18:30 hillmyster9 i got a block
18:30 hillmyster9 my computer is blocked for that site
18:30 Tene hillmyster9: This isn't a runescape channel, so it's unlikely anyone here will know anything about runescape.
18:30 hillmyster9 oh its not
18:30 hillmyster9 well what the heck
18:30 hillmyster9 i got on this thing from a runescape site
18:31 hillmyster9 what chanel is a runescape one
18:32 Auzon As a guess, I'd say #runescape . Other than that, Google is your friend.
18:32 Tene hillmyster9: I have no idea.  I've never played the game.  I have no idea why you're here.  This channel is about development of the Perl programming language.
18:32 hillmyster9 what is perl god dangit i keep hering people talking about it but i dont know what it is
18:33 Auzon It's a programming language.
18:33 hillmyster9 that dont help i can hack any computer you give me
18:33 hillmyster9 but i have not one sigle clue what you aretalking about
18:33 hillmyster9 i can get into my schools mainframe
18:33 hillmyster9 i did it once on accident
18:35 hillmyster9 lol
18:35 hillmyster9 what i just hit a button when i was trying to do something else and boom
18:35 hillmyster9 i got in
18:35 hillmyster9 im like .....................cool
18:36 hillmyster9 ???? hello
18:41 Tene Yes?
18:48 apeiron joined #perl6
18:55 sail0r joined #perl6
19:07 cjfields joined #perl6
19:07 kanru joined #perl6
19:16 Lorn joined #perl6
19:23 Auzon rakudo: say ^4
19:23 exp_evalbot rakudo r27945 OUTPUT[0123␤]
19:23 Auzon rakudo: say ^(4,4)
19:23 exp_evalbot rakudo r27945 OUTPUT[01230 1 2 3␤]
19:24 Auzon rakudo: ^(4,4)
19:24 exp_evalbot rakudo r27945 RESULT[[[[0, 1, 2, 3]], [[0, 1, 2, 3]]]]
19:24 Auzon Not quite right
19:28 TimToady ^(@array.shape) should probably produce all the indexes of the array somehow
19:35 Auzon pugs: my @a = 1 .. 10; @a.shape
19:35 exp_evalbot OUTPUT[*** No such method in class Array: "&shape"␤    at /tmp/PS0R680OCp line 1, column 18 - line 2, column 1␤]
19:35 Auzon perl6: my @a = 1 .. 10; @a.shape
19:35 exp_evalbot kp6 r20592: OUTPUT[no method 'shape' in Class 'Array'␤ at compiled/perl5-kp6-mp6/lib/Ki​ndaPerl6/Runtime/Perl5/MOP.pm line 345␤    KindaPerl6::Runtime::Perl5::MO​P::__ANON__('HASH(0x8e52314)', 'shape') called at compiled/perl5-kp6-mp6/lib/Ki​ndaPerl6/Runtime/Perl5/MOP.pm line 169␤
19:35 exp_evalbot ..main::DISPATCH('HASH(0x8e52314)', 'shape') called at compiled/perl5-kp6-mp6/lib/Kin...
19:35 exp_evalbot ..pugs: OUTPUT[*** No such method in class Array: "&shape"␤    at /tmp/jXr7kjTYsB line 1, column 18 - line 2, column 1␤]
19:35 exp_evalbot ..rakudo r27945: OUTPUT[Method 'shape' not found for invocant of class 'Perl6Array'␤current instr.: '_block11' pc 72 (EVAL_11:27)␤
19:35 exp_evalbot ..elf r20592: OUTPUT[Use of uninitialized value in range (or flip) at (eval 14) line 3.␤Can't call method "shape" without a package or object reference at (eval 14) line 4.␤ at ./elf_f_faster line 4461␤]
19:36 Auzon hm. No one implements shape, and it's mostly mentioned in S09
19:37 b_jonas does that mean they dont' implement multi-dimensional arrays either?
19:37 Auzon Not necessarily.
19:38 b_jonas just the shape method or the shape type?
19:38 b_jonas or is shape of some existing type?
19:38 b_jonas lemme look up
19:38 Auzon It's a method.
19:38 spinclad i think nobody's done multi-dims yet
19:39 b_jonas it says
19:39 b_jonas The .shape method also works on such an array; it returns a slice of the valid keys for each dimension.
19:39 spinclad (it's possible pugs may have done a bit, but not shape)
19:39 b_jonas what's a slice mean there?
19:39 b_jonas well, just because they don't do multi-dims, I think the shape accessor could be there
19:40 spinclad slice would mean sub-array i think
19:40 b_jonas TimToady: S09 also says about shape that "this is not intended to reflect current combinations of keys in use (use :k for that)."
19:41 b_jonas so why should ^(.shape) work?
19:41 b_jonas or do you just mean only in that rectangular case?
19:42 spinclad in a sparse array the populated entries may not form a block...
19:43 Auzon ^(2,2) is supposed to return [0.0], [0,1], [0,2], [1,0], [1,1], [1,2], [2,0], [2,1], [2,2].
19:43 Auzon So ^(@array.shape) would presumably return the same permutations on the array indexes
19:43 spinclad [0.0], [0,1], [1,0], [1,1]
19:43 Auzon Oops, right
19:43 spinclad s/\./,/
19:43 braceta_ joined #perl6
19:44 b_jonas Auzon: yeah
19:44 Auzon but neither ^(2,2) nor @a.shape works anywhere.
19:46 b_jonas well, is that behaiviour of ^ actually documented or is it only from what Tim said above?
19:46 spinclad so @a[^(@a.shape)] is the same as @a, element-wise
19:46 b_jonas that is, documented in the S
19:46 Auzon Which one? ^@a.shape or ^(2,2)?
19:46 b_jonas ^(2,2)
19:46 Auzon That's documented in S03
19:47 Auzon line 2696
19:48 b_jonas Auzon: indeed
19:48 Auzon I imagine ^@a.shape will appear soon enough :)
19:49 b_jonas I mean, it could have generated [[0, 1], [2, 3]] instead
19:49 b_jonas like iota in apl
19:49 spinclad oop: should ^(2,2) be [[[0,0], [0,1]], [[1,0], [1,1]]]?  preserving dimensionality?  then  @@a[^(@a.shape)] has a chance of preserving @@a.
19:50 b_jonas I don't think so
19:51 b_jonas "oop"?
19:51 spinclad ( @a and ^(@a.shape) should have the same shape)
19:51 b_jonas why?
19:51 b_jonas would  @@a[^(@a.shape)] even work if ^ returned that array of array of arrays?
19:52 b_jonas in S03, this sentence:
19:52 b_jonas "An empty Range cannot be iterated; it returns a Failure instead. An empty range still has a defined min and max, but the min is greater than the max."
19:53 b_jonas does empty in it only mean ones that would contain a negative number of elements, not just exactly empty ones which contain zero elements, right?
19:54 b_jonas it would be wierd otherwise
19:54 spinclad array of array of indexes: then the slice is an identity map.
19:56 b_jonas splinclad: but doesn't @a[0] slice only in the first dimension?
19:56 spinclad ^0 would be an empty Range to me.  0..^0, empty set.  not sure about 'min greater than max'; i would think equal, and inclusive min, exclusive max.
19:58 b_jonas wait, I'm not sure what @@a[anything] does at all
19:58 spinclad b_jonas: my mutterings on @@a[slice] are not from spec but from the top of my head and half-remembered spec, how i think things should work...
19:59 pmichaud I don't think any of the impls do "shape" yet.  That's relatively recent addition to the spec.
19:59 b_jonas should @@a[[3, 9]] be equivalent to @a[3; 9] ?
20:00 spinclad that said, it would make sense to me for ^$shape to return a MultiDimArray of Indexes of the same shape
20:01 b_jonas spinclad: I disagree
20:01 spinclad why?
20:01 b_jonas 'for ^shape { }' should iterate over the indices
20:01 b_jonas I mean
20:01 b_jonas 'for ^$shape { }'
20:02 b_jonas oh wait,
20:02 spinclad i agree
20:02 b_jonas how does ^ work on a multi-dim array?
20:02 b_jonas it doesn't just slice on the first dimension?
20:02 b_jonas it's ok then
20:02 b_jonas at least maybe
20:02 b_jonas I'm still not sure
20:07 spinclad (hypothetically)  for ^(2,2) -> $index { say $index }  --->  (0,0) \n (0,1) \n (1,0) \n (1,1)
20:08 braceta joined #perl6
20:08 pugs_svnbot r20593 | Auzon++ | [gsoc_spectest] Test added for "is deep" on infix operators.
20:08 spinclad my $index = (0,0);  @a[$index]  ==  @a[0;0]  ??
20:08 spinclad (i think so)
20:08 jferrero joined #perl6
20:12 b_jonas spinclad: so then you could use @@(^(2,2)) to get a flat array of indices?
20:12 TimToady spinclad: nope, it'd be @a[2]
20:13 spinclad TimToady: because +$index is 2?
20:13 TimToady nod
20:13 b_jonas TimToady: so you have to use @a[[;]$index] or @a[[;][$index]]?
20:14 b_jonas also, does @@a[$foo] uses $foo as a flat numeric index?
20:14 TimToady $foo would index the dimension
20:15 spinclad won't @a[[;]$index] then just take +[;]$index again?
20:15 b_jonas index the dimension? what does that mean?
20:15 TimToady you probably just want @a[@@$index]
20:16 b_jonas @@$index? what does that do? or is @@ special there?
20:16 TimToady slice interpolators into subscripts are special, yes
20:16 b_jonas uh huh
20:16 spinclad @@ is multidimarray context
20:16 lambdabot is multidimarray context
20:16 TimToady it has to know that ** is a multidimensional whatever too
20:17 TimToady slice context is the penalty for having lists autoflatten everywhere else in the language
20:18 b_jonas so isn't ** just some other kind of whatever everywhere else?
20:18 b_jonas lemme look that up i nS02
20:19 b_jonas yeah S02 says it's just another whatever
20:19 donaldh joined #perl6
20:19 b_jonas easy to remember because in perl5 ** is just a variant of the glob silgil *
20:20 TimToady unfortunately I have to run off to work and talk at a meeting in 40 minutes that I haven't really prepared for...
20:20 renormalist joined #perl6
20:21 b_jonas ok, thanks for the teaching
20:24 TimToady bbl &
20:24 b_jonas I wonder which operator is called "splat" now
20:24 spinclad now i want to break these expressions down:  spell out which types and operators are involved at each node in the syntax tree...  something Prelude-worthy...
20:25 b_jonas the whatever, the glob, both, the flatten-bar, or something else
20:25 spinclad anything spelled '*'
20:26 b_jonas so the whatever and the glob and the multiplication then
20:26 b_jonas ok
20:26 spinclad mm.. not multiplication i think
20:27 b_jonas heh
20:27 spinclad 'everyone wants the *'
20:27 spinclad (oh, wait, that was :)
20:33 b_jonas joined #perl6
20:38 mncharity joined #perl6
20:43 pugs_svnbot r20594 | putter++ | [elf] misc/elf/ directory cleanup - moving elf_[a-e] Aside/.  someone++
20:49 pugs_svnbot r20595 | putter++ | [elf] Cleanup - misc/elfish_smop and misc/elf/smop moved to misc/elfish/.  Started empty on_javascript and on_ruby projects.
20:57 renormalist joined #perl6
21:16 rakudo_svn r27947 | jonathan++ | [rakudo] Fix .+ and .*; they got missed while getting the new metamodel in place.
21:19 cognominal_ joined #perl6
21:29 renormalist joined #perl6
21:35 renormalist joined #perl6
21:40 Auzo1 joined #perl6
21:43 pugs_svnbot r20596 | putter++ | [elf] Knock off a few tests.  Update run_tests.results.  Expand TODO.
21:47 Auzon mncharity++ # elf directory cleanup
21:58 mncharity hi Auzon.  :)
22:05 * mncharity wrestles with STD.pm's broken statement/stdstopper code... again... :/
22:12 wolverian hm. if I wanted to change a list of Foos to a list of Bars, could I say list.map(&Bar)?
22:19 mncharity no idea, sorry.  lst.map {.Bar}  perhaps?
22:22 wolverian perhaps. I'm driving at whether constructors are functions
22:24 mncharity ah
22:30 [particle]1 joined #perl6
22:30 mncharity Here's a project for someone - work with TimToady to create a STD.pm that isn't broken.  Not in a sub-language refactoring way, or in a wizzy parser engine way, but simply in a 'these grammar rules don't do what you want them to do' way.  It would be sooo nice to finally have a grammar for p6.  Even one which fudged quotes, EXPR, and backtracking/lookahead.
22:35 Auzon Would that allow you to remove the need for Ruby, and would that have any benefits?
22:40 meppl good night
22:42 mncharity It is independent of the language the parser is written in.  The problem affects even rakudo in so far as it attempts to converge towards STD.pm.
22:44 mncharity The obstacle it presents to development is when encountering a t/ parsefail (30% of t/ files), instead of "simply" being able to check that the failure does indeed represent a flaw in STD.pm, and handing that bug report off to someone with the perspective and authority to change/fix the reference grammar, instead
22:47 mncharity one debugs the parse fail, finds "oh yes, it's unfixed STD.pm bug number 13 again.  let's burn time making nonspec kludges to the grammar, and debugging and tweaking previous such kludgery".
22:50 mncharity If it's that we're missing a person/role, "someone to ride herd on STD.pm and move it towards been a working grammar", then let's say that.  Then we can advertise, cajole, and otherwise try and find someone to meet the need.  But at present, it seems to be falling through the cracks.
22:51 mncharity obra: You asked weeks ago about needed resources.  ^^^
22:59 mncharity Job description: Under the guidance of language designer TT, maintain and improve the p6 reference grammar STD.pm.  Experience required with parsing, and with p6 regex.
22:59 Eevee experience required with technology we haven't finished yet  :P
23:01 mncharity no.  STD.pm's regex use is quite basic, LTM aside.  the problems I'm encountering are entirely basic.  anyone with experience with parsing and simple p6 regex would do.
23:03 Eevee alas I'm more familiar with p6 regex than parsing
23:03 mncharity ok, that last sentence was silly ("anyone...").  but only basic experience with parsing, and with simple p6 regex, is needed.
23:04 mncharity Eevee: could take a look at http://svn.pugscode.org/pugs/src/perl6/STD.pm ...  I'd be happy to answer any questions...
23:05 mncharity Though admittedly there's a lot of cruft, so the barrier to entry is non-trivial. :/
23:07 pugs_svnbot r20597 | putter++ | [STD_red] Update test-status.
23:08 renormalist joined #perl6
23:08 Eevee yes, seeing "XXX random inconsistent ideas" is never a good sign
23:12 mncharity those actually aren't a problem yet.  that's "given you have a grammar, how do folks modify it".  the pressing problem is getting to having a working grammar.
23:16 Eevee okay, so, I am not familiar with STD.pm's position within the p6verse besides that it is the official-reference-grammar-in-progress
23:17 Eevee so: (1) what uses this so far?  e.g. is there a simple script that will take an input file and spit out a list of tokens?  (2) are there any tests aimed solely at parsing, or are problems being found/fixed by trial and error?
23:18 lisppaste3 joined #perl6
23:18 Eevee (3) dear lord why am I seeing $¢.  that is ridiculous.
23:19 mncharity @tell pmurias The  f->NAMED(...) story doesn't seem work well with methods.  UNIVERSAL::can(P,'m')->(...)  has a 50% speed hit vs P->m(...), and  P->can('m')->(...) a 100% hit.  The first is also ugly.  An "argument list ends in a flag, plus optional flag-specific arguments preceeding it" again seems attractive.  Despite the ~100% call overhead for subs (subs, not methods).  Which is very unattractive.
23:19 lambdabot Consider it noted.
23:22 mncharity re 'official-reference-grammar-in-progress', I'm not sure if it's ever officially been declared such.  We really need to have one, so I've been pushing the concept, but it may be wishful thinking on my part.  dunno.  (1) 'what uses this so far?', TimToady uses it directly for parser experiments and grammar refactoring work.  I use it as the basis for STD_red, and thus for elf parsing.  I don't know if
23:23 mncharity rakudo is actively trying to sync with it yet - I have seen mention of long-term intent, but no commit messages.
23:25 mncharity re 'is there a simple script that will take an input file and spit out a list of tokens', well, not simple...  STD_red_run and STD5_run take -e or file input and return parse trees made of Match's.
23:25 mncharity cd misc/STD_red; ./STD_red_run -e 'say 3'
23:25 mncharity cd src/perl6; ./STD5_run -e 'say 3'
23:26 Eevee wow my ruby is too old
23:27 Eevee oh, debian cruft in ubuntu's apt
23:27 mncharity err, ./STD5_run noun -e 'say 3'   the grammar is needed because gimme5 can't always get from TOP down to things it understands.
23:27 mncharity *the grammar rule
23:28 Eevee good lord my perl is too old too
23:28 mncharity :)
23:29 mncharity ruby 1.9.0 is still not primetime.  debian has it as a separate ruby1.9 package.  see misc/STD_red/README.
23:30 Eevee yeah I see it in apt, but I don't know if having it and 1.8 at the same time will break anything
23:30 spinclad perl 6 is a new language
23:30 Eevee time to find out
23:30 mncharity thank you spinclad ;)
23:30 spinclad i have 1.9 along with 1.8
23:31 Eevee I suppose I could really just remove 1.8 if I have to anyway; the only thing depending on it is amarok
23:31 spinclad shouldn't have to, they seem to get along side by side in lenny
23:31 mncharity 1.9 is _not_ a drop-in replacement for 1.8.
23:32 mncharity rather, it's more a prototype for the next major release rev, 2.0.
23:32 mncharity I would be very surprised if debian structured its 1.9 package to stomp on 1.8.
23:33 Eevee I should get into ruby but I don't have anything to write in it
23:33 Eevee STD_red_run insists 'no such file to load'
23:33 Eevee oh wait
23:33 Eevee readline
23:33 Eevee ok
23:35 Eevee ah, cool
23:35 mncharity re "don't have anything to write in it", the elf ruby backend? ;)  but not really.  intent is to make it quite tight and minimalistic.
23:37 Eevee so are there any tests for STD.pm?
23:38 mncharity t/ ?  :)  no.
23:39 mncharity TimToady may have some off-repo.
23:40 mncharity but the LTM parser work was originally characterized as exploratory research, rather than development.
23:40 Eevee ah
23:40 mncharity I'm unclear on it's current status.
23:40 mncharity * its
23:42 mncharity If you have STD_red working and would like to see a dancing pony, well, at least a slightly colorful dog, cd misc/elfish/showcode; make demo
23:44 Eevee hang on, svn updating
23:45 mncharity re the impact of STD.pm bugs on STD_gray (p6), it's certainly harder to be motivated about p6-ifying STD_red when there's a "what a bag of hacks" feeling. :/  Though... upbeat... 70% of t/ isn't bad... and in practice it doesn't much get in the way of actually _using_ the language.
23:46 mncharity much
23:48 * Juerd bangs his head on his desk
23:48 Juerd I had a lot of cron messages from feather in my mailbox.
23:48 mncharity hmm... the payoff is, and thus my focus should perhaps be, re in improving STD_red, in things STD.pm didn't get to (eg, the * in 'sub *foo(){}'), rather than debugging some of its non-local complexity...
23:48 Juerd * */6 * * * root /usr/local/bin/incredibly_u​gly_hack_to_restart_apache
23:49 mncharity LOL
23:49 mncharity sorry. :(
23:49 Juerd There's a very tiny mistake in the first field :D
23:49 Juerd Maybe cron is a bit TOO flexibel :D
23:49 Juerd flexible
23:50 TimToady the goal of STD.pm is to do parsing correctly, even if it does not yet parse Perl 6 well...
23:50 spinclad well, if it grow really fast, you have to restart it often
23:50 spinclad *grows
23:50 mncharity cron: here's your hand.  oh?  you wanted the cut made elsewhere?  well, next time.  try again.  you've a second one.
23:50 spinclad (apache)
23:51 Juerd spinclad: The restarting script itself takes at least 30 seconds. :)
23:51 Juerd spinclad: So restarting it every minute... Hm... Not such a bright idea I guess :)
23:51 TimToady would be worse if it too 90 seconds.  :)
23:51 TimToady *took
23:51 spinclad 50% duty cycle ... not bad
23:51 Juerd TimToady: Heh :)
23:52 mncharity 50% availability with minimal memory use...
23:52 Juerd TimToady: It would have if I had not been convinced (by moritz?) that 3x sleep 30 was a bit much.
23:52 Juerd It's 3x sleep 10 now.
23:53 TimToady what else can we convince you of?  :)
23:55 mncharity TimToady: re STD.pm, there's a big backlog of bug reports, some of which seemed simple fixes.  any thoughts on how to proceed?  fork STD.pm to separate the "LTM research" from the "reference grammar" roles?  dig up someone to help you?  other?
23:59 TimToady part of the bug backlog is because I've been out of town, and part because I've been refactoring the quoting parser to use parametric roles, so I didn't want to check in something completely inoperative
23:59 TimToady I'm sure I wouldn't mind small fixes by other people as long as they merge well with my code :)

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

Perl 6 | Reference Documentation | Rakudo