home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 3 / AACD03.BIN / AACD / Programming / sofa / archive / SmallEiffel.lha / SmallEiffel / misc / NOT_YET_IMPLEMENTED.txt < prev    next >
Text File  |  1999-06-05  |  3KB  |  75 lines

  1.  
  2.                List of known bugs and unimplemented features
  3.                                       
  4.      * When you repeatedly inherit from a class that contains a routine
  5.        that assigns to an attribute, and specify for the routine and
  6.        attribute to be replicated twice, the routine fails to follow the
  7.        replicated feature. That is, you have two routines assigning to
  8.        the one attribute, instead of having two routines assigning to
  9.        different attributes. This contravenes the discussion in ETL pp
  10.        174-177. The following code illustrates the issue (it fails at
  11.        run-time).
  12. class BOARD
  13. feature
  14.    set_max_board_members (b: INTEGER) is
  15.       do
  16.          max := b;
  17.       end
  18.    max: INTEGER
  19. end
  20. class BOARD2
  21. inherit
  22.    BOARD
  23.       rename
  24.          set_max_board_members as set_min_board_members,
  25.          max as min
  26.       end
  27.    BOARD
  28.       select set_max_board_members
  29.    end
  30. end
  31. class BOARD_ORGANISER
  32. creation make
  33. feature
  34.    make is
  35.       do
  36.          !!board2;
  37.          board2.set_max_board_members (3)
  38.          board2.set_min_board_members (1)
  39.          check
  40.             board2.max = 3
  41.          end
  42.       end;
  43.    board2: BOARD2;
  44. end
  45.        This bug is not easy to fix at all and also seems to be present in
  46.        all commercial Eiffel compilers (if your commercial compiler can
  47.        correctly execute this code, please drop us a note to advise us
  48.        otherwise).
  49.      * Some features of class BIT are not yet implemented when using long
  50.        BIT sequences (i.e. more than 32 bits). All unimplemented features
  51.        are reported at compile-time (please do not report these, except
  52.        where you cannot work around them).
  53.      * Command line arguments cannot be given as argument of the root
  54.        procedure (not yet implemented). For the time being, you can use
  55.        features argument_count and argument of class GENERAL.
  56.      * The deep_* family (deep_equal, deep_clone, ...) of features of
  57.        class GENERAL is not yet fully implemented . IMHO, a good software
  58.        should not need deep_* features: the client of a class should use
  59.        only is_equal and twin.
  60.        To work around this, if you really want to use deep_* features,
  61.        you can redefine the missing ones manually.
  62.      * compile_to_jvm doesn't allow you to make applets.
  63.      * Incomplete ELKS compatibility... but we are improving it. (We also
  64.        wish ELKS'95 were improved... :-/ )
  65.      * dispose is not implemeented yet for expanded objects.
  66.        
  67.                                    [Line]
  68.                                       
  69.    Copyright © Dominique COLNET and Suzanne COLLIN - [1]<colnet@loria.fr>
  70.                      Last update: 05 May 1999, by OZ. 
  71.  
  72. References
  73.  
  74.    1. mailto:colnet@loria.fr
  75.