/*
* <!--
*
* **************************************************************
* This Java source has been automatically generated.
* MODIFICATIONS TO THIS SOURCE MAY BE OVERWRITTEN - DO NOT MODIFY THIS FILE
* **************************************************************
*
*
* This file (CAL_PrettyPrinter.java)
* was generated from CAL module: Cal.Utilities.PrettyPrinter.
* The constants and methods provided are intended to facilitate accessing the
* Cal.Utilities.PrettyPrinter module from Java code.
*
* Creation date: Tue Aug 28 15:58:40 PDT 2007
* --!>
*
*/
package org.openquark.cal.module.Cal.Utilities;
import org.openquark.cal.compiler.ModuleName;
import org.openquark.cal.compiler.QualifiedName;
import org.openquark.cal.compiler.SourceModel;
/**
* Functions for pretty-printing text.
* This is based on the paper 'A prettier printer' by Philip Wadler.
* (<a href='http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf'>http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf</a>)
* @author Richard Webster
*/
public final class CAL_PrettyPrinter {
public static final ModuleName MODULE_NAME =
ModuleName.make("Cal.Utilities.PrettyPrinter");
/**
* This inner class (TypeConstructors) contains constants
* and methods related to binding to CAL TypeConstructors in the Cal.Utilities.PrettyPrinter module.
*/
public static final class TypeConstructors {
/** Name binding for TypeConsApp: Document. */
public static final QualifiedName Document =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "Document");
}
/**
* This inner class (Functions) contains constants
* and methods related to binding to CAL functions in the Cal.Utilities.PrettyPrinter module.
*/
public static final class Functions {
/**
* Helper binding method for function: bracket.
* @param l
* @param x
* @param r
* @return the SourceModule.expr representing an application of bracket
*/
public static final SourceModel.Expr bracket(SourceModel.Expr l, SourceModel.Expr x, SourceModel.Expr r) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.bracket), l, x, r});
}
/**
* @see #bracket(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
* @param l
* @param x
* @param r
* @return the SourceModel.Expr representing an application of bracket
*/
public static final SourceModel.Expr bracket(java.lang.String l, SourceModel.Expr x, java.lang.String r) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.bracket), SourceModel.Expr.makeStringValue(l), x, SourceModel.Expr.makeStringValue(r)});
}
/**
* Name binding for function: bracket.
* @see #bracket(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName bracket =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "bracket");
/**
* Helper binding method for function: fill.
* @param docs
* @return the SourceModule.expr representing an application of fill
*/
public static final SourceModel.Expr fill(SourceModel.Expr docs) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.fill), docs});
}
/**
* Name binding for function: fill.
* @see #fill(org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName fill =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "fill");
/**
* Similar to fill, except that the specified separator text will be inserted between the items.
* The <code>trailingSeparator</code> flag controls whether the separator appears after each item (except the last)
* or before each item (except the first).
* @param trailingSeparator (CAL type: <code>Cal.Core.Prelude.Boolean</code>)
* @param separator (CAL type: <code>Cal.Core.Prelude.String</code>)
* @param docs (CAL type: <code>[Cal.Utilities.PrettyPrinter.Document]</code>)
* @return (CAL type: <code>Cal.Utilities.PrettyPrinter.Document</code>)
*/
public static final SourceModel.Expr fillSeparatedList(SourceModel.Expr trailingSeparator, SourceModel.Expr separator, SourceModel.Expr docs) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.fillSeparatedList), trailingSeparator, separator, docs});
}
/**
* @see #fillSeparatedList(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
* @param trailingSeparator
* @param separator
* @param docs
* @return the SourceModel.Expr representing an application of fillSeparatedList
*/
public static final SourceModel.Expr fillSeparatedList(boolean trailingSeparator, java.lang.String separator, SourceModel.Expr docs) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.fillSeparatedList), SourceModel.Expr.makeBooleanValue(trailingSeparator), SourceModel.Expr.makeStringValue(separator), docs});
}
/**
* Name binding for function: fillSeparatedList.
* @see #fillSeparatedList(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName fillSeparatedList =
QualifiedName.make(
CAL_PrettyPrinter.MODULE_NAME,
"fillSeparatedList");
/**
* Helper binding method for function: fillwords.
* @param str
* @return the SourceModule.expr representing an application of fillwords
*/
public static final SourceModel.Expr fillwords(SourceModel.Expr str) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.fillwords), str});
}
/**
* @see #fillwords(org.openquark.cal.compiler.SourceModel.Expr)
* @param str
* @return the SourceModel.Expr representing an application of fillwords
*/
public static final SourceModel.Expr fillwords(java.lang.String str) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.fillwords), SourceModel.Expr.makeStringValue(str)});
}
/**
* Name binding for function: fillwords.
* @see #fillwords(org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName fillwords =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "fillwords");
/**
* Helper binding method for function: folddoc.
* @param f
* @param docs
* @return the SourceModule.expr representing an application of folddoc
*/
public static final SourceModel.Expr folddoc(SourceModel.Expr f, SourceModel.Expr docs) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.folddoc), f, docs});
}
/**
* Name binding for function: folddoc.
* @see #folddoc(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName folddoc =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "folddoc");
/**
* Helper binding method for function: group.
* @param x
* @return the SourceModule.expr representing an application of group
*/
public static final SourceModel.Expr group(SourceModel.Expr x) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.group), x});
}
/**
* Name binding for function: group.
* @see #group(org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName group =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "group");
/**
* Helper binding method for function: line.
* @return the SourceModule.expr representing an application of line
*/
public static final SourceModel.Expr line() {
return SourceModel.Expr.Var.make(Functions.line);
}
/**
* Name binding for function: line.
* @see #line()
*/
public static final QualifiedName line =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "line");
/**
* Helper binding method for function: lineSep.
* @param x
* @param y
* @return the SourceModule.expr representing an application of lineSep
*/
public static final SourceModel.Expr lineSep(SourceModel.Expr x, SourceModel.Expr y) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.lineSep), x, y});
}
/**
* Name binding for function: lineSep.
* @see #lineSep(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName lineSep =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "lineSep");
/**
* Breaks the text into multiple lines (based on the <code>'\n'</code> char) and creates a document item for each line.
* @param s (CAL type: <code>Cal.Core.Prelude.String</code>)
* @return (CAL type: <code>Cal.Utilities.PrettyPrinter.Document</code>)
*/
public static final SourceModel.Expr multilineText(SourceModel.Expr s) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.multilineText), s});
}
/**
* @see #multilineText(org.openquark.cal.compiler.SourceModel.Expr)
* @param s
* @return the SourceModel.Expr representing an application of multilineText
*/
public static final SourceModel.Expr multilineText(java.lang.String s) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.multilineText), SourceModel.Expr.makeStringValue(s)});
}
/**
* Name binding for function: multilineText.
* @see #multilineText(org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName multilineText =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "multilineText");
/**
* Helper binding method for function: nest.
* @param i
* @param x
* @return the SourceModule.expr representing an application of nest
*/
public static final SourceModel.Expr nest(SourceModel.Expr i, SourceModel.Expr x) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.nest), i, x});
}
/**
* @see #nest(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
* @param i
* @param x
* @return the SourceModel.Expr representing an application of nest
*/
public static final SourceModel.Expr nest(int i, SourceModel.Expr x) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.nest), SourceModel.Expr.makeIntValue(i), x});
}
/**
* Name binding for function: nest.
* @see #nest(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName nest =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "nest");
/**
* Helper binding method for function: pretty.
* @param maxWidth
* @param doc
* @return the SourceModule.expr representing an application of pretty
*/
public static final SourceModel.Expr pretty(SourceModel.Expr maxWidth, SourceModel.Expr doc) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.pretty), maxWidth, doc});
}
/**
* @see #pretty(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
* @param maxWidth
* @param doc
* @return the SourceModel.Expr representing an application of pretty
*/
public static final SourceModel.Expr pretty(int maxWidth, SourceModel.Expr doc) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.pretty), SourceModel.Expr.makeIntValue(maxWidth), doc});
}
/**
* Name binding for function: pretty.
* @see #pretty(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName pretty =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "pretty");
/**
* Helper binding method for function: singleSpace.
* @return the SourceModule.expr representing an application of singleSpace
*/
public static final SourceModel.Expr singleSpace() {
return SourceModel.Expr.Var.make(Functions.singleSpace);
}
/**
* Name binding for function: singleSpace.
* @see #singleSpace()
*/
public static final QualifiedName singleSpace =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "singleSpace");
/**
* Helper binding method for function: spaceOrLineSep.
* @param x
* @param y
* @return the SourceModule.expr representing an application of spaceOrLineSep
*/
public static final SourceModel.Expr spaceOrLineSep(SourceModel.Expr x, SourceModel.Expr y) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.spaceOrLineSep), x, y});
}
/**
* Name binding for function: spaceOrLineSep.
* @see #spaceOrLineSep(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName spaceOrLineSep =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "spaceOrLineSep");
/**
* Helper binding method for function: spaceSep.
* @param x
* @param y
* @return the SourceModule.expr representing an application of spaceSep
*/
public static final SourceModel.Expr spaceSep(SourceModel.Expr x, SourceModel.Expr y) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.spaceSep), x, y});
}
/**
* Name binding for function: spaceSep.
* @see #spaceSep(org.openquark.cal.compiler.SourceModel.Expr, org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName spaceSep =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "spaceSep");
/**
* Helper binding method for function: spread.
* @param docs
* @return the SourceModule.expr representing an application of spread
*/
public static final SourceModel.Expr spread(SourceModel.Expr docs) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.spread), docs});
}
/**
* Name binding for function: spread.
* @see #spread(org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName spread =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "spread");
/**
* Helper binding method for function: stack.
* @param docs
* @return the SourceModule.expr representing an application of stack
*/
public static final SourceModel.Expr stack(SourceModel.Expr docs) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.stack), docs});
}
/**
* Name binding for function: stack.
* @see #stack(org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName stack =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "stack");
/**
* Helper binding method for function: text.
* @param s
* @return the SourceModule.expr representing an application of text
*/
public static final SourceModel.Expr text(SourceModel.Expr s) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.text), s});
}
/**
* @see #text(org.openquark.cal.compiler.SourceModel.Expr)
* @param s
* @return the SourceModel.Expr representing an application of text
*/
public static final SourceModel.Expr text(java.lang.String s) {
return
SourceModel.Expr.Application.make(
new SourceModel.Expr[] {SourceModel.Expr.Var.make(Functions.text), SourceModel.Expr.makeStringValue(s)});
}
/**
* Name binding for function: text.
* @see #text(org.openquark.cal.compiler.SourceModel.Expr)
*/
public static final QualifiedName text =
QualifiedName.make(CAL_PrettyPrinter.MODULE_NAME, "text");
}
/**
* A hash of the concatenated JavaDoc for this class (including inner classes).
* This value is used when checking for changes to generated binding classes.
*/
public static final int javaDocHash = 608479550;
}