mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-25 09:17:27 +03:00
node subproject compiles now with Node type split out
This commit is contained in:
parent
a557faadc9
commit
9ac5e47cd7
@ -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
|
||||
|
@ -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 =
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user