
The standard library has expanded and had existing pieces improved, and now includes:
- a high efficiency JSON parser using the standard arena allocator
- a dotenv library written by Flux’s second contributor ever, thanks to reinitd on GitHub
- a cryptography library covering MD5, SHA 256 & 384 (512 inbound soon), x25519, AES 128 & GCM
- a discrete and fast Fourier transformation library
- a function detouring & trampolining library
- a dynamic array and hash map added to the collections library
- a ray tracing library
- a soft and hard body physics library
- major improvements to the standard heap allocator
Keywords added to the language:
- defer
- deprecate
- jump
- goto & label
There is now also a minimal package manager available and actively being improved, with the ability to publish packages coming soon.
Upgrades to the compiler:
- bit slicing of any type or value
- ability to take the address of all literal types
- ability to give function names with arbitrary bytes, allowing the embedding of machine code in the symbol table for obfuscation
- ability to use f-strings as function names to dynamically generate function names at compile time
- added the not null !? boolean postfix unary operator, can be used on pointers or values
- added the address assign @= operator, used like ptr @= var
- ownership and moving are now fully working as intended, providing good errors with correction feedback so you know exactly what to fix.
Fixes to the compiler:
- if(ptr) now emitting correct IR
- all locations boolean checking for null pointer also fixed
- fixed singular if expressions with no else clause, print(“hi”) if (x < 5); working
u/FluxProgrammingLang — 19 days ago