https://github.com/helgee/erlangterm.jl
(De-)serialize Julia data in Erlang's external term format
https://github.com/helgee/erlangterm.jl
elixir erlang julia
Last synced: about 2 months ago
JSON representation
(De-)serialize Julia data in Erlang's external term format
- Host: GitHub
- URL: https://github.com/helgee/erlangterm.jl
- Owner: helgee
- License: other
- Created: 2019-02-10T15:31:08.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-06-24T14:23:26.000Z (over 4 years ago)
- Last Synced: 2025-08-30T15:39:30.669Z (2 months ago)
- Topics: elixir, erlang, julia
- Language: Julia
- Homepage:
- Size: 41 KB
- Stars: 6
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ErlangTerm
*(De-)serialize Julia data in Erlang's external term format*
[](https://github.com/helgee/ErlangTerm.jl/actions)
[](https://codecov.io/gh/helgee/ErlangTerm.jl)
**ErlangTerm.jl** teaches Julia to talk to BEAM-based languages (Erlang, Elixir, ...) in their native tongue,
the [Erlang external term format](http://erlang.org/doc/apps/erts/erl_ext_dist.html).
The following data types are supported:
- `Int` <-> `Integer`
- `Float64` <-> `Float`
- `Symbol` <-> `Atom`
- `Tuple` <-> `Tuple`
- `Array` <-> `List`
- `Dict` <-> `Map`
## Installation
The package can be installed through Julia's package manager:
```julia
julia> import Pkg; Pkg.add("ErlangTerm")
```
## Usage
```julia
using ErlangTerm
# Take a Julia data structure...
d = Dict(:erlang => Dict(:id => 1, :greeting => "Hello, Erlang!"),
:elixir => Dict(:id => 2, :greeting => "Hello, Elixir!"))
# ...serialize it...
binary = serialize(d)
# ...and deserialize it!
d1 = deserialize(binary)
```