Rob Rix
09d616788e
Return holds a value, not a ValueRef.
2018-12-07 12:38:16 -05:00
Rob Rix
d82d0ad584
Revert "Rename resolve to resolvePaths."
...
This reverts commit 6c2cd2a6c9a56956b6d6bae61510939b21f25080.
2018-12-07 11:46:01 -05:00
Rob Rix
3c2a4241e8
Rename resolve to ref.
2018-12-07 11:45:29 -05:00
Rob Rix
23e3a688f7
Resolve MemberAccesses.
2018-12-07 11:40:11 -05:00
Rob Rix
3fd19e07d8
Specialize resolve for Identifier.
2018-12-07 11:32:13 -05:00
Rob Rix
260a44e7a0
Constrain callers of resolve a little further.
2018-12-07 11:31:25 -05:00
Rob Rix
ca6fad7c06
resolve returns in Maybe.
2018-12-07 11:01:46 -05:00
Rob Rix
f59cdd394b
Add a resolve method to Evaluatable with a (bad) default definition.
2018-12-07 10:34:40 -05:00
Rob Rix
adffd6b9c4
Rename resolve to resolvePaths.
2018-12-07 09:52:20 -05:00
joshvera
1b23d1d0dd
Merge remote-tracking branch 'origin/master' into heap-frames
2018-12-06 16:32:38 -05:00
joshvera
192943889b
delint
2018-12-06 16:16:25 -05:00
joshvera
14a47d8711
parens
2018-12-06 15:56:42 -05:00
joshvera
30cb4f43f6
Remove unused bind
2018-12-06 15:53:58 -05:00
Rob Rix
0b6e3430de
Clarify that we’re returning the first path we find.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 15:48:55 -05:00
Rob Rix
2cd7257429
Merge branch 'heap-frames' of https://github.com/github/semantic into heap-frames
2018-12-06 15:44:27 -05:00
Rob Rix
a4ec6dc3a8
Generalize foldrGraph to foldGraph producing a Monoidal value.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 15:42:36 -05:00
joshvera
34d5825cf9
Implement Let
2018-12-06 15:29:30 -05:00
joshvera
61a0a9052f
Fix tuple instance
2018-12-06 15:29:24 -05:00
joshvera
9b7670e655
Implement tuple eval
2018-12-06 15:22:33 -05:00
joshvera
5f395923a7
Implement Array eval
2018-12-06 15:22:06 -05:00
Rob Rix
664877024d
Find paths uniformly using findPath.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 15:18:39 -05:00
Rob Rix
e5c5d36c3c
Define a function to find a path to a declaration through a graph.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 15:11:22 -05:00
Rob Rix
db698dbd98
Build up paths using foldrGraph.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 15:04:40 -05:00
Rob Rix
c278733fd7
Define a generic graph traversal operation.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 15:02:59 -05:00
Rob Rix
adfcb37231
Move the Path instances into a deriving clause.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 13:11:44 -05:00
Rob Rix
b28d877845
🔥 a redundant language extension.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 13:09:35 -05:00
Rob Rix
dcd751f4b9
Define Path as an ordinary datatype.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 13:08:56 -05:00
Rob Rix
79e235ce34
Derive the instances for ScopeGraph in a deriving clause.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 13:06:24 -05:00
Rob Rix
1e7c8d63f6
Factor the module info & span into BaseError’s Eq1 instance.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 13:02:37 -05:00
Rob Rix
5eb73810eb
Show module info & span in BaseError.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 12:59:00 -05:00
Rob Rix
f95b06a3b4
Don’t loop on cyclic graphs.
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 12:34:22 -05:00
Rob Rix
c486eb82ce
Follow export edges.
2018-12-06 12:13:10 -05:00
Rob Rix
f9c124f303
Replace the address pair Reader with separate CurrentFrame/Scope Readers.
2018-12-06 12:03:07 -05:00
Rob Rix
74ca31af53
🔥 a bunch of uses of scoped type variables.
2018-12-06 11:45:13 -05:00
Rob Rix
454b9d669d
Don’t traverse export edges.
...
Per discussion with @joshvera: https://github.slack.com/archives/C0E7PGQQ5/p1544111976406600
This makes the tests run again, tho two of them fail.
2018-12-06 11:22:15 -05:00
Rob Rix
0e4a91fc91
Add a convenience for constructing a path to a declaration.
2018-12-06 11:20:09 -05:00
Rob Rix
9375a82be2
Simplify in terms of an insertReference helper.
2018-12-06 11:14:35 -05:00
Rob Rix
b3ef26f301
Use insertScope here too.
2018-12-06 11:10:19 -05:00
Rob Rix
b47e28f278
Use insertScope.
2018-12-06 11:09:08 -05:00
Rob Rix
de416fa88c
Use insertFrame in insertFrameLink.
2018-12-06 10:47:27 -05:00
Rob Rix
c23b587f80
Rename the Heap field to unHeap.
2018-12-06 10:45:36 -05:00
Rob Rix
8074a3a37f
Realign some cases.
2018-12-06 10:40:50 -05:00
Rob Rix
15d53b25fa
🔥 a redundant do-block.
2018-12-06 10:39:56 -05:00
Rob Rix
b9b007277d
🔥 commented-out functionality.
2018-12-06 10:38:59 -05:00
Rob Rix
3b2c76c283
Customize the Show instance for Heap for brevity.
2018-12-06 10:38:40 -05:00
Rob Rix
113fb7ea1c
Reformat Frame.
2018-12-06 10:33:06 -05:00
Rob Rix
fc19fa67db
Use declareFunction to define both Function and Method evaluation.
2018-12-06 10:20:51 -05:00
Rob Rix
e65da03e85
No we should not.
2018-12-06 10:20:05 -05:00
Rob Rix
4913b252b8
Define a helper for declaring functions/methods.
2018-12-06 10:19:22 -05:00
Rob Rix
8ff61d8299
Simplify the ValueRoots instance for closures.
2018-12-06 10:09:50 -05:00
Rob Rix
46ab1d6b02
Use <$> again.
2018-12-05 15:56:00 -05:00
Rob Rix
7ca06eff7f
Use <$>.
2018-12-05 15:55:41 -05:00
Rob Rix
cdb869e199
Functor law.
2018-12-05 15:55:13 -05:00
Rob Rix
0fe1f4db5f
Use for_.
2018-12-05 15:54:22 -05:00
Rob Rix
a14cc79903
🔥 redundant parens.
2018-12-05 15:53:23 -05:00
Rob Rix
47c2dea759
Merge branch 'heap-frames' of https://github.com/github/semantic into heap-frames
2018-12-05 15:39:09 -05:00
Rob Rix
6bb5308697
Rename the ScopeGraph field to unScopeGraph.
2018-12-05 15:35:02 -05:00
Rob Rix
d98cb05d0b
Pattern-match against the constructor.
2018-12-05 15:34:20 -05:00
Rob Rix
7badac6148
Spacing.
2018-12-05 15:32:18 -05:00
Rob Rix
0daef02edc
Don’t use record wildcards to unpack ScopeGraph.
2018-12-05 15:32:06 -05:00
Rob Rix
dc2b94eef2
Align { to the next line.
2018-12-05 15:26:35 -05:00
Rob Rix
6bf9f08f63
🔥 a couple of redundant do-blocks.
2018-12-05 15:24:50 -05:00
Rob Rix
3d34922fe2
Tighten up reference with <$> and <|>.
2018-12-05 15:24:10 -05:00
Rob Rix
c90e1605fd
Tighten up insertImportReference using <$> and <|>.
2018-12-05 15:20:08 -05:00
Rob Rix
12ccbf8f85
Move modifyReferences down.
2018-12-05 15:19:09 -05:00
Rob Rix
e8a9634339
Flip modifyReferences.
2018-12-05 15:18:53 -05:00
Rob Rix
1e12265292
Extract a function to modify a scope’s references.
2018-12-05 15:17:18 -05:00
Rob Rix
ebc1a83ed1
Factor out a common traverseEdges function.
2018-12-05 15:14:57 -05:00
joshvera
522c87e627
Merge branch 'heap-frames' of https://github.com/github/semantic into heap-frames
2018-12-05 15:09:46 -05:00
joshvera
eae6b7c8b3
Add tests for QualifedExportFrom
2018-12-05 15:07:37 -05:00
Rob Rix
05392f2296
simplify lookupScopePath using <$>.
2018-12-05 14:53:42 -05:00
Rob Rix
98107e05be
Correct associatedScope using >>=.
2018-12-05 14:48:44 -05:00
Rob Rix
3a3fa0c541
Define associatedScope using foldr.
2018-12-05 14:42:53 -05:00
Rob Rix
38611d053c
Simplify associatedScope using <$> and <|>.
2018-12-05 14:42:05 -05:00
Rob Rix
3c2a544a2d
Define scopeOfDeclaration using a foldr.
2018-12-05 14:40:12 -05:00
Rob Rix
bc0c28477f
Simplify scopeOfDeclaration using <$ and <|> .
2018-12-05 14:38:25 -05:00
Rob Rix
9a966a51f4
Use maybe.
2018-12-05 14:35:30 -05:00
Rob Rix
433e3dd04d
Use maybeM.
2018-12-05 14:35:24 -05:00
Rob Rix
4a80c83275
Parens instead of dollar.
2018-12-05 14:34:09 -05:00
Rob Rix
c4477c05b7
🔥 a redundant dollar.
2018-12-05 14:33:33 -05:00
Rob Rix
5981de0f56
Redundant parens.
2018-12-05 14:33:01 -05:00
Rob Rix
b67708c9d3
🔥 redundant parens.
2018-12-05 14:32:02 -05:00
Rob Rix
34b5965554
Extract a defineSelf helper.
2018-12-05 14:29:00 -05:00
Rob Rix
0132a24e1b
🔥 ScopedTypeVariables.
2018-12-05 14:26:43 -05:00
Rob Rix
776ae3ebe1
🔥 a redundant language extension.
2018-12-05 14:25:09 -05:00
Rob Rix
af8ae29d7e
Merge branch 'heap-frames' of https://github.com/github/semantic into heap-frames
2018-12-05 14:05:57 -05:00
Rob Rix
dda1706189
Implement object for Type.
2018-12-05 14:05:41 -05:00
joshvera
3a88a76d12
Remove super instance
2018-12-05 14:04:02 -05:00
joshvera
7c677f8625
Remove ScopedResolution instance
2018-12-05 13:55:52 -05:00
joshvera
4a350ece0b
Remove old Call code
2018-12-05 13:53:30 -05:00
Rob Rix
ba070a6b46
Merge branch 'heap-frames' of https://github.com/github/semantic into heap-frames
2018-12-05 13:49:51 -05:00
joshvera
b319d0fb64
Implement TypeAlias instance
2018-12-05 13:46:32 -05:00
Rob Rix
95c1151cd2
Reintroduce heapLookupAll.
2018-12-05 13:44:47 -05:00
Rob Rix
664b3b2a9d
Reintroduce heapLookup.
2018-12-05 13:44:42 -05:00
Rob Rix
b77dc95d4f
Reintroduce heapRestrict.
2018-12-05 13:08:24 -05:00
joshvera
a2026e8ada
Add valueRef tests back
2018-12-05 12:44:52 -05:00
joshvera
49e8a7004c
Remove Exports
2018-12-05 10:23:42 -05:00
joshvera
0f8058d82a
Remove NamespaceError
2018-12-05 10:20:41 -05:00
joshvera
073dca372d
Remove Data.Abstract.Environment
2018-12-05 10:20:35 -05:00
joshvera
9fee3d5965
formatting
2018-12-05 10:20:17 -05:00
joshvera
5b198eb919
Implement Break and Continue
2018-12-04 19:22:29 -05:00
joshvera
5deda2a033
Implement and reopen ruby modules
2018-12-04 18:46:29 -05:00
joshvera
33b752a5aa
Implement This eval instance
...
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:01:30 -05:00
joshvera
ac1d2dbc95
Declare __self in Method instance
...
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:01:19 -05:00
joshvera
793ec4b32d
Define __self in preludes
...
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:00:20 -05:00
joshvera
85f00a2904
Add defineBuiltIn
...
in order to construct an associated scope to pass to BuiltIn
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 16:24:44 -05:00
joshvera
fa3adf19e6
Assign params within a frame in Abstract/Type semantics
...
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 15:56:11 -05:00
Rob Rix
f75c2b14a1
Build function scopes in the Evaluatable instances.
2018-12-04 14:55:25 -05:00
Rob Rix
00c6bb2229
Note that we should be building the scope in define instead of in the Function carrier.
2018-12-04 14:34:40 -05:00
Rob Rix
bb2bcf6274
🔥 a redundant fresh
.
2018-12-04 14:21:07 -05:00
Patrick Thomson
3502dadda6
fix build/lints
2018-12-04 13:24:15 -05:00
Rob Rix
dbf670d4ee
Use deriving strategies for the Heap.
2018-12-04 13:12:25 -05:00
Rob Rix
9420d5cc96
🔥 a bunch of redundant bindings.
2018-12-04 13:12:18 -05:00
Rob Rix
c16385e20f
🔥 a bunch of redundant constraints.
2018-12-04 13:12:03 -05:00
Rob Rix
91fce6a246
🔥 a bunch of redundant imports.
2018-12-04 12:25:32 -05:00
joshvera
debefff57c
Differentiate between Import and Superclass edge tests
2018-12-04 11:24:01 -05:00
Patrick Thomson
28b6cdb9b1
last few changes
2018-12-04 10:45:30 -05:00
Patrick Thomson
18e651cbc0
Merge remote-tracking branch 'origin/master' into tokenize-ruby
2018-12-04 10:40:01 -05:00
joshvera
4d134fd9aa
putDeclarationScope should be robust
...
And look things up with respect to a current scope instead of traversing the key value pairs of the scope graph
2018-12-04 10:38:05 -05:00
joshvera
2544b100e1
Ignore Lexical, Import, and Export edges in declarationNames
...
Since we only use it for objectMembers in tests and those should only traverse superclass edges atm
2018-12-04 10:37:33 -05:00
joshvera
b88dde5d5e
Traverse superclass edges
2018-12-04 10:37:03 -05:00
joshvera
6a27c20c9b
Go back to declaring in Function syntax
2018-12-04 10:36:47 -05:00
joshvera
7f4d4d0c40
Declare in concrete function again
...
Fixes subclass associated scope issue in subclasses.py
2018-12-03 17:58:48 -05:00
joshvera
4af4dd616b
Implement Eval instance for classes
...
Add Class to scopedEnvironment
2018-12-03 17:39:45 -05:00
joshvera
c505b53898
No need to declare multiple times
...
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-03 15:59:49 -05:00
joshvera
2d190d8ec9
Don't insert already declared names into a scope
...
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-03 15:59:38 -05:00
joshvera
0cd64662f2
Rename Address to Slot
2018-11-29 20:07:30 -05:00
joshvera
b2bbd0e78c
Filter Export edges so we don't traverse them in the tests
2018-11-29 19:36:58 -05:00
joshvera
716bebd985
Remove lexical scope from Statements node
2018-11-29 13:00:53 -05:00
joshvera
49b4a1494f
Remove currentFrame from Heap
2018-11-28 17:10:35 -05:00
joshvera
8dd5a7e295
WIP remove current scope and frame from Heap and ScopeGraph
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-28 13:31:40 -05:00
Rick Winfrey
999ef65221
Add Reader effect
...
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:18:46 -08:00
Rick Winfrey
124c7593f4
Handle scope and frame edges
...
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-27 17:17:00 -08:00
joshvera
b6e789fff7
Use a Reader for the scope address and frame address
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-27 14:16:27 -05:00
joshvera
ccb044ac6b
Export scopeLookup
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:54:49 -05:00
joshvera
ff1543f434
Implement Method
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:54:37 -05:00
joshvera
e9a999b69e
Eval params to names in Evaluatable Function
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:54:28 -05:00
joshvera
af0184a195
Store names as params in Closure
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-26 19:53:58 -05:00
Timothy Clem
14600029fd
Pick out delcarations for ScopeResolution and through Context better
2018-11-26 13:43:20 -08:00
Timothy Clem
e2ac46ae69
Better Show for Span
2018-11-26 13:41:55 -08:00
joshvera
ce40ee2d37
declarationNames traverses edges
...
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:05:37 -05:00
joshvera
86aa9c9950
Move defaultAlias to Data.ImportPath
2018-11-20 19:03:46 -05:00
Patrick Thomson
9e553ce939
fix-lint
2018-11-20 11:51:40 -05:00
Patrick Thomson
812abf249d
fix stray import/old TODO
2018-11-19 16:45:55 -05:00
Patrick Thomson
af02dc3391
Port over Tokenize instances.
2018-11-19 16:41:00 -05:00
Patrick Thomson
c0d71fe80d
Add enough Scope tokens to handle Ruby syntax.
2018-11-19 16:15:32 -05:00
Patrick Thomson
2974b34c17
Add 'Flow' to represent control-flow constructs.
2018-11-19 16:05:01 -05:00
joshvera
01f5a29039
Return unit in delete instance
2018-11-16 18:57:05 -05:00
joshvera
f2aa442c48
Rename AssignmentRvalError to DerefError
2018-11-16 18:54:25 -05:00
joshvera
06c9e97b2d
implement Delete evaluatable
2018-11-16 18:53:27 -05:00
joshvera
d8933a062b
Add deleteSlot
2018-11-16 18:53:16 -05:00
joshvera
007c710668
cover all cases of pathDeclarationScope
2018-11-16 18:02:39 -05:00
joshvera
fb0e7e3407
Add object to AbstractValue
2018-11-16 16:11:39 -05:00
joshvera
de126c7b94
qualify object
2018-11-16 16:11:28 -05:00
joshvera
ec8733889e
Add AbstractHole instance to ValueRef
2018-11-16 16:10:02 -05:00
joshvera
e54cc8b096
Add QualifedImportError
2018-11-16 16:09:42 -05:00
joshvera
f39da9578a
Move ImportPath to Data.ImportPath
2018-11-16 16:09:11 -05:00
joshvera
ea5587d16c
Implement Evaluatable for MemberAccess
2018-11-15 20:24:34 -05:00
joshvera
39e723b980
Add Object to concrete Value
2018-11-15 20:24:21 -05:00
joshvera
3de1cbce5b
Change scopedEnvironment to return the address of an Object
2018-11-15 20:24:06 -05:00
joshvera
994fd861c5
Add ReferenceError
2018-11-15 20:23:43 -05:00
joshvera
77fd2e823d
Add insertDeclarationSpan to ScopeGraph
2018-11-15 19:29:09 -05:00
joshvera
6a34826abd
Declare variable declarations with an empty span and update after evaluating
2018-11-15 19:28:48 -05:00
joshvera
2f32fd6f2b
fix empty heap test
2018-11-15 18:44:47 -05:00
Rick Winfrey
46d39a25c8
A lot of warnings. ALOT
2018-11-15 15:04:28 -08:00
Rick Winfrey
97545f0ae7
Remove redundant constraints and imports
2018-11-15 14:18:36 -08:00
Rick Winfrey
e08b1100e4
Remove unnecessary (now) scopeAddress
parameter
...
In Data.Abstract.ScopeGraph when we invoke `insertImportReference`, we make the assumption that the starting scope with respect to the currently available ScopeGraph is the `currentScope`. We then start from that scope to begin constructing a Path to the scope containing the target declaration.
Control.Abstract.ScopeGraph will need the scopeAddress parameter still, because it is going to insert a new scope into our scope graph using the scope returned from Data.Abstract.ScopeGraph (with the newly constructed path to the declaration).
2018-11-15 13:58:28 -08:00
Rick Winfrey
f7c38b0bb7
Clean up unused params
2018-11-15 13:52:14 -08:00
Rick Winfrey
a94760e99a
Placeholder for handling Hole
Paths
2018-11-15 13:51:57 -08:00
Rick Winfrey
66d3044951
Merge branch 'master' into heap-frames
2018-11-15 13:44:06 -08:00
joshvera
393da1897b
Test position of slots
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-15 14:39:41 -05:00
joshvera
22e1822185
Defer declaring names in the scope graph to param
...
Parameter syntax evaluatable instances are now responsible for adding declarations to the scope graph.
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:16:26 -05:00
joshvera
5c861f412f
Add putDeclarationScopeAtPosition
...
So we can set the associated scope for the declaration of a slot
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:14:58 -05:00
joshvera
fe30b926f7
EvalError types
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:14:31 -05:00
joshvera
127552dbfc
parameterize EvalError by address and value
...
so that we can throw AssignmentRvalError within Assignment or RequiredParameter Evaluatable instances
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:14:02 -05:00
joshvera
3223c97548
Add non-lexical StatementBlock
...
to differentiate between syntax that creates a new lexical scope and function bodies etc.
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:13:22 -05:00
joshvera
3f4c5d961d
Create a lexical edge to its parent's declaration frame when calling a closure
2018-11-14 15:15:31 -05:00
joshvera
eebae6a1fc
Add pathDeclarationScope
2018-11-14 15:14:58 -05:00
Timothy Clem
7c3469b86e
Get the math right!
2018-11-13 15:50:07 -08:00
joshvera
519a6db035
Implement Return
...
impements Return in terms of eval and earlyReturn now that eval returns a ValueRef
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 17:59:25 -05:00
joshvera
12a038869a
Export Heap and Frame accessors
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 17:58:49 -05:00
Timothy Clem
492117d796
Actually use the HTTP_TIMEOUT config var
2018-11-13 14:30:25 -08:00
joshvera
567fe790c9
Construct an import reference from correct start scope
...
Construct an import reference starting from the currentAddress of the target scope graph
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:08:42 -05:00
joshvera
4aac61ea70
Insert a list of scope if label doesn't exist in edge map of target scope
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:08:06 -05:00
joshvera
24720f9f06
Look within references when constructing paths
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:07:38 -05:00
Rick Winfrey
1e88378a51
Return an Rval representing the function body as a closure, instead of returning a Heap address
...
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-09 12:47:44 -08:00
Rick Winfrey
12d27b436c
Update an existing function declaration scope
...
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-09 12:47:24 -08:00
Rick Winfrey
7103ba94b7
Declare a function using its name and the full span of the function
...
⚠️ this is a hack to get around the problem of evaluating a functionName (term) in order to retrieve its Span to properly declare the function.
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-09 12:46:14 -08:00
Rick Winfrey
cbafcd8114
Add (Show address) for debugging
...
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-09 12:42:43 -08:00
joshvera
a37c10b7fb
Implement Call in terms of call effect
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 13:05:04 -05:00
joshvera
ce91cf71db
Remove self argument from call effect
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 13:04:52 -05:00
joshvera
c663c6a2ea
Stub in pathPosition with Position 0
...
⚠️ : This is really bad because we never want to erroneously index into a sequence.
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 12:03:05 -05:00
joshvera
244109310a
Add AbstractHole instances for Path, Scope, Address
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 11:37:45 -05:00
joshvera
eebcc9c9ee
Fix up runFunction carriers
...
function effect now takes parameters as terms
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-08 20:47:04 -05:00
joshvera
f6bfec2d96
the tests compile!
2018-11-08 18:22:35 -05:00
joshvera
22bdbdfafe
Fix up import conflicts
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-08 12:55:42 -05:00
Rick Winfrey
ca0508c471
Export lookupDeclaration
2018-11-07 16:29:11 -08:00
Rick Winfrey
05c85c30e2
Add lookupDeclaration in Data.Abstract.Heap
...
This allows us to retrieve a frame address and position with which we can inspect slot values accordingly
2018-11-07 16:23:06 -08:00
joshvera
0c35a8a95c
Start fixing up tests
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-07 18:27:56 -05:00
joshvera
a49b7f5440
Add lookupFrameAddress to Heap
...
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-07 15:56:20 -05:00