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
ingy :) 00:01
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
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...
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
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
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␤]
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
pugs_svnbot r20587 | bacek++ | [spec] Unfudge more test for rakudo. 03:00
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
rakudo_svn r27933 | pmichaud++ | [rakudo]: 04:36
r27933 | pmichaud++ | * Add anonymous version of =begin...=end pod_comment. (bacek++)
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 :)
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
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)␤
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
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)␤
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
osfameron afternoon 12:02
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
diakopter the key to building a good compiler is to build it for a well-designed language. 15:00
Juerd diakopter: Isn't that what we've been doing for almost a decade now? :) 15:05
pmichaud pugs: say Scalar.isa(Any); 15:34
exp_evalbot OUTPUT[1␤]
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
hillmyster9 anyone here know the adress for Runehq? 18:22
Juerd I don't know what runehq is.
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
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/\./,/
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."
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
spinclad (hypothetically) for ^(2,2) -> $index { say $index } ---> (0,0) \n (0,1) \n (1,0) \n (1,1) 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:09
(i think so)
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?
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
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
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
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 :)
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
rakudo_svn r27947 | jonathan++ | [rakudo] Fix .+ and .*; they got missed while getting the new metamodel in place. 21:17
pugs_svnbot r20596 | putter++ | [elf] Knock off a few tests. Update run_tests.results. Expand TODO. 21:44
Auzon mncharity++ # elf directory cleanup 21:48
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
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
Auzon Would that allow you to remove the need for Ruby, and would that have any benefits? 22:36
meppl good night 22:41
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
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
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
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
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
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'
Eevee wow my ruby is too old 23:27
oh, debian cruft in ubuntu's apt 23:28
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.
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