├── .github └── workflows │ ├── build.yaml │ └── release.yaml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── bench └── Main.hs ├── common ├── Metrics1024.hs ├── Person.hs ├── Twitter100.hs └── Url100.hs ├── fourmolu.yaml ├── json-syntax.cabal ├── metrics.json ├── scripts ├── buildjson.hs └── print-syntax.hs ├── src ├── Json.hs └── Json │ ├── Flatten.hs │ └── Smile.hs └── test ├── Main.hs └── golden ├── .gitignore ├── 001 ├── expect.bin └── in.json ├── 002 ├── expect.bin └── in.json ├── 003 ├── expect.bin └── in.json ├── 004 ├── expect.bin └── in.json ├── 005 ├── expect.bin └── in.json ├── 006 ├── expect.bin └── in.json ├── 007 ├── expect.bin └── in.json ├── 008 ├── expect.bin └── in.json ├── 009 ├── expect.bin └── in.json ├── 010 ├── expect.bin └── in.json ├── 011 ├── expect.bin └── in.json ├── 012 ├── expect.bin └── in.json ├── 013 ├── expect.bin └── in.json ├── 014 ├── expect.bin └── in.json └── number ├── 100 ├── expect.bin ├── in.json └── out.bin ├── 1e126 ├── expect.bin ├── in.json └── out.bin ├── 1e127 ├── expect.bin ├── in.json └── out.bin ├── 1e128 ├── expect.bin ├── in.json └── out.bin ├── 1e129 ├── expect.bin ├── in.json └── out.bin ├── 1e31 ├── expect.bin ├── in.json └── out.bin ├── 1e32 ├── expect.bin ├── in.json └── out.bin ├── 1e50 ├── expect.bin ├── in.json └── out.bin ├── 1e62 ├── expect.bin ├── in.json └── out.bin ├── 1e63 ├── expect.bin ├── in.json └── out.bin └── 1e64 ├── expect.bin ├── in.json └── out.bin /.github/workflows/build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/.github/workflows/build.yaml -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/.github/workflows/release.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/README.md -------------------------------------------------------------------------------- /bench/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/bench/Main.hs -------------------------------------------------------------------------------- /common/Metrics1024.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/common/Metrics1024.hs -------------------------------------------------------------------------------- /common/Person.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/common/Person.hs -------------------------------------------------------------------------------- /common/Twitter100.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/common/Twitter100.hs -------------------------------------------------------------------------------- /common/Url100.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/common/Url100.hs -------------------------------------------------------------------------------- /fourmolu.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/fourmolu.yaml -------------------------------------------------------------------------------- /json-syntax.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/json-syntax.cabal -------------------------------------------------------------------------------- /metrics.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/metrics.json -------------------------------------------------------------------------------- /scripts/buildjson.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/scripts/buildjson.hs -------------------------------------------------------------------------------- /scripts/print-syntax.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/scripts/print-syntax.hs -------------------------------------------------------------------------------- /src/Json.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/src/Json.hs -------------------------------------------------------------------------------- /src/Json/Flatten.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/src/Json/Flatten.hs -------------------------------------------------------------------------------- /src/Json/Smile.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/src/Json/Smile.hs -------------------------------------------------------------------------------- /test/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/Main.hs -------------------------------------------------------------------------------- /test/golden/.gitignore: -------------------------------------------------------------------------------- 1 | */out.bin 2 | -------------------------------------------------------------------------------- /test/golden/001/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/001/expect.bin -------------------------------------------------------------------------------- /test/golden/001/in.json: -------------------------------------------------------------------------------- 1 | {"hello":"world"} 2 | -------------------------------------------------------------------------------- /test/golden/002/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/002/expect.bin -------------------------------------------------------------------------------- /test/golden/002/in.json: -------------------------------------------------------------------------------- 1 | {"안녕하세요":"mi buenísimo mundo"} 2 | -------------------------------------------------------------------------------- /test/golden/003/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/003/expect.bin -------------------------------------------------------------------------------- /test/golden/003/in.json: -------------------------------------------------------------------------------- 1 | ["Do we accept sixty-character strings with non-ASCII chars‽"] 2 | -------------------------------------------------------------------------------- /test/golden/004/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/004/expect.bin -------------------------------------------------------------------------------- /test/golden/004/in.json: -------------------------------------------------------------------------------- 1 | {"Do we allow sixty-character keyname with non-ASCII chars‽": "yes"} 2 | -------------------------------------------------------------------------------- /test/golden/005/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/005/expect.bin -------------------------------------------------------------------------------- /test/golden/005/in.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/005/in.json -------------------------------------------------------------------------------- /test/golden/006/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/006/expect.bin -------------------------------------------------------------------------------- /test/golden/006/in.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/006/in.json -------------------------------------------------------------------------------- /test/golden/007/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/007/expect.bin -------------------------------------------------------------------------------- /test/golden/007/in.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/007/in.json -------------------------------------------------------------------------------- /test/golden/008/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/008/expect.bin -------------------------------------------------------------------------------- /test/golden/008/in.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/008/in.json -------------------------------------------------------------------------------- /test/golden/009/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/009/expect.bin -------------------------------------------------------------------------------- /test/golden/009/in.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/009/in.json -------------------------------------------------------------------------------- /test/golden/010/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/010/expect.bin -------------------------------------------------------------------------------- /test/golden/010/in.json: -------------------------------------------------------------------------------- 1 | 1234.987e5678 2 | -------------------------------------------------------------------------------- /test/golden/011/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/011/expect.bin -------------------------------------------------------------------------------- /test/golden/011/in.json: -------------------------------------------------------------------------------- 1 | 6745.999e1 2 | -------------------------------------------------------------------------------- /test/golden/012/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/012/expect.bin -------------------------------------------------------------------------------- /test/golden/012/in.json: -------------------------------------------------------------------------------- 1 | 6745.0e20 2 | -------------------------------------------------------------------------------- /test/golden/013/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/013/expect.bin -------------------------------------------------------------------------------- /test/golden/013/in.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/013/in.json -------------------------------------------------------------------------------- /test/golden/014/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/014/expect.bin -------------------------------------------------------------------------------- /test/golden/014/in.json: -------------------------------------------------------------------------------- 1 | {"":"empty key"} 2 | -------------------------------------------------------------------------------- /test/golden/number/100/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/100/expect.bin -------------------------------------------------------------------------------- /test/golden/number/100/in.json: -------------------------------------------------------------------------------- 1 | 100 2 | -------------------------------------------------------------------------------- /test/golden/number/100/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/100/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e126/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e126/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e126/in.json: -------------------------------------------------------------------------------- 1 | 1e126 2 | -------------------------------------------------------------------------------- /test/golden/number/1e126/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e126/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e127/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e127/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e127/in.json: -------------------------------------------------------------------------------- 1 | 1e127 2 | -------------------------------------------------------------------------------- /test/golden/number/1e127/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e127/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e128/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e128/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e128/in.json: -------------------------------------------------------------------------------- 1 | 1e128 2 | -------------------------------------------------------------------------------- /test/golden/number/1e128/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e128/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e129/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e129/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e129/in.json: -------------------------------------------------------------------------------- 1 | 1e129 2 | -------------------------------------------------------------------------------- /test/golden/number/1e129/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e129/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e31/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e31/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e31/in.json: -------------------------------------------------------------------------------- 1 | 1e31 2 | -------------------------------------------------------------------------------- /test/golden/number/1e31/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e31/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e32/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e32/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e32/in.json: -------------------------------------------------------------------------------- 1 | 1e32 2 | -------------------------------------------------------------------------------- /test/golden/number/1e32/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e32/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e50/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e50/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e50/in.json: -------------------------------------------------------------------------------- 1 | 1e50 2 | -------------------------------------------------------------------------------- /test/golden/number/1e50/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e50/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e62/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e62/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e62/in.json: -------------------------------------------------------------------------------- 1 | 1e62 2 | -------------------------------------------------------------------------------- /test/golden/number/1e62/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e62/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e63/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e63/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e63/in.json: -------------------------------------------------------------------------------- 1 | 1e63 2 | -------------------------------------------------------------------------------- /test/golden/number/1e63/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e63/out.bin -------------------------------------------------------------------------------- /test/golden/number/1e64/expect.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e64/expect.bin -------------------------------------------------------------------------------- /test/golden/number/1e64/in.json: -------------------------------------------------------------------------------- 1 | 1e64 2 | -------------------------------------------------------------------------------- /test/golden/number/1e64/out.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/byteverse/json-syntax/HEAD/test/golden/number/1e64/out.bin --------------------------------------------------------------------------------