[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The future of Liberty Eiffel
From: |
Eric Bezault |
Subject: |
Re: The future of Liberty Eiffel |
Date: |
Mon, 29 Nov 2021 21:03:51 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 |
On 29/11/2021 18:49, Laurie Moye wrote:
Would it be possible to declare a policy of strict backward
compatibility? The syntax should never be changed for non-essential
reasons. If it becomes absolutely essential to change the syntax to
allow new features, legacy options should be added to allow the old
syntax and disallow the new features so that old code will always be
able to run without any changes.
EiffelStudio (and hence Gobo Eiffel which tries to be compatible
with EiffelStudio) is not any better at preserving the syntax
between releases. But it has two solutions at the user's disposal:
1) Classes and clusters are organized into libraries. Each library
has a configuration file (called ECF file) with compilation
options for the classes of this library. Thanks to that, a project
can use a library using an old syntax, another library using
an even older syntax, and a third library using the new syntax.
Even the entire project, not just libraries, can use an old syntax.
2) There is a tool to automatically convert classes in such library
from an old syntax to the new syntax.
Unfortunately there are still some breaking changes that cannot be
handled with ECF files. But ECF files offer more possibilities than
loadpath.se. The configuration files in Gobo used to be Xace files.
They offered less possibilities than ECF files, so I dropped support
for Xace files in favor of ECF files a few years ago and I don't
regret this move. This is probably something which should be considered
as well in Library Eiffel.
--
Eric Bezault
mailto:ericb@gobosoft.com
http://www.gobosoft.com