1. Questions

Does Euphoria support inheritance? In this case, does it support single 
or multiple inheritance?

Does Euphoria support Templates (generic/parameterized classes)?

Is Euphoria's typing static, strong, dynamic?

Does Euphoria support polymorphism? If so, is it dynamic?

Does Euphoria support overloading?

Does Euphoria support DBC (design by contract)?

Does Euphoria use compiler or interpreter?

Does Euphoria support multithreading? 

Is Euphoria object-oriented?

Is persistence possible with Euphoria?

How does Euphoria handle garbage?

Closures?

What do you think Euhporia's unique feature is?

Thanks in advance! 
I will be happy to receive any comments, as long as their not mean.

new topic     » topic index » view message » categorize

2. Re: Questions

On Mon, 10 Mar 2003 23:07:56 +0000, Gabriella Leveron
<gleveron at hotmail.com> wrote:

>
I do like your post, love these answers:

>Does Euphoria support inheritance? In this case, does it support single=20
>or multiple inheritance?
No, not in the core language. Several OOP libraries are freely
available but not a mandatory part of the language.
>
>Does Euphoria support Templates (generic/parameterized classes)?
No. As above.
>
>Is Euphoria's typing static, strong, dynamic?
All. You choose.
>
>Does Euphoria support polymorphism? If so, is it dynamic?
Yes. (not that I'm sure I grasp the concept of static polymorphism)
>
>Does Euphoria support overloading?
No.
>
>Does Euphoria support DBC (design by contract)?
Yes, Types.
>
>Does Euphoria use compiler or interpreter?
Both
>
>Does Euphoria support multithreading?=20
No... Win32lib event driven.. can do several things at once.. suppose
otherwise I have to pass on that one.
>
>Is Euphoria object-oriented?
Not in the core language (as above several extensions exist)
>
>Is persistence possible with Euphoria?
Of course
>
>How does Euphoria handle garbage?
Elegantly and efficiently
>
>Closures?
Sorry, dunno (oops)
>
>What do you think Euhporia's unique feature is?
Simplicity and shallow learning curve, masking formidable power.
I don't care if you think that is 2 or 3 points; it is not, it is one!
>
>Thanks in advance!=20
>I will be happy to receive any comments, as long as their not mean.
Your sister has spots. (I'm sorry, I couldn't resist that one!)

Pete

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

3. Re: Questions

----- Original Message -----
From: "Gabriella Leveron" <gleveron at hotmail.com>
To: "EUforum" <EUforum at topica.com>
Subject: Questions



> Thanks in advance!
> I will be happy to receive any comments, as long as their not mean.
>

Ok,

  "their" means "belonging to them"; you mean "they're", which means "they
are".
(there was an earlier off-topic thread which discussed "your" and "you're")

Dan Moyer  :)
>
>
> TOPICA - Start your own email discussion group. FREE!
>

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

4. Re: Questions

On Mon, 10 Mar 2003 23:07:56 +0000, Gabriella Leveron 
<gleveron at hotmail.com> wrote:

>
> Does Euphoria support inheritance? In this case, does it support single 
> or multiple inheritance?

Object Oriented syntax and semantics are NOT built into the Euphoria 
language. Just as they are not built into Assembler or C, but you can 
create systems (libraries) that implement OO constructs. In fact, there are 
a few 3rd party libraries for Euphoria that implement OO to varying 
degrees.

So to answer your question...No, inheritance is NOT in-built in Euphoria. 
You have to use a 3rd party library or implement it yourself.

There is much initial confusion with Euphoria and OO because of Euphoria's 
term 'object'. This is NOT an OO object. By 'object', Euphoria is just 
reference to a generic data type, one that can hold a value of any 
datatype.

Thus it is valid to do this...

 object x  -- declare variable 'x' of type 'object'
 x = 1  -- Integer
 x = 23.456 -- Floating point (atom)
 x = "abc" -- String (sequence of chars)
 x = {17,8, 34,"abc"} -- sequence


> Does Euphoria support Templates (generic/parameterized classes)?

Not built-in. There is very little need for it either as it can be a 
weakly-typed language too. You can enquire about the data type at run time 
and make you processing dependant on that.

> Is Euphoria's typing static, strong, dynamic?

Technically it is static and strong. However, the 'object' datatype allows 
one to implement dynamic and weak typing. So in short, its both.

> Does Euphoria support polymorphism? If so, is it dynamic?

Only if you implement it yourself.

> Does Euphoria support overloading?

A little bit. Operator overloading is definitely not possible. By using the 
'object' or 'sequence' datatypes, function signatures can allow a tiny bit 
of overloading, but its nowhere near as expressive as C++, Java, etc...

> Does Euphoria support DBC (design by contract)?

Not built in. The 'type' system does a little of it, but you'd have to 
really implement it yourself. There is no assert() bult-in. The contract 
system in Eiffel and D are far better.

> Does Euphoria use compiler or interpreter?

Both, sort of. It is normally an interpreter, but there is a utility to 
convert the source to 'C' code and then have it compiled.

