I'm pleased to announce an application for loading YAML files into
Erlang. This implementation supports:
- Detailed errors on yaml load failures (line, column, reason)
- Anchors and aliases
- Merge tags
- The tag !atom for explicitely tagging values as atoms.
- An implicit_atoms mode to interpret values that look atom-ish as atoms.
- Customizable schemas via callback modules.
- Loading only, but perhaps it will also emit YAML in the future.
This application embeds the C yaml parser "libyaml" which is compiled as a NIF.
For those unfamiliar with YAML, it is similar to JSON with a strong
focus on human readability and writeability. If you need to type in
lots of structured data, YAML is a decent choice.
> I'm pleased to announce an application for loading YAML files into > Erlang. This implementation supports:
> - Detailed errors on yaml load failures (line, column, reason) > - Anchors and aliases > - Merge tags > - The tag !atom for explicitely tagging values as atoms. > - An implicit_atoms mode to interpret values that look atom-ish as atoms. > - Customizable schemas via callback modules. > - Loading only, but perhaps it will also emit YAML in the future.
> This application embeds the C yaml parser "libyaml" which is compiled as a NIF.
> For those unfamiliar with YAML, it is similar to JSON with a strong > focus on human readability and writeability. If you need to type in > lots of structured data, YAML is a decent choice.
You're right, that's a terrible name for this project. I wanted the
main module to be "yaml" but that doesn't mean the application or
project has to be called that. This project is now at:
Apologies for those who already watched or forked.
Regarding streaming, libyaml forced me to go with an all-at-once
approach. Erlang native processes would help overcome this, as would
a parser written in Erlang.
<paperl...@timmcnamara.co.nz> wrote:
> This is really great. Having an Erlang implementation is excellent.
> Strongly suggest changing the project name from "yaml" though.
> YAML does have a few (IMO) advantages over JSON apart from readability:
> - comment syntax
> - named entities
> - supports streaming more easily*
> * Although it looks like yaml:load_file/1 loads everything into memory.
> On 24 May 2012 15:31, Daniel Goertzen <daniel.goert...@gmail.com> wrote:
>> I'm pleased to announce an application for loading YAML files into
>> Erlang. This implementation supports:
>> - Detailed errors on yaml load failures (line, column, reason)
>> - Anchors and aliases
>> - Merge tags
>> - The tag !atom for explicitely tagging values as atoms.
>> - An implicit_atoms mode to interpret values that look atom-ish as atoms.
>> - Customizable schemas via callback modules.
>> - Loading only, but perhaps it will also emit YAML in the future.
>> This application embeds the C yaml parser "libyaml" which is compiled as a NIF.
>> For those unfamiliar with YAML, it is similar to JSON with a strong
>> focus on human readability and writeability. If you need to type in
>> lots of structured data, YAML is a decent choice.
-- Daniel Goertzen | Senior Software Engineer
Office: 828.610.4596 | Fax: 828.322.5294 | d...@networkintegritysystems.com
Network Integrity Systems | We Bring Security To Light™
1937 Tate Blvd. SE
Hickory, North Carolina, USA 28602
Network Integrity Systems’ INTERCEPTOR™ Optical Network Security
System is a Smart-PDS™ that ensures superior protection and cost
effectiveness of classified networks. For more information, visit our
website at:www.networkintegritysystems.com.
__________________________________________
INTERCEPTOR™ Optical Network Security System is made in the USA for
the USA. Although not an export controlled item, because of the role
it plays in the assurance of the safety and integrity of National
Security Information, Network Integrity Systems (NIS) is committed to
compliance with the U.S. Export Administration Act. Accordingly, NIS
will not ship INTERCEPTOR products to certain foreign government end
users without U.S. government approval and will refuse transactions
with individuals or entities that have been denied export privileges.
_______________________________________________
erlang-questions mailing list
erlang-questi...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
I'm afraid people using Go programming language will be stumbling upon your project now :) _______________________________________________ erlang-questions mailing list erlang-questi...@erlang.org http://erlang.org/mailman/listinfo/erlang-questions
On Thu, May 24, 2012 at 10:46 PM, Gleb Peregud <glebe...@gmail.com> wrote:
> On Thu, May 24, 2012 at 3:42 PM, Daniel Goertzen
> <d...@networkintegritysystems.com> wrote:
>> You're right, that's a terrible name for this project. This project is now at:
> I'm afraid people using Go programming language will be stumbling upon
> your project now :)
> _______________________________________________
> erlang-questions mailing list
> erlang-questi...@erlang.org
> http://erlang.org/mailman/listinfo/erlang-questions
> On Thu, May 24, 2012 at 10:46 PM, Gleb Peregud <glebe...@gmail.com> wrote:
>> On Thu, May 24, 2012 at 3:42 PM, Daniel Goertzen
>> <d...@networkintegritysystems.com> wrote:
>>> You're right, that's a terrible name for this project. This project is now at:
>> I'm afraid people using Go programming language will be stumbling upon
>> your project now :)
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questi...@erlang.org
>> http://erlang.org/mailman/listinfo/erlang-questions > _______________________________________________
> erlang-questions mailing list
> erlang-questi...@erlang.org
> http://erlang.org/mailman/listinfo/erlang-questions
> On 25.05.2012, at 9:27, Michael Turner <michael.eugene.tur...@gmail.com> wrote:
>> Then ... "yamerl"?
>> -michael turner
>> On Thu, May 24, 2012 at 10:46 PM, Gleb Peregud <glebe...@gmail.com> wrote:
>>> On Thu, May 24, 2012 at 3:42 PM, Daniel Goertzen
>>> <d...@networkintegritysystems.com> wrote:
>>>> You're right, that's a terrible name for this project. This project is now at:
>> On 25.05.2012, at 9:27, Michael Turner <michael.eugene.tur...@gmail.com> wrote:
>>> Then ... "yamerl"?
>>> -michael turner
>>> On Thu, May 24, 2012 at 10:46 PM, Gleb Peregud <glebe...@gmail.com> wrote:
>>>> On Thu, May 24, 2012 at 3:42 PM, Daniel Goertzen
>>>> <d...@networkintegritysystems.com> wrote:
>>>>> You're right, that's a terrible name for this project. This project is now at: