Commit Graph

11712 Commits

Author SHA1 Message Date
Mitchell Rosen
f353e087f9 stub out project.switch 2023-01-23 13:40:45 -05:00
Mitchell Rosen
e661093bde stub out project.create handler 2023-01-23 13:03:48 -05:00
Mitchell Rosen
8c681904fb add project.create input pattern 2023-01-23 12:54:14 -05:00
Travis Staton
f4b13b9758
basic project queries 2023-01-23 12:49:36 -05:00
Travis Staton
59338d7144
bump sqlite-simple 2023-01-23 12:31:07 -05:00
Mitchell Rosen
dab54f77c4 add uuid-orphans-sqlite package 2023-01-23 12:10:41 -05:00
Mitchell Rosen
ea2263dac3 add 7->8 migration to Haskell code 2023-01-23 11:36:18 -05:00
Mitchell Rosen
40afc9ee9f add 004-project-tables.sql 2023-01-23 10:53:48 -05:00
Paul Chiusano
923f745915
Merge pull request #3740 from unorsk/reset-echo-state-in-repl
Saving current echo state before running anything and then falling back to it if needed
2023-01-20 15:29:35 -05:00
andrii
52a7195b80
adding @unorsk to CONTRIBUTORS.markdown 2023-01-20 20:48:37 +01:00
Paul Chiusano
d37887a203
Merge pull request #3758 from unisonweb/delete-stale
Remove unused code
2023-01-20 10:20:01 -05:00
Fabio Labella
4d34871d30 Remove unused code 2023-01-20 14:03:53 +00:00
Paul Chiusano
9195744fdf
Merge pull request #3745 from unisonweb/cas-builtins 2023-01-19 23:28:49 -05:00
Fabio Labella
cc0c6a2868 Regenerate transcripts after Promise signature change 2023-01-20 02:07:20 +00:00
Fabio Labella
aeaf55b5e0 Add transcript test 2023-01-20 01:12:23 +00:00
Fabio Labella
17c0d8d5d8 Promise.write should take the Promise as its first argument 2023-01-19 16:22:53 +00:00
Fabio Labella
375e435180 Remove repro of CAS bug 2023-01-19 16:20:17 +00:00
Fabio Labella
e2f9c4b3b9 Regenerate transcripts 2023-01-19 16:16:04 +00:00
Fabio Labella
2b695ab451 Make sure all writes to an IORef are fully evaluated
If writes aren't fully evaluated, the Closure inside the IORef might
contain a thunk, which then ruins pointer equality, resulting in
failed CAS
2023-01-19 16:00:59 +00:00
Fabio Labella
c643ace1b5 Ref should be the first argument 2023-01-19 15:51:54 +00:00
Fabio Labella
38e79afbe2 casIORef works in haskell, bus error is in the unison bindings 2023-01-19 13:14:52 +00:00
Fabio Labella
77ecc43e39 Centralise concurrency primitives in a single module 2023-01-19 02:54:48 +00:00
Fabio Labella
743d2018e2 Regenerate transcripts 2023-01-18 02:09:46 +00:00
Fabio Labella
86e70f25b4 Update documentation for adding builtins 2023-01-18 00:09:05 +00:00
Fabio Labella
b408907bf9 Add bindings for Promise 2023-01-17 03:00:41 +00:00
Fabio Labella
34f113647f Add type signatures for Promise 2023-01-17 03:00:23 +00:00
Fabio Labella
460c124778 Add single-shot promise type 2023-01-17 03:00:23 +00:00
Fabio Labella
2f5bc1f80c Add comments on memory model for IORefs 2023-01-17 03:00:23 +00:00
Fabio Labella
aab311ac4f Abbreviate compareAndSwap 2023-01-17 03:00:23 +00:00
Fabio Labella
0e8d714ebd Add helper type for IO ability list 2023-01-17 03:00:23 +00:00
Fabio Labella
0cb26fb80f Make sure the ref+promise builtins are under the right namespace 2023-01-17 03:00:23 +00:00
Fabio Labella
a870a5a22b Only return a Boolean from CAS on IORef
In GHC, CAS returns both a Boolean and the current value of the IORef,
which can be used to retry a failed CAS.
This strategy is more efficient than returning a Boolean only because
it uses a single call to cmpxchg in assembly (see [1]) to avoid an
extra read per CAS iteration, however it's not supported in Scheme.
Therefore, we adopt the more common signature that only returns a
Boolean, which doesn't even suffer from spurious failures because GHC
issues loads of mutable variables with memory_order_acquire (see [2])

