Difference between revisions of "Library Categorization"

Line 38: Line 38:
  
 
A proposed structure would be:
 
A proposed structure would be:
 +
 +
* external_interfaces: Make it easy to call C routines from dynamically loaded shared libraries
 +
* argument_parser: Parsing the command line arguments of a program
 +
* data_structures: Kernel library classes, data structure, I/O
 +
* reflexion
 +
* com: COM technology
 +
* diff: Diff and patch facilities
 +
* docking: customizable UI.
 +
* java: Calling Java from Eiffel
 +
 +
 +
 +
 +
* i18n: Internationalization library:
 +
* lex: lexical analysis
 +
* memory_analyzer: Memory analysis
 +
* networking: Networking library (EiffelNet)
 +
* parse: parsing and lexical analysis (including EiffelParse, EiffelLex)
 +
* preferences: manage user preferences
 +
* process: start and manage processes
 +
* database: database access, including EiffelStore
 +
* concurrency_thread: multi-threading
 +
* time_date: time and date
 +
* uuid: UUID generation facility
 +
* gui_design: platform independent UI toolkit (EiffelVision)
 +
* gui_graph: Representation of graph in UI (See diagram tool in EiffelStudio)
 +
* gui_windows: UI toolkit for Windows
 +
* gui_extension: Extension to Vision2
 +
* web: building Web applications
 +
 +
 +
Not yet reclassified:
 +
 +
* event: Low level mechanism to receive a UI event when a file/pipe has something new.
 +
* encoding: Transforming text in one encoding to another encoding
 +
* gobo: Gobo
 +
* gobo_extension: ISE gobo extensions
 +
* testing: Testing facility

Revision as of 12:35, 12 August 2009

The goal of this page is to offer a better file hierarchy for Eiffel libraries included in EiffelStudio. Currently (as of EiffelStudio 6.4 and older) you have a flat representation of libraries under $ISE_LIBRARY and they are represented by their name. Our goal is to provide a hierarchy based on what they provide. Our inspiration is the FreeBSD ports hierarchy which is only one level deep.

In addition to the categorization, we will add some suffix to the library name so that we can clearly check the status of the library:

  • no suffix: Eiffel Software endorsed and supported library.
  • -contrib: externally contributed library not supported by Eiffel Software.
  • -unstable: library available to user but beware that it might change its interface from release to release.

Here is the list of libraries included flat in EiffelStudio 6.4:

  • api_wrapper: Make it easy to call C routines from dynamically loaded shared libraries
  • argument_parser: Parsing the command line arguments of a program
  • base: Kernel library classes, data structure, reflection, I/O
  • com: COM technology
  • diff: Diff and patch facilities
  • docking: Facility to have a customizable UI.
  • Eiffel2Java: Calling Java from Eiffel
  • encoding: Transforming text in one encoding to another encoding
  • event: Low level mechanism to receive a UI event when a file/pipe has something new.
  • gobo: Gobo
  • gobo_extension: ISE gobo extensions
  • graph: Representation of graph in UI (See diagram tool in Eiffel Studio).
  • i18n: Internationalization library:
  • lex: lexical analysis
  • memory_analyzer: Memory analysis
  • net: Networking library
  • parse: Parsing:
  • preferences: Facility to store user preferences
  • process: Facility to start and follow processes
  • store: Relational database access
  • testing: Testing facility
  • thread: Threading in Eiffel
  • time: Time facility
  • uuid: UUID generation facility
  • vision2: Platform independent UI toolkit
  • vision2_extension: Extension to Vision2
  • web: CGI facility for Eiffel
  • wel: UI toolkit for Windows

A proposed structure would be:

  • external_interfaces: Make it easy to call C routines from dynamically loaded shared libraries
  • argument_parser: Parsing the command line arguments of a program
  • data_structures: Kernel library classes, data structure, I/O
  • reflexion
  • com: COM technology
  • diff: Diff and patch facilities
  • docking: customizable UI.
  • java: Calling Java from Eiffel



  • i18n: Internationalization library:
  • lex: lexical analysis
  • memory_analyzer: Memory analysis
  • networking: Networking library (EiffelNet)
  • parse: parsing and lexical analysis (including EiffelParse, EiffelLex)
  • preferences: manage user preferences
  • process: start and manage processes
  • database: database access, including EiffelStore
  • concurrency_thread: multi-threading
  • time_date: time and date
  • uuid: UUID generation facility
  • gui_design: platform independent UI toolkit (EiffelVision)
  • gui_graph: Representation of graph in UI (See diagram tool in EiffelStudio)
  • gui_windows: UI toolkit for Windows
  • gui_extension: Extension to Vision2
  • web: building Web applications


Not yet reclassified:

  • event: Low level mechanism to receive a UI event when a file/pipe has something new.
  • encoding: Transforming text in one encoding to another encoding
  • gobo: Gobo
  • gobo_extension: ISE gobo extensions
  • testing: Testing facility