GaloisInc / cryptol

Cryptol: The Language of Cryptography
https://galoisinc.github.io/cryptol/master/RefMan.html
BSD 3-Clause "New" or "Revised" License
1.14k stars 126 forks source link

Haddock documentation is very incomplete #402

Closed brianhuffman closed 6 years ago

brianhuffman commented 7 years ago

As of revision 4c45e1ba, running cabal haddock shows that there are an awful lot of undocumented top-level declarations in Cryptol. Here are the reported percentages by module:

Running Haddock for cryptol-2.4.0...
Preprocessing library cryptol-2.4.0...
Haddock coverage:
  25% (  1 /  4) in 'GitRev'
  38% ( 10 / 26) in 'Cryptol.Utils.Patterns'
 100% (  3 /  3) in 'Cryptol.Utils.Misc'
   0% (  0 /  8) in 'Paths_cryptol'
  17% (  1 /  6) in 'Cryptol.Version'
  50% (  1 /  2) in 'Cryptol.Utils.Panic'
  20% (  1 /  5) in 'Cryptol.Parser.Unlit'
  86% (  6 /  7) in 'Cryptol.REPL.Trie'
 100% (  2 /  2) in 'Cryptol.Eval.Arch'
  74% ( 14 / 19) in 'Cryptol.TypeCheck.Solver.InfNat'
  15% (  3 / 20) in 'Cryptol.Utils.Ident'
  21% ( 12 / 58) in 'Cryptol.Utils.PP'
   9% (  2 / 23) in 'Cryptol.Parser.Position'
  14% (  6 / 42) in 'Cryptol.Parser.LexerUtils'
  29% (  4 / 14) in 'Cryptol.Parser.Lexer'
  33% (  1 /  3) in 'Cryptol.Utils.Debug'
  40% (  4 / 10) in 'Cryptol.TypeCheck.PP'
  27% (  3 / 11) in 'Cryptol.Parser.Name'
  75% (  3 /  4) in 'Cryptol.Prims.Syntax'
  46% ( 31 / 68) in 'Cryptol.Parser.AST'
  61% ( 17 / 28) in 'Cryptol.ModuleSystem.Name'
  81% ( 22 / 27) in 'Cryptol.Parser.Names'
  33% (  1 /  3) in 'Cryptol.Parser.NoPat'
  33% (  1 /  3) in 'Cryptol.Parser.Utils'
   8% (  4 / 48) in 'Cryptol.Parser.ParserUtils'
   4% (  1 / 25) in 'Cryptol.Parser'
  25% (  1 /  4) in 'Cryptol.Parser.NoInclude'
  17% ( 21 /122) in 'Cryptol.TypeCheck.Type'
  31% ( 13 / 42) in 'Cryptol.TypeCheck.AST'
 100% ( 18 / 18) in 'Cryptol.Eval.Monad'
  83% ( 10 / 12) in 'Cryptol.Eval.Type'
  65% ( 44 / 68) in 'Cryptol.Eval.Value'
  47% ( 16 / 34) in 'Cryptol.Symbolic.Value'
  40% (  4 / 10) in 'Cryptol.ModuleSystem.Interface'
  59% ( 19 / 32) in 'Cryptol.ModuleSystem.NamingEnv'
  38% (  6 / 16) in 'Cryptol.ModuleSystem.Renamer'
   9% (  1 / 11) in 'Cryptol.TypeCheck.TypeMap'
 100% (  2 /  2) in 'Cryptol.Transform.MonoValues'
  30% (  8 / 27) in 'Cryptol.TypeCheck.Solver.Numeric.Interval'
  77% ( 23 / 30) in 'Cryptol.TypeCheck.Solver.Numeric.AST'
 100% (  3 /  3) in 'Cryptol.TypeCheck.Solver.Numeric.Defined'
  40% (  4 / 10) in 'Cryptol.TypeCheck.Solver.Numeric.SimplifyExpr'
 100% (  7 /  7) in 'Cryptol.TypeCheck.Solver.Numeric.Simplify'
  71% (  5 /  7) in 'Cryptol.TypeCheck.Solver.Numeric.NonLin'
  88% (  7 /  8) in 'Cryptol.TypeCheck.Solver.Numeric.SMT'
  70% (  7 / 10) in 'Cryptol.Eval.Env'
  90% (  9 / 10) in 'Cryptol.Eval'
  60% (  6 / 10) in 'Cryptol.Testing.Concrete'
   3% (  1 / 32) in 'Cryptol.TypeCheck.TypePat'
   5% (  1 / 19) in 'Cryptol.TypeCheck.SimpType'
  91% ( 10 / 11) in 'Cryptol.Testing.Random'
  16% ( 12 / 74) in 'Cryptol.Prims.Eval'
  11% (  4 / 35) in 'Cryptol.Symbolic.Prims'
  11% (  1 /  9) in 'Cryptol.TypeCheck.Solver.Numeric.ImportExport'
 100% (  5 /  5) in 'Cryptol.TypeCheck.Solver.Utils'
   0% (  0 /  8) in 'Cryptol.TypeCheck.Solver.Types'
   0% (  0 /  4) in 'Cryptol.TypeCheck.Solver.Numeric'
  33% (  1 /  3) in 'Cryptol.TypeCheck.Solver.Numeric.Fin'
 100% (  5 /  5) in 'Cryptol.TypeCheck.Solver.Class'
   0% (  0 /  3) in 'Cryptol.TypeCheck.SimpleSolver'
  27% (  4 / 15) in 'Cryptol.TypeCheck.Subst'
  14% (  1 /  7) in 'Cryptol.TypeCheck.Sanity'
  18% (  7 / 39) in 'Cryptol.TypeCheck.InferTypes'
  18% (  2 / 11) in 'Cryptol.TypeCheck.Unify'
  67% ( 12 / 18) in 'Cryptol.TypeCheck.Solver.CrySAT'
  66% ( 59 / 90) in 'Cryptol.TypeCheck.Monad'
  64% (  7 / 11) in 'Cryptol.TypeCheck.Depends'
  50% (  1 /  2) in 'Cryptol.TypeCheck.Solver.SMT'
  50% (  1 /  2) in 'Cryptol.TypeCheck.Instantiate'
 100% (  2 /  2) in 'Cryptol.TypeCheck.Solver.Selector'
  25% (  1 /  4) in 'Cryptol.TypeCheck.Solver.Improve'
  57% (  4 /  7) in 'Cryptol.TypeCheck.Solve'
  80% (  4 /  5) in 'Cryptol.TypeCheck.Kind'
  43% ( 12 / 28) in 'Cryptol.TypeCheck.Infer'
  46% (  6 / 13) in 'Cryptol.TypeCheck'
  45% (  9 / 20) in 'Cryptol.ModuleSystem.Env'
   7% (  5 / 67) in 'Cryptol.ModuleSystem.Monad'
 100% (  2 /  2) in 'Cryptol.Prelude'
  63% ( 19 / 30) in 'Cryptol.ModuleSystem.Base'
  52% ( 14 / 27) in 'Cryptol.ModuleSystem'
  44% ( 31 / 71) in 'Cryptol.Eval.Reference'
   7% (  2 / 28) in 'Cryptol.Symbolic'
  52% ( 30 / 58) in 'Cryptol.REPL.Monad'
  67% (  2 /  3) in 'Cryptol.TypeCheck.TypeOf'
  32% (  9 / 28) in 'Cryptol.Transform.Specialize'
  42% ( 13 / 31) in 'Cryptol.REPL.Command'
brianhuffman commented 6 years ago

We don't have any specific goals for how much haddock documentation we need, so I'm closing this one.