config-value alternatives and similar packages
Based on the "Language" category.
Alternatively, view config-value alternatives based on common mentions on social networks and blogs.
-
elm-compiler
Compiler for Elm, a functional language for reliable webapps. -
purescript
A strongly-typed language that compiles to JavaScript -
stylish-haskell
Haskell code prettifier [Moved to: https://github.com/haskell/stylish-haskell] -
haskell-src-exts
Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer -
haskell-tools-ast-fromghc
Developer tools for Haskell -
liquid-fixpoint
Horn Clause Constraint Solving for Liquid Types -
language-python
A parser for Python 2.x and 3.x written in Haskell -
elm-export
Create Elm types and JSON decoders from Haskell source. -
nirum
Nirum: IDL compiler and RPC/distributed object framework for microservices -
tal
An implementation of Typed Assembly Language (Morrisett, Walker, Crary, Glew) -
shentong
A Haskell implementation of the Shen programming language. -
camfort
Light-weight verification and transformation tools for Fortran -
language-c-quote
C/CUDA/OpenCL/Objective-C quasiquoting library. -
language-ecmascript
Haskell library: ECMAScript parser, pretty-printer and additional tools -
ministg
Ministg is an interpreter for a high-level, small-step, operational semantics for the STG machine. -
aterm-utils
Utility functions for working with aterms as generated by Minitermite
Learn any GitHub repo in 59 seconds
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of config-value or a related project?
README
config-value
This package implements a simple, layout-based value definition language used for supplying configuration values to various applications.
Before starting to use config-value, you probably want to read the documentation for config-schema to see the user-friendly way to wrap this library.
Live Demo
The config-value and config-schema packages are available in a live demo.
Example
-- Line comments until newline
layout:
based:
configuration:
{} -- empty section
inline-maps: {key1: value1, key2: value2}
sections:
"glguy"
{- Block comments
{- nested comments -}
"O'caml style {- strings in comments"
so you can comment out otherwise valid
portions of your config
-}
atoms: yes
decimal: -1234
hexadecimal: 0x1234
octal: 0o1234
binary: 0b1010
floats: [1e2, 0x3p-5, 24.48]
underscores: 1_000_000
lists:
* sections: in-lists
next-section: still-in-list
* [ "inline", "lists" ]
* * "nestable"
* "layout"
* "lists"
* 3
unicode: "standard Haskell format strings (1 ≤ 2)x2228(2 ≤ 3)"
multiline: "haskell style\
\string gaps"
Format
The language supports: Strings, Atoms, Integers, Lists, Nested Sections.
Sections are layout based. The contents of a section must be indented further than the section heading.
The whitespace between a section heading and its colon is not significant. Section names must start with
a letter and may contain letters, numbers, dashes (-
), underscores (_
), and periods (.
).
Lists are either layout based with *
prefixes or inline surrounded by [
and ]
delimited by ,
Strings are surrounded by "
and use Haskell-style escapes.
Numbers support decimal, hexadecimal (0x
), octal (0o
), and binary (0b
).
Atoms follow the same lexical rule as section heading.