Maintainer | bastiaan.heeren@ou.nl |
---|---|
Stability | provisional |
Portability | portable (depends on ghc) |
Safe Haskell | None |
Language | Haskell98 |
Synopsis
- getExercise :: DecoderX a s (Exercise a)
- getOptions :: DecoderX a s Options
- getRequest :: DecoderX a s Request
- withExercise :: (Exercise a -> DecoderX a s t) -> DecoderX a s t
- getBaseUrl :: DecoderX a s String
- getQCGen :: DecoderX a s QCGen
- getScript :: DecoderX a s Script
- (//) :: Decoder env s a -> s -> Decoder env s2 a
- withJSONTerm :: (Bool -> DecoderX a s t) -> DecoderX a s t
- withOpenMath :: (Bool -> DecoderX a s t) -> DecoderX a s t
- hasJSONView :: Exercise a -> Maybe (View JSON a)
- addJSONView :: View JSON a -> Exercise a -> Exercise a
- jsonEncoding :: InJSON a => Exercise a -> Exercise a
- termToJSON :: Term -> JSON
- jsonToTerm :: JSON -> Term
- hasLatexEncoding :: Exercise a -> Bool
- latexPrinter :: Exercise a -> a -> Latex
- latexPrinterContext :: Exercise a -> Context a -> Latex
- latexEncoding :: ToLatex a => Exercise a -> Exercise a
- latexEncodingWith :: (a -> Latex) -> Exercise a -> Exercise a
- type EncoderX a = Encoder (Exercise a, Options)
- type TypedEncoder a b = TypedValue (Type a) -> EncoderX a b
- (<?>) :: (t -> EncoderX a b, Type a t) -> TypedEncoder a b -> TypedEncoder a b
- encodeTyped :: (t -> EncoderX a b) -> Type a t -> TypedEncoder a b
- type DecoderX a = Decoder (Exercise a, Options)
- type TypedDecoder a s = forall t. Type a t -> Decoder (Exercise a, Options) s t
Converter type class
getExercise :: DecoderX a s (Exercise a) Source #
getOptions :: DecoderX a s Options Source #
getRequest :: DecoderX a s Request Source #
getBaseUrl :: DecoderX a s String Source #
JSON support
termToJSON :: Term -> JSON Source #
jsonToTerm :: JSON -> Term Source #
Latex support
hasLatexEncoding :: Exercise a -> Bool Source #
latexPrinter :: Exercise a -> a -> Latex Source #
Uses exercise pretty-printer in case latex encoding is missing.
latexPrinterContext :: Exercise a -> Context a -> Latex Source #
Uses exercise pretty-printer in case latex encoding is missing.
Encoder datatype
type TypedEncoder a b = TypedValue (Type a) -> EncoderX a b Source #
(<?>) :: (t -> EncoderX a b, Type a t) -> TypedEncoder a b -> TypedEncoder a b infixr 5 Source #
encodeTyped :: (t -> EncoderX a b) -> Type a t -> TypedEncoder a b Source #