Commit Graph

101 Commits

Author SHA1 Message Date
Emery Hemingway b7406cd6f7 Add preserves/datehooks for handling dates and times 2023-05-12 09:38:01 +01:00
Emery Hemingway b9d8275624 schema: emit "tuple[]" for literal object fields 2023-05-04 10:55:09 +01:00
Emery Hemingway cd2dde6d71 preserves_schema_nim: use field0,1,..N for anonymous fields 2023-05-03 16:03:43 +01:00
Emery Hemingway 67b470078c Revert "preserves_schema_nim: declare literal fields as void"
This reverts commit 30c330cecf.
2023-04-30 09:57:45 +01:00
Emery Hemingway 30c330cecf preserves_schema_nim: declare literal fields as void 2023-04-28 23:58:48 +01:00
Emery Hemingway 335d1b61cc Move jsonhooks check to runnableExamples 2023-04-10 17:51:14 -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 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 075627709f preserves_schema_nim: recursively search dicts for embedding 2023-03-01 20:58:17 -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 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 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 65195a5eb7 schemas: improve "include" parsing 2022-11-20 14:14:22 -06:00
Emery Hemingway 99a1cd4d15 Symbol escaping 2022-11-06 11:04:16 -06:00
Emery Hemingway 2d2df1f918 Parse past annotations 2022-11-02 13:58:37 -05:00
Emery Hemingway 489d6b31d5 Fix string escaping 2022-10-30 18:43:11 -05:00
Emery Hemingway b4756b13ae isRecord: add variant with a label 2022-10-27 15:29:45 -05:00
Emery Hemingway 5c72729f23 xmlhooks: parse attributes
Parse attribute values to booleans and numbers. This isn't best
practices for handling XML (if there is such a thing) but it
reduces the internal representation and allows typed pattern
matching without further processing.
2022-10-25 12:18:31 -05:00
Emery Hemingway 62480318cc BufferedDecoder: feed by pointer 2022-10-23 23:39:37 -05:00
Emery Hemingway 5fe041fa45 New BufferedDecoder object 2022-10-22 18:40:24 -05:00
Emery Hemingway 85e67603ed Rewrite xmlhooks to match xml-infoset.prs 2022-10-20 14:19:24 -05:00
Emery Hemingway 918d4d3e2e Fix encoding and decoding of embedded values 2022-10-16 15:32:09 -05:00
Emery Hemingway 54ec2d439a Allocate new TableRefs when necessary 2022-10-13 23:05:37 -05:00
Emery Hemingway a97f1e8554 Fix schema includes 2022-09-04 13:15:52 -05:00
Emery Hemingway 8c0af37694 Use set[T] rather than HashSet[T] for enum sets 2022-08-30 11:45:22 -05:00
Emery Hemingway cc0472da3d Add apply procedure 2022-06-25 16:19:42 -05:00
Emery Hemingway 55da079955 Update upstream URLs 2022-06-12 23:05:15 -05:00
Emery Hemingway 5043d8595a Set type conversions 2022-05-18 13:57:40 -05:00
Emery Hemingway 5408cb859a Add `step` func as a no-effects substitue for `[]` proc
ehmry/xdg_open_ng#2
2022-03-18 10:08:39 -05:00
Emery Hemingway a6b31247cf Fix indentation bug 2022-03-14 14:28:37 -05: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 1cf0df255f bump version number 2021-12-28 18:11:17 +01: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 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 66e47963dc Set a version number that Nimble might comprehend 2021-11-07 17:30:42 +01: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 dffd52965b Add some utilities 2021-09-08 11:16:42 +02:00
Emery Hemingway 9ed18c279c Release 1.0.0 2021-09-01 13:32:26 +02:00
Emery Hemingway 53642eef83 Add preserves_schema_nim utilty
A utility for generating code from Preserves schema.
2021-09-01 11:35:44 +02:00
Emery Hemingway 91bf449f6b Unlicense 2021-08-31 17:00:00 +02:00
Emery Hemingway 7359f1cac2 Schemas 2021-08-24 18:00:03 +02:00
Emery Hemingway 7b8d48c48a Version 0.3.0 2021-06-29 18:46:02 +02:00
Emery Hemingway c7e8c301f9 Version 0.2.0 2021-06-24 17:33:48 +02:00
Emery Hemingway 6ebb752690 Store embedded values as pointers
Reduce Preserve from a generic to a concrete type.
2021-06-15 18:51:13 +02:00
Emery Hemingway d63dfad954 Initial commit 2021-06-02 15:51:36 +02:00