package beluga
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Implementation of contextual modal logic for reasoning with higher-order abstract syntax
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      beluga-1.1.2.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=b212cd25f28487591e7eb08207f31c45c1329cdd5f76544aca00904089ed8718
    
    
  sha512=2e1e029912a6352733a44689a38cc9161a49c870990930e4432e48c2e376902b18bd5f21d64db936dfb0574fffb69ed17eecde2823f2295fc7bb7255b81638aa
    
    
  doc/index.html
Beluga
At a surface level, the Beluga implementation produces two executables:
- The Beluga CLI
- The Harpoon CLI
The Beluga CLI includes a legacy interactive mode interpreter. This is used by the replay executable to interactively test some of the functionalities of the core Beluga system. This interactive system is mostly superseded by Harpoon.
Private Libraries
The Beluga system is comprised of multiple private libraries. These are listed below in topological order of dependency.
- Supportis the library of miscellaneous utility functions, data structures, and extensions to imported libraries.
- Optparseris a library for parsing CLI arguments using combinators.
- Beluga_syntaxis the library defining the data types for the various syntaxes and common syntactic elements of Beluga and Harpoon.
- Beluga_parseris the library for parsing Beluga signatures and Harpoon commands.
- Beluga_htmlis a library for pretty-printing external Beluga signatures to HTML.
- Belugais the core library of Beluga, which deals with signature reconstruction, type-checking, coverage-checking and termination-checking. It also features modules handling the legacy interactive mode for Beluga, as well as proof search using logic programming.
- Harpoonis the new interactive frontend to Beluga.
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page