> Does Euphoria support multithreading?

No.
> Is Euphoria object-oriented?

Not built-in.

> Is persistence possible with Euphoria?

Not built-in. You can implement it yourself though.

> How does Euphoria handle garbage?

Very well. Its garbage collector is quite efficient.

> Closures?

Sort of. The 'routine_id' function allows you to pass references to 
functions/procedures, but you can't create routines at run-time.

> What do you think Euhporia's unique feature is?

The 'sequence' datatype. This is so essential to Euphoria that without it, 
Euphoria would be just another 'C'/Basic derivitive.

> Thanks in advance! I will be happy to receive any comments, as long as 
> their not mean.

Euphoria is not much effort to learn and because it is somewhat simple, you 
can do extremely powerful operations with it, so long as you don't mind 
coding a lot of low-level functionality.

-- 

cheers,
Derek Parnell

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

5. Re: Questions

On 11 Mar 2003, at 13:27, Derek Parnell wrote:

> 
> On Mon, 10 Mar 2003 23:07:56 +0000, Gabriella Leveron 
> <gleveron at hotmail.com> wrote:

<snip>

> > Does Euphoria support overloading?
> 
> A little bit. Operator overloading is definitely not possible. By using the
> 'object' or 'sequence' datatypes, function signatures can allow a tiny bit of
> overloading, but its nowhere near as expressive as C++, Java, etc...

Well, you can sneak things by using nested sequences.

function x(object things)

and call like:
z = x( {"yes",34,8.9,{2,3,5}} )
z = x( "no" )
z = x({ {"yes",23},{maybe,98,65} } )
z = x(2)
z = x({2.6.8.12,5})

As long as x can figure out what is sent, it's do-able. I do it in strtok. Most 
functions in that lib can accept a string or a sequences of strings as the first
parameter, an atom or sequence of atoms as the third parameter, and 
parse() can take an atom or string or sequence of chars as the second 
parameter.

Kat

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

6. Questions

Hello Euphorians,
                I am a novice programmer. My first program a simple
adding routine works fine, however the cum total displays as follows:
{ 0, TOTAL }
How do I get rid of the brackets and the 0 ?

My second  program keeps on giving me type_check failure or true/false
must be an atom. My input is a  atom!
Dave to the rescue please!
Regards
Duke

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

7. Re: Questions

> Hello Euphorians,
>                 I am a novice programmer. My first program a simple
> adding routine works fine, however the cum total displays as follows:
> { 0, TOTAL }
> How do I get rid of the brackets and the 0 ?

first off it'd make it a lot easier if you put some of your source
code in here so i can see exactly what you're doing :>...  because of
that i can't help you with much...  it seems like your variable where
you're storing the answer is a two-element sequence when you want an
atom...

> My second  program keeps on giving me type_check failure or true/false
> must be an atom. My input is a  atom!

hmmmm paste your source code in here :>

> Dave to the rescue please!
> Regards
> Duke

 ...oooO        MikPos of MARTYR        Oooo...
..ooO  http://www.geocities.com/SoHo/2649  Ooo..
   ....oooO       mike burrell      OOooo....

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

8. Re: Questions

>Hello Euphorians,
>                I am a novice programmer. My first program a simple
>adding routine works fine, however the cum total displays as follows:
>{ 0, TOTAL }
>How do I get rid of the brackets and the 0 ?

I assume when you use the word TOTAL, you are using a label to
describe an atom element value in this sequence, and not the value "TOTAL",
a string. If this is the case, simply accessing the second element of the
above sequence will solve your problem. For example, if the value
{ 0, TOTAL } is stored in a sequence-type variable cum_total, you
state:

atom final_total (at beginning of program)

final_total = cum_total[2]

This will store the second element of the sequence in variable
final_total. You then display final_total. :)

>My second  program keeps on giving me type_check failure or true/false
>must be an atom. My input is a  atom!
>Dave to the rescue please!

Duke, this is where I am going to need to see your source. Chances are
your input (if you are using get(0) for example), is not an atom, but a
sequence. Can you send it to me at moggie at interlog.com? I'll personally
look it over and send you back the corrections, with explanations.

Thanks!

David Gay

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

9. Re: Questions

duke potgieter wrote:

> Hello Euphorians,
>                 I am a novice programmer. My first program a simple
> adding routine works fine, however the cum total displays as follows:
> { 0, TOTAL }
> How do I get rid of the brackets and the 0 ?

You're trying to print a sequence (that has 2 elements: 0 and TOTAL) at
        once,
 maybe you should try
firt printing element 1 (output[1]) and then element 2 (output[2])

> My second  program keeps on giving me type_check failure or true/false
> must be an atom. My input is a  atom!

It's quite dificult to give you an accurate answer without taking a look
        to
 your code, you may attach
it to a mail and I'll look at it.

        Bye!!

        Daniel Berstein Zimmermann
        dberst at cmet.net
        http://www.geocities.com/SiliconValley/Heights/9316

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

Search



Quick Links

User menu

Not signed in.

Misc Menu