pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by diakopter on 11 July 2007.
jeremyb_ is perl 6 ever going to happen? 04:19
jeremyb_ hides
allbery_b we killed larry and ate him, so no :)
jeremyb_ didn't know this channel existed
hehe
jeremyb_ waves to agentzh
Tene jeremyb_: it already does, for some definitions of "happen" 04:22
I've used it for a few personal and work projects. 04:23
jeremyb_ actually doesn't use perl much and was just kidding
jeremyb_ has heard good things about 6 but doesn't remember what 04:24
Tene: using the haskell implementation? 04:25
Tene jeremyb_: haskell and parrot
I've used both. 04:26
jeremyb_ ewwww, darcs
Tene Who uses darcs? 04:27
jeremyb_ pugscode.org
Tene Oh, I've never looked at the darcs mirror 'cos I've never been interested in darcs. 04:28
I've been tracking pugs through git-svn
jeremyb_ has had good experiences with git-svn
jeremyb_ wonders who Alex is
< sproingie> i think perl6 killed off tie... at least i hope it did 04:33
platypus Isn't there now a lisp implementation? 04:37
Tene platypus: yes, kp6 has a lisp backend now
jeremyb_ implementation or flavor/variant?
Tene It's been developed over the past couple of weeks or so (I think) and is now about up to the level of the perl5 backend. 04:38
I know that it runs at least on sbcl
I'm not lispy enough to know if it also runs on others or not.
agentzh jeremyb_: wow...you're also in #perl6! *impressed* 05:03
jeremyb_ agentzh: i followed you here 05:09
i didn't know it existed
:) 05:10
agentzh jeremyb_: wow 05:11
bloonix good morning 06:17
moritz_ good localtime() everybody ;) 06:59
cerridwen hehe 07:01
:)
masak g'localtime(), moritz_ 07:05
agentzh hi, a p5 question: how to release a very p5 hash immediately? p5's GC is very slow for a hash as big as several GB. 07:15
*very big
sorry if it's a bit OT :P 07:16
jql p5 gc doesn't do anything at all after undef %hash;
there's no compacting/copying gc to trigger
it immediately frees, and that's it. :(
agentzh jql: thanks :) 07:17
jql: trying now
Aankhen`` Tene: Re: the Lisp backend for KP6, it's not really up to the level of the Perl 5 backend yet since it doesn't support objects, for one. 07:35
As far as implementations go, it doesn't use anything SBCL-specific, so in theory it ought to work on any conforming implementation. 07:36
agentzh Aankhen``: how about the list-backend's performance? 07:45
jql: it doesn't work for us. undef %hash still takes 20 min to complete, it seems. 07:46
jql wow, that's an impressive hash you have
Aankhen`` agentzh: I'm not really sure, never bothered to measure it. The only metric I have is from a while back, when avar measured a compiled test performance and found it only slightly slower than the equivalent Perl 5 code. 07:47
s/test/test's/ 07:48
agentzh Aankhen``: okay :)
Aankhen`` That was before support for a lot of things was added though, including formal sub arguments, all of which does inevitably add overhead. 07:49
agentzh *nod*
Aankhen`` Still, I'd expect it to be pretty durned fast once compiled.
agentzh heh
Aankhen`` The best part is, so far I've just been focusing on clarity.
Nothing about KP6-CL takes performance into account.
agentzh fair enough :) 07:50
Aankhen`` Oh yeah, it's also missing a lot of control structures, since I wasn't very interested in them and no one (except fax) was either. :-P 07:51
Aankhen`` decides to go for the low-hanging fruit.
s/no one/no one else/ 07:52
agentzh hehe 07:53
Aankhen`` Argh, I need to fix the ::Lookup/::Index thing first. 07:54
agentzh Aankhen``++
Aankhen`` What brought that on? 07:55
agentzh i hope i am able to hack on kp6 as well :P
Aankhen`` Ah, kewl.
agentzh $work forces me to do XUL hacking :)
Aankhen`` agentzh++ # it's the thought that counts!
agentzh hehe 07:56
moritz_ did anybody adopt Pugs::Compiler::Rule to the new regex syntax?
Aankhen`` Right, I'm going to finish my daily reading then I'll do the fixing.
agentzh moritz_: that would be sweet :)
moritz_
.oO( today my new laptop should arrive)
agentzh
.oO( my $boss promises to bring me a new laptop as well )
07:57
moritz_
.oO( I should get myself such a $boss ;)
07:58
Aankhen`` moritz_: What're the specs? 08:02
moritz_ Aankhen``: which specs? 08:03
Aankhen`` Of the new laptop
moritz_ Aankhen``: intel dual core 2 for mobile (2x1.66 GHz), 3GB ram, 200something GB hard disk, 1280x800 wide screen display 08:04
Aankhen`` Sweet.
Mine is the same except it has 2 GB of RAM.
moritz_ it's a fujitsu siemens, and I hope it will work under debian ;)
Aankhen`` Heh. 08:05
Mine's a Sony VAIO running Vista. :-)
moritz_ mine will be delivered with Vista, but that's not going to last ;)
Aankhen`` grins.
Does removing Vista void the warranty? 08:06
moritz_ if so I'll sue them
Aankhen`` Good luck.
moritz_ Germany has pretty good laws for customer protection
Aankhen`` Ah. 08:07
moritz_ and the EU is trying to break the $MS monopoly (with not much success, but at least they try)
Aankhen`` I know. 08:08
moritz_ and they fined $MS 0.5Bn € ;)
Aankhen`` They were barking up the wrong tree with regards to the search thing, though.
Patterner They should fine people who buy MS programs. 08:09
Aankhen`` Funny. :-P
pugs_svnbot r18311 | Aankhen++ | * [kp6-lisp] handle ::Index/::Lookup -> ::Call conversion. 08:22
diff: dev.pugscode.org/changeset/18311
lambdabot Title: Changeset 18311 - Pugs - Trac
pugs_svnbot r18312 | Aankhen++ | * [kp6-lisp] changed package name to KP6-LISP from KP6-CL. 08:31
diff: dev.pugscode.org/changeset/18312
lambdabot Title: Changeset 18312 - Pugs - Trac
gorax hi 08:40
agentzh hey, gorax 08:42
Aankhen`` waves at gorax. 08:43
gorax i'm new to perl5 and perl6 also 08:44
Aankhen`` Welcome aboard. :-) 08:45
gorax thanks
Hope to learn something, here and there ;-)
Aankhen`` gorax: This is usually an interesting channel to hang out in for that sort of stuff. 08:51
Aankhen`` wonders whether it would be a Bad Thing (tm) to conditionally add to script/kp6's output if --lisp was provided. 08:52
pugs_svnbot r18313 | Aankhen++ | [kp6-lisp]
r18313 | Aankhen++ | * only load Runtime.lisp if it isn't loaded already.
r18313 | Aankhen++ | * created a new KP6-LISP-USER package.
r18313 | Aankhen++ | * instead of creating a new package with a MAIN function in the generated code, simply switch to the KP6-LISP-USER package and use the KP6-ADD-PROGRAM macro, then call MAIN (provided by KP6-LISP-USER) at the end.
diff: dev.pugscode.org/changeset/18313
lambdabot Title: Changeset 18313 - Pugs - Trac
Aankhen`` (i.e. independently of the AST transformations.)
avar Aankhen``: add what? 08:53
Aankhen`` avar: Building on the last commit, I'm trying to make it so we can process Lisp files in batches. Then the visitor would simply emit the ADD-PROGRAM bit, while script/kp6 would prefix it with (load "Runtime.lisp") and call MAIN at the end. 08:55
Aankhen`` avar: Any thoughts? 08:56
Aankhen`` slaps Bonnie the Shark around a bit with avar! 08:59
Don't leave me in suspense here. 09:00
Aankhen`` Ah well, I'm going to go shower and do some other stuff. 09:01
BBL.
pugs_svnbot r18314 | avar++ | * Replace tabs with spaces 14:21
r18314 | avar++ | * Add a newline to the generated program
diff: dev.pugscode.org/changeset/18314
lambdabot Title: Changeset 18314 - Pugs - Trac
avar Aankhen``-- # EVIL TABBING 14:39
(setq default-tab-width 4)
(setq tab-width 4
indent-tabs-mode nil)
(setq-default indent-tabs-mode nil) 14:40
masak full ACK
tab key good, tab char bad
avar ACK ACK ACK ACK AAACK AAACK AKC 14:42
masak the general principle being, I think, that when two characters look the same (like space and tab), or almost the same (like 'l' and '1'), strive towards using only the more common one 14:43
avar I don't mind using tabs when they carry some semantic meaning like in a csv file, they don't when you indent stuff. In most grammars anyway 14:45
masak true 14:47
I agree about the csv case, I think 14:48
as long as only tabs are used, and not some kind of tab/space mix presupposing 8 spaces per tab or whatever
masak cannot count the number of botched .doc files he has received via email that make a thousand assumptions about default fonts, tab stops and page breaks 14:49
jrockway avar: while we're on the subject of indenting in emacs 14:55
do you know how to get cperl to indent Bla->foo(\nbar => baz\n); such that bar is indented 4 spaces from the start of the expression (instead of directly below the paren) 14:56
[particle1 idly wonders whether l or 1 is more common... 15:00
avar jrockway: (setq cperl-indent-parens-as-block t) 15:06
jrockway avar: that's set and it's not doing what i want :( 15:07
FWIW, i'm not sure i can find an algorithm for doing that
the number of spaces varies based on my mood
avar if I run emacs -q C-x C-b foo.pl M-x cperl-mode (setq cperl-indent-parens-as-block t) C-x C-e RET Foo->new( RET TAB it indents it with two spaces 15:09
so maybe some other setting is screwing it up?
jrockway possible
avar try that anyway 15:10
jrockway whoa, it works
my .emacs must be b0rken
avar++
masak particle1: in variables, probably l 15:11
jrockway aha, i figured it out
i spelled parens wrong 15:12
jrockway--
thanks for the informative error message, emacs
oh wait, there was none
masak particle1: in your nick, they're just as common :) 15:14
avar r18305 | pmurias | 2007-10-07 09:15:39 +0000 (Sun, 07 Oct 2007) | 1 line
[kp6] fixed 39-junction.t,removed t/{01-sanity-modified,mp6}
@tell pmurias "[kp6] fixed 39-junction.t,removed t/{01-sanity-modified,mp6}" - why remove sanity tests? 15:15
lambdabot Consider it noted.
pmurias avar: ping 15:19
lambdabot pmurias: You have 1 new message. '/msg lambdabot @messages' to read it.
avar pmurias: ! 15:20
pmurias avar: hi
i removed 01-sanity-modified because the modifications are no longer nessasary 15:21
kp6 can use sanity tests directly from the pugs test suit
the tests to be run are mentioned in TESTS 15:22
avar TESTS only imports 7/17 of them, 02-counter was modified to run on kp6 and there was another one that did && and || 15:23
pmurias the 7 which TESTS imports are the ones which work 15:25
avar Yes and some of the other 10 were modified to work in 01-sanity-modified 15:28
it's not a big deal anyway, I just missed a test for some of that stuff
pmurias avar: it don't think i montified anything else than counter 15:29
03-equal does && and || and it's in TESTS
avar: if you want any of the other tests you can add some of them back
avar ah right, nm 15:30
Aankhen`` avar: u sux
Thanks for the variable settings, though. Hopefully they should help.
pmurias i removed them as i saw compile tests use them 15:31
and mp6 of which some is speced not to work
avar Aankhen``: can you compile the tests currently? 15:32
pmurias avar: compile_tests should copy/use tests from TESTS
Aankhen`` avar: No idea.
avar Aankhen``: don't you ever try? 15:33
Aankhen`` I never compile them, I just run individual tests.
Compiling them doesn't work properly for me.
avar what happens?
Aankhen`` I don't remember now. A lot of errors. 15:34
avar when you compile or run them?
Aankhen`` Compile.
avar yes that's normal
could you try compiling them and see if it works? Running them doesn't work for me ATM 15:35
Aankhen`` What was the incantation again? Just run the Perl script? 15:36
pugs_svnbot r18315 | Aankhen++ | [kp6-lisp]
r18315 | Aankhen++ | * pruned a lot of dead code from EmitLisp.pm
r18315 | Aankhen++ | * fixed EmitLisp.pm to consistently handle unimplemented features.
r18315 | Aankhen++ | * regenerated EmitLisp.pm
diff: dev.pugscode.org/changeset/18315
lambdabot Title: Changeset 18315 - Pugs - Trac
avar Aankhen``: yes
Aankhen`` Okay, some of it is test errors, other errors appear to involve trying to run generated Lisp code as Perl code… 15:38
avar you do prove -r t-lisp-exe 15:39
Aankhen`` Hmm. I just ran the Perl script and I'm getting all these errors.
perl compile_tests_kp6_mp6-lisp.pl
avar yes errors are normal, we don't run everything in t/ yet 15:40
Aankhen`` That's fine, but why's it trying to run generated Lisp code as Perl code 15:43
?
avar when is it doing that? 15:47
Aankhen`` Pretty randomly.
Maybe it's the expansion of BEGIN or something.
avar sh-3.1$ perl t-lisp-exe/01-sanity/01-tap.t
unhandled UNDEFINED-FUNCTION in thread #<SB-THREAD:THREAD "initial thread" {B5B7989}>:
Aankhen`` s/expansion/transformation/
avar The function MAIN::MAIN is undefined.
Aankhen`` Yeah, I'm seeing a lot of those too.
I think it isn't recompiling everything properly. 15:48
avar what isn't?
(eval-when (:compile-toplevel :load-toplevel :execute)
(when (null (find-package 'kp6-lisp))
(load "lib/KindaPerl6/Runtime/Lisp/Runtime.lisp")))
Aankhen`` Anything!
avar maybe this is causing trouble?
Aankhen`` It shouldn't be trying to call MAIN::MAIN.
Nope, that works fine for me.
avar when does it work fine for you? when you create executables with sbcl? because that's the issue with the tests 15:49
Aankhen`` Oh, wait.
The test script always tries to call MAIN::MAIN?
avar I can run it fine as -lisp | sbcl
Aankhen`` That'd be it.
avar oh yeah
avar changes it 15:50
Aankhen`` Sorry, I forgot about that. :-)
It'd be KP6-LISP-USER::MAIN now.
avar terririst 15:51
Aankhen`` Hmm, I'm going to make it handle errors in a more Perl-ish way. 15:52
Oh, does perl (5) exit with a particular status code whatever error it encounters
?
avar perldoc perlrun I suppose 15:53
Aankhen`` h8
avar but die et al modify the unix ret code, yes
Aankhen`` Unless I'm missing it, perlrun doesn't seem to mention status codes. 15:54
Exit codes, rather. 15:55
Okay, I'll just ignore that for now and always use 1 for a fatal error.
avar it was just a guess
I don't think this is specced for p6 in any case
pmurias compile_tests work fine here 16:02
tests 1-4 11-13 28 55 compile here 16:03
avar I don't see how it can work
pugs_svnbot r18316 | avar++ | * kp6-lisp-user::main not Main::Main 16:04
diff: dev.pugscode.org/changeset/18316
lambdabot Title: Changeset 18316 - Pugs - Trac
avar works now though 16:04
pmurias avar: i have an older revision ;) 16:06
pmurias it work now on HEAD 16:28
*works
pugs_svnbot r18317 | Aankhen++ | [kp6-lisp] 16:46
r18317 | Aankhen++ | * graceful exits, both fatal and normal.
r18317 | Aankhen++ | * WITH-KP6-INTERPRETER no longer creates and initializes a KP6-INTERPRETER object; it only establishes stub functions.
r18317 | Aankhen++ | * added compat/ for implementation-specific functionality, only including at present exiting.
r18317 | Aankhen++ | * KP6-ADD-PROGRAM creates a single-argument function and wraps the contents in WITH-KP6-INTERPRETER.
r18317 | Aankhen++ | * MAIN creates and initializes a new interpreter.
r18317 | Aankhen++ | * MAIN exits gracefully both under fatal and normal conditions.
r18317 | Aankhen++ | * fixed indentation in Runtime.lisp
r18317 | Aankhen++ | * removed unnecessary &rest argument from WITH-KP6-INTERPRETER.
diff: dev.pugscode.org/changeset/18317
lambdabot Title: Changeset 18317 - Pugs - Trac
avar Aankhen``: did you try the emacs indenting settings I pasted? 16:56
Aankhen`` avar: Yes. 17:01
avar it worked? 17:02
Aankhen`` Am I still creating hard Tabs?
avar I didn't check 17:03
Aankhen`` Ah.
Oh, wait, I did check when I was editing that Perl code, and I don't think I was creaing hard Tabs. 17:04
avar have you been modeling the lisp stuff after the perl implementation or doing things differently? 17:06
everything in the p5 one works on ::DISPATCH, wondering if we have an equivalent
1337.true => ::DISPATCH( ::DISPATCH( $::Int, 'new', 1337 ), 'true', )
pugs_svnbot r18318 | ruoso++ | [yap6] yes... it is another prospective perl 6 implementation, but now, a simple C runtime, hopefully a target for kp6
diff: dev.pugscode.org/changeset/18318
lambdabot Title: Changeset 18318 - Pugs - Trac
ruoso fglock, there it is 17:07
moritz_ ruoso: is the intention to built something like nqp, but on C? 17:08
ruoso moritz_, hmm... no...
moritz_ i.e. fast, but not a full implementation?
ok
ruoso to build something like kp6
but targetting that runtime 17:09
actually
a runtime for kp6
Aankhen`` avar: I don't think we do.
avar: I haven't been modelling it after the Perl implementation.
ruoso moritz_, the idea is to provide the minimal runtime for a MOP implementation
that would support real p6 in the future
moritz_, but I don't plan that to be complete as a start 17:10
I mean
it can have partial releases
supporting only part of the specs
but the real target is a real implementation
moritz_ ok 17:11
avar Aankhen``: Basically we're missing the whole MOP.pm stuff
pmurias ruoso: you decided against using Parrot's guts?
ruoso pmurias, too complex to begin
heh
I couldn't figure out where to start from 17:12
it'll be much simpler than parrot
avar sub ::DISPATCH {
my $invocant = shift;
unless ($invocant->{_dispatch}) {
confess "DISPATCH: calling @_ on invalid object:",Dumper($invocant),"\n"
}
$invocant->{_dispatch}($invocant,@_);
}
ruoso and, of course, much less usefull, when parrot is ready
avar hrm 17:13
Aankhen``: look at stuff like:
my $meta_Value = ::DISPATCH( $::Class, 'new', "Value");
$::Value = $meta_Value->PROTOTYPE();
$meta_Value->add_method( 'WHICH', :
ruoso home &
avar Aankhen``: and make_class which is the parent.. 17:14
uh, wrapper for doing that
we could piggy-back on CLOS for a lot of this, like the %dispatch member always being a lambda 17:15
we have some of this, like routines for checking whether an int is true, but how we're doing it is the problem 17:16
(kp6-true isn't really "dispatched" it just checks the value member..
Aankhen`` Yes, currently everything's hard-coded rather than being objects. 17:17
avar we have ::DISPATCH((make-instance 'kp6-Int :value 1337), 'true') 17:19
which could be (kp6-dispatch (make-instance 'kp6-Int :value' 1337) "true")
::DISPATCH is just $invocant->{_dispatch}($invocant,@_); 17:20
$meta_Int->add_method( 'true',
::DISPATCH( $::Method, 'new', sub { $::Bit->new( $_[0]{_value} == 0 ? 0 : 1 ) } ) );
avar (kp6-dispatch (kp6-dispatch (make-instance 'kp6-Int :value 1337) "true") "say") 17:26
why are C<say "foo"> and C<"foo".say> different in the AST? 17:27
Aankhen`` One is a function application, the other is a method call? 17:28
avar I mean how is it different as far s the language is concerned
if I rewrote everything to use method calls what would break 17:29
Aankhen`` The former is an indirect object call.
(AFAIK.)
Or perhaps "foo".say simply calls say "foo" under the cover.
What are you planning to rewrite to use method calls?
avar just wondering why they have to be different 17:30
Aankhen`` Actually, I'm not sure what the .say method is. 17:31
I'll probably find out soon enough though. Objects are next on my list. 17:33
Lotsa failures (kp6-lisp). 17:36
pasteling "Aankhen" at 122.163.34.251 pasted "$ time prove -r t-lisp-exe/ t-" (112 lines, 7.7K) at sial.org/pbot/27945
avar 5m? are the failing tests taking so long? 17:37
pugs_svnbot r18319 | Aankhen++ | [kp6-lisp] 17:41
r18319 | Aankhen++ | * use `rm -f` and `rm -rf` when removing t-lisp-exe/ in compile_tests_kp6_mp6-lisp.pl
r18319 | Aankhen++ | * added --no-autoexecute command line option to script/kp6, currently only used by the Lisp backend to avoid executing tests when we're supposed to be compiling executables.
r18319 | Aankhen++ | * pass --no-inform and --no-print to SBCL when compiling tests.
r18319 | Aankhen++ | * muffle warnings in SBCL when compiling tests.
diff: dev.pugscode.org/changeset/18319 17:42
lambdabot Title: Changeset 18319 - Pugs - Trac
Aankhen`` Why is ::Module commented out in Ast.pm? 17:49
avar Aankhen``: I think we can definetely piggy-back on CLOS
avar if it's the 'use Foo' thing then probably because it broke everything 17:49
Aankhen`` `class Module { ... }` is commented out. 17:50
And I don't think we can piggy-back on CLOS.
avar why? 17:51
You don't have to use all of clos..
Aankhen`` Uh.
We're going to be using CLOS the same way we're using it right now, if that's what you meant.
In the end it's going to be CLOS objects.
avar I was just thinking of using generics to handle dispatch instead of something custom, mainly 17:52
Aankhen`` But, for example, we're not going to create a new CLOS class for each Perl 6 class, or use generic functions.
avar well we'll see 17:54
pmurias Aankhen``: ::Module is comented out because it was replaced by CompUnit 17:57
Aankhen`` pmurias: Ah.
So ::CompUnit should be generating a new package?
(Assuming it doesn't exist already.)
pmurias yes
well a new module, or class or role 17:58
Aankhen`` Okay. 18:00
pugs_svnbot r18320 | Aankhen++ | [kp6-lisp] 18:15
r18320 | Aankhen++ | * ::CompUnit creates a new package as appropriate using KP6-ENSURE-PACKAGE.
r18320 | Aankhen++ | * KP6-ADD-PROGRAM should take &BODY BODY rather than a single PROGRAM form.
r18320 | Aankhen++ | * KP6-LISP-USER::MAIN now takes INTERPRETER and STANDALONE keyword arguments.
r18320 | Aankhen++ | * INTERPRETER indicates the KP6-INTERPRETER object to use, defaulting to a fresh instance of KP6-INTERPRETER.
r18320 | Aankhen++ | * STANDALONE indicates whether the function should take over responsibility for errors and the normal end of the program.
r18320 | Aankhen++ | * regenerated EmitLisp.pm
diff: dev.pugscode.org/changeset/18320
lambdabot Title: Changeset 18320 - Pugs - Trac
rindolf perlbot: karma Aankhen 18:18
perlbot Karma for Aankhen: 279
pugs_svnbot r18321 | Aankhen++ | * set svn:ignore on v6/v6-KindaPerl6/.
r18322 | fglock++ | [kp6] a working prototype of gather/take in Perl 5 (with laziness, dynamic scope)
r18322 | fglock++ | - uses Coro.pm; doesn't depend on PadWalker; no threads.
diff: dev.pugscode.org/changeset/18322
lambdabot Title: Changeset 18322 - Pugs - Trac
TimToady avar: I think I want to play with TRE for my lexer engine for STD 19:33
[particle] TRE?
TimToady laurikari.net/tre// 19:34
lambdabot Title: TRE home page
TimToady there are Perl and Haskell bindings
so either I need to "use v5" to get the re::engine bindings, or get someone to hook up the Haskell bindings to pugs 19:35
avar note that re::engine only works on 5.10 19:36
tre is posix compatable so any posix regex binding will do
TimToady well, I've got 5.9.mumble installed
avar yeah 5.9.5/5.10
TimToady but tre does tagged transitions efficiently, I think
so I can pull out longest tokens that include subrule matches 19:37
but when I cpanp install it, it tells me that cpans's re is out of date :( 19:38
avar can you paste the error? 19:39
TimToady [ERROR] The core Perl 5.009005 module 're' (0.08) is more recent than the latest release on CPAN (0.05). Aborting install. 19:39
though for the STD prototype, I'd probably just as soon use the Haskell version if it were hooked up, since I'm targeting pugs right now. 19:44
but every time I argue with ghc I lose... :/
avar that's cpanp -i re::engine::TRE ? 19:49
TimToady no -, but yes 19:50
TimToady cpanp running under 5.9.5 19:50
avar use -f ? 19:57
TimToady doesn't understand -f 20:01
trying with cpan instead 20:02
bleh, TRE.xs: In function ‘TRE_comp’: 20:04
TRE.xs:26: error: ‘RXf_SPLIT’ undeclared (first use in this function)
TimToady is 5.9.5 not sufficiently 5.10ish? 20:05
avar yes, your 5.9.5 just isn't recent enough, there were a lot of changes while it was called .5, you need to upgrade
TimToady thanks 20:06
avar anyway I still don't quite see the point to be honest:) But then again I haven't studied tre so closely 20:06
but I think you mainly win on patterns not going exponential and not crapping out on some pathological patterns
TimToady the crucial part is knowing which part of the pattern matched 20:08
pasteling "TimToady" at 71.139.11.229 pasted "sample lexer for expect_term" (923 lines, 27.4K) at sial.org/pbot/27951 20:10
TimToady I need to be able to run the pattern above and know which STD rules were traversed to get there
TimToady I think TRE will give me that 20:11
avar I didn't see anything like that in its manual, it has an interface for that? 20:12
TimToady it does substr captures
as described in this paper by the same person: laurikari.net/ville/spire2000-tnfa.ps 20:13
avar I don't think that's in the re::engine::TRE interface though 20:14
TimToady if you can pull out $1, $2, as documented, it can
asssuming you haven't put a hard-coded limit in 20:15
avar that's to get the parts of the string that were matched, but as I understand it you want to know the parts of the regex that were matched to get there right? 20:16
TimToady see example--as long as all the parens get their own number, I can derive that
avar ah
TimToady also asssuming that the -> foo notation turns into ()
in the long run I'd like to rewrite TRE or something like it in Perl 6 20:19
because it's almost exactly what I was thinking of with the revisions of S05 to define longest token matching 20:20
if we integrate it well, nobody ever has to write their own lexer again. 20:21
that's the goal of all this autolex stuff I've been working on
PerlJam TimToady++. You know, you're a little bit like Robin Hood. You're always stealing good ideas for the benefit of all us poor programmers ;) 21:09
s/ideas/ideas and implementations/ probably 21:10
pugs_svnbot r18323 | avar++ | Don't C<use Exporter 'import'> which breaks 5.6 compatability (see 22:04
r18323 | avar++ | www.nntp.perl.org/group/perl.cpan.t...7354.html)
r18324 | avar++ | Don't C<use Exporter 'import'> which breaks 5.6 compatability (see
r18324 | avar++ | www.nntp.perl.org/group/perl.cpan.t...7354.html)
diff: dev.pugscode.org/changeset/18324
lambdabot Title: Changeset 18324 - Pugs - Trac
Title: UNKNOWN KindaPerl6-0.001 i686-linux-64int 2.6.16-2-k7 - nntp.perl.org, tinyurl.com/27o5yq
pugs_svnbot r18325 | avar++ | [kp6-lisp] prefix:<~> 23:17
diff: dev.pugscode.org/changeset/18325
lambdabot Title: Changeset 18325 - Pugs - Trac
pugs_svnbot r18326 | avar++ | [kp6-lisp] fail verbosely on test failures, now it's easy to know what 23:47
r18326 | avar++ | went wrong and what our status is
diff: dev.pugscode.org/changeset/18326
lambdabot Title: Changeset 18326 - Pugs - Trac