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.
pugs_svnbot r18158 | avar++ | r65522@t: avar | 2007-09-25 08:30:53 +0000 08:33
r18158 | avar++ | hacky script to compile tests for lisp with sbcl, run this then prove -r t-lisp-exe
diff: dev.pugscode.org/changeset/18158
lambdabot Title: Changeset 18158 - Pugs - Trac
lichtkind ?eval 3 div 4 09:19
bot is dead 09:20
long live the bot :)
avar Aankhen``, fglock: svk pull, perl compile_tests_kp6_mp6-lisp.pl; prove -r t-lisp-exe 09:40
fglock avar: looking
avar it creates stand-alone executables of all the test files with sbcl 09:43
fglock installing sbcl
pugs_svnbot r18159 | avar++ | r65524@t: avar | 2007-09-25 09:45:36 +0000 09:48
r18159 | avar++ | Put the main body in (defun Main) and run it by default, this allows for creation of stand-alone-executables with sbcl
diff: dev.pugscode.org/changeset/18159
lambdabot Title: Changeset 18159 - Pugs - Trac
pugs_svnbot r18160 | fglock++ | [kp6] Scope.pm cleanup 09:51
diff: dev.pugscode.org/changeset/18160
lambdabot Title: Changeset 18160 - Pugs - Trac
avar fglock: the ones that aren't valid lisp are just skipped atm 10:07
maybe it would be better to add a stup fail test... 10:08
pugs_svnbot r18161 | fglock++ | [kp6] Visitor::Scope stub 11:06
diff: dev.pugscode.org/changeset/18161
lambdabot Title: Changeset 18161 - Pugs - Trac
avar cheers fglock 11:09
write more stuff in p6 so I don't have to work so hard:) 11:10
Aankhen`` avar: It's asking me to confirm whether I want to remove 10,000 write-protected files, one at a time… all in t-lisp-exe/*/.svn 11:18
avar SAY YES 11:19
the compile_test script is a dirty evil hack
Aankhen`` I am, but why is it asking so much?
Also, SBCL is giving me tons of "unhandled condition in --disable-debbuger-mode, quitting". 11:20
avar because it was written by a monkey low on banana
BinGOs because you forgot the "shut it bitch and just do it" switch
avar what version of sbcl?
$ sbcl --version
SBCL 1.0.9
Aankhen`` 80,69135888$ sbcl --version
80,69135888SBCL 1.0.9
avar I'm making standalone executables for all the tests because I don't know how to tell sbcl to shut the fuck up
Aankhen`` From CVS, if that matters. 11:21
--noinform and --noprint are supposed to do that. 11:23
But I guess they don't work for you either, eh?
avar sial.org/pbot/27716 # faaaast :) 11:27
lambdabot Title: Paste #27716 from Someone at 208.78.101.240
Aankhen`` But not particularly correct? 11:28
avar who needs correctness when you have awesomely fast failures
Aankhen`` Hehe.
That's CLISP?
avar no I compiled the tests to stand-alone executables using sbcl 11:29
they're executing at around or above the speed perl(1) would run them at
Aankhen`` Ah. 11:30
avar 03-equals.t is 0.023 secs on my machine
most of it load time, 30mb executable:) 11:31
fglock avar: would you bootstrap, please
avar bootstrap what?
fglock the compiler
:P
avar uh, after lunch?:)
fglock i think i can wait a few minutes 11:32
Aankhen`` How do you bootstrap the compiler? :-S 11:32
avar Make it support enough perl 6 to compile its own files
Aankhen`` Oh.
pmurias avar: you mean the speed perl(1) would run them if they were in p5? 11:33
avar then the generated CL code will be a p6 compiler..
Aankhen`` I'm a little unclear on how much is the responsibility of the emitter with regards to variables. 11:34
What is Visitor::Scope et all about? 11:35
pmurias you shouldn't use 01-sanity-modified
Aankhen`` s/is/are/
avar pmurias: well, p5 is 0.006 secs:)
fglock Aankhen``: use hashes to implement static/dynamic scopes
avar Aankhen``: fglock has been making more stuff into perl6 which means we have to implement less to get more working 11:36
avar just need more primitives to run more complex stuff 11:36
Aankhen`` I see.
avar Array.uniq is in p6 and only requires looks, return, hashes
Aankhen`` Is there an example of hooking up whatever's been written in Perl 6 already?
And, sorry for being dense, but what is static scope? 11:37
fglock lexical variables
my $things
Aankhen`` Oh, okay.
That's what Visitor::Scope takes care of?
pmurias yes
fglock yes (but not yet)
Aankhen`` Ah.
So in the mean time, I should do what I can to get them working in CL?
avar Aankhen``: does compile test work for you? 11:38
Aankhen`` avar: Not yet; I'm trying again. 11:39
fglock native CL will be faster
pmurias fglock: what's the state of --perl5rx? 11:47
fglock it used to run an example/ script 11:49
with backtracking
examples/token-test.pl 11:50
pmurias it dosn't now 11:51
fglock pmurias: see instructions (updated) 11:53
pugs_svnbot r18162 | fglock++ | [kp6] fixed examples/token-test.pl instructions
diff: dev.pugscode.org/changeset/18162
lambdabot Title: Changeset 18162 - Pugs - Trac
pmurias fglock: thanks 11:58
had my -I's in the wrong order
fglock pmurias: i think it would be reasonable to bootstrap with perl5rx 11:59
pmurias either with --perl5rx or with CL 12:01
the bootstraped grammar takes ages to compile the simplest things 12:02
avar it'll be a lot faster once we bootstrap CL:)
But is it bootstrapped now hoshit?:)
tried profiling it?
pmurias avar: hoshit? 12:03
avar "oh shit"
fglock kp6-mp6 compiles itself to kp6-kp6, but kp6-kp6 doesn't compile itself yet 12:04
almost there
avar it'll be awesome when it does:) 12:05
I promise to release it on CPAN then:)
pmurias i've got do my ajax chores now 12:10
i'll looked into --perl5rx later today
riffraff hi 12:12
pmurias riffraff: hi 12:25
fglock lunch & 12:28
b_jonas pity <%foo> syntax is used up in rules 14:17
PerlJam why? 14:18
b_jonas it would be nice if they meant scanf-like conversion formats,
like <%d> reading an integer and capturing it as an integer not a string
that doesn't make much difference for <%d> but for like <%x> it does
of course we can still define such things with some other rule syntax 14:19
PerlJam I don't understand the benefit
pmurias b_jonas: you can define your own <scanf('format')> rule 14:20
b_jonas this way, instead of first matching something like /(<xdigit>+)/ and then reading it with hex($1), you'd match and read a hex number in one step 14:21
pmurias: yes, you can define it of course
pmurias <hex> and <oct> would do most of what scanf adds 14:22
b_jonas yep, I'd probably define ones like that
<dec> and <hex> and <oct> and <float>
and stuff like that
pmurias isn't dec \d+?
b_jonas pmurias: (\d+) captures a string 14:23
I want to capture a number istead
pmurias the is not much difference
b_jonas with decimal numbers, it doesn't make a big difference because they autoconvert
pmurias *there
b_jonas but with like hexadecimal
or a user type
it does make a difference
pmurias yes
b_jonas I might introduce read syntax like that for a user type I define
even if scanf doesn't classically support that type 14:24
pmurias b_jonas: do you particulary like the scanf syntax? 14:25
b_jonas no
b_jonas but I like a way to read data 14:25
not neccessary with scanf syntax 14:26
ahmadz hi
pmurias ahmadz: hi
b_jonas but in some way that I can combine it with matching
so I can just read a pair of numbers as token /( <num> , <num> )/ 14:27
pmurias b_jonas: token /(\d+),(\d+)/ does it
b_jonas (or something like that)
pmurias: yes, for positive decimal integers, but what if I want to read a pair of whatever datatypes I have defined 14:28
like /\( <foo> , <foo> \)/
it's probably easy to define a rule foo like that 14:29
so it not only matches a string rep of a Foo but reads it as a Foo as well
pmurias token foo { foo {make Foo.new()} }
b_jonas yep 14:30
that's it
rhr b_jonas: there are rules in STD you could use for that, e.g. <hexint>, <dec_number>, etc. (see line 1521 and following) 14:52
lambdabot rhr: You have 1 new message. '/msg lambdabot @messages' to read it.
rhr @messages' 14:53
lambdabot Maybe you meant: messages messages?
rhr @messages
lambdabot ferreira said 7d 1h 29m 26s ago: Thanks. Fixed.
rhr silly lambdabot, you already told me that
ahmadz is there a way to speed up the 'make' in v6/v6-KindaPerl6? 14:59
avar work on the CL backend:) 15:00
ahmadz avar: ;-)
avar: im playing with EmitParrot.pm atm 15:01
avar I thought you wanted to make it faster?:) 15:03
ahmadz atm the make is too slow on my P4 2Ghz Linux VM 15:04
even though i have 1GB...
avar try running devel::dprof on it 15:06
b_jonas paralel make it?
dunno if it's allowed
avar it's allowed 15:07
ahmadz dont think '-j' will help since im only editing one .pm 15:08
i will try profiler on it... maybe i can find something ;-)
b_jonas well, you can probably see if make runs more than one slow commands 15:09
ahmadz try -j2 same thing; since 100% CPU i dont think i will gain much on a 2Ghz 15:10
b_jonas dunno 15:12
you could try breaking that file down to smaller files
ahmadz is inspecting makefile
b_jonas or you can try compiling with less optimization 15:13
(with gcc for example, -O is much faster than -O2)
pmurias b_jonas: kp6 dosn't do any optimization 15:14
it's only the parsing which takes significant time
b_jonas well, then breaking it down to smaller files is all I can think of 15:15
ahmadz real: 1m54s, user:1m35s sys:0m7s for a single .pm make on kp6 15:17
avar The parser is going to be replaced soon-ish anyway
pmurias avar: with?
avar STD.pm
pmurias it won't help much
well it might
but it's the parse engine which is slow not the grammar 15:18
ahmadz hmmm, alias perltidy='cat' during dev? ;-)
pmurias ahmadz: not compiling the kp6-kp6 version would be a speedup
avar sial.org/pbot/27721 15:19
lambdabot Title: Paste #27721 from Someone at 208.78.101.240
avar you could add perl Makefile.PL --without-kp6-kp6
pmurias avar better a make target 15:20
ahmadz avar: yeah that would be cool
avar yeah, target 15:21
sub to { @_ == 1 ? ( $_data{refaddr $_[0]}{to} ) : ( $_data{refaddr $_[0]}{to} = $_[1] ) };
avar it's probably backtracking like crazy 15:27
pmurias i dosn't backtrack much i think 15:28
:ratchet is the only choice in mp6
the problem is that kp6 is not bootstraped yey 15:33
*yey
*yet ;)
avar the cause of the speed problem? 15:34
pmurias in order to make kp6 compile faster one would have to work on mp6 15:35
which is wasted effort in the long run 15:36
mp6 is semi-frozen, and has (not so) slightly more evil internals
pmurias the bootstrap is blocking or is bound to block on the speed of kp6-kp6 15:46
avar real 20m41.047s 15:47
user 22m13.800s
sys 0m17.080s
pmurias as rules are even slower in kp6 then in mp6
avar: this is the time for?
avar make forcerecompile; make 15:48
pugs_svnbot r18163 | fglock++ | [kp6] Visitor::Scope just do something 15:57
diff: dev.pugscode.org/changeset/18163
lambdabot Title: Changeset 18163 - Pugs - Trac
avar that didn't work out very well.. 16:03
tried to s/refaddr /0 + /g and the comp almost crashed:)(
kernel killed the process
pmurias avar: trying to optimize mp6? 16:04
avar failing:) 16:11
fglock the refaddr thing is mostly useless, it was there to permit using inside-outs, which were there for perl5ish reasons (inherited from the v6.pm impl) 16:12
avar What are the people that are hacking kp6 working on atm anyway? 16:14
me an Aankhen`` are hacking cl...
fglock: You're doing p5->p6 of the runtime, general clenup or aimed at STD?
fglock i'm working on - hmmm
all that
trying to allow more p6-level emulation, in order to make backends easier to implement 16:15
avar yeah that's great 16:16
fglock in order to implement p6-level coro and gather/take
in order to run desugared STD
and then STD
looks like some kind of piramid 16:17
pyramid
Tene avar: what's the status of kp6-clisp? 16:18
avar Tene: sial.org/pbot/27722 16:19
lambdabot Title: Paste #27722 from Someone at 208.78.101.240
avar still near the hello world stage
more runtime/emitter stuff needs to be written
Tene avar: thanks
avar But writing a backend is easy-ish mostly 16:23
fglock implementing closures in high level is silly, isn't it? 16:26
fglock reading about it 16:28
fglock it probably needs a different p5 runtime 16:38
need
fglock needs :) 16:39
fridim hi 16:40
fglock hi 16:48
pugs_svnbot r18164 | azawawi++ | [kp6] 'make kp6-mp6' added 19:06
diff: dev.pugscode.org/changeset/18164
lambdabot Title: Changeset 18164 - Pugs - Trac 19:07
ferreira For those following the series of micro-articles on Perl 6 operators, I have a draft ready for comments and suggestions. This will be published yesterday by 10:30 GMT-0300. It is at feather.perl6.nl/~ferreira/perl6-op...rcion.html or feather.perl6.nl/~ferreira/perl6-op...rcion.pod6 19:39
lambdabot Title: coercion.pod6
PerlJam ferreira: s/This can be lead to/This can lead to/ 19:41
allbery_b "this will be published yesterday"? 19:42
PerlJam allbery_b: he's traveling backwards while we go forwards in time :)
ferreira allbery_b: that was an error due to me feeling guilty. It should have been published yesterday. It slipped by and then tomorrow will have to be good enough. 19:46
pmurias what's a good name for a visitor which turns Rules into C code? 19:50
[particle1 Visitor::Rules2C :) 19:52
pmurias could be 19:52
allbery_b .oO { consultant }
pugs_svnbot r18165 | azawawi++ | [kp6] 'make kp6-mp6' now actually works ;-) 20:34
diff: dev.pugscode.org/changeset/18165
lambdabot Title: Changeset 18165 - Pugs - Trac
ahmadz pmurias, avar: 'make kp6-mp6' now works and is pretty much faster ;-) 20:47
pmurias ahmadz: nice 20:58
pmurias is working on compiling rules to c 21:02
pmurias sleep& 21:14
pugs_svnbot r18166 | azawawi++ | [kp6] 'make kp6-mp6' is now 'make kp6_mp6' 21:25
r18166 | azawawi++ | * added pod doc for it
diff: dev.pugscode.org/changeset/18166
lambdabot Title: Changeset 18166 - Pugs - Trac
ahmadz @karma 21:40
lambdabot You have a karma of 1
pugs_svnbot r18167 | azawawi++ | [kp6-parrot] project start... cleaned unused dies
diff: dev.pugscode.org/changeset/18167
lambdabot Title: Changeset 18167 - Pugs - Trac
pugs_svnbot r18168 | Aankhen++ | * [kp6-lisp] added error handling functions. 21:49
diff: dev.pugscode.org/changeset/18168
lambdabot Title: Changeset 18168 - Pugs - Trac
Aankhen`` Hmm, still not optimal. 21:59
pugs_svnbot r18169 | Aankhen++ | * [kp6-lisp] reworked error handling structure.
r18170 | Aankhen++ | * [kp6-lisp] left out an argument.
diff: dev.pugscode.org/changeset/18170
lambdabot Title: Changeset 18170 - Pugs - Trac
Aankhen`` Oh well, it'll have to do. 22:00
pugs_svnbot r18171 | Aankhen++ | * [kp6-lisp] better KP6-PREFIXED-ERROR-MESSAGE. 22:08
diff: dev.pugscode.org/changeset/18171
lambdabot Title: Changeset 18171 - Pugs - Trac
pugs_svnbot r18172 | Aankhen++ | * [kp6-lisp] error functions should take a typespec. 22:11
diff: dev.pugscode.org/changeset/18172
lambdabot Title: Changeset 18172 - Pugs - Trac
pugs_svnbot r18173 | lwall++ | Skeleton of new autolexer (doesn't really do dfa yet, so STD doesn't run) 22:50
diff: dev.pugscode.org/changeset/18173
lambdabot Title: Changeset 18173 - Pugs - Trac