1
1
mirror of https://github.com/github/semantic.git synced 2024-12-24 23:42:31 +03:00
Commit Graph

4289 Commits

Author SHA1 Message Date
Rick Winfrey
4becc96bf2 Update fixtures
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 11:43:41 -08:00
Rick Winfrey
75b9b9dab1 Update listable instances for new access control syntax
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 11:26:34 -08:00
Rick Winfrey
11cf3b5128 Extract type synonyms for EvalError and TypeScript term
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 10:47:54 -08:00
Rick Winfrey
9232caf32a Update spec with correct annotation
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 10:40:37 -08:00
Rick Winfrey
1685a9fa88 Construct terms and values rather than compare against strings
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-28 10:26:40 -08:00
Patrick Thomson
158476a284 start using real tests 2019-01-28 12:21:00 -05:00
Timothy Clem
919e026499 Merge branch 'master' into servant-experiment 2019-01-25 10:14:16 -08:00
Timothy Clem
6fc3aec6c8 Fix parse-examples 2019-01-24 14:36:10 -08:00
Patrick Thomson
46969defce Pull in upstream proto3-suite and kill the Exts module. 2019-01-24 13:13:47 -05:00
Patrick Thomson
92b5549d01 Move Envelope 2019-01-24 13:02:11 -05:00
Patrick Thomson
869bd26cae Move User.hs 2019-01-24 12:59:48 -05:00
Patrick Thomson
3cd4ffc9c3 RequestContext, RequestMethod, and RepositoryPush 2019-01-24 12:57:50 -05:00
Rick Winfrey
381dd17494 Update wording to be less confusing 2019-01-23 14:50:37 -08:00
Rick Winfrey
4180cd7f4c Remove pragma 2019-01-22 17:30:33 -08:00
Rick Winfrey
d1a9d56dfb Comment out other AccessControl constructors
I'm not sure why this is causing problems for the proto roundtrip tests
2019-01-22 16:58:18 -08:00
Timothy Clem
6befe07ea3 Remove rest of old diff renderers and Diff.hs 2019-01-22 12:05:45 -07:00
Timothy Clem
5e6d0240b2 Use the new diff api from the CLI, fix up tests again 2019-01-22 11:42:06 -07:00
Rick Winfrey
736ead4ade Update fixtures 2019-01-18 18:21:36 -08:00
Rick Winfrey
e7c984182c Update specs 2019-01-18 18:21:24 -08:00
Timothy Clem
154e0388af Goodbye Semantic.Parse 2019-01-18 16:04:23 -08:00
Timothy Clem
dad86f11e7 No more TermRenderer and all tests passing 2019-01-18 15:54:55 -08:00
Patrick Thomson
15508b1699 fix double-free that I introduced like a dummy 2019-01-18 18:17:27 -05:00
Rick Winfrey
c99dfc6d0f Clean up old fixture 2019-01-18 14:09:00 -08:00
Rick Winfrey
b79638ab7d Add string based private method spec for now 2019-01-18 14:08:48 -08:00
Rick Winfrey
30ef3ab52b Imports 2019-01-18 14:08:36 -08:00
Patrick Thomson
25f54b1851 tests compile again 2019-01-18 16:12:56 -05:00
Timothy Clem
f23110a73a Transition sexpression term rendering 2019-01-18 09:29:51 -08:00
Rick Winfrey
0639353cd1 Add private method fixture 2019-01-17 17:51:27 -08:00
Rick Winfrey
9c887e7eee Ensure private static field definitions are not accessible by external member access 2019-01-17 17:21:16 -08:00
Rick Winfrey
a5fcc3f1df Ensure private field definitions throw when accessed via external syntax 2019-01-17 17:17:53 -08:00
Timothy Clem
15643e1d4f Switch over ToCDiffRenderer (will fix the tests next) 2019-01-17 15:58:49 -08:00
Timothy Clem
d8ef1c1f40 Fix up tests 2019-01-17 15:36:56 -08:00
Timothy Clem
e3afd9d684 Symbol rendering is entirely on the new path 2019-01-17 15:13:39 -08:00
Rick Winfrey
4998421038 Compare directly against SomeError ... rather than String values
Co-Authored-By: Rob Rix <robrix@github.com>
2019-01-17 14:02:54 -08:00
Rick Winfrey
c7b1d13ab0 Compare against strings 2019-01-17 12:50:33 -08:00
Rick Winfrey
d4abe75456 Merge branch 'master' into visibility-resolution 2019-01-16 18:31:44 -08:00
Rick Winfrey
bf3ff6154a Update tests for new AccessControl / Relation split 2019-01-16 18:20:33 -08:00
Rick Winfrey
12e63cac6d Comment this for now 2019-01-16 18:19:51 -08:00
Ayman Nadeem
896cfe983c Reference Data.Abstract.Value.Concrete and not Control.Abstract.Value 2019-01-15 16:54:00 -05:00
Ayman Nadeem
2f29c9a566 disambiguate 2019-01-15 16:47:40 -05:00
Ayman Nadeem
b1b014a993 fix conflicts 2019-01-15 13:20:48 -05:00
Rick Winfrey
2a4cc4eab2 Update example 2019-01-14 15:21:25 -08:00
Patrick Thomson
0eb3ea5bb6 Sanity, lint, and documentation pass. 2019-01-14 11:06:17 -05:00
Patrick Thomson
3728044fcc the Present pattern comes in handy again 2019-01-11 12:33:33 -05:00
Patrick Thomson
1f4a24b569 Merge remote-tracking branch 'origin/master' into indexer-prototype 2019-01-11 12:28:29 -05:00
Patrick Thomson
34cfa42584 rename spec and add toByteString 2019-01-11 12:27:47 -05:00
Patrick Thomson
f750f2952a Remove 'both' function. 2019-01-10 15:53:15 -05:00
Patrick Thomson
2e66bc3443 Simplify Data.Functor.Both.
Though the previous definition (a type synonym that wrapped `Join (,)`)
was clever, it required a number of orphan instances, as well as an extra
`both` function to simulate a `Both` constructor. Using an ordinary data
structure removes the need for orphan instances.
2019-01-08 17:34:47 -05:00
Rick Winfrey
b1784c0058 WIP: this currently fails to compile but indicates what I would like to destructure and assert against 2018-12-20 17:05:50 -08:00
Rick Winfrey
8431d62b5f Update Evaluator.Spec with new Visibility 2018-12-20 17:03:32 -08:00
Rick Winfrey
24a386c2ff Fix Listable1 instance for Visibility 2018-12-20 17:03:17 -08:00
Rick Winfrey
dda77a80df Update Listable1 instance for Declartion.Method 2018-12-19 13:19:55 -08:00
Rick Winfrey
5942249864 Define liftCons6 2018-12-19 13:19:38 -08:00
Rob Rix
f37b417fd9 Correct the EvaluatorSpec. 2018-12-18 11:19:47 -05:00
Rob Rix
6bce2b117f Merge branch 'master' into factor-abstract-value-as-value-effects 2018-12-18 11:15:58 -05:00
Rick Winfrey
e58c21e457 Add failing accessibility test case 2018-12-14 17:06:29 -08:00
joshvera
dab7c6d86a Revert changes to class1.ts 2018-12-13 19:05:11 -05:00
joshvera
4afe93a97d Rename __semantic_self to __self 2018-12-13 18:14:13 -05:00
Rick Winfrey
76f4e2bc87 Add public field test for TypeScript
Co-Authored-By: Josh Vera <vera@github.com>
2018-12-13 14:20:42 -08:00
Rick Winfrey
dd0a85a1db Update to use new Relation for declare 2018-12-13 14:17:39 -08:00
Rick Winfrey
006ad8085d 💅 alignment 2018-12-13 13:41:45 -08:00
joshvera
a69991309c Revert generic changes to class2.ts
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-13 13:14:56 -05:00
Rob Rix
ace844a004 Use the Float constructor. 2018-12-13 11:34:56 -05:00
Rob Rix
916e0acf26 Fix ambiguous references to the Integer constructor. 2018-12-13 11:11:08 -05:00
Rob Rix
52863de0e3 Fix alignment. 2018-12-13 11:10:08 -05:00
Rob Rix
6f25df9080 🔥 reference to the Symbol constructor. 2018-12-13 11:07:18 -05:00
joshvera
09c3cce304 WIP 2018-12-12 17:13:52 -05:00
joshvera
de1719c128 Merge remote-tracking branch 'origin/master' into new-expressions 2018-12-12 15:59:41 -05:00
Rob Rix
d7f915373b Merge branch 'master' into factor-abstract-value-as-value-effects 2018-12-12 14:53:41 -05:00
Patrick Thomson
02c66ad210 Merge branch 'master' into bump-ts-go-and-ruby 2018-12-12 12:23:40 -05:00
Patrick Thomson
3135426fcd Use clone-example-repos to get Go and Ruby examples.
Go tests appear to be broken. Gonna file an issue about it.
2018-12-12 11:14:16 -05:00
Patrick Thomson
51331c505e turn the last spec back on and add docs 2018-12-11 18:10:57 -05:00
Patrick Thomson
684a752773 remove Semantic.Util.Rewriting 2018-12-11 17:47:13 -05:00
Patrick Thomson
e329cbe89a unify the last spec 2018-12-11 17:36:42 -05:00
Rob Rix
89793d2cf5 Fix the specs. 2018-12-11 17:21:57 -05:00
Patrick Thomson
1de0e9ef09 move specs around 2018-12-11 17:21:39 -05:00
Patrick Thomson
1f44f81acc Unify Control.Rewriting and Control.Matching. 2018-12-11 17:12:24 -05:00
joshvera
18367e0ffb fix type errors in tests 2018-12-11 16:51:21 -05:00
Josh Vera
d26c96b6bf Merge branch 'master' into bump-ts-go-and-ruby 2018-12-11 15:52:02 -05:00
Patrick Thomson
6001ae38b5 Merge branch 'master' into bump-ts-go-and-ruby 2018-12-11 15:10:47 -05:00
joshvera
9508518acf Merge remote-tracking branch 'origin/master' into new-expressions 2018-12-11 13:13:37 -05:00
Rob Rix
4c796843e7 🔥 all the non-empty lists in the specs. 2018-12-11 13:07:45 -05:00
Rob Rix
35fd93be1c Merge branch 'master' into evaluate-to-values 2018-12-11 09:12:48 -05:00
joshvera
e0a11fac91 Fix heap test since we construct one for a console namespace now 2018-12-10 16:58:08 -05:00
joshvera
b12fbed41a Merge remote-tracking branch 'origin/master' into heap-frames 2018-12-10 16:38:55 -05:00
Patrick Thomson
5a2ff17278 temporarily disable go and ruby tests until we can decide what to do 2018-12-10 16:28:38 -05:00
joshvera
5255562e05 Remove comments 2018-12-10 16:21:57 -05:00
joshvera
75ac094409 Update Greeter example to Adder 2018-12-10 16:21:42 -05:00
Rob Rix
7b5c01eae0 Add an Unspecialized constructor for ref. 2018-12-10 12:40:03 -05:00
joshvera
080ac13872 Regen unit tests 2018-12-10 12:15:54 -05:00
Rob Rix
96949fd9fb 🔥 a redundant import. 2018-12-10 11:38:33 -05:00
Rob Rix
799fe67107 Spacing. 2018-12-10 11:27:05 -05:00
Rob Rix
c8682806ef 🔥 a redundant import. 2018-12-10 10:48:34 -05:00
Rob Rix
cde42e1c64 Spacing. 2018-12-10 10:48:25 -05:00
Rob Rix
a839a19b54 🔥 some redundant imports of ValueRef. 2018-12-10 10:38:52 -05:00
joshvera
3bff825368 Add test files for new expressions 2018-12-07 16:55:38 -05:00
joshvera
1d49437996 Remove a.ts from test
This test doesn't use it
2018-12-07 16:55:01 -05:00
Rob Rix
0b36f9bad1 Module results hold values. 2018-12-07 15:23:03 -05:00
Rob Rix
111b9ec1c9 Fix up the evaluator spec. 2018-12-07 15:20:55 -05:00
Rob Rix
df4413f2a4 Calls return values. 2018-12-07 14:46:41 -05:00
Rob Rix
80ce9ab357 Functions return values. 2018-12-07 14:30:47 -05:00
Rob Rix
36a7c31166 LoopControl operates on values, not ValueRefs. 2018-12-07 12:52:51 -05:00
Rob Rix
09d616788e Return holds a value, not a ValueRef. 2018-12-07 12:38:16 -05:00
Patrick Thomson
0d361e9b0b Add ZSuper syntax node (#2292)
Previously, invocations of `super` were captured as an `Identifier`.
It is straightforward enough to return a ZSuper instead.
2018-12-07 12:21:32 -05:00
joshvera
8dbdc7ded2 Remove comments 2018-12-07 11:29:35 -05:00
joshvera
1b23d1d0dd Merge remote-tracking branch 'origin/master' into heap-frames 2018-12-06 16:32:38 -05:00
Rob Rix
f2c9083708 Correct the span of the error in the Ruby spec.
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 13:02:18 -05:00
Rob Rix
7e20624506 Correct the test of bad exports.
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-12-06 12:59:16 -05:00
Rob Rix
f9c124f303 Replace the address pair Reader with separate CurrentFrame/Scope Readers. 2018-12-06 12:03:07 -05:00
joshvera
52c685d30f Implement default export instance 2018-12-05 15:45:20 -05:00
joshvera
eae6b7c8b3 Add tests for QualifedExportFrom 2018-12-05 15:07:37 -05:00
joshvera
a2026e8ada Add valueRef tests back 2018-12-05 12:44:52 -05:00
joshvera
60ad7e7263 Bring back valueRef tests 2018-12-05 12:22:32 -05:00
joshvera
73ae9f85a1 Deref slots in evalRubyProject
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-05 12:12:13 -05:00
joshvera
073dca372d Remove Data.Abstract.Environment 2018-12-05 10:20:35 -05:00
joshvera
781e52f843 Format and remove Environment 2018-12-05 10:14:16 -05:00
joshvera
26d3e5e449 Remove Environment 2018-12-05 09:42:00 -05:00
joshvera
4428cd0ab8 Implement ruby assignment as a separate syntax
So it can declare a variable in case it isn't shadowing one
2018-12-04 19:22:58 -05:00
joshvera
4f071f46ac Remove valueRef tests
It's be nice to deref these in evaluate
2018-12-04 18:15:24 -05:00
joshvera
9f6579edaf Fix call function test to test the value
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-12-04 17:14:50 -05:00
Rob Rix
f75c2b14a1 Build function scopes in the Evaluatable instances. 2018-12-04 14:55:25 -05:00
joshvera
debefff57c Differentiate between Import and Superclass edge tests 2018-12-04 11:24:01 -05:00
joshvera
4b0a88881b Expect dang method on Baz
And to choose the correct superclass method
2018-12-04 10:36:23 -05:00
joshvera
766f9bd018 Look in Classes for objectMembers 2018-12-04 10:35:52 -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
Rick Winfrey
33a16ee1a2 Clean up unused imports 2018-11-30 16:23:43 -08:00
Rick Winfrey
b20e2d3f7e Export lists 2018-11-30 16:23:29 -08:00
Rick Winfrey
83a60c3fdf Don't need Semigroup here 2018-11-30 16:23:10 -08:00
Rick Winfrey
eefd90ce39 Export list 2018-11-30 16:22:57 -08:00
joshvera
983165b437 Remove redundant side effect test
Covered by "side effect only imports dont expose exports"
2018-11-29 20:19:40 -05:00
joshvera
b35e1a0718 change Address to Slot in tests 2018-11-29 20:16:29 -05:00
joshvera
0cd64662f2 Rename Address to Slot 2018-11-29 20:07:30 -05:00
joshvera
17c4bf350c Add lookupObjectMembers function to tests 2018-11-29 19:37:20 -05:00
joshvera
70fa31f11e Fix expectation of sequence expression test 2018-11-29 18:38:32 -05:00
joshvera
96dde3fc9e Change these to shouldContain
since print shows up otherwise
2018-11-29 13:16:34 -05:00
joshvera
ca402c9071 It's called xit 2018-11-29 13:05:54 -05:00
joshvera
6ad4cae09e Disable the PHP tests 2018-11-29 13:02:12 -05:00
joshvera
68697419ec Export traceShowM and traceM from SpecHelpers 2018-11-29 13:01:11 -05:00
joshvera
168c31525b Fix type errors 2018-11-29 12:31:42 -05:00
joshvera
5f20ae654a pass scopeAndFrame 2018-11-29 11:26:51 -05:00
joshvera
07c6003693 PHP tests 2018-11-29 11:10:16 -05:00
Rick Winfrey
9a7c739a24 Get Python tests compiling 2018-11-28 17:44:02 -08:00
Rick Winfrey
2b1ed70230 Fix up TypeScript tests 2018-11-28 17:39:01 -08:00
Rick Winfrey
068b79a923 Use qualified lookupDeclaration 2018-11-28 17:38:52 -08:00
Rick Winfrey
4931670c81 Fix up Ruby tests 2018-11-28 16:59:05 -08:00
Rick Winfrey
c350ae7377 TraceByIgnoringC 2018-11-28 16:55:26 -08:00
joshvera
96badd080f fix this test
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-28 18:48:23 -05:00
joshvera
65a8949a06 Fix the shape of scope and heap outputs in testEvaluating
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-28 18:47:10 -05:00
joshvera
456efeca9d Change the order of ModuleResult 2018-11-28 17:27:42 -05:00
Rick Winfrey
3969261554 Merge branch 'heap-frames' of https://github.com/github/semantic into heap-frames 2018-11-27 13:32:51 -08:00
Rob Rix
1d86bdb6ef Merge branch 'master' into minor-symbols-improvements 2018-11-27 15:17:05 -05: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
Rick Winfrey
d44169b6f6 Merge branch 'master' into heap-frames 2018-11-27 08:32:00 -08:00
joshvera
fd516f0573 Fix Delete test since JS delete deletes the slot 2018-11-27 11:14:21 -05:00
joshvera
2b11d7aa2a Fix up python test and function args 2018-11-26 20:07:37 -05:00
Timothy Clem
f15851eed8 Demonstrate that we can pick out classes through ScopeResolution 2018-11-26 14:37:56 -08:00
Rob Rix
51d5719632 Decode the bytes in Verbatim. 2018-11-26 15:19:12 -05:00
joshvera
0186178ce1 Add import across modules test back
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:33:28 -05:00
joshvera
cda046910a Add Bar call back in fixtures
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:30:19 -05:00
joshvera
799baa9415 Enable go import tests
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:29:59 -05:00
joshvera
7ade83a367 objectMembers
Co-Authored-By: Rob Rix <rob.rix@github.com>
2018-11-26 13:06:01 -05:00
joshvera
f1ea66012b Initialize the slots of a frame when creating it 2018-11-20 20:03:17 -05:00
joshvera
b08d426f9c Add lets to test typescript files 2018-11-16 18:57:26 -05:00
joshvera
4f1d67f172 Fix typescript tests 2018-11-16 18:53:57 -05:00
joshvera
21b211a4f4 fix qualified imports test 2018-11-16 18:19:18 -05:00
joshvera
ea7a576c31 fix imports with aliased symbols test 2018-11-15 19:45:24 -05:00
joshvera
64786d30f9 Declaration positions are 0 indexed 2018-11-15 19:35:46 -05:00
joshvera
d7db6d3cbc docs 2018-11-15 19:30:59 -05:00
joshvera
2f32fd6f2b fix empty heap test 2018-11-15 18:44:47 -05: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
b0966e0e3b valueRef should be a Unit 2018-11-15 13:32:58 -05:00
joshvera
4769c2cb24 regenerate javascript fixtures
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-15 13:27:37 -05:00
joshvera
5c4dde8d54 fix up test fixtures
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-15 13:24:46 -05:00
joshvera
80f7c6585d Fix up tests
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-15 13:17:22 -05:00
joshvera
c7040f6131 fix test type errors
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:46:30 -05:00
joshvera
dba7f17d48 spoke too soon
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:20:35 -05:00
joshvera
680681f944 fix up EvalError in tests
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:19:42 -05:00
joshvera
8a4aa24889 Add a function call example
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-14 19:18:52 -05:00
Timothy Clem
1d23968c53 Fix tests 2018-11-13 14:59:20 -08:00
joshvera
fb5e4400a1 modify test files
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:09:20 -05:00
joshvera
ddb9b31a09 Add imports functions test
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-13 14:09:13 -05:00
Timothy Clem
2e1626d949 Make symbols output also return partial results 2018-11-13 11:02:23 -08:00
joshvera
eb54f7743f add some heap tests 2018-11-13 12:17:52 -05:00
joshvera
71a73150c9 Ensure we can't look up baz from side effect imports 2018-11-13 12:06:22 -05:00
joshvera
4fed5eb1e7 export baz in a.ts 2018-11-13 12:06:05 -05:00
Rick Winfrey
9d54e063ac First real passing test 🎉
Co-Authored-By: Josh Vera <vera@github.com>
2018-11-09 12:48:11 -08:00
joshvera
f9c6590f61 Remove baz export
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 13:05:48 -05:00
joshvera
4c02f11edc add main3.ts
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 13:05:26 -05:00
joshvera
b28876b8d9 Add imports functions test
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-09 13:05:14 -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
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
66db8a860c python imports test
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-08 13:04:17 -05:00
joshvera
9fbede0b75 Fix up typescript tests
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-08 13:04:04 -05:00
joshvera
20cf855423 return a list of values from lookupDeclaration
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-08 12:56:08 -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
Timothy Clem
57f284f847 Streamline the declarations for toc summaries 2018-11-08 08:33:26 -08:00
Rick Winfrey
1cfd61ca0a Fixup a few more tests 2018-11-07 16:29:33 -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
Timothy Clem
8c0dd6d3b5 Just return the first line if function defs span multiple lines 2018-11-07 11:48:50 -08:00
joshvera
f51d3a90a8 Run ScopeGraph and Heap in tests
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-07 14:09:18 -05:00
joshvera
1a6d7e77f3 Remove EnvironmentError from Evaluator/Spec
Co-Authored-By: Rick Winfrey <rick.winfrey@gmail.com>
2018-11-07 14:09:01 -05:00
Timothy Clem
343289f1c5 Merge remote-tracking branch 'origin/master' into docstrings-round2 2018-11-06 09:17:49 -08:00
Patrick Thomson
bdc5db555b rename and prune 2018-11-05 16:56:49 -05:00
Timothy Clem
e14f59b165 Re-generate test with addition of statements in python assignment 2018-11-05 13:12:50 -08:00
Timothy Clem
bdb7ee0430 More tests 2018-11-05 13:09:37 -08:00
Timothy Clem
d0fc88efee Some python specs for tags 2018-11-05 12:33:23 -08:00
Timothy Clem
0a9034e28f Space and docs 2018-11-05 07:57:21 -08:00
Patrick Thomson
292a268b00 better name for infix operator 2018-11-04 14:46:19 -05:00
Patrick Thomson
7ea52dbfe3 Give Control.Matching API better ergonomics.
Given that @tclem and I have found the matcher API frustrating, I've
taken a stab at improving its ergonomics, and I've found some success
in separating composition of matchers from predicate-based narrowing
thereof.

The biggest change here is the elimination of the old `match`
combinator, which proved to be clumsy in that it complected narrowing
and composition. Top-down matching combinators are now written with
the `need` combinator and the `>>>` combinator, which is more readable
and more versatile. Here's a matcher that accepts functions with
Python docstrings:

```haskell
docstringMatcher :: ( Decl.Function :< fs
                    , [] :< fs
                    , Lit.TextElement :< fs
                    , term ~ Term (Sum fs) ann
                    ) => Matcher term term
docstringMatcher = target <*
               (need Decl.functionBody
                >>> narrow @[]
                >>> mhead
                >>> narrow @Lit.TextElement
                >>> ensure Lit.isTripleQuoted))
```

Pretty readable, right? Each step of the tree regular expression -
choosing function bodies, ensuring said bodies are lists, examining
the first element, and choosing only TextElements containing
triple-quoted strings - is made implicit. The old way would have
looked something like this:

```haskell
docstringMatcher = target <* match Decl.functionBody
                           $ narrow
                           $ matchM listToMaybe
                           $ target <* ensure Lit.isTripleQuoted
```
which is a good deal more disorganized and less flexible
in the quite-common case of applying functions during a
matching pass. Separating the act of composition from
function application is a big win here.

Further comments are inline.
2018-11-02 19:25:29 -04:00
Timothy Clem
0f56f33f24 Introduce some symbol/tags tests 2018-11-02 13:55:30 -07:00
Timothy Clem
223298b86a Merge remote-tracking branch 'origin/master' into docstrings-round2 2018-11-02 12:54:21 -07:00
Timothy Clem
018dc73af9 Python assignment: conditionally include annotation on functions 2018-11-02 12:39:38 -07:00
Josh Vera
9f22607fc0 Merge branch 'master' into diff-via-fused-effects 2018-11-01 22:21:46 -04:00
Timothy Clem
4ef4c63851 I changed functions in python that don't have annotations 2018-11-01 17:48:27 -07:00
Patrick Thomson
514dacf756 Merge branch 'master' into add-data-coerce-to-prologue 2018-11-01 12:51:21 -04:00
Rob Rix
98805db943 Merge branch 'master' into diff-via-fused-effects 2018-10-31 18:39:24 -04:00
Patrick Thomson
aaf7bba187 And kill Doctests.hs. 2018-10-31 15:56:57 -04:00
Patrick Thomson
b9cf8f73c6 Environment and App. 2018-10-31 15:47:30 -04:00
Patrick Thomson
d473b9e1af add Data/Abstract/Name/Spec 2018-10-31 13:19:43 -04:00
Patrick Thomson
b0e6190dbf add Data/Range/Spec 2018-10-31 12:46:52 -04:00
Patrick Thomson
cd05aaa7a5 add Data/Graph/Spec 2018-10-31 12:30:56 -04:00
Patrick Thomson
27a9ae546a Merge branch 'master' into add-data-coerce-to-prologue 2018-10-31 09:09:37 -04:00
Rob Rix
c95822894e Merge branch 'master' into diff-via-fused-effects 2018-10-30 23:03:50 -04:00
Rob Rix
74f183921a Merge branch 'master' into break-dependency-of-config-on-SHA 2018-10-30 15:40:48 -04:00
Rob Rix
994464105c Merge branch 'master' into diff-via-fused-effects 2018-10-30 15:40:42 -04:00
Patrick Thomson
c4698ff96c Merge branch 'master' into add-data-coerce-to-prologue 2018-10-30 15:40:14 -04:00
Patrick Thomson
3caa753808 Add Data.Coerce to the Prologue.
This is ubiquitous enough that we should just export it.
2018-10-30 15:12:45 -04:00
Rob Rix
4ec497b793 Use runTask when we aren’t setting the Options. 2018-10-30 14:49:07 -04:00
Patrick Thomson
6b476d0eb7 Add 'purely' combinator to Matching and rename it.
@tclem and I found ourselves wanting an arrow-like combinator that
promotes a given function to a Matcher. While I think an Arrow
instance is going a little overboard, there's no harm in adding a
'purely' function, the naming of which is commensurate with the
rewriting DSL.

This also renames the module, since there's not anything really
abstract about matching (indeed, it is quite concrete).
2018-10-30 11:04:11 -04:00
Rob Rix
898fa73969 Hide the import of Diff. 2018-10-29 11:19:40 -04:00
Rob Rix
131cae4d7b Merge branch 'master' into higher-order-effects 2018-10-24 14:04:13 -04:00
Rob Rix
15a8917c84 Simplify the FunctionC carrier instances. 2018-10-24 11:00:54 -04:00
Rob Rix
83ac081cec SomeError. 2018-10-24 10:32:05 -04:00
Rob Rix
512415db6a Fix the import of SomeError. 2018-10-24 10:11:27 -04:00
Rob Rix
b6252f82f5 SomeError, not SomeExc. 2018-10-24 10:11:18 -04:00
Rob Rix
90338e92fc Update the TOC spec for the new effect system. 2018-10-24 10:09:57 -04:00
Rob Rix
ee1491ab51 Fix namespaceScope. 2018-10-24 10:06:22 -04:00
Rob Rix
090a395bb6 Fix up the carrier type. 2018-10-24 10:05:22 -04:00
Rob Rix
fd1cc7d8cd Fix some other handlers. 2018-10-24 10:01:55 -04:00
Rob Rix
780d0a478b Rename the carrier. 2018-10-24 10:01:49 -04:00
Rob Rix
46ca8ac121 Fix a bunch of handlers. 2018-10-24 09:59:57 -04:00
Rob Rix
de9e610a2f Correct the name of the Trace carrier. 2018-10-24 09:58:35 -04:00
Rob Rix
ce37fd58f1 Fix some imports. 2018-10-24 09:58:06 -04:00
Rob Rix
647f960c26 Fix SpecEff. 2018-10-24 09:47:24 -04:00
Rob Rix
739426de50 Fix a couple of handlers. 2018-10-24 09:47:14 -04:00
Patrick Thomson
ef696d3c41 Split up Semantic.IO.
This looks like a big patch, but it's very straightforward: no
behavior has changed.

After the umpteenth time spent hitting a compile error because I
passed a `FilePath` rather than a `File` to `readBlobFromPath`, I
decided to finally make the needed refactors to Semantic.IO, and to
split off the `File` type and `Files` effect. This patch:

* adds the `MonadIO` class to `Prologue`'s export list
* moves `File` into `Data.File`
* moves `Handle` into `Data.Handle`
* moves `Files` into `Semantic.Task.Files`
* moves functions for reading blobs into `Data.Blob`
* keeps general IO helpers in Semantic.IO
* renames `readFile` to `readBlobFromFile`
* renames `readBlobFromPath` to `readBlobFromFile'`

This should have a positive effect on compile times and ease of
navigation throughout the codebase.
2018-10-23 15:37:49 -04:00
Rob Rix
a7f59e55bc SomeError, not SomeExc. 2018-10-22 09:53:59 -04:00
Rob Rix
3ef2efa73a Merge branch 'master' into higher-order-effects 2018-10-22 09:45:57 -04:00
Patrick Thomson
d3db754004 weirdness in tests 2018-10-16 23:04:39 -04:00
Rob Rix
c9e6912068 Port most of the system over to higher-order-effects. 2018-10-16 18:48:08 -04:00
Patrick Thomson
ebda4bfaa1 Merge branch 'master' into bracket-effect 2018-10-16 17:52:30 -04:00
Patrick Thomson
1de1f0b5c1 try catching ParserTimedOut exceptions in parse-examples 2018-10-16 17:39:36 -04:00
Patrick Thomson
5e52bede0a Fix the test suite. 2018-10-15 12:47:18 -04:00
Timothy Clem
ac70c565cc Change up what Declarations we identify 2018-10-05 09:54:57 -07:00
Rob Rix
5c2dac35e8 Merge branch 'master' into first-order-closures 2018-09-27 13:37:25 -05:00
Timothy Clem
35d77b505e Revert tableOfContentsBy removal of extra Maybe 2018-09-27 13:05:11 -05:00
Timothy Clem
2d1a8cc7e7 Express this a bit more elegantly 2018-09-26 16:55:34 -05:00
Timothy Clem
44b8e9249a Align the things 2018-09-26 16:54:48 -05:00
Timothy Clem
c8dfe57a48 Remove Data.Record entirely 2018-09-26 14:05:29 -05:00
Timothy Clem
1913277e74 Replace the annotation necessary for toc
Includes span in Declaration, refactors toc functions to remove a layer of maybe
2018-09-26 13:54:16 -05:00
Timothy Clem
f6f556fb32 TOC is the only thing with a custom annotation right now 2018-09-25 17:09:43 -05:00
Timothy Clem
a6ad3f7f59 Reduce usage of DiffAnnotation 2018-09-25 16:52:40 -05:00
Rob Rix
0653832d9d Swap the order of the parameters to Value. 2018-09-25 16:38:05 -05:00
Rob Rix
6affc61d26 The tests pass. That’s all that matters. 2018-09-25 15:17:06 -05:00
Rob Rix
2db44ac715 Fix the eval spec. 2018-09-25 14:41:57 -05:00
Timothy Clem
505c61959e This goes back to throwing now 2018-09-25 14:04:58 -05:00
Rob Rix
f3c20a8fad ConcreteEff is no more. 2018-09-25 13:40:07 -05:00
Timothy Clem
5e2241ffe9 Don't need to know about Record here either 2018-09-25 11:20:57 -05:00
Timothy Clem
278e6890cd Fix up the tests 2018-09-25 11:18:51 -05:00
Rob Rix
c6769d2e01 Resume using a first-order definition of functions. 2018-09-21 14:42:57 -04:00
Timothy Clem
a481f2ac2e TypeOperators required 2018-09-21 09:47:36 -07:00
Timothy Clem
dfe8c842ed Term doesn't need to know about Record 2018-09-21 09:42:24 -07:00
Rob Rix
038b56970e Parameterize Evaluator by the term type. 2018-09-20 12:43:59 -04:00
Patrick Thomson
ba18287311 Merge branch 'master' into reprinting-pipeline-rename 2018-09-19 13:08:52 -04:00
Patrick Thomson
8e1ca410bb Remove Hungarian-style T- prefix from tokens and scopes.
Prefixes on data constructors are generally an antipattern in Haskell:
if you're concerned about name collisions, have clients use qualified
imports for whatever modules they need. As such, this removes the T-
prefixes from the `Token` and `Context` types. This also renames
Context to Scope, which is a more exact and readable name.
2018-09-19 12:38:48 -04:00
Patrick Thomson
22cf72c20f Merge branch 'master' into term-rewriting-mk2 2018-09-19 11:51:28 -04:00
Patrick Thomson
2998c8f8cc last few changes 2018-09-19 11:03:59 -04:00
Timothy Clem
20ccdc19de Merge branch 'master' into javascript-parse-examples 2018-09-19 07:54:52 -07:00
Timothy Clem
253975164a Test out JavaScript parse-examples 2018-09-18 15:32:56 -07:00
Patrick Thomson
d68c7975d7 Merge branch 'master' into new-take-on-parse-examples 2018-09-18 17:51:22 -04:00
Patrick Thomson
efb0b0a0f7 Change Rule to RuleM and PureRule to Rule. 2018-09-18 17:33:01 -04:00
Timothy Clem
6817193cbc Mark assignment timeouts as pending 2018-09-18 13:00:31 -07:00
Patrick Thomson
3d1bccc3f4 cleaner tests 2018-09-18 15:45:17 -04:00
Patrick Thomson
2dc8bb0041 Merge branch 'master' into term-rewriting-mk2 2018-09-18 15:18:21 -04:00
Timothy Clem
a25e848c9f Fix assigning comments with multiple elif in Python 2018-09-18 10:43:18 -07:00
Patrick Thomson
6e65f9060d Merge remote-tracking branch 'origin/master' into term-rewriting-mk2 2018-09-18 13:31:58 -04:00
Patrick Thomson
9eb7fe5cd8 reenable all the tests 2018-09-18 13:18:31 -04:00
Josh Vera
8d9c627579 Merge branch 'master' into scopes-and-frames 2018-09-18 13:14:27 -04:00
Timothy Clem
fdfb8228b6 Only python to start 2018-09-18 08:36:48 -07:00
Timothy Clem
d83630443b Rename 2018-09-18 08:36:40 -07:00
Timothy Clem
31ca888da7 Introduce datatype for these language examples 2018-09-17 16:46:45 -07:00
Timothy Clem
15f7e57571 First pass at doing parse-examples in haskell and hspec 2018-09-17 15:49:18 -07:00
Timothy Clem
344873f0f7 Go corpus back the other way? 2018-09-17 11:26:47 -07:00
Timothy Clem
64c9d20826 Error span changed 2018-09-17 09:56:39 -07:00
Timothy Clem
c97d43aaca Refinement of types is Go 2018-09-17 09:56:31 -07:00
Timothy Clem
883d4586c0 TypeScript fixes for more type identifiers 2018-09-17 09:48:47 -07:00
Timothy Clem
80dfd75635 Ruby corpus changes 2018-09-17 09:30:03 -07:00
joshvera
5c96b3d6d7 Merge remote-tracking branch 'origin/master' into scopes-and-frames 2018-09-17 12:08:27 -04:00
Patrick Thomson
f6f2476641 fix tests 2018-09-17 11:17:10 -04:00
Patrick Thomson
ec7ee9da62 improve JSON formatting so the diff doesn't whine 2018-09-17 10:52:28 -04:00
joshvera
eb71b512b3 Fix test type errors 2018-09-14 18:04:08 -04:00
Patrick Thomson
d1cc400dc0 add spec file 2018-09-14 13:10:22 -04:00
Patrick Thomson
7129435dc8 Merge remote-tracking branch 'origin/master' into simplify-reprinter
also incorporates a number of changes. oops.
2018-09-12 12:14:01 -04:00
Patrick Thomson
d6eaae9555 further cleanup and refinement of tests 2018-09-12 11:46:41 -04:00
Patrick Thomson
0802e0a9f2 Use a deep embedding for Tokenize. 2018-09-11 18:54:37 -04:00
Timothy Clem
addc6a6c6f Fix a few more go fixtures 2018-09-10 15:41:16 -07:00
Timothy Clem
ceed3b0ae4 Fix a few test fixtures due to structure changes 2018-09-10 11:15:34 -07:00
Timothy Clem
31d093d1c9 Fix tests 2018-09-06 16:29:59 -07:00
Timothy Clem
16b99b8634 One more roundtrip test 2018-09-06 16:29:32 -07:00
Timothy Clem
b3e593fc55 Merge branch 'master' into no-ruby-pipeline 2018-08-30 14:31:00 -07:00
Timothy Clem
18140cd1e6 Merge branch 'master' into partial-results 2018-08-30 13:12:53 -07:00
Timothy Clem
df17d9ffda Don't do miniRuby either 2018-08-30 13:10:18 -07:00
Timothy Clem
099faacbce Re-work these tests now that we return if parse fails 2018-08-30 12:51:29 -07:00
Timothy Clem
5939a6139d Remove segfaulting miniPythonParser test for now 2018-08-29 10:42:36 -07:00
Timothy Clem
34648a263a Merge branch 'master' into source-aware-reprinter 2018-08-28 11:34:53 -07:00
Timothy Clem
0931fc81f2 Add a simple roundtrip spec for python printing 2018-08-28 10:31:54 -07:00
Timothy Clem
68a93c6740 Python example code 2018-08-28 09:12:56 -07:00
joshvera
6b8c0c0f06 Merge remote-tracking branch 'origin/master' into entry-points 2018-08-27 12:49:47 -04:00
joshvera
bc6614aa12 Merge remote-tracking branch 'origin/master' into entry-points 2018-08-27 12:05:20 -04:00
Timothy Clem
2cb6479797 Merge branch 'master' into source-aware-reprinter 2018-08-27 08:10:42 -07:00
Timothy Clem
9a347c9d27 Tokenize and print subtraction as well 2018-08-24 14:07:49 -07:00
Timothy Clem
bf5e72fc6d Fix up tests, since I moved these helpers 2018-08-24 11:07:54 -07:00
Timothy Clem
1bb0e3c149 Handle printing binary multiplication with precedence! 2018-08-24 10:59:09 -07:00
Timothy Clem
e9e8edbebe Dedicated util for rewriting 2018-08-24 10:35:38 -07:00
Patrick Thomson
0d4aaef985 Merge branch 'master' into source-aware-reprinter 2018-08-23 18:32:58 -04:00
Rob Rix
779972acb5 Merge branch 'master' into boolean-value-effect 2018-08-23 13:15:41 -04:00
Rob Rix
d21f0976f0 Run the boolean effect in the evaluator spec. 2018-08-23 13:08:38 -04:00
Ayman Nadeem
4be365ddcb add test 2018-08-23 11:25:20 -04:00
Timothy Clem
8f6d1ee873 Merge branch 'master' into source-aware-reprinter 2018-08-23 07:47:48 -07:00
Timothy Clem
3214519718 Very basic test for ruby printing 2018-08-22 13:47:30 -07:00
Timothy Clem
3e0a6b95cc Lints, formatting, docs, cleanup 2018-08-22 13:35:40 -07:00
Ayman Nadeem
9d676c5ba1 make these tests passsssgit diffgit diff 2018-08-21 18:33:16 -04:00
Timothy Clem
945712bca6 Examples 2018-08-21 13:25:14 -07:00
Timothy Clem
1a9200b783 tokenizing for Ruby blocks (functions) 2018-08-21 13:17:13 -07:00
Ayman Nadeem
5949c6e7d6 Merge branch 'master' into evaluatable-instances 2018-08-21 15:55:15 -04:00
Timothy Clem
5ac0b5a900 Continue to refine tokenize api with Ruby as example 2018-08-21 11:16:39 -07:00
Timothy Clem
beb0f5f6c3 This got renamed 2018-08-21 09:39:47 -07:00
Charlie Somerville
ec852844cb reshuffle module layout so that Environment can depend on Heap 2018-08-21 13:42:45 +10:00
Timothy Clem
b0311ff77e Ruby test hardness for ghci 2018-08-20 18:11:41 -07:00
Ayman Nadeem
da79989904 add test for await 2018-08-20 17:42:58 -04:00
Ayman Nadeem
c6b31ab886 fix rshift and lshift tests 2018-08-20 17:01:13 -04:00
Ayman Nadeem
167e9e3934 test for rshift 2018-08-20 16:57:35 -04:00
Ayman Nadeem
8cf838217c test for lshift 2018-08-20 16:56:37 -04:00
Ayman Nadeem
a3bec5b910 add tests for bor, band, bxor 2018-08-20 16:47:59 -04:00
Timothy Clem
3c53862e19 Merge remote-tracking branch 'origin/master' into source-aware-reprinter 2018-08-20 10:17:38 -07:00
Timothy Clem
441c47f5ec Fix up specs 2018-08-20 09:03:03 -07:00
Ayman Nadeem
51e19ee242 add test for BOr statements 2018-08-17 23:47:14 -04:00
Timothy Clem
cd3233549a WIP, language translation as an additional step in pipeline 2018-08-17 15:17:14 -07:00