MOO-cows Mailing List Archive
Re: New Server
> Brandon Gillespie drew these hieroglyphs:
> heh, after that "life support" message, I see this. well, I based my
> judgement off what I saw (or wasn't seeing) on the Coldstuff list.
Coldstuff has been rather dead for a while, primarily due in part to the
fact that all of the developers are online already, so the only use for
the list up to 1.0 has been to get a larger opinion on certain concepts.
> > * Cooperative multitasking.
> Explain this, please?
MOO-style; we opted for this for many reasons. ColdC 2.0 will have
preemptive, but ColdC 2.0 will be much more than a simple mud-server
> > * Secure language design, implementing public, private and native
> > methods as well as the ability to lock methods as immutable (so they
> > cannot be changed during regular execution) as well as the ability
> > to dynamically bind built-in functions to specific objects.
> dynamically binding built-in's. Is that the same as a native method?
No, by default there is no access control to ANY function in the ColdC
language. This includes 'type()' and all other functions (as well as
'open_connection()' and 'bind_port()'). Rather than allowing the driver
to presume to understand what your database wants, it simply provides you
with the means to bind/lock a function to an object, meaning that ONLY that
object can call the function. Calling the function from another object
results in an error.
Native methods are much different in that they ARE a method, when called
the interpreter finds the method and from there gets the native index
to the native method->C Function table (all of this is behind the scenes).
The advantage of this is people can extend the driver without breaking a
database. If database x uses certain native methods in driver a, and
they drop back to using driver b which doesn't have them, the database
will still load and run (infact, if you left regular method code with the
natives it will still exist, and be used instead).
Subject Index |