Releases: benzap/eden
Version 0.9.0
Added repl, which is opened by running eden without any parameters
$ eden
Eden Repl
'help' for Help Message,
'exit' to Exit.
> println("Hello World!")
Hello World!
nil
> x = 10
> x
10
Added ‘-i’ flag to eden commandline execution to pass in standard input
$ echo "Hello World" | eden -ie system.in
Hello World!
Transit Libraries have been fixed
transit.stringify and transit.parse can be used create and export transit JSON strings.
Http Client library fixed by using clj-http-lite
New functions in http.client variable
http.client.get("http://google.com") ;; returns a Response map
Added Markdown Library
markdown.stringify("# Test") ;; <h1>Test</h1>
Added threading and promise libraries
local f = thread.future(function()
println(str("Hello from " thread.id() "!"))
print("Waiting")
for i in range(5) do
thread.sleep(500)
print(".")
end
println("Done")
end)
println("Started!")
deref(f)
println("Finished!")
Version 0.8.0 (First Release)
-
Module System is now working. Module paths on windows are supplied
within the Environment VariableEDEN_MODULE_PATH
as semi-colon
separated directory paths, with later entries taking precedence
in module resolution. Similarly, linux can include paths in the
EDEN_MODULE_PATH
, but they must be colon separated.On linux, eden will attempt to find modules in
/usr/share/eden/libs and ~/.eden/libsOn windows, it will only attempt to find modules in ~/.eden/libs
-
Improved Commandline. Included commandline argument
-m, --modulepath
which takes a (semi-colon separated /
colon-separated) path listing which will be included in the module
path resolution. -
Commandline also includes
-v, --verbose
which can be used to turn
on more verbose error messages. Error messages are now less
verbose by default. When enabled, it will also display the Module
Paths that are currently active. -
Slight improvements to error messages. They will now display which
file the error occured in.
Version 0.7.0-SNAPSHOT (beta)
- Added transit library under transit, which is a wrapped
transit-clj library - Added clojure.java.io under io
- Changed how the parser associates getters and function calls to
only target identifers (variables) and anonymous functions
(function() ... end). This was done to mitigate issues with
collection literals getting confused with functions calls and
getters. This also likely means that metafunctions will never
happen.
Version 0.6.0-SNAPSHOT (beta)
- Added css library under html.css, which is wrapped garden library
- Added http client and server, which is http://http-kit.org
- Added routing library, which is bidi
- Example of http server in ./examples/bidi/http_server.eden
Version 0.5.0-SNAPSHOT (beta)
- 0.5.0 (BETA SNAPSHOT)
-
Added json library, which is a wrapped
popular json library -
Added specter library for data manipulation under the global $
ie.$.setval(vector(:a $.END) vector(4 5) {:a [1 2 3]})
-
Added hiccup and hickory libraries for html parsing and generation
ie.html.stringify([:a "test"])
ie.html.parse("<a>test</a>")
-
Added
iterate
,add-watch
,remove-watch
-
Added
system.env(name)
to get Environment Variables -
Added
system.get-globals
to get global variables
programmatically -
Added
system.set-global(name value)
to set global variables -
Improved Runtime Errors
-
Replaced clojure.string library with cuerdas
-
Version 0.4.0-SNAPSHOT (beta)
- Added support for ‘elseif’ keyword
ex.function check-age(age) if age < 18 then println("Under-age") elseif age >= 18 and age < 50 then println("Average-age") else println("Senior-age") end end check-age(16) check-age(19) check-age(55)
- Improved Error Handling
Version 0.3.0-SNAPSHOT (beta)
- Added several more unit tests for the language standard
- Added string module, which is a direct match of functionality to clojure.string
- Fixed edn module, which includes the functions edn.parse and edn.stringify
- Improved Parser Error Messages, still requires work
Version 0.2.0-SNAPSHOT (beta)
- Includes native executable for debian and rpm-based systems, also includes an uberjar for windows users