Rob Rix
4467627d38
Align the State fields.
2018-06-28 10:50:16 -04:00
Rob Rix
0b3a192a56
Note some TODOs.
2018-06-28 10:33:33 -04:00
Rob Rix
0a75f0a388
Rename Delta back to Offset.
2018-06-28 10:30:00 -04:00
Charlie Somerville
b8892e731f
change Env.{pairs, unpairs} to take Bindings instead, add flatPairs
2018-06-28 13:59:03 +10:00
Charlie Somerville
d49d3ef764
add Bindings newtype representing a single scope level
2018-06-28 13:46:49 +10:00
Patrick Thomson
d008d14411
no -XLambdaCase
2018-06-27 20:52:27 -04:00
Rob Rix
6769baff22
Rename DetPar to Assignment.
2018-06-27 19:46:24 -04:00
Rob Rix
32fd7400d6
Hold a value to produce at the end of input.
2018-06-27 19:45:52 -04:00
Rob Rix
6edb93dd0e
Advance the state with advanceState.
2018-06-27 19:29:21 -04:00
Rob Rix
d6d7ce0efa
Compute the span accurately at nodes.
2018-06-27 19:26:58 -04:00
Rob Rix
4fb9a6067f
Line the lines/columns.
2018-06-27 19:24:08 -04:00
Rob Rix
86ada732f3
Rename Offset to Delta.
2018-06-27 19:21:04 -04:00
Rob Rix
be0ce7e0e8
Define a function to advance the State.
2018-06-27 19:19:58 -04:00
Rob Rix
ec8e77a9b3
Define a Semigroup instance for Offset.
2018-06-27 19:18:37 -04:00
Rob Rix
118dd47838
f determines s.
2018-06-27 19:12:16 -04:00
Rob Rix
b658356726
Swap the parameters to Assigning.
2018-06-27 19:11:28 -04:00
Rob Rix
e17c546a0a
Define a Join instance for Offset.
2018-06-27 19:08:42 -04:00
Rob Rix
ea4b61693f
Generalize Measured over the measurement type.
2018-06-27 19:06:41 -04:00
Rob Rix
e565d54509
Define a class of Measured types.
2018-06-27 19:05:36 -04:00
Rob Rix
ee8e09b20c
Get the Spans for Errors from the State.
2018-06-27 19:02:19 -04:00
Rob Rix
892985a265
Carry an Offset along with the input.
2018-06-27 19:01:18 -04:00
Rob Rix
73dbaa9794
Don’t qualify booleans.
2018-06-27 18:56:38 -04:00
Rob Rix
357e910630
Derive Eq, Ord, & Show instances for Offset.
2018-06-27 18:55:13 -04:00
Rob Rix
3fc71d3950
Define a Lower instance for Offset.
2018-06-27 18:51:26 -04:00
Rob Rix
2885a34e3a
Define a Lower instance for Pos.
2018-06-27 18:51:07 -04:00
Rob Rix
0e99b6c525
Define a datatype of Offsets.
2018-06-27 18:50:01 -04:00
Rob Rix
5c7d3a3f65
Rename Input to State.
2018-06-27 18:45:41 -04:00
Rob Rix
fa8bd4614c
Add a synonym for a type of tables.
2018-06-27 18:45:17 -04:00
Patrick Thomson
9b1620f2f1
Fix lints.
...
No idea how these got through CI, but here's a fix.
2018-06-27 18:11:19 -04:00
Patrick Thomson
330fb1be36
Ensure gRPC ImportGraphs don't duplicate edges and vertices.
...
The previous code for generating an adjacency list from an algebraic
graph incorrectly assumed that each distinct vertex in the graph would
be `traverse`d once and only once. This is not true, as a vertex that
is connected to N other vertices will appear in N separate `Connect`
instances within the graph, and was leading to extreme redundancies in
graphs served over gRPC.
To work around this, as each vertex is encountered and tagged with a
unique value, the vertex-tag pair is stored in a hashmap. Subsequent
vertices are looked up in the environment; if there is a matching
hash, the original tag for that vertex is used.
2018-06-27 17:48:48 -04:00
Rob Rix
7be414166b
Use Alternative instead of our home-grown <!> operator.
2018-06-27 17:16:04 -04:00
Rob Rix
b65beaa674
Avoid the partial pattern match.
2018-06-27 17:13:44 -04:00
Rob Rix
66f67263bc
Report errors using Data.Error.
2018-06-27 16:37:42 -04:00
Rob Rix
cf2d178160
Report errors.
2018-06-27 16:34:41 -04:00
Rob Rix
afdab831bf
Stub in an initial, bad deterministic parser.
2018-06-27 16:32:17 -04:00
Josh Vera
140c5dcd38
Merge pull request #1995 from github/json-fixtures
...
JSON fixtures
2018-06-27 15:54:20 -04:00
Rob Rix
c338fca8b0
Stub in a module for deterministic assignments.
2018-06-27 14:27:15 -04:00
Rob Rix
985236d913
Don’t bother with explicit error handling.
2018-06-27 14:24:40 -04:00
Rob Rix
1e82044bd1
Assign parse errors inside the value node.
2018-06-27 14:23:20 -04:00
Rob Rix
4fe23a6196
Assign parse errors in branches.
2018-06-27 14:22:49 -04:00
Rob Rix
17773cf413
Assign values using branchNode.
2018-06-27 14:21:39 -04:00
Rob Rix
4c23da2c1d
Assign hashes using branchNode.
2018-06-27 14:21:19 -04:00
Rob Rix
d8622425fd
Assign key-value pairs using branchNode.
2018-06-27 14:20:42 -04:00
Rob Rix
4987b1c684
Assign arrays using branchNode.
2018-06-27 14:19:00 -04:00
Rob Rix
4f048dd1e0
Assign number literals using leafNode.
2018-06-27 14:17:33 -04:00
Rob Rix
e20fcf4ec5
Assign string literals using leafNode.
2018-06-27 14:17:06 -04:00
Rob Rix
21e18dcea9
Assign boolean literals using leafNode.
2018-06-27 14:16:00 -04:00
Rob Rix
fb1003b799
Assign null using leafNode.
2018-06-27 14:14:28 -04:00
Rob Rix
b688dfdcd9
We aren’t using type operators.
2018-06-27 14:14:00 -04:00
Rob Rix
e5a43d9fe5
We aren’t using rank-n types.
2018-06-27 14:13:42 -04:00