The Haxial Programming Language
Documentation
- Design Philosophy and Advantages
- General Syntax
- Literal Numbers
- Variables
- Command Implementations
- Function Implementations
- Flow Control
- Expressions
- Variable/Attribute Types
- Literal/Quoted Text
- Records and Tuples
- Operator Precedence
- References
- Reference Subsets
- Command and Function References
- Arithmetic Overflow
- Error Management
- Configurations
- Translate
- Pointers
- Measurement Units
- Criticisms of Other Languages
Module documentation:
- View Standard Library Reference
- MText -- Text objects.
- MArray -- An array/list of values.
- MURL -- Create and read Uniform Resource Locator (URL) objects. Used for identifying locations/resources in networking and file systems.
Module documentation to be added:
- MGUI -- Creating/displaying a Graphical User Interface (GUI) for the user, and managing it. Can use local or remote GUI server. (There is no other way of displaying graphics or images to the user.)
- MCLI -- Communicating with the user via a text-based Command Line Interface (CLI).
- MSocket -- Data transfer, networking, messaging, TCP/IP, ethernet, etc. Also used to retrieve and modify file data. Uses URLs.
- MIndexedArray -- Array of items with attributes indexed for fast searching. Advanced associative array.
- MChain -- Link records together to form a traversable chain either flat or hierarchical (list or tree). Link types (next/prev/parent/etc) are individually enabled.
- MMessage -- Inter-process messaging system supporting both local and remote processes.
- MFileSys -- File System, files, folders, volumes, disks, etc.
- MDatabase -- Access to database engines, including SQL databases. sqlite. ODBC.
- MExtFlatten -- Extensible Flattening Format (XFF).
- MEncrypt -- Interface to various encryption algorithms. AES.
- MMsgDigest -- Interface to various message digest / hashing / checksum algorithms. SHA. CRC. FNV.
- MTime -- Getting the current time/date, calculating elapsed time, etc.
- MFracFloat -- Practically unlimited precision fractional floating-point numbers in any radix/base. Useful for advanced maths and asymmetric cryptography.
- MJournalFile -- Efficiently storing messages to a journal/log file.
- MBinDataReader -- Read a file (or data stream) in a binary data format. Both big and little endian supported.
- MBinDataMaker -- Make a file in a binary data format. Both big and little endian supported.
Third-party libraries to be supported:
- MZlib -- zlib compression library.
- MPNG -- Interface to LibPNG library for making and decoding PNG images.
- MJPEG -- Interface to IJG library for making and decoding JPEG images. Or perhaps as a generic MImageDecoder module with plugins, or perhaps a part of MGUI.
- MImageMagick -- Interface to ImageMagick image manipulation and conversion library.
- MRegex -- Searching using Regular Expressions. PCRE or Oniguruma library.