-
A large increase in both the quality and the quantity of documentation
-
Numerous bug fixes to the compiler
-
any
andall
functions added to joxa-lists -
joxa-otp/behaviour!
now correctly checks for a behaviour implementation. -
Joxa now contains a built in concurrent compiler for multiple file compilation. This correctly does dependency ordering within the available files.
-
Added the
:joxify
keyword to bothrequire
anduse
namespace clause. This alias functions that contain '_' to contain '-' instead. So for example(require (proplists :joxify))
would makeproplists/get_value
available asproplists/get-value
as well. While(use (proplists :joxify :only (get-value/2)))
would allowget-value
to be used directly instead ofget_value
. -
The
use
clause for namespaces no longer supports:as
-
You may now use docstrings in functions. They are not yet available at runtime but should be in a future release.
-
Complex
use
clauses should now behave in a less surprising way. -
All non-matching special forms in the compiler now have a
*
prefix. For example the non-matching primitivelet
is nowlet*
. This allows macro based matching forms to use those names in use clauses. -
Much better error reporting for macro failures
-
Joxa now uses rebar and can be a dependency in rebar projects
-
Empty top level forms, ie
(do ())
and()
are now supported (and ignored). This allows macros to exist as check functions that do not generate code. -
Packages have been removed from Joxa
-
The joxa command now supports
--pa
and--pz
-
defspec
can now be declared for remote namespaces. This allows for mutually recursive modules in joxa. -
You may no longer embed
spec
information directly in the function declaration. -
Vastly simplified the bootstrap procedure for Joxa developers.
-
Modules are no longer supported in Joxa. Instead
namespaces
using the keywordns
are supported. for example(module my-foo (require erlang))
becomes(ns my-foo (require erlang))
. -
Multiple namespaces may exist in the same file.
-
Emacs mode is slightly more accurate in syntax highlighting
-
Joxa now supports
(attr pragma native)
as a module attribute. This allows the module implementor to indicate his knowledge that the module would do well hipe compiled. -
Joxa now supports aggressive inlining. Finally
definline
is fully respected and other inlining and optimization opportunities are taken as they are found. It is now recommended that Joxa only be run on ERTS 5.9 or greater (for line numbers).
Created
July 4, 2012 23:04
-
-
Save ericbmerritt/3049977 to your computer and use it in GitHub Desktop.
Joxa 0.1.0 ChangeLog
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment