Additions
-
Introducing a new data type:
userdata
. It is designed to store data from console results and can be utilized by$io:popen
. -
Added a novel mode for user input:
%a
. This mode facilitates reading all user input until the end of the file (EOF) is reached. -
Introduced a new method:
$utils:spawn
. This method allows delaying the execution of agroup
until the program has completed its execution. -
Added a new library:
os
. This library provides a portable way of utilizing operating system-dependent functionality. -
Implemented an overflow error mechanism to handle situations where a table or object exceeds the system's capacity.
-
Introduced a memory error mechanism to address cases where a table or object becomes too heavy for the available memory.
-
Added a new flag to the command environment:
--version
. Users can now check the current version of Prolix with this flag. -
Implemented a new EOF error mechanism. The interpreter will now handle special characters in user input (e.g.,
^Z
) by triggering an EOF error. -
Added a package manager to facilitate the installation and creation of modules in collaboration with the community.
Changes
-
Objects can now be written without spaces. For example, "
$ myObject
" is now an accepted format. -
Adjusted the object ID range to be from 0x100000 to 0xffffff.
-
$io:open
will now create a new file if the specified file does not exist. -
Updated the module import
require
statement. It can now be an identifier instead of a string path, providing a more straightforward syntax.
Fixes
-
Negative numbers will now produce an error if the value is "-".
-
The special attribute
__index__
will no longer initialize class attributes. -
Resolved issues with the
math
module. Methods that do not exist will now generate errors. -
Floating-point number calculations have been fixed. For example,
0.1 + 0.2 = 0.30000000000000004
. -
Removed a supposedly working-class class for the
math
class to prevent math domain errors (e.g.,math_edit
,_math_edit
, etc.). -
Resolved an issue with method arguments. The conversion of
GArray
from C totable
in Prolix now works correctly. -
The
require
statement can now import modules from both executable paths and file paths. -
Class attribute values can now be a table.
-
An empty
group
will now be ignored instead of performing no action. -
Setting type
group
to an object attribute or table (array) will now throw an unknown error, causing an End of Expression (EOE). -
Fixed the interpreter traceback log and resolved the loop recursion bug.
-
$utils:tick
is now more accurate in measuring time. -
When the program completes and exits, it will return code 1 instead, preventing the program from encountering a return error in C.
-
System global objects are currently accessible but not editable in the class's
group
type. -
Prolix's execution speed has been upgraded and is approximately ~30% faster than the old version.
Did you find the error?
-
Join our community by clicking here.