PreviousUpNext

15.3.252  src/lib/compiler/front/typer-stuff/basics/symbol-path.api

## symbol-path.api 

# Compiled by:
#     src/lib/compiler/front/typer-stuff/typecheckdata.sublib



api Symbol_Path {

    Symbol_Path = SYMBOL_PATH  List( symbol::Symbol );

    empty:    Symbol_Path;
    null:     Symbol_Path -> Bool;
    extend:   (Symbol_Path, symbol::Symbol) -> Symbol_Path;

    prepend:  (symbol::Symbol, Symbol_Path) -> Symbol_Path;
    append:   (Symbol_Path, Symbol_Path) -> Symbol_Path;

    first:    Symbol_Path -> symbol::Symbol;
    last:     Symbol_Path -> symbol::Symbol;
    rest:     Symbol_Path -> Symbol_Path;

    length:   Symbol_Path -> Int;
    equal:    (Symbol_Path, Symbol_Path) -> Bool;

    to_string: Symbol_Path -> String;
};

api Inverse_Path {

    Inverse_Path = INVERSE_PATH  List( symbol::Symbol );

    empty:  Inverse_Path;
    null:   Inverse_Path -> Bool;
    extend: (Inverse_Path, symbol::Symbol) -> Inverse_Path;
    append: (Inverse_Path, Inverse_Path) -> Inverse_Path;
    last:   Inverse_Path -> symbol::Symbol;
    equal:  (Inverse_Path, Inverse_Path) -> Bool;

    last_prefix: Inverse_Path -> Inverse_Path;
    to_string:   Inverse_Path -> String;
};

api Invert_Path {

    Spath;
    Ipath;

    invert_spath:  Spath -> Ipath;
    invert_ipath:  Ipath -> Spath;
};


## Copyright 1996 by AT&T Bell Laboratories 
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext