Mavryk_benchmark_001_PtAtLas.Rules
and type_constraint =
| No_cnstrnt
| Data_cnstrnt of {
cnstrnt : Mavryk_benchmark_type_inference_001_PtAtLas.Type.Base.t;
fresh : int list;
}
| Instr_cnstrnt of {
cnstrnt : Mavryk_benchmark_type_inference_001_PtAtLas.Inference.transformer;
fresh : var list;
fresh_stack : int list;
}
and replacement =
| Context_aware of Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.node ->
Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.node
| Context_blind of unit ->
Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.node
val stack_repr :
Mavryk_benchmark_type_inference_001_PtAtLas.Inference.michelson_type
val add_fresh_stack_variables :
Mavryk_benchmark_type_inference_001_PtAtLas.Uf.UF.key list ->
unit Mavryk_benchmark_type_inference_001_PtAtLas.Inference.M.t
val add_fresh_data_variables :
Mavryk_benchmark_type_inference_001_PtAtLas.Uf.UF.key list ->
unit Mavryk_benchmark_type_inference_001_PtAtLas.Inference.M.t
val add_fresh_variables :
var list ->
Mavryk_benchmark_type_inference_001_PtAtLas__Inference.michelson_type ->
Mavryk_benchmark_type_inference_001_PtAtLas__Inference.michelson_type ->
unit Mavryk_benchmark_type_inference_001_PtAtLas.Inference.M.t
val evaluate_guard_monadic :
type_constraint ->
Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.Path.t ->
unit Mavryk_benchmark_type_inference_001_PtAtLas.Inference.M.t
val evaluate_guard :
Mavryk_benchmark_type_inference_001_PtAtLas__Inference.state ->
type_constraint ->
Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.Path.t ->
bool
val filter_matches :
Mavryk_benchmark_type_inference_001_PtAtLas__Inference.state ->
type_constraint ->
Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.Path.t list ->
Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.Path.t list
val matches_with_hash_consing :
pattern ->
Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.node ->
Mavryk_benchmark_001_PtAtLas.Kernel.Path.t list
val matches_without_consing :
pattern ->
Kernel.Rewriter.node ->
Mavryk_benchmark_001_PtAtLas.Kernel.Path.t list
val rewriting :
State_space.t ->
rule_set list ->
(Kernel.Rewriter.path
* Mavryk_benchmark_type_inference_001_PtAtLas.Mikhailsky.node)
list
module Instruction : sig ... end
module Data_rewrite_leaves
(Michelson_base : Michelson_samplers_base.S)
(Crypto_samplers : Mavryk_benchmark.Crypto_samplers.Finite_key_pool_S) :
sig ... end
module Data
(Michelson_base : Michelson_samplers_base.S)
(Crypto_samplers : Mavryk_benchmark.Crypto_samplers.Finite_key_pool_S) :
sig ... end