node subproject compiles now with Node type split out

This commit is contained in:
Paul Chiusano 2015-09-22 12:49:26 -04:00
parent a557faadc9
commit 9ac5e47cd7
3 changed files with 12 additions and 9 deletions

View File

@ -2,23 +2,27 @@
module Main where
import Data.Bytes.Serial (Serial)
import Unison.Reference (Reference)
import Unison.Symbol.Extra ()
import Unison.Term.Extra ()
import Unison.ABT.Extra as ABT'
import Unison.Node.Store (Store)
import Unison.Var (Var)
import qualified Unison.ABT.Extra as ABT'
import qualified Unison.Hash as Hash
import qualified Unison.Node.BasicNode as BasicNode
import qualified Unison.Node.Store as Store
import qualified Unison.Node.FileStore as FileStore
import qualified Unison.NodeServer as NodeServer
import qualified Unison.Reference as Reference
import qualified Unison.Symbol as Symbol
import qualified Unison.Term as Term
hash :: Serial v => Term.Term v -> Reference
hash :: (Serial v, Var v) => Term.Term v -> Reference
hash (Term.Ref' r) = r
hash t = ABT.hash t
hash t = Reference.Derived (Hash.fromBytes (ABT'.hash t))
main :: IO ()
main = do
store <- Store.store "store" :: IO (Store IO (Symbol.Symbol ()))
store <- FileStore.make "store" :: IO (Store IO (Symbol.Symbol ()))
node <- BasicNode.make hash store
NodeServer.server 8080 node

View File

@ -10,6 +10,7 @@ import Unison.Term (Term)
import Unison.Type (Type)
import Unison.Metadata (Metadata)
import Unison.Note (Noted,Note)
import Unison.Node.Store (Store, Store(..))
import Unison.Reference (Reference)
import qualified Data.Aeson as Aeson
import qualified Data.ByteString as ByteString
@ -23,8 +24,8 @@ import qualified Unison.Note as Note
import qualified Unison.Reference as Reference
-- | Create a 'Store' rooted at the given path.
store :: (Ord v, ToJSON v, FromJSON v) => FilePath -> IO (Store IO v)
store root =
make :: (Ord v, ToJSON v, FromJSON v) => FilePath -> IO (Store IO v)
make root =
let
hashesIn :: (String -> Reference) -> FilePath -> Noted IO (Set Reference)
hashesIn f dir =

View File

@ -24,8 +24,6 @@ import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TLE
import qualified Unison.Hash as H
import qualified Unison.Node as N
import qualified Unison.Term as E
import qualified Unison.Type as T
import qualified Web.Scotty as S
runN :: Noted IO a -> ActionM a