caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Schoca 0.0 - first release announcement
@ 2003-09-27 18:17 Christoph Bauer
       [not found] ` <20030928050538.GC22894@ucdavis.edu>
  0 siblings, 1 reply; 2+ messages in thread
From: Christoph Bauer @ 2003-09-27 18:17 UTC (permalink / raw)
  To: caml-list

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Caml-list] Schoca 0.0 - first release announcement
       [not found] ` <20030928050538.GC22894@ucdavis.edu>
@ 2003-09-28  6:44   ` Christoph Bauer
  0 siblings, 0 replies; 2+ messages in thread
From: Christoph Bauer @ 2003-09-28  6:44 UTC (permalink / raw)
  To: OCaml List

Hi,

> This is nice.  Thanks for implementing it and making it free.
> By the way, I was able to compile it just fine without
> xstrp4, a library that I couldn't seem to find.  In the Makefile I have
> this:
>
>     PACKAGES=camlp4   # xstrp4

Thanks. Yes, schoca don't need this package. 

BTW, the you can find the package at

  http://www.ocaml-programming.de/programming/download-caml.html


> Also, can you tell me why it prints out "#unspecified" for procedure
> calls instead of no output (as in Guile).


This is a hint for the programmer when the result of a function call is
unspecified by R5RS. 

E.g. from R5RS: "The result of the `set!' expression is unspecified."

The bigloo interpreter  has a similar behavior.

Christoph

-- 
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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-09-28  8:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-27 18:17 [Caml-list] Schoca 0.0 - first release announcement Christoph Bauer
     [not found] ` <20030928050538.GC22894@ucdavis.edu>
2003-09-28  6:44   ` Christoph Bauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).