Elixir

Software Screenshot:
Elixir
Software Details:
Version: 1.2.0 updated
Upload Date: 10 Feb 16
Developer: Jose Valim
Distribution Type: Freeware
Downloads: 33

Rating: 2.0/5 (Total Votes: 1)

Erlang is a general-purpose concurrent programming language designed by Ericsson's Computer Science Laboratory.

Elixir takes advantage of Erlang's features to create complex, dynamic, concurrent, scalable, fault-tolerant and distributed applications.

Elixir and Erlang are closely knit together and can easily be embedded in each other. This is because they share the same bytecode and data types.

What is new in this release:

  • Erlang 18 support
  • The addition of multi aliases/imports/require
  • Support for variables in map keys
  • Support for the pin operator in map keys and function clauses
  • Addition of the with special form to match on multiple expressions

What is new in version 1.0.5 / 1.1.0-beta:

  • Enhancements:
  • Added Logger.enable/1 and Logger.disable/1
  • Backwards incompatible changes:
  • No longer support {:swap_handler, ...} as callback return value
  • List.unzip/2 was removed

What is new in version 1.0.4:

  • Enhancements:
  • Added Logger.enable/1 and Logger.disable/1
  • Backwards incompatible changes:
  • No longer support {:swap_handler, ...} as callback return value
  • List.unzip/2 was removed

What is new in version 1.0.0:

  • Enhancements:
  • Added Logger.enable/1 and Logger.disable/1
  • Backwards incompatible changes:
  • No longer support {:swap_handler, ...} as callback return value
  • List.unzip/2 was removed

What is new in version 0.15.1:

  • Support `:ack` mode for GenEvent streams
  • Support `:base` option in `inspect/2` to choose the base (`:binary`, `:octal`, `:decimal` or `:hex`) numbers a printed
  • Print warnings when used ? with characters with escape codes
  • Add SASL log forwarding option to Logger
  • Add `$padlevel` to option Logger formatter
  • Backends receive the exact handler value when added, allowing a key to be passed for configuration lookup
  • Add `Logger.flush/0` to flush the Logger (useful for testing)
  • Persist backends dynamically added or removed via `add_backend/2` and `remove_backend/2`
  • Add `Macro.validate/1` to recursively check if a value is a valid quoted expression
  • Load mix deps only when there is a need to use them (this improves the timing for the majority of tasks in a Mix project)
  • Make the environment explicit on the success message generated after `escript.build` is invoked
  • Load `config/config.exs` inside escripts
  • Store and check Elixir version requirement for generated archives

What is new in version 0.14.3:

  • Support precision in `Float.ceil/1` and `Float.floor/1`
  • Added `IO.(bin)read(device, :all)`
  • Print a warning if a dangling `@doc` clause is found
  • Used absolute symbolic links on Windows for `_build` instead of copying
  • Added `Mix.compilers` that returns all default compilers used by mix tasks
  • Issue warning and reset mtime for source files from the future
  • Support task aliases in Mix
  • Added `OptionParser.split/1` that splits a string into argv
  • Allow a record to be converted to a keyword list with `record(some_record)`
  • Improved performance of `String.split/1`
  • Allow `%Struct{}` syntax to be used in typespecs
  • Allow `record(:record, fields)` syntax to be used in typespecs

