Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / mlton / elaborate / elaborate.sig
1 (* Copyright (C) 2017 Matthew Fluet.
2 * Copyright (C) 1999-2005 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 * Copyright (C) 1997-2000 NEC Research Institute.
5 *
6 * MLton is released under a BSD-style license.
7 * See the file MLton-LICENSE for details.
8 *)
9
10 signature ELABORATE_STRUCTS =
11 sig
12 structure Ast: AST
13 structure CoreML: CORE_ML
14 structure TypeEnv: TYPE_ENV
15 sharing Ast.Record = CoreML.Record
16 sharing Ast.SortedRecord = CoreML.SortedRecord
17 sharing CoreML.Atoms = TypeEnv.Atoms
18 sharing CoreML.Type = TypeEnv.Type
19 end
20
21 signature ELABORATE =
22 sig
23 include ELABORATE_STRUCTS
24
25 structure Env: ELABORATE_ENV
26
27 val elaborateMLB:
28 Ast.Basdec.t * {addPrim: Env.t -> CoreML.Dec.t list}
29 -> Env.t * (CoreML.Dec.t list * bool) vector
30 end