emacs mode / inline agents

13 messages Options
Embed this post
Permalink
Cyril ADRIAN

emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
Hi,

Is there anyone around who knows emacs well enough to have a look at our eiffel.el file and fix the indent for the inline agents? It's too complex for me :-(

Thanks,
--
Cyril ADRIAN

http://www.cadrian.net/~cyril
Colin Paul Adams

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
>>>>> "Cyril" == Cyril ADRIAN <[hidden email]> writes:

    Cyril> Hi, Is there anyone around who knows emacs well enough to
    Cyril> have a look at our eiffel.el file and fix the indent for
    Cyril> the inline agents? It's too complex for me :-(

It can't be done. Inline agents are a monstosity - they violate every
principal that Eiffel is built on.
--
Colin Adams
Preston Lancashire
Cyril ADRIAN

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink


On Wed, Feb 25, 2009 at 7:51 PM, Colin Paul Adams <[hidden email]> wrote:
It can't be done. Inline agents are a monstosity - they violate every
principal that Eiffel is built on.

would you care to elaborate?
--
Cyril ADRIAN

http://www.cadrian.net/~cyril
helmut.brandl

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
In reply to this post by Colin Paul Adams
Colin Paul Adams wrote:
>>>>>> "Cyril" == Cyril ADRIAN <[hidden email]> writes:
>
>     Cyril> Hi, Is there anyone around who knows emacs well enough to
>     Cyril> have a look at our eiffel.el file and fix the indent for
>     Cyril> the inline agents? It's too complex for me :-(
>
> It can't be done. Inline agents are a monstosity - they violate every
> principal that Eiffel is built on.


I don't understand that statement. Can you explain that a little bit?

Helmut
Dominique Colnet

Re: [smarteiffel-dev] Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
In reply to this post by Colin Paul Adams
On Wed, 2009-02-25 at 18:51 +0000, Colin Paul Adams wrote:
> It can't be done. Inline agents are a monstosity - they violate every
> principal that Eiffel is built on.
I do not have a real opinion, but I am afraid to share your point of
view :-)
--
--------------------------------------------------------------
[hidden email] -- IUT Nancy Charlemagne -- LORIA
http://SmartEiffel.loria.fr  --  The GNU Eiffel Compiler
POST: Loria, B.P. 239,54506 Vandoeuvre les Nancy Cedex, FRANCE
Voice:+33 0354503827 Mobile: +33 0665362381 Fax:+33 0383913201


Berend de Boer

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
In reply to this post by Cyril ADRIAN
>>>>> "Cyril" == Cyril ADRIAN <[hidden email]> writes:

    Cyril> Hi, Is there anyone around who knows emacs well enough to
    Cyril> have a look at our eiffel.el file and fix the indent for the
    Cyril> inline agents? It's too complex for me :-(

What eiffel.el file are you using? The one from SourceForge or a
SmartEiffel specific one?

--
Cheers,

Berend de Boer
Cyril ADRIAN

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
On Thu, Feb 26, 2009 at 10:54 AM, Berend de Boer <[hidden email]> wrote:
What eiffel.el file are you using? The one from SourceForge or a
SmartEiffel specific one?

The one distributed with SmartEiffel.

Does the SF one support inline agents? Does it still support SmartEiffel? (looking at the latest commits I'd say nope to both)

Regards
--
Cyril ADRIAN

http://www.cadrian.net/~cyril
Colin Paul Adams

Re: [smarteiffel-dev] Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
In reply to this post by Dominique Colnet
>>>>> "Dominique" == Dominique Colnet <[hidden email]> writes:

    Dominique> On Wed, 2009-02-25 at 18:51 +0000, Colin Paul Adams wrote:
    >> It can't be done. Inline agents are a monstosity - they violate
    >> every principal that Eiffel is built on.
    Dominique> I do not have a real opinion, but I am afraid to share
    Dominique> your point of view :-) --

Why? Do I have such a black name? :-)

Anyway, in short:

1) They work against code reusability. Cut-and-paste maintenance
becomes the order of the day - just what modern object-oriented
languages try to avoid.

2) They provide two ways of doing the same thing - feature call or
inline agent.

