Loading ...
Sorry, an error occurred while loading the content.

SmallEiffel -0.74Beta#22 released

Expand Messages
  • Olivier Zendra
    The new beta release of SmallEiffel, the GNU Eiffel compiler, has landed. SmallEiffel version - 0.74Beta#22 is available from the download section of
    Message 1 of 5 , May 2, 2002
    • 0 Attachment
      The new beta release of SmallEiffel, the GNU Eiffel compiler, has landed.
      SmallEiffel version - 0.74Beta#22 is available from the download section of
      http://SmallEiffel.loria.fr




      The main difference with version -0.74Beta#21 is a number of bug fixes and updates
      related to Java bytecode generation (thanks to Greg Lee).



      The most important changes since -0.75 are:

      * The new agent mechanism is now implemented. See tutorial/agent directory for
      examples.
      * Added agent based features in class COLLECTION, ARRAY, FIXED_ARRAY,
      LINKED_LIST, TWO_WAY_LINKED_LIST, DICTIONARY, and SET. Names and signatures comes
      from ETL: actually, do_all, for_all and exists.
      * The new create instruction/expression is now fully implemented and correctly
      pretty-printed. The new default_create feature mechanism is also implemented.
      * The new manifest string notation for verbatim manifest string is now
      implemented as well as the new optional once keyword which may precede the
      manifest string itself. See also the new -manifest_string_trace flag documentation
      to track non-once manifest strings creations.
      * Added examples for the new TUPLE type in directory tutorial/tuple.
      * Added many new features in class MEMORY to tune the garbage collector. Those
      features may be useful for embedded applications. (See tutorial/memory for
      examples.)
      * The external C interface is now compatible with the new ETL definition. (See
      directory tutorial/external/C for examples.)
      * Added flag -high_memory_compiler to compile_to_c.
      * The new name of class BASIC_TIME is now simply TIME (the old class is still
      there and tagged with the obsolete keyword). Added two new classes in
      SmallEiffel/lib/time: CLOCK and MICROSECOND_TIME. (See tutorial/time for
      examples.)
      * Added class BINARY_FILE_READ, class BINARY_FILE_WRITE and class
      BINARY_FILE_READ_WRITE. Class STD_FILE_READ is renamed TEXT_FILE_READ. Class
      STD_FILE_WRITE is renamed TEXT_FILE_WRITE. Class STD_FILE_READ_WRITE is renamed
      TEXT_FILE_READ_WRITE. Old class are obsoleted.
      * Added feature connect_append_to both in class TEXT_FILE_WRITE and
      BINARY_FILE_WRITE.
      * Added a new class called SYSTEM which contains various system features:
      execute_command, get_environment_variable, set_environment_variable, etc. By the
      way, the old system feature of class GENERAL as well as the old
      get_environment_variable of class GENERAL are now obsolete.
      * Added feature size_of and feature last_change_of in class FILE_TOOLS (see
      also tutorial/basic_time for examples).
      * Added feature append_decimal_in and feature to_decimal in class NUMBER as
      well as a new example the tutorial/number directory.
      * Added feature add both in class COLLECTION_SORTER and in class
      REVERSE_COLLECTION_SORTER.
      * Added feature reference_at in class DICTIONARY.
      * Added feature infix "+" in class POINTER.
      * Various bug fixes and improvements.


      Enjoy !

      --
      Olivier ZENDRA, Ph.D. | INRIA Researcher - MIRĂ“ Team
      INRIA Lorraine - LORIA, | E-mail: Olivier.Zendra@...
      615 Rue du Jardin Botanique, BP 101, | Phone: (+33) 3.83.58.17.07
      54602 VILLERS-LES-NANCY CEDEX, | Fax: (+33) 3.83.58.17.01
      FRANCE | Web: http://www.loria.fr/~zendra
    • Greg Reagle
      ... What s the new create instruction? Why was it invented? How is it different from !!? -- Signature rotation provided by Signify v1.07. See
      Message 2 of 5 , May 2, 2002
      • 0 Attachment
        On Thu, May 02, 2002 at 11:29:00AM +0200, Olivier Zendra wrote:
        >* The new create instruction/expression is now fully implemented and correctly
        > pretty-printed. The new default_create feature mechanism is also implemented.

        What's the new create instruction? Why was it invented? How is it
        different from !!?

        --
        Signature rotation provided by Signify v1.07. See http://www.debian.org/.
        But I was young and foolish then; I feel old and foolish now.
        -- They Might Be Giants
      • Lothar Scholz
        It is normally exact the same as the big bang operator. !!a.make is equal to create a.make !FOO!a.make is equal to create {FOO}.make it was
        Message 3 of 5 , May 2, 2002
        • 0 Attachment
          It is normally exact the same as the big bang operator.

          !!a.make is equal to create a.make
          !FOO!a.make is equal to create {FOO}.make

          it was accepted by NICE because the !! syntax was not very
          good eiffel style. And i never used it :-)

          Now create can also be used as an expression. Look in the
          agent examples.
        • SmallEiffel mailing list reader
          ... From: Lothar Scholz To: Greg Reagle ; Cc: Sent: Friday, May 03,
          Message 4 of 5 , May 2, 2002
          • 0 Attachment
            ----- Original Message -----
            From: "Lothar Scholz" <llothar@...>
            To: "Greg Reagle" <greagl1@...>; <smalleiffel@...>
            Cc: <Greg.Reagle@...>
            Sent: Friday, May 03, 2002 2:30 AM
            Subject: Re: please explain new create instruction


            > It is normally exact the same as the big bang operator.
            >
            > !FOO!a.make is equal to create {FOO}.make

            !FOO!a.make is equal to create {FOO}a.make

            create{FOO}.make is an expression creation. It is quite uselfull:

            local
            a: FOO
            b:ARRAY[FOO]
            do
            create b.make(0,3)
            create a.make
            b.put(a,0)
            end

            is equal to

            local
            b:ARRAY[FOO]
            do
            create b.make(0,3)
            b.put(create{FOO}.make,1)
            end


            With my best greetings
            Didier CLERC
          • Greg Reagle
            ... So it does anonymous object creation. That s pretty nifty. And with agents Eiffel can pass routines. It s starting to look like a real functional
            Message 5 of 5 , May 3, 2002
            • 0 Attachment
              On Fri, May 03, 2002 at 03:27:25AM +0200, SmallEiffel mailing list reader wrote:
              > create{FOO}.make is an expression creation. It is quite uselfull:

              So it does anonymous object creation. That's pretty nifty. And with
              agents Eiffel can pass routines. It's starting to look like a real
              functional programming language. Is there any way to have anonymous code
              blocks? Is such a feature on the way?

              --
              Signature rotation provided by Signify v1.07. See http://www.debian.org/.
              All beings tremble before violence. All love life. All fear death.
              See yourself in others. Then whom can you hurt? What harm can you do?
              -- the Buddha
            Your message has been successfully submitted and would be delivered to recipients shortly.