librelist archives

« back to archive

Do we need a book?

Do we need a book?

From:
Paolo Redaelli
Date:
2011-09-27 @ 07:11
Meyer created Eiffel alongside with his book Object Oriented Software 
Construction, "Eiffel 2" got OOSC 2nd edition, then they glorified it 
with ECMA Eiffel which ISE has almost finished to implement after five 
years.
LibertyEiffel strive to keep the language clean and powerful, yet the 
changes of the last 5 years have no "book-like" documentation. Oh we 
have Liberty's wiki, the old SE wiki, the compiler source, tutorials and 
the existing codebase but I think that all those documentations will not 
likely attract further users.
Do you think it may be useful to have a "Programming with Liberty" book 
written following the trail of OOSC?

Re: [libertyeiffel] Do we need a book?

From:
Paolo Redaelli
Date:
2011-09-27 @ 08:14
Il 27/09/2011 09:11, Paolo Redaelli ha scritto:
> Meyer created Eiffel alongside with his book Object Oriented Software
> Construction, "Eiffel 2" got OOSC 2nd edition, then they glorified it
> with ECMA Eiffel which ISE has almost finished to implement after five
> years.
> LibertyEiffel strive to keep the language clean and powerful, yet the
> changes of the last 5 years have no "book-like" documentation. Oh we
> have Liberty's wiki, the old SE wiki, the compiler source, tutorials and
> the existing codebase but I think that all those documentations will not
> likely attract further users.
> Do you think it may be useful to have a "Programming with Liberty" book
> written following the trail of OOSC?
Pardon, I need to elaborate it a little.
We wouldn't have started Liberty if we think that ECMA was agreeable; if 
you read the smarteiffel mailing list the reason why SE team chose not 
to implement it are quite clear and they also state it in the wiki.
It would be nice to explain

    * why we chose "insert" instead of "inherit {NONE}",
    * why we think it was wrong to add the "alias" keyword, "dropping"
      infix and postfix
    * why we didn't implement [] operator,
    * the differences in agent conformity
    * and all the other changes introduced in ECMA that "aren't sound"

Re: [libertyeiffel] Do we need a book?

From:
Cyril Adrian
Date:
2011-09-27 @ 08:48
In my opinion…

2011/9/27 Paolo Redaelli <paolo.redaelli@gmail.com>

> **
> It would be nice to explain
>
>    - why we chose "insert" instead of "inherit {NONE}",
>
> Because "insert" has a clear meaning whereas "inherit {NONE}" is directly
borrowed from C++ ("private inheritance" which means next to nothing)
How do you explain to a newcomer that inherit {NONE} does not change the
visibility of the inserted features? Or does it??


>    - why we think it was wrong to add the "alias" keyword, "dropping"
>    infix and postfix
>
> You meant prefix :-) but in fact I just don't care, we could add "alias"
with no fuss


>    - why we didn't implement [] operator,
>
> Because the square brackets already have another meaning (class generics);
this syntactic sugar is pointless — but well, I would not be strongly
opposed if someone wanted to add it


>    - the differences in agent conformity
>
> Well explained in a published 
article<http://www.jot.fm/issues/issue_2004_04/article7/>



>    - and all the other changes introduced in ECMA that "aren't sound"
>
>  I see at least those:

   - the strange (|…|) parentheses for the target case, a syntax wart to
   avoid adding a semi-colon where needed, or correctly handling newlines (I'd
   like to do the latter in Liberty) :-)
   - default insert ANY (L/SE) vs. inherit ANY (ECMA), the former is cleaner
   but requires some special patterns to handle some "any object" notion
   (involving generics)
   - typing and esp. genericity rules? (not sure if they are different; but
   SE's <http://smarteiffel.loria.fr/wiki/en/index.php/Typing_policy> are
   crystal clear)


OTOH there are some ECMA things that I'd like to see implemented in L/SE:

   - conversion
   - field assignment using a setter (allows to do things like
   my_object.my_field := something which is far more natural)
   - generic creation
   - multiple generic constraints (I had a patch somewhere for SmartEiffel)
   - maybe SCOOP (albeit with some differences including the strange once
   rules)


Cheers,

*Cyril ADRIAN **(from office)
http://www.cadrian.net/cyril *
Share with me: [image: Twitter] <http://www.twitter.com/cadbart> [image:
LinkedIn] <http://fr.linkedin.com/in/cadrian> [image: Google

