I tend to think of get and set as a pair so that if I have a methode
which returns some thing via a get I expect to have a methode that
allows me to set that thing.

lacking the get I tend to think I am creating a new instance as in C++

toplevel = s_toplevel()  to me means create a new instance of a toplevel
to even avoid this ambiguity I often in a non-object oriented language
use function names such as

toplevel = s_toplevel_new();  to create a new instance

and

toplevel = s_toplevel_get_reference(toplevel); to give me a pointer to
the same thing I already have but to increment the reference count
within the structure so I don't destroy it until the last reference to
it is destroyed. 

toplevel = s_toplevel_get_active() would return a pointer to the active
toplevel

s_toplevel_set_active(toplevel) would make the instance of the toplevel
the active instance.

Steve M.



On Wed, 2008-01-09 at 20:38 +0000, Peter TB Brett wrote:
> On Wednesday 09 January 2008 20:00:28 Steve Meier wrote:
> > Peter,
> >
> > In general it looks good.
> >
> > How about making the function
> >
> >  /* Return the fluid containing the active TOPLEVEL */
> >   SCM s_fluid_get_toplevel ();
> >
> > instead of
> >
> >  /* Return the fluid containing the active TOPLEVEL */
> >   SCM s_fluid_toplevel ();
> >
> 
> Thanks -- that should have been g_fluid_toplevel() instead of 
> g_fluid_toplevel.
> 
> Normally, it's not useful to handle the fluid directly.  The fluid isn't the 
> TOPLEVEL -- it's an opaque Guile construct, which can give you a TOPLEVEL if 
> you ask it nicely.
> 
> You will notice that g_fluid_get_toplevel() returns a TOPLEVEL, as you'd 
> expect.
> 
> g_fluid_toplevel() is a sort of "singleton function".  I gave it that name by 
> thinking of it AS the fluid, rather than as a function which returns the 
> fluid.
> 
> Does that make sense?
> 
>                                Peter
> 
> 
> _______________________________________________
> geda-dev mailing list
> [email protected]
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev



_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to