Commit Graph

319 Commits

Author SHA1 Message Date
Emery Hemingway 8b52e3baf9 Index into compound types by Preserve keys 2022-03-10 23:41:13 -06:00
Emery Hemingway db06066e17 Trace to stderr, not stdout
This would interfer with stdio communications.
2022-03-08 15:22:49 -06:00
Emery Hemingway 3924e48deb Distinct Symbol strings
More type buracracy makes schema conversion less lossy.
2022-02-20 09:23:49 -06:00
Emery Hemingway 486443a098 Remove submodule 2022-02-19 10:33:16 -06:00
Emery Hemingway 6c4cfa0885 Fix fromPreserve for distinct types
This is an example of why bypassing the type system with "when"
is dangerous.
2022-02-11 15:36:30 -06:00
Emery Hemingway 1cf0df255f bump version number 2021-12-28 18:11:17 +01:00
Emery Hemingway ba4d567791 Careful with those variable length tuples 2021-12-24 00:38:02 +01:00
Emery Hemingway e25e06efba Don't convert Table[string,string] to {symbol:string...:...}
Should not assume that table keys can be treated at symbols. This
also makes the resulting dictionary convertable to JSON.
2021-12-22 23:49:06 +01:00
Emery Hemingway 84b28ec55a XML: use tuples rather than records for elements 2021-12-22 22:27:18 +01:00
Emery Hemingway a466930e6e Hack to unescape \n 2021-12-11 18:32:37 +00:00
Emery Hemingway 7d8c3b29c2 XML conversion 2021-12-06 23:57:47 +00:00
Emery Hemingway 200e0a0080 Do not leak null characters into the #"" encoding 2021-12-05 21:30:54 +00:00
Emery Hemingway 061898c3c2 Escaping fix in parser 2021-12-04 12:02:15 +00:00
Emery Hemingway 8a85ff5d52 Make enums generated for alt-types pure 2021-12-04 11:44:18 +00:00
Emery Hemingway 21052681b6 schemaparse: fix parsing of atoms to Preserves 2021-11-17 14:21:15 +00:00
Emery Hemingway 9f29722a0d Version 3.0.0 2021-11-12 12:28:39 +01:00
Emery Hemingway 7cc0b050f4 Remove support for integers wider than 64 bits
I believe this was an unecessary compilication and it can be
restored later if necesary.
2021-11-12 12:25:28 +01:00
Emery Hemingway e88c238a74 Schema text parsing 2021-11-11 21:57:04 +01:00
Emery Hemingway 64217706a4 Synchronize nimble version number
Nimble is a shit tool and shouldn't require a duplicate version
number in the nimble metadata file.
2021-11-07 22:19:47 +01:00
Emery Hemingway 6039a729c8 Do not intersperse commas in sequences 2021-11-07 17:30:42 +01:00
Emery Hemingway 66e47963dc Set a version number that Nimble might comprehend 2021-11-07 17:30:42 +01:00
Emery Hemingway 1dc7991761 Schemas: use int rather than BiggestInt
Produce ints for integers in schemas. If int is too small then
the generated code can be hand-edited.
2021-11-03 19:18:07 +01:00
Emery Hemingway ef4278062a Encode short byte-strings as hex text 2021-11-03 19:17:33 +01:00
Emery Hemingway c74f5c2c63 Spry: binary encoding and decoding 2021-11-03 19:17:04 +01:00
Emery Hemingway a8373e37c6 Add Spry VM module
http://sprylang.se/
2021-11-01 10:35:14 +01:00
Emery Hemingway 29d7352a23 Assert upreservable pragma at runtime
This makes the compiler less pedantic.
2021-10-25 21:36:57 +02:00
Emery Hemingway d1be46de49 Equality across different embedded types 2021-10-25 21:36:57 +02:00
Emery Hemingway 0387cbc7eb Update documentation 2021-10-25 21:36:57 +02:00
Emery Hemingway ae5f4b78ac Adjust stringification 2021-10-25 21:36:45 +02:00
Emery Hemingway bc9568d6bd Add unembed routine 2021-10-25 21:36:45 +02:00
Emery Hemingway a03a188bc2 fromPreserve: fix conversion of literals in tuples 2021-10-25 21:36:45 +02:00
Emery Hemingway cbf27a0ee0 schema: fix missing literals in tuples 2021-10-25 21:36:45 +02:00
Emery Hemingway ba45f80087 schema: embedded type required for toPreserve inside `$` 2021-10-25 21:36:45 +02:00
Emery Hemingway cca512c9df mapEmbeds for Preserve[void] to Preserve[E] 2021-10-25 21:36:45 +02:00
Emery Hemingway b6275a241b Schema: do not overload `$` or encode for Preserve types 2021-10-20 13:59:48 +02:00
Emery Hemingway 5250707f0e Schema: make all Preserves embeddable 2021-10-18 12:12:33 +02:00
Emery Hemingway 171502f1d2 Schemas: seperate procs for unembeddables 2021-10-18 12:12:33 +02:00
Emery Hemingway 54c28c90ce Mark a preserves template as used 2021-10-18 12:12:33 +02:00
Emery Hemingway 30a9d55aac Fix schema import, normalize version 2021-10-17 14:22:41 +02:00
Emery Hemingway 99201de724 Schemas: use canonical meta-schema 2021-10-17 13:26:05 +02:00
Emery Hemingway 220577c8a0 New pragmas for toPreserve and fromPreserve 2021-10-17 11:38:45 +02:00
Emery Hemingway 2dd63903f0 Remove records module
Redundant with toPreserve and fromPreserve.
2021-09-25 13:57:58 +02:00
Emery Hemingway 42a9b26458 Embeddable Preserves
Make Preserve a generic type that can embed a native Nim type.
Generate generic implementations from schemas and discard
embeddedType.
2021-09-25 13:47:05 +02:00
Emery Hemingway 75c176ddb6 New constructors for record and sequence 2021-09-23 14:29:31 +02:00
Emery Hemingway cd5dd7dd03 Add [] operator for dictionaries 2021-09-23 14:29:16 +02:00
Emery Hemingway 9f2921d0ca Add is* checks 2021-09-23 13:32:04 +02:00
Emery Hemingway e7af40ce2f Export the variant members 2021-09-23 13:31:10 +02:00
Emery Hemingway 2451b441ad Use dedicated types for record alternates 2021-09-22 14:30:50 +02:00
Emery Hemingway ea50b05bad Some types implicitly handled by toPreserve 2021-09-21 09:38:37 +02:00
Emery Hemingway 6b7a23fecf Compiler compatibility tweaks 2021-09-21 09:30:40 +02:00