File: README.internal

package info (click to toggle)
ott 0.34%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,440 kB
  • sloc: ml: 25,103; makefile: 1,374; awk: 736; lisp: 183; sh: 14; sed: 4
file content (58 lines) | stat: -rw-r--r-- 2,061 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Specifications
==============

The source of the specification is in the files
  syntax.ott
  typing.ott
  reduction.ott

The language contains two optional features: type definitions and modules.
This leads to four variants:
  plain             the core core language
  typedef           with type definitions
  module            with modules
  module_typedef    with both modules and type definitions
The source files are first preprocessed to specialise them for a certain
feature combination, yielding the files
  caml_plain_syntax.ott caml_module_syntax.ott caml_module_typedef_syntax.ott caml_typedef_syntax.ott
  caml_plain_typing.ott caml_module_typing.ott caml_module_typedef_typing.ott caml_typedef_typing.ott
  caml_plain_reduction.ott caml_module_reduction.ott caml_module_typedef_reduction.ott caml_typedef_reduction.ott

Inside the ott sources, optional features are hidden within comments.
Lines beginning with "%d" are commented out to enable type
definitions, and lines beginning with "%m" are commented out to enable
modules. Whole passages can be restricted to a feature by the following
trick:
  ... basic material ...
  >>
  %d<<
  ... type definitions specific material ...
  %d>>
  <<
  ... more basic material ...

For each feature combination, the spec is processed by ott with the command
  ott <FLAGS> caml_<FEATURES>_syntax.ott caml_<FEATURES>_typing.ott caml_<FEATURES>_reduction.ott
The Makefile is set up to produce the following output files:
  caml_<FEATURES>.rawtex      # LaTeX
  caml_<FEATURES>.v           # Coq
  caml_<FEATURES>Script.sml   # HOL
  caml_<FEATURES>.thy         # Isabelle

The .rawtex file is tweaked to obtain a .tex file with better typesetting
choices.

To build the versions of a file with all possible feature combinations, run
`make caml_combinations<SUFFIX>', e.g., `make caml_combinations.ps'.



Coq stuff
=========

The following files are used when building the spec:
  caml_lib_misc.v 

Other *.v files are attempts at demonstrating some aspects of the spec, none
currently worth distributing.