-
Notifications
You must be signed in to change notification settings - Fork 236
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3732 from mtzguido/prelude
Introducing FStar.Prelude, removing special casing for Prims/Pervasives internally
- Loading branch information
Showing
71 changed files
with
1,186 additions
and
1,200 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
module FStarC.Array | ||
|
||
assume new | ||
type array : Type -> Type0 |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
module FStarC.NormSteps | ||
|
||
(* A mirror of FStar.NormSteps in ulib *) | ||
|
||
open Prims | ||
noeq | ||
type norm_step = | ||
| Simpl // Logical simplification, e.g., [P /\ True ~> P] | ||
| Weak // Weak reduction: Do not reduce under binders | ||
| HNF // Head normal form | ||
| Primops // Reduce primitive operators, e.g., [1 + 1 ~> 2] | ||
| Delta // Unfold all non-recursive definitions | ||
| Zeta // Unroll recursive calls | ||
| ZetaFull // Unroll recursive calls fully | ||
| Iota // Reduce case analysis (i.e., match) | ||
| NBE // Use normalization-by-evaluation, instead of interpretation (experimental) | ||
| Reify // Reify effectful definitions into their representations | ||
| NormDebug // Turn on debugging for this call | ||
| UnfoldOnly : list string -> norm_step // Unlike Delta, unfold definitions for only the given | ||
| UnfoldOnce : list string -> norm_step | ||
// names, each string is a fully qualified name | ||
// like `A.M.f` | ||
// idem | ||
| UnfoldFully : list string -> norm_step | ||
| UnfoldAttr : list string -> norm_step // Unfold definitions marked with the given attributes | ||
| UnfoldQual : list string -> norm_step | ||
| UnfoldNamespace : list string -> norm_step | ||
| Unmeta : norm_step | ||
| Unascribe // Remove type ascriptions [t <: ty ~> t] | ||
|
||
irreducible | ||
let simplify = Simpl | ||
|
||
irreducible | ||
let weak = Weak | ||
|
||
irreducible | ||
let hnf = HNF | ||
|
||
irreducible | ||
let primops = Primops | ||
|
||
irreducible | ||
let delta = Delta | ||
|
||
irreducible | ||
let norm_debug = NormDebug | ||
|
||
irreducible | ||
let zeta = Zeta | ||
|
||
irreducible | ||
let zeta_full = ZetaFull | ||
|
||
irreducible | ||
let iota = Iota | ||
|
||
irreducible | ||
let nbe = NBE | ||
|
||
irreducible | ||
let reify_ = Reify | ||
|
||
irreducible | ||
let delta_only s = UnfoldOnly s | ||
|
||
irreducible | ||
let delta_once s = UnfoldOnce s | ||
|
||
irreducible | ||
let delta_fully s = UnfoldFully s | ||
|
||
irreducible | ||
let delta_attr s = UnfoldAttr s | ||
|
||
irreducible | ||
let delta_qualifier s = UnfoldAttr s | ||
|
||
irreducible | ||
let delta_namespace s = UnfoldNamespace s | ||
|
||
irreducible | ||
let unmeta = Unmeta | ||
|
||
irreducible | ||
let unascribe = Unascribe |
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
type 't array' = 't array | ||
type 't array = 't array' |
Oops, something went wrong.