Commit Graph

73 Commits

Author SHA1 Message Date
Paul Chiusano
ee3c8bd29a Added some notes and example errors, generalized Term a bit to allow type annotations to contain locations.
Moving `check` over to Context2 and still fixing compiler errors there
2018-07-10 17:36:10 -04:00
Arya Irani
a91b6c81a8 no more stack allocations for Stream
`fp_s` and `fppp_s` accept a function returning `EnvTo[Foo]`.
The environment is passed to the resulting `EnvTo[Foo]` before
encoding the `Foo` as normal.
2018-07-07 17:49:59 -04:00
Arya Irani
dcbe3cc4d8 seems to have largely fixed itself in my sleep
the typedecl parser for builtins seems to work fine
fixed prettyprinting of tuples
fixed logic error in OptionalTC.isEmpty
added tuple.u and unfold.u tests
2018-07-07 13:00:39 -04:00
Arya Irani
ea3b4291b5 wip/failing attempt to implement Stream.unfold, which requires an Option type
Somehow I broke Pair, or something to do with Pair wrapped in Option?
2018-07-06 23:58:12 -04:00
Arya Irani
a4ef66e645 bugfix and tests for Stream.flatMap 2018-07-05 23:10:30 -04:00
Arya Irani
1f556f0bb1 add tests for Stream.takeWhile/dropWhile/zipWith
untested: flatMap/constant (doesnt terminate)
2018-07-05 13:22:45 -04:00
Arya Irani
510e0c07aa add Stream.sum/append 2018-07-04 22:42:20 -04:00
Arya Irani
3063e7e57f add more Stream builtins and thread env through (see more...)
added `fs_p`, `fpps_p`, etc and the `StackDecode` typeclass, which describes how
  to decode a value which needs access to a stack.

builtin function adapter helper naming convention guide:
`u` = unison unboxed
`b` = Scala Boolean as unboxed booleana
`l` = Scala Long as unboxed int64
`n` = Scala Int as unboxed uint64
`d` = Scala Double as unboxed float
`p` = "polymorphic", some generic type not known to be unboxed
`s` = "stack decode", some input parameter requiring access to the runtime stack to be decoded
`z` = laZy, a result type for which the decompiled form has to be recorded with each operation, as opposed to being derived from a Value.

`p` is used when a function accepts a an `Env => Stream` that will not be consumed
`s` is used when a function accepts a `Stream` (no `Env`) that will be consumed
`z` is used when a function returns a `Stream`

