Difference between revisions of "Library interface"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
 
m
 
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  +
[[Category: Library]]
'''Note:''' this documentation is not meant to replace the [http://smarteiffel.loria.fr/libraries/index.html eiffeldoc pages].
 
  +
'''Note:''' this documentation is not meant to replace the [http://doc.liberty-eiffel.org eiffeldoc pages].
   
  +
=== Basic libraries ===
<!-- You can link to eiffeldoc pages like this: [[class:any]] -->
 
   
  +
* [[lib/kernel]]: the few classes that the compiler directly depends upon
== The existing libraries in 2.1 ==
 
 
* [[lib/kernel]]: the few classes that the compiler directly depend upon
 
 
* [[lib/abilities]]: add features to your classes that other library classes may depend upon
 
* [[lib/abilities]]: add features to your classes that other library classes may depend upon
 
* [[lib/io]]: the input-output system, complete with some back-ends and a filter system
 
* [[lib/io]]: the input-output system, complete with some back-ends and a filter system
 
* [[lib/storage]]: the many containers (collections, lists, sets and so on)
 
* [[lib/storage]]: the many containers (collections, lists, sets and so on)
  +
* [[lib/numeric]]: anything about numbers: computer-oriented ([[library_class:INTEGER|INTEGER]]) or real math-oriented ([[library_class:NUMBER|NUMBER]])
  +
* [[lib/string]]: 8-bit and unicode characters and strings
  +
  +
=== Algorithmics, control of the execution stream, data structures ===
  +
  +
* [[lib/design_patterns]]: some easily coded design patterns ''(not sure this one will stay as is)''
 
* [[lib/iterator]]: the design pattern that allows container traversal
 
* [[lib/iterator]]: the design pattern that allows container traversal
 
* [[lib/sorting]]: to sort containers
 
* [[lib/sorting]]: to sort containers
* [[lib/numeric]]: anything about numbers: computer-oriented (<code>INTEGER</code>) or real math-oriented (<code>NUMBER</code>)
 
* [[lib/random]]: to generate random numbers
 
* [[lib/string]]: 8-bit and unicode characters and strings
 
* [[lib/unicode]]: unicode parsing
 
* [[lib/time]]: what time is it?
 
* [[lib/sequencer]]: interleaving computations (no threads involved)
 
* [[lib/signal]]: using agents to signal events
 
* [[lib/vision]]: graphical interfaces
 
* [[lib/misc]]: miscellany
 
   
  +
* [[lib/backtracking]]: easy-to-use backtracking features
== The upcoming libraries in 2.2 ==
 
  +
* [[lib/regular_expression]]: easy-to-use regular expressions
   
  +
* [[lib/exec]]: start and control an external process, complete with its standard streams
All the 2.1 libraries, plus:
 
  +
* [[lib/sequencer]]: interleaving computations (on a single cpu core, yet no threads involved)
  +
* [[lib/signal]]: using agents to signal events
  +
  +
=== Extensions to input-output, interfaces ===
   
* [[lib/abilities]]: new abilities (including <code>STORABLE</code>)
 
* [[lib/storage]]: a new storage system: repositories that can store/retrieve <code>STORABLE</code>s
 
 
* [[lib/net]]: network access; write an HTTP server in a few lines
 
* [[lib/net]]: network access; write an HTTP server in a few lines
 
* [[lib/html]]: HTML input-output
 
* [[lib/html]]: HTML input-output
 
* [[lib/xml]]: an XML parser
 
* [[lib/xml]]: an XML parser
  +
* [[lib/exec]]: start and control an external process, complete with its standard streams
 
  +
=== Miscellany ===
* [[lib/design_patterns]]: some easily coded design patterns ''(not sure this one will stay as is)''
 
  +
  +
* [[lib/random]]: to generate random numbers
  +
* [[lib/time]]: what time is it?
  +
* [[lib/unicode]]: unicode parsing
  +
* [[lib/misc]]: miscellany

Latest revision as of 12:13, 1 January 2022

Note: this documentation is not meant to replace the eiffeldoc pages.

Basic libraries

  • lib/kernel: the few classes that the compiler directly depends upon
  • lib/abilities: add features to your classes that other library classes may depend upon
  • lib/io: the input-output system, complete with some back-ends and a filter system
  • lib/storage: the many containers (collections, lists, sets and so on)
  • lib/numeric: anything about numbers: computer-oriented (INTEGER) or real math-oriented (NUMBER)
  • lib/string: 8-bit and unicode characters and strings

Algorithmics, control of the execution stream, data structures

  • lib/exec: start and control an external process, complete with its standard streams
  • lib/sequencer: interleaving computations (on a single cpu core, yet no threads involved)
  • lib/signal: using agents to signal events

Extensions to input-output, interfaces

  • lib/net: network access; write an HTTP server in a few lines
  • lib/html: HTML input-output
  • lib/xml: an XML parser

Miscellany