Skip to content

Releases: benzap/eden

Version 0.9.0

25 Nov 03:52
Compare
Choose a tag to compare

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)

10 Aug 15:53
Compare
Choose a tag to compare
  • Module System is now working. Module paths on windows are supplied
    within the Environment Variable EDEN_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/libs

    On 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)

10 Aug 07:42
Compare
Choose a tag to compare
  • 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)

09 Aug 17:31
Compare
Choose a tag to compare
  • 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)

07 Aug 13:03
Compare
Choose a tag to compare
  • 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)

06 Aug 15:48
Compare
Choose a tag to compare
  • 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)

04 Aug 00:42
Compare
Choose a tag to compare
  • 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)

31 Jul 10:50
Compare
Choose a tag to compare
  • Includes native executable for debian and rpm-based systems, also includes an uberjar for windows users