pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~340 days 'til Xmas
Set by mncharity on 16 January 2009.
pugs_svn r25018 | putter++ | [elfparse] Working towards elf running std.pm. Synced with STD.pm. 00:03
00:06 pmurias left 00:12 pbuetow left 00:21 aindilis joined 00:43 wilsinclair joined 00:46 |jedai| left 00:48 |jedai| joined 00:49 wilsinclair left 00:59 wknight8111 joined, Whiteknight left
mtnviewmark perl6: 17 mod 5 01:12
p6eval pugs: OUTPUT«*** ␤ Unexpected "mod"␤ expecting operator␤ at /tmp/bJbNNGXWCY line 1, column 4␤» 01:13
..rakudo 35948: OUTPUT«Parrot VM: PANIC: Null vtable used; did you add a new PMC?!␤C file src/pmc.c, line 246␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot. Use parrotbug (located in parrot's root directory)
..or se...
..elf 25018: OUTPUT«Undefined subroutine &GLOBAL::infix_mod called at (eval 119) line 3.␤ at ./elf_h line 4333␤»
mtnviewmark hmmm.... so maybe mod really is no longer an operator.. seems like a shame
perl6: 17 div 5
p6eval elf 25018: OUTPUT«Undefined subroutine &GLOBAL::infix_div called at (eval 119) line 3.␤ at ./elf_h line 4333␤»
..pugs: OUTPUT«*** ␤ Unexpected "div"␤ expecting operator␤ at /tmp/ex2YVxp4Hy line 1, column 4␤»
..rakudo 35948: OUTPUT«Parrot VM: PANIC: Null vtable used; did you add a new PMC?!␤C file src/pmc.c, line 246␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot. Use parrotbug (located in parrot's root directory)
..or se...
mtnviewmark well - doesn't look like div fares any better 01:14
01:20 |jedai| left, |jedai| joined 01:26 mtnviewmark left 01:32 spooneybarger left
diakopter ruoso: you still around? 01:40
ruoso barelu
diakopter v6/smop/build/p5_coro.c:41: undefined reference to `_Perl_get_sv' 01:41
what am I missing from which path
01:41 spx2 left 01:42 spx2 joined
diakopter ruoso: in case you didn't see it, question above 01:43
01:43 rabbits77 joined
ruoso diakopter, you can skip those files, as p5 integration will depend on pcl anyway 01:44
diakopter ok.. 01:45
01:45 rabbits77 left 01:46 |jedai| left, |jedai| joined
diakopter ruoso: then I get build/s1p_lexical_prelude.c:47: undefined reference to `_SMOP__P5Interpreter' 01:50
ruoso: (I renamed src/p5*.ri)
ruoso you can comment that line in there 01:51
pmurias added te p5 interpreter into the prelude, but you're not building it
diakopter ruoso: build/smop.os: In function `smop_init': 01:55
/home/mwilson/source/pugs/v6/smop/build/smop.c:9: undefined reference to `_smop_p5interpreter_init'
ruoso: thanks for your help, btw 01:56
ruoso ok... that's in internal.h
01:56 spooneybarger joined
ruoso it's a header file that lists the initialization functions 01:56
you need to comment the reference to p5interpreter again
(that's probably valid for pcl coro as well) 01:57
diakopter ruoso: ok
01:57 mtnviewmark joined 01:59 mtnviewmark left
diakopter ruoso: I got a smop.dll 02:01
ruoso cool 02:02
diakopter ruoso: thanks for your help; gtg for the evening... ttyl
ruoso ;)
02:03 kid51 joined 02:07 mtnviewmark joined 02:10 |jedai| left, |jedai| joined
TimToady Matt-W: actually, <![abc]> is not strictly a negated character class, it's just a negative lookahead of an ordinary class, with 0 width 02:23
if you also want it to match a character, use <-[abc]> instead
that is equiv ot <![abc]> . 02:24
02:27 jhuni joined 02:35 |jedai| left
mtnviewmark oh, TimToady --- is div and mod in on the operators? 02:35
or are they out? 02:36
02:36 |jedai| joined
mtnviewmark also - \ is listed as an operator in S03, but not in STD.pm ? 02:37
02:44 PZt left 02:48 mtnviewmark left 02:49 icwiener_ left 03:03 wknight8111 left
pugs_svn r25019 | bacek++ | [spec] Fix S29/chomp.t test plan, add fudge for chomp with named argument. 03:15
03:21 |jedai| left, |jedai| joined 03:28 DemoFreak left 03:39 alester joined 03:44 |jedai| left 03:45 |jedai| joined 03:55 aindilis` joined 04:10 kid51 left 04:11 |jedai| left, |jedai| joined
TimToady in 04:15
araujo out
TimToady, around? 04:24
04:27 Sepheebear joined
TimToady kinda 04:31
04:32 ChrisDavaz left
araujo wants TimToady's opinion about a language he is designing 04:33
s/wants/would like/
:-P
04:36 eternaleye joined
Tene_ araujo: I'm curious. 04:38
04:39 stevenjenkins joined, stevenjenkins left
TimToady crum, I just figured out that list associative operators need to be right associative when the operator differs, not left 04:39
araujo Tene_, hah .. oh, well, it is not a big thing really ... it is a stack-based object oriented language , it's how i like to define it
TimToady by 'stack-based' do you mean closer to Forth or to Java? 04:40
araujo And .. I am trying to beat perl 6 in the operator and keyword count
:-P
TimToady I mean, Perl 5 is stack based...
araujo TimToady, Closer to Forth 04:41
Like a concatenative language
TimToady so kinda like a Parrot that is stack-based rather than register based
araujo Everything is an object and even a stack is an object, where the stack is the main execution environment ... 04:42
Correct TimToady
TimToady so why not just program it in Japanese? :)
araujo hahaha I need to learn japanese first 04:43
:-]
I have found the message passing style and the stack based approach very appealing ..
And .. they happen to work very well, either syntactically , and semantically
together , that is it 04:44
araujo is even thinking to get it run by parrot 04:48
04:55 nihiliad joined 05:04 nihiliad left 05:06 kulp left
Tene_ moritz_: ping 05:14
05:14 aindilis` left 05:16 Sepheebear left 05:20 |jedai| left, |jedai| joined 05:33 meppl joined 05:40 Limbic_Region left 05:56 gravity left 06:02 alester left
pugs_svn r25020 | schwarzer++ | typo 06:04
06:06 |jedai| left 06:07 |jedai| joined, c9s_ is now known as c9s 06:13 namenlos left, alester joined 06:15 |jedai| left, |jedai| joined 06:19 kisu__ left, kisu joined
frew Is it valid to have a strsub with a strpos less than the initial int? i.e. my StrPos $p = 2; "frew".substr(3, $p) 06:20
06:28 eric256 joined 06:30 alester left 06:31 eric256 left 06:56 _jedai_ joined 06:58 |jedai| left 07:01 justatheory left 07:21 silug left 07:22 ChrisDavaz joined, silug joined 07:26 oss joined 07:41 _jedai_ left 07:42 |jedai| joined 07:47 oss left 07:53 bacek_ left 08:22 ChrisDavaz left 08:57 ChrisDavaz joined 09:38 finanalyst joined 09:50 pmurias joined
pmurias ruoso: Coro contains (and uses) a C coroutine implementation so we can use it without PCL 09:53
09:54 jhuni left 09:56 schmalbe joined 10:01 |jedai| left, |jedai| joined
pmurias ruoso: what i think would be a better solution than having a prefix:<=> method is to keep the variants we need to implement Multi in SMOP::Primitives or similar 10:05
10:08 iblechbot joined 10:23 ejs joined 10:31 __felix__ joined, __felix__ left
pmurias TimToady: is &Foo::Bar::infix:<+> legal? 10:31
pugs_svn r25021 | pmurias++ | [smop] [mildew] fixed include paths 10:48
r25021 | pmurias++ | [mildew] FETCH is called before .prefix<=> (spec contradicting behaviour still)
r25021 | pmurias++ | [smop] removed a duplicated accessor from s1p_multi
10:51 DemoFreak joined 11:00 pmurias left 11:30 ejs left 11:38 pbuetow joined 11:51 masak joined 11:56 jan_ left, |jedai| left 11:58 |jedai| joined
ruoso @tell pmurias in the case we really want to make the code more spec-aware, we could make $obj.prefix:<=>() explicitly, instead of doing =$obj 12:00
lambdabot Consider it noted.
ruoso since prefix:<=> is expected to be a method on Iterator 12:01
and, I think, the default implementation is: multi prefix:<=>(Any $obj) { $obj.prefix:<=>() } 12:02
and that is probably the default for every unary operator
and that's why TimToady told us the compiler is free to optimize it away where there are no multi candidates for the operator 12:03
that means I don't think it is that bad for mildew to simply drop the support for unary ops overload before compiler bootstrap 12:04
since you can simply override the method in the object, instead 12:05
@tell pmurias I started writing in a @tell, but then wrote some stuff directly... please backlog (which you probably already did) 12:06
lambdabot Consider it noted.
12:07 namenlos joined
ruoso @tell pmurias btw, the use of postfix:<++> as a method is an error, I just haven't the time fix it 12:08
lambdabot Consider it noted.
12:16 |jedai| left, |jedai| joined 12:25 spx2 left, spx2 joined 12:31 vixey joined 12:49 |jedai| left, |jedai| joined 12:52 schmalbe left 13:01 pmurias joined 13:04 ejs joined
pmurias ruoso: isn't having both a method and a multi for the same thing duplication? 13:05
lambdabot pmurias: You have 3 new messages. '/msg lambdabot @messages' to read them.
ruoso pmurias, I think the idea of having it as a multi is allowing to change the default behavior 13:08
which is to delegate to the object
pmurias i guess we can always change it later if it proves to be incorrect 13:09
int.infix:<< >= >> in array_iterator seems to be incorrecy 13:11
* incorrect
13:14 slavik joined
ruoso yes.. 13:14
slavik morning
ruoso pmurias, it is also incorrect
pmurias is there a reason for S1P__Array__Iterator to be in c/m0ld rather that p6?
slavik: good afternoon ;)
slavik does rakudo have something equivalent to haskell's [3,5,7,...] ?
ruoso I think it was written before we had mildew
slavik pmurias: it's 8:15AM ... what afternoon? 13:15
masak slavik: Rakudo doesn't AFAIK, but it's specced. 13:17
lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
slavik aww :(
masak @massage
lambdabot pmurias said 19h 25m 15s ago: the evalbot runs on timtowtdi.org not on feather
masak oh.
rakudo: say "still out of memory?" 13:18
p6eval rakudo 35948: OUTPUT«Parrot VM: PANIC: Null vtable used; did you add a new PMC?!␤C file src/pmc.c, line 246␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot. Use parrotbug (located in parrot's root directory) or
..se...
masak :/
pmurias: someone should do something about that.
pmurias slavik: is [3,5,7,...] valid haskell
slavik pmurias: I think so
masak I think so too.
Haskell is slightly magical.
slavik pmurias: haskell is smart with lists like that :)
pmurias ghc thinks otherwise 13:19
slavik maybe it was 2 dots?
either way, I remember that it could generate a list given a few starting elements
masak haskell.org/tutorial/goodies.html#sect2.4.1 13:22
it's two dots and no comma.
13:25 |jedai| left, |jedai| joined
slavik masak: ty ^^ 13:28
pmurias ruoso: 13:29
what would the correct non-multi version of infix:<+> and >= be? 13:30
13:30 slavik left 13:32 jan_ joined 13:40 kanru joined, aindilis` joined
masak TimToady: sometimes I'm unhappy about how restrictive the 'class Foo;' syntax is. the idea is very sound, to remove a level of indentation that encompasses practically the whole file. but I can't do 'class Foo is Bar;', because there's no way to put a use statement before that statement. putting the 'is Bar;' statement on its own line (after the use statement) feels inelegant in another way. the class-semicolon syntax is both full of 13:47
promise and a straitjacket right now.
13:49 aindilis` left 13:50 aindilis` joined 13:54 aindilis left 14:06 aindilis` left 14:07 spooneybarger left 14:16 |jedai| left, _jedai_ joined, Whiteknight joined 14:36 _jedai_ left, |jedai| joined 14:39 rindolf joined 14:41 duke_leto joined 14:54 kid51 joined
diakopter pmurias: hi 15:07
15:08 ejs left 15:10 gravity joined
pmurias diakopter: hi 15:18
diakopter pmurias: smop finished building, I think 15:23
how do I know whether the tests ran?
15:23 bahaa2008 joined
diakopter pmurias: I got a smop.dll, but no executable? 15:24
15:25 kanru left
diakopter pmurias: or, is the test that these .o files built correctly in build-tests/ ? 15:25
pmurias you should have executables in build-tests 15:26
they end with .t
diakopter ahah... yeah, the .t files should be .t.exe on windows
18 .t files, yes. 15:27
should I just try executing them? :)
pmurias you can type make test to run them
diakopter oohhhhhhhhhh
ok
diakopter feels dumb[er]
well, if valgrind were installed 15:28
pmurias you can comment valgrind out
TimToady frew: if the calculated length of a substr is negative, it should probably fail, since it's more likely to be a logic error than to indicate a desire for a reversed string 15:29
pmurias: yes, &Foo::Bar::infix:<+> is quite valid 15:30
pmurias diakopter: valgrind doesn't seem to be ported to windows but it's only a debugging tool
diakopter: if the tests run you can try running mildew 15:31
diakopter: type "make test" in v6/mildew to run mildew tests
frew alright 15:32
I'm gonna see about adding some tests to assure it fails in that case 15:33
TimToady masak: yes, STD allows use before class Foo is Bar; 15:34
however it's not clear the p6 autorecognizer will work in that case
diakopter pmurias: well, the .t files need renamed to .t.exe, and the smop.dll needs copied to the build-tests dir, but they run
TimToady so you might have to start with 'use v6'
diakopter pmurias: but prove doesn't want to run them with the .t.exe
TimToady alternately, class Foo is Bar; might autouse Bar 15:35
shoer &
*shower
and coffee, obviously...
&
masak TimToady: I consider starting with 'use v6' good style anyway. thanks for the good news. submitting rakudobug. :) 15:36
15:36 |jedai| left, |jedai| joined
masak TimToady: re autouse, I was thinking that too. I'm not sure if it's worth it, though. it's kind of a slippery slope. 15:38
pmurias train& 15:42
diakopter: something like $(PROVE) tests/*.t.exe should work
train&
15:42 pmurias left 15:48 kid51 left
masak TimToady: in S03:3043, .sig is a typo of .signature, no? 15:54
15:55 shinobi-cl joined
shinobi-cl hi 15:55
masak shinobi-cl: hello!
shinobi-cl i got a question about hadling files in perl
perl6
masak shoot
shinobi-cl how do i do a SEEK on a file? i cant find any docs about it 15:56
only docs about reading text files
masak shinobi-cl: have you found S16?
shinobi-cl nothing about binary files
masak ok.
shinobi-cl mmm i?ll take a look
masak is out of clues
buubot: spack seek 15:57
buubot masak: S05-regex.pod:2 S16-io.pod:2 S17-concurrency.pod:2
masak yes, S16 seems a sure bet.
15:58 shinobi-cl left 16:01 |jedai| left 16:02 |jedai| joined 16:08 shinobi-cl joined 16:09 icwiener joined 16:12 masak left 16:13 bahaa2008 left 16:26 kid51 joined
shinobi-cl when i open a file, and use the readline method, it works, but when i call read, it says "Method read not found for invocant of class 'IO'" 16:31
is that "read" is not implemented yet? 16:32
im reading S16, and many methods mentioned there seems to be not declared yet...
16:37 spx2 left 16:38 spx2 joined, duke_leto left 16:47 Tene joined
shinobi-cl buubot: spack read 16:54
buubot shinobi-cl: S02-bits.pod:16 S03-operators.pod:20 S04-control.pod:7 S05-regex.pod:9 S06-routines.pod:36 S07-iterators.pod:2 S09-data.pod:21 S10-packages.pod:2 S11-modules.pod:4 S12-objects.pod:14 S13-overloading.pod:2 S16-io.pod:14 S17-concurrency.pod:51 S19-commandline.pod:3 S22-package-format.pod:1 S26-documentation.pod:4 S29-functions.pod:5
shinobi-cl buubot: spack seek 16:55
buubot shinobi-cl: S05-regex.pod:2 S16-io.pod:2 S17-concurrency.pod:2
16:58 Tene_ left
shinobi-cl buubot: spack readline 17:00
buubot shinobi-cl: S16-io.pod:1
17:07 azawawi joined
azawawi hi 17:07
shinobi-cl hi 17:21
pugs_svn r25022 | azawawi++ | [S:H:P6] Bumped version to 0.035; synced to latest STD.pm; releasing to CPAN 17:24
17:26 REPLeffect joined 17:32 _jedai_ joined 17:33 |jedai| left 17:34 ekimmargni joined 17:36 ekimmargni left 17:40 _jedai_ left 17:41 |jedai| joined 17:43 schmalbe joined 17:46 mtnviewmark joined 17:50 justatheory joined 17:59 mtnviewmark left 18:02 mtnviewmark joined, azawawi left 18:03 justatheory left 18:10 azawawi joined
moritz_ re 18:13
Tene: pong
pugs_svn r25023 | moritz++ | [t] and [t/spec] 18:30
r25023 | moritz++ | * moved nested_named.t to spec/, and cleaned up
r25023 | moritz++ | * fudged closure-parameter.t for rakudo
Tene moritz_: just still trying to respond to your ping from earlier. :) 18:32
shinobi-cl when i open a file, and use the readline method, it works, but when i call read, it says "Method read not found for invocant of class 'IO'"
18:33 shinobi-cl left 18:38 jferrero left, kid51 left, Psyche^ joined 18:39 Whiteknight left 18:55 Patterner left, Psyche^ is now known as Patterner, azawawi left 19:03 mtnviewmark left 19:05 |jedai| left, |jedai| joined
moritz_ frew: please test changes to the tests with rakudo ('make spectest') before you commit them 19:06
frew: and if something doesn't run, then please skip it (with #?rakudo skip 'reason')
19:22 mtnviewmark joined, mtnviewmark left, mtnviewmark joined 19:24 aindilis joined 19:25 wknight8111 joined
pugs_svn r25024 | moritz++ | [t/spec/] clean up havoc in S29-str, and remove some overly long tests that 19:27
r25024 | moritz++ | didn't even parse as intended
19:28 rindolf left 19:30 _jedai_ joined 19:32 |jedai| left 19:43 wknight8111 left
pugs_svn r25025 | moritz++ | [t/spec] fix plan in split-simple.t, moritz-- 19:49
19:58 mtnviewmark left 19:59 wknight8111 joined 20:13 smtms joined, p6eval left, p6eval joined
meppl good night 20:16
20:19 meppl left
frew moritz_: Ok, sorry 20:19
20:20 shinobi-cl joined
moritz_ frew: no harm done, just skip them the next time (yes, I know TimToady said you didn't have to, but it's nicer for the rakudo folks that way) 20:21
frew moritz_: That's what I figured. 20:22
should I do the same with pugs?
and is there a way I can run just one test at a time?
moritz_ frew: I usually don't, since pugs isn't developed at the moment
frew ok, then I won't for pugs
moritz_ when you are in rakudo's working dir, you can say 'make t/spec/S29-str/uc.t' 20:23
frew ok 20:24
alright, and you guys apparently already did this for all of the ones I checked in
moritz_ I did, yes ;) 20:25
frew haha, ok
I have a simple syntax question
20:25 schmalbe left
moritz_ shoot! 20:25
frew it wouldn't make sense for my test to ensure that my StrLen $f = -1 fails right? Because that's a function of the StrLen instantiation
right?
moritz_ -1 is an integer 20:26
frew is that a problem?
moritz_ so it would make sense to test that somewhere, I think 20:27
frew yeah
but I am working on strsub right now
moritz_ well, I don't think that StrLen inherits from Int
20:27 shinobi-cl left
moritz_ what is strsub? 20:27
frew woops
substr
sorry
so should it look like this: my StrLen $f = new StrLen(-1) or something? 20:28
as it stands I don't think StrLen exists at all, but I want to add the tests with it in substr 20:29
moritz_ "new StrLen(-1)" certainly does not work, maybe StrLen.new(-1)
or StrLen.new(codes => -1)
20:29 jferrero joined
moritz_ but in either case positive values make much more sense ;-) 20:30
frew should StrLen.new($foo) work 20:33
20:33 ejs joined
moritz_ dunno 20:36
20:36 shinobi-cl joined
moritz_ the only way I know of to generate StrLen objects are Str.index, Str.rindex and maybe items of the match object 20:37
frew well
in my test I am using some function anyway
so I'll just fake it 20:38
20:41 aindilis` joined 20:42 justatheory joined 20:46 _jedai_ left 20:47 |jedai| joined 20:52 aindilis left
frew moritz_: when I try to run the tests it always says no plan in TAP output 20:52
moritz_ frew: what operating system are you on? 20:53
frew linux, ubuntu
rakudo runs 20:54
20:54 shinobi-cl left
moritz_ and if you do ../../parrot perl6.pbc t/spec/path/to/file.rakudo ? 20:54
frew segfault! 20:55
maybe I should rebuild parrot
moritz_ you should ;/ 20:56
with a 'make realclean' first
frew ok
this will take a while 20:57
I'll work on the test later
thanks moritz_ 20:58
20:58 pmurias joined 21:02 jhuni joined 21:10 finanalyst left 21:22 mncharity joined
mncharity pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~330 days 'til Xmas 21:23
21:31 |jedai| left, |jedai| joined 21:33 jhuni left
pmurias mncharity: hi 21:33
pugs_svn r25026 | putter++ | [STD.pm] There were two unescaped { in ""'s, parsing as qq escapes.
mncharity hi pmurias :) 21:34
pmurias mncharity: what are you working on now? 21:35
21:37 jhuni joined
mncharity same old same old - teaching elf to understand the STD.pm code. 21:38
hmm, that's ambiguous... 21:39
trying to get to the point where one can say elfgreen STD.pm -e 'say /<STD::TOP>/.match("say 3").match_describe' 21:40
moritz_ mncharity: the syntax for calling grammars is now STD.parse("say 3") (although I don't know if it's in the synopsis right now) 21:41
mncharity which means taking the STD_blue (aka gimme5/STD.pm) ast for the STD.pm source file, and trying to get misc/elfish/elfparse to generate valid IR and p5 for it. 21:42
moritz_: thanks. 21:43
pmurias the README talks about things like elfgreen and elfgreenstd which don't seem to be in elfparse 21:44
mncharity make elfgreen; make elfgreenstd or make all
pmurias mncharity: do you think you'll get better parser performance then STD.pmc? 21:50
mncharity yes, 21:52
21:56 |jedai| left 21:57 |jedai| joined
mncharity The near-term objective is to emit something more like STD_red than like STD.pmc. STD_red works "well enough", and is obviously fast. The challenge will be fudging the parts of STD.pm which assume there's a cursor, into something rx_on_re compatible.] 21:57
Specifically, rx call cost is comparable (within a few x) of method call cost, and object allocation is minimized. 21:59
The p5 code currently emitted is all regex all the time. "token"ness is ignored. todo. 22:00
moritz_ isn't "token"ness as simple as putting (?>...) around the emitted regex? 22:02
mncharity yes
moritz_ or is that around each atom of the token? 22:03
mncharity though one can do more efficient things, and that's the goal. ie, no backtracking machinery overhead needed.
re 'or is that around each atom of the token?', don't recall, sorry. 22:04
atom seems more likely.
pmurias it's a (?>...) around every construct that could backtrack 22:07
mncharity pmurias: Basically, having parsing performance comparable to STD_red is required. Otherwise elf performance becomes unacceptable. So, whatever it takes. But the main theme is kludge around LTM, and get all the token atom sequencing down to method call cost.
ah, that makes sense. 22:08
mncharity tries to remember what /a ** b/ and /a ~ b/ are... 22:09
moritz_ a ** 2 is a repeated 2 times 22:10
and /a ~ b c/ is goal-matching
and similar to /a c [ b || <panic: "can't find terminator"> ] / 22:11
mncharity STD.pm is using the a ** <b> and a ** 'b' interleave forms of **. ~ looks more fun. 22:14
22:14 ejs left
moritz_ ah, a ** 'b' is /a [ b a]*/, iirc 22:15
a's separated by b's
mncharity yeah. the rewrite on ~ ... "something more like: $<OPEN> = '(' <SETGOAL: ')'> <expression> [ $GOAL || <FAILGOAL> ] ", but that's obviously an approximation (ie, there's actually no $<OPEN> set, yes?). so... sigh. I'll fudge an expansion rule to match observed gimme5 behavior on STD.pm cases. puttering onward... 22:17
be nice to have the spec nailed down at some point. 22:18
moritz_ I guess that SETGOAL sets $GOAL 22:19
pmichaud wanted to commit a clarification of that things, iirc
but he seems to be very much absorbed with organizing infrastructure for Rakudo sees days
pugs_svn r25027 | bacek++ | [spec] Add tests to Range.min and Range.max
22:21 |jedai| left 22:22 |jedai| joined 22:23 mtnviewmark joined
pugs_svn r25028 | moritz++ | [t/spec] skip diying tests (for rakudo) 22:28
mncharity hmm, re spec nailing down, I hypothesize we need a concept of a version of p6 other than p6.0 or release candidates. Ie, to formalize the notion that we're not [it seems unlikely or suboptimal] monotonically converging on a p6.0, but rather getting to a "version like p6.0, but explicitly not it, and intended to get experience using p6 prior to settling on the p6.0 spec". 22:29
perhaps
ie, "p6 exploration builds", where @larry still feel free to modify the p6 spec, in light of people starting to get experience actually using draft p6. once we hit 6.000, a whole lot of flexibility goes away. hmm, unless we declare 6.000-6.whatever to explicitly be unstable development versions. 22:32
anyway, back to hacking...
pugs_svn r25029 | pmurias++ | [mildew] handling &Foo::Bar::baz and &Foo::infix:<+>
moritz_ mncharity: actually Rakudo will likely have an "early adopter's release", which is hopefully very clearly not full Perl 6 22:33
22:35 ejs joined
pmurias mncharity: once we hit 6.0.0 we will have to add a backward compability mode for every change but other than that Perl 6 can evolve further 22:35
22:36 Jedai left 22:37 Jedai joined 22:38 spx2 left 22:41 bacek joined
mncharity re 6.0.0, it might be useful to declare 6.0.N to be "early adopter's release"s, giving the flexibility to only freeze the spec when "it feels the right time". 22:44
or even do an incremental freeze.
mtnviewmark wouldn't it be more perl6 like to use an adverb? :-) 6.0:pre(1)
bacek perl6: say (1).reduce: { $^a * $^b } 22:49
p6eval pugs: OUTPUT«1␤»
..rakudo 35948: OUTPUT«Parrot VM: PANIC: Null vtable used; did you add a new PMC?!␤C file src/pmc.c, line 246␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot. Use parrotbug (located in parrot's root directory)
..or se...
..elf 25029: OUTPUT«Can't call method "reduce" without a package or object reference at (eval 120) line 3.␤ at ./elf_h line 4333␤»
22:51 pbuetow left
mncharity *grin* 22:54
# re adverb
22:56 hudnix joined, |jedai| left 22:58 |jedai| joined 23:04 pmurias left, ejs left
mncharity TimToady: ~ is speced as taking 2 right side arguments, but /a ~ b c d/ is currently grabbing the d, parsing as ~(a,termish(b,c,d)). /[a ~ b c] d/ works. perhaps groupify the one or two cases in STD.pm where there's a d? 23:08
23:13 shinobi-cl joined
shinobi-cl hi 23:13
moritz_ hi
shinobi-cl im trying to use the read method on a file... readline works, and both are listed together on S16... 23:15
moritz_ seems not yet implemented in Rakudo
care to submit a [TODO] bug report?
shinobi-cl ahh, i see
sure, where i do that?
moritz_ [email@hidden.address]
shinobi-cl ok, thanks! 23:16
bacek perl6: say elems [1..4] 23:18
p6eval pugs: OUTPUT«4␤»
..elf 25029: OUTPUT«Undefined subroutine &GLOBAL::elems called at (eval 121) line 3.␤ at ./elf_h line 4333␤»
..rakudo 35948: OUTPUT«Parrot VM: PANIC: Null vtable used; did you add a new PMC?!␤C file src/pmc.c, line 246␤Parrot file (not available), line (not available)␤␤We highly suggest you notify the Parrot team if you have not been working on␤Parrot. Use parrotbug (located in parrot's root directory)
..or se...
bacek rakudo requires "make realclean"...
moritz_ will do
bacek moritz_: btw, is "4" is expected result here?
rakudo says "1" and I tend to agree with it. 23:19
moritz_ bacek: I don't know, this kind of things always confused me :/
surely [1..4].elems will say 4 23:20
woah, this is confusing
4 23:21
./rakudo -e 'sub f(@a) { @a.elems }; say f([1, 2, 3, 4])'
that's... *drumrolls* ... 4
but elems [1..4] is 1
that's got to be wrong somehow
bacek perl6: sub f(@a) { @a.elems }; say f([1, 2, 3, 4])
p6eval elf 25029, pugs: OUTPUT«4␤» 23:22
..rakudo 35948: OUTPUT«sh: ./parrot: No such file or directory␤»
bacek moritz_: it is... confusing
S29-array/elems.t says "4". Should I change it? 23:23
moritz_ bacek: i'm writing a mail to p6l right now
perl6: say [1..4].perl
p6eval pugs: OUTPUT«\(1, 2, 3, 4)␤»
..elf 25029: OUTPUT«[1,2,3,4]␤»
..rakudo 35948: OUTPUT«sh: ./parrot: No such file or directory␤»
moritz_ perl6: say [1..4].elems
bacek moritz_: ok
p6eval elf 25029, pugs: OUTPUT«4␤»
..rakudo 35948: OUTPUT«sh: ./parrot: No such file or directory␤»
bacek perl6: say elems([1,2,3,4],) 23:24
p6eval pugs: OUTPUT«4␤»
..rakudo 35948: OUTPUT«sh: ./parrot: No such file or directory␤»
..elf 25029: OUTPUT«Undefined subroutine &GLOBAL::elems called at (eval 120) line 3.␤ at ./elf_h line 4333␤»
moritz_ elf: f(@a) { @a.elems }; say f([1, 2, 3, 4])
p6eval elf 25029: OUTPUT«Parse error in: /tmp/OeztLBAq2n␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: f(@a) { @a.elems }; say f([1, ␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤
..STD_r...
moritz_ elf: sub f(@a) { @a.elems }; say f([1, 2, 3, 4]) 23:25
p6eval elf 25029: OUTPUT«4␤»
23:26 iblechbot left
mncharity is there a global elems() ? 23:27
moritz_ mncharity: the test suite, rakudo and pugs think so 23:28
shinobi-cl perl6: say "just testing" 23:30
p6eval elf 25029, pugs, rakudo 36011: OUTPUT«just testing␤»
bacek mncharity: our Int method elems (@array: ) is export 23:32
this is from S29
mncharity re 'method elems', so how does elems(@a) call that? is spec that foo(@a) results in @a.foo if there isn't a foo() sub defined? 23:38
/me puzzled
moritz_ mncharity: the 'is export' traits in S29 indicate that a sub form exists 23:39
mncharity ah, ok. multi, yes?
moritz_ right.
mncharity danke 23:40
23:54 DemoFreak left 23:56 icwiener left, shinobi-cl left