Skip to content

Notes on visual comparison of OCaml code with F# code.

Eric Taucher edited this page Jul 10, 2013 · 1 revision

After finding a missing line of code in my translation I am visually comparing the ml files with the translated F# files and keeping notes here.

As these are expected to be temporary notes, this page will most likely be deleted when the code works and the useful information extracted.

pa_j_XXX.ml

Used with OCaml preprocessor to massage modified HOL Light OCaml code into standard OCaml.
See Makefile
# Build the camlp4 syntax extension file (camlp5 for OCaml >= 3.10)

For example:  
Before OCaml Preprocessor       After OCaml Preprocessor    F# translation  
x THENL y                       THENL x y                   x |> THENL <| y  

hol.ml

For OCaml this is the starting point for HOL Light. In OCaml one starts HOL Light from the toplevel using #use "hol.ml";;

In F# we do the same in FSI by executing Tutorial/hol.fsx

system.ml

Loads the num module which we load in each module using

open FSharp.Compatibility.OCaml
open FSharp.Compatibility.OCaml.Num

lib.ml