Update 2.2: released


Maintainability is the intention of this Revision 2.2 which achieves several goals, among which, bringing a clear schema of the execution modes, introduce formatting help (libfmt) and output classes (UnidCells, GraphicSet), review coding practice and algorithms. This last objective led to the suppression of several redundancies and the introduction of more or less successful stylistic improvements. The carray function is now usable – for numbers only.

Among the numerous modifications in this release, let’s mention:

– code dissemination: each object or function has its own file;
– new classes and objects (volatile symbol structs);
– move semantics;
– functions rewritten noexcept (this is still a work in progress);
– rationalization of user-defined, functional and execution modes;
suppression of bugs and redundancies (specially recursive function calls);
stylistic attempts: goIf, stayIf et al.: the amount of “ifs” reduces code readability  but is a price to pay for not endorsing too much of any paradigm; these functions standardize some common conditionals;
integration of the carray() extension, with access to an array of integers that can be fed from file; some functions can feed the c-array while other read it so we can mimic table-valued functions like in the following syntax:

select * from unid_symbols where i in
  carray($ptr,list_occs('%myprop%','%mytype%','+protyp'),'int64');

where the c-array is fed and read in one shot.
– save data from various containers to file;
– new SQL functions:
* use_vcar(): to manage and use the carray extension;
* value_of(): to inspect and use any container;
* tree_of(): to inspect a record’s tree on the fly;
tree_of* type_of(): data value of a type-field in a symbol;
* prop_of(): data value of a property-field in a symbol;
* list_recs(): a better list_occs();
* clean(): unset some user defined execution modes and containers;
* get_mode(): print active execution mode;
* set_mode(): set active execution mode (e.g. ‘full’ for more output);

send_table
send_table()’s output (thru libfmt)

* xelect: this replacement for ‘select’ as first word of an SQL request
allows to bypass the normal sql_steps execution mode and run
the inner mode sql_atonce instead; as a result extensions aren’t
available anymore  but several SQL statements can be treated at once.
xelect

 

Future developments:
– use tuples
– use wstrings
– import/export to JSON objects and files
– simplify formats

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s