Releases: RyanSquared/fusionscript
Releases · RyanSquared/fusionscript
FusionScript 0.3.2 [Alpha] - Linting!
Note: This version is marked as a pre-release. The code is stable, but it will not be released as a complete version; instead, version 0.4 will be coming out with some backwards-incompatible changes.
New Features
fusion.util
is a new module, with a version-independentunpack()
functionfusion-lint
is a new program to print a quickfix-format list of errors
Changed Features
- Use
serpent
library instead ofpenlight
forfusion-ast
.
Bug Fixes
- All modules now use
fusion.util
for theunpack()
function - The
parser
e module now properly prints out the character before a required semicolon - Remove .vimrc due to incompatibility with versions lower than Vim 8
- Remove files that no longer serve a purpose
To view changes:
git fetch
git log --oneline v0.3.1..v0.3.2-alpha
git show --reverse v0.3.1..v0.3.2-alpha
FusionScript 0.3.1 - Bug Fixes
New Features
- The
fusion-source
runtime (currently the default) automatically injects syntax extensions- If you're not compiling to Lua, this means you can leave out
using
statements
- If you're not compiling to Lua, this means you can leave out
- Methods can be chained
x():y().z()
Changed Features
- The
object:method<Class>
syntax has the<Class>
section removed - Functions used as generators (
print(x in y);
) are now removed- This, "unfortunately", had to be done because chaining and generators... Nope.
Bug Fixes
- AST errors give a more accurate error (including the node itself)
mpeterv/argparse
is now used instead of manually parsing flags
To view changes:
git fetch
git log v0.3.0..v0.3.1
git diff v0.3.0 v0.3.1
FusionScript 0.3.0
New Features
- Local
interface
s luacheck
0.19 compatibility- Local variables without assignment (
local (a, b...)
)
Changed Features
- Change
parsers/*
tocompilers/*
andlexer
toparser
- Make lambdas use
expression_list / statement_block
\x-> y()
now works\x-> if x y();
does not\x-> {if x y();}
still works
Bug Fixes
- Make
.topics/FusionScript.md
a symlink - Moved module loading down so modules aren't reloaded if loaded already
- Added nonendorsement clause and update year in license
To view changes:
git fetch
git log v0.2.1..v0.3.0
git diff v0.2.1 v0.3.0