Commit Graph

231 Commits

Author SHA1 Message Date
Dan Doel
fd743d3dce Merge remote-tracking branch 'origin/trunk' into topic/abilities-fixes 2021-01-28 16:57:03 -05:00
Stew O'Connor
258ec6357f Add an Any parameter to the Failure type 2021-01-28 13:57:03 -08:00
runarorama
ba7e8c9f70 Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver-openapi 2021-01-28 16:20:29 -05:00
runarorama
d1920dc2fe wip 2021-01-27 15:36:23 -05:00
Stew O'Connor
17fe0e6e19 Merge remote-tracking branch 'origin/trunk' into stew/tls-testing 2021-01-23 01:25:52 -08:00
Stew O'Connor
71aeeee669 tls tests are working woot 2021-01-23 00:57:23 -08:00
Dan Doel
ac9c4a48f1 First pass adding/implementing STM builtins
- Not working as of yet
2021-01-12 16:56:01 -05:00
Arya Irani
191413a21c unchange old reference hashing 2021-01-12 10:28:56 -05:00
Arya Irani
a72e59eb66 Merge branch 'trunk' into wip/codebase2 2021-01-11 22:40:41 -05:00
runarorama
af091f3f07 Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver-openapi 2021-01-08 11:40:52 -05:00
runarorama
c5bc998b03 Integrate backend into servant server 2021-01-08 11:39:54 -05:00
runarorama
3a1cf635b5 Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver-openapi 2021-01-04 14:33:16 -05:00
Paul Chiusano
84e10dd436 Merge remote-tracking branch 'origin/trunk' into topic/abilities-fixes
# Conflicts:
#	parser-typechecker/src/Unison/Typechecker/Context.hs
2021-01-04 14:20:19 -05:00
Arya Irani
e2df2eff3e update trunk for ghc 8.10.2 2020-12-22 11:58:24 -05:00
Stew O'Connor
a648ac879f Merge remote-tracking branch 'origin/trunk' into stew/tls-testing 2020-12-15 11:45:38 -08:00
Stew O'Connor
8ab3574ff1 Add the ability to configure an altrernate TLS CertificateStore 2020-12-15 11:17:57 -08:00
Paul Chiusano
75c8d3a53c non-working Any type 2020-12-10 14:25:19 -05:00
runarorama
6a94460c0c Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver-openapi 2020-12-09 21:36:37 -05:00
Paul Chiusano
6b94ab70c8
Merge pull request #1766 from unisonweb/fix/ability-unification
A couple fixes to ability unification
2020-12-07 14:10:32 -05:00
Stew O'Connor
d1d09d9197 Merge branch 'trunk' into feature/tls 2020-12-02 15:22:01 -08:00
Dan Doel
73ed824f89 Modify strategy for completing data/effect signatures
- Previously we would complete data and effect signatures of
  the form:

    a -> b

  to ones of the form:

    a ->{e} b

  at use sites. Moreover, `e` would be a fresh unification variable for
  every use of the constructor/effect. This is clearly unsound.
- The new strategy completes to `a ->{} b`.
- Alternate strategies are possible, but they probably need to involve
  post-processing the declaration, rather than occurring at use-sites.
2020-12-01 14:43:53 -05:00
runarorama
fcd6fa30f6 Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver-openapi 2020-12-01 13:08:15 -05:00
Paul Chiusano
d706550926
Merge pull request #1748 from unisonweb/topic/mobile-code
Finish implementing code serialization support
2020-11-24 17:27:56 -05:00
Dan Doel
f4c0c6bf0c Avoid parsing data/effect patterns that don't make sense
- The way of resolving constructors in patterns wasn't taking
  into account whether a data or ability constructor was expected,
  and was therefore sometimes parsing things like variables as
  data constructors with references to ability effects.
2020-11-23 16:34:37 -05:00
Stew O'Connor
34c284cc72 more things working, starting a transcript
- renamed many of the foreign calling confention functions

- fixed implementations of several IO functions

- added IO.createTempDirectory to create temporary directories which
  will be useful for testing

- started working on a transcript, but don't yet have a strategy for
  testing IO using transcripts
