Rick Winfrey
317d4a3849
Merge branch 'master' into error-context
2018-08-08 10:33:41 -07:00
Charlie Somerville
e92846c518
expand Ctx to EvalContext in get, put, and with function names
2018-08-08 13:08:54 +10:00
Rick Winfrey
383b6208ee
Rename ErrorContext -> BaseError
2018-08-07 16:50:55 -07:00
Rick Winfrey
f1ad72e4fc
No longer needed
2018-08-07 16:44:42 -07:00
Rick Winfrey
2a2c275704
Wrap EnvironmentError with BaseError
2018-08-02 12:21:05 -07:00
Charlie Somerville
d00fced1bb
Merge branch 'master' into charliesome/context
2018-08-01 11:45:46 +10:00
Rob Rix
863c2774eb
Merge branch 'master' into value-effects
2018-07-25 09:22:30 -04:00
Timothy Clem
b35276f35f
Some graph styling
2018-07-24 11:01:01 -07:00
Charlie Somerville
13fae0af42
add new EvalContext type replacing Environment in evaluation
2018-07-24 14:10:35 +10:00
Josh Vera
86fe1bff1d
Merge branch 'master' into control-flow-part2
2018-07-23 18:34:53 -04:00
Rob Rix
c1f220e5b0
Merge branch 'bump-effects-for-pure-effect' into value-effects
2018-07-23 12:54:54 -04:00
Rob Rix
bf388b4f50
Generalizes providingLiveSet to PureEffects.
2018-07-23 11:07:55 -04:00
Rob Rix
16e0a43a77
Generalize the graphing handlers to PureEffects.
2018-07-23 11:07:30 -04:00
Rob Rix
bc3b493f31
Stub in a Function effect.
2018-07-23 09:15:16 -04:00
Timothy Clem
deb5961091
Little bit of naming clarity
2018-07-20 16:55:20 -07:00
Timothy Clem
7e63e150ed
Pretty up the graphs a bit
2018-07-20 09:36:03 -07:00
Timothy Clem
19ad88d280
Store entire address as state so we can connect calls sites to declarations
2018-07-20 09:35:56 -07:00
Timothy Clem
1d0cd96c1f
Don't worry about a list for now - this isn't going to work anyway
2018-07-19 15:56:28 -07:00
Timothy Clem
4f2a3aca19
Note about null path in Load eavesdrop
2018-07-19 14:39:54 -07:00
Timothy Clem
ce461ea0e8
Merge remote-tracking branch 'origin/master' into vertex++
2018-07-19 14:35:32 -07:00
Timothy Clem
eb2156d5ea
Keep track of a list of member access names
2018-07-19 14:23:39 -07:00
Timothy Clem
7d7ef88cd4
Better capture control flow
2018-07-19 14:23:39 -07:00
Timothy Clem
b67f3b1e8a
Bring back Lookup path
2018-07-19 11:24:45 -07:00
Timothy Clem
126cfa2234
Capture context for both Method and Function declarations
2018-07-19 10:36:51 -07:00
Timothy Clem
549adf887c
Remove extraneous do
2018-07-19 10:36:30 -07:00
Timothy Clem
f2e16aeb19
No need to graph both load and lookup
2018-07-19 10:36:24 -07:00
Timothy Clem
9e6ea73e6f
Give edges a recommended length to help with layout
2018-07-19 10:36:06 -07:00
Timothy Clem
68858a5089
Track context in which variables are found
2018-07-18 13:11:03 -07:00
Timothy Clem
015d18ce18
Change up dot formatting a bit
2018-07-18 13:10:41 -07:00
Timothy Clem
b4c6593a12
Capture method decls and identifiers as vertices
2018-07-17 15:15:28 -07:00
Rob Rix
41b9fd65ca
Specialize caching to [].
2018-07-17 15:36:58 -04:00
Rob Rix
52b41bb0c4
Give Hole an extra parameter for context about errors.
2018-07-17 15:05:08 -04:00
Timothy Clem
70f01d0806
Keep additional structured info around in Vertex
2018-07-17 10:02:40 -07:00
Patrick Thomson
6a65fc0bc0
Fix otiose parts of the diff.
2018-07-13 12:10:17 -04:00
Patrick Thomson
acb4ac18c3
Address Rob's concerns.
2018-07-13 12:06:11 -04:00
Patrick Thomson
ae550c59c8
Merge remote-tracking branch 'origin/master' into abstract-call-graph
2018-07-13 11:11:46 -04:00
Rob Rix
caa5285836
Merge branch 'master' into fix-interposition
2018-07-11 09:27:36 -04:00
Charlie Somerville
301aca987e
remove redundant constraints
2018-07-11 15:20:35 +10:00
Rob Rix
98cc30705d
Bump effects for https://github.com/joshvera/effects/pull/55 .
2018-07-10 12:53:56 -04:00
Rob Rix
5d433205d5
Put the environment instead of running locally.
...
This fixes an error where caching always looked up a configuration that hadn’t been cached due to `locally` initiating a fresh scope.
Co-Authored-By: Patrick Thomson <patrick.william.thomson@gmail.com>
2018-07-09 13:36:27 -04:00
Patrick Thomson
c5b722dbba
Merge remote-tracking branch 'origin/master' into abstract-call-graph
2018-07-09 11:28:24 -04:00
Rob Rix
95cbf207e8
🔥 Evaluating.
2018-07-04 11:38:57 -04:00
Rob Rix
ddbd2690bb
Merge branch 'master' into higher-order-effects
2018-07-04 10:53:04 -04:00
Patrick Thomson
0ca991f0dd
Fix terrible bug associated with environment comparisons being false
2018-07-03 14:29:47 -04:00
Patrick Thomson
bef406b5c7
whitespace changes
2018-06-29 16:00:23 -04:00
Patrick Thomson
b63624ac41
cleanup
2018-06-29 15:54:45 -04:00
Patrick Thomson
076aef0015
this appears to work
2018-06-29 15:28:32 -04:00
Patrick Thomson
ebbead18ec
Merge remote-tracking branch 'origin/master' into abstract-call-graph
2018-06-29 12:21:33 -04:00
Patrick Thomson
3b7f91975c
🍐 with Rob
2018-06-26 16:08:40 -04:00
Rob Rix
a236328056
Merge branch 'master' into higher-order-effects
2018-06-26 15:14:28 -04:00
Patrick Thomson
bbf814acc1
Merge remote-tracking branch 'origin/master' into import-graph-mk2
2018-06-26 13:49:24 -04:00
Rob Rix
f9722f15a8
Eavesdrop on Modules effects.
2018-06-26 10:59:39 -04:00
Rob Rix
aa2e0f47f3
interpose no longer takes the pure parameter.
2018-06-26 10:00:13 -04:00
Rob Rix
92d50024ee
Ditto for the call graph.
2018-06-22 10:34:24 -04:00
Rob Rix
9fa1befecb
Graph modules which don’t import, and aren’t imported by, other modules.
2018-06-22 10:33:29 -04:00
Rob Rix
dda4c00cb5
🔥 Evaluating.
2018-06-21 13:26:22 -04:00
Rob Rix
b9b52b55da
Use the currentModule synonym to clarify intent.
2018-06-21 11:02:27 -04:00
Rob Rix
b2a8168059
Abbreviate the Load edge construction.
2018-06-21 10:50:52 -04:00
Rob Rix
0e265cc4f6
Add edges for lookups.
2018-06-21 10:50:24 -04:00
Rob Rix
1cc372ab67
Export moduleVertex.
2018-06-21 10:42:47 -04:00
Rob Rix
a4d8b481be
Merge branch 'master' into higher-order-effects
2018-06-21 10:11:59 -04:00
Rob Rix
4e6c11faec
Rename graphingModulePaths to graphingModuleInfo.
2018-06-20 14:43:14 -04:00
Rob Rix
e863802944
Add an analysis to graph module paths.
2018-06-20 12:38:05 -04:00
Rob Rix
948e4f57b0
Fix some indentation.
2018-06-20 12:37:58 -04:00
Rob Rix
86d2930455
Generalize appendGraph.
2018-06-20 12:35:50 -04:00
Rob Rix
70047c3b48
Correct a couple of doc comments.
2018-06-20 12:32:34 -04:00
Rob Rix
e972abd2e3
Factor runFresh out of evaluating.
2018-06-20 12:17:46 -04:00
Patrick Thomson
1a09aae96a
Merge branch 'master' into import-graph-mk2
2018-06-19 16:04:34 -04:00
Josh Vera
cce18d9ecb
Merge branch 'master' into topologically-sorted-imports
2018-06-19 13:43:01 -04:00
Rob Rix
8f373155a8
Apply the $ hints.
2018-06-19 09:34:52 -04:00
Rob Rix
1b245278a1
🔥 the value parameter from Modules.
2018-06-18 13:18:20 -04:00
Patrick Thomson
659500551c
Merge remote-tracking branch 'origin/master' into import-graph-mk2
2018-06-15 19:30:50 -04:00
Rob Rix
ccbd880155
Re-export Lower in Prologue.
2018-06-15 11:41:15 -04:00
Patrick Thomson
19e7ff7510
Reinstate import graph functionality.
2018-06-13 12:47:35 -04:00
Patrick Thomson
36d5b7562a
Revert "gRPC import graph"
2018-06-13 12:34:35 -04:00
Rob Rix
5a6d39e7f5
Swap these for consistency.
2018-06-12 15:59:46 -04:00
Rob Rix
2e61eead4c
State nests leftwards.
2018-06-12 15:47:29 -04:00
Rob Rix
44d6ccf815
Require Effect instances all over the place.
2018-06-12 15:38:10 -04:00
Rob Rix
956959ac07
Swap the module table ordering.
2018-06-12 15:37:43 -04:00
Rob Rix
9bd39b251c
Align the derived EvaluatingState instances.
2018-06-12 15:30:15 -04:00
Patrick Thomson
9c758ad3fe
Lint
2018-06-12 14:00:51 -04:00
Patrick Thomson
81482ee696
Merge remote-tracking branch 'origin/master' into import-graph-mk2
2018-06-12 12:09:49 -04:00
Charlie Somerville
a9a49ec56c
remove value parameter from ValueRef
2018-06-12 14:23:48 +10:00
Patrick Thomson
a69b80d4f4
warnings
2018-06-08 17:10:25 -04:00
Patrick Thomson
14b01603e4
it works as long as you package the prelude and comment out Util
2018-06-08 14:40:12 -04:00
Charlie Somerville
ddb18160f7
Merge branch 'master' into charliesome/value-ref-address
2018-06-08 11:33:01 +10:00
Rob Rix
c74263d9d6
Revert "Variable lookup is total, failing when the Env effect is run instead."
...
This reverts commit b96aaffa19a548a0ff50c862460e1a12b4031e89.
2018-06-06 10:39:10 -04:00
Rob Rix
b19c381edb
🔥 the Fail effect.
2018-06-06 09:45:40 -04:00
Rob Rix
4003cd717d
Represent MemberAccess with a Name as its second field.
2018-06-06 09:20:15 -04:00
Rob Rix
3c5c0d8038
Rename unName to formatName.
2018-06-06 09:17:13 -04:00
Rob Rix
6fdf2c274e
Variable lookup is total, failing when the Env effect is run instead.
2018-06-06 08:22:42 -04:00
Patrick Thomson
4a7ebf71dd
Merge remote-tracking branch 'origin/master' into fix-maybe-language
2018-06-04 18:33:03 -04:00
Patrick Thomson
2a8e02856b
tentative commit to move from Maybe Language to Language.
...
should fix a lot of issues around decoding Maybe Language fields.
2018-06-04 14:54:30 -04:00
Patrick Thomson
7c9b1ec17e
Merge remote-tracking branch 'origin/master' into text-names
2018-06-04 11:46:54 -04:00
Charlie Somerville
7478c4a6de
Merge branch 'master' into charliesome/value-ref-address
2018-06-01 12:50:11 -07:00
Charlie Somerville
32268b1710
Merge branch 'master' into charliesome/value-ref-address
2018-05-31 20:34:05 -05:00
Charlie Somerville
207a105e94
raise FreeVariable error from address
2018-05-31 15:14:45 -05:00
Charlie Somerville
c358460155
clean up warnings
2018-05-31 13:04:55 -05:00
Charlie Somerville
3c38b5fa46
Merge branch 'master' into charliesome/value-ref-address
2018-05-31 11:54:44 -05:00
Rob Rix
6e482be698
Rename Store back to Allocator for now.
2018-05-31 10:21:57 -04:00
Rob Rix
798b65d82c
gc is an action in Store.
2018-05-31 09:40:06 -04:00
Rob Rix
a72515b858
Move gc/reachable into Control.Abstract.Heap.
2018-05-31 09:33:04 -04:00
Rob Rix
58b1de14fc
💄
2018-05-31 09:18:37 -04:00
Rob Rix
42540a1e20
Rename Allocator to Store.
2018-05-31 08:47:16 -04:00
Patrick Thomson
c4c92053de
cleanup
2018-05-31 00:10:45 -04:00
Patrick Thomson
d144087486
Merge remote-tracking branch 'origin/master' into text-names
2018-05-30 23:51:11 -04:00
Rob Rix
c5f3187946
Merge branch 'master' into swap-module-table-ordering
2018-05-30 18:57:38 -04:00
Rob Rix
969d31adbf
Swap the ordering of the evaluated module table.
2018-05-30 18:54:58 -04:00
Patrick Thomson
64fd3b0fcc
Use Text rather than ByteString for Name values.
2018-05-30 18:16:39 -04:00
Rob Rix
a6025262c5
🔥 the environment from EvaluatingState.
2018-05-30 15:32:54 -04:00
Rob Rix
7072b1f8dd
Don’t re-export Fail.
2018-05-30 15:19:50 -04:00
Rob Rix
d01ef4e0b7
🔥 the exports in the evaluating state.
2018-05-30 15:17:35 -04:00
Timothy Clem
f7448522c8
Merge branch 'master' into enhanced-json-output
2018-05-30 11:14:39 -07:00
Rob Rix
19d4ebefa4
🔥 putEnv.
2018-05-30 14:08:57 -04:00
Rob Rix
10d9454895
Converge locally w.r.t. the environment.
2018-05-30 14:05:42 -04:00
Rob Rix
a243f2d837
Evaluating runs the env state.
2018-05-30 12:52:30 -04:00
Rob Rix
707c5819df
🔥 redundant constraints.
2018-05-30 12:51:16 -04:00
Rob Rix
99b92d336f
🔥 redundant constraint.
2018-05-30 12:41:04 -04:00
Timothy Clem
cc3a6c1a52
🔥 ConstructorLabel and constructorLabel
2018-05-30 09:39:38 -07:00
Timothy Clem
51394186f9
Merge remote-tracking branch 'origin/master' into enhanced-json-output
2018-05-30 07:50:29 -07:00
Charlie Somerville
12c6c39861
cut State Environment over to Env effect
2018-05-30 09:48:16 -05:00
Rob Rix
2baf449d20
Merge branch 'long-live-the-address' into env-effect
2018-05-30 10:22:51 -04:00
Rob Rix
4f2df09a63
Merge branch 'the-address-is-dead,-long-live-the-address' into env-effect
2018-05-30 10:15:16 -04:00
Rob Rix
52e8502970
Rename Located’s fields to address….
2018-05-30 10:03:40 -04:00
Rob Rix
8fcffd0837
Rename the location type parameter to address.
2018-05-30 09:55:32 -04:00
Rob Rix
89ae7740ed
Use location instead of Address in the heap/env interfaces.
2018-05-30 09:25:32 -04:00
Rob Rix
0624afe626
Heap operates on locations.
2018-05-30 08:17:22 -04:00
Rob Rix
dcdcf52bea
Live takes locations, not addresses.
2018-05-30 08:05:23 -04:00
Rob Rix
4ae5cb5f4e
🔥 Live’s value parameter.
2018-05-30 08:03:38 -04:00
Rob Rix
d4d5cc04d5
Don’t provide a Reader for the default environment.
2018-05-29 21:41:04 -04:00
Rob Rix
9a8acdc328
Wrap an Address.
2018-05-29 21:23:50 -04:00
Rob Rix
5110a936a0
🔥 the value parameter to Live.
2018-05-29 21:21:43 -04:00
Timothy Clem
2d08451d87
Call [] Statements
2018-05-29 14:25:31 -07:00
Charlie Somerville
b72b442e0c
WIP Merge branch 'master' into charliesome/value-ref-address
2018-05-29 16:06:45 -05:00
Timothy Clem
d47a06d47f
🔥 IdentifierName
2018-05-29 13:49:55 -07:00
Timothy Clem
6acb7ffa21
Give our List constructors a real name in output
2018-05-29 13:43:19 -07:00
Timothy Clem
bda6dd29d6
Call it term instead of category
2018-05-29 13:43:19 -07:00
Charlie Somerville
e0b4be74a9
Merge branch 'master' into charliesome/value-ref-address
2018-05-29 11:38:09 -05:00
Rob Rix
d869fa4ec8
🔥 some redundant constraints.
2018-05-29 12:14:19 -04:00
Rob Rix
f5572e41ca
Use Member instead of Members everywhere!
2018-05-29 12:09:09 -04:00
Rob Rix
0354dc5330
Resume EnvironmentError at location, not value.
2018-05-28 15:29:24 -04:00
Rob Rix
eeb604569d
Merge branch 'master' into decompose-values
2018-05-24 09:11:19 -04:00
Charlie Somerville
10022d4de9
push Address location value into the guts of the evaluator
2018-05-23 14:55:44 -07:00
Charlie Somerville
12742d681d
ValueRef should contain addresses, not values directly
2018-05-23 13:36:08 -07:00
Rob Rix
12cec06dfe
Remove Environment’s value parameter.
2018-05-22 17:37:35 -04:00
Rob Rix
2a46f5ea6f
Remove Exports’ value parameter.
2018-05-22 17:31:41 -04:00
Rob Rix
0984c8c725
Add vertices for lookups.
2018-05-22 14:20:03 -04:00
Rob Rix
577e5e4ace
🔥 graphingLoadErrors.
2018-05-22 14:13:51 -04:00
Rob Rix
fd6dbe2ba1
🔥 a redundant constraint.
2018-05-22 13:56:39 -04:00
Rob Rix
a95b84ac2a
Don’t graph packages in graphingModules.
2018-05-22 13:56:20 -04:00