shfret: sharing+freeness+regtypes (abstract domain)

Stability: [alpha] A good part of the functionality is there but has not been the subject of significant testing and/or verification.


Usage and interface

Documentation on exports

No further documentation available for this predicate.

Usage:shfret_call_to_entry(Sv,Sg,Hv,Head,K,Fv,Proj,Entry,ExtraInfo)

  • The following properties should hold at call time:
    (nonvar/1)Sv is currently a term which is not a free variable.
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)Hv is currently a term which is not a free variable.
    (nonvar/1)Head is currently a term which is not a free variable.
    (nonvar/1)K is currently a term which is not a free variable.
    (nonvar/1)Fv is currently a term which is not a free variable.
    (nonvar/1)Proj is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Entry is currently a term which is not a free variable.
    (nonvar/1)ExtraInfo is currently a term which is not a free variable.

Usage:shfret_exit_to_prime(Sg,Hv,Head,Sv,Exit,ExtraInfo,Prime)

  • The following properties should hold at call time:
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)Hv is currently a term which is not a free variable.
    (nonvar/1)Head is currently a term which is not a free variable.
    (nonvar/1)Sv is currently a term which is not a free variable.
    (nonvar/1)Exit is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)ExtraInfo is currently a term which is not a free variable.
    (nonvar/1)Prime is currently a term which is not a free variable.

Usage:shfret_project(Sg,Vars,HvFv_u,ASub,Proj)

  • The following properties should hold at call time:
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)Vars is currently a term which is not a free variable.
    (nonvar/1)HvFv_u is currently a term which is not a free variable.
    (nonvar/1)ASub is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Proj is currently a term which is not a free variable.

Usage:shfret_extend(Sg,Prime,Sv,Call,Succ)

  • The following properties should hold at call time:
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)Prime is currently a term which is not a free variable.
    (nonvar/1)Sv is currently a term which is not a free variable.
    (nonvar/1)Call is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Succ is currently a term which is not a free variable.

Usage:shfret_widen(ASub1,ASub2,ASub)

  • The following properties should hold at call time:
    (nonvar/1)ASub1 is currently a term which is not a free variable.
    (nonvar/1)ASub2 is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)ASub is currently a term which is not a free variable.

Usage:shfret_widencall(ASub1,ASub2,ASub)

  • The following properties should hold at call time:
    (nonvar/1)ASub1 is currently a term which is not a free variable.
    (nonvar/1)ASub2 is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)ASub is currently a term which is not a free variable.

Usage:shfret_compute_lub(ListASub,Lub)

  • The following properties should hold at call time:
    (nonvar/1)ListASub is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Lub is currently a term which is not a free variable.

PREDICATEshfret_glb/3

Usage:shfret_glb(ASub0,ASub1,Glb)

  • The following properties should hold at call time:
    (nonvar/1)ASub0 is currently a term which is not a free variable.
    (nonvar/1)ASub1 is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Glb is currently a term which is not a free variable.

No further documentation available for this predicate.

Usage:shfret_less_or_equal(ASub0,ASub1)

  • The following properties should hold at call time:
    (nonvar/1)ASub0 is currently a term which is not a free variable.
    (nonvar/1)ASub1 is currently a term which is not a free variable.

Usage:shfret_identical_abstract(ASub1,ASub2)

  • The following properties should hold at call time:
    (nonvar/1)ASub1 is currently a term which is not a free variable.
    (nonvar/1)ASub2 is currently a term which is not a free variable.

Usage:shfret_abs_sort(ASub0,ASub1)

  • The following properties should hold at call time:
    (nonvar/1)ASub0 is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)ASub1 is currently a term which is not a free variable.

Usage:shfret_call_to_success_fact(Sg,Hv,Head,K,Sv,Call,Proj,Prime,Succ)

  • The following properties should hold at call time:
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)Hv is currently a term which is not a free variable.
    (nonvar/1)Head is currently a term which is not a free variable.
    (nonvar/1)K is currently a term which is not a free variable.
    (nonvar/1)Sv is currently a term which is not a free variable.
    (nonvar/1)Call is currently a term which is not a free variable.
    (nonvar/1)Proj is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Prime is currently a term which is not a free variable.
    (nonvar/1)Succ is currently a term which is not a free variable.

No further documentation available for this predicate.

No further documentation available for this predicate.

Usage:shfret_input_interface(InputUser,Kind,StructI,StructO)

  • The following properties should hold at call time:
    (nonvar/1)InputUser is currently a term which is not a free variable.

Usage:shfret_input_user_interface(InputUser,Qv,ASub,Sg,MaybeCallASub)

  • The following properties should hold at call time:
    (nonvar/1)Qv is currently a term which is not a free variable.
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)MaybeCallASub is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)ASub is currently a term which is not a free variable.

Usage:shfret_asub_to_native(ASub,Qv,OutFlag,Props,Comps)

  • The following properties should hold at call time:
    (nonvar/1)ASub is currently a term which is not a free variable.
    (nonvar/1)Qv is currently a term which is not a free variable.
    (nonvar/1)OutFlag is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Props is currently a term which is not a free variable.
    (nonvar/1)Comps is currently a term which is not a free variable.

Usage:shfret_unknown_call(Sg,Vars,Call,Succ)

  • The following properties should hold at call time:
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)Vars is currently a term which is not a free variable.
    (nonvar/1)Call is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Succ is currently a term which is not a free variable.

Usage:shfret_unknown_entry(Sg,Vars,Entry)

  • The following properties should hold at call time:
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)Vars is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Entry is currently a term which is not a free variable.

Usage:shfret_empty_entry(Sg,Vars,Entry)

  • The following properties should hold at call time:
    (nonvar/1)Sg is currently a term which is not a free variable.
    (nonvar/1)Vars is currently a term which is not a free variable.
  • The following properties should hold upon exit:
    (nonvar/1)Entry is currently a term which is not a free variable.

Documentation on multifiles

PREDICATEaidomain/1
No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

PREDICATEaidom.amgu/5
No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

PREDICATEaidom.needs/2
No further documentation available for this predicate. The predicate is multifile.

PREDICATEaidom.widen/4
No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

PREDICATEaidom.glb/4
No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

No further documentation available for this predicate. The predicate is multifile.

Documentation on imports

This module has the following direct dependencies: