This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ocaml | |
(* run "./EzSudoku n" to generate template .ml file to fill with your n^2*n^2 sudoku problem | |
You probably shouldn't put anything bigger than 3. Or 2 in fact... *) | |
let size = | |
try int_of_string Sys.argv.(1) with | |
| _ -> 2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type zero = unit | |
type 'a succ = unit -> 'a | |
type one = zero succ | |
type 'a plus_1 = 'a succ | |
type 'a plus_2 = 'a plus_1 plus_1 | |
type 'a plus_4 = 'a plus_2 plus_2 | |
type 'a plus_8 = 'a plus_4 plus_4 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type zero = unit | |
type 'a succ = unit -> 'a | |
type 'a nat = | |
| Zero : zero nat | |
| Succ : 'a nat -> 'a succ nat | |
module type T = sig | |
type t | |
val v : t nat |