mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-25 09:17:27 +03:00
Merge branch 'master' into topic/nix
This commit is contained in:
commit
df1ae0ccb0
@ -3,7 +3,7 @@ The Unison platform
|
||||
|
||||
[![Join the chat at https://gitter.im/unisonweb/platform](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/unisonweb/platform?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
[Unison](http://unisonweb.org) is a new programming platform, currently under active development. This repo contains the code for the Unison node backend (written in Haskell, lives in the root directory, with source in `src`), and the Unison editor (currently written in Elm, found in the folder `editor-elm`).
|
||||
[Unison](http://unisonweb.org) is a new programming platform, currently under active development. This repo contains the code for the Unison node backend (written in Haskell, lives in the `node` directory, with source in `src`), and the Unison editor (currently written in Elm, found in the folder `editor-elm`).
|
||||
|
||||
If you're wondering what the project is about, you can get a glimpse [with this video and post discussing the Unison semantic editor](http://pchiusano.github.io/2015-03-17/unison-update5.html). The editor is just one piece of the overall platform, and there's updates and more info at [unisonweb.org](http://unisonweb.org) as well as [background posts with additional context](http://pchiusano.io/unison).
|
||||
|
||||
@ -41,7 +41,7 @@ $ chmod a+x SETUP.sh
|
||||
$ ./SETUP.sh
|
||||
$ // wait 20 minutes while half the Haskell ecosystem
|
||||
$ // gets downloaded and compiled
|
||||
$ ./dist/build/node/node
|
||||
$ ./node/dist/build/node/node
|
||||
Setting phasers to stun... (port 8080) (ctrl-c to quit)
|
||||
```
|
||||
|
||||
|
@ -60,8 +60,6 @@ library
|
||||
Unison.Term.Extra
|
||||
Unison.TermEdit.Extra
|
||||
Unison.Type.Extra
|
||||
Unison.Typechecker
|
||||
Unison.Typechecker.Context
|
||||
|
||||
build-depends:
|
||||
aeson,
|
||||
|
@ -4,6 +4,7 @@
|
||||
-- | This module is the primary interface to the Unison typechecker
|
||||
module Unison.Typechecker (admissibleTypeAt, check, check', equals, isSubtype, locals, subtype, synthesize, synthesize', typeAt, wellTyped) where
|
||||
|
||||
import Control.Applicative
|
||||
import Control.Monad
|
||||
import Unison.Type (Type)
|
||||
import Unison.Term (Term)
|
@ -9,6 +9,7 @@
|
||||
module Unison.Typechecker.Context (context, subtype, synthesizeClosed) where
|
||||
|
||||
import Control.Monad
|
||||
import Control.Applicative
|
||||
import Data.List
|
||||
import Data.Set (Set)
|
||||
import Unison.Note (Note,Noted(..))
|
||||
@ -27,12 +28,11 @@ import qualified Unison.Type as Type
|
||||
|
||||
-- | Elements of an ordered algorithmic context
|
||||
data Element
|
||||
= Universal ABT.V -- | ^ `v` is universally quantified
|
||||
| Existential ABT.V -- | ^ `v` existential and unsolved
|
||||
| Solved ABT.V Monotype -- | ^ `v` is solved to some monotype
|
||||
| Ann ABT.V Type -- | ^ `v` has type `a`, which may be quantified
|
||||
| Marker ABT.V -- | ^ used for scoping
|
||||
deriving Eq
|
||||
= Universal ABT.V -- `v` is universally quantified
|
||||
| Existential ABT.V -- `v` existential and unsolved
|
||||
| Solved ABT.V Monotype -- `v` is solved to some monotype
|
||||
| Ann ABT.V Type -- `v` has type `a`, which may be quantified
|
||||
| Marker ABT.V deriving (Eq) -- used for scoping
|
||||
|
||||
instance Show Element where
|
||||
show (Universal v) = show v
|
@ -47,6 +47,8 @@ library
|
||||
Unison.Term
|
||||
Unison.TermEdit
|
||||
Unison.Type
|
||||
Unison.Typechecker
|
||||
Unison.Typechecker.Context
|
||||
|
||||
build-depends:
|
||||
aeson,
|
||||
|
Loading…
Reference in New Issue
Block a user