[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] Using Smalltalk as a scripting language

From: Roland Plüss
Subject: Re: [Help-smalltalk] Using Smalltalk as a scripting language
Date: Wed, 28 Oct 2009 17:58:19 +0100
User-agent: Thunderbird (X11/20090926)

>> If not what is the preferred way to handle
>> errors? hijacking #doesNotUnderstand in the Object class ( including
>> #halt and company )?
> Hijacking SystemExceptions.UnhandledException>>#defaultAction sounds
> better.
> Even better would be to define #debuggerClass in the superclasses that
> your scripts are supposed to subclass.  The #debuggerClass will be
> sent the class method #open:.
What kind of class is #debuggerClass supposed to return? Of course I
could simply make a class with only #open but I'd like to use the proper
superclass for this situation to avoid breaking potential future gst
> You can test "x == gst_interpreter_proxy.nilOOP".  You can of course
> define your own IS_NIL macro.  However gst_class_name_to_oop returns
> NULL (not nil) if the class is not found; I'll update the docs.
That would be nice. In fact would it be possible to use doxygen style
documentation? They are very helpful to developers as they contain what
is important: function signatures and possible values.

I forgot one question. From looking through the docs I get it that to
map a c++ class to gst I have to create a struct which is then mapped to
smalltalk. Now I'm still trying to wrap my head around how exactly this
is supposed to work. I'm assuming
is the way to handle this. There it is described how to structure this
struct and how to get it from an OOP. Now what I don't get are a couple
of things.

How is this class registered. Meaning how does gst know about the new
class? It's written there that you define a class in smalltalk as in the
example. But where is the gluing made between the c struct and the
appropriate smalltalk class? How do I register a method in a class which
is a c function? In the docs it is mentioned that you have to use a
register function but it seems as far as I get it that it works only for
adding a function to the system class ( in an example this is written
vmProxy->defineCFunc("Tcl_Eval", Tcl_Eval) which does not seem to define
a class OOP in any way ). Is there another function for adding a c
function as a smalltalk method to a class or is this the same function
with a different signature? ( I'm missing the function signature so I'm
a bit at a loss on how it is actually called ). If I can wrap my head
around these two things I think I know all it takes to get the show running.

Yours sincerely
Plüss Roland

Leader and Head Programmer
- Game: Epsylon ( , )
- Game Engine: Drag(en)gine ( , )
- Normal Map Generator: DENormGen ( )

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]