PreviousUpNext

15.3.335  src/lib/prettyprint/big/src/prettyprint-description.api

## prettyprint-desc-sig.sml
## All rights reserved.

# Compiled by:
#     src/lib/prettyprint/big/src/prettyprinting.sublib



# This interface provides a declarative way to specify pretty-printing.


api Prettyprint_Description {

    package pps:  Prettyprint_Stream;           # Prettyprint_Stream    is from   src/lib/prettyprint/big/src/prettyprint-stream.api

    Prettyprint_Description;

    horizontal_box:      List( Prettyprint_Description )                  ->  Prettyprint_Description;
    vertical_box:      ((pps::Indent, List( Prettyprint_Description ))) ->  Prettyprint_Description;
    horizontal_else_vertical_box:   ((pps::Indent, List( Prettyprint_Description ))) ->  Prettyprint_Description;
    wrap_box:   ((pps::Indent, List( Prettyprint_Description ))) ->  Prettyprint_Description;
    box:        ((pps::Indent, List( Prettyprint_Description ))) ->  Prettyprint_Description;

    token:    pps::Token -> Prettyprint_Description;
    string:   String     -> Prettyprint_Description;

    style:    ((pps::Style, List( Prettyprint_Description ))) -> Prettyprint_Description;

    break:    { spaces:  Int, indent_on_wrap:  Int } -> Prettyprint_Description;
    space:    Int -> Prettyprint_Description;
    cut:      Prettyprint_Description;
    newline:  Prettyprint_Description;

    nonbreakable_spaces:  Int -> Prettyprint_Description;

    control:  (pps::Device -> Void) -> Prettyprint_Description;

    description:  (pps::Stream, Prettyprint_Description) -> Void;

};



## COPYRIGHT (c) 2005 John Reppy (http://www.cs.uchicago.edu/~jhr)
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext