52 Commits

Author SHA1 Message Date
b4c23abbfa DEV: Make list slices faster for larger lists. 2019-11-27 22:17:35 -06:00
b8a063fdb8 DEV: string lib ergonomic improvements 2019-11-27 22:17:23 -06:00
2155bc0308 DEV: Add an integer parsing operation for string. 2019-11-24 09:57:11 -05:00
a90df8a362 REFACTOR: Cleanup the syntax for the select expr
This makes it both easier to correctly write a select expression
as well as easier to parse and report syntax errors.
2019-11-02 11:01:47 -05:00
b3fd37a6b5 DEV: Integration tests all pass now. 2019-10-17 17:57:06 -05:00
c9b9d1b7ea MAINT: Cleanup dead code. 2019-04-29 19:29:01 -05:00
8d6635bfdf FEATURE: split_on now splits on any string not just a single character. 2019-04-26 19:20:31 -05:00
352f932485 FEATURE: Add a chars attribute to the strings.ops module. 2019-04-26 19:20:31 -05:00
c8e48bd9f4 FEATURE: Cleanup style and idioms in the std library usage. 2019-04-24 19:32:32 -05:00
f12d264778 DOCS: Add some doc strings for the doc function. 2019-04-19 19:23:32 -05:00
b1aa708c6c FEATURE: XML DSL for creating xml documents safely. 2019-04-18 17:48:00 -05:00
7846c631d0 FIX: use field_name instead of name to avoid colliding with the name field. 2019-04-17 23:02:18 -05:00
524f85102f FEATURE: More robust schema matching.
* Fixed some weirdness with partial matching in shaped.
* Added an all matcher for bundling multiple partial matches together.
2019-04-17 22:17:06 -05:00
643b597e35 FIX: Any should not do partial matches for the candidate shapes. 2019-04-17 21:02:09 -05:00
68e9c1c119 FIX: Bug in schema module when testing a tuple against a non tuple shape. 2019-04-17 19:34:53 -05:00
0e41a40ab3 FEATURE: Add a function to the mod binding that imports the containing package. 2019-04-16 20:09:27 -05:00
4afac26497 FEATURE: Ops module wrapper idioms for stdlib. 2019-04-15 22:18:46 -05:00
76e8510f15 FEATURE: Add len attribute and substr sub module for strings lib. 2019-04-12 21:13:24 -05:00
1b2aa4dfd1 REFACTOR: testing module cleanup.
Nesting was unnecessary and added 0 or negative value. So I removed
the nesting.
2019-04-09 20:43:42 -05:00
b4497d88e9 FEATURE: Add an or operation on the maybe module type. 2019-02-28 20:59:17 -06:00
ea3f2eae5f FEATURE: Add a slice module to our lists library. 2019-02-27 19:44:54 -06:00
7ae6955066 FEATURE: Add head and tail functions to our list library. 2019-02-27 19:41:09 -06:00
68790520d4 FEATURE: Make our monadic maybe a little more useful now. 2019-02-24 08:43:12 -06:00
ec8c75f866 REFACTOR: Stdlib now uses the out expression syntax or modules. 2019-02-24 08:16:07 -06:00
de97109681 MAINT: Cleanup the syntax of some of the stdlib after parsing improvements. 2019-02-18 20:15:54 -06:00
87e5db7dbf FEATURE: The beginnings of a standard library for strings. 2019-02-18 20:15:20 -06:00
9acd72571d FEATURE: Typed Lists in schema lib.
Schemas now allow list shapes to hold a list of the allowed
types in the list.

More work toward #6 and #32.
2019-02-18 18:49:25 -06:00
Jeremy Wall
6cb9ccd55c FIX: bug in syntax or std/tuples.ucg. 2019-02-05 10:28:04 -06:00
ad7f2d22a0 REFACTOR: simplify the base_type_of function. 2019-02-04 20:30:06 -06:00
b571ead599 DOCS: Add documentation on our stdlib.
* Adds schema.ucg to our reference site.
* Adds comments to the std libs themselves.
2019-02-04 20:29:04 -06:00
cccef4554d REFACTOR: refactor unnecessary modules into functions. 2019-02-04 19:48:51 -06:00
3619153218 FEATURE: Syntax improvement for map filter and reduce.
closes #33
2019-01-31 16:33:12 -06:00
4d6fd87c3d FEATURE: Allow expressions for functions in reduce/map/filter. 2019-01-30 20:35:28 -06:00
f1c7d76fdd REFACTOR: The great renaming macro -> func. 2019-01-24 20:04:40 -06:00
016e4a22db FEATURE: Add the not operator. 2019-01-24 16:53:02 -06:00
5bfe38140a FEATURE: Schema checks for particular shapes.
Progress toward #6 and #32.
2019-01-21 19:47:04 -06:00
6321828006 FEATURE: The begnnings of some schema definition utilities.
Also allow failure messages to be generated from any expression.
2019-01-20 08:32:05 -06:00
1d6c850fd4 FEATURE: Dynamic Type checking with is.
Any expression for the type as long as the expression evaluates to a string.
2019-01-19 13:06:43 -06:00
890387b4cc FEATURE: Macros are just an expression now.
This is a breaking change for the map, filter, and reduce expressions
but happily a forward compatible change for macros themselves.
2019-01-16 19:27:58 -06:00
b18d513a9f FEATURE: Added some functional primitives to the stdlib. 2019-01-16 18:47:16 -06:00
b9b30a4bd1 FEATURE: Add a module for stripping NULL fields from a tuple. 2019-01-15 19:31:55 -06:00
5c2d8662bf FIX: Handle binding and named field collisions in lookups. 2019-01-13 22:51:20 -06:00
207a08d112 FEATURE: Better rendering of Val's to text. 2019-01-13 22:25:26 -06:00
924dcb40ff FEATURE: Allow people to override the descriptions
For equal and not_equal specifically.
2019-01-13 22:06:38 -06:00
116a2b716a REFACTOR: Better name for the tuples field/value iterator. 2019-01-13 21:24:35 -06:00
547c271aa1 FEATURE: Special case the std/ import prefix.
It's a reserved import path for our std library.

closes #27
2019-01-13 20:35:23 -06:00
54faeede5e FEATURE: Imports as expressions.
This is a breaking change for the language. However it makes a number of things
easier. Like importing specific symbols from a file.

adds: #28
2019-01-13 14:10:43 -06:00
0f7498884a FEATURE: No longer require the dsl to output ok vs not ok. 2019-01-13 13:53:24 -06:00
6f9ba2ac33 FEATURE: Add the range expression.
fixes: #24
2019-01-10 19:40:32 -06:00
d2a5a1619a STDLIB: More stdlib additions.
* list reverse
* enumerate for tuples
2019-01-10 17:17:57 -06:00