3) It is impossible to follow consistent style guidelines (such as the
ones in OOSC) and still end up with readable code.

The last point is why you cannot expect sensible indenting from
emacs. I do have an algorithm for pretty-printing an inline agent -
but it requires whole system analysis (i.e. find an unused name -
attach it to the ininline agent and extract the resulting code into a
new feature).

I have argued extensively in Eiffelroom and elsewhere, and people
consistently fail to come up with valid reasons for their
existence. I've also tried persuading the ECMA committee to drop it
from the standard, without success. That alone ought to be sufficient
to demonstrate to you that my point of view is right :-) (pity you
didn't manage to win the fight on ECMA about the rule for agent
conformance - ISE have now implemented runtime CATCALL detection in
EiffelStudio, and we get hectares of messages about alledged CATCALLs
when agents are involved :-( )
--
Colin Adams
Preston Lancashire
Berend de Boer

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
In reply to this post by Cyril ADRIAN
>>>>> "Cyril" == Cyril ADRIAN <[hidden email]> writes:

    Cyril> Does the SF one support inline agents? Does it still support
    Cyril> SmartEiffel?  (looking at the latest commits I'd say nope to
    Cyril> both)

As I'm still using SmartEiffel, I would say yes :-)

But I haven't done any work on inline agents specifically. But the code
is, I think, somewhat improved, and perhaps easier to change.

--
Cheers,

Berend de Boer
Cyril ADRIAN

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
Hi Berend,

On Fri, Feb 27, 2009 at 4:31 PM, Berend de Boer <[hidden email]> wrote:
>>>>> "Cyril" == Cyril ADRIAN <[hidden email]> writes:

   Cyril> Does the SF one support inline agents? Does it still support
   Cyril> SmartEiffel?  (looking at the latest commits I'd say nope to
   Cyril> both)

As I'm still using SmartEiffel, I would say yes :-)

When I read the commit log or eiffel.el (http://eiffel-emacs.cvs.sourceforge.net/viewvc/eiffel-emacs/eiffel.el?view=log), I find the following (r2.96):
Removed all knowledge of SE 2 insert keyword. Can come back as setting
if someone who uses this sends a patch.

Is it true?? If insert is not supported, it's an absolute "no" for me.


But I haven't done any work on inline agents specifically. But the code
is, I think, somewhat improved, and perhaps easier to change.
 
I'll have a look at it. But note that SmartEiffel's eiffel.el also has some useful extensions (e.g. C-cC-f over a class name opens the class text). Both files have diverged quite a bit by now...

Best regards,
--
Cyril ADRIAN

http://www.cadrian.net/~cyril
Colin Paul Adams

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
>>>>> "Cyril" == Cyril ADRIAN <[hidden email]> writes:

    Cyril> I'll have a look at it. But note that SmartEiffel's
    Cyril> eiffel.el also has some useful extensions (e.g. C-cC-f over
    Cyril> a class name opens the class text).

That DOES sound rather useful (are there variants for doing so in a
different window, and/or frame?).

    Cyril>  Both files have diverged quite a bit by now...

I think that's inevitable - as the languages are diverging.
--
Colin Adams
Preston Lancashire
Cyril ADRIAN

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
On Sat, Feb 28, 2009 at 8:05 AM, Colin Paul Adams <[hidden email]> wrote:
That DOES sound rather useful

It is pretty useful, yes. But you need the svn version for it to work.
 
(are there variants for doing so in a different window, and/or frame?).

No, but that's a good idea. I'd accept patches ;-)

Best regards,
--
Cyril ADRIAN

http://www.cadrian.net/~cyril
Berend de Boer

Re: emacs mode / inline agents

Reply Threaded More More options
Print post
Permalink
In reply to this post by Cyril ADRIAN
>>>>> "Cyril" == Cyril ADRIAN <[hidden email]> writes:

    Cyril> I'll have a look at it. But note that SmartEiffel's eiffel.el
    Cyril> also has some useful extensions (e.g. C-cC-f over a class
    Cyril> name opens the class text). Both files have diverged quite a
    Cyril> bit by now...

Why not use the tags mode for that?

--
Cheers,

Berend de Boer