Commit Graph

6393 Commits

Author SHA1 Message Date
Chris Penner
d6f1c159b8 Merge remote-tracking branch 'origin/trunk' into topic/projects 2023-02-24 12:36:23 -06:00
Chris Penner
eda768c94f Fixups 2023-02-23 16:48:49 -06:00
Chris Penner
04fab24848 Fix bad ucm migration backups 2023-02-23 16:40:39 -06:00
Chris Penner
dac81026dc Merge branch 'cp/causal-name-lookup-index' into cp/remove-old-name-lookups 2023-02-23 10:54:33 -06:00
Chris Penner
3b6d7d6645 Merge branch 'trunk' into cp/causal-name-lookup-index 2023-02-23 10:51:50 -06:00
Chris Penner
e2a3b9ae28
Updates for safer migrations on Share (#3825)
* Include schema version in backup and use vacuum into

* Allow specifying not to backup on migration

* Add ability to copy codebase safely (for share migrations)

* Set migration strategies

* Create dir to copy into if missing

* Ormolu

* ormolu
2023-02-22 12:36:57 -06:00
Travis Staton
d38f31a93c
Merge remote-tracking branch 'origin/trunk' into topic/projects 2023-02-22 12:51:03 -05:00
Fabio Labella
26d251e977 Add id for ThreadKilledFailure 2023-02-22 11:19:36 +00:00
Fabio Labella
8bb93a4ede Add reference for threadKilledFailure 2023-02-22 11:19:36 +00:00
Fabio Labella
78153f6f45 Intercept async exceptions 2023-02-22 11:19:36 +00:00
Dan Doel
82bd02faea Some type references were being ignored when compiling code
- The existing code was assuming that only references involved in `Pack`
  instructions were relevant, but this only preserves data type and
  request information. We need to remember types used in handlers, or
  else we will think that remote requests are coming from distinct
  abilities than the ones we are handling.
2023-02-15 17:29:23 -05:00
Cody Allen
3f28697e25
Improve error message for unhandled ability
In certain cases this will change the failure message from something
like `resolve: unhandled ability request: 1561` to `resolve: unhandled
ability request: #ifg08` where `#ifg08` is the has of the ability that
was unhandled. At this stage we don't have convenient access to the
actual constructor within the ability that was not handled.

I haven't added tests because I don't really know how to set them up.
But it's not really a big deal if there's a regression in this error
message, so I'm not sure whether they'd be worth the trouble.
2023-02-15 10:01:36 -05:00
Paul Chiusano
96d42d213c reformat 2023-02-14 09:59:26 -06:00
Paul Chiusano
7e37991a96 Merge remote-tracking branch 'origin/trunk' into pchiusano/ormolu_prs
# Conflicts:
#	parser-typechecker/src/Unison/Runtime/Foreign.hs
2023-02-14 09:57:48 -06:00
Rúnar
47e5ce7c7d
Merge pull request #3820 from unisonweb/topic/characterclass
Char.Class builtin type and supporting functions
2023-02-13 21:26:47 -05:00
Paul Chiusano
88ef0a8d37 Ormolu-ify the codebase and update development.markdown docs 2023-02-13 13:03:08 -06:00
Fabio Labella
9308c8cd63 Fix calling convention wrapper for killThread 2023-02-13 16:29:19 +00:00
Mitchell Rosen
74e589205c push refactoring and delete project.create-branch command 2023-02-10 22:43:17 -05:00
Rúnar
5a7b323df7 Fix test 2023-02-10 21:51:49 -05:00
Mitchell Rosen
1e19f5e996 ⅄ trunk → topic/projects 2023-02-10 19:25:33 -05:00
Rúnar
2418c292bd Add character class builtin and functions 2023-02-10 15:29:10 -05:00
Travis Staton
bf88e668a6
upgrade hpack to 0.35 2023-02-09 14:04:47 -05:00
Chris Penner
d5f06ee169 Regen cabal 2023-02-08 13:01:01 -06:00
Chris Penner
5a002b12d3 Merge branch 'cp/causal-name-lookup-index' into cp/remove-old-name-lookups 2023-02-08 12:55:14 -06:00
Chris Penner
a43c6d9171 Merge branch 'trunk' into cp/causal-name-lookup-index 2023-02-08 12:54:57 -06:00
Chris Penner
34c3d9844f Merge branch 'cp/causal-name-lookup-index' into cp/remove-old-name-lookups 2023-02-08 12:24:27 -06:00
Chris Penner
050ba1fd51 Cabal files 2023-02-08 12:24:12 -06:00
Chris Penner
106af7fdd2 Merge branch 'cp/causal-name-lookup-index' into cp/remove-old-name-lookups 2023-02-08 12:21:53 -06:00
Chris Penner
fedf1f6d6d Merge branch 'trunk' into cp/causal-name-lookup-index 2023-02-08 12:21:11 -06:00
Chris Penner
4dc750469b Merge branch 'cp/causal-name-lookup-index' into cp/remove-old-name-lookups 2023-02-08 11:52:31 -06:00
Mitchell Rosen
8a7e6f9ac2 pipe through project.switch input 2023-02-08 12:39:17 -05:00
Chris Penner
6873962863 Don't run integrity checks after a simple table create. 2023-02-08 10:40:29 -06:00
Chris Penner
860f6ec5f2 Move scoped name lookups into UCM migration 2023-02-08 10:26:26 -06:00
Stew O'Connor
df545944dd Merge remote-tracking branch 'origin/trunk' into fix-tls-calling-convention 2023-02-07 13:36:36 -08:00
Stew O'Connor
dbe95fb6ac Fix calling convention in Tls.send and Tls.handshake 2023-02-07 13:36:17 -08:00
Cody Allen
7df6664687
Fix universal equality for Socket
Resolves #3791

Delegate to the runtime's Socket equality, which I believe uses pointer
equality.

I tested this by running the following code, which no longer gives an
error after this change:

```
main = do
  socket = Socket.client (HostName "www.google.com") (Port "http")
  socket === socket
```
2023-02-02 11:32:14 -05:00
Chris Penner
d9e0cfa9cf
Upgrade to stack 2.9.1 (#3787) 2023-02-02 09:49:21 -06:00
Cody Allen
cd559fbaf0
Improve type error message for == on Foreign
This improves the error message when there is a type mismatch in
equality checks of `Foreign`. The `Eq.==` error message now matches the
style of error message provided for `compare` on the `Ord` instance.
2023-02-02 09:52:16 -05:00
Mitchell Rosen
6f7718b8f0 ⅄ trunk → 22-12-19-change-pull-empty-namespace-message 2023-01-31 11:52:54 -05:00
Paul Chiusano
cb8910879d
Merge pull request #3784 from unisonweb/cp/destructuring-bind-guards 2023-01-30 13:02:19 -06:00
Chris Penner
a8f217c28d Remove unused branch operations 2023-01-30 12:02:06 -06:00
Chris Penner
0280592b34 No guards on destructuring binds 2023-01-30 11:54:25 -06:00
Chris Penner
7efaeea5dd Merge branch 'trunk' into cp/causal-name-lookup-index 2023-01-27 09:30:46 -06:00
Mitchell Rosen
6f7f5c89cc ⅄ topic/projects-api → topic/projects 2023-01-26 12:14:07 -05:00
Dan Doel
9e0e93135f Merge remote-tracking branch 'origin/trunk' into topic/builtins-misc 2023-01-26 10:30:05 -05:00
Dan Doel
6554ea385a Flesh out process builtins
- Renames callProcess to process.call since there will be several
  related functions now.
- Adds a ProcessHandle type for references to asynchronous processes
- Add start, kill, wait and exitCode for interactive processes.
  * start spawns a new process with the given command and arguments,
    returning Handles for the in, out and error streams of the process,
    and a ProcessHandle referencing it
  * kill kills a process given a ProcessHandle
  * wait blocks on a process to finish and returns the exit code
  * exitCode does a non-blocking query for the exit code of the process.
    It returns `None` if the process is still running.
2023-01-25 17:51:58 -05:00
Dan Doel
08172a9eff Add a 'callProcess' builtin
- This allows calling out to an external executable with specified
  arguments. The executable is searched for in the path according to
  some platform specific rules. The call is blocking, and the exit
  code is returned.
- Note: this is _not_ the sort of external call that involves a shell
  as an intermediary.
- This sort of call is supported by both Haskell and racket. Chez seems
  to only have the shell-based external call, so it might be necessary
  to wrap a foreign library for it (otherwise the arguments would have
  to be escaped, which seems like a bad idea). Nevertheless, it seems
  like the right API to expose.
- Opening a fully interactive, asynchronous process is left for future
  work.
2023-01-25 15:09:17 -05:00
Chris Penner
119a254c9e Nuke updateNameLookup 2023-01-25 13:55:35 -06:00
Paul Chiusano
5ce9e4fdbe
Merge pull request #3734 from unisonweb/cp/fix-bad-case-parser
Require that each pattern have at least one RHS.
2023-01-25 09:36:03 -06:00
Fabio Labella
39ae32e68a Handle calling convention properly 2023-01-25 02:18:25 +00:00