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.
ingy mncharity: traitor! 00:00
;)
s/traitor/trader/ 00:01
00:01 pmichaud left
ingy :) 00:01
00:03 lisppaste3 left 00:05 cognominal_ joined, armagad_ left
mncharity ingy: ;) sigh. the internals are just too complex. though part of that is just p5 being ugly. 00:14
s/complex/cluttered/... 00:15
s/are/were/ been years
00:17 lisppaste3 joined 00:21 stevan_ joined
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
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
hmm... I have a 32 bit qemu image around here somewhere...
00:35 slavik left
pugs_svnbot r20582 | putter++ | [yet_another_regex_engine] Require current CPAN module versions. Removed two (uninteresting) sources of warnings. 00:44
r20582 | putter++ | Upgrading my Regexp::Common upgrade made all 'unavailable' variable warnings go away. Perhaps by causing masking failures.
r20582 | putter++ | The set of passing tests has changed (increased), but is unexamined. So the numbers in README are now out of date.
mncharity actually, t/re_tests.t is unchanged at 961 96.25%. t/rx.t changed to 536 90.30%. 00:56
01:00 elmex left
pasteling "diakopter" at 209.9.237.164 pasted "prove output" (18 lines, 1.6K) at sial.org/pbot/31157 01:10
diakopter mncharity: see there
pugs_svnbot r20583 | putter++ | [STD_gray] The start of a p6 version of STD_red. 01:14
mncharity woot! 32 bit? 01:15
@tell pmurias Could you recheck yare with a current Regexp::Common? Thanks. 01:17
lambdabot Consider it noted.
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
own box and feather were 32 bit debian. 01:21
diakopter no; mine is 32-bit 01:23
Core Duo, not Core 2 Duo
STD_gray; heh
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:24
re gray, :)
diakopter vroooom: very redundant(ly named) object-oriented object-orientation model 01:28
mncharity LOL 01:30
have to be able to include "meta" in there somewhere...
Very Recursive Object-Oriented Object Meta Model Representing (an) Object-Oriented Object-Orientation Model... vrooomroooom 01:35
hey, svn can co subtrees, nifty! 01:37
01:41 jferrero joined 01:46 pbuetow left
mncharity ok, also working on emulated 32 bit 5.8.8 Regexp::Common/2.120. ticket->"user: resolved?" 01:53
Tene If we can create hashes with circumfix:(), what do we need circumfix:{} for? 02:00
mncharity c:( ) only works with something like a my %h = (...); but {...} can go anywhere, no? 02:05
pugs_svnbot r20584 | putter++ | [elf] TODO: more of the big picture. 02:11
mncharity good night all. diakopter: thanks again. & 02:13
pugs: temp($x) = 3 02:18
exp_evalbot OUTPUT[*** ␤ Unexpected ")"␤ expecting "::"␤ Variable "$x" requires predeclaration or explicit package name␤ at /tmp/cBzEzmSHlv line 1, column 8␤]
02:19 mncharity left 02:24 eternaleye_ joined 02:37 araujo joined 02:47 jferrero left
pugs_svnbot r20585 | bacek++ | [spec] Unfudge more test for rakudo. pmichaud++ for hashes 02:50
r20586 | bacek++ | [spec] Unfudge more test for rakudo. 02:53
02:56 cookys joined
pugs_svnbot r20587 | bacek++ | [spec] Unfudge more test for rakudo. 03:00
03:02 Limbic_Region left 03:08 NewerEn joined 03:19 pmichaud_ is now known as pmichaud 03:21 jhorwitz left 03:31 alanhaggai joined 03:45 NewerEn left 04:00 nipotan is now known as nipotaway
rakudo_svn r27932 | pmichaud++ | [rakudo]: 04:03
r27932 | pmichaud++ | * Fix problem with <pod_comment> rule destroying statement end
r27932 | pmichaud++ | * bacek++ for providing a simple test case
04:05 wknight8111 left
rakudo_svn r27933 | pmichaud++ | [rakudo]: 04:36
r27933 | pmichaud++ | * Add anonymous version of =begin...=end pod_comment. (bacek++)
04:52 chadmaynard joined 05:11 benjammy is now known as bnjmn- 05:16 luqui joined 05:35 IllvilJa left
pugs_svnbot r20588 | bacek++ | [spec] Unfudge more test for rakudo. 05:46
[particle] bacek++ 05:52
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 :)
05:57 FurnaceBoy left 06:17 chadmaynard left 06:39 alanhaggai_ joined 06:45 cognominal_ left 06:53 alanhaggai left 06:55 cognominal_ joined, rindolf joined 06:58 cognominal_ left 06:59 meppl joined 07:03 alc joined 07:06 clkao joined 07:27 iblechbot joined 07:38 IllvilJa joined
moritz_ rakudo: say 2 ~~ 3 07:48
exp_evalbot rakudo r27933 OUTPUT[0␤]
moritz_ rakudo: say 2 ~~ 2
exp_evalbot rakudo r27933 OUTPUT[1␤]
moritz_ rakudo: say "a" ~~ "b"
exp_evalbot rakudo r27933 OUTPUT[0␤]
moritz_ rakudo: say "a" ~~ "a" 07:49
exp_evalbot rakudo r27933 OUTPUT[1␤]
moritz_ bacek: maybe rakudo's Test.pm sub is() should just use ~~ to compare its values
bacek: and then hope that nobody ever passes a regex to is()
;-) 07:50
08:00 alanhaggai_ left 08:13 renormalist left
bacek moritz_: hmm. 08:19
rakudo: say (1..2) ~~ (1..2)
exp_evalbot rakudo r27933 OUTPUT[Method 'ACCEPTS' not found for invocant of class 'List'␤current instr.: 'infix:~~' pc 8120 (src/gen_builtins.pir:5625)␤
bacek no way :)
moritz_ rakudo: say (1..2) eq (1..2) 08:21
exp_evalbot rakudo r27933 OUTPUT[1␤]
moritz_ ok, you're right
spinclad rakudo: say (1..2) cmp (1..2) 08:23
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:25 bsb joined
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
it's the -0.0's that want something like cmp_ok maybe
moritz_ spinclad: ok, go ahead 08:27
but add a test that -0 == 0 somewhere
spinclad (but not now; /me wants sleep. i'll catch up with discussion and look things over in the morning.) 08:31
-0 == 0: indeed. 08:32
bacek rakudo: say -0 eq 0 08:33
exp_evalbot rakudo r27933 OUTPUT[0␤]
spinclad rakudo: say -0 08:34
exp_evalbot rakudo r27933 OUTPUT[-0␤]
spinclad perl6: say -0
exp_evalbot kp6 r20588: OUTPUT[␤]
..pugs: OUTPUT[0␤]
..rakudo r27933: OUTPUT[-0␤]
..elf r20588: OUTPUT[0␤]
bacek perl6: say -0 eq 0
exp_evalbot kp6 r20588: OUTPUT[␤]
..pugs: OUTPUT[1␤]
..rakudo r27933: OUTPUT[0␤]
..elf r20588: OUTPUT[1␤]
spinclad thinks rakudo is odd one out. kp6's '' is odd too though. 08:35
moritz_ aye 08:36
pmichaud mentioned that parrot automatically converts between int and float at times
maybe a -0 triggers float behaviour
bacek perl6: say ~-0 === ~0
exp_evalbot kp6 r20588: OUTPUT[syntax error at position 4, line 1 column 4:␤say ~-0 === ~␤ ^ HERE␤]
..pugs: OUTPUT[1␤]
..rakudo r27933: OUTPUT[Could not invoke non-existent sub infix:===␤current instr.: '_block11' pc 68 (EVAL_11:22)␤
..elf r20588: OUTPUT[syntax error at (eval 14) line 3, near "==="␤ at ./elf_f_faster line 4461␤]
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
bacek I think pugs is wrong... 08:38
spinclad perl6: say ~-0
exp_evalbot kp6 r20588: OUTPUT[syntax error at position 4, line 1 column 4:␤say ~-␤ ^ HERE␤]
..pugs: OUTPUT[0␤]
..rakudo r27933: OUTPUT[-0␤]
..elf r20588: OUTPUT[-4294967295␤]
spinclad woof!
spinclad thinks pugs right
moritz_ too
bacek pugs: my $a=-0; say $a.WHAT() 08:39
exp_evalbot OUTPUT[Int␤]
spinclad rakudo: my $a=-0; say $a.WHAT()
exp_evalbot rakudo r27933 OUTPUT[Num␤]
moritz_ that's the heart of the problem 08:40
bacek rakudo: my $a = int(-0); say $a.WHAT()
exp_evalbot rakudo r27933 OUTPUT[Num␤]
bacek moritz_: +1
moritz_ elf: say ~1 08:41
exp_evalbot OUTPUT[4294967294␤]
moritz_ elf uses '~' for the perl5ish binary negation
while it should use it for stringification
spinclad -> $bed { ~~~ } & 08:43
bacek > say int(-0).WHAT() 08:47
Int
lambdabot Not in scope: data constructor `WHAT'
bacek this is better
> say int(-0.5) eq int(-0) 08:48
0
lambdabot Not in scope: `eq'
bacek but this is not...
rakudo: say int(-0) eq -0 08:49
exp_evalbot rakudo r27933 OUTPUT[1␤]
bacek rakudo: my $a=int(-0.5); my $b=-0; say $a eq $b; 08:50
exp_evalbot rakudo r27933 OUTPUT[1␤]
bacek yeek
pugs_svnbot r20590 | moritz++ | [svn-search] terse output even terser ;-) 09:02
moritz_ moritz.faui2k3.org/svn-search/searc...on;terse=1 09:04
lambdabot Title: Pugs SVN search, tinyurl.com/5bc62x
09:05 bacek left 09:08 c1sung left 09:15 ting left 09:44 wknight8111 joined 10:08 penk joined 10:20 cognominal_ joined, dolmen joined 10:31 pbuetow joined 10:35 wknight8111 left
bacek__ perl6: my @r; @r.push<hi>; say ~@r; 10:41
exp_evalbot kp6 r20590: OUTPUT[syntax error at position 17, line 1 column 17:␤my @r; @r.push<hi>; say ~@r␤ ^ HERE␤]
..pugs: OUTPUT[*** Odd number of elements found where hash expected: VInt 0␤ at /tmp/6CXqWqeuzm line 1, column 8-19␤]
..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)␤
..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␤]
bacek__ rakudo: my @r; @r.push<hi>; 10:42
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 IllvilJa left 10:45 wknight8111 joined 10:46 alc left 11:00 cognominal_ left, dolmen left 11:10 cognominal_ joined 11:12 iblechbot left 11:18 bsb left 11:21 cognominal__ joined 11:33 wknight8111 left 11:34 cognominal_ left 11:45 icwiener joined
icwiener Hi, there is an excellent series of micro articles on www.perlfoundation.org/perl6/index....roarticles . 11:46
lambdabot Title: Perl 6 microarticles / Perl 6, tinyurl.com/2t5546
icwiener The author said that the next article is coming in january, but it is not on the page. 11:47
Was the seies stopped?
+r
rindolf icwiener: I think it was IIRC. 11:58
icwiener A pity. Very informative articles. 11:59
12:01 osfameron joined
osfameron afternoon 12:02
12:09 icwiener left 12:11 cognominal_ joined 12:13 kolibrie joined 12:20 Alias_ joined, IllvilJa joined 12:25 cognominal__ left 12:27 alanhaggai joined 12:43 b_jonas joined 12:58 dalek joined 12:59 iblechbot joined 13:01 pmichaud_ joined, pmichaud left 13:05 FurnaceBoy joined 13:08 cognominal_ left 13:17 alc joined 13:18 chris2 joined 13:21 cmarcelo joined 13:24 cmarcelo left 13:43 wknight8111 joined 13:57 rindolf left 14:01 braceta joined 14:03 eternaleye_ left 14:04 braceta left 14:07 pmichaud_ is now known as pmichaud 14:09 Alias_ left 14:13 cognominal_ joined 14:16 alanhaggai left
pugs_svnbot r20591 | bacek++ | [spec] Get rid of useless 'eval_dies_ok'. Use dies_ok instead 14:21
r20592 | bacek++ | [spec] Get rid of useless 'eval_dies_ok'. Use dies_ok instead 14:24
14:24 dolmen joined 14:28 alanhaggai joined 14:35 alanhaggai left 14:36 Southen joined 14:39 alanhaggai joined 14:40 dolmen left 14:42 TJCRI joined 14:43 alanhaggai left 14:48 araujo left 14:51 cjfields joined 14:53 wknight8111 left, wknight8111 joined 14:54 cjfields_ joined 14:55 cjfields_ left, cjfields_ joined
diakopter the key to building a good compiler is to build it for a well-designed language. 15:00
15:01 smtms left 15:03 alanhaggai joined
Juerd diakopter: Isn't that what we've been doing for almost a decade now? :) 15:05
15:05 smtms joined 15:10 cjfields left 15:13 alanhaggai left 15:18 alanhaggai joined 15:20 cjfields_ is now known as cjfields 15:29 sscaffidi joined 15:30 jiing joined
pmichaud pugs: say Scalar.isa(Any); 15:34
exp_evalbot OUTPUT[1␤]
15:41 cognominal_ left 15:45 cosimo left 15:50 cognominal_ joined 15:54 sscaffidi left 15:57 justatheory joined 15:58 luqui left 16:05 sscaffidi joined 16:06 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner 16:08 armagad_ joined 16:10 penk left, sri_work joined
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:13
16:17 cognominal_ left 16:21 elmex joined, AtomicStack joined 16:24 eternaleye_ joined 16:32 braceta joined 16:45 eternaleye_ left 16:56 macae joined 16:57 nipotaway is now known as nipotan 17:00 Alias_ joined 17:02 schmalbe joined 17:08 sri_work left 17:18 vixey left 17:22 alc left 17:41 jhorwitz joined 17:44 kanru joined 18:01 AtomicStack left, araujo joined 18:03 shachaf joined 18:07 cjfields left 18:20 alanhaggai left 18:21 hillmyster9 joined
hillmyster9 anyone here know the adress for Runehq? 18:22
Juerd I don't know what runehq is.
18:22 alanhaggai joined
hillmyster9 its runescape help page 18:23
some what like tip.it
Auzon Google sats www.runehq.com/ -- but that's very random.
*says 18:24
Random question, that is
Tene I'd suggest asking the runescape community for that.
hillmyster9 how do i do that 18:29
were is the runescape cammunity 18:30
Auzon Not here, certainly.
Did you see my link above?
hillmyster9 .... ya 18:31
Auzon Did it work?
hillmyster9 i got a block
my computer is blocked for that site
Tene hillmyster9: This isn't a runescape channel, so it's unlikely anyone here will know anything about runescape.
hillmyster9 oh its not
well what the heck
i got on this thing from a runescape site
what chanel is a runescape one 18:32
Auzon As a guess, I'd say #runescape . Other than that, Google is your friend. 18:33
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.
hillmyster9 what is perl god dangit i keep hering people talking about it but i dont know what it is
Auzon It's a programming language. 18:34
hillmyster9 that dont help i can hack any computer you give me
but i have not one sigle clue what you aretalking about
i can get into my schools mainframe
i did it once on accident
lol 18:36
what i just hit a button when i was trying to do something else and boom
i got in
im like .....................cool
???? hello 18:37
Tene Yes? 18:41
18:49 apeiron joined 18:55 hillmyster9 left 18:56 sail0r joined 18:59 schmalbe left 19:04 kanru left 19:08 cjfields joined, kanru joined 19:17 Lorn joined
Auzon rakudo: say ^4 19:24
exp_evalbot rakudo r27945 OUTPUT[0123␤]
Auzon rakudo: say ^(4,4)
exp_evalbot rakudo r27945 OUTPUT[01230 1 2 3␤]
Auzon rakudo: ^(4,4)
exp_evalbot rakudo r27945 RESULT[[[[0, 1, 2, 3]], [[0, 1, 2, 3]]]]
Auzon Not quite right 19:25
TimToady ^(@array.shape) should probably produce all the indexes of the array somehow 19:29
Auzon pugs: my @a = 1 .. 10; @a.shape 19:36
exp_evalbot OUTPUT[*** No such method in class Array: "&shape"␤ at /tmp/PS0R680OCp line 1, column 18 - line 2, column 1␤]
Auzon perl6: my @a = 1 .. 10; @a.shape
exp_evalbot kp6 r20592: OUTPUT[no method 'shape' in Class 'Array'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x8e52314)', 'shape') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x8e52314)', 'shape') called at compiled/perl5-kp6-mp6/lib/Kin...
..pugs: OUTPUT[*** No such method in class Array: "&shape"␤ at /tmp/jXr7kjTYsB line 1, column 18 - line 2, column 1␤]
..rakudo r27945: OUTPUT[Method 'shape' not found for invocant of class 'Perl6Array'␤current instr.: '_block11' pc 72 (EVAL_11:27)␤
..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␤]
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?
Auzon Not necessarily. 19:38
b_jonas just the shape method or the shape type?
or is shape of some existing type? 19:39
lemme look up
Auzon It's a method.
spinclad i think nobody's done multi-dims yet
b_jonas it says 19:40
The .shape method also works on such an array; it returns a slice of the valid keys for each dimension.
spinclad (it's possible pugs may have done a bit, but not shape)
b_jonas what's a slice mean there?
well, just because they don't do multi-dims, I think the shape accessor could be there
spinclad slice would mean sub-array i think 19:41
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)."
so why should ^(.shape) work?
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].
So ^(@array.shape) would presumably return the same permutations on the array indexes 19:44
spinclad [0.0], [0,1], [1,0], [1,1]
Auzon Oops, right
spinclad s/\./,/
19:44 braceta_ joined
b_jonas Auzon: yeah 19:45
Auzon but neither ^(2,2) nor @a.shape works anywhere.
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:47
b_jonas that is, documented in the S
Auzon Which one? ^@a.shape or ^(2,2)?
b_jonas ^(2,2)
Auzon That's documented in S03
line 2696
b_jonas Auzon: indeed 19:49
Auzon I imagine ^@a.shape will appear soon enough :)
b_jonas I mean, it could have generated [[0, 1], [2, 3]] instead
like iota in apl 19:50
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.
b_jonas I don't think so 19:51
"oop"?
spinclad ( @a and ^(@a.shape) should have the same shape)
b_jonas why? 19:52
would @@a[^(@a.shape)] even work if ^ returned that array of array of arrays?
in S03, this sentence: 19:53
"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:54 braceta left
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
it would be wierd otherwise
spinclad array of array of indexes: then the slice is an identity map. 19:55
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:57
b_jonas wait, I'm not sure what @@a[anything] does at all 19:59
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...
pmichaud I don't think any of the impls do "shape" yet. That's relatively recent addition to the spec.
b_jonas should @@a[[3, 9]] be equivalent to @a[3; 9] ?
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:02
spinclad why?
b_jonas 'for ^shape { }' should iterate over the indices
I mean
'for ^$shape { }'
oh wait,
spinclad i agree 20:03
b_jonas how does ^ work on a multi-dim array?
it doesn't just slice on the first dimension?
it's ok then
at least maybe
I'm still not sure
20:06 sail0r left 20:07 macae left
spinclad (hypothetically) for ^(2,2) -> $index { say $index } ---> (0,0) \n (0,1) \n (1,0) \n (1,1) 20:08
20:08 braceta joined
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:09
(i think so)
20:09 jferrero joined 20:11 simcop2387 left
b_jonas spinclad: so then you could use @@(^(2,2)) to get a flat array of indices? 20:13
TimToady spinclad: nope, it'd be @a[2]
spinclad TimToady: because +$index is 2? 20:14
TimToady nod
b_jonas TimToady: so you have to use @a[[;]$index] or @a[[;][$index]]?
also, does @@a[$foo] uses $foo as a flat numeric index?
TimToady $foo would index the dimension 20:15
spinclad won't @a[[;]$index] then just take +[;]$index again?
20:15 TJCRI left
b_jonas index the dimension? what does that mean? 20:16
TimToady you probably just want @a[@@$index]
b_jonas @@$index? what does that do? or is @@ special there? 20:17
20:17 braceta_ left
TimToady slice interpolators into subscripts are special, yes 20:17
b_jonas uh huh
spinclad @@ is multidimarray context
lambdabot is multidimarray context
TimToady it has to know that ** is a multidimensional whatever too
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:19
lemme look that up i nS02
yeah S02 says it's just another whatever 20:20
20:20 donaldh joined
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:21
20:21 renormalist joined
b_jonas ok, thanks for the teaching 20:22
TimToady bbl & 20:24
b_jonas I wonder which operator is called "splat" now 20:25
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...
b_jonas the whatever, the glob, both, the flatten-bar, or something else 20:26
spinclad anything spelled '*'
b_jonas so the whatever and the glob and the multiplication then 20:27
ok
spinclad mm.. not multiplication i think
b_jonas heh
spinclad 'everyone wants the *' 20:28
(oh, wait, that was :)
20:34 b_jonas left, b_jonas joined 20:39 mncharity joined 20:43 AndyAwy is now known as Andy
pugs_svnbot r20594 | putter++ | [elf] misc/elf/ directory cleanup - moving elf_[a-e] Aside/. someone++ 20:43
r20595 | putter++ | [elf] Cleanup - misc/elfish_smop and misc/elf/smop moved to misc/elfish/. Started empty on_javascript and on_ruby projects. 20:49
20:55 jjore is now known as zz_jjore, zz_jjore is now known as jjore, sscaffidi left 20:58 renormalist left, renormalist joined
rakudo_svn r27947 | jonathan++ | [rakudo] Fix .+ and .*; they got missed while getting the new metamodel in place. 21:17
21:20 cognominal_ joined 21:28 chris2 left 21:29 renormalist left, renormalist joined 21:36 renormalist left, renormalist joined 21:41 Auzo1 joined
pugs_svnbot r20596 | putter++ | [elf] Knock off a few tests. Update run_tests.results. Expand TODO. 21:44
21:45 Auzo1 is now known as Auzon, Alias_ left
Auzon mncharity++ # elf directory cleanup 21:48
21:52 b_jonas left
mncharity hi Auzon. :) 21:58
mncharity wrestles with STD.pm's broken statement/stdstopper code... again... :/ 22:05
wolverian hm. if I wanted to change a list of Foos to a list of Bars, could I say list.map(&Bar)? 22:13
mncharity no idea, sorry. lst.map {.Bar} perhaps? 22:20
wolverian perhaps. I'm driving at whether constructors are functions 22:23
mncharity ah 22:24
22:31 [particle]1 joined
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:31
22:33 cjfields left 22:34 Andy left
Auzon Would that allow you to remove the need for Ruby, and would that have any benefits? 22:36
meppl good night 22:41
22:42 [particle] left, donaldh left, meppl left
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:43
22:43 iblechbot left
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:45
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:48
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:50
obra: You asked weeks ago about needed resources. ^^^ 22:52
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. 23:00
Eevee experience required with technology we haven't finished yet :P
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:02
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
Eevee: could take a look at svn.pugscode.org/pugs/src/perl6/STD.pm ... I'd be happy to answer any questions... 23:05
23:05 lisppaste3 left
mncharity Though admittedly there's a lot of cruft, so the barrier to entry is non-trivial. :/ 23:06
pugs_svnbot r20597 | putter++ | [STD_red] Update test-status. 23:08
23:09 renormalist left, renormalist joined
Eevee yes, seeing "XXX random inconsistent ideas" is never a good sign 23:09
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:13
23:15 renormalist left
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
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
23:18 lisppaste3 joined
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:20
lambdabot Consider it noted.
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
rakudo is actively trying to sync with it yet - I have seen mention of long-term intent, but no commit messages. 23:24
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:26
cd misc/STD_red; ./STD_red_run -e 'say 3'
cd src/perl6; ./STD5_run -e 'say 3'
23:26 silug left
Eevee wow my ruby is too old 23:27
oh, debian cruft in ubuntu's apt 23:28
23:28 jhorwitz left
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:28
*the grammar rule
Eevee good lord my perl is too old too 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:31
spinclad perl 6 is a new language
Eevee time to find out
mncharity thank you spinclad ;)
spinclad i have 1.9 along with 1.8
Eevee I suppose I could really just remove 1.8 if I have to anyway; the only thing depending on it is amarok
spinclad shouldn't have to, they seem to get along side by side in lenny 23:32
mncharity 1.9 is _not_ a drop-in replacement for 1.8.
23:32 wknight8111 left
mncharity rather, it's more a prototype for the next major release rev, 2.0. 23:32
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
STD_red_run insists 'no such file to load' 23:34
oh wait
readline
ok
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.
Eevee so are there any tests for STD.pm? 23:37
mncharity t/ ? :) no. 23:39
TimToady may have some off-repo. 23:40
but the LTM parser work was originally characterized as exploratory research, rather than development. 23:41
Eevee ah
mncharity I'm unclear on it's current status.
* its
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:43
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
much 23:47
Juerd bangs his head on his desk 23:49
I had a lot of cron messages from feather in my mailbox.
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...
Juerd * */6 * * * root /usr/local/bin/incredibly_ugly_hack_to_restart_apache
mncharity LOL
sorry. :( 23:50
Juerd There's a very tiny mistake in the first field :D
Maybe cron is a bit TOO flexibel :D
flexible
TimToady the goal of STD.pm is to do parsing correctly, even if it does not yet parse Perl 6 well... 23:51
spinclad well, if it grow really fast, you have to restart it often
*grows
mncharity cron: here's your hand. oh? you wanted the cut made elsewhere? well, next time. try again. you've a second one.
spinclad (apache)
Juerd spinclad: The restarting script itself takes at least 30 seconds. :)
spinclad: So restarting it every minute... Hm... Not such a bright idea I guess :) 23:52
TimToady would be worse if it too 90 seconds. :)
*took
spinclad 50% duty cycle ... not bad
Juerd TimToady: Heh :)
mncharity 50% availability with minimal memory use...
Juerd TimToady: It would have if I had not been convinced (by moritz?) that 3x sleep 30 was a bit much. 23:53
It's 3x sleep 10 now.
TimToady what else can we convince you of? :) 23:54
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:56
23:57 bacek__ left