package gospel
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  A tool-agnostic formal specification language for OCaml
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      0.2.0.tar.gz
    
    
        
    
  
  
  
    
  
  
    
  
        md5=964e7cb82b4391c7ad0794c20adcc67f
    
    
  sha512=15c5d3f48fac648ce0799c2664323d461f3792ae9477ba0fe8c499228a9faddda22e8ef66ef10733dce550dcf8ba2641fce2b5472005f649f28e5426d0631375
    
    
  doc/CHANGES.html
0.2
Added
- Introduce a generic 
pp_genpretty-printer for error messages, so that external tools can pretty-print errors in the same style #326 - Add ppx rewriter to display gospel contents as documentation with odoc #288
 - Add specific error message for patterns with guard on every clause. #220
 - Added 
whenguards in pattern-matching #206 - Added a 
withconstruct to name a variable in type invariants referring to a value of the specified type. #218 and #187 - Added support for 
intliterals. #175 and #177 and #223 - Added the 
Failureexception to the Stdlib. #154 - Added a 
gospel dumpastcommand. #98 and #184 
Improved
- Forbid 
oldoperator in precondition clauses (requiresandchecks) #335 - Display a warning when encountering an 
include#334 - Allow patterns in arguments and return type annotation in anonymous functions #309
 - Propagate pattern locations to report errors to the precise patterns #308
 - Support partial application of functions and enforce OCaml syntax for constructor application #290
 - Add a pretty-printer for locations #294
 - Gospel preprocessor does not fail when the file is an implementation file #265
 - Rename standard library 
Seqand'a seqtoSequenceand'a sequence. #253 - Allow unit result in function header #215
 - Highlight source locations when reporting errors. #214
 - Check for pattern-matching redundancy in terms. #213
 - Check for pattern-matching exhaustivity in terms. #170
 - Issue a warning when a function returns 
unitbut has nomodifiesclause. #185 - Improved locations for syntax errors in specs. #164
 - Documentation improvements. #108 and #110 and #149
 - Added sanity checks to type invariants: invariants are only allowed on private or abstract types. #117 and #116
 Stdlib changes. #102
- Removed 
refoperator. - Removed 
elementsforBagandSet. comparefunctions returnsintegers instead ofints.
- Removed 
 
Fixed
- Fix the performance issues in the preprocessor \353
 - Gospel preprocessor support documentation for ghost declaration #331
 - Consider comments as spaces while preprocessing (to ensure specification can be attached to a ghost function or type, for instance) #321
 - Fix source-location tracking (directives and overridden filename) #319
 - Set up location in parsing ghost specifications #310
 - Check that all patterns in a disjunction bind the same variables #300
 - Handle the special case of 
MODULE_ALIASESinstdlib.mliin the parser #306 - Take recursivity into account when typing type declarations #304
 - Support pattern with cast #301
 - Use payload location for specification text #299
 - Support patterns of one-parameter constructors with a tuple argument #297
 - Use correct location for arity mismatches in type applications #258
 - Avoid uncaught exception when displaying a warning for builtins (using 
Location.none) #283 - Gospel preprocessor no longer detach documentation below a declaration #281
 - Fixed pattern match analysis in exceptional postconditions #277
 - Avoid uncaught exception when displaying a warning on a dummy position #262
 - Constants can now be referenced in specifications. #211
 - Infix operators in specificaion headers are now accepted. #205
 - Fix inconsistencies in typing/parsing of exceptional postconditions patterns. #203
 - Fixed the type-checking of interfaces involving the OCaml Stdlib, which was not opened by default. GADTs are considered abstract types. #195
 - Fixed incorrectly rejected interfaces with absent\partial function contracts in the presence of tuples as return values. #193
 - Fixed support for types containing functions. #186
 - Fixed wrong syntax errors in patterns. #181
 - Fixed wrong invalid patterns over 
unitvalues. #174 - Fixed the error message for pattern type errors. #172
 
Internals
- Display the backtrace of an error when 
$GOSPELDEBUGis set #295 - Fixed the order of exceptional postconditions in the AST. #200
 - Refactored the error handling: Gospel now only raises a single 
Gospel.Errorexception. #189 - Fixed the representation for type variables in 
ts_tupleandfs_tuple. #183 - Added 
intas a primitive type. #171 - Refactored 
TtermandSymbols. #85 - Redefined the 
ghosttype. #155 - Removed the 
Pty_opentype constructor #109 
0.1.0 (11-03-2021)
- Initial release
 
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page