Timothy Clem
|
8aadfa44a6
|
Unify TArr
|
2017-11-29 20:07:42 -08:00 |
|
Timothy Clem
|
95512a82a0
|
Formatting
|
2017-11-29 17:05:51 -08:00 |
|
Timothy Clem
|
9f310ac992
|
Evaluate Call to types (sort of)
No unification yet
|
2017-11-29 17:05:39 -08:00 |
|
Timothy Clem
|
e16d5bdb0f
|
Evaluate Function declarations to Types
|
2017-11-29 17:05:07 -08:00 |
|
Timothy Clem
|
5e22f19714
|
Introduce TArr type
|
2017-11-29 17:04:37 -08:00 |
|
Timothy Clem
|
99ec8a1758
|
Calling subcontext keeps the env intact
|
2017-11-29 13:57:48 -08:00 |
|
Timothy Clem
|
af99c51159
|
Implement evaluation of calls (for value types)
|
2017-11-29 13:57:26 -08:00 |
|
Timothy Clem
|
8b61483ca2
|
Extend the env with the function name
|
2017-11-29 13:57:05 -08:00 |
|
Timothy Clem
|
72e81e30a9
|
Make my linter happy
|
2017-11-29 13:56:31 -08:00 |
|
Timothy Clem
|
e336e8735e
|
Relax eval constaints for more choice in control flow
|
2017-11-29 13:55:46 -08:00 |
|
Rob Rix
|
355ec2aa5e
|
TODOs
|
2017-11-29 14:07:40 -05:00 |
|
Rob Rix
|
2104e08b66
|
Evaluate function declarations to closures.
This is a bit wrong.
|
2017-11-29 14:05:44 -05:00 |
|
Rob Rix
|
3862b3da57
|
Abstract Value over the term type.
|
2017-11-29 14:05:18 -05:00 |
|
Rob Rix
|
f1bff2c6f3
|
Rename the a parameter to value.
|
2017-11-29 13:55:21 -05:00 |
|
Rob Rix
|
0bf69a1ce9
|
Closures have a list of parameters.
|
2017-11-29 13:29:44 -05:00 |
|
Rob Rix
|
60a1d326c9
|
Evaluate type annotations by evaluating their subjects.
|
2017-11-29 13:15:16 -05:00 |
|
Rob Rix
|
797330650f
|
Customize the default eval to show the constructor.
|
2017-11-29 13:07:15 -05:00 |
|
Rob Rix
|
f569fe74db
|
The default Eval instance uses MonadFail instead of Prelude.fail.
|
2017-11-29 13:00:26 -05:00 |
|
Rob Rix
|
2f02104f82
|
Abstract evaluation to values/types via a AbstractValue class.
|
2017-11-29 12:56:21 -05:00 |
|
Rob Rix
|
fce88d982c
|
Rename AbstractValue to ValueRoots.
|
2017-11-29 12:44:47 -05:00 |
|
Rob Rix
|
a34a8ec3a3
|
Split Primitive up into component types.
|
2017-11-29 12:28:08 -05:00 |
|
Rob Rix
|
71c85e4d16
|
Represent values with a union of types.
|
2017-11-29 12:10:27 -05:00 |
|
Rob Rix
|
942ac27161
|
Define a Show2 instance for Environment.
|
2017-11-29 12:09:01 -05:00 |
|
Rob Rix
|
0db9e01728
|
🔥 MonadPrim constraints.
|
2017-11-29 11:56:03 -05:00 |
|
Timothy Clem
|
026cc46dbc
|
Merge branch 'master' of https://github.com/github/semantic-diff into integrate-abstract-interpretation
|
2017-11-28 15:49:46 -08:00 |
|
Timothy Clem
|
4a60f0cd59
|
Let the other interpreters infer location from value
|
2017-11-28 15:44:51 -08:00 |
|
Timothy Clem
|
53d4a41cff
|
Move to bottom of file for clarity
|
2017-11-28 15:44:23 -08:00 |
|
Timothy Clem
|
6fc6139887
|
Don't need these
|
2017-11-28 15:44:12 -08:00 |
|
Timothy Clem
|
0c80260ceb
|
Rework evalute to infer location from the value
|
2017-11-28 15:43:58 -08:00 |
|
Timothy Clem
|
a7bb4aae58
|
Need a Reader for the address set in our effect stack
|
2017-11-28 15:43:06 -08:00 |
|
Rob Rix
|
ae9c9ce2cb
|
Evaluate identifiers.
|
2017-11-28 17:39:37 -05:00 |
|
Rob Rix
|
5a65fc11cd
|
Typecheck Programs.
|
2017-11-28 17:23:46 -05:00 |
|
Rob Rix
|
3e71e57358
|
Cell types uniquely determine location types.
|
2017-11-28 17:19:45 -05:00 |
|
Rob Rix
|
3b4e4bcff1
|
Abstract the Eval instance for Assignment over the value type.
|
2017-11-28 17:19:25 -05:00 |
|
Rob Rix
|
e416ebb679
|
Relate value types to their location types.
|
2017-11-28 17:19:13 -05:00 |
|
Rob Rix
|
8d625d63c6
|
Derive a Generic1 instance for Configuration.
|
2017-11-28 16:13:20 -05:00 |
|
Rob Rix
|
451025d1b2
|
Cache roots as lists in configurations.
|
2017-11-28 16:13:12 -05:00 |
|
Rob Rix
|
0252667c34
|
🔥 Abstract.Set.
|
2017-11-28 16:08:48 -05:00 |
|
Rob Rix
|
790e5fc619
|
🔥 a redundant type parameter to ev.
|
2017-11-28 15:44:08 -05:00 |
|
Rob Rix
|
e5f8901851
|
Simplify an Eval constraint slightly.
|
2017-11-28 15:42:57 -05:00 |
|
Rob Rix
|
c7fbf21802
|
Remove the t parameter to Eval.
|
2017-11-28 15:42:15 -05:00 |
|
Timothy Clem
|
56e5b206c4
|
Eval doesn't need to be parameterized by l
|
2017-11-28 11:56:46 -08:00 |
|
Timothy Clem
|
d946c876ae
|
Eval type class doesn't need to know about Term
|
2017-11-28 11:48:08 -08:00 |
|
Timothy Clem
|
0d391d8e39
|
Update Eval instance for Empty
|
2017-11-28 11:15:14 -08:00 |
|
Timothy Clem
|
97e5581436
|
Update Eval instance for Program
|
2017-11-28 11:15:03 -08:00 |
|
Timothy Clem
|
00c48f3270
|
Updated Eval instance for List
|
2017-11-28 11:14:29 -08:00 |
|
Timothy Clem
|
e65686463a
|
Update Context eval instance to use yield
|
2017-11-28 11:13:34 -08:00 |
|
Timothy Clem
|
b821c4009c
|
Assignment eval now uses continutation, does envLookup
|
2017-11-28 11:13:05 -08:00 |
|
Timothy Clem
|
9f4eed9aef
|
Define freeVariables1 helper
|
2017-11-28 11:10:30 -08:00 |
|
Timothy Clem
|
361aa18578
|
Change context order for easier type application
|
2017-11-28 11:10:10 -08:00 |
|