Command-line invocation updates
Brian Rice
water at tunes.org
Wed Jan 18 14:23:09 PST 2006
Hello all,
I apologize for the recent downtimes. I unfortunately am in the dark
as to the reason, despite requests for information from the
administrators. If someone can provide a quick mirror of the website,
it would provide some short-term relief until I have ensured a deal
for my new server.
Anyway, I have made the arrangements to make Slate more convenient as
a command-line tool. These changes are in alpha and are easily
invoked as noted:
1) The default Makefile target now builds a full image. So "make &&
sudo make install" should now be all that is needed for Slate
installation.
2) VM builds now know where the installation path is, and can pick up
the canonical slate.image from there, if one hasn't been specified on
the command line AND a slate.image is not in the current directory.
So Slate can now definitely run from anywhere on the file system.
3) A complete Unix man page is now available and is installed with
the "make install" target as appropriate.
4) Image-level argument handling is now systematized, and --image-
help will list
the docstrings of any regularized option handlers.
5) load: now handles #! syntax, and will soon support specialized
facilities for script files, eventually including sandboxing. Slate's
command-line syntax also now has a -c option for invoking Slate
source as such scripts, and if the first command-line option is not a
-option, it interprets it as a script's filename.
6) A proof-of-concept shell script exists in the Slate repository as
demo/wc, which
emulates GNU's wc from their core utilities package. Right now it
isn't quite working because of a fix I need to bootstrap in for
sequence.slate #join, but the patch is in the repository. I'll update
when it can be run out-of-the-box.
7) The post-bootstrap now has its load-sequence specified in a file
that is itself loaded externally, called src/mobius/prelude.slate, so
it can be modified and then "make bootstrap" re-run to create
customized images quickly.
8) The FFI has been added to prelude.slate, along with many other
libraries. A few libraries have been extracted from the bootstrap
into this list to make the core image less bloated and to allow for
more flexible choice.
Coming soon:
* SLATEPATH environment variable will be used to assist load: calls
to find relatively-specified files in the standard library from
anywhere on the system. This will fix the use of the AutoLoader
outside of the Slate source tree root directory. An alternative was
to abuse the "server:path" notation to have a virtual Slate source
server. I may yet include that, but it's tricky and there are more
urgent priorities.
* More common plugins and sources installed globally as appropriate.
I'm also inclined to move the time, socket, and platform plugins into
the VM since their dependencies are trivial, and I'd rather make VM
builds more modular to make it easier to customize than put up with
the performance issues until a compiler-based FFI is ready.
* Fixes for the bootstrapping process bugs that I introduced last
week. I've had to improve my local testing setup and workflow to make
cross-platform testing easier, so that took some additional time.
* Much more, stay tuned...
--
-Brian
http://tunes.org/~water/brice.vcf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : /archives/slate/attachments/20060118/fa99c956/PGP.pgp
More information about the Slate
mailing list