Incidentally, this also works around the lack of support for compound
direct lets in our interpreter.

[1]: https://github.com/ghc/ghc/blob/master/rts/PrimOps.cmm#L697
[2]: https://github.com/ghc/ghc/blob/master/compiler/GHC/StgToCmm/Prim.hs#L285
2023-01-17 03:00:23 +00:00
Fabio Labella
4806735355 Identify bug 2023-01-17 03:00:23 +00:00
Fabio Labella
22617a4330 Add TODOs 2023-01-17 03:00:23 +00:00
Fabio Labella
3b7f97603d Add Ref and Ticket bindings 2023-01-17 03:00:23 +00:00
Fabio Labella
77d5d1ea02 Add type signatures for Ticket and CAS on Ref 2023-01-17 03:00:23 +00:00
Fabio Labella
c5e3766e76 Pin hpack to version 34 2023-01-17 03:00:23 +00:00
Fabio Labella
661de0c380 Add atomic-ops dependency 2023-01-13 17:15:35 +00:00
unorsk
54758e865a Saving current state before running anything and then falling back to it if needed 2023-01-12 17:35:43 +01:00
Chris Penner
fa378f7601
Return an error rather than error on invalid base32hex in a Reference (#3728)
* Improve base32hex failure error message

* Improve error handling for bad hashes to not call `error`
2023-01-11 10:04:16 -06:00
mergify[bot]
579ca88f04
Merge pull request #3736 from unisonweb/topic/scheme-compiler
Various scheme compiler additions
2023-01-10 21:46:13 +00:00
Dan Doel
aac85fc708 Chez lib development tip 2023-01-10 16:24:02 -05:00
Dan Doel
4c62d73b8a Indicate execution mode to the scheme code generator
- The handling of command line arguments varies somewhat between
  different ways of evaluating scheme code, so some different wrappers
  need to be generated to run as a standalone output vs. running
  immediately like a script. The in-unison code generator needs an
  indication of which mode it should generate code for.
2023-01-10 16:08:39 -05:00
Dan Doel
c2c37a8ae0 Define a macro for reserving virtual registers 2023-01-10 15:53:50 -05:00
Chris Penner
59e8a25693
Fix annotations for bindings and blocks (#3689)
* WIP: fix up anns for bindings, blocks, etc.

* Working annotations for lets

* Add nesting tests

* Fix nesting tests

* Fix annotations on let-rec blocks

* Fix bad test src

* Skip destructuring binds test for now.

* Remove debugging

* Better fallbacks for finding ref nodes

* Transcript updates

* Fix bad 'contains'

* Rewrite letrec and let combinators to avoid requiring semigroup

* Don't include block openers in the block itself.

We don't want things like '=' or '->' to be part of a block

* Re-run transcripts

* Remove redundant constraint
2023-01-10 11:12:51 -06:00
mergify[bot]
f311c733a2
Merge pull request #3731 from unisonweb/topic/vimsyntax
Improve vim syntax highlighting
2023-01-10 12:37:28 +00:00
Rúnar
e56a6b2f53 Fix a couple of bugs 2023-01-10 00:46:56 -05:00
Rúnar
ff5c4ae8b6 Matching should be case-sensitive 2023-01-10 00:01:26 -05:00
Rúnar
cf5c59ceb6 Improve syntax highlighting 2023-01-09 23:38:04 -05:00
mergify[bot]
68a219d088
Merge pull request #3729 from zetashift/add-neovim-note
Add note about installing the vim plugin for neovim LSP
2023-01-10 03:38:02 +00:00