{-# LANGUAGE ApplicativeDo #-}
{-# LANGUAGE OverloadedStrings #-}
module Unison.Codebase.Init.Type (Init (..)) where
import Unison.Codebase (Codebase, CodebasePath)
import Unison.Codebase.Init.CreateCodebaseError (CreateCodebaseError, Pretty)
type DebugName = String
data Init m v a = Init
{
forall (m :: * -> *) v a.
Init m v a
-> DebugName
-> DebugName
-> m (Either Pretty (m (), Codebase m v a))
openCodebase :: DebugName -> CodebasePath -> m (Either Pretty (m (), Codebase m v a)),
forall (m :: * -> *) v a.
Init m v a
-> DebugName
-> DebugName
-> m (Either CreateCodebaseError (m (), Codebase m v a))
createCodebase' :: DebugName -> CodebasePath -> m (Either CreateCodebaseError (m (), Codebase m v a)),
forall (m :: * -> *) v a. Init m v a -> DebugName -> DebugName
codebasePath :: CodebasePath -> CodebasePath
}