haskelisp-0.1.0.5: Write Emacs module in Haskell, using Emacs 25's Dynamic Module feature

Safe HaskellNone
LanguageHaskell2010

Emacs.Type

Synopsis

Documentation

data PState Source #

Constructors

PState 

data EmacsType Source #

nil について

emacs 内部では nil は文字列で表現できないシンボルとして定義されている。 globals.h

#define Qnil builtin_lisp_symbol (0)

type-of では取得できない。nil は型ではない?かな。多分 type_of に渡 すとエラーになる。

haskell では不便なので ENil という型を導入する。

Instances

Eq EmacsType Source # 
Data EmacsType Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EmacsType -> c EmacsType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EmacsType #

toConstr :: EmacsType -> Constr #

dataTypeOf :: EmacsType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c EmacsType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EmacsType) #

gmapT :: (forall b. Data b => b -> b) -> EmacsType -> EmacsType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EmacsType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EmacsType -> r #

gmapQ :: (forall d. Data d => d -> u) -> EmacsType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EmacsType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EmacsType -> m EmacsType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EmacsType -> m EmacsType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EmacsType -> m EmacsType #

Show EmacsType Source # 

type EmacsModule = Ptr () -> IO CInt Source #

newtype Symbol Source #

Emacs の値に対する Haskell の型 数値や文字列は素直なんだけど、他 Nil は空 [] でいいのかな?

Constructors

Symbol Text 

data Nil Source #

Constructors

Nil 

newtype List Source #

Constructors

List [EmacsValue] 

type EFunctionStub = EmacsEnv -> CPtrdiff -> Ptr (Ptr ()) -> StablePtr PState -> IO EmacsValue Source #

関数定義のため必要な型

newtype Doc Source #

Constructors

Doc Text 

newtype Arity Source #

Constructors

Arity Int