Expand Expand Collapse Collapse
1 Felix Run Time Library 2 Felix Standard Library
Library Structure Map
Directory Layout of the extracted Standard library.
With some uncategorise files thrown in.
Base Grammar
Basic Grammar core. Specialised Subgrammars added in appropriate modules.
Basic Algebraic Structure
Now we have to define some basic algebraic structures...
Logic
Boolean Logic
C Headers
First we require basic C interfaces...
Core Scalar Types
So we lift some basic types from C.
Core Type Constructors
Some core data types and library support for compiler instrinsics.
Pointers
Basic pointers.
Control Flow primitives
Interface to some RTL control features
Characters
Basic character type char.
Numbers
So we can conveniently define functions on numbers...
Strings
and functions of strings
Arrays
Array algebra, arrays, variable length arrays, dynamic length arrays, sparse arrays
Lists
Functional lists, association lists, random access lists, doubly linked lists, an S-expressions
Streams and Iterators
Streamable data structures and iterators.
Cooperative threading
Support for fibres, synchronous channels, pipelines.
Preemptive Threading
Support for shared memory concurrency by pre-emptive threads and various
synchronisation devices.
See also Core C++ Threading for implementation details
Programs and Processes
Programs, ennvironment variables, command line options, shells, processes and dynamic linkage.
File System/Output
File Name, Directories, File status, Base operations.
Input/Output
File I/O, Mice, Sockets, Timers, Events
Time of Day
Access to system real time clock.
Database
Basic Sqlite3 binding.
Debugging.
Some debugging aids.
C++ Standard Template Library
C++98 STL: iterators, vector, set, map, list, multiset, multimap, deque
Simple Direct Media Layer
Binding for SDL2 including SDL_image and SDL_ttf