All Projects → mirage → Encore

mirage / Encore

Licence: mit
Synonym of angkor

Programming Languages

ocaml
1615 projects

Projects that are alternatives of or similar to Encore

Flask Session Cookie Manager
🍪 Flask Session Cookie Decoder/Encoder
Stars: ✭ 257 (+1252.63%)
Mutual labels:  decoder, encoder
Tiny Utf8
Unicode (UTF-8) capable std::string
Stars: ✭ 322 (+1594.74%)
Mutual labels:  decoder, encoder
He
A robust HTML entity encoder/decoder written in JavaScript.
Stars: ✭ 2,973 (+15547.37%)
Mutual labels:  decoder, encoder
schifra
C++ Reed Solomon Error Correcting Library https://www.schifra.com
Stars: ✭ 28 (+47.37%)
Mutual labels:  encoder, decoder
Utf8.js
A robust JavaScript implementation of a UTF-8 encoder/decoder, as defined by the Encoding Standard.
Stars: ✭ 449 (+2263.16%)
Mutual labels:  decoder, encoder
AnimatedGif
📼 A high performance .NET library for reading and creating animated GIFs
Stars: ✭ 106 (+457.89%)
Mutual labels:  encoder, decoder
Ultrajson
Ultra fast JSON decoder and encoder written in C with Python bindings
Stars: ✭ 3,504 (+18342.11%)
Mutual labels:  decoder, encoder
fadec
A fast and lightweight decoder for x86 and x86-64 and encoder for x86-64.
Stars: ✭ 44 (+131.58%)
Mutual labels:  encoder, decoder
Json Rust
JSON implementation in Rust
Stars: ✭ 395 (+1978.95%)
Mutual labels:  decoder, encoder
Ffmpegcommand
FFmpegCommand适用于Android的FFmpeg命令库,实现了对音视频相关的处理,能够快速的处理音视频,大概功能包括:音视频剪切,音视频转码,音视频解码原始数据,音视频编码,视频转图片或gif,视频添加水印,多画面拼接,音频混音,视频亮度和对比度,音频淡入和淡出效果等
Stars: ✭ 394 (+1973.68%)
Mutual labels:  decoder, encoder
morse-pro
Library for manipulating Morse code text and sound. Understands prosigns and Farnsworth speed. Can create WAV files and analyse input from the microphone or audio files.
Stars: ✭ 85 (+347.37%)
Mutual labels:  encoder, decoder
Paseto
Platform-Agnostic Security Tokens implementation in GO (Golang)
Stars: ✭ 461 (+2326.32%)
Mutual labels:  decoder, encoder
android-opus-codec
Implementation of Opus encoder and decoder in C++ for android with JNI
Stars: ✭ 44 (+131.58%)
Mutual labels:  encoder, decoder
IkigaJSON
A high performance JSON library in Swift
Stars: ✭ 316 (+1563.16%)
Mutual labels:  encoder, decoder
aiff
Battle tested aiff decoder/encoder
Stars: ✭ 20 (+5.26%)
Mutual labels:  encoder, decoder
Keras Transformer
Transformer implemented in Keras
Stars: ✭ 273 (+1336.84%)
Mutual labels:  decoder, encoder
audio
Audio support for Go language.
Stars: ✭ 62 (+226.32%)
Mutual labels:  encoder, decoder
pytextcodifier
📦 Turn your text files into codified images or your codified images into text files.
Stars: ✭ 14 (-26.32%)
Mutual labels:  encoder, decoder
Flif
Free Lossless Image Format
Stars: ✭ 3,668 (+19205.26%)
Mutual labels:  decoder, encoder
Xmlcoder
Easy XML parsing using Codable protocols in Swift
Stars: ✭ 460 (+2321.05%)
Mutual labels:  decoder, encoder

Encore

serializer / deserializer

The goal of encore is to provide a way to express a format. From it, the user is able to make an angstrom's parser or a lavoisier's encoder. It wants to ensure isomorphism:

type v

let t : v Encore.t = ...
let decoder = Encore.to_angstrom t
let encoder = Encore.to_lavoisier t

let assert random_v =
  let str = Encore.Lavoisier.emit_string random_v encoder in
  let v'  = Angstrom.parse_string decoder str in
  assert (v = v')

How to install?

encore requires OCaml 4.07 and it is available with OPAM:

$ opam install encore

It can be compiled with js_of_ocaml.

Documentation

A documentation is available here to explain how to properly use encore. Some examples of encore exists into ocaml-git.

Inspirations

This project is inspired by the finale project which is focused on a pretty-printer at the end. Encore is close to provide a low-level encoder like faraday than a generator of a pretty-printer.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].