PreviousUpNext

15.3.289  src/lib/compiler/toplevel/interact/read-eval-print-loops.api

## read-eval-print-loops.api 

# Compiled by:
#     src/lib/compiler/core.sublib



###                 "A language that doesn't have everything
###                  is actually easier to program in than
###                  some that do."
###
###                                    -- Dennis M Ritchie



stipulate
    package cms =  compiler_mapstack_set;                                       # compiler_mapstack_set                 is from   src/lib/compiler/toplevel/compiler-state/compiler-mapstack-set.pkg
herein

    api Read_Eval_Print_Loops {
        #
        exception CONTROL_C_SIGNAL;
        #
        read_eval_print_from_script:  String -> Void;
        read_eval_print_from_file:    String -> Void;
        read_eval_print_from_stream:  file::Input_Stream -> Void;
        read_eval_print_from_user:    Void -> Void;

        evaluate_stream
            :
            ( file::Input_Stream,
              cms::Compiler_Mapstack_Set
            )
            ->
            cms::Compiler_Mapstack_Set;

        with_error_handling
            :
            { treat_as_user:    Bool }                                          # TRUE means to treat all exceptions like usercode exceptions.
            ->
            { thunk:            Void -> Void,
              flush:            Void -> Void,
              fate:             Exception  -> Void
            }
            ->
            Void;

        redump_heap_fate
            :
            Ref( fate::Fate( String ) );

    };
end;

## COPYRIGHT (c) 1996 Bell Laboratories. 
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext