33 Commits

Author SHA1 Message Date
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
db809fad97 STDLIB: Add some helper modules for tuples. 2019-01-10 17:17:57 -06:00
d989e47706 FEATURE: Use a better DSL for unit tests.
* Assert now requires a tuple instead of a string containing
  statements.
* We include a helpful ucg based unit testing module.

Fixes: #26
2019-01-10 17:17:57 -06:00