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/927d2cc3/PGP.pgp


More information about the Slate mailing list