1. Eu's good design

Hello there,

Might be worth mentioning a few good points too...

1.  Namespaces (quite versatile)
2.  Ability to call virtual functions
3.  Sequences

I've heard that there are two kinds of programmers,
those that like sequences and those that dont, and 
for the same reasons with different motivations.
Sequences are both versatile and problematic.
Depending on which you like/dislike about sequences
decides whether you like or dislike Eu.

If people spent more time building libraries then argueing
about the problems they'd have more accomplished also smile

Take care for now,
Al

new topic     » topic index » view message » categorize

2. Re: Eu's good design

On Mon, Aug 18, 2003 at 10:48:46PM +0000, Al Getz wrote:
> 
> 
> Hello there,
> 
> Might be worth mentioning a few good points too...
> 
> 1.  Namespaces (quite versatile)

And yet still not quite good enough (tho with Matt Lewis's changes I might be
proven wrong, i dont remember what he did exactly or what version of Eu
has/will have the changes).

> 2.  Ability to call virtual functions

I don't see how that can be done (at best merely emulated via routine ids).

> 3.  Sequences

Eu isnt the only language with sequences. Sequences are a big feature of the
language tho, interestingly enough ... use them to emulate practically
everything!

> 
> I've heard that there are two kinds of programmers,
> those that like sequences and those that dont, and 
> for the same reasons with different motivations.
> Sequences are both versatile and problematic.
> Depending on which you like/dislike about sequences
> decides whether you like or dislike Eu.

True.

> 
> If people spent more time building libraries then argueing
> about the problems they'd have more accomplished also smile

Also true.

> 
> Take care for now,
> Al
> 

jbrown

> 
> 
> TOPICA - Start your own email discussion group. FREE!
> 

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

new topic     » goto parent     » topic index » view message » categorize

3. Re: Eu's good design

On Tue, Aug 19, 2003 at 07:38:20AM +0000, Al Getz wrote:
> > > 2.  Ability to call virtual functions
> > 
> > I don't see how that can be done (at best merely emulated via routine 
> > ids).
> 
> Hello again jbrown,
> 
> Im not sure what you mean here?  Also, Rob is looking into
> more ways of doing this also.
> 
> Take care for now,
> Al
> 

Well, how would you call a virtual function in Euphoria?

jbrown

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

new topic     » goto parent     » topic index » view message » categorize

4. Re: Eu's good design

On Tue, Aug 19, 2003 at 06:13:56AM -0400, Matt Lewis wrote:
> I think he means real C++ style virtual functions.  Although we could debate
> your use of 'emulated'.  The original win32lib method of connecting event
> handlers was as close to virtual functions as anything.
> 
> Matt Lewis
> 

No, the way Llama calls event handlers is even closer.

Anyways, I meant 'emulated' in the sense that its not builtin to the language.

jbrown

-- 
Outlook Users, please don't put my email address in your address book. That way,
my email address won't appear in forged emails sent by email viruses. (Which are
technically worms btw :P)
--
Linux User:190064
Linux Machine:84163

new topic     » goto parent     » topic index » view message » categorize

5. Re: Eu's good design

On Wed, Aug 20, 2003 at 04:13:08AM +0000, Al Getz wrote:
> > Well, how would you call a virtual function in Euphoria?
> > 
> > jbrown
> 
> Hello there jbrown,
> 
> For example...
> 
> 
> include dll.e
> RoutineName = define_c_func( {}, RoutineMemAddress, {C_POINTER}, C_LONG)
> 
> --Then you can call it via c_func:
> 
> atom retv
> retv=c_func(RoutineName,{Params})
> 
> Rob said he was thinking of a way to 'undefine' the c func
> too in case you dont need that particular routine any longer.
> 
> It works pretty good for fairly static methods that will
> probably be used throughout the program instances life.
> 
> Take care for now,
> Al
> 

Ah I understand now.

Hmm .. this can be done even more easily in C or asm. Euphoria isn't doing
anything new here. Other high level languages may have something similar
to this, and also might support virtual functions natively (i.e. if Euphoria
had native support we could have virtual functions in Euphoria).

jbrown

-- 
 /"\  ASCII ribbon              | http://www.geocities.com/jbrown1050/
 \ /  campain against           | Linux User:190064
  X   HTML in e-mail and        | Linux Machine:84163
 /*\  news, and unneeded MIME   | http://verify.stanford.edu/evote.html

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu