Re: A newbie question

dan bornside <[email protected]>
Newsgroups gmane.comp.breve
Message-ID <[email protected]>
This might be a bit hopeful.  If you are fully divorcing the breve code 
from the
steve code, might one hope that a steve engine might be available for 
use without
breve, such as an embeddable steve interpreter, or a steve shell?

There are some things about steve (and objective-c) that i don't like, 
but its
easily a very superior object oriented interpreted language.   It's 
very terse,
while being very expressive, and well designed for object oriented 
tasks.  It
could, for instance, be very useful interfacing with a rdbs

On Friday, Jun 4, 2004, at 10:20 America/Chicago, jon klein wrote:

>
> On Jun 1, 2004, at 12:22 AM, German Viscuso wrote:
>
>> If somehow breve could offer a dll with exported c functions that
>> communicate with the breve engine almost any Smalltalk user (and 
>> those with
>> external api access via dlls in other languages) could use and map the
>> objects in the simulation thrugh it and build whatever intermediate 
>> layer
>> neccessary.
>>
>> I'm willing to help in achieving this scheme if you think it's 
>> possible (I
>> know little about breve right know) and if you give me some pointers 
>> =) I
>> have an intermediate level of c and c++ knowledge (I'm mostly an 
>> Smalltalk
>> programmer) but have done many projects that interfaced c dynamic link
>> libraries with Smalltalk (including having to build the dlls myself, 
>> using
>> VC++).
>
> I'm in the process of cleanly separating out the the engine code from 
> the
> steve language code.  It's involving a rather major (but well needed)
> restructuring of some of the code.  When it's finished, there will be a
> library and an API that you should be able to use from any language 
> that
> can call C functions.
>
> Even though I haven't put together the API yet, I can give an overview 
> of
> what will be needed:
>
> - translation between your language's types and the breve stEval 
> structure
>
>   In steve/stEval.h (and as described in the plugin documentation), 
> you'll
>   find the stEval structure.  This is the structure used to pass around
>   arguments and return values by the breve engine.  You'll need to 
> provide
>   functions to translate to and from the stEval structure from your 
> native
>   types.
>
> - use the API to call breve's "C-style internal functions", using 
> stEvals
>   to pass around the data.
>
>   If you look at the source, in the steve directory, you'll find a 
> bunch
>   of files that begin with the string "steveFuncs".  These are the 
> files
>   which define the internal functions.
>
>   The call to do this might look something like this:
>
>     breveCallInternalFunction(currentInstance, functionName, 
> arguments, &return);
>
> - port the steve class files to the native language, using these 
> internal
>   functions.
>
>   This should be very straightforward once the rest is in place.
>
>
> For the moment, it might be best to start with the first item, 
> translation
> between native types and the stEval structure.  Hopefully I'll have 
> the code
> put back together in the next week or so, so that I'll be able to be 
> more
> specific about how the pieces will come together.
>
> - jon klein
>
> _______________________________________________
> breve mailing list
> [email protected]
> http://www.spiderland.org/mailman/listinfo/breve
>

_______________________________________________
breve mailing list
[email protected]
http://www.spiderland.org/mailman/listinfo/breve
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.