STD-US-NOTES(7)
โจ STD-US-NOTES(7) โจ
okay so bestie, welcome to STD-US-NOTES(7) from the Miscellaneous Information Manual โ it's literally the afnix installation guide and I'm gonna walk you through it ๐ no cap. this is part 1 of 7 so buckle up ๐
๐ธ NAME ๐ธ
std-us-notes - afnix installation guide
๐ INSTALLATION GUIDE ๐
okay so this chapter describes the installation procedures for the AFNIX writing system distribution. it explains how to set and compile this distribution. periodt. ๐ซถ
๐ฆ Software distribution ๐ฆ
the complete distribution can be downloaded from the AFNIX home page. the result is a complete source tree that's ready for compilation. the distribution also contains the documentation as well as examples. it's supported on a variety of platforms as indicated below โ can be either 32 bits or 64 bits machines. the distribution is also available at the FreeBSD port collection. iykyk ๐
- Linux โ processors:
X86-32,X86-64; operating system:Linux 3.x,4.x,5.x - FreeBSD โ processors:
X86-32,X86-64; operating system:FreeBSD 8.x,9.x,10.x.x,11.x.x,12.x.x - Gnu โ processors:
X86-32,X86-64; operating system:GNU KBSD,GNU Hurd
specific processors like the Alpha, M68K, ARM, MIPS, RISCV and SUPERH are also supported on certain distributions. the PowerPC (PPC) processor has been discontinued. the Solaris SPARC platform has been discontinued. do not hesitate to contact the development team for specific processor or platform support. fr fr ๐
๐ Installation procedure ๐
the core software is written in C++. it has been successfully built with the latest GNU GCC 10. the clang compiler has also been successfully tested. you'll also need the GNU Make package. with some distributions the command is called gmake. note that the Makefile hierarchy is designed to operate safely with the -jGNU Make option. (make sure you catch that -jGNU bestie, no cap) ๐
๐ Unpacking the distribution ๐
the distribution is available as a compressed tar file. note that the documentation is distributed in a separate file. the following command unpacks the distribution.
zsh> gzip -d afnix-src-[version].tar.gz
zsh> tar xf afnix-src-[version].tar
โญ Quick command reference โญ
the list of commands to execute is given in the example below. a detailed description for each command is given hereafter. the make world command is the default command that builds the whole tree with the default compiler.
zsh> ./cnf/bin/afnix-setup -o --prefix=/usr/local/afnix
zsh> make status
zsh> make [-j]
zsh> make test
zsh> make install
zsh> make clean
with some platforms, the make command should be replaced by the gmake command. the make status command is optional and can be used to report the internal value contents. in particular, the version and the installation parameters are reported. slay ๐
๐ Configuration ๐
the afnix-setup command can be invoked to setup a particular configuration. you should have your compiler on your search path. normally, the command given below is enough.
zsh> ./cnf/bin/afnix-setup -o --prefix=/usr/local/afnix
this command checks that the target platform can be detected and configured. the -o option configures the compilation in optimized mode. use the -g option can be used to configure the build process in debug mode. the --prefix option sets the installation directory. note that the compilation process is done in the distribution tree and that the --prefix option affects only the installation operations. the -v option is the verbose option. other options are available for fine tuning. it's giving very demure, very mindful โจ
-hโ print a help message. default:n/a-vโ set the verbose mode. default:n/a-gโ set the debug mode. default:yes-oโ set the optimized mode. default:no--helpโ same as-h. default:n/a--prefixโ set the target install directory. default:/usr/local--shrdirโ set the shared install directory. default:/usr/local/share--altdirโ set the alternate install directory. default:/usr/local--sdknamโ set the target sdk by name. default:platform dependent--sdkdirโ set the target sdk directory. default:platform dependent--ccnameโ set the default compiler. default:platform dependent--sharedโ compile and link dynamically. default:yes--staticโ compile and link statically. default:no--openmpโ enable the optional openmp compilation. default:no
the prefix option set the root installation directory. the binary and library installation directories are derived from it. the shrdir set the shared installation directory which is normally used for the installation of the manual pages on most popular systems. the altdir sets the alternate installation directory. normally this path should be empty as it affects the path for the etc directory. this flag should be used when using a prefix to unusual destination. the ccname option can be used to force a particular compiler with the help of a compiler configuration file. the -s or --static option can be used to build a static executable. normally, this option should not be used since it restrict the use of extension modules. the shared controls whether or not the dynamic libraries should be built. this option is detected automatically for a particular platform and should be used only by package maintainer. there exists also specific options which are mostly for package maintainers. at this time, the build process integrates the Debian, Ubuntu and Fedora specific packaging mechanism. obsessed. ๐
--pkgnamโ set the distribution package. default:none--pkgbinโ set the optional package bin directory. default:none--pkglibโ set the optional package lib directory. default:none--pkgprjโ set the optional package prj directory. default:none--pkghdrโ set the optional package hdr directory. default:none--pkgetcโ set the optional package etc directory. default:none--pkgmanโ set the optional package man directory. default:none--pkgdocโ set the optional package doc directory. default:none--pkgwwwโ set the optional package www directory. default:none--pkgsrvโ set the optional package srv directory. default:none
๐ง Compiling the distribution ๐ง
the compilation process is straightforward. with some platforms, the make accepts the -j that enables concurrent operations.
zsh> make [-j]
this will build the complete distribution locally. if an error occurs, it is best to report it at the (bugs@afnix.org) AFNIX bug report mail address. don't be shy bestie, they wanna know ๐
๐ธ Testing the distribution ๐ธ
the distribution contains all test suites. the test suites are compiled and executed with the following command.
zsh> make test
this command run the test suites for each library as well as the test suites for each application client. most of the base library test suites are written in C++ with the application test suites written in the core writing system. highkey iconic. ๐ฆ
๐ Installing the distribution ๐
once the system has been built and tested, it can be installed. by default, the distribution tree is installed into the /usr/local directory. this can be overwritten with the --prefix option during the configuration process.
zsh> make install
there are several variables that controls the behavior of the install rule. each variable has its default value sets during the setup configuration. however, this variable can also be altered during the installation process. main character energy fr. ๐
PREFIXโ the root install directory. default:/usr/localSHRDIRโ the shared install directory. default:/usr/local/shareALTDIRโ the shared alternate directory. default:/usr/local/etcSDKDIRโ the system kit directory. default:platform dependentBINDIRโ the binary install directory. default:prefix/binLIBDIRโ the library install directory. default:prefix/libHDRDIRโ the header files install directory. default:prefix/include/afnixETCDIRโ the extra files install directory. default:altdir/etc/afnix
๐ซถ Installing the documentation ๐ซถ
the documentation is installed independently of the software. the doc rule builds the documentation and the publish rule installs the documentation. several variables also control the documentation installation path. periodt. ๐
DOCDIRโ the documentation install directory. default:shrdir/doc/afnixMANDIRโ the manual pages install directory. default:shrdir/man
๐ Cleaning the distribution ๐
the distribution is cleaned with the clean rule.
zsh> make clean
this rule does not clean the configuration. for a complete cleaning the reset rule is more appropriate. not me being dramatic but it's giving fresh start โจ
zsh> make reset
๐ Running AFNIX ๐
the axi command invokes the interpreter. in order to operate properly, the LD_LIBRARY_PATH environment variable must be configured with the directory containing the shared libraries. if the libraries have been installed in a standard location like /usr/local/lib, there is nothing to do. lowkey easy. ๐ซถ
๐ Running some examples ๐
the directory exp contains various examples which can be run. each example is labeled according to their use in the volume 1 of the documentation set. example 0101.als prints the message hello world. example 0501.als prints various information about the system configuration. no cap, it's adorable. ๐
zsh> axi EXP0501
major version number : 3
minor version number : 8
patch version number : 0
interpreter version : 3.8.0
program name : axi
operating system name : linux
operating system type : unix
machine size : 64
afnix official uri : http://www.afnix.org
โจ Special features โจ
the build process provides several features that permits to customize the compilation process as well as the nature of the final executable. most of the time, these options are reserved for the package maintainer and are given below for illustration purpose. iykyk. ๐
๐ฅ Special target extensions ๐ฅ
extensions are specific libraries or executables which are not build automatically during the build process. the user is responsible to decide which extension is needed for the system. all extensions are located under the src/ext directory. simply going into the appropriate directory and running the make command will build the extension. the asi extension creates a static interpreter with all libraries automatically included in the final executable. the extension is simply build with the following command. note that this extension overwrite the previous executable in the bld/bin directory. ate that. ๐
zsh> make -C src/ext/asi
๐ฆ Extra files ๐ฆ
the distribution comes with some extra files. the most important is the Emacs mode afnix-mode. the original source file is written in Emacs Lisp and is available in the etc directory of the distribution. this file should be installed according to the current Emacs installation. iconic. ๐
๐ ๏ธ MAINTAINER NOTES ๐ ๏ธ
Okay bestie, this chapter is the behind-the-scenes content for the package maintainer ๐ It's also lowkey essential for anyone whose job is shoving this distribution into a build process. We're gonna walk the whole distribution tree, no skips. ๐
๐ณ The distribution tree ๐ณ
The distribution tree is made up of a bunch of directories, fr fr. Each one has its own Makefile that you can call locally or from the top level. Let's meet them ๐ฆ
cnfโ this one holds the configuration distribution plus a bunch of utilities. Bestie, normally you do not touch it, unless you're using a compiler that isn'tgcc.srcโ the complete source tree lives here. The source code is written in C++. Normally this directory stays untouched. If you have genuinely good reasons to modify it, please contact the development team. ๐tstโ the complete test suites. Various programs use them, including the main interpreter, the compiler and the debugger. Worth noting: the library distribution also ships its own specific test suites.docโ the complete documentation, written in XML with a special DTD. Leave it alone, periodt.etcโ various files associated with the distribution. Some of them are genuinely useful to copy.expโ various examples, included for illustration purposes. โจ
The whole process of building a package depends solely on the distribution type. Most likely, the standard distribution should contain the binary executables, plus some configuration file and the manual pages. The documentation and the development header files can go in separate packages. ๐ธ
โ๏ธ Configuration and setup โ๏ธ
The configuration process involves the afnix-setup command, which lives in the cnf/bin directory. This command configures the distribution. Package maintainers are encouraged to use it with specific options. ๐
๐ Platform detection ๐
The afnix-guess command is used during configuration to detect a supported platform. It can also be run in stand-alone mode. There are various options to tune what kind of info you're asking for:
-hโ print a help message-nโ print the platform name-vโ print the platform version-Mโ print the platform major number-mโ print the platform minor number-pโ print the processor name
With no option at all, the utility prints a platform and processor description string. Like this ๐ซ
zsh> ./cnf/bin/afnix-guess
linux-5.4-x64
๐งฌ Platform defaults ๐งฌ
The directory cnf/def contains a platform specific default file. This file decides what the default compiler and linking mode are, and it's used by the afnix-setup command. For example, the afnix-darwin.def file contains:
compiler: gcc
lktype : dynamic
lkmode : dylib
So those options tell the configuration utility that the default compiler is gcc and that the linking mode should operate in dynamic mode using the dylib rule. These default values can be overwritten with the equivalent option of the afnix-setup command. Ngl, the compiler version is automatically detected by the system โ the afnix-vcomp command will return the appropriate compiler version running on the target system. ๐ซถ
๐ง C++ source file conventions ๐ง
The source tree has two types of C++ files. The first type has the .cxx extension, and the second type has the .cpp extension.
The .cxx files โ and their associated .hxx files โ are only used to indicate a system dependency. You'll find these files only in the src/lib/plt directory. The .cxx extension means the file might use system specific include files.
The .cpp files โ and their associated .hpp files โ are the normal C++ source files. The .cpp extension indicates that these files will not use a system specific file. By default this rule is enforced in the compiler configuration file by specifying some compiler flags that don't authorize such access. ๐ฅ
๐ Configuration files ๐
The configuration files are located in the cnf/mak directory. Normally they should be left untouched. The most important one is the afnix-rule.mak file, which defines most of the compilation and linking rules.
Also, during the setup operation, the afnix-setup command creates several files in the bld/cnf directory. (bld is the build directory, iykyk.) The afnix-plat.mak file is the platform configuration file, and afnix-comp.mak is a link to the appropriate compiler configuration file. โจ
๐จ Compilation ๐จ
Normally the compilation process is immediate โ just invoking the make command does the job. But some package maintainers want to overwrite some flags, so here are some options to make that easier:
EXTCPPFLAGSโ this flag adds compilation flags for all.cppfiles.EXTCXXFLAGSโ this flag adds compilation flags for all.cxxfiles.EXTCCDEFINEโ this flag adds compilation definitions for all source files.EXTINCLUDESโ this flag adds compilation paths for the.cxxfiles.
For example, it's common for a maintainer to compile with both the debug and optimize flags. That looks like this (assuming an optimized configuration):
make EXTCPPFLAGS=-g EXTCXXFLAGS=-g
All include files, compiled libraries and executables are placed in the bld directory. Inside it you'll find bld/bin for binaries, bld/lib for libraries and bld/hdr for the header files. ๐
๐ฆ Building the package ๐ฆ
You can build the package by accessing the bld directory, or by invoking the install rule. The second method is not recommended for package construction, since it might trigger some file installation without any control. ๐ญ
The etc/unx directory contains some special files that might be used for the package construction. Here's a sample list:
afnix-mode.elโ this file is the Emacs mode.afnix-gud.elโ this file is the debugger Emacs gud mode.
๐ Specific makefile rules ๐
The top level Makefile contains several rules that might be useful for the package maintainer:
statusโ this rule shows the configuration status for each parameter, with the version.debugโ this rule invokes the default configuration in debug mode.optimizedโ this rule invokes the default configuration in optimized mode.buildโ this rule invokes the default configuration in debug mode and compiles the whole distribution. The default install directory is/usr/local.worldโ this rule invokes the default configuration in optimized mode and compiles the whole distribution. The default install directory is/usr/local.testโ this rule runs all test suites.docโ this rule builds the documentation.distriโ this rule builds the distribution.installโ this rule installs the distribution.publishโ this rule installs the documentation.cleanโ this rule cleans the distribution but keeps the configuration.resetโ this rule resets the distribution including the configuration.
๐ RELEASE NOTES ๐
This chapter holds the release notes for the different releases. They're given in descending order for a particular version. The standard notation is major.minor.patch, which represents the major, minor and patch number respectively. Here's how to read it, bestie:
- A major version number change means a substantial change in the distribution, including new tools, application interface and license.
- A minor version number change means a noticeable change, with or without new tools, but without an application interface change and without a license change.
- A patch number change means a simple change to fix a problem. There are no additional features in a patch, and no application interface change either.
โญ Release 3.8 โญ
- Core engine: release 3.8.0 โ this is a medium release, in line with the previous release, which integrates some fundamental restructuring of the core interpreter in preparation for distributed execution. The module object has been refactored as well as the debugger.
- Core engine: hyper threaded interpreter โ a new object called a hyper-threaded interpreter, which operates with a grid, provides a mechanism to execute modules inside an executing interpreter. This is still an experimental technology, ngl. ๐งช
- Core modules: tcz service โ the
csmservice has been refactored as a transmutable content zone service.
โญ Release 3.7 โญ
- Core engine: release 3.7.0 โ this is a medium release, in line with the previous release, which integrates various extensions and cleanup before major release 3.8, scheduled for the end of the year.
- Core engine: new special forms and continue โ two new special forms,
breakandcontinue, have been added to control loops. ๐ฅ - Core modules: gfx module โ the graph module has been revisited with numerous cleanup. A new state machine object called
Automatonhas been added. - Core modules: sys module โ an absolute wait time call has been added to act as a timer.
- Core modules: nwg module โ a new class called
Isohas been added. In particular, support for ISO 3166 has been added. ๐
โญ Release 3.6 โญ
- Core engine: release 3.6.0 โ this is a medium release which integrates a lot of cleanup as well as the beginning of the integration of the
tlsservice. The unicode database has been updated to the latest 14.0.0 release. Some objects have been completely refactored, including base string vector. - Core modules: mth module โ algebra with complex number has been added, including computation algorithm with Hilbert space.
- Core modules: nwg module โ the json reader/writer has been enhanced to support plist.
- Core modules: sec module โ the
pkcssignature algorithm has been added. It is designed for the support of ephemeral Diffie-Hellman in thetlsservice. ๐
๐ธ Core services: tls service ๐ธ
bestie the tls service got a GLOW UP โ it now supports ephemeral Diffie-Hellman. The integration of the tls inside applications will be able to start. ๐
โจ Release 3.5 โจ
๐ Core engine: release 3.5.0 ๐
okay so this one is a important release and it integrates numerous objects that were long overdue, including the support for complex numbers and numerous code cleanup. ๐ซถ
and bestie. an undetected (until now) interlocking bug in the string split method has been discovered and fixed. we love a late-night bug catch. Various encoding bug have also been fixed, including one in the readline method. ๐ญ
๐ง Core modules: mth module ๐ง
Prime number generation has been improved for speed, especially with safe prime. The quaternion object has been added. โจ
๐ฆ Core modules: nwg module ๐ฆ
Form encoding and decoding has been enhanced. A json reader/writer has also been integrated. ๐ฅ
๐ Core modules: sec module ๐
The dsa pki has been added with support for dsa parameters. The dh key support has been added. The concept of key configuration and renewal has been added. ๐
๐ Core modules: xml module ๐
The module has been cleaned for simplex reader/writer design. The node formating generation has bee enhanced with indentation support. ๐
๐ธ Core services: tls service ๐ธ
Pkcs8 support has been added with a better integration of key generation. Server name in extension is now supported. ๐
๐ Core services: csm service ๐
Datum and magma parts have been added along a general service cleanup. The concept of transmuter has been developped as a mixture interface. The blob view construction has been revisited. โจ
โจ Release 3.4 โจ
๐ Core engine: release 3.4.0 ๐
This is a a minor release which integrates more support for the tls service. Safe prime number generation has been added. The assert special form has been enhanced to better support real testing. ๐ซถ
๐ง Core modules: mth module ๐ง
Real vector, point and matrix of size 1,2,2 and 4 has been added. ๐
๐ Core modules: sec module ๐
The gcm mode has been added. The elliptic curve objects and its associated arithmetic has been integrated. Tests with the standard curves have been incorporated. ๐
๐ฐ๏ธ Core modules: sys module ๐ฐ๏ธ
The date and time object have been enhanced to support extended time with real precision below the second. A now constant is also available for setting the current date and time. โญ
๐ธ Core services: tls service ๐ธ
The aes-gcm mode has been added as a cipher. ๐
โ๏ธ Core services: phy service โ๏ธ
Direct access to physical constants has been added. The unit string representation has been enhanced to support the scaling factor. ๐ฆ
โจ Release 3.3 โจ
๐ Core engine: release 3.3.0 ๐
This is a major release with a complete re-factoring of the interpreter evaluation hierarchy. Internally, some objects are being rewritten with a c++/17 semantic. Many objects have also been optimized to support very long strings. The serialization coding has also been revisited. A serious bug with negative proleptic date has been fixed. Another bug with the object iterator has also been fixed. ๐ญ๐
๐ Core engine: Unicode 13.0.0 ๐
The Unicode standard, revision 13.0.0, has been incorporated in the core engine. โจ
โณ Core engine: asynchronous evaluation โณ
The special form future creates a special object called a future which is used to evaluate an object asynchronously. The evaluation starts with the help of the force special form. The sync special form can be used to synchronize with the future. ๐ฅ
๐ง Core modules: mth module ๐ง
The numeral block has been enhanced to support row/column order and line/block padding and the interface has been considerably enhanced. ๐
โ๏ธ Core services: phy service โ๏ธ
The Unit object has been added to support the definition of physical unit. The physic constants and the periodic table has been re-factored. ๐
๐ผ๏ธ Core services: dip service ๐ผ๏ธ
The geo service has been removed and the image objects have been moved to a new service called dip. ๐
โจ Release 3.2 โจ
๐ Core engine: release 3.2.0 ๐
This is a minor release issued for synchronization with other projects. ๐ค
๐ข Core engine: Numeral object ๐ข
The numeral object has been completely re-factored including the api at the math module level. โจ
๐ฆ Core modules: nwg module ๐ฆ
A generic json writer has been implemented and the corresponding json mime object has been updated. ๐
โจ Release 3.1 โจ
๐ Core engine: release 3.1.0 ๐
This is a major release which new standard objects as well as the first distribution of the tls. Release 3.0 was an internal release which is will not be publicly distributed. The debian distribution has been fully integrated and the build system revisited to account for new platforms. ๐
๐ Core engine: Unicode 12.1.0 ๐
The Unicode revision 11.2.0 has been incorporated in the core engine. โจ
๐งต Core engine: Task and structure ๐งต
The core engine has been enhanced to support the concept of task. A Task is similar to a thread object, but can be used directly at the api level. A new Structure object has been added to support object aggregation. engine. ๐ซถ
๐ Core modules: net module ๐
The buffer read and socket sapf (socket address protocol family) have been fixed. The Autocom object has bee added to support socket re-connection. ๐
๐ฆ Core modules: nwg module ๐ฆ
The IPV6 address representation in uri has been fixed. The Hyperlink object has been added. ๐
๐บ๏ธ Core modules: geo module ๐บ๏ธ
The Netpbm object has been fixed for inconsistent block delete. The Pixmap stride has been fixed. ๐
๐ Core modules: sec module ๐
The Sha-3 family of hashers has been added. The Kdf2 function has bee refactored to support the Pbkdf2 standard. Support for Galois field has been added. The Gcm cipher has been added. ๐
๐ Core modules: sps module ๐
The csv split and validation process has been added. The Transit has been revisited. ๐
๐ง Core modules: mth module ๐ง
The integer vector object Ivector has been added. The float vector Fvector has been added. Random vector generation has been added. โจ
๐ฐ๏ธ Core modules: sys module ๐ฐ๏ธ
System wait on kill has been added. โญ
๐ Core services: csm service ๐
The csm objects have been considerably re-factored. Notably the Part and Blob objects. ๐ฆ
๐ Core projects: adp project ๐
The standard documentation processor has been enhanced with more option for better distribution support. ๐
โจ Release 2.9 โจ
๐ Core engine: release 2.9.3 ๐
Immediate release which fixes a potential deadlock in the output stream object. ๐ญ
๐ Core engine: release 2.9.2 ๐
Small revision release with small allocator fixes, doc improvements and 32 bits inconsistencies removal. The support for 'clang' compiler has been updated as well. A patch with support for the RISCV processor has also been incorporated. ๐ฅ
๐ Core engine: release 2.9.1 ๐
Small revision release with minor improvements for IPV6 address support. ๐
๐ฆ Core modules: nwg module ๐ฆ
The Uri object has been enhanced to support numerical ip address notation with brackets. โจ
๐ Core modules: net module ๐
The Address object has been enhanced to support numerical ip address detection. ๐
๐ Core engine: Unicode 11.0.0 ๐
The Unicode revision 11.0.0 has been incorporated in the core engine. ๐
๐ฆ Core engine: serialization revisited ๐ฆ
The core engine serialization has been revisited to account for a larger number of modules and services. ๐
#๏ธโฃ Core engine: default hash revisited #๏ธโฃ
The core engine hash function is now based on the Fowler-Noll-Vo algorithm. ๐งฎ
๐ Core engine: logger object revisited ๐
The core engine logger object has been completely redesigned with a simpler interface. ๐ซถ
๐ฆ Core modules: nwg module ๐ฆ
The base 64/32/16 codec have been added as a single object Basexx. ๐ข
๐ Core modules: sec module ๐
The security module has been enhanced with a new signature base class. ๐
๐๏ธ Core modules: wgt module ๐๏ธ
The widget module has been added to the core distribution. At this time, the module contains expressable and conditional objects. โจ
๐ Core services: csm service ๐
The content session management service has been largely refactored. ๐ฆ
๐บ๏ธ Core services: geo service ๐บ๏ธ
The geometry service has been enhanced to support image and pixmap. A netpbm reader/writer has been added as well. ๐
โจ Release 2.8 โจ
๐ Core engine: release 2.8.3 ๐
Release with GCC 8 support. ๐ ๏ธ
๐ Core engine: release 2.8.2 ๐
Intermediate release with GCC 8 support. ๐ ๏ธ
๐ Core engine: release 2.8.1 ๐
Incorporated patches for GCC 7. ๐ ๏ธ
๐ Core engine: Unicode 9.0.0 ๐
The Unicode revision 9.0.0 has been incorporated in the core engine. โจ
โป๏ธ Core engine: Collectable objects โป๏ธ
The Collectable object is now being deployed inside the engine. A colletable object provides a release method which can be used to remove links between object. ๐ซถ
๐ Core engine: full dupleix stream ๐
A full dupleix object has been added as a generic object. A full dupleix stream is provided for certain class of object like the network socket. The default mode of operations remains the half-dupleix stream since stream access are protected by mutexes. ๐
๐ง Core modules: mth module ๐ง
The math module incorporates an infix notation parser module. This is a preliminray work suppoosed to grow over the next releases. The mean, covariance and univariate regression has been added as objects. ๐
๐ Core modules: sps module ๐
The bundle object literal index has been updated to follow the bundle length. ๐
โจ Release 2.7 โจ
๐ Core engine: release 2.7.0 ๐
Minor platform updates. This is an internal release in preparation for the 2.8.0 release. ๐ ๏ธ
- Core modules: net module โ we circled back and revisited the socket options and parameters. lowkey a glow-up for sockets ๐
- Core services: csm service โ minor fixes with the agent accessor. small but mighty ๐ซถ
๐ธ Release 2.6 ๐ธ
okay so 2.6 was busy, bestie. sit down, hydrate, we're going through it ๐
- Core engine: release 2.6.3 โ incorporated patches for
GCC 6. periodt. - Core engine: release 2.6.2 โ incorporated patches for
Debian, issued by the maintainer. ty for your service ๐ซก - Core engine: release 2.6.1 โ fixed the
FreBSDbuild. (yes, that's what it says, no I'm not touching it, it's in the notes ๐ญ) - Core engine: release 2.6.0 โ this is the release
2.6.0. the code has been updated to better supportc++/11for bothgccandclang. glow up fr fr โจ - Core modules: xml module โ the processing of character entity reference has been substantially changed so it adheres fully with the xml specification. no half measures, we're being correct now ๐
- Core modules: sps module โ the spreadsheet importer has been updated and a
csvreader has been added. the importation process has also been revisited. so many new toys ๐ - Core modules: sec module โ the security module has been updated to support the
tls. this includes moving to a6 bitsmersenne-twisterand adding a certificate block. secure girl summer ๐ - Core modules: mth module โ the normal deviate has been added. math girlies stay winning ๐ธ
- Core services: geo service โ a new geometry service has been added to the distribution. it provides support for modeling various shapes and solids. shapes!! solids!! ๐ฅ
- Core services: cda service โ the streamable objects have been added to the crowd data analytics service. stream it, bestie ๐
๐ฆ Release 2.5 ๐ฆ
- Core engine: release 2.5.2 โ this is the release
2.5.2. it includes support for theGCC 5/CLANG 5compilers suite. thank's to Martin Michlmayr for pointing this out. shoutout king ๐ - Core engine: release 2.5.1 โ this is the release
2.5.1. this is an emergency release that fixes a bug in the uri percent encoding, which can be downloaded from here. it's amazing that it was not found before. emergency!! ๐จ - Core engine: clang compiler with C++11 support โ the system infrastructure has been cleaned to support the
clangcompiler. the code has also been cleaned to support theC++11standard, which is now the compilation default. spring cleaning but make it compilers ๐งนโจ - Core engine: standard library โ a
Styleobject was added to support, in a generic way, the formatting operation for the literal objects. consequently, most of the literal objects have been cleaned and now support aformatmethod that operates with aStyleargument. thePrintTableobject has been enhanced to support column extension and column style. obsessed with a tidy table honestly ๐ - Core modules: mth module โ the
lnmethod is now the standard preferred name for the natural logarithm. several bugs have been fixed in the real matrix implementation with respect to theopenmpimplementation. a new solver based on the Modified Gram-Schmidt algorithm has been added. also note that the direct solver interface has been updated. math glow-up, no cap ๐ - Core modules: nwg module โ the
Uriclass has been enhanced to support partial uri path extraction. slay ๐ - Core modules: sps module โ the spreadsheet module has been considerably overhauled. a new object
Lstackhas been added as a literal stack which can be bound to the cell as a literal array. the sheet formatting has also been revisited to make profit of the newStyleobject as well as the printable transformation. a whole renovation era ๐๏ธ - Core modules: sys module โ the
Meterobject has been added as a mean to help for the performance measurements. we're measuring things now ๐ - Core module: xml module โ the unicode conversion with reference has been updated to adapt itself to the stream or buffer encoding during a write process. โจ
- Core services: phy service โ a preliminary set of nuclear physics constants have been added. physics besties, this one's for you โข๏ธ๐
- Core services: csm service โ the
Workspaceobject has been enhanced to support output stream. ๐ซถ - Core services: web service โ a
JsonMimeobject has been added. it is designed to translate various object into a Javascript object notation format. at this time, only the real data samplesRsamplesobject is supported. js girlies rise ๐
๐ Release 2.4 ๐
- Core engine: unicode 6.3.0 โ the Unicode
6.3.0database is now supported in this release. ๐ - Core engine: containers โ the standard object incorporates an alias table which enables the mapping of property name in a plist. the
Trieobject has been enhanced to support a reference index. the trie name mapping is now obtained with theto-namesmethod. name mapping, but make it cute ๐๏ธ - Core engine: parallel support โ this release incorporates an experimental support for
OpenMP. theOpenMPthreads are compatible with theafnixthreads and support is initially available in the math module.
bestie listen: this option must be enabled explicitelly in the build setup to be effective. it will not just turn on by itself, okay?? turn it on yourself ๐
- Core engine: crowd service โ the session user registration id has been enhanced. the concept of crowd service is available through the generic
Xaasobject, and more specifically with theSaasobject. theWorkspaceobject has been enhanced with a public zone. as a service ๐ซถ - Core modules: sio module โ the
Intercomobject has been enhanced to support a buffered serialization which was somehow mandatory when operating inudpmode. mandatory!! ๐ค - Core modules: net module โ numerous deadlocks in the socket class have been fixed, as well as
udpinconsistencies. deadlocks are so not the vibe, we fixed them ๐โก๏ธ๐ - Core modules: mth module โ the
QmrKrylov solver has been added as part as the iterative solver family. thekrylovconvergence test has also been improved. theQrsolver has been added as part as the direct solver family. the sparse matrix has been enhanced to support a generic iterator. the whole solver architecture has been revisited and is now a class based architecture with a type driven factory. numerous bugs have been fixed. vector and matrix now support row permutations. this entire bullet is main character energy ๐ฅ๐
๐ Release 2.3 ๐
- Core engine: release 2.3.2 โ this is the release
2.3.2. the release fixes the real samples array serialization. ๐ง - Core engine: release 2.3.1 โ this is the release
2.3.1. release2.3.0was an internal work which has not been distributed. it was shy, we don't talk about it ๐ - Core engine: interpreter line read โ the interpreter object can read a line or a passphrase from the attached terminal. ๐ค
- Core engine: interpreter daemon and librarian โ the interpreter can be put in daemon mode. this mean that a new detached processed is spawned with the interpreter attached to it. the librarian has been simplified and the loader integrated inside the interpreter. streamlined โจ
- Core engine: input stream โ the input steam nom implements a stream consumption method designed to accumulate a stream content into the stream buffer. subsequently, the buffer can be converted into a string. the serialization of
eoshas been fixed. ๐ - Core engine: string resolver โ the resolver has been enhanced to map a file into a string. this methodology also applies to file present in a librarian. mapping files like it's nothing ๐บ๏ธ
- Core engine: property list โ the
Plistobject has been enhanced to better support the merging operation. merge merge merge ๐ - Core engine: unicode 6.2.0 โ the Unicode
6.2.0database is now supported in this release. ๐โจ - Core modules: mth module โ the real matrix and vector implementation has been redesigned to support a unique sparse representation. the serialization has also been added to these objects. redesigned, restyled, reborn ๐ฆ
- Core services: csm module โ the crowd object set has been enhanced with an intercom crowd object which simplify the transmission of registered crowd object. a cart and a cart set object have been added as a mean to store crowd object. the session object and sessions set objects have been added. the session object has been enhanced to produce the associated session cookie, with an augmented session closing mechanism. cookies!! ๐ช but make them sessions
- Core modules: nwg module โ the
UriPathobject has been added as a uri path manipulator forhttpserver. ๐ - Core services: phy service โ the silicon energy gap has been fixed to the standard value. the periodic table structure has been revisited. chemistry girls, this one's yours ๐งช
- Core services: wax service โ the
xhtmlform elements have been added to the service. a base element class has also been added to almost all elements. the base class provides support for setting the common element attributes. forms!! but make them aesthetic ๐
โญ Release 2.2 โญ
- Core engine: hurd platform โ the
Hurdplatform is now supported in this release. thanks to our contributor for delivering this new platform. new platform drop, ty contributor ๐ซก๐ - Core engine: unicode 6.0.0 โ the Unicode
6.0.0database is now supported in this release. ๐ - Core engine: object updates โ the lexical analyzer is now an object in its own. it can be used to construct other object from a string description. independent icon behavior โจ
- Core modules: mth module โ an automatic linear system verification has been added to the linear solver.
Jacobipreconditionner have been added to the Krylov solvers andNewtonsolvers have been improved. math math math, we love to see it ๐ฅ - Core services: phy service โ the periodic table of the elements is under construction and should be completed soon. the table will provides the information for each elements, including name, symbol and other physical constants. the support for intrinsic carrier concentration is now available. this is a cryptic feature for people working on semiconductors. semiconductors iykyk ๐งช๐
๐ Release 2.1 ๐
- Core engine: superh processor โ the
SuperHprocessor is now supported in this release. theSuperHis a32 bitsprocessor. 32 bits of pure vibes ๐ - Core engine: nan real number โ the implementation now supports the concepts of
Not a NumberorNANas a whole. a real object can set and tested forNAN. not a number, but fully a moment ๐ญ - Core engine: indirect librarian resolver โ the resolver has been enhanced to support indirect librarian reference. ๐
- Core modules: csm module โ the personnal information management module has been renamed into the crowd session management or
afnix-csmmodule. rebrand!! ๐
Core modules: mth module
okay so the math module? literally got a dramatic glow-up, no cap. The Rsamples object? added, bestie, for storing data samples. Function and polynomial objects? also added to support generic function computation. And the non-linear Newton system solver? added as an object. periodt. ๐งฎโจ
Core services: svg service
The Scalable Vector Graphic service? added. It provides support for the SVG 1.1 standard and allows the automatic generation of SVG compliant code. it's giving vector realness. ๐จ๐
Core services: phy service
The Physics service? added. It provides support for standard physics operations. In particular? the most common physical constants are defined in this service. physics but make it slay. โ๏ธ๐ธ
Release 2.0
Core engine: standard objects
The BlockBuffer object? added to the standard object library. Furthermore? the Buffer has been adapted to operate as a base class for the block buffer and the shl method? added to the buffer object as a mean to shift the buffer. As consequence? the default operating mode for a buffer is the BYTE mode. When operating with strings? the UTF8 mode might be more suitable. The BitSet object? renamed to Bitset and the interface has been cleaned. The Vector? cleaned. The object-p predicate? fixed. we love a cleanup era. ๐งผโจ
Core engine: thread engine
The thread engine? completely redesigned and extensively tested on 32 and 64 bits platforms. It is no longer a problem to operate with more than 32K threads simultaneously. Furthermore? the concept of thread pool has been added to the engine. The end-p predicate? added to the thread object to indicate a successful thread completion. threading but make it iconic. ๐งต๐ฅ
Core engine: form reader
The Reader object? added as a form reader. The reader parses an input stream and produces a form until the end-of-stream. The Reader provides the support for string based execution. reading is fundamental, bestie. ๐๐
Core engine: default librarian module
The Librarian object? enhanced to support the concept of default execution module. When such module? and when the interpreter is requested to do so? the module is automatically loaded during the execution. auto-load? we love to see it. ๐ง โจ
Core modules: nwg module
The HttpProto default version? moved to 1.1 for both the request and response objects. http/1.1 era. ๐๐
Core modules: sio module
The InputMapped class? enhanced to provide the facility for mapping buffer as well as acting as a null character generator. The OuputBuffer object? added as a buffer output stream. With the addition of a form reader? the interpreter communication class Intercom? added to the standard i/o module. i/o but make it cute. ๐พ๐ฆ
Core modules: xml module
The XneCond object? enhanced to support various xml object. The XmlPi? enhanced to support attributes derivation from the string value. xml said let me upgrade. ๐งฌโจ
Core modules: itu module
The itu module? a new module. It has been added with a complete support for the ASN.1 standard. ASN.1 is essential for the support of certificates. certificates? we love a secure queen. ๐ชช๐
Core clients: axs client
The axs client? removed from the core distribution. All of the client functionalities? now available in the spreadsheet module. rip boo, but also move on. ๐ญ๐
Release 1.9
Core engine: object unreference
The long awaited unref reserved keyword? added as a mechanism to unreference a symbol. finally! the wait is over. ๐โจ
Core engine: object predicate
The object-p predicate? added as a standard predicate. The predicate is the negation of the nil-p standard predicate. The method-p predicate? also added as a standard predicate. predicates said slay. โ
Core engine: stop/resume parsing
The file stream parsing? enhanced with the help of the stop โ and resume โถ characters. When the stop character is found? all parsing operations are suspended until a resume character is found. pause and play, bestie. โธ๏ธโถ๏ธ
Core engine: extended exception attribute
The about symbol? added to the exception object as extended exception reason. For a given reason? the file name and line number is added to the exception reason. now you know where it went wrong. ๐๐
Core engine: string objects
The Strvec string vector class? added to the core library. The class is similar to the Vector class except that it operates with strings and provides additional strings related methods. string theory but make it practical. ๐งตโจ
Core engine: counter object
The Counter object? added as a reserved object. The counter is designed to be used directly in loop. loops? we love a good loop. ๐ข๐
Core engine: library cleaning
The core library? extensively cleaned in preparation for the next major release. In particular? numerous memory leaks have been removed and some classes derivations have been fixed. A major bug in the closure argument counting? also discovered and fixed during this process. spring cleaning, but for code. ๐งนโจ
Core module: sio module
The Pathname object? enhanced to detect the type of path associated with the object. Additionally? a normalize method has been added. paths but make them self-aware. ๐๐ฆ
Core module: sio module
The FileInfo object? added to the module. The class provides an immediate access to the principal file parameters such like its size or its modification time. file gossip, but useful. ๐๐
Core module: sio module
The NamedFifo object? added to the module. The class provides the support for a large string based fifo with file saving capabilities. fifo but make it save. ๐ฐโจ
Core modules: nwg module
Several predicates and functions related to media type conversion? added to the module. In particular? a media type extension conversion has been implemented. The HttpResponse class? enhanced with several methods for status code checking. media types? we love a conversion. ๐ก๐
Core modules: sec module
Support for the Digital Standard Algorithm? (aka DSA) as specified by FIPS-PUB 186-3? added to the library. The implementation incorporates several new objects to manipulate signatures. signatures? secure. ๐โจ
Core modules: sec module
The RC2 block cipher algorithm? added to the module. another cipher? we love to see it. ๐
Distribution: documentation
The documentation distribution rules? rewritten and the "publish" rule? added. docs said let me get an upgrade. ๐๐
Release 1.8
Build process: reset rule
The distclean top level makefile rule? renamed as reset. reset era. ๐โจ
Core engine: stream object
The stream engine? cleaned with a new architecture. Two new objects InputStream and OutputStream? act as the foundation of this new design. streams but make them foundational. ๐๐
Core modules: nwg module
The HttpProto, HttpRequest and HttpResponse objects? completely rewritten. In the new model? both objects can operate on the server and client side. The HttpReply object? removed. http glow-up. ๐๏ธโจ
Core modules: sec module
The Sha224 hash function? added. This class concludes the implementation of all SHA family hash functions. The Des class? that supports the DES stream cipher? added to the library. hashing but make it complete. ๐
Core modules: xml module
The XmlRoot class? enhanced in order to ease the declaration node existence verification as well as the encoding mode extraction. xml root said self-care. ๐ท๏ธ๐
Release 1.7
Core clients: random engine seeding
A new option? controls the seeding of the random engine. By default? in debug mode? the random engine is not seeded unless requested by the user. In optimized mode? which is the normal mode? the random engine is seeded at initialization. randomness but make it controlled. ๐ฒโจ
Core engine: base number object
The long awaited base number object? added. The Number object? serves the Integer, Real, and Relatif objects. The base number object is designed to ease the task of formatting numbers. numbers but make them serve. ๐ข๐
Core engine: relatif number enhancements
The relatif number object? enhanced to support extra methods that are used for large number computation. This include the power and gcd computation? which are used by the cryptographic engine. In addition? the base arithmetic relatif methods have been optimized and certain corner bugs in the division fixed. math but make it crypto. โ๐
Core engine: unicode database
The core engine? updated with the new Unicode 5.1.0 database. unicode said new drop. ๐โจ
Core engine: serious bugs
A serious bug in the form synchronize engine? that would cause an engine crash when a form is nil? fixed. not the crash bug! glad it's gone. ๐๐ฉน
Core modules: sio module
A new object called Pathlist? added to support the manipulation of path list. The object is designed to ease the file name resolution in the presence of search path. The module? also extensively cleaned. path list but make it organized. ๐งญ๐
Core modules: mth module
A new module called afnix-mth? added to the standard distribution. The module is designed to integrate the base mathematical functions and objects available in the engine. With such introduction? the random number generation has been moved into this module. Additionally? the functions needed to generate prime numbers have been added to this module. math module? iconic. ๐ขโจ
Core modules: sec module
A new module called afnix-sec? added to the standard distribution. The module is designed to integrate the security functions and cryptographic objects. Two new hasher objects? added to the security module. The Md2 object? implements the MD2 message digest algorithm as described in RFC 1319. The Md4 object? implements the MD4 message digest algorithm as described in RFC 1320. The standard key derivation functions KDF1 and KDF2? added to the security module. The asymmetric cipher RSA? also added to the security module and the Key object? updated to reflect this. security module? we love a secure era. ๐๐
Release 1.6
๐๏ธ Core engine: object collection redesign ๐
okay so the core engine got a serious glow-up to make room for a brand new object collection system (aka garbage collection). The new system is more robust, no cap, and it brings a new mechanism that lets you reclaim cyclic structure as well as destroying global object on demand. it's giving responsible memory management ๐
๐ Core engine: macos x support
The core engine has been adapted to support the new MACOS X Leopard operating system. slay, bestie, we're cross-platform now โจ
๐ Release 1.5 ๐
๐ค Core engine: unicode 5.0 support
The core engine keeps getting updated so it can better support the Unicode 5.0 standard. With this release, the string normalization scheme is now in place and used by default internally โ which lowkey means better support for multiple diacritics, plus the beginning of the standard collation algorithm. we love to see it ๐ธ
๐ Core engine: log file support
The Logger base class has been enhanced to support the generation of a log file. An output stream can now be bound to the object. journaling era fr fr ๐ซถ
๐งฌ Core engine: class defer support
The concept of class defer object has been added to the Class object. The defer mode is the opposite of the infer mode, and it provides a mechanism for base class creation. it's giving origin story ๐
๐ Core engine: print table header
The PrintTable object has been enhanced to support the concept of table header. aesthetic AND functional ๐
๐ Core engine: exception re-throwing
The exception object what can be thrown with the reserved keyword throw. This provides a mechanism to re-throw an exception. catch it, throw it back, main character energy only ๐
๐๐ Core engine: critical bug with return form
A critical bug in the core engine affecting the behavior of the return reserved keyword inside a try block has been fixed. So like โ a return form inside a try block was incorrectly generating an exception, which was then subsequently caught by the try block. absolute chaos. anyway it's fixed now, we're healed ๐
๐ Core modules: net module
The base network module has been enhanced to better operate with IPV6. In particular, when both IPV4 and IPV6 stacks are present and a host name (typically localhost) has an address entry, the socket constructor makes sure it can build an object. The IPV6 address display has been rewritten. dual-stack bestie behavior, obsessed ๐ฅ
๐ Core modules: sio module
A new object called Pathname has been added to support the manipulation of system path. Plus, two new functions, mkdir and mhdir, have also been added to support directory creation โ both normally and hierarchically. make a folder, make ALL the folders ๐ง
๐ Core modules: nwg module
The Uri has been dramatically enhanced to conform to the RFC 3986. In particular, the path representation for urn is now working properly. The cookie object has been massaged to support the cookie version 1, although it does not seem to be supported (yet!) by the browsers. ๐ช not the browsers being behind, embarrassing for them honestly
๐ณ Core modules: xml module
The xml module has been enhanced with a new parsing system called the simple model. In the simple model, nodes are parsed in a linear fashion. The node content is available in the form of a string, and its interpretation is at the user discretion. you get a string, you do what you want with it โ freedom ๐
๐ฏ๏ธ Core service: wax service
The afnix-wam service has been renamed as afnix-wax. The service has also been updated with two new objects, namely the XmlMime and XhtmlMime, which permit you to build a mime representation of an xml tree. Several xhtml objects have also been added to complete the collection โ this includes the XhtmlScript for example. glow-up + rebrand, iconic โจ
๐งช Core service: xpe service
The afnix-xpe service has been added as a new service. The xml processing environment (xpe) provides an xml processor that permits you to manipulate the whole xml tree with the help of various xml processor features. In particular, the service provides the support for the xml include extension. tree traversal but make it chic ๐
๐ฆ Core projects: apx project
This release incorporates, for the first time, the concept of core project, which represents a librarian or an application. The first project is the AFNIX protocol extension, or apx, which is a message based protocol designed to transport request/reply messages within a client/server environment. The message is built with the xml library, and the librarian provides the encapsulation layer. whole new category just dropped ๐
๐ฌ Core projects: amd project
The AFNIX media dumper, or amd project, is a complete application designed to illustrate the design of an application. The application permits you to dump an uri content into a file. demo app that actually eats ๐
๐ Release 1.4 ๐
๐ค Core engine: unicode 5.0 support
The core engine has been substantially changed to support the new Unicode 5.0 standard. As of now, the engine is in place internally, but not fully activated. In particular, the string normalization is implemented but not activated. The next release should incorporate the full system, with a change that should be transparent to the user. so it's there, it's just vibing in the background rn ๐ฆ
๐ช Core language: instance inference
An instance inference mechanism โ which is equivalent to the concept of virtual constructor โ has been added to the core engine. Such a system permits you to derive a top instance from a base instance construction. inheritance but make it self-aware ๐
๐ Core language: print table object
The PrintTable object has been enhanced with a dump method similar to the format method. twin methods, matching energy โจ
๐ท๏ธ Core language: property list object
The Property and the Plist objects have been added to the standard library. A property is a name/value pair. The property list object is an iterable object that stores property objects. iterable AND organized, we stan a structured queen ๐
๐ณ Core modules: xml module
A new module called afnix-xml has been added. The module provides the foundation for a full xml 1.0/1.1 support. The module also includes a parser that permits you to build an xml tree. A xml tree writer is also part of the module functionality. A xml processor is not yet available and is expected in the next release. coming soon to a release near you ๐ญ
๐ Core modules: nwg module
A new module called afnix-nwg has been added. The module provides the support for the network working group objects, such like the Uri object. The module also provides the foundation for the mime support. networking lore unlocked ๐
๐ซ Core modules: web module
The afnix-web module has been removed and replaced by the afnix-wam service. out with the old, in with the service ๐
๐ธ๏ธ Core service: wam service
The afnix-wam service has been added as the first service into the core distribution. A service differs from a module in the sense that it is a combination of different modules. The web application management service depends on the xml and nwg modules. The service provides all the functionality to support a http session, including xhtml page generation and cgi request reply. it's giving full-stack but in a 2007 way ๐ธ
๐ซ Release 1.3 ๐ซ
๐ก Core language: ISO-8859 transcoding support
The core engine has been modified to integrate a character transcoder that permits you to support all ISO-8859 codesets, which are mostly used for the encoding of european and arabic characters. Depending on the locale settings, the transcoder automatically remaps the 8 bits characters into their respective unicode character. All clients have been updated to detect their associated locale and to set automatically the appropriate transcoder. A new option -e has been added to force a particular encoding. locale-aware king behavior ๐
๐ Core language: Logger base class
A logging base class has been added. The logging facility provides the interface to store messages by time and level. This class is further extended in the modules. timestamped receipts, we love ๐ซถ
๐ป Core language: Heap class
A heap class has been added. The heap can operate in ascending or descending mode. This class can be used to support priority queue. sort it however you want bestie ๐
โ๏ธ Core language: Option class
An option class has been added in order to ease the option capture when designing an application. The class permits you to define the valid options and offers a powerful retrieval mechanism. parsing CLI args but make it cute โจ
๐ Core language: Date class
The Time class has been completely changed and a new Date class has been added. The new mechanism provides a better separation between the time and the date, increases the date range, and authorizes the support for multiple calendar. glow-up of the century ๐
๐ Client: cross spreadsheet client
The axs client has been modified to support the axs:insert-marker, axs:insert-header and insert-footer control commands. new commands just dropped ๐ฅ
๐ Core modules: speadsheet module
The Folio and Sheet classes have been substantially updated to support additional information. The Sheet also supports the concept of markers that marks the sheet columns by literals. The concept of column tagging has been added with the associated search methods. All classes also contain an information field. The importation mechanism now supports a cons cell that defines both the cell name and the cell value. so much going on and every bit of it ate ๐
๐ธ๏ธ Core modules: web module
The Table class has been modified to support the concept of table data header. The associated methods have been added to the class and a new HtmlTh has been added. The concept of tag propagation has also been added. If a tag element already exists, this one is not added. This is particularly true for the class tag that is now part of the class constructor. The HtmlPage class has been put in strict conformance with xhtml 1.1 and the XHtmlpage class has been removed. strict conformance era, no more vibes-based html ๐ค
๐๏ธ Core modules: pim module
A new module called the afnix-pim module has been added to the base distribution. The personal information management, or pim module, is designed to ease the management of personal information and agenda. calendar bestie has entered the chat ๐
๐จ Core modules: gfx module
A new module called the afnix-gfx module has been added to the base distribution. The module contains the base class that supports the graph data structure which was previously part of the standard library. moved out, got its own place, growth ๐
๐ Release 1.2 ๐
๐ฆ Core language: Unicode support ๐ฆ
okay so the core engine got a major glow-up to fold in support for Unicode characters, no cap. Depending on the system settings, the reader automatically adjusts itself to run in byte mode or in UTF-8 mode โ it literally reads the room. ๐
The String and Character classes are now operating with a Unicode representation. And because a Unicode-based engine touches everything, it also shakes up a bunch of classes like the Regex, Buffer and stream classes. There's a brand new class called Byte designed to handle byte character, and a whole new stream model got added with a base Stream class. โจ
โ ๏ธ bestie, hear me: the full support for Unicode character is not yet completed. In particular, certain codesets are not supported at all. This is particularly true with case-conversion functions. ๐
๐ Core language: orphan instance and reparenting ๐
The object model now supports the creation of an orphan instance, which is exactly what it sounds like โ an instance with no class attached to it. It's giving unclaimed. ๐ญ
But plot twist: the instance can later be bound to a class, and that class can even be changed during the course of the program execution. Reparenting era fr fr. ๐
๐ Core modules: network module ๐
The Address class has been updated to reflect the access to address aliases. Short and sweet, she ate. โจ
๐ง Core modules: text processing module ๐ง
The Literate class has been updated to reflect the support of Unicode characters, and the class can operate both in byte mode or in Unicode character mode. Flexible queen behavior honestly. ๐
โญ Release 1.1 โญ
๐ฅ Core language: Large file support ๐ฅ
Support for the large file system has been added in the base distribution. All input/output operations โ as long as they are supported by the operating system โ are now done in 64 bits mode. Big files, big energy. ๐
๐ Core libraries: Secure hash algorithm ๐
The cryptographic library incorporates the support for the SHA-1, SHA-256, SHA-384 and SHA-512 hash algorithms. Four for the price of one, we love a bundle. โจ
๐ Core libraries: Standard symmetric cipher ๐
The cryptographic library incorporates the support for the Advanced Encryption Standard (AES) as a symmetric cipher. Secured and slaying. ๐ฅ
๐ฆ Core libraries: ODC library renamed ๐ฆ
The ODC library has been renamed to SPS, which stands for spreadsheet library. This new name is considered more appropriate for the function the library achieves. Rebrand era, and honestly? The new name is iconic. ๐
๐ธ Core libraries: xhtml 1.1 support ๐ธ
The XhtmlPara class is now configured to support XHTML 1.1 with utf-8 encoding. Look at her, all standards-compliant. ๐
โจ Documentation: XML based documentation โจ
The documentation has been rewritten completely in XML. A DTD as well as the necessary XSLT style sheets have also been designed to produce a professional documentation which can be used for printing or for online browsing. main character documentation energy, periodt. ๐
๐ Release 1.0 ๐
The 1.0 release is the initial release. This release replaces the old ALEPH programming language which has been discontinued. RIP to a real one, but the new era is here. ๐ซถ
๐ 04/19/2005: release 1.0.3 ๐
This release incorporates the necessary files that support GCC 4. It also provides some minor fixes that were preventing the compilation on some 64 bits platforms. Little fixes, big saves. ๐ญ
๐ 03/02/2005: release 1.0.2 ๐
This release incorporates a minor fix that could cause the build process to fail. Build process said "not today" and she said "actually, today." ๐
๐ฆ 02/16/2005: release 1.0.1 ๐ฆ
This release incorporates a minor fix that could cause the build process to fail. Same vibe, different date, we respect the consistency. โจ
๐ 01/16/2005: release 1.0.0 ๐
This is the primary release 1.0.0 which originated from the ALEPH programming language and which has been discontinued. A complete history of the language is provided in the description page. The origin story, bestie. Go read it. ๐
and that's a wrap on this page, babes ๐ซถ the footer is doing its little source/version/date thing โ it credits the AFNIX Users Manual as the source, AFNIX as the version, and this page lives at STD-US-NOTES(7). That's the whole page, all 7 parts, no notes left behind. slay, go compile something. ๐
โจ
๐ฆ where this page comes from
- debian trixie: afnix 3.8.0-1.1 ยท AFNIX
- ubuntu noble: afnix 3.8.0-1 ยท AFNIX
- ubuntu resolute: afnix 3.8.0-1.1ubuntu1 ยท AFNIX
- ubuntu stonking: afnix 3.8.0-1.1ubuntu1 ยท AFNIX
- Copyright (c) 1999-2023 Amaury Darsch
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms