[erlang-questions] ANN: yamerl - YAML parser in pure Erlang

Jean-Sébastien Pédron <>
Mon Dec 17 15:13:15 CET 2012


Hi all,

I'm pleased to release yamerl, our YAML parser, written in pure Erlang
(no port driver or NIF).

This parser supports YAML 1.1 and YAML 1.2, as well as JSON. The code,
documentation and testsuite are available on GitHub:
  https://github.com/yakaz/yamerl

Here are some of its features:
    o  Support for stream parsing.
    o  Support for YAML 1.2. This version isn't widely supported in
       other libraries/languages. Compared to 1.1, it mostly brings
       official support of JSON as a subset to YAML and several
       "bugfixes".
    o  Erlang atom node type. It supports options to autodetect atoms
       and to use list_to_existing_atom/1. Autodetection differs from
       yamler[1]'s behavior: single-quoted scalar are not implicitly
       converted to atoms, because, from my understanding, it breaks
       the YAML specifications.
    o  Erlang fun() node type.

Compared to yamler[1], which uses a NIF above libyaml, yamerl has the
common advantages and caveats we find in native-code-based vs.
pure-erlang-based implementations:
    o  yamerl is slower than yamler.
    o  yamerl may scale better (though I never verified this).
    o  yamerl won't take down the whole VM because of a crash.

Everything is distributed under the terms of the 2-clause BSD license.

[1] yamler: https://github.com/goertzenator/yamler

-- 
Jean-Sébastien Pédron
Yakaz - http://www.yakaz.com/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 259 bytes
Desc: OpenPGP digital signature
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121217/4ef71335/attachment.bin>


More information about the erlang-questions mailing list