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 246Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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 246Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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 246Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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 246Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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 246Parrot file (not available), line (not available)We highly suggest you notify the Parrot team if you have not been working onParrot. 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/OeztLBAq2npanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: 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
|