[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guile-vm 0.4
From: |
Rob Browning |
Subject: |
Re: guile-vm 0.4 |
Date: |
12 Apr 2001 13:09:10 -0500 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 |
Keisuke Nishida <address@hidden> writes:
> (require 'bar) will compile the file, but (load "baz.scm") won't.
Hmm, I'm not sure what I think of that. If compiling (require 'bar)
will also demand write access to the slib dir, then I think that's
probably not good for the long run. If it just byte-compiles the
functions into memory, then that would probably be fine, though it's
still a problem if anything in 'bar or any file required by 'bar isn't
supported by the VM.
> Maybe we should prepare a compiler command (`guilec' or something)
> and do not try to write .go files automatically?
Something like that sounds better to me, but you could just break it
up functionally:
(vm-compile "foo.scm") -> compiles foo.scm, writing foo.go
(vm-load "foo.go") -> loads byte compiled file
(vm-compile/load "foo.scm") -> compiles, then loads.
so the user can choose what they want. Note that I don't necessarily
think the functions need the "vm-" prefix. I was just being explicit.
Then the user can do things like this:
(for-each vm-compile files-to-compile)
.. normal loads ...
and make sure that all the files they want compiled are ready before
they start loading.
It's kind of a weird situation, though, because I could see cases
where you don't want to write .go files to disk, but you do want
byte-compiling. In that case, recursive compile-{load,require}'s seem
the only viable option. Hmm.
> I'll support macros soon, if you want. What syntax do you use?
> (defmacro, define-macro, define-syntax, etc.)
Well, we don't use macros much, and so I just eliminated all the calls
in the files I was trying to byte-compile, but mostly I was worried
about recursive vm compiles via "load" or "require". I was only
trying to byte-compile a few files and didn't want to have to check
all the required and loaded sub-files for macros (and other
vm-incompatible bits) too. From what you said above, only "require"
is an issue, but that could still be a problem since we use require
and I don't know whether or not files in the the required sub-tree of
slib files use macros...
--
Rob Browning <address@hidden> PGP=E80E0D04F521A094 532B97F5D64E3930
- Re: guile-vm 0.4, (continued)
- Re: guile-vm 0.4, Rob Browning, 2001/04/10
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/11
- Re: guile-vm 0.4, Rob Browning, 2001/04/11
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/11
- Re: guile-vm 0.4, Rob Browning, 2001/04/11
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/11
- Re: guile-vm 0.4, Rob Browning, 2001/04/11
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/11
- Re: guile-vm 0.4,
Rob Browning <=
- Re: guile-vm 0.4, Michael Livshin, 2001/04/12
- Re: guile-vm 0.4, Rob Browning, 2001/04/12
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/12
- Re: guile-vm 0.4, Rob Browning, 2001/04/12
- Re: guile-vm 0.4, Neil Jerram, 2001/04/13
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/13
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/12
- Re: guile-vm 0.4, Rob Browning, 2001/04/12
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/12
- Re: guile-vm 0.4, Rob Browning, 2001/04/12