add pretty printing for `Tuple` and `Sequence`
2018-07-04 21:32:56 -04:00
Arya Irani
724e93e1c8 boost HOF stack size and un-minify stream test 2018-06-29 18:44:57 -04:00
Arya Irani
593c7a6631 testing up the tests 2018-06-29 17:57:58 -04:00
Arya Irani
1d0f546a53 comments 2018-06-29 17:09:51 -04:00
Arya Irani
21935173d3 runtime FileCompilationTests 2018-06-29 15:42:59 -04:00
Runar Bjarnason
505d186b0d Base-58 straw man implementation 2018-06-27 17:12:17 -04:00
Paul Chiusano
c75eb1f4e1
Merge pull request #205 from unisonweb/master
merge master into wip/typechecker
2018-06-25 18:39:29 -05:00
Arya Irani
6a221273b8 first cut at atom editor support for unison files 2018-06-16 16:17:10 -04:00
Paul Chiusano
88d62e43c4 patterns now checked against scrutinee inferred type 2018-06-13 21:48:39 -04:00
Arya Irani
92f43221d3 typechecking for pattern-matching (untested) 2018-06-12 17:01:00 -04:00
Arya Irani
b3c922df36 substed in Terms for user-defined Data and Effect constructors 2018-06-05 18:47:15 -04:00
Arya Irani
64ddd5d02d renamed some builtins, ran harder program; problem with local data decls 2018-06-05 18:02:04 -04:00
Arya Irani
41ba5c10c5 fixed true/false parsing 2018-06-05 17:49:49 -04:00
Arya Irani
25c52d169d 3++ == 4 2018-06-05 17:40:15 -04:00
Arya Irani
d961ddf8a2 Incremento! 2018-06-05 12:59:36 -04:00
Arya Irani
58302ae563 update parser to be able to use data/effect decls it encounters 2018-06-04 14:23:44 -04:00
Paul Chiusano
80b30b7ec1 Convenience function for reading / parsing a whole file, also spotted needless attempt in effect pattern parser 2018-05-29 16:20:19 -04:00
Paul Kinsky
08b8b1caeb fix invalid operator identifier error 2017-11-20 14:13:43 -08:00
Paul Chiusano
059d8f14fd node and shared tests now passing with new parser, also changed precedence of effect blocks to allow them to be used in operator expressions like foo <| do Remote { ... } 2016-12-13 12:07:43 -05:00
Paul Chiusano
52840857cf all shared tests now passing 2016-12-11 22:36:44 -05:00
Paul Chiusano
1e73a1a4be term and types parsing again, got all of base.u parsing 2016-11-29 22:47:39 -05:00
Paul Chiusano
5b8abcb9d0 more progress on add command, handling ambiguity 2016-10-30 11:18:11 -04:00
Paul Chiusano
3064280a56 cleanup, fix missed handling of key ordering 2016-10-12 09:32:17 -04:00
Paul Chiusano
69160d31ad fix html test, added a bit more diagnostics to searchengine.u 2016-10-11 17:24:38 -04:00
Paul Chiusano
e640c59693 added delimiter between search results 2016-10-11 17:00:23 -04:00
Paul Chiusano
c5a1c6fed2 clean up search engine example and add a few more builtins 2016-10-11 16:53:00 -04:00
Paul Chiusano
ad3f52250a some search engine tweaks, spawning crawlers from multiple roots 2016-10-07 17:01:36 -04:00
Paul Chiusano
6e8a4df406 minor tweaks to searchengine.u 2016-10-07 16:13:22 -04:00
Paul Chiusano
4459246024 rename Node -> Codebase, split out evaluation functions, tests passing in shared 2016-10-07 12:37:51 -04:00
Paul Chiusano
3fe4807d55 search engine implementation + various utilities and tweaks 2016-10-05 16:57:32 -04:00
Paul Chiusano
75a24f5a7c update sort call, due to rename 2016-10-04 21:00:34 -04:00
Paul Chiusano
9b4233e079 Vector.dedup and Order.equal 2016-10-04 20:53:51 -04:00
Paul Chiusano
e3e134cb83 Text.take/drop/words, Vector.dedup-adjacent 2016-10-04 20:37:59 -04:00
Paul Chiusano
d18364fa84 Fix quadratic performance bug in interpreter, added simple test of indexed traversal 2016-10-03 13:50:48 -04:00
Paul Chiusano
47f891d1f5 fix issue with IndexedTraversal.intersect 2016-09-30 14:34:33 -04:00
Paul Chiusano
c7e698b036 missed a few eval calls 2016-09-26 20:21:38 -04:00
Paul Chiusano
dbb2cd0de2 convert to strict interpreter, add if-then-else syntax 2016-09-26 17:59:13 -04:00
Paul Chiusano
328939809c DIndex seems to be working, added simple test 2016-09-15 13:03:24 -04:00
Paul Chiusano
2eaacba7e0 fix issues with Remote.sleep and Remote.race 2016-09-15 12:35:16 -04:00
Paul Chiusano
4e4b1e17ae Remote.send is strict 2016-09-15 00:09:51 -04:00
Paul Chiusano
d62745a74d added receive-async example, toned down logging 2016-09-15 00:06:02 -04:00
Paul Chiusano
5b844512c0 got rid of node worker processes, spawning node worker in same process 2016-09-14 12:31:41 -04:00
Paul Chiusano
0dc9e37a47 fix compile errors in dindex.u and extra.u 2016-09-13 11:54:59 -04:00