pkg | 24 Oct 13:16

Differences between SmartEiffel and ECMA

Hello,
Can somebody point me to a resource where I can find the language differences
between SmartEiffel and the ECMA standard ?

Piotr

Howard Thomson | 24 Oct 18:32
Gravatar

Re: Differences between SmartEiffel and ECMA

Hi Piotr,

I don't recall that there is anywhere specific for this, unfortunately.

I am an ex-user of SmartEiffel, and as it hasn't changed much, if at
all, since I stopped using it, I should be able to highlight the
substantive differences ...

The two most prominent differences are in letter case acceptability for
identifiers, and non-conforming inheritance, with other substantial
differences in the kernel and other core libraries.

SmartEiffel does not follow the case-insensitiveness of ECMA and all
non-SmartEiffel implementations of Eiffel, rejecting as invalid
identifiers that do not follow the recommended selection of
all_lower_case for routines and variables, Initial_upper_case for
constants [and possible once routines] and ALL_UPPER_CASE for class
names.

As a substantial corpus of code that I have worked on originated from C
and C++ source and does not follow these constraints, I ended up
spending more time re-adapting SmartEiffel to be smart enough to be able
to continue compiling my Eiffel conformant code than getting useful work
done ...

For non-conforming inheritance, SmartEiffel introduced the keyword
'insert' following 'inherit' to denote that the functionality of the
inserted classes be available to the current class, but that the current
class be not conformable with [assignable to] variables of the inserted
class.
(Continue reading)

Piotr Galuszkiewicz | 28 Oct 11:32

Re: Differences between SmartEiffel and ECMA

Hi Howard,
Thank you for your reply.

I’m currently a .NET developer, but I’m passionate about the Eiffel language. It’s very sad that it
is so unpopular, because it’s far more better than all the current “main-stream” ones.

I’m most familiar with the ISE implementation, but that one is either very expensive or GPL (so you are
forced to be hobbyist only) and the SmartEiffel seems to be the only one which is feature-full, stable and
really free. How do you judge it – is it really production stable (at the time of its latest version) or
it’s rather an academic “proof of concept” with many gaps here and there ?

Based on what you wrote, it seems that SmartEiffel doesn’t miss any substantial features of the ECMA
variant (at least from language point of view). You mentioned differences in kernel and libraries –
what kind of differences ? Are they just another approach to solutions, or they are somehow
feature-limited or not well-finished ?

I also know about the Gobo project (would be another free option), but if I look at (for example) the compiler
description, it’s full of missing basic features, co basically can’t be used…

Best regards,
Piotr

"Howard Thomson" <howard.thomson <at> dial.pipex.com> pisze:
> Hi Piotr,
> 
> I don't recall that there is anywhere specific for this, unfortunately.
> 
> I am an ex-user of SmartEiffel, and as it hasn't changed much, if at
> all, since I stopped using it, I should be able to highlight the
> substantive differences ...
(Continue reading)

Eric Bezault | 28 Oct 12:51
Gravatar

Re: Differences between SmartEiffel and ECMA

On 10/24/2011 6:32 PM, Howard Thomson wrote:
> I have since moved to using the Gobo libraries and my own variant of the
> 'gec' compiler as my primary toolset, which does maintain source code
> [although not configuration file] compatibility with EiffelStudio.

The Gobo compiler is now able to read EiffelStudio's ECF file
if you want.

--

-- 
Eric Bezault
mailto:ericb <at> gobosoft.com
http://www.gobosoft.com

Peter Moueza | 29 Oct 10:43
Picon

loop bug compilation

hi,
I post here because no answer from my subscription request.

On ubuntu 11.04, 11.10, make =make all is buggy because it goes in infinite loop
See, for 2.2, make = smarteiffelMakeBugList.txt
               make -d = smarteiffelMakedBugList.txt

make interactive is ok
peter <at> O:~/SmartEiffel$ make

Hello!

Thank you for choosing SmartEiffel.

I'm here to help you install your software. Many default options have been set
for you; the simplest way to install SmartEiffel is to keep pressing the
<Enter> key as long as I ask anything.

Of course you can change the options I set; it's just a matter of chosing items
in the menus, and you'll see you can greatly customize your SmartEiffel
installation. A golden rule is, just pressing <Enter> always works, and
inexorably leads towards the actual SmartEiffel installation. When no default is
provided (between brackets), the <Enter> key will just leave everything
unchanged and get you back to the previous menu.

As training, you'll be asked to press the <Enter> key to gain access to the
main menu ;-)

(Continue reading)

Paolo Redaelli | 29 Oct 16:13
Picon
Favicon

Re: loop bug compilation

Il 29/10/2011 10:43, Peter Moueza ha scritto:
> hi,
> I post here because no answer from my subscription request.
>
> On ubuntu 11.04, 11.10, make =make all is buggy because it goes in infinite loop
> See, for 2.2, make = smarteiffelMakeBugList.txt
>                make -d = smarteiffelMakedBugList.txt
>
> make interactive is ok
You may want to try our version of SmartEiffel at
https://github.com/LibertyEiffel/Liberty
I'm helping Cyril Adrian in his effort to further develop SmartEiffel.
Install with:

git clone git <at> github.com:LibertyEiffel/Liberty.git Liberty
cd Liberty
./install.sh

The last step is quite longish; actually we are developing into
install.sh some options that  to generate debian packages, preparing
wrappers, docs and so on but as far as I know they needs at least some
testing...

We are doing it outside the academic channels that used to host
SmartEiffel for several reasons.
First of all Dominique Colnet, project leader and father of SmartEiffel
has developed in recent years an interest for prototype based languages,
specifically Lisaac (http://en.wikipedia.org/wiki/Lisaac) if I correctly
recall.
SmartEiffel was born as an academic project; this allowed for strong
(Continue reading)


Gmane