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. |
|||
00:03
justatheory joined
00:05
theorbtwo joined
00:17
theorb left
00:42
devogon left
00:43
dduncan joined,
kanru left
00:52
Toad_ left
01:04
weinig_ joined,
weinig_ left,
weinig left,
weinig joined
01:15
cognominal_ left,
vbattsAtWork joined
01:18
cognominal_ joined
01:21
explorer__ left
01:22
vsoni left
01:31
vbattsAtWork left
01:38
wilx left
01:42
laye joined
01:47
ac left
01:48
daxim_ left
02:06
jisom joined
03:14
Limbic_Region left
03:18
justatheory left
03:31
weinig is now known as weinig|food
03:52
weinig|food is now known as weinig,
idiotmax joined
04:06
Schwern joined
04:18
jeremyb_ joined
|
|||
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. | |||
04:51
drbean joined
04:57
drbean left
04:59
drbean joined
05:02
dduncan left
|
|||
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 | |
05:19
japhb_ joined
05:20
araujo joined
05:21
japhb_ left,
dduncan joined
05:25
DarkWolf84 left
05:38
masak joined
05:41
hkb_zz is now known as hakobe,
wilx joined
05:42
rfordinal joined
05:52
devogon joined
06:09
iblechbot joined
06:17
bloonix joined
|
|||
bloonix | good morning | 06:17 | |
06:20
zamolxes_ left
06:24
zamolxes joined
06:39
iblechbot left
06:49
elmex joined
|
|||
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 | |||
07:27
Aankhen`` joined
07:33
cognominal_ left
|
|||
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 | ||
07:37
drrho joined
|
|||
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) |
||
07:57
franck___ joined
|
|||
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 | ||
08:15
dduncan left
08:17
gorax joined
|
|||
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 ;-) | |||
08:47
ruoso joined
|
|||
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 | |
08:53
drbean left
|
|||
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 | |
08:56
drbean joined
|
|||
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 | ||
09:01
drrho left
|
|||
Aankhen`` | Ah well, I'm going to go shower and do some other stuff. | 09:01 | |
BBL. | |||
09:14
cognominal_ joined
09:29
jisom left
09:36
cognominal_ left
10:14
fglock joined
10:29
laye left
10:45
weinig left
10:48
lichtkind joined
10:49
weinig joined
10:55
iblechbot joined
11:19
devogon left
11:21
devogon joined
11:40
polettix joined
12:22
gorax left
12:23
cmarcelo joined
12:37
andara joined
12:56
iblechbot left
13:10
Lunchy joined
13:39
TJCRI joined
14:02
blindfish joined
14:09
rindolf joined
14:18
mr_ank left
|
|||
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 | ||
14:23
polettix left
14:25
cognominal_ joined
|
|||
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 | ||
14:51
`nipra left
|
|||
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 | ||
14:56
weinig left
14:57
`nipra joined,
weinig joined
14:59
chris2 joined
15:00
rindolf left
|
|||
[particle1 idly wonders whether l or 1 is more common... | 15:00 | ||
15:00
[particle1 is now known as [particle]
|
|||
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 | |||
15:12
iblechbot joined
15:13
cognominal__ joined
|
|||
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. | ||
15:19
pmurias joined
|
|||
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 | ||
15:22
cognominal_ left
|
|||
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 | ||
15:35
vbattsAtWork joined
|
|||
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 | |
? | |||
15:44
arrowax joined
|
|||
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 | |||
16:01
weinig left
|
|||
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 | ||
16:04
drbean_ joined
|
|||
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 | ||
16:04
drbean left
|
|||
avar | works now though | 16:04 | |
pmurias | avar: i have an older revision ;) | 16:06 | |
16:07
masak left
16:15
barney joined
16:22
andara left
|
|||
pmurias | it work now on HEAD | 16:28 | |
*works | |||
16:36
weinig joined
16:42
jjore-w joined
|
|||
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 | ||
16:50
prefiks joined,
polettix joined
|
|||
avar | Aankhen``: did you try the emacs indenting settings I pasted? | 16:56 | |
16:58
franck___ left
|
|||
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 | ||
17:04
justatheory joined
|
|||
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.. | |||
17:17
jhorwitz joined
|
|||
Aankhen`` | Yes, currently everything's hard-coded rather than being objects. | 17:17 | |
17:17
xdg joined
|
|||
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 ) } ) ); | |||
17:25
Psyche^ joined
|
|||
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 | ||
17:36
prefiks left
|
|||
avar | 5m? are the failing tests taking so long? | 17:37 | |
17:39
prefiks joined
17:41
Patterner left,
Psyche^ is now known as Patterner
|
|||
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 | ||
17:49
Kattana left
|
|||
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. | |||
17:50
japhb left
|
|||
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 | |
18:10
rindolf joined
|
|||
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 | ||
18:20
jisom joined
18:29
Torment joined
18:31
xdg left
18:41
Neotrix_ joined
18:43
Neotrix_ left,
Notrix joined
18:46
Jedai left
19:04
fglock left
19:11
Aankhen`` left
19:30
kyrbe joined,
kyrbe left
19:31
Kattana joined
|
|||
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 | |
19:39
barney left
|
|||
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 | |
19:50
chris2 left
|
|||
TimToady | cpanp running under 5.9.5 | 19:50 | |
19:53
dduncan joined
|
|||
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) | |||
20:05
jisom left
|
|||
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 | |
20:06
jferrero joined
|
|||
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 | ||
20:10
blindfish left
|
|||
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 | |||
20:25
rlb3_work left
20:26
rlb3_work joined
20:44
jferrero left
20:45
jferrero joined
21:03
jhorwitz left
21:06
prefiks left
21:07
TJCRI left
|
|||
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 | ||
21:16
pmurias left
21:26
dduncan left
21:41
iblechbot left
21:52
rindolf left
|
|||
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 | |||
22:13
xinming joined
22:14
xinming left
22:18
xinming joined
22:28
elmex left
22:41
Notrix left
22:44
polettix left
22:48
arrowax left
22:56
dduncan joined
23:02
japhb joined
23:11
polettix joined
|
|||
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 | ||
23:59
cmarcelo left
|