Releases: actonlang/acton
Releases · actonlang/acton
v0.5.1
Fixed
- v0.5.0 was released with an incorrect version number and would identify itself
as version v0.4.2
v0.5.0
Added
- The distributed database backend is enabled in the RTS
- this was previously a build time flag
- it is now run time configuration via
--rts-ddb-host
and--rts-ddb-port
- see
examples/count
for a demo and instructions
- RTS now has a
--rts-verbose
argument to make it more chatty - General evaluation of expressions in a boolean context
- explicit boolean expressions were already supported and working
- however, in Python any expression can be evaluated in a boolean context
which was not properly supported... and it now is! - this could be considered a bug fix, like it should go under "Fixed" but it
is big enough of a thing to warrant being here... almost like new
functionality, although we probably did intend to support this all along
- Description of development workflow, see docs/development_workflow.md
- A short guide on how to wrap C libraries for use in Acton, see
docs/wrapping_c_libraries.md time.time()
function- returns the current system time in nanoseconds as an integer
time
is a new module
random.randint()
functionrandom
is a new module
acton.rts.sleep()
function- from a user perspective acts just like Pythons
time.sleep()
- it uses
usleep
in C which means it actually sleeps the RTS thread
executing the actor- this is typically a bad thing - we just want to sleep an actor, not the
RTS thread - there are however use cases, like when implementing benchmarking or
similar. - this is why it is under
acton.rts
and not intime
- this is typically a bad thing - we just want to sleep an actor, not the
acton.rts
is a new module
- from a user perspective acts just like Pythons
Changed
- Refactored Makefile structure to complete DAG
- use a single top level Makefile rather than recursive Makefiles
- only matters if you are doing development on Acton itself
- backend, being enough of a standalone piece, still has its own Makefile
actonc --hgen
andactonc --cgen
now outputs only code- easier to pipe directly to a file
- compilation command not included, now available with
actonc --ccmd
actonc
argument--path
is now called--syspath
- it is the system path and was already referred to as
syspath
internally
- it is the system path and was already referred to as
- The build output, when building Acton itself, is now placed in
dist
- makes it considerably easier to produce a release by tarring up its content
- release size has been reduced to almost half by avoiding unnecessary files
- the top level directories, like
modules
is now a source directory and no
longer "the working directory ofactonc
"
- Source code of several modules have been moved from separate subdirs, like
math
andtime
, intomodules/
. Less top level clutter!
Fixed
- Improved dependency declaration for backend
- Only matters if you are building Acton yourself and making changes to the
backend database
- Only matters if you are building Acton yourself and making changes to the
v0.4.2
Added
tip
releases are now available at stable URLs:
Fixed
- versioned releases now use correct version number, like
0.4.1
rather than
the version style used fortip
releases which include the date & time, like
0.4.1.2021.08.05.12.15.37
- tip release tar balls now reflect the full tip version in the filename
- like
acton-linux-x86_64-0.4.1.20210805.13.46.55.tar.bz2
- previously, it would just be
acton-linux-x86_64-0.4.1.tar.bz2
, making it
difficult to differentiate against the proper 0.4.1 or other nightlies
- like
v0.4.1
Added
--version --verbose
will print verbose version information- internal compiler errors now include information about the C compiler (cc)
- Acton is now made available as GitHub Releases
- pre-built binary releases! Users no longer need to compile Acton themselves
- available from Releases page
- versioned releases, like this v0.4.1, are available
- latest build from
main
branch is available astip
Fixed
- integer subtraction has been fixed
- wrong order of operators would previously return wildly incorrect results
v0.4.0
Added
- Linux compatibility!
- it is now possible to compile the Acton compiler (actonc), the backend and
the RTS on Linux - actonc can now compile Acton programs on Linux
- Linux on x86_64 is tested, no other architectures
- libkqueue is used on Linux as a compatibility shim between kqueue calls and
epoll- Acton was initially developed on OS X and the RTS therefore uses kqueue
and not epoll / aio(uring)
- Acton was initially developed on OS X and the RTS therefore uses kqueue
- it is now possible to compile the Acton compiler (actonc), the backend and
- More test cases, in particular the ones for which we have GitHub issues opened
- CI runs on Linux too
- acton is built and tested on both Linux and OS X
- all tests are the same across both platforms
actonc
has got a--version
argument
Changed
- Now uses Haskell lts-17.14 instead of lts-13.0
Removed
- The project repository has been cleaned up overall
Fixed
actonc
now detects and reports internal compiler errors- happens when gcc fails to compile the C code that actonc generates
- A bunch of compiler surprises have been made less surprising
- see git log for details ;)