Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data PState = PState {}
- data Ctx = Ctx {}
- type EmacsM = ReaderT Ctx IO
- data EmacsType
- emacsTypeSymbolName :: EmacsType -> Text
- emacsTypes :: [EmacsType]
- type EmacsModule = Ptr () -> IO CInt
- newtype EmacsEnv = EmacsEnv (Ptr ())
- newtype EmacsValue = EmacsValue (Ptr ())
- newtype GlobalEmacsValue = GlobalEmacsValue (Ptr ())
- castGlobalToEmacsValue :: GlobalEmacsValue -> EmacsValue
- newtype Symbol = Symbol Text
- data Nil = Nil
- data Cons = Cons EmacsValue EmacsValue
- newtype List = List [EmacsValue]
- data EmacsFuncallExit
- data EmacsException = EmacsException EmacsFuncallExit EmacsValue EmacsValue
- type EFunctionStub = EmacsEnv -> CPtrdiff -> Ptr (Ptr ()) -> StablePtr PState -> IO EmacsValue
- data InteractiveForm = InteractiveNoArgs
- newtype Doc = Doc Text
- newtype Arity = Arity Int
Documentation
ToEmacsValue a => Callable (EmacsM a) Source # | |
nil について
emacs 内部では nil は文字列で表現できないシンボルとして定義されている。 globals.h
#define Qnil builtin_lisp_symbol (0)
type-of では取得できない。nil は型ではない?かな。多分 type_of に渡 すとエラーになる。
haskell では不便なので ENil という型を導入する。
emacsTypeSymbolName :: EmacsType -> Text Source #
emacsTypes :: [EmacsType] Source #
newtype EmacsValue Source #
EmacsValue (Ptr ()) |
Emacs の値に対する Haskell の型 数値や文字列は素直なんだけど、他 Nil は空 [] でいいのかな?
data EmacsFuncallExit Source #
例外機構
data EmacsException Source #