On 11/25/06, Quentin Mathé <[EMAIL PROTECTED]> wrote:
Le 24 nov. 06 à 22:15, Yen-Ju Chen a écrit :
> It looks interesting.
> Unfortunately, the latest io break the use of ':' in method name.
I think this will be fixed, Baptiste Heyman who takes care of
ObjcBridge usually handles bug report quickly.
Here is the replay I got and it looks good:
"We're scheming about supporting obj-c style method calls. [object
deleteFrom:start to:end]. Hopefully the : handling won't be broken for
long."
[snip]
> There are some issues which I am thinking about:
> 1. Official Io put the addon in different directories.
> And in some cases, the building of Io failed because of the addons.
> We only use Vector and ObjecBridge addon and it can be built
> with Io or as stand-alone library.
> 2. The options we have are:
> a. build Io as what we have now (static binary), which does take
> time to maintain.
> b. build Io as what we have now, but split into library and tool.
> It will be more useful for other application to use Io.
> c. build Io, Vector and ObjcBridge as separate libraries
> This has the minimal maintain since it is what Io does.
I'm in favor of b. May be c too if we can ensure ObjcBridge and
Vector are linked by default with Io tool and library. Also I would
like to keep the possibility to produce a Io StepTalk bundle very
easily.
If we split into the library and tool,
a StepTalk can simply link to the library.
> 3. If we use option 2c above, the options of distribution of Io are
> a. Ask user to build Io on their machine. So no maintain for us. :P
> We don't even write our own GNUmakefile.
> b. Put the minimal Io (iovm + Vector + ObjcBridge) in /
> Dependencies.
> Very little maintain.
> c. Io put the addon under prefix/lib/io/addon (something like
> that),
> which is a little bit annoying.
> We can have our own copy which contains these addon files
> (Vector.io and ObjcBridge.io)internally as what we have now.
For this point, I prefer to keep Io in Etoile/Languages for now until
its release 1.0 happens and gets more widely distributed and
packaged. So perhaps option b could be the right here if we don't
move our Io version in Dependencies.
With ObjcBridge in the Io repository, there is a Io directory that
contains extra Io code related to the bridge. Do you have an idea on
how to run this code with our own build setup? I don't know how it's
done by Io itself.
I used to do it manually.
You can look at the IoVectorInit.c,
which contains the Vector.io.
There is a tool under iovm/tools/io2c.
It can convert io into c.
But it is part of the maintaince I prefer to reduce.
Another issue is how we handle the constant.
In official release, some are put in the io directory as you refer.
I have a IoFoundation and IoAppKit to do the same thing in C.
The advantage in C is that you don't really need to know the real
value of some constant.
For example, in ObjcBridge.io, you have to define
NSToolbarSizeModeDefault := 0.
in C, you can do it by "NSToolbarSizeModeDefault" := NSToolbarSizeModeDefault;
You can take a look fo IoFoundation and IoAppKit to know how to do it.
I will wait until the ':' issue is fixed then see.
Yen-Ju
Quentin.
--
Quentin Mathé
[EMAIL PROTECTED]
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev