[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: classdef support for octave
From: |
Michael Goffioul |
Subject: |
Re: classdef support for octave |
Date: |
Wed, 3 Sep 2008 17:58:58 +0200 |
I forgot to attach one file.
Michael.
On Wed, Sep 3, 2008 at 5:50 PM, Michael Goffioul
<address@hidden> wrote:
> Hi all,
>
> I've been thinking for a while about classdef support in octave,
> mainly because this oo-system seems to be closely linked
> to the graphics system. By looking at it at an early stage, I hope
> that it could be made quite compatible with the current graphics
> code, such that both can co-exist and interact nicely.
>
> Yesterday, I decided to give it a try by laying down what I had
> more or less in mind (before forgetting it...). You can see this
> embryonic result in attachment. Without going too much into
> details, the idea is to build the system upon a simple object
> type (a set of slots) and to provide programmatic interfaces on
> top of it. This allows to easily make objects accessible from the
> interpreter. The implementation is partially inspired by LISP and
> the MOP. The code in attachment only shows the very beginning
> of the bootstrap code, but I'm focusing on the framework to see
> what are the pro's and con's of the design choices I made. This
> stuff can completely change in the future.
>
> This work is a long-term issue and I only plan to work on it from
> time to time (when I get bored doing something else...). The code
> has the form of an oct-file (normally it should compile fine) and I
> plan to keep this code outside of octave for now (which also means
> no syntactic sugar in the interpreter).
>
> Now come the questions. Do you find this interesting? Do you think
> the code in attachment might be a way to go? Who's willing to
> join?
>
> The only things you can do with the code currently are:
>
> init_classdef
> c = get_class ('meta.class')
> % any other meta.class property should be OK.
> c.Properties
> % does nothing as some code is missing
> c.fromName ('meta.property')
>
> Bye,
> Michael.
>
init_classdef.m
Description: Text document