Skip to content

Latest commit

 

History

History
177 lines (132 loc) · 5.23 KB

changelog.org

File metadata and controls

177 lines (132 loc) · 5.23 KB

Changelog for the Eden Scripting Language

1 0.9.0 (Multi Platform Release)

  • 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!")
    
        

2 0.8.0 (First Release)

  • 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.

3 0.7.0 (BETA SNAPSHOT)

  • 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.

4 0.6.0 (BETA SNAPSHOT)

  • Added css library under html.css, which is wrapped hiccup 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

5 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 a popular string library

6 0.4.0 (BETA SNAPSHOT)

  • 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

7 0.3.0 (BETA SNAPSHOT)

  • Added several more unit tests for the language standard
  • Added string module, which is a direct of clojure.string
  • Fixed edn module, which includes the functions edn.parse and edn.stringify
  • Improved Parser Error Messages, still requires work

8 0.2.0 (BETA SNAPSHOT)

  • Added native build scripts for GraalVM, along with scripts for building .deb packages and .rpm packages
  • Tested on Ubuntu 17.10, with debian package created.

9 0.1.0 (BETA SNAPSHOT)

  • First Beta Version of Eden