What is new in version 0.14.0:

  • Enhancements:
  • Added `on_exit/1` callbacks that are guaranteed to run once the test process exits and always in another process
  • Store documentation in the abstract code to avoid loading them when the module is loaded
  • Added `get_in/2`, `put_in/3`, `update_in/3` and `get_and_update_in/3` to handle nested data structure operations
  • Added `get_in/1`, `put_in/2`, `update_in/2` and `get_and_update_in/2` to handle nested data structure operations via paths
  • Added `Mix.Config` to ease definition of configuration files
  • Added `mix loadconfig` task that can be called multiple times to load external configs
  • Support `--config` option on `mix run`
  • Support `HTTP_PROXY` and `HTTPS_PROXY` on Mix url commands
  • Support `--names` options in `mix help` which emit only names (useful for autocompletion)
  • Added `Protocol.consolidate/2`, `Protocol.consolidated?/1` and a `mix compile.protocols` task for protocol consolidation
  • Added `Protocol.derive/3` for runtime deriving of a struct
  • Added `String.chunk/2`
  • Added support for `@derive` before `defstruct/2` definitions
  • Bug fixes:
  • `File.rm` now consistently deletes read-only across operating systems
  • Ensure Mix `_build` structure works on Windows when copying projects
  • Ensure `1.0E10` (with uppercase E) is also valid syntax
  • Fixed `mix do` task for Windows' powershell users
  • Fixed `Path.absname("/")` and `Path.expand("/")` to return the absolute path `"/"`.

What is new in version 0.13.0:

  • Enhancements:
  • Added `Base` module which does conversions to bases 16, 32, hex32, 64 and url64
  • Added `Code.eval_file/2`
  • Added the `Collectable` protocol that empowers `Enum.into/2` and `Stream.into/2` and the `:into` option in comprehensions
  • Implemented `Collectable` for lists, dicts, bitstrings, functions and provide both `File.Stream` and `IO.Stream`
  • Added `handle_body/1` callback to `EEx.Engine`
  • Added `Enum.group_by/2`, `Enum.into/2`, `Enum.into/3`, `Enum.traverse/2` and `Enum.sum/2`
  • Randomize cases and tests suite runs, allow seed configuration and the `--seed` flag via `mix test`
  • Support `ERL_PATH` in `bin/elixir`
  • Support interpolation in keyword syntax
  • Added a Map module and support 17.0 maps and structs
  • Added dependency option `:only` to specify the dependency environment. `mix deps.get` and `mix deps.update` works accross all environment unless `--only` is specified
  • Added `Mix.Shell.prompt/1`
  • Ensure the project is compiled in case Mix' CLI cannot find a task
  • Added `Node.ping/1`
  • Bug fixes:
  • Ensure `--app` is handled as an atom before processing
  • Ensure `ExUnit.Assertions` does not emit compiler warnings for `assert_receive`
  • Ensure the same pid is not queued twice in the parallel compiler
  • `Macro.to_string/2` considers proper precedence when translating `!(foo > bar)` into a string
  • Automatically recompile on outdated Elixir version and show proper error messages
  • Ensure generated `.app` file includes core dependencies
  • Allow a dependency with no SCM to be overridden

What is new in version 0.12.4:

  • `mix deps.get` and `mix deps.update` no longer compile dependencies afterwards.

What is new in version 0.12.2:

  • Added Stream.transform/3
  • Added Enum.flat_map_reduce/3
  • Support @moduletag in ExUnit cases
  • Improved stacktraces to be relative to the compilation path and include the related application
  • Allow EEx.AssignsEngine to accept any Dict

What is new in version 0.12.1:

  • Support `:include` and `:exclude` configuration options to filter which tests should run based on their tags. Those options are also supported via `mix test` as `--include` and `--exclude`
  • Allow doctests to match against `#MyModule<>`

What is new in version 0.12.0:

  • Allow exception/1 to be overriden and promote it as the main mechanism to customize exceptions
  • Added File.stream_to!/3
  • Added Float.floor/1, Float.ceil/1 and Float.round/3
  • Added List.delete_at/2 and List.updated_at/3
  • Added Enum.reverse/2
  • Implement defmodule/2, @/1, def/2 and friends in Elixir itself. case/2, try/2 and receive/1 have been made special forms. var!/1, var!/2 and alias!/1 have also been implemented in Elixir and demoted from special forms
  • Support dynamic fields in defrecordp
  • Added Stream.resource/3

Similar Software

IronPython
IronPython

1 Mar 15

Theory
Theory

14 Apr 15

withrestart
withrestart

28 Feb 15

Py4J
Py4J

14 May 15

Comments to Elixir

Comments not found
Add Comment
Turn on images!