content: {- |
  Module      :  $Id$
  Description :  higher order CASL extension
  Copyright   :  (c) Christian Maeder and Uni Bremen 2005
  License     :  GPLv2 or higher, see LICENSE.txt
  
  Maintainer  :  Christian.Maeder@dfki.de
  Stability   :  provisional
  Portability :  portable (except HasCASL.Logic_HasCASL)
  
  This folder contains the files for HasCASL basic specs
  
   * "HasCASL.As"                 abstract syntax with derived position access
  
   * "HasCASL.AsToLe"             convert abstract syntax to local environment
  
   * "HasCASL.AsUtils"            utilities to access the abstract syntax
  
   * "HasCASL.ATC_HasCASL"        generated ATerm conversions
  
   * "HasCASL.Builtin"            predefined HasCASL identifiers
  
   * "HasCASL.ClassAna"           analyse class identifiers and declarations
  
   * "HasCASL.Constrain"          kind and subtype constraints for type checking
  
   * "HasCASL.DataAna"            analyse data types
  
   * "HasCASL.FoldTerm"           folding over terms
  
   * "HasCASL.HToken"             extended lexical HasCASL tokens
  
   * "HasCASL.Le"                 the local environment, i.e. signature
  
   * "HasCASL.Logic_HasCASL"      the instance for "Logic.Logic"
  
   * "HasCASL.MapTerm"            mapping terms according to a morphism
  
   * "HasCASL.Merge"              merging repeated declarations
  
   * "HasCASL.MinType"            choose a term with minimal type
  
   * "HasCASL.MixAna"             mixfix analysis
  
   * "HasCASL.Morphism"           morphisms (without class translations)
  
   * "HasCASL.OpDecl"             analyse operation declarations
  
   * "HasCASL.ParseItem"          parse any items except terms
  
   * "HasCASL.ParseTerm"          parse terms and formulas
  
   * "HasCASL.PrintAs"            pretty print instances for "HasCASL.As"
  
   * "HasCASL.PrintLe"            pretty print instances for "HasCASL.Le"
  
   * "HasCASL.ProgEq"             interpret special formulas as programs
  
   * "HasCASL.RawSym"             raw, i.e. only parsed, symbols and maps
  
   * "HasCASL.RunMixfixParser"    test utility for mixfix terms
  
   * "HasCASL.RunStaticAna"       test utility for the whole static analysis
  
   * "HasCASL.SimplifyTerm"       simplifying terms
  
   * "HasCASL.Sublogic"           sublogic stuff
  
   * "HasCASL.SubtypeDecl"        analyse subtype declarations
  
   * "HasCASL.SymbItem"           syntactic symbols and symbol maps
  
   * "HasCASL.Symbol"             semantic, i.e. analysed, symbols
  
   * "HasCASL.SymbolMapAnalysis"  see "CASL.SymbolMapAnalysis"
  
   * "HasCASL.TypeAna"            kind analysis of type terms
  
   * "HasCASL.TypeCheck"          type inference of terms
  
   * "HasCASL.TypeDecl"           analyse type declarations
  
   * "HasCASL.TypeMixAna"         mixfix analysis for types
  
   * "HasCASL.Unify"              unification algorithm for types
  
   * "HasCASL.VarDecl"            analyse declarations of variables
  
  -}
  module HasCASL where
  