Calendar]<https://www.google.com/calendar/embed?src=1t93vvvrdc26ee0f83p0cunj60%40group.calendar.google.com&ctz=Europe/Paris>
[image:
Google Plus] <https://plus.google.com/100388810006463519079>
Contact me: [image: Google Talk] cyril.adrian@gmail.com
 [image: Twitter] <http://twitter.com/cadbart> Latest tweet: [Liberty]
http://t.co/HVba0IX Cyril Adrian - useful option.
Follow @cadbart <http://twitter.com/cadbart> Reply

<http://twitter.com/?status=@cadbart%20&in_reply_to_status_id=106427146326654980&in_reply_to=cadbart>
Retweet

<http://twitter.com/?status=RT%20%40cadbart%3A%20%5BLiberty%5D%20http%3A%2F%2Ft.co%2FHVba0IX%20Cyril%20Adrian%20-%20useful%20option.>
 20:06 Aug-24<http://twitter.com/cadbart/statuses/106427146326654976>
  Get this email app!

<http://www.wisestamp.com/apps/twitter?utm_source=extension&utm_medium=email&utm_term=twitter&utm_campaign=apps>

 [image: Google Plus] <http://plus.google.com/100388810006463519079> My
latest G+: excellent !! Nicolas Perrier originally shared this post: Draw a
Stickman <http://plus.google.com/100388810006463519079/posts/c9ou3PS8dAC/>
My G+ <http://plus.google.com/100388810006463519079> -
Posts<http://plus.google.com/100388810006463519079/posts/>- Add
to Circles <http://plus.google.com/100388810006463519079/about/> - 15:23
Sep-22 <http://plus.google.com/100388810006463519079/about/>
  Get this email app!

<http://www.wisestamp.com/apps/plus?utm_source=extension&utm_medium=email&utm_term=plus&utm_campaign=apps>

[image: My QR VCard]


 Signature by WiseStamp.

<http://r1.wisestamp.com/r/landing?promo=15&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_15>
Get
it 
now!<http://r1.wisestamp.com/r/landing?promo=15&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_15>

Re: [libertyeiffel] Do we need a book?

From:
Paolo Redaelli
Date:
2011-09-27 @ 09:14
Il 27/09/2011 10:48, Cyril ADRIAN ha scritto:
> In my opinion
> …
> Cheers,
I agree the whole line... we may grow this thread into chapter "Liberty 
and ECMA Eiffel: common traits and rationale of differences" of 
"Software construction with Liberty" (SCWL)...

BTW, I think I do know Eiffel a little but I find the ECMA standard 
extremely difficoult to read even, it's even more cryptic that some 
italian laws. :)

Returning to insert/inherit, a beginner may also wonder if he can write 
"inherit {STRING}" or "inherit {FOO}" and its eventual meaning.

We may add "alias" but I wonder why «add alias "+"» should be clearer 
than «add, infix "+"». I haven't used ISE since 2007 so I don't know if 
it is allowed to redefine add and "+" keeps its meaning or not....

Re: [libertyeiffel] Do we need a book?

From:
Cyril Adrian
Date:
2011-09-27 @ 07:45
Hi,

2011/9/27 Paolo Redaelli <paolo.redaelli@gmail.com>

> Do you think it may be useful to have a "Programming with Liberty" book
> written following the trail of OOSC?
>

Yes, I do. I started something some (long) time ago, but I discovered I
really am a poor writer :-/

Cheers

*Cyril ADRIAN
**(from office)*
Share with me: [image: Twitter] <http://www.twitter.com/cadbart> [image:
LinkedIn] <http://fr.linkedin.com/in/cadrian> [image: Google

Calendar]<https://www.google.com/calendar/embed?src=1t93vvvrdc26ee0f83p0cunj60%40group.calendar.google.com&ctz=Europe/Paris>
[image:
Google Plus] <https://plus.google.com/100388810006463519079>
Contact me: [image: Google Talk] cyril.adrian@gmail.com
[image: My QR VCard]


 Signature by WiseStamp.

<http://r1.wisestamp.com/r/landing?promo=15&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_15>
Get
it 
now!<http://r1.wisestamp.com/r/landing?promo=15&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_15>