Module CurryDoc.CDoc

Functions to generate documentation in "CDoc" format.

Author: Sandra Dylus

Version: December 2024

Summary of exported operations:

generateCDoc :: String -> String -> [(SourceLine,String)] -> AnaInfo -> IO String  Non-deterministic 
Generates the documentation of a module in "CDoc" format.
removeForall :: TypeExpr -> TypeExpr  Deterministic 
funcComment :: String -> [(SourceLine,String)] -> String  Deterministic 
dataComment :: String -> [(SourceLine,String)] -> String  Deterministic 
flexRigid :: Rule -> FlexRigidResult  Deterministic 
author :: [(String,String)] -> String  Deterministic 
consSignature :: ConsDecl -> ((String,String),[TypeExpr])  Deterministic 
newconsSignature :: NewConsDecl -> ((String,String),[TypeExpr])  Deterministic 

Exported datatypes:


CurryInfo

The information about a Curry module contains

  • the module information
  • the corresponding functions
  • the corresponding data and type declaration

Constructors:


ModuleInfo

The basic information about some module contains

  • the name
  • the author
  • the description

Constructors:

  • ModuleInfo :: String -> String -> String -> ModuleInfo

FunctionInfo

The information about functions defined in a Curry module contains

  • the name
  • the signature
  • the corresponding module
  • the description
  • True if property ist defined non-deterministically
  • the flex/rigid status

Constructors:


TypeInfo

The information about types defined in a Curry module contains

  • the name
  • the signature (true indicates a type synonym, false a data type)
  • a list of constructors and their argument types (or the type name and the type expression in case of type synonyms)
  • a list of type variables (i.e., non-empty for a polymoprhic type)
  • the corresponding module
  • the description
  • a flag which is True if it is a type synonym

Constructors:


Exported operations:

generateCDoc :: String -> String -> [(SourceLine,String)] -> AnaInfo -> IO String  Non-deterministic 

Generates the documentation of a module in "CDoc" format.

funcComment :: String -> [(SourceLine,String)] -> String  Deterministic 

dataComment :: String -> [(SourceLine,String)] -> String  Deterministic 

author :: [(String,String)] -> String  Deterministic 

consSignature :: ConsDecl -> ((String,String),[TypeExpr])  Deterministic 

newconsSignature :: NewConsDecl -> ((String,String),[TypeExpr])  Deterministic