Sofa

"SmallEiffel Obviously Fits Amiga"

Version 1.0 (beta 1)

Basic Components and Libraries

Frequently Asked Questions

Copyright

All of the material included herein is covered under some Open Source licence. Usually it is either the Eiffel Forum License, the GNU General Public License or the Mozilla Public License. Refer to the documentation of the respective tool or library for details.

Essentially, this means that you can freely redistribute the included material without having to pay, but also that there is no warranty for anything.

Requirements

Installation

Use the installer script. This already fills all the cryptic setup files of SE with reasonable values, so unless you need an ego rush, don't perform a manual installation.

First Steps

Once Sofa is installed and you have rebooted (to enable the new Workbench search path), open a CLI window.

If you use SAS/c, you have to provide a SCOPTIONS file that has been prepared for use with SE. Simply type

copy sofa:settings/sofa.with SCOPTIONS
After that, start your editor and create a file hello.e with the following content:
class HELLO

creation make

feature
   make is
   do
      print("hello.%N")
   end

end -- class HELLO

To compile it, type

compile hello

Then you might have to wait for quite some while. Eventually, you should end up with a program hello that when invoked displays the text "hello.".

If not, request support (see below).

If so, congratulations, you just created a debugging version of hello. To get rid of all the junk files the compiler created, type

clean hello

To create an optimised version without the garbage collector (GC), type

compile -boost -no_gc hello

This reduces the size of the executable from about 50K to about 14K, which should be quite acceptable. I mention this just because early Eiffel compilers created 2MB hello programs, and some people still have this misconception in their mind.

You can find some more examples in the sofa:SmallEiffel/lib_show directory. If you are new to Eiffel in general, take a look at http://elj.com/eiffel/getting-started/. On the same site, you can find loads of other material, Eiffel news and pointers to more information.

Support

All tools and libraries have documentation which mentions where to obtain support for the specific item.

In future, there will be a Sofa mailing list to discuss problems related to this particular distribution only, like installation or using Amiga specific features.

For the time being, you can post Amiga specific questions to comp.sys.amiga.programmer and Eiffel related questions to comp.lang.eiffel. For the time being, you can submit corrections and bug-fixes to Thomas Aglassinger <agi@sbox.tu-graz.ac.at>. But this will change once the mailing list is up.

Thomas.