From: Christoph Bauer <c_bauer@informatik.uni-kl.de>
To: caml-list@inria.fr
Subject: [Caml-list] Schoca 0.0 - first release announcement
Date: Sat, 27 Sep 2003 20:17:22 +0200 [thread overview]
Message-ID: <m3he2yf64t.fsf@diebuntekuh.de> (raw)
Hi,
Schoca is SCHeme for OCAml.
The initial release of schoca is available at
http://prdownloads.sourceforge.net/chesslib/schoca-0.0.tar.bz2?download
Please note that this is an early alpha release of Schoca. Please
report bugs, typos, etc.
README
Schoca --- Scheme for OCaml
---------------------------
Schoca is an implementation of the Scheme language. The primary
purpose of Schoca is the use as an embedded extension language in
OCaml applications (e.g. the ibgsclient).
Why Scheme?
-----------
Scheme is an easy, small, widely known and well-documented
language. There exists some (over Scheme implementations) portable
libraries. With applications like Gimp and GnuCash it has been proven
that Scheme is a very useful extension language. Other applications (like
Emacs or AutoCAD) use other lisp dialects (elisp, AutoLisp).
Why another implementation of Scheme?
-------------------------------------
OCaml and Scheme need both a garbage collector (GC). With an
implementation of Scheme in OCaml both parts of the application are
using the same GC. This avoids easily a lot of troubles.
The extension language and the application itself are sharing some
code, e.g. for the handling of hashtables. This results in a smaller
size of the application binary.
Furthermore this solution doesn't require type conversion functions.
Scheme types are simple variant or record types.
How does it work?
------------------
Register new functions with
Enviroment.set env "name" (ML_EagerProcedure (fun args -> ... ))
Look in rep.ml.
[This section will be rewritten in the next release.]
Status (Version 0.0)
--------------------
Version 0.0 is a very early release. Expect not to much!
What works: look in r5rs-test.scm.
What is missing:
* proper tail recursion (planned for 0.1)
* macros (planned for 0.2)
* correct continuations (planned for 0.1)
* recursive calls of "force" (cmp R5RS 6.4 and documentation about `Lazy.force')
(does anybody need this?)
* some library functions (planned for 0.2)
[gcd, lcm, numerator, denominator, round, rationalize, atan,
make-rectangular, make-polar, magnitude, angle, char-alphabetic?,
char-numeric?, char-whitespace?, char-upper-case?, char-lower-case?,
char-upcase, char-lowercase, string->list, list->string, vector-length,
vector->list, dynamic-wind, null-enviroment, interaction-enviroment, ...]
* most I/O Routines (planned for 0.1)
* simple API for embeddeding (planned for 0.1)
There are no `immutable' string restrictions. (compare with R5RS
p. 30)
The license
-----------
GPL
Contact
-------
Schoca is part of the IBGS project:
http://sf.net/projects/chesslib
Please report bugs, send complains and suggestions, or donations ;-)
Author: Christoph Bauer <c_bauer@informatik.uni-kl.de>
--
proc self {} {foreach c [split [info body self] ""] d {14 -7 0 0 4 -67 4 73 11
69 24 -83 -15 6 -4 -84 78 20 11 -78 -1 -1 79 19 -8 4} { binary scan $c c c
if {[catch {append r [format %c [expr $c+$d]]}]} {return $r};}};puts [self]
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next reply other threads:[~2003-09-27 18:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-27 18:17 Christoph Bauer [this message]
[not found] ` <20030928050538.GC22894@ucdavis.edu>
2003-09-28 6:44 ` Christoph Bauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3he2yf64t.fsf@diebuntekuh.de \
--to=c_bauer@informatik.uni-kl.de \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox