Emery Hemingway
b7e1f2c8c7
Manage Nimble packages with Tup
2023-04-03 17:04:57 -05:00
Emery Hemingway
30dbed4aa9
Allow for an unlimited DecodeBuffer size
2023-04-03 17:04:12 -05:00
Emery Hemingway
ea7225e3b5
Add toDictionary procedure
2023-04-03 17:03:56 -05:00
Emery Hemingway
1a0cb2be5c
Cleanup preserves_schema_nim
2023-04-01 12:33:28 -05:00
Emery Hemingway
466a8d3af4
Add initSequenceOfCap proc
2023-03-29 17:33:39 -05:00
Emery Hemingway
71b6d4c017
Rework the initX[E]() procs to initX(E = void)
2023-03-29 17:32:54 -05:00
Emery Hemingway
5d3f7b94a3
Add isRecord(…) with arity descriminator
2023-03-29 16:47:54 -05:00
Emery Hemingway
786342c39b
Cannot print a void value
2023-03-29 16:47:47 -05:00
Emery Hemingway
b38b85a8f1
Catch IOError at Preserves decoder
2023-03-22 11:21:46 -05:00
Emery Hemingway
8ff65486ff
preserves_schema_nim: use "E" as a default emebedding ident
2023-03-01 20:58:17 -06:00
Emery Hemingway
6b965c5c0e
Only catch ValueError during decode
2023-03-01 20:58:17 -06:00
Emery Hemingway
dab8f11b9b
Serialize dummy text for embeds
2023-03-01 20:58:17 -06:00
Emery Hemingway
075627709f
preserves_schema_nim: recursively search dicts for embedding
2023-03-01 20:58:17 -06:00
Emery Hemingway
a130079162
preserves_schema_nim: code formatting
2023-03-01 12:50:33 -06:00
Emery Hemingway
3a6dfc0349
preserves_schema_nim: be more careful about type parameters
2023-03-01 12:49:21 -06:00
Emery Hemingway
10682883a4
preserves_schema_nim: detect schema self references
...
Do not add a schema module as an import to itself when a
definition refers to a type with a qualified module name that is
the same as the schema the definition occurs in.
2023-03-01 12:49:21 -06:00
Emery Hemingway
70655a959b
preserves_schema_nim: emit Perserve type for And composites
2023-03-01 12:49:18 -06:00
Emery Hemingway
66a653a775
Fix expand of embedded Preserves
2022-12-13 22:05:05 -06:00
Emery Hemingway
adec7fd7ad
Rewrite tupfiles
2022-12-11 19:21:17 -06:00
Emery Hemingway
d5909e4df0
Schema: a collection of breaking changes
...
- Process all modules in a bundle simultanously so that it can be
determined if imported types are recursive or take a parameter
- Different rules for deciding when an object must be a ref
- Use Preserve[void] if there is no EmbededTypeName defined
- Put embeddeded types directly into other types without a
Preserve[E] container
2022-12-10 13:32:36 -06:00
Emery Hemingway
cc0703c343
Fix symbol escaping during conversion to text
2022-12-08 01:00:38 -06:00
Emery Hemingway
3dd112879d
Enable tracing for non-POSIX platforms
2022-12-08 01:00:38 -06:00
Emery Hemingway
587c5274f8
Fix preserving of embedded type
2022-12-08 01:00:38 -06:00
Emery Hemingway
806c4118fc
Trivially convert from Preserve[void] to Preserve[E]
2022-12-08 01:00:34 -06:00
Emery Hemingway
92834a8968
Add expand, contract for embedded conversions
2022-12-08 00:59:54 -06:00
Emery Hemingway
c9268b2a5d
Cannot embed a void value
2022-12-08 00:59:54 -06:00
Emery Hemingway
c04fc181c8
private/macros: keep walking through bracket expressions
2022-12-08 00:59:53 -06:00
Emery Hemingway
7eea68edb4
Add warning when preserving fails
2022-12-06 22:30:28 -06:00
Emery Hemingway
60c5f03637
Add preservesEmbedded pragma
2022-12-06 22:30:28 -06:00
Emery Hemingway
d3132391bd
Fix Symbol usage in the spry module
2022-12-05 16:10:49 -06:00
Emery Hemingway
f9bed998f1
Fix schemaparse for <rec …> records
2022-12-05 16:09:04 -06:00
Emery Hemingway
6d5acf324b
schemac: tool for processing schemas
2022-12-05 16:04:52 -06:00
Emery Hemingway
ded072c76c
More Tupfiles
2022-12-05 15:56:31 -06:00
Emery Hemingway
ee2d379a65
Add Tupfiles for testing modules
2022-12-02 22:17:53 -06:00
Emery Hemingway
65195a5eb7
schemas: improve "include" parsing
2022-11-20 14:14:22 -06:00
Emery Hemingway
e1ab43578a
Schema: parse annotations
2022-11-20 14:13:44 -06:00
Emery Hemingway
99a1cd4d15
Symbol escaping
2022-11-06 11:04:16 -06:00
Emery Hemingway
9f8321a748
Textualize the zero length symbol as ||
2022-11-06 11:03:53 -06:00
Emery Hemingway
2d2df1f918
Parse past annotations
2022-11-02 13:58:37 -05:00
Emery Hemingway
4e795cb92a
Another getOrDefault
2022-10-30 21:09:17 -05:00
Emery Hemingway
489d6b31d5
Fix string escaping
2022-10-30 18:43:11 -05:00
Emery Hemingway
201cb7c68e
Check for zero-length binary streams
2022-10-30 17:26:55 -05:00
Emery Hemingway
154ffb6cd8
Validate that set elements are unique during parse
2022-10-30 17:26:55 -05:00
Emery Hemingway
d0af002b4a
Validate that dict keys are unique during parse
2022-10-30 17:26:55 -05:00
Emery Hemingway
270e13b27b
Custom unescaping of byte-strings
2022-10-30 17:26:55 -05:00
Emery Hemingway
11661d453c
Replace concat with writeText
...
Write to a stream rather than concatentate a string.
2022-10-30 17:26:55 -05:00
Emery Hemingway
7e72c2a515
Parser: fix escaping in #"…"
2022-10-30 17:10:26 -05:00
Emery Hemingway
4ee41a7fce
Parser: allow whitespace in hex and base64
2022-10-30 17:10:26 -05:00
Emery Hemingway
b4756b13ae
isRecord: add variant with a label
2022-10-27 15:29:45 -05:00
Emery Hemingway
7125eadd49
Use step rather than [] for dictionaries
2022-10-25 17:42:04 -05:00