2020-11-13 12:25:21 -08:00
Dan Doel
40e2db5722 Merge branch 'trunk' into topic/mobile-code
- Fixes conflicts
2020-11-10 14:14:25 -05:00
runarorama
cba4cf36de Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver-openapi 2020-11-10 12:44:03 -05:00
Dan Doel
b027ad67b4 Add code serialization API 2020-11-09 17:28:07 -05:00
Stew O'Connor
3e75459fc1 Merge remote-tracking branch 'origin/trunk' into feature/tls 2020-10-27 09:14:01 -07:00
Stew O'Connor
0b6be82ea7 Added Tls.Config.defaultClient and Tls.Config.defaultServer 2020-10-26 13:03:18 -07:00
Arya Irani
7ef216a87c SqliteCodebase.putTerm and helpers 2020-10-25 15:28:32 -04:00
Arya Irani
258acb906c added some MonadError 2020-10-25 02:35:26 -04:00
Arya Irani
d7f4a501b1 {term,decl}ReferencesByPrefix 2020-10-23 12:20:15 -04:00
Paul Chiusano
e784107d64 Implement fix. There were lots of tests that were inadvertently relying on the bug. 2020-10-22 22:33:12 -04:00
runarorama
a54136a39a Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver-openapi 2020-10-22 20:53:09 -04:00
Paul Chiusano
54b59c1a2d okay, not too shabby 2020-10-21 22:42:35 -04:00
Arya Irani
8eb21adda0 wip 2020-10-21 21:34:43 -04:00
Arya Irani
29359b18a8 change hashing for refs, and add loadTermByHash 2020-10-20 13:27:43 -04:00
Arya Irani
279b6e876d Merge remote-tracking branch 'origin/trunk' into wip/codebase2
# Conflicts:
#	.travis.yml
#	parser-typechecker/src/Unison/Builtin.hs
#	parser-typechecker/src/Unison/Runtime/ANF.hs
#	parser-typechecker/src/Unison/Runtime/Builtin.hs
#	parser-typechecker/src/Unison/Runtime/Decompile.hs
#	parser-typechecker/src/Unison/Runtime/Foreign.hs
#	parser-typechecker/src/Unison/Runtime/Foreign/Function.hs
#	parser-typechecker/src/Unison/Runtime/MCode.hs
#	parser-typechecker/src/Unison/Runtime/Machine.hs
#	parser-typechecker/src/Unison/Runtime/Stack.hs
#	parser-typechecker/tests/Unison/Test/MCode.hs
#	unison-core/src/Unison/Type.hs
#	unison-src/new-runtime-transcripts/hashing.md
#	unison-src/new-runtime-transcripts/hashing.output.md
#	unison-src/transcripts/alias-many.output.md
#	unison-src/transcripts/emptyCodebase.output.md
#	unison-src/transcripts/merges.output.md
#	unison-src/transcripts/reflog.output.md
#	unison-src/transcripts/squash.output.md
2020-10-19 13:43:16 -04:00
Arya Irani
22f07828d0 wip 2020-10-19 10:17:25 -04:00
Paul Chiusano
29e4d6dc5d Define sortNamed in terms of sortByText rather than the other way around 2020-10-16 17:47:22 -04:00
Paul Chiusano
f4c866e3cf fix #1542 2020-10-16 17:40:29 -04:00
Arya Irani
f59d9cd0fa wip; next is add term to index 2020-10-13 16:54:08 -04:00
Paul Chiusano
7b2a2384eb Corresponding pretty-printer changes.
Moved some pretty-printer specific patterns and helper functions into TermPrinter
2020-10-09 15:02:27 -04:00
runarorama
debd1bcf6c May as well rename HashQualified' everywhere 2020-10-09 14:46:54 -04:00
runarorama
2f3ec519f5 OpenAPI doesn't like names with ' in them 2020-10-09 14:24:57 -04:00
Paul Chiusano
8186cb11f7
Merge pull request #1712 from unisonweb/topic/basic-hashing
Cryptographic primitives for hashing and HMAC
2020-10-08 16:03:26 -04:00
mergify[bot]
136a0cc990
Merge pull request #1716 from unisonweb/topic/relax-var-constraint-on-hashComponent
relax Var constraint on a few ABT functions
2020-10-07 22:22:34 +00:00
Arya Irani
470e318659 relax Var constraint on a few ABT functions 2020-10-07 16:59:35 -04:00
runarorama
0c1f4008db Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver 2020-10-06 14:24:21 -04:00
Paul Chiusano
1447b0a2cd Merge remote-tracking branch 'origin/trunk' into topic/hashing 2020-10-02 11:26:01 -04:00
Paul Chiusano
af9190ee22 simplify API - not supporting streaming hashing / hmac for now as serializing / decompiling the hash / hmac state is a can of worms 2020-10-02 11:02:24 -04:00
Paul Chiusano
71ff9f7c48
Merge pull request #1706 from unisonweb/topic/mobile-code
Pull in some changes from the mobile code development
2020-10-01 18:45:10 -04:00
Paul Chiusano
f17fafb27f Reworked API some more. It's looking good. Still testing left to do. 2020-10-01 18:41:49 -04:00
Dan Doel
44a9010c6b Closed term hashing helper function 2020-10-01 14:27:18 -04:00
Paul Chiusano
25a2e43071 Greatly simplified hashing API and support decompilation of hashing contexts. In prep for HMAC implementation. 2020-10-01 12:46:18 -04:00
runarorama
60b0b7e8ed Merge branch 'trunk' of github.com:unisonweb/unison into topic/codebaseserver 2020-09-30 23:21:55 -04:00
runarorama
2c4545564d wip 2020-09-30 23:21:29 -04:00
Paul Chiusano
91220df8fc Merge remote-tracking branch 'origin/trunk' into topic/hashing 2020-09-30 18:51:11 -04:00
Paul Chiusano
27173e5cc6 Something implemented and runs for Sha3{512,256}, Sha2{512,256}, Blake2b{512,256}, Blake2s{256}. Still pending work from @dolio for the universal hashing functions. 2020-09-30 17:14:25 -04:00
Paul Chiusano
8e1cb8129b WIP on sha3 hashing 2020-09-29 18:57:32 -04:00
Paul Chiusano
34df8d7400 some cleanup and docs 2020-09-28 15:14:10 -04:00
Paul Chiusano
81f51fc646 Updated pretty-printer to use destructuring bind syntax, and updated pretty-printer tests. 2020-09-28 12:30:36 -04:00
Paul Chiusano
20c8cacf1f WIP on destructuring bind.
Currently disabled in the parser (see comment inside the block parser), but had to switch off namespace parsing which caused IOSource to no longer work. Currently working through errors there, might just disable IOSource temporarily.
2020-09-27 16:07:36 -04:00
Paul Chiusano
d27b0194b2 Merge branch 'trunk' into topic/destructuring-bind 2020-09-27 14:14:47 -04:00
Paul Chiusano
289fc3e175 Merge remote-tracking branch 'origin/trunk' into topic/abilities-fixes 2020-09-22 17:13:52 -04:00
Arya Irani
49328bb25e codebase2 wip; temporarily deleted old packages to improve hls startup 2020-09-15 12:28:28 -04:00
Dan Doel
0304b3620a Builtin adding tutorial with associated MVar ops
- Some refactoring in the Unison.Builtin module to make things a bit
  more pleasant.
2020-09-03 13:38:09 -04:00
Dan Doel
d555693423 Merge branch 'trunk' into wip/rt2 2020-08-19 10:59:08 -04:00
Paul Chiusano
4180e3e226 noncompiling WIP 2020-08-16 15:13:09 -04:00
Paul Chiusano
04eb051a8f
Merge pull request #1655 from jaredly/pretty-syntax
Add information to SyntaxText to enable hyperlinked source
2020-08-16 12:31:40 -04:00
Paul Chiusano
1cf21b89f3
Merge pull request #1652 from unisonweb/topic/datadecl-cleanup
rename Data/EffectDeclaration' to Data/EffectDeclaration
2020-08-15 14:12:58 -04:00
Jared Forsyth
b3b0db2f61 retain op I guess 2020-08-14 15:43:55 -05:00
Arya Irani
4a56dda1bc rename DataDeclaration' to DataDeclaration, etc. 2020-08-12 19:39:24 -04:00
Runar Bjarnason
ed621377c4 Merge branch 'trunk' of github.com:unisonweb/unison into topic/nohistoricsearch 2020-08-11 21:39:10 -04:00
Runar Bjarnason
4399d08efb Disable historic name search and allow hash lookup 2020-08-11 21:11:46 -04:00
Arya Irani
f68f7eb984 Merge branch 'topic/patternp' into wip/rt2 2020-08-10 11:50:53 -04:00
Arya Irani
a425ca299d deleted some old comments 2020-08-10 11:18:26 -04:00
Arya Irani
d0c2fed081 clean up PatternP vs Pattern 2020-08-10 10:59:17 -04:00
Ian Grant Jeffries
e4b0a8118e Touchup 2020-07-29 20:39:15 -04:00
Ian Grant Jeffries
7eb4645d23 Remove now redundant extensions 2020-07-29 20:30:03 -04:00
Ian Grant Jeffries
c098309594 Remove now redundant default-extensions
(TypeSynonymInstances is implied by FlexibleInstances)
2020-07-29 20:13:31 -04:00
Ian Grant Jeffries
fcc8f425e2 Standardize default-extensions throughout repo 2020-07-29 19:59:29 -04:00
Dan Doel
4162db7ef3 Add builtins for new IO functions
- The ability for this is a built in reference, rather than a declared
  definition, so it won't be possible to handle it without some
  additional work. The plan is for it not to be possible to handle it,
  though.
- Functions using the ability are directly implemented, rather than
  going through indirections.
2020-07-28 11:42:41 -04:00
Dan Doel
781361af1d Merge branch 'trunk' into wip/rt2, with fixes
- Fixed some problems with previous commits due to local build failure
2020-07-14 13:30:46 -04:00
Dan Doel
781108d925 Refinements of sequence pattern compilation
- It is still not completely correct, but dealing with the problem fully
  requires a modified approach with more lax 'matrices'.
2020-07-14 11:03:40 -04:00
Dan Doel
bac5ff1042 Eta expand constructors before floating 2020-06-18 16:44:53 -04:00
Dan Doel
77f7183afe Keep track of effect vs. data in pattern compilation
- We need to rebuild the right patterns, and effect declarations
  don't actually have the 'pure' case in them (which is uniform
  across all effects), so they need slightly different handling.
- Also duplicate a bit more 'builtin' logic to avoid threading
  around Either values where only one branch makes sense in any
  situation
2020-06-18 12:25:28 -04:00
Dan Doel
57dfc4f1d3 Don't try to determine field references from constructor type
- It doesn't work very well with the data declaration information
  that is tracked by unison
- Also include a previously uncommitted change from data declarations,
  which now gives the number of fields that a constructor has (this is
  the only information the pattern compiler now relies on; previously
  it was assuming the Reference for the type of each field could be
  determined from the DataDecl).
2020-06-17 15:59:21 -04:00
Arya Irani
3419d7c4ab
Merge pull request #1600 from unisonweb/mitchell/haddock-fixes
Make haddock-like comments not valid haddocks
2020-06-07 09:22:57 -04:00
Mitchell Rosen
8b2cb7700d Add Unison.Util.PinBoard 2020-06-03 20:10:06 -04:00
Mitchell Rosen
5a0772b515 Make haddock happy 2020-06-02 22:09:17 -04:00
Dan Doel
edce1f8d1e Make it possible to show ANF code 2020-06-01 16:45:10 -04:00
Arya Irani
d62e81cb54
Merge branch 'master' into mitchell/lts-15.13 2020-05-31 10:20:28 -04:00
Dan Doel
732d1d3cb8 Merge branch 'master' into wip/rt2, with fixes 2020-05-29 13:11:33 -04:00
Runar Bjarnason
f8ca007272 Repair suffixes. Tests passing. 2020-05-28 22:54:08 -04:00
Runar Bjarnason
361f89e9d7 Excise uses of Text.splitOn 2020-05-28 22:31:29 -04:00
Runar Bjarnason
d066190f8e NameSegment and Name fiffing 2020-05-28 21:53:50 -04:00
Dan Doel
d904824bbc Create interface to new runtime system
- Created a function for extracting references from LabeledDependency
  with an indication of whether it's a term or type reference
- Use a custom runtime exception type in the new runtime instead of
  erroring
- Create a new entry point to the runtime that applies a combinator
  * This function returns a closure result for watch expression use
- Use the pretty error type for decompile errors
- Names and backreferences for bultins
- Current runtime interface expects no actual referenced terms (just
  one large letrec). Some steps are in place for changing this, though.
2020-05-28 18:06:18 -04:00
Runar Bjarnason
f57d208311 wip 2020-05-28 15:02:33 -04:00