Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Concise Encoding

< >

Concise Encoding is a data notation created in 2018 by Karl Stenerud.

#679on PLDB 6Years Old
Download source code:
git clone https://github.com/kstenerud/concise-encoding
Homepage · Source Code

Concise Encoding gives you ease and efficiency with its 1:1 compatible text and binary formats.


Example from the web:
c1 { "boolean" = true "binary int" = -0b10001011 "octal int" = 0o644 "decimal int" = -10000000 "hex int" = 0xfffe0001 "very long int" = 100000000000000000000000000000000000009 "decimal float" = -14.125 "hex float" = 0x5.1ec4p+20 "very long flt" = 4.957234990634579394723460546348e+100000 "not-a-number" = nan "infinity" = inf "neg infinity" = -inf }
Example from the web:
c1 { "string" = "Strings support escape sequences: \n \t \+1f415." "url" = @"https://example.com/" "email" = @"mailto:me@somewhere.com" }
Example from the web:
c1 { "uuid" = f1ce4567-e89b-12d3-a456-426655440000 "date" = 2019-07-01 "time" = 18:04:00.948/Europe/Prague "timestamp" = 2010-07-15/13:28:15.415942344 "null" = null "media" = |m application/x-sh 23 21 2f 62 69 6e 2f 73 68 0a 0a 65 63 68 6f 20 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a| }
Example from the web:
c1 { "list" = [1 2.5 "a string"] "map" = {"one"=1 2="two" "today"=2020-09-10} "bytes" = |u8x 01 ff de ad be ef| "int16 array" = |i16 7374 17466 -9957| "uint16 hex" = |u16x 91fe 443a 9c15| "float32 array" = |f32 1.5e10 -8.31e-12| }
Example from the web:
c1 [ @vehicle<"make" "model" "drive" "sunroof"> @vehicle("Ford" "Explorer" "4wd" true ) @vehicle("Toyota" "Corolla" "fwd" false ) @vehicle("Honda" "Civic" "fwd" false ) ]
Example from the web:
c1 [ { "make" = "Ford" "model" = "Explorer" "drive" = "4wd" "sunroof" = true } { "make" = "Toyota" "model" = "Corolla" "drive" = "fwd" "sunroof" = false } { "make" = "Honda" "model" = "Civic" "drive" = "fwd" "sunroof" = false } ]
Example from the web:
c1 // // The tree: // // 2 // / \ // 5 7 // / /|\ // 9 6 1 2 // / / \ // 4 8 5 // (2 (7 2 1 (6 5 8 ) ) (5 (9 4 ) ) )
Example from the web:
c1 // // The weighted graph: // // b // /|\ // 4 1 1 // / | \ // a-3-c-4-d // { "vertices" = [ &a:{} &b:{} &c:{} &d:{} ] "edges" = [ @($a {"weight"=4 "direction"="both"} $b) @($a {"weight"=3 "direction"="both"} $c) @($b {"weight"=1 "direction"="both"} $c) @($b {"weight"=1 "direction"="both"} $d) @($c {"weight"=4 "direction"="both"} $d) ] }
Example from the web:
c1 { // Entire map will be referenced later as $id1 "marked object" = &id1:{ "recursive" = $id1 } "ref1" = $id1 "ref2" = $id1 // Reference pointing to part of another document. "outside ref" = TEMPLATEquot;https://xyz.com/document.cte#some_id" }
Example from the web:
c1 { // Custom types are user-defined, with user-supplied codecs. "custom text" = |c "cplx(2.94+3i)"| "custom binary" = |c 01 f6 28 3c 40 00 00 40 40| }

Language features

Feature Supported Example Token
Booleans ✓ true false
Comments ✓ // A comment
Line Comments ✓ // A comment //
Semantic Indentation X

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v155.3.0