Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] [Q] opengl bindings without tcl/tk
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: issac@u...
Subject: Re: [Caml-list] ocaml embedded scripting language
Eric Merritt wrote:
> Everyone,
>  Well I decided to take dans advice and do a simple
> forth like implementation. Overall it doesn't seem
> like its going to be difficult at all. I have run into
> a small snag. As a side note I have already decided
> that this is note possible, this is just a last ditch
> to see if there is a solution. 
>  It has to do with the type system more then anything
> else. I use a stack to handle data that the
> interpreted process is manipulating. I provide a
> specific set of words that this forth like language
> will use to manipulate the stack. Of course, stacks
> may only be of a single type 'a. So if declare a new
> type to be
>  type some_type = Int of int | Float of float | Word
> of string 
> Them my stack is some_type Stack.t 
>  Ok this is all fine and dandy, until a few months
> from now when I want to add a new type say File of
> Unix.file_descr. The word implementations to support
> the new type wouldn't actually be a problem. However,
> extending the type seems to be impossible.
>  The only way I can see to do this at the moment is to
> modify the type and recompile the whole system. That

OCaml can be used as a scripting language, so this doesn't
have to be a problem.  Just use the #load, #directory, and
#use toplevel directives, and little or no compiling is 
necessary.  However this seems to require restructuring the
program, so maybe it won't be worth it.

Another way would be to have a facility for adding 
new types within your extension language.
If you add a start-up file (something like ~/.my_extension_lang_rc)
then you can load all your favorite types whenever it runs.

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: