PreviousUpNext

15.3.228  src/lib/compiler/front/basics/map/symbol.api

## symbol.api

# Compiled by:
#     src/lib/compiler/front/basics/basics.sublib



api   Symbol {

    Symbol;

    Namespace
      =         VALUE_NAMESPACE
      |          TYPE_NAMESPACE
      |           API_NAMESPACE
      |       PACKAGE_NAMESPACE
      |       GENERIC_NAMESPACE
      |        FIXITY_NAMESPACE
      |         LABEL_NAMESPACE
      | TYPEVAR_NAMESPACE
      |   GENERIC_API_NAMESPACE
      ;

    eq:              (Symbol, Symbol) -> Bool;
    symbol_gt:       (Symbol, Symbol) -> Bool;
    symbol_fast_lt:  (Symbol, Symbol) -> Bool;

    symbol_compare:  (Symbol, Symbol) -> Order;

    make_value_symbol:               String -> Symbol;
    make_type_symbol:                String -> Symbol;
    make_api_symbol:                 String -> Symbol;
    make_package_symbol:             String -> Symbol;
    make_generic_symbol:             String -> Symbol;
    make_generic_api_symbol:         String -> Symbol;
    make_fixity_symbol:              String -> Symbol;
    make_label_symbol:               String -> Symbol;
    make_typevar_symbol:       String -> Symbol;

    make_value_and_fixity_symbols:   String -> (Symbol, Symbol);

    name:   Symbol -> String;
    number: Symbol -> Unt;

    name_space:            Symbol -> Namespace;
    name_space_to_string:  Namespace -> String;

    describe:          Symbol -> String;
    symbol_to_string:  Symbol -> String;

    # Probably should merge PACKAGE_NAMESPACE and GENERIC_NAMESPACE
    # into one namespace.  Similarly for API_NAMESPACE
    # and GENERIC_API_NAMESPACE. XXX BUGGO FIXME

};


## Copyright 1989 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