[silver:core] (stdlib)

Contents of [silver:core]:

Defined in this grammar:

synthesized attribute parseSuccess :: Boolean

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 6.

true if parsing successfully produced a syntax tree. false if a parse error occurred.


synthesized attribute parseError :: ParseError

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 11.

The ParseError which parseErrors is generated from.


synthesized attribute parseErrors :: String

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 16.

A string containing the parse errors reported by copper. The format is unspecified, yet.


synthesized attribute parseTree<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 21.

The parse tree, if parsing was successful.


synthesized attribute parseTerminals :: [TerminalDescriptor]

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 26.

A list of terminals parsed.


data nonterminal ParseResult<a>

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 33.

Parameter a
The start nonterminal type.

A container type for the result of calling a parser.


abstract production parseFailed   (top::ParseResult<a> ::= e::ParseError terminals::[TerminalDescriptor] )

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 41.

Parameter e
The error string reported by the parser.
Parameter terminals
TODO

Parse failure constructor.


abstract production parseSucceeded   (top::ParseResult<a> ::= t::a terminals::[TerminalDescriptor] )

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 57.

Parameter t
The syntax tree returned by the parser.
Parameter terminals
TODO

Parse success constructor.


fun parseTreeOrDieWithoutStackTrace   (a ::= pr::ParseResult<a> )

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 77.

WARNING!
Deprecated!
Parameter pr
The ParseResult returned by the parser
Return
The syntax tree reported by the parser. Does not return if parsing fails.

Make parsers behave like they used to in previous versions of Silver.

Exits and prints parse errors if parsing fails, without a stack trace.


data nonterminal ParseError

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 84.

Representation of a parser error.


abstract production syntaxError   (top::ParseError ::= diagnosticString::String location::Location expectedNames::[String] matchedNames::[String] )

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 94.

Parameter diagnosticString
An un-pretty but convenient way of printing out this parser error.
Parameter location
The location (filename, line, column, index, etc) of the parser error
Parameter expectedNames
The display names of the expected terminals
Parameter matchedNames
The display names of what the parser matched

This production as currently designed matches up exactly with what copper raises in its syntax error exception.


abstract production unknownParseError   (top::ParseError ::= diagnosticString::String file::String )

Contained in grammar [silver:core]. Defined at silver/core/ParseResult.sv line 110.

Parameter diagnosticString
A string describing the error
Parameter file
The filename the error occured on. No other location information is available.

This production accomodates an unknown type of parser error.


class Apply

Contained in grammar [silver:core]. Defined at silver/core/Apply.sv line 12.

Functors with an apply operation, that can be used to lift functions of two or more arguments to work on values wrapped in the type constructor f.

Instances should satisfy the following:

Associative Composition ap(ap(map(compose, f), g), h) = ap(f, ap(g, h))


class Ring

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 11.

This is the typeclass that provides the unary and binary - operators.

Laws:

  • Left Inverse: sub(x, x) = zero
  • Right Inverse: add(sub(zero, x), x) = zero
  • Negate: neg(x) = sub(zero, x)

sub :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 13.

The function corresponding to the binary - operator.


negate :: => (a ::= a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 16.

The function corresponding to the unary - operator.


fun fromInteger   (Ring a => a ::= n::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 62.

Converts an integer into an arbitrary ring.


class Semiring

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 22.

Provides operator overloads for the + and * operators.

Laws:

  • Commutative monoid under addition:
  • Associativity: add(add(x, y), z) = add(x, add(y, z))
  • Left Identity: add(zero, x) = x
  • Right Identity: add(x, zero) = x
  • Commutativity: add(x, y) = add(y, x)
  • Monoid under multiplication:
  • Associativity: mul(mul(x, y), z) = mul(x, mul(y, z))
  • Left Identity: mul(one, x) = x
  • Right Identity: mul(x, one) = x
  • Multiplication distributes over addition:
  • Left Distributivity: mul(x, add(y, z)) = add(mul(x, y), mul(x, z))
  • Right Distributivity: mul(add(x, y), z) = add(mul(x, z), mul(y, z))
  • Left Annihilation: mul(zero, x) = zero
  • Right Annihilation: mul(x, zero) = zero

add :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 24.

The function corresponding to the + operator.


zero :: => a

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 26.

The value corresponding to the 0 constant.


mul :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 28.

The function corresponding to the * operator.


one :: => a

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 30.

The value corresponding to the 1 constant.


function fromNonnegativeInteger   (Semiring a => a ::= n::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 87.

Converts a non-negative integer into an arbitrary semiring.


global sum

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 101.

Compute the sum of a list.


global product

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 104.

Compute the product of a list.


data nonterminal Location

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 8.

Data structure storing location information on tree nodes from a parse.


abstract production loc   (top::Location ::= filename::String line::Integer column::Integer endLine::Integer endColumn::Integer index::Integer endIndex::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 53.

Parameter filename
The “virtual filename”. Initially whatever the parser is given.
Parameter line
(Beginning) line number, inclusive. Lines are numbered starting with 1.
Parameter column
(Beginning) column number, inclusive. Columns are numbered starting with 0. (For now.)
Parameter endLine
(Ending) line number, inclusive.
Parameter endColumn
(Ending) column number, exclusive.
Parameter index
(Beginning) character index, inclusive.
Parameter endIndex
(Ending) character index, exclusive.

The main constructor for location information.

filename, line and column can be mutated by action blocks during parsing, but character index cannot.

e.g. “Hi” as an entire file contents would have its entire location as: (_, 1, 0, 1, 2, 0, 2)


abstract production txtLoc   (top::Location ::= text::String )

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 72.

Parameter text
The text to return as unparse as defined in langutil

A secondary constructor for location information, for locations not from source code


fun childParserLoc   (Location ::= parent::Location child::Location linesOffset::Integer firstLineColsOffset::Integer allLinesColsOffset::Integer indexOffset::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 90.

Offset one location “inside” another. For use when e.g. parsing a doc comment grammar out of a single terminal in the host language. use linesOffset, firstLineColsOffset, allLinesColsOffset, indexOffset if some part of the terminal is munged before being passed to the child parser (e.g. the {- and -} are removed from a comment.)


fun builtinLoc   (Location ::= module::String )

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 108.

Parameter module
The name of the extension/modification/module defining the location

A helper constructor for location information, for built-in locations


fun bogusLoc   (Location ::= )

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 113.

A helper constructor for location information, for invalid or undefined bogus locations


class Monad

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 13.

Monads support both lifting functions/values of arbitrary arity and sequential compostion.

Instances should satisfy the following:

Left Identity bind(pure(x), f) = f(x) Right Identity bind(x, pure) = x


class MonadFail

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 36.

Monads that support failure with an error message.

Instances should satisfy the following:

Annihilation bind(fail(s), f) = fail(s)


class MonadZero

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 48.

The MonadZero type class has no members of its own; it just specifies that the type has both Monad and Alternative instances.

Instances should satisfy the following:

Annihilation bind(empty, f) = empty


class MonadPlus

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 58.

The MonadPlus type class has no members of its own; it just extends MonadZero with an additional law.

Instances should satisfy the following:

Distributivity bind(alt(x, y), f) = alt(bind(x, f), bind(y, f))


class MonadFix

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 77.

Monads having fixed points with a ‘knot-tying’ semantics.

Instances should satisfy the following:

Purity mfix(compose(pure, h)) = pure(fix(h))

Left shrinking (or Tightening) mfix(\x -> bind(a, \y -> f(x, y))) = bind(a, \y -> mfix(\x -> f(x, y)))

Sliding mfix(compose(map(h, _), f)) = map(h, (mfix(compose(f, h)))), for strict h.

Nesting mfix(\x -> mfix(\y -> f(x, y))) = mfix(\x -> f(x, x))


class MonadTrans

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 88.

Monad transformers lift a monadic computation into an additional monad.

Instances should satisfy the following: compose(lift, pure) = pure lift(bind(m, f)) = bind(lift(m), compose(lift, f))


synthesized attribute run<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 95.

Can be used to extract the monadic value from a MonadTrans instance value.


class Ord

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 29.

Ord represents ordering relationships between data.

Laws are based on Haskell’s Ord type class:

Transitivity if x <= y && y <= z = true, then x <= z = true Reflexivity x <= x = true Antisymmetry if x <= y && y <= x = true, then x == y = true

Note that the following operator interactions are expected to hold:

  1. x >= y = y <= x
  2. x < y = x <= y && x != y
  3. x > y = y < x
  4. x < y = compare x y < 0
  5. x > y = compare x y > 0
  6. x == y = compare x y == 0
  7. min(x, y) == if x <= y then x else y = true
  8. max(x, y) == if x >= y then x else y = true

Note that (7.) and (8.) do not require min and max to return either of their arguments. The result is merely required to equal one of the arguments in terms of (==).

Minimal complete definition: either compare or <=. Using compare can be more efficient for complex types.


class DivisionRing

Contained in grammar [silver:core]. Defined at silver/core/DivisionRing.sv line 12.

A typeclass for rings that have a reciprocal operation, which gives the multiplicative inverse of non-zero elements.

Laws:

  • Non-Zero Ring: one != zero
  • Non-Zero Multiplicative Left Inverse: (a != 0) -> mul(recip(a), a) = one
  • Non-Zero Multiplicative Right Inverse: (a != 0) -> mul(a, recip(a)) = one

recip :: => (a ::= a)

Contained in grammar [silver:core]. Defined at silver/core/DivisionRing.sv line 14.

The reciprocal, i.e. the inverse for the multiplicative group.


fun leftDiv   (DivisionRing a => a ::= l::a r::a )

Contained in grammar [silver:core]. Defined at silver/core/DivisionRing.sv line 25.

Division implemented as (1/r) * l.

Iff the type is a commutative ring, this is equivalent to rightDiv.


fun rightDiv   (DivisionRing a => a ::= l::a r::a )

Contained in grammar [silver:core]. Defined at silver/core/DivisionRing.sv line 31.

Division implemented as l * (1/r).

Iff the type is a commutative ring, this is equivalent to leftDiv.


data nonterminal MaybeT<(m :: * -> *) a>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 86.

Parameter m
The monad type to be transformed
Parameter a
The optional result type

Monad transformer corresponding to Maybe.


fun mapMaybeT   (MaybeT<n b> ::= f::(n<Maybe<b>> ::= m<Maybe<a>>) x::MaybeT<m a> )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 96.

Transform the computation inside a MaybeT.


fun fromMaybe   (a ::= otherwise::a ifJust::Maybe<a> )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 173.

Parameter otherwise
The element to return if ‘ifJust’ is ‘nothing’
Parameter ifJust
The maybe value to scrutinize
Return
Either the contents of the Maybe (if ‘just’), or the otherwise element.

The corresponding fold for Maybes.


fun orElse   (Maybe<a> ::= l::Maybe<a> r::Maybe<a> )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 183.

Parameter l
The first element
Parameter r
The second element
Return
A wrapped element, if any, favoring ‘l’

Selects the first existing element, favoring the left.


fun mapOrElse   (b ::= ifNothing::b ifJust::(b ::= a) value::Maybe<a> )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 189.

The eliminator for Maybe. Runs ifJust on the wrapped value if there is one, otherwise returns ifNothing.


fun consMaybe   ([a] ::= h::Maybe<a> t::[a] )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 202.

Parameter h
If a value, the value to cons onto the list.
Parameter t
The list to amend, if there’s a value
Return
The list, possibly with a new value at its head.

Maybe cons a value to a list, or not.


fun catMaybes   ([a] ::= l::[Maybe<a>] )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 211.

Parameter l
A list of optional values
Return
The list with all absent values removed, and present values unwrapped.

Turn a list of possible values into a list of values, skipping over any ‘nothing’s.


fun find   (Maybe<a> ::= f::(Boolean ::= a) l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 216.

Finds the first value matching a predicate.


class Semigroup

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 11.

The class of semigroups (types with an associative binary operation).

Instances should satisfy the following:

Associativity append(x, append(y, z)) = append(append(x, y), z)


WARNING!
This grammar contains only the definitions of the AST nonterminals, needed by the runtime library. The full reflection library that users should import is silver:reflect

The silver IO system is a IO-token based system.

IO Types


synthesized attribute io :: IOToken

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 12.

The type representing the world-state token of an IO action.


synthesized attribute iovalue<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 17.

The resulting value of an IO action.


data nonterminal IOVal<a>

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 24.

Parameter a
The type of value returned by the IO action.

A container for the results of IO actions.


abstract production ioval   (top::IOVal<a> ::= i::IOToken v::a )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 34.

Parameter i
The resulting world-state token.
Parameter v
The resulting value.

The sole constructor of IOVal results.


ffi type IOToken

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 44.

IOToken is the IO Token used to sequence actions.


IO Actions


function printT   (IOToken ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 55.

Parameter s
The string to print.
Parameter i
The “before” world-state token.
Return
The “after” world-state token.

Displays a string on standard out. Newlines are NOT automatically added.


fun printlnT   (IOToken ::= str::String ioIn::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 66.

Like printT, but adds a trailing newline automatically.


function eprintT   (IOToken ::= str::String ioIn::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 71.

Like printT, but for stderr.


fun eprintlnT   (IOToken ::= str::String ioIn::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 82.

Like eprintT, but adds a trailing newline automatically.


function readLineStdinT   (IOVal<Maybe<String>> ::= i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 90.

Parameter i
The “before” world-state token.
Return
The “after” world-state token.

Read a line from standard input.


function exitT   (IOToken ::= val::Integer i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 107.

WARNING!
Never returns! Does not do any cleanup!
Parameter val
The error code to terminate with. (0 is considered “success”)
Parameter i
The “before” world-state token.
Return
Does not actually return!

Terminates with the specified error code.


function mkdirT   (IOVal<Boolean> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 123.

Parameter s
The path to create.
Parameter i
The “before” world-state token.
Return
true if completely successful. false if an error occurred along the way.

Creates a directory, including any parents that need to be created along the way. Similar to ‘mkdir -p’. If it fails, it may create only some of them.


function systemT   (IOVal<Integer> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 143.

WARNING!
Avoid using this if possible. If you need an IO action not present, request it, please.
Parameter s
The string for the shell to execute.
Parameter i
The “before” world-state token.
Return
The exit value of the subprocess.

Executes a shell command. Specifically executes ‘bash -c’. So, not fully cross-platform.

Access to command’s output is not directly available, but it is run in a shell. You can redirect to a file and read that.


function writeFileT   (IOToken ::= file::String contents::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 159.

Parameter file
The filename to write to.
Parameter contents
The string to write to the file.
Parameter i
The “before” world-state token.
Return
The “after” world-state token. May throw a java IO exception, which cannot be caught by Silver.

Write a string to a file, replacing whatever is there already.


function appendFileT   (IOToken ::= file::String contents::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 175.

Parameter file
The filename to append to.
Parameter contents
The string to append to the file.
Parameter i
The “before” world-state token.
Return
The “after” world-state token. May throw a java IO exception, which cannot be caught by Silver.

Append a string to a file.


function writeBinaryFileT   (IOToken ::= file::String contents::ByteArray i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 191.

Parameter file
The filename to write to.
Parameter contents
The bytearray to write to the file.
Parameter i
The “before” world-state token.
Return
The “after” world-state token. May throw a java IO exception, which cannot be caught by Silver.

Write a bytearray to a file, replacing whatever is there already.


function readBinaryFileT   (IOVal<ByteArray> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 207.

Parameter s
The file to read.
Parameter i
The “before” world-state token.
Return
The contents of the file. May throw a java IO exception, which cannot be caught by Silver.

Read the entire contents of a file. All instances of “\r\n” are replaced by “\n” for compatibility reasons.


function fileTimeT   (IOVal<Integer> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 223.

Parameter s
The file to query.
Parameter i
The “before” world-state token.
Return
The modification time of this file. Or 0 if file was not found.

The time, in seconds since 1970, when this file (or directory) was last modified.


function isFileT   (IOVal<Boolean> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 238.

Parameter s
The file to query.
Parameter i
The “before” world-state token.
Return
true if if the file is ordinary. false otherwise.

Checks if a file is an ordinary file. (non-directory, non-special)


function isDirectoryT   (IOVal<Boolean> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 253.

Parameter s
The path to query.
Parameter i
The “before” world-state token.
Return
true if if the exists and is a directory. false otherwise.

Checks if a path is a directory.


function readFileT   (IOVal<String> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 269.

Parameter s
The file to read.
Parameter i
The “before” world-state token.
Return
The contents of the file. May throw a java IO exception, which cannot be caught by Silver.

Read the entire contents of a file. All instances of “\r\n” are replaced by “\n” for compatibility reasons.


function cwdT   (IOVal<String> ::= i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 283.

Parameter i
The “before” world-state token.
Return
The current working directory of the process.

Return the current working directory.


function envVarT   (IOVal<String> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 298.

Parameter s
The name of the environment variable to read.
Parameter i
The “before” world-state token.
Return
The variables string. Empty string if the key doesn’t exist.

Obtain the value of an environment variable.


function listContentsT   (IOVal<[String]> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 314.

Parameter s
The path to list the contents of.
Parameter i
The “before” world-state token.
Return
All files and directories in the named directory. Or [] on error.

List the contents of a directory. Returns empty list if not a directory or other IO error.


function deleteFileT   (IOVal<Boolean> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 329.

Parameter s
The path to file to delete.
Parameter i
The “before” world-state token.
Return
true if the file is deleted successfully. false otherwise.

Delete a file, or an empty directory.


function deleteFilesT   (IOVal<Boolean> ::= s::[String] i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 344.

Parameter s
The list of paths to files to delete.
Parameter i
The “before” world-state token.
Return
true if all files are deleted successfully. false otherwise.

Delete a set of files.


function deleteDirFilesT   (IOVal<Boolean> ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 359.

Parameter s
The path to the directory to empty
Parameter i
The “before” world-state token.
Return
true if contents are deleted successfully. false otherwise.

Empty a directory of all normal files (i.e. leaving subdirectories alone)


function deleteTreeT   (IOToken ::= s::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 374.

Parameter s
The path to the directory to delete
Parameter i
The “before” world-state token.
Return
The IOToken token. Errors (other than non-existence of the path) are fatal.

Delete a non-empty directory and all subdirectories and files.


function copyFileT   (IOToken ::= src::String dst::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 390.

Parameter src
The path of the file to copy.
Parameter dst
The path of the file to write, or the directory to copy the file to.
Parameter i
The “before” world-state token.
Return
the IOToken token. Errors are fatal.

Copy a file from src to dst.


function touchFileT   (IOToken ::= file::String i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 405.

Parameter file
The file to update the modification time of.
Parameter i
The IOToken token.
Return
The IOToken token. Errors are suppressed.

Update a file’s modification time to the current time.


function touchFilesT   (IOToken ::= files::[String] i::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 420.

Parameter files
The list of files to update the modification time of.
Parameter i
The IOToken token.
Return
The IOToken token. Errors are suppressed.

Update a set of files’ modification time to the current time.


IO Misc


function unsafeIO   (IOToken ::= )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 436.

Return
A fake world-state token.

Create a bogus world-state token, for use with unsafeTrace at silver:core/IOToken.sv#453.


function unsafeTrace   (a ::= val::a act::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 453.

WARNING!
see unsafeIO at silver:core/IOToken.sv#436
Parameter val
The value to evaluate to, after the IO action is performed.
Parameter act
The world-state token to demand and consume.
Return
val, unchanged.

Execute an IO action when a value is demanded by the Silver runtime. When this gets executed may be unpredictable.


function hackUnparse   (String ::= nt::a )

Contained in grammar [silver:core]. Defined at silver/core/HackyUnParse.sv line 9.

WARNING!
This is deprecated. Use silver:langutil:pp:show instead, or genericShow in polymorphic contexts/generated code.

hackUnparse takes any value, and produce a string that represents that value. It is mainly useful for debugging.


function genericShow   (String ::= x::a )

Contained in grammar [silver:core]. Defined at silver/core/HackyUnParse.sv line 25.

Take any value, and return a human-readable string representation. This attempts to make use of the pp or unparse attributes, if a term/tree with either of those is provided. Intended for debugging purposes or for error handling in generated code; prefer silver:langutil:pp:show when possible.

Implementation note: this function makes use of silver:langutil:reflect:genericPP if that library is available, else falling back to the less-sophisticated hackUnparse implementation in the runtime.


class HeytingAlgebra

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 30.

This is the typeclass that provides the true and false constants, as well as the &&, ||, and ! operators.

Laws:

  • Associativity:
  • conj(x, conj(y, z)) = conj(conj(x, y), z)
  • disj(x, disj(y, z)) = disj(disj(x, y), z)
  • Commutativity:
  • conj(x, y) = conj(y, x)
  • disj(x, y) = disj(y, x)
  • Absorption:
  • conj(x, disj(x, y)) = x
  • disj(x, conj(x, y)) = x
  • Idempotence:
  • conj(x, x) = x
  • disj(x, x) = x
  • Identity:
  • conj(x, true) = x
  • disj(x, false) = x
  • Implication:
  • implies(x, x) = true
  • conj(x, implies(x, y)) = conj(x, y)
  • conj(y, implies(x, y)) = y
  • implies(x, conj(y, z)) = conj(implies(x, y), implies(x, z))
  • Complement: not(x) = implies(x, false)

ff :: => a

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 33.

The false constant.


tt :: => a

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 36.

The true constant.


implies :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 43.

Implication.

Note that it is not the case that implies(x, y) = disj(not(p), q) for all Heyting algebras. If you require this property, you want a BooleanAlgebra.


conj :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 45.

Conjunction. This function corresponds to the && operator.


disj :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 47.

Disjunction. This function corresponds to the || operator.


not :: => (a ::= a)

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 53.

Complement. This function corresponds to the ! operator.

Note that it is not the case that not(not(x)) = x for all Heyting algebras. If you require this property, you want a BooleanAlgebra.


The miscellaneous IO functions.


IO Misc


function error   (a ::= msg::String )

Contained in grammar [silver:core]. Defined at silver/core/IOMisc.sv line 20.

WARNING!
Does not return! Does not do any cleanup!
Parameter msg
The path to list the contents of.
Return
Does not return.

Die with the stated error message and a stack trace. Note that Silver stacks may be hard to read (it’s a lazy language.)


function genInt   (Integer ::= )

Contained in grammar [silver:core]. Defined at silver/core/IOMisc.sv line 34.

Return
An integer unique to this process.

Generate an integer unique to this run of this process. Starts from 0 and just counts up each call.


function genRand   (Float ::= )

Contained in grammar [silver:core]. Defined at silver/core/IOMisc.sv line 45.

Generates a random number between [0, 1)


fun unsafeTracePrint   (a ::= val::a str::String )

Contained in grammar [silver:core]. Defined at silver/core/IOMisc.sv line 62.

WARNING!
see unsafeIO at silver:core/IOToken.sv#436
Parameter val
The value to evaluate to, after the IO action is performed.
Parameter str
The string to print.
Return
val, unchanged.

Print string when a value is demanded by the Silver runtime. When this gets executed may be unpredictable.


fun unsafeTraceDump   (a ::= val::a )

Contained in grammar [silver:core]. Defined at silver/core/IOMisc.sv line 72.

WARNING!
see unsafeIO at silver:core/IOToken.sv#436
Parameter val
The value to evaluate to, printed when evaluated.
Return
val, unchanged.

Print a stringification of a value when it is demanded by the Silver runtime. When this gets executed may be unpredictable.


class Length

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 85.

Types with a notion of length.


fun filterMap   ([b] ::= f::(Maybe<b> ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 98.

Applies a function to each element of a list, and returns a list containing all the results that are just. The same as Haskell’s ‘mapMaybe’ and Rust’s filter_map.


fun foldr   (b ::= f::(b ::= a b) i::b l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 115.

Parameter f
The operator to apply
Parameter i
The “end element” to use in place of ‘nil’
Parameter l
The list to fold
Return
The result of the function applied right-associatively to the list.

Applies an operator right-associatively over a list. (i.e. replaces cons with ‘f’, nil with ‘i’ in the list)


fun foldl   (b ::= f::(b ::= b a) i::b l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 127.

Parameter f
The operator to apply
Parameter i
The value to “start with”
Parameter l
The list to fold
Return
The result of the function applied left-associatively to the list.

Applies an operator left-associatively over a list.


fun foldr1   (a ::= f::(a ::= a a) l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 135.

Right-fold, assuming there is always one element, and leaving that element unchanged for single element lists. See foldr at silver:core/List.sv#115.


fun foldrLastElem   (b ::= f::(b ::= a b) i::(b ::= a) l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 147.

Parameter f
The fold function for combining an element and your accumulator
Parameter i
The last element function to apply to the last single element in your list
Parameter l
The list being folded over.
Return
An element that is the result of your combining functions applied to the list elements. Right-Fold, assuming there is always at least one element, and also takes in a function a->b to apply to the last element of a list, and applies that function to the last element.

fun foldl1   (a ::= f::(a ::= a a) l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 159.

Left-fold, assuming there is always one element, and leaving that element unchanged for single element lists. See foldl at silver:core/List.sv#127.


fun filter   ([a] ::= f::(Boolean ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 171.

Parameter f
The filter function
Parameter lst
The input list to filter
Return
Only those elements of ‘lst’ that ‘f’ returns true for, in the same order as they appeared in ‘lst’

Filter out elements of a list.


fun filterM   (Applicative m => m<[a]> ::= f::(m<Boolean> ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 186.

Parameter f
The filter function
Parameter lst
The input list to filter
Return
Only those elements of ‘lst’ that ‘f’ returns true for, in the same order as they appeared in ‘lst’

Monadic (actually Applicative) version of filter


function partition   (Pair<[a] [a]> ::= f::(Boolean ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 205.

Parameter f
Decision function
Parameter lst
The list to partition
Return
A pair of all elements returning true, and all elements returning false.

Partition a list in two


fun containsBy   (Boolean ::= eq::(Boolean ::= a a) elem::a lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 226.

Parameter eq
The equality function to use
Parameter elem
The element to search for
Parameter lst
The list to search
Return
True if the equality function returns true for some element of the list, false otherwise.

Determine if an element appears in a list.


fun contains   (Eq a => Boolean ::= elem::a lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 236.

Parameter elem
The element to search for
Parameter lst
The list to search
Return
True if == is true for some element of the list, false otherwise.

Determine if an element appears in a list.


fun nubBy   ([a] ::= eq::(Boolean ::= a a) xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 245.

Parameter eq
The equality function to use
Parameter xs
The list to remove duplicates from
Return
A list containing no duplicates, according to the equality function.

Removes all duplicates from a list.


fun nub   (Eq a => [a] ::= xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 255.

Parameter xs
The list to remove duplicates from
Return
A list containing no duplicates, according to ==.

Removes all duplicates from a list.


fun removeBy   ([a] ::= eq::(Boolean ::= a a) x::a xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 265.

Parameter eq
The equality function to use
Parameter x
The element to remove
Parameter xs
The list to remove the element from
Return
A list with no remaining instances of ‘x’ according to ‘eq’

Removes all instances of an element from a list.


fun remove   (Eq a => [a] ::= x::a xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 276.

Parameter x
The element to remove
Parameter xs
The list to remove the element from
Return
A list with no remaining instances of ‘x’ according to ==

Removes all instances of an element from a list.


fun removeAllBy   ([a] ::= eq::(Boolean ::= a a) ys::[a] xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 286.

Parameter eq
The equality function to use
Parameter ys
The list of elements to remove
Parameter xs
The list to remove elements from
Return
A list with no remaining instances in ‘ys’ according to ‘eq’

Removes all instances of several elements from a list: xs - ys


fun removeAll   (Eq a => [a] ::= ys::[a] xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 297.

Parameter ys
The list of elements to remove
Parameter xs
The list to remove elements from
Return
A list with no remaining instances in ‘ys’ according to ‘eq’

Removes all instances of several elements from a list: xs - ys


fun init   ([a] ::= lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 305.

Parameter lst
The list to examine
Return
The initial elements of ‘lst’. If ‘lst’ is empty, crash.

Returns the initial elements of a list.


fun last   (a ::= lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 316.

Parameter lst
The list to examine
Return
The last element of ‘lst’. If ‘lst’ is empty, crash.

Returns the last element of a list.


fun intersperse   ([a] ::= sep::a xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 456.

Inserts the separator in between all elements of the list.


class Field

Contained in grammar [silver:core]. Defined at silver/core/Field.sv line 14.

See Wikipedia.

All types that are both a DivisionRing and a CommutativeRing are automatically Fields: the EuclideanRing instance can choose leftDiv or rightDiv as its div, const 0 as its mod, and const 1 as its degree. (TODO: This and EuclideanRing should be derivable based on that.)

Laws:

  • Non-Zero Multiplicative Inverse: mod(a, b) = zero

class Group

Contained in grammar [silver:core]. Defined at silver/core/Group.sv line 10.

They’re from math. Yeah. See Wikipedia.

Laws:

  • Left Cancellation: append(invert(x), x) = mempty
  • Right Cancellation: append(x, invert(x)) = mempty

fun power   (Group g => g ::= x::g n::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Group.sv line 17.

Computes the integer exponent of some group (treating the semigroup as multiplication, as is standard in algebra).


closed nonterminal IO<a>

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 11.

Representation of a monadic IO action.

The stateIn/stateOut threading exists to ensure that IO actions happen in the proper order, thus the invariant that stateOut should be demanded before stateVal. Note that unsafeInterleaveIO intentionally violates this, causing IO actions to be evaluated when their value is demanded.


abstract production fixIO   (top::IO<a> ::= fn::(IO<a> ::= a) )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 39.

Parameter fn
A function creating an IO action from its own result.

Create a self-referential IO action. Note that fn should be lazy in its argument, to avoid infinite recursion. This can be achieved using unsafeInterleaveIO.


abstract production unsafeInterleaveIO   (top::IO<a> ::= i::IO<a> )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 104.

Parameter i
An IO action to defer.

Defer an IO action to be lazily evaluated when its result value is demanded.


class BooleanAlgebra

Contained in grammar [silver:core]. Defined at silver/core/BooleanAlgebra.sv line 12.

This typeclass guarantees that a Heyting algebra behaves exactly like the booleans. It doesn’t provide any operators, but may be useful for algorithms.

Laws:

  • Excluded Middle: disj(x, not(x)) = true
  • Inverse Excluded Middle: conj(x, not(x)) = false
  • Double Negation Elimination: not(not(x)) = x

class Alt

Contained in grammar [silver:core]. Defined at silver/core/Alternative.sv line 15.

The Alt type class identifies an associative operation on a type constructor. It is similar to Semigroup, except that it applies to types of kind * -> *, like Maybe or [], rather than concrete types String or [a].

Instances should satisfy the following:

Associativity alt(alt(x, y), z) == alt(x, alt(y, z)) Distributivity map(f, alt(x, y)) == alt(map(f, x), map(f, y))


class Plus

Contained in grammar [silver:core]. Defined at silver/core/Alternative.sv line 35.

The Plus type class extends the Alt type class with a value that should be the left and right identity for (<|>).

It is similar to Monoid, except that it applies to types of kind * -> *, like Array or List, rather than concrete types like String or Number.

Instances should satisfy the following laws:

Left identity alt(empty, x) == x Right identity alt(x, empty) == x Annihilation map(f, empty) == empty


class Alternative

Contained in grammar [silver:core]. Defined at silver/core/Alternative.sv line 48.

The Alternative class is for members of Plus that are also Applicative functors, and specifies some additional laws:

Distributivity ap(alt(f, g), x) == alt(ap(f, x), ap(g, x)) Annihilation ap(empty, x) = empty


fun guard   (Alternative f => f<()> ::= b::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Alternative.sv line 53.

Conditional failure of Alternative computations.


class ConvertiblePrim

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 8.

Primitive types that can be converted into other primitive types.

This class provides the overloaded toString, toInteger, toFloat and toBoolean functions.


toString :: => (String ::= a)

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 10.

Convert a value into a String


toInteger :: => (Integer ::= a)

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 13.

Convert a value into an Integer


toFloat :: => (Float ::= a)

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 16.

Convert a value into a Float


toBoolean :: => (Boolean ::= a)

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 19.

Convert a value into a Boolean


function stringLength   (Integer ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 13.

Parameter s
The string to compute the length of.
Return
The length of the string.

Compute the length of a string.


fun implode   (String ::= sep::String lst::[String] )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 28.

Parameter sep
The separator to place between each string.
Parameter lst
The list of string to collapse.
Return
The combined string.

Fold a list of strings into one string, by interspersing a separator.


fun explode   ([String] ::= sep::String str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 43.

Parameter sep
The separator between each of the resulting strings.
Parameter str
The original string.
Return
The list of strings separated by sep in the original string.

Split a string into a list of strings by a separator. If the separtor is the empty string then the string is split into single character strings.


function indexOf   (Integer ::= needle::String haystack::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 71.

Parameter needle
The string to find.
Parameter haystack
The string to find it in.
Return
The index the string occurs at, or -1 if not found.

Find the index of a needle in the haystack. (Indices are 0-based.)


function lastIndexOf   (Integer ::= needle::String haystack::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 86.

Parameter needle
The string to find.
Parameter haystack
The string to find it in.
Return
The index the string occurs at, or -1 if not found.

Find the LAST index of a needle in the haystack. (Indices are 0-based.)


function substring   (String ::= start::Integer endl::Integer str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 102.

Parameter start
The 0-based index to start at. Inclusive.
Parameter endl
The 0-based index to end before. (Exclusive.)
Parameter str
The original string.
Return
The resulting substring.

Return a substring of the original. Indices are 0-based.


function startsWith   (Boolean ::= pre::String s::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 117.

Parameter pre
The prefix.
Parameter s
The string to check the prefix of.
Return
true if pre is a prefix of s. false otherwise.

Tests if one string is a prefix of another


function endsWith   (Boolean ::= post::String s::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 132.

Parameter post
The postfix.
Parameter s
The string to check the postfix of.
Return
true if post is a postfix of s. false otherwise.

Tests if one string is a postfix of another


function substitute   (String ::= search::String replace::String str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 148.

Parameter search
The string to replace
Parameter replace
The string to substitute in
Parameter str
The string to operate on
Return
The modified form of ‘str’

Replaces all instances of ‘search’ with ‘replace’ in ‘str’


function replicate   (String ::= n::Integer s::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 163.

Parameter n
The number of times to repeat the string
Parameter s
The string to repeat
Return
The string with ‘n’ copies of ’s'

Return a string with ’s' repeated ‘n’ times.


function isDigit   (Boolean ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 178.

Parameter str
The string to check
Return
true if all characters are digits. false otherwise.

Tests if all characters of a string are digits. Partially unicode aware. See java’s Character.isDigit(char).


function isAlpha   (Boolean ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 193.

Parameter str
The string to check
Return
true if all characters are letters. false otherwise.

Tests if all characters of a string are letters. Partially unicode aware. See java’s Character.isLetter(char).


function isSpace   (Boolean ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 210.

Parameter str
The string to check
Return
true if all characters are whitespace. false otherwise.

Tests if all characters of a string are whitespace. Partially unicode aware. See java’s Character.isWhitespace(char).

Includes space, tab, newline, carriage return, and more.


function isLower   (Boolean ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 225.

Parameter str
The string to check
Return
true if all characters are lower case. false otherwise.

Tests if all characters of a string are lower case. Partially unicode aware. See java’s Character.isLowerCase(char).


function isUpper   (Boolean ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 240.

Parameter str
The string to check
Return
true if all characters are upper case. false otherwise.

Tests if all characters of a string are upper case. Partially unicode aware. See java’s Character.isUpperCase(char).


function toIntSafe   (Maybe<Integer> ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 255.

Parameter str
The string to convert
Return
The converted integer wrapped in just, or nothing if the conversion failed (e.g. not a number, or the number was too large)

Safely converts a string to an integer.


function stringAppend   (String ::= s1::String s2::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 266.

String append. Use overloaded append or ++ instead.


function charsToString   (String ::= chars::[Integer] )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 279.

Converts a list of code points to a string. Note that due to Java’s use of UCS-2, code points greater than 0xFFFF (i.e. and characters outside the Basic Multilingual Plane) aren’t supported.


function stringToChars   ([Integer] ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 292.

Converts a string to a list of its UCS-2 characters. Note that this means that surrogate pairs are (probably?) not supported, and characters outside the Basic Multilingual Plane aren’t as a consequence.


function escapeString   (String ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 303.

Replace all special characters in a string with their escape sequences.


function unescapeString   (String ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 314.

Replace all escape sequences in a string with corresponding special characters.


function stripExtraWhiteSpace   (String ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 325.

Strips extra leading and trailing whitespace from a string.


fun stripWhiteSpace   (String ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 362.

Strips all whitespace from a string.


function addLineNumbers   (String ::= code::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 380.

Adds line numbers to a string


class Functor

Contained in grammar [silver:core]. Defined at silver/core/Functor.sv line 13.

A type f is a Functor if it provides a function map which, given any types a and b lets you apply any function from (a -> b) to turn an f into an f, preserving the structure of f. Furthermore f needs to adhere to the following:

Identity map(id, x) == x Composition map(compose(f, g), x) == map(f, map(g, x))


Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 19.

The basic sum type, counterpart to Pair.

Occasionally used as a poor-quality “result or error” type. By convention, the error type is the FIRST type, and the expected return value is the second. e.g. Either<String Tree>

Inspect it’s state with isLeft::Boolean and isRight::Boolean, and access it’s state with fromLeft::a, fromRight::b (which panic if incorrect)


abstract production left   (top::Either<a b> ::= value::a )

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 25.

Left case for Either.


Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 37.

Right case for Either.


data nonterminal EitherT<e (m :: * -> *) a>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 111.

Parameter e
The “error” result type, corresponding to the left constructor
Parameter m
The monad type to be transformed
Parameter a
The “success” result type, corresponding to the right constructor

Monad transformer corresponding to Either. Note that the type arguments are in this order because Silver type constructors are curried and must be partially applied in order, and we need to have instance Functor MaybeT (and friends) and instance MonadTrans EitherT.


fun mapEitherT   (EitherT<f n b> ::= f::(n<Either<f b>> ::= m<Either<e a>>) x::EitherT<e m a> )

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 121.

Transform the computation inside an EitherT.


global throwError

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 149.

Return an “error” result. This is analagous to left for Either, as pure is analagous to right for Either.


function partitionEithers   (Pair<[a] [b]> ::= l::[Either<a b>] )

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 191.

Order preserving partitioning of a list of eithers into a pair of lists of the two different results.


fun fromLeft   (a ::= e::Either<a b> o::a )

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 209.

Parameter e
The either being discriminated
Parameter o
The fallback value

Returns the left value, or the default if there is no left value.


fun fromRight   (b ::= e::Either<a b> o::b )

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 221.

Parameter e
The either being discriminated
Parameter o
The fallback value

Returns the right value, or the default if there is no right value.


class Applicative

Contained in grammar [silver:core]. Defined at silver/core/Applicative.sv line 19.

Applicative functors extend Apply with a means to lift a value of type a into an f; thus together with the apply operation, it is possible to lift a function of artibrary arity to work on values wrapped in the type constructor f.

Instances should satisfy the following:

Identity ap(pure(id), x) = x Composition ap(ap(ap(pure(compose), f), g), h) = ap(ap(f, g), h) Homomorphism ap(pure(f), pure(x)) = pure(f(x)) Interchange ap(u, pure(y)) = ap(pure(\f -> f(y)), u)


Contained in grammar [silver:core]. Defined at silver/core/Applicative.sv line 27.

Prefer map to this function. However, it can be useful to get a Functor instance for free, given an existing Applicative instance.


function new   (a ::= x::Decorated a with i )

Contained in grammar [silver:core]. Defined at silver/core/Undecorate.sv line 9.

Parameter x
The reference to undecorate.
Return
A new, undecorated term coresponding to x.

Undecorate a reference.


function newUnique   (a ::= x::Decorated! a with i )

Contained in grammar [silver:core]. Defined at silver/core/Undecorate.sv line 22.

Parameter x
The reference to undecorate.
Return
A new, undecorated term coresponding to x.

Undecorate a unique reference.


function castRef   (i1 subset i2 => Decorated a with i1 ::= x::Decorated a with i2 )

Contained in grammar [silver:core]. Defined at silver/core/Undecorate.sv line 35.

Parameter x
The reference to cast.
Return
x, with a type that has a different reference set.

Type-safe cast of one decorated type into one with a smaller reference set.


function getTermThatWasDecorated   (a ::= x::Decorated a with i )

Contained in grammar [silver:core]. Defined at silver/core/Undecorate.sv line 52.

Parameter x
The reference to undecorate.
Return
The term that was decorated to produce x.

Given a decorated tree, return the underlying term that was decorated to create it, without copying or applying any transformations. This is unsafe as it constitutes a hole in the uniqueness analysis, and should not be used outside of debugging and internally within Silver in the implementation of annotation accesses; use new if you want to undecorate a term.


class Monoid

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 17.

The class of monoids (types with an associative binary operation that has an identity). Instances should satisfy the following:

Right identity append(x, mempty) = x Left identity append(mempty, x) = x Associativity append(x, append(y, z)) = append(append(x, y), z) (Semigroup law) Concatenation concat = foldr(append, mempty, _)

Minimal complete definition: mempty


fun flatMap   (Monoid m => m ::= f::(m ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 46.

Parameter f
A function to apply to each element of a list, returning a monoid.
Parameter lst
A list
Return
The combined list

Map a function over a list, and then concatenates the results together.


fun mpower   (Monoid m => m ::= x::m n::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 54.

Computes the integer exponent of some monoid (treating the semigroup as multiplication, as is standard in algebra).

Note that for negative n, this errors out. If your type is a Group, use power instead.


class Bind

Contained in grammar [silver:core]. Defined at silver/core/Bind.sv line 12.

Extends the Apply type class with a “bind” operation that composes computations in sequence, using the return value of one computation to determine the next computation.

Instances should satisfy the following:

Associativity bind(bind(x, f), g) = bind(x, \k -> bind(f(k), g))


class CommutativeRing

Contained in grammar [silver:core]. Defined at silver/core/CommutativeRing.sv line 9.

A typeclass for types where multiplication is guaranteed to be commutative.

Laws:

  • Commutativity of Multiplication: mul(x, y) = mul(y, x)

class EuclideanRing

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 15.

Provides the / and % operators.

Laws:

  • Integral Domain (TODO: are these equivalent?):
  • one != zero
  • (a != zero && b != zero) -> mul(a, b) != zero
  • Non-negativity of degree: degree(x) >= 0
  • Quotient: (b != zero) -> (add(mul(div(a, b), b), mod(a, b)) = a)
  • degree-mod interaction: (b != zero) -> (mod(a, b) = 0 || degree(mod(a, b)) < degree(b))
  • degree-mul interaction: (a != zero && b != zero) -> (degree(a) <= degree(mul(a, b)))

fun gcd   (Eq a, EuclideanRing a => a ::= a::a b::a )

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 58.

Computes the greatest common divisor of two numbers.


fun lcm   (Eq a, EuclideanRing a => a ::= a::a b::a )

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 65.

Computes the least common multiple of two numbers.


data nonterminal OriginInfoType

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 12.

Origin info types

Single instances of the following are constructed once in OriginsUtil.java in the runtime and used to indicate when the origin information was computed.


abstract production setAtConstructionOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 14.

Information was computed at the site of invoking a constructor (this is “normal”)


abstract production setAtNewOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 16.

Result of calling new(x) on a tracked nonterminal (including children of x that were also new-ed)


abstract production setAtForwardingOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 23.

Result of forwarding to a nonterminal. This is a little weird because there’s an extra indirection. The attached origin info has an origin pointing to the value that was computed for the production to forward to. At forwarding time (in evalForward) it’s copied and has an origin attached of this type. This is so that it’s possible to tell something was forwarded to.


abstract production setAtAccessOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 25.

Result of doing foo.bar (this is “normal”)


abstract production setFromParserOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 27.

The origin was set when constructing a concrete production in the parser (will be a parsedOriginInfo)


abstract production setFromParserActionOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 29.

The origin was set in something constructed in a parser action block


abstract production setFromFFIOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 34.

This is a catchall for stuff constructed in java (really only used in the SilverComparator and in the XML lib) where the java library dosen’t keep track of origins info meaningfully


abstract production setFromReflectionOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 36.

This originates from something via a call to reflect


abstract production setFromReificationOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 38.

This originates from it’s reflective representation via a call to reify


abstract production setFromEntryOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 43.

This was constructed in main or in a function called from main without passing through a context with a meaningful nonterminal to use instead


abstract production setInGlobalOIT   (OriginInfoType ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 45.

This is a global


data nonterminal OriginInfo

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 68.

OriginInfo represent the origin information contained in nodes/values. originOriginInfo and originAndRedexOriginInfo are the same modulo if a redex is set or not origin is the node that this node originated from, originNotes are notes set on the control-flow path to where the origin was set. redex is the node that catalyzed the movement of this node to where it is now (i.e. where a foo.bar happaned that ‘moved’ the bar in the new tree. redexNotes are similarly the notes set on the control-flow path to where the tree motion that set the redex occurred. newlyConstructed is er from the paper, and represents if the node is not the result of a basically no-op transformation.


abstract production otherOriginInfo   (OriginInfo ::= source::String )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 70.

‘catchall’ for origins that don’t encode other info


abstract production parsedOriginInfo   (OriginInfo ::= source::Location )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 72.

The production originated from a sequence of tokens at source in Copper


abstract production originOriginInfo   (OriginInfo ::= origin::a newlyConstructed::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 75.

See above


abstract production originAndRedexOriginInfo   (OriginInfo ::= origin::a redex::b redexNotes::[OriginNote] newlyConstructed::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 77.

See above


closed data nonterminal OriginNote

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 96.

OriginNotes are various pieces of information associated with the origin of a term. A notepp can optionally be supplied, if the note should be displayed in stack traces and other diagnostic messages.


abstract production ruleLocNote   (top::OriginNote ::= attributeName::String sourceGrammar::String prod::String nt::String sourceLocation::Location )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 138.

Can be attached automatically by the compiler to show the control-flow path leading to where an origin was set. Actually pretty useful for debugging client code too.


fun getOriginInfoChain   ([OriginInfo] ::= l::a )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 146.

Compute the ‘chain’ of origins leading back to whatever the first thing without an origin (really without an origin that has an origin field.)


fun getOriginInfo   (Maybe<OriginInfo> ::= arg::a )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 158.

Low level accessor for getting OriginInfo (maybe) from a node.


fun getUrOrigin   (Maybe<OriginInfo> ::= arg::a )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 161.

Walk back to the first thing with an origin in the history of a.


fun getParsedOriginLocation   (Maybe<Location> ::= arg::a )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 168.

Try to walk back to a parsedOriginInfo and extract the location the node came from in the source


fun printObjectPairForOriginsViz   (IOToken ::= start::a stop::b io::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 205.

Dump out two objects in a format for svdraw2 to consume and draw their structure and the origins links that connect them (and any intermediate objects. The only difference between start and stop is that they will be specially colored in the visualization diagram.)


abstract production ambientOrigin   (top::AmbientOriginNT ::= )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 242.

Useful for accessing the “ambient” origin, i.e., what origin does a created node get? Create one and find out!


fun callWithListOfNotes   (a ::= notes::[OriginNote] fn::(a ::=) )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 249.

Call fn in a context where notes have been added to the origins context


class Eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 21.

Eq represents equality/inequality relationships between data.

Laws are based on Haskell’s Eq type class:

Reflexivity x == x = true Symmetry x == y = y == x Transitivity if x == y && y == z = true, then x == z = true Substitutivity if x == y = true and f is a “public” function whose return type is an instance of Eq, then f x == f y = true Negation x != y = !(x == y)

Minimal complete definition: either == or !=.


function fixpoint   (Eq a => a ::= f::(a ::= a) x::a )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 161.

Compute the fixed point of a function by repeatedly applying it until its result remains constant.


data nonterminal Pair

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 9.

The basic product type, counterpart to Either.


fun lookupBy   (Maybe<b> ::= eqf::(Boolean ::= a a) elem::a lst::[Pair<a b>] )

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 26.

Parameter eqf
The function to use to test for equality
Parameter elem
The element to look up
Parameter lst
The list of assocation pairs
Return
The first association pair found in the list, where the element equaled the first element of the pair.

Look up an element in an association list, using the specified equality function.


fun lookup   (Eq a => Maybe<b> ::= elem::a lst::[Pair<a b>] )

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 41.

Parameter elem
The element to look up
Parameter lst
The list of assocation pairs
Return
The first association pair found in the list, where the element equaled the first element of the pair.

Look up an element in an association list, using ==.


function unzipPairs   (Pair<[a] [b]> ::= lst::[Pair<a b>] )

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 59.

Parameter lst
A list to decompose into two lists.

Decomposes a list of pairs into a pair of lists.

unzipPairs(zip(lst)) == lst

class Apply.ap :: => (f<b> ::= f<(b ::= a)> f<a>)

Contained in grammar [silver:core]. Defined at silver/core/Apply.sv line 13.

(Undocumented.)


fun applyFirst   (Apply f => f<a> ::= a::f<a> b::f<b> )

Contained in grammar [silver:core]. Defined at silver/core/Apply.sv line 16.

(Undocumented.)


fun applySecond   (Apply f => f<b> ::= a::f<a> b::f<b> )

Contained in grammar [silver:core]. Defined at silver/core/Apply.sv line 18.

(Undocumented.)


fun lift2   (Apply f => f<c> ::= f::(c ::= a b) x::f<a> y::f<b> )

Contained in grammar [silver:core]. Defined at silver/core/Apply.sv line 20.

(Undocumented.)


fun lift3   (Apply f => f<d> ::= f::(d ::= a b c) x::f<a> y::f<b> z::f<c> )

Contained in grammar [silver:core]. Defined at silver/core/Apply.sv line 22.

(Undocumented.)


fun lift4   (Apply f => f<e> ::= f::(e ::= a b c d) x::f<a> y::f<b> z::f<c> p::f<d> )

Contained in grammar [silver:core]. Defined at silver/core/Apply.sv line 25.

(Undocumented.)


fun lift5   (Apply f => f<g> ::= f::(g ::= a b c d e) x::f<a> y::f<b> z::f<c> p::f<d> q::f<e> )

Contained in grammar [silver:core]. Defined at silver/core/Apply.sv line 28.

(Undocumented.)


instance Ring Integer

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 19.

(Undocumented.)


instance Ring Integer.sub

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 20.

(Undocumented.)


instance Ring Integer.negate

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 21.

(Undocumented.)


function subInteger   (Integer ::= a::Integer b::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 24.

(Undocumented.)


function negateInteger   (Integer ::= a::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 32.

(Undocumented.)


instance Ring Float

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 40.

(Undocumented.)


instance Ring Float.sub

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 41.

(Undocumented.)


instance Ring Float.negate

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 42.

(Undocumented.)


function subFloat   (Float ::= a::Float b::Float )

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 45.

(Undocumented.)


function negateFloat   (Float ::= a::Float )

Contained in grammar [silver:core]. Defined at silver/core/Ring.sv line 53.

(Undocumented.)


nonterminal State<s a>

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 1.

(Undocumented.)


inherited attribute stateIn<s> :: s

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 5.

(Undocumented.)


synthesized attribute stateOut<s> :: s

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 6.

(Undocumented.)


synthesized attribute stateVal<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 7.

(Undocumented.)


abstract production bindState   (top::State<s b> ::= st::State<s a> fn::(State<s b> ::= a) )

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 9.

(Undocumented.)


abstract production returnState   (top::State<s a> ::= x::a )

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 20.

(Undocumented.)


abstract production getState   (top::State<s s> ::= )

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 27.

(Undocumented.)


abstract production setState   (top::State<s Unit> ::= newState::s )

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 34.

(Undocumented.)


abstract production modifyState   (top::State<s Unit> ::= fun::(s ::= s) )

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 41.

(Undocumented.)


abstract production fixState   (top::State<s a> ::= fn::(State<s a> ::= a) )

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 48.

(Undocumented.)


instance Functor State<a _>

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 57.

(Undocumented.)


instance Functor State<a _>.map

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 58.

(Undocumented.)


instance Apply State<a _>

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 61.

(Undocumented.)


instance Apply State<a _>.ap

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 62.

(Undocumented.)


instance Applicative State<a _>

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 65.

(Undocumented.)


instance Applicative State<a _>.pure

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 66.

(Undocumented.)


instance Bind State<a _>

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 69.

(Undocumented.)


instance Bind State<a _>.bind

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 70.

(Undocumented.)


instance Monad State<a _>

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 73.

(Undocumented.)


instance MonadFix State<a _>

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 75.

(Undocumented.)


instance MonadFix State<a _>.mfix

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 76.

(Undocumented.)


function runState   (Pair<s a> ::= st::State<s a> initialState::s )

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 79.

(Undocumented.)


function evalState   (a ::= st::State<s a> initialState::s )

Contained in grammar [silver:core]. Defined at silver/core/State.sv line 86.

(Undocumented.)


instance Semiring Integer

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 33.

(Undocumented.)


instance Semiring Integer.add

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 34.

(Undocumented.)


instance Semiring Integer.zero

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 35.

(Undocumented.)


instance Semiring Integer.mul

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 36.

(Undocumented.)


instance Semiring Integer.one

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 37.

(Undocumented.)


function addInteger   (Integer ::= a::Integer b::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 40.

(Undocumented.)


function mulInteger   (Integer ::= a::Integer b::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 48.

(Undocumented.)


instance Semiring Float

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 56.

(Undocumented.)


instance Semiring Float.add

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 57.

(Undocumented.)


instance Semiring Float.zero

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 58.

(Undocumented.)


instance Semiring Float.mul

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 59.

(Undocumented.)


instance Semiring Float.one

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 60.

(Undocumented.)


function addFloat   (Float ::= a::Float b::Float )

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 63.

(Undocumented.)


function mulFloat   (Float ::= a::Float b::Float )

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 71.

(Undocumented.)


instance Semiring Boolean

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 79.

(Undocumented.)


instance Semiring Boolean.add

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 80.

(Undocumented.)


instance Semiring Boolean.zero

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 81.

(Undocumented.)


instance Semiring Boolean.mul

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 82.

(Undocumented.)


instance Semiring Boolean.one

Contained in grammar [silver:core]. Defined at silver/core/Semiring.sv line 83.

(Undocumented.)


fun id   (a ::= x::a )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 3.

(Undocumented.)


fun compose   ((c ::= a) ::= f1::(c ::= b) f2::(b ::= a) )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 5.

(Undocumented.)


fun curry   (((c ::= b) ::= a) ::= f::(c ::= a b) )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 7.

(Undocumented.)


fun curry3   ((((d ::= c) ::= b) ::= a) ::= f::(d ::= a b c) )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 9.

(Undocumented.)


fun curry4   (((((e ::= d) ::= c) ::= b) ::= a) ::= f::(e ::= a b c d) )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 11.

(Undocumented.)


fun curry5   ((((((f ::= e) ::= d) ::= c) ::= b) ::= a) ::= f::(f ::= a b c d e) )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 14.

(Undocumented.)


fun uncurry   (c ::= f::((c ::= b) ::= a) x::a y::b )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 17.

(Undocumented.)


fun uncurry3   (d ::= f::(((d ::= c) ::= b) ::= a) x::a y::b z::c )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 19.

(Undocumented.)


fun uncurry4   (e ::= f::((((e ::= d) ::= c) ::= b) ::= a) x::a y::b z::c p::d )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 21.

(Undocumented.)


fun uncurry5   (f ::= f::(((((f ::= e) ::= d) ::= c) ::= b) ::= a) x::a y::b z::c p::d q::e )

Contained in grammar [silver:core]. Defined at silver/core/Function.sv line 23.

(Undocumented.)


annotation location :: Location

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 3.

(Undocumented.)


synthesized attribute filename :: String

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 10.

(Undocumented.)


synthesized attribute line :: Integer

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 11.

(Undocumented.)


synthesized attribute column :: Integer

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 12.

(Undocumented.)


synthesized attribute endLine :: Integer

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 13.

(Undocumented.)


synthesized attribute endColumn :: Integer

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 14.

(Undocumented.)


synthesized attribute index :: Integer

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 15.

(Undocumented.)


synthesized attribute endIndex :: Integer

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 16.

(Undocumented.)


instance Eq Location

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 18.

(Undocumented.)


instance Eq Location.eq

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 19.

(Undocumented.)


instance Ord Location

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 27.

(Undocumented.)


instance Ord Location.lte

Contained in grammar [silver:core]. Defined at silver/core/Location.sv line 28.

(Undocumented.)


fun liftM1   (Monad m => m<b> ::= f::(b ::= a) x::m<a> )

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 17.

(Undocumented.)


fun apM   (Monad m => m<b> ::= f::m<(b ::= a)> x::m<a> )

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 21.

(Undocumented.)


fun whenM   (Monad m => m<Unit> ::= cond::m<Boolean> body::m<Unit> )

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 24.

(Undocumented.)


fun unlessM   (Monad m => m<Unit> ::= cond::m<Boolean> body::m<Unit> )

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 26.

(Undocumented.)


class MonadFail.fail :: => (m<a> ::= String)

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 37.

(Undocumented.)


class MonadFix.mfix :: => (m<a> ::= (m<a> ::= a))

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 78.

(Undocumented.)


class MonadTrans.lift :: Monad m => (t<m a> ::= m<a>)

Contained in grammar [silver:core]. Defined at silver/core/Monad.sv line 89.

(Undocumented.)


class Ord.compare :: => (Integer ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 30.

(Undocumented.)


class Ord.lt :: => (Boolean ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 33.

(Undocumented.)


class Ord.lte :: => (Boolean ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 34.

(Undocumented.)


class Ord.gt :: => (Boolean ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 35.

(Undocumented.)


class Ord.gte :: => (Boolean ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 36.

(Undocumented.)


class Ord.max :: => (a ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 38.

(Undocumented.)


class Ord.min :: => (a ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 39.

(Undocumented.)


ordering attribute compareKey, compare with compareTo

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 42.

(Undocumented.)


instance Ord a

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 44.

(Undocumented.)


instance Ord a.compare

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 49.

(Undocumented.)


instance Ord Decorated a with i

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 52.

(Undocumented.)


instance Ord Decorated a with i.compare

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 54.

(Undocumented.)


instance Ord Integer

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 57.

(Undocumented.)


instance Ord Integer.compare

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 58.

(Undocumented.)


instance Ord Integer.lt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 59.

(Undocumented.)


instance Ord Integer.lte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 60.

(Undocumented.)


instance Ord Integer.gt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 61.

(Undocumented.)


instance Ord Integer.gte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 62.

(Undocumented.)


function ltInteger   (Boolean ::= x::Integer y::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 64.

(Undocumented.)


function lteInteger   (Boolean ::= x::Integer y::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 71.

(Undocumented.)


function gtInteger   (Boolean ::= x::Integer y::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 78.

(Undocumented.)


function gteInteger   (Boolean ::= x::Integer y::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 85.

(Undocumented.)


instance Ord Float

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 93.

(Undocumented.)


instance Ord Float.lt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 94.

(Undocumented.)


instance Ord Float.lte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 95.

(Undocumented.)


instance Ord Float.gt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 96.

(Undocumented.)


instance Ord Float.gte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 97.

(Undocumented.)


function ltFloat   (Boolean ::= x::Float y::Float )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 99.

(Undocumented.)


function lteFloat   (Boolean ::= x::Float y::Float )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 106.

(Undocumented.)


function gtFloat   (Boolean ::= x::Float y::Float )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 113.

(Undocumented.)


function gteFloat   (Boolean ::= x::Float y::Float )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 120.

(Undocumented.)


instance Ord Boolean

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 128.

(Undocumented.)


instance Ord Boolean.lt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 129.

(Undocumented.)


instance Ord Boolean.lte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 130.

(Undocumented.)


instance Ord Boolean.gt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 131.

(Undocumented.)


instance Ord Boolean.gte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 132.

(Undocumented.)


fun ltBoolean   (Boolean ::= x::Boolean y::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 134.

(Undocumented.)


fun lteBoolean   (Boolean ::= x::Boolean y::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 135.

(Undocumented.)


fun gtBoolean   (Boolean ::= x::Boolean y::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 136.

(Undocumented.)


fun gteBoolean   (Boolean ::= x::Boolean y::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 137.

(Undocumented.)


instance Ord String

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 139.

(Undocumented.)


instance Ord String.compare

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 140.

(Undocumented.)


instance Ord String.lt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 141.

(Undocumented.)


instance Ord String.lte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 142.

(Undocumented.)


instance Ord String.gt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 143.

(Undocumented.)


instance Ord String.gte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 144.

(Undocumented.)


function compareString   (Integer ::= l::String r::String )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 146.

(Undocumented.)


function ltString   (Boolean ::= x::String y::String )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 154.

(Undocumented.)


function lteString   (Boolean ::= x::String y::String )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 161.

(Undocumented.)


function gtString   (Boolean ::= x::String y::String )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 168.

(Undocumented.)


function gteString   (Boolean ::= x::String y::String )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 175.

(Undocumented.)


instance Ord TerminalId

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 183.

(Undocumented.)


instance Ord TerminalId.compare

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 184.

(Undocumented.)


instance Ord TerminalId.lt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 185.

(Undocumented.)


instance Ord TerminalId.lte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 186.

(Undocumented.)


instance Ord TerminalId.gt

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 187.

(Undocumented.)


instance Ord TerminalId.gte

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 188.

(Undocumented.)


function compareTerminalId   (Integer ::= x::TerminalId y::TerminalId )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 190.

(Undocumented.)


function ltTerminalId   (Boolean ::= x::TerminalId y::TerminalId )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 197.

(Undocumented.)


function lteTerminalId   (Boolean ::= x::TerminalId y::TerminalId )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 204.

(Undocumented.)


function gtTerminalId   (Boolean ::= x::TerminalId y::TerminalId )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 211.

(Undocumented.)


function gteTerminalId   (Boolean ::= x::TerminalId y::TerminalId )

Contained in grammar [silver:core]. Defined at silver/core/Ord.sv line 218.

(Undocumented.)


instance DivisionRing Float

Contained in grammar [silver:core]. Defined at silver/core/DivisionRing.sv line 17.

(Undocumented.)


instance DivisionRing Float.recip

Contained in grammar [silver:core]. Defined at silver/core/DivisionRing.sv line 18.

(Undocumented.)


synthesized attribute fromJust<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 3.

(Undocumented.)


synthesized attribute isJust :: Boolean

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 4.

(Undocumented.)


data nonterminal Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 6.

(Undocumented.)


abstract production just   (Maybe<a> ::= a )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 7.

(Undocumented.)


abstract production nothing   (Maybe<a> ::= )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 8.

(Undocumented.)


instance silver:core:Eq silver:core:Maybe<a> {#instance_silver:core:Eq_silver:core:Maybe_a_}

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 10.

(Undocumented.)


instance silver:core:Eq silver:core:Maybe<a>.eq {#instance_silver:core:Eq_silver:core:Maybe_a_.eq}

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 10.

(Undocumented.)


instance silver:core:Eq silver:core:Maybe<a>.neq {#instance_silver:core:Eq_silver:core:Maybe_a_.neq}

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 10.

(Undocumented.)


instance silver:core:Ord silver:core:Maybe<a> {#instance_silver:core:Ord_silver:core:Maybe_a_}

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 10.

(Undocumented.)


instance silver:core:Ord silver:core:Maybe<a>.compare {#instance_silver:core:Ord_silver:core:Maybe_a_.compare}

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 10.

(Undocumented.)


instance Functor Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 22.

(Undocumented.)


instance Functor Maybe.map

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 23.

(Undocumented.)


instance Apply Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 30.

(Undocumented.)


instance Apply Maybe.ap

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 31.

(Undocumented.)


instance Applicative Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 38.

(Undocumented.)


instance Applicative Maybe.pure

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 39.

(Undocumented.)


instance Bind Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 42.

(Undocumented.)


instance Bind Maybe.bind

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 43.

(Undocumented.)


instance Monad Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 50.

(Undocumented.)


instance MonadFail Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 52.

(Undocumented.)


instance MonadFail Maybe.fail

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 53.

(Undocumented.)


instance Alt Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 56.

(Undocumented.)


instance Alt Maybe.alt

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 57.

(Undocumented.)


instance Plus Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 60.

(Undocumented.)


instance Plus Maybe.empty

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 61.

(Undocumented.)


instance Alternative Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 64.

(Undocumented.)


instance MonadZero Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 66.

(Undocumented.)


instance MonadPlus Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 67.

(Undocumented.)


function mfixMaybe   (Maybe<a> ::= f::(Maybe<a> ::= a) )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 69.

(Undocumented.)


instance MonadFix Maybe

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 76.

(Undocumented.)


instance MonadFix Maybe.mfix

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 77.

(Undocumented.)


abstract production maybeT   (top::MaybeT<m a> ::= x::m<Maybe<a>> )

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 87.

(Undocumented.)


instance Functor MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 98.

(Undocumented.)


instance Functor MaybeT<m _>.map

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 99.

(Undocumented.)


instance Apply MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 102.

(Undocumented.)


instance Apply MaybeT<m _>.ap

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 103.

(Undocumented.)


instance Applicative MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 119.

(Undocumented.)


instance Applicative MaybeT<m _>.pure

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 120.

(Undocumented.)


instance Bind MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 123.

(Undocumented.)


instance Bind MaybeT<m _>.bind

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 124.

(Undocumented.)


instance Monad MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 134.

(Undocumented.)


instance MonadFail MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 136.

(Undocumented.)


instance MonadFail MaybeT<m _>.fail

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 137.

(Undocumented.)


instance Alt MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 140.

(Undocumented.)


instance Alt MaybeT<m _>.alt

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 141.

(Undocumented.)


instance Plus MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 151.

(Undocumented.)


instance Plus MaybeT<m _>.empty

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 152.

(Undocumented.)


instance Alternative MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 155.

(Undocumented.)


instance MonadZero MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 157.

(Undocumented.)


instance MonadPlus MaybeT<m _>

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 158.

(Undocumented.)


instance MonadTrans MaybeT

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 160.

(Undocumented.)


instance MonadTrans MaybeT.lift

Contained in grammar [silver:core]. Defined at silver/core/Maybe.sv line 161.

(Undocumented.)


class Semigroup.append :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 12.

(Undocumented.)


instance Semigroup m<a>

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 16.

(Undocumented.)


instance Semigroup m<a>.append

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 17.

(Undocumented.)


instance Semigroup (a,b) {#instance_Semigroup__a,b_}

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 20.

(Undocumented.)


instance Semigroup (a,b).append {#instance_Semigroup__a,b_.append}

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 21.

(Undocumented.)


instance Semigroup String

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 24.

(Undocumented.)


instance Semigroup String.append

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 25.

(Undocumented.)


instance Semigroup Maybe<a>

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 28.

(Undocumented.)


instance Semigroup Maybe<a>.append

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 29.

(Undocumented.)


instance Semigroup Unit

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 37.

(Undocumented.)


instance Semigroup Unit.append

Contained in grammar [silver:core]. Defined at silver/core/Semigroup.sv line 38.

(Undocumented.)


fun terminalSetEq   (Boolean ::= ts1::[TerminalId] ts2::[TerminalId] )

Contained in grammar [silver:core]. Defined at silver/core/TerminalId.sv line 4.

(Undocumented.)


fun terminalSubset   (Boolean ::= ts1::[TerminalId] ts2::[TerminalId] )

Contained in grammar [silver:core]. Defined at silver/core/TerminalId.sv line 7.

(Undocumented.)


nonterminal AST

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 8.

(Undocumented.)


abstract production nonterminalAST   (top::AST ::= prodName::String children::ASTs annotations::NamedASTs )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 10.

(Undocumented.)


abstract production terminalAST   (top::AST ::= terminalName::String lexeme::String location::Location )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 14.

(Undocumented.)


abstract production listAST   (top::AST ::= vals::ASTs )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 18.

(Undocumented.)


abstract production stringAST   (top::AST ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 22.

(Undocumented.)


abstract production integerAST   (top::AST ::= i::Integer )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 26.

(Undocumented.)


abstract production floatAST   (top::AST ::= f::Float )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 30.

(Undocumented.)


abstract production booleanAST   (top::AST ::= b::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 34.

(Undocumented.)


abstract production anyAST   (top::AST ::= x::a )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 38.

(Undocumented.)


nonterminal ASTs

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 42.

(Undocumented.)


abstract production consAST   (top::ASTs ::= h::AST t::ASTs )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 44.

(Undocumented.)


abstract production nilAST   (top::ASTs ::= )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 48.

(Undocumented.)


nonterminal NamedASTs

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 52.

(Undocumented.)


abstract production consNamedAST   (top::NamedASTs ::= h::NamedAST t::NamedASTs )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 54.

(Undocumented.)


abstract production nilNamedAST   (top::NamedASTs ::= )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 58.

(Undocumented.)


nonterminal NamedAST

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 62.

(Undocumented.)


abstract production namedAST   (top::NamedAST ::= n::String v::AST )

Contained in grammar [silver:core]. Defined at silver/core/AST.sv line 64.

(Undocumented.)


ffi type ByteArray

Contained in grammar [silver:core]. Defined at silver/core/IOToken.sv line 26.

(Undocumented.)


annotation lexeme :: String

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 3.

(Undocumented.)


annotation lexerClasses :: [String]

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 4.

(Undocumented.)


annotation terminalLocation :: Location

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 5.

(Undocumented.)


annotation terminalName :: String

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 6.

(Undocumented.)


data nonterminal TerminalDescriptor

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 8.

(Undocumented.)


abstract production terminalDescriptor   (TerminalDescriptor ::= )

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 8.

(Undocumented.)


instance silver:core:Eq silver:core:TerminalDescriptor {#instance_silver:core:Eq_silver:core:TerminalDescriptor}

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 10.

(Undocumented.)


instance silver:core:Eq silver:core:TerminalDescriptor.eq {#instance_silver:core:Eq_silver:core:TerminalDescriptor.eq}

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 10.

(Undocumented.)


instance silver:core:Eq silver:core:TerminalDescriptor.neq {#instance_silver:core:Eq_silver:core:TerminalDescriptor.neq}

Contained in grammar [silver:core]. Defined at silver/core/TerminalDescriptor.sv line 10.

(Undocumented.)


instance HeytingAlgebra Boolean

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 56.

(Undocumented.)


instance HeytingAlgebra Boolean.ff

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 57.

(Undocumented.)


instance HeytingAlgebra Boolean.tt

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 58.

(Undocumented.)


instance HeytingAlgebra Boolean.implies

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 59.

(Undocumented.)


instance HeytingAlgebra Boolean.conj

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 60.

(Undocumented.)


instance HeytingAlgebra Boolean.disj

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 61.

(Undocumented.)


instance HeytingAlgebra Boolean.not

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 62.

(Undocumented.)


function conjBoolean   (Boolean ::= a::Boolean b::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 65.

(Undocumented.)


function disjBoolean   (Boolean ::= a::Boolean b::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 73.

(Undocumented.)


function notBoolean   (Boolean ::= a::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/HeytingAlgebra.sv line 81.

(Undocumented.)


data nonterminal Unit

Contained in grammar [silver:core]. Defined at silver/core/Unit.sv line 3.

(Undocumented.)


abstract production unit   (Unit ::= )

Contained in grammar [silver:core]. Defined at silver/core/Unit.sv line 3.

(Undocumented.)


instance silver:core:Eq silver:core:Unit {#instance_silver:core:Eq_silver:core:Unit}

Contained in grammar [silver:core]. Defined at silver/core/Unit.sv line 4.

(Undocumented.)


instance silver:core:Eq silver:core:Unit.eq {#instance_silver:core:Eq_silver:core:Unit.eq}

Contained in grammar [silver:core]. Defined at silver/core/Unit.sv line 4.

(Undocumented.)


instance silver:core:Eq silver:core:Unit.neq {#instance_silver:core:Eq_silver:core:Unit.neq}

Contained in grammar [silver:core]. Defined at silver/core/Unit.sv line 4.

(Undocumented.)


instance silver:core:Ord silver:core:Unit {#instance_silver:core:Ord_silver:core:Unit}

Contained in grammar [silver:core]. Defined at silver/core/Unit.sv line 4.

(Undocumented.)


instance silver:core:Ord silver:core:Unit.compare {#instance_silver:core:Ord_silver:core:Unit.compare}

Contained in grammar [silver:core]. Defined at silver/core/Unit.sv line 4.

(Undocumented.)


function dirNameInFilePath   (String ::= filePath::String )

Contained in grammar [silver:core]. Defined at silver/core/IOMisc.sv line 78.

(Undocumented.)


function fileNameInFilePath   (String ::= filePath::String )

Contained in grammar [silver:core]. Defined at silver/core/IOMisc.sv line 88.

(Undocumented.)


function splitFileNameAndExtension   (Pair<String String> ::= filePath::String )

Contained in grammar [silver:core]. Defined at silver/core/IOMisc.sv line 99.

(Undocumented.)


instance Eq [a]

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 3.

(Undocumented.)


instance Eq [a].eq

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 4.

(Undocumented.)


instance Eq [a].neq

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 10.

(Undocumented.)


instance Ord [a]

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 18.

(Undocumented.)


instance Ord [a].lte

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 19.

(Undocumented.)


instance Functor []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 27.

(Undocumented.)


instance Functor [].map

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 28.

(Undocumented.)


instance Apply []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 33.

(Undocumented.)


instance Apply [].ap

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 34.

(Undocumented.)


instance Applicative []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 38.

(Undocumented.)


instance Applicative [].pure

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 39.

(Undocumented.)


instance Bind []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 42.

(Undocumented.)


instance Bind [].bind

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 43.

(Undocumented.)


instance Monad []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 46.

(Undocumented.)


instance MonadFail []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 48.

(Undocumented.)


instance MonadFail [].fail

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 49.

(Undocumented.)


instance Alt []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 52.

(Undocumented.)


instance Alt [].alt

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 53.

(Undocumented.)


instance Plus []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 56.

(Undocumented.)


instance Plus [].empty

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 57.

(Undocumented.)


instance Alternative []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 60.

(Undocumented.)


instance MonadZero []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 62.

(Undocumented.)


instance MonadPlus []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 63.

(Undocumented.)


function mfixList   ([a] ::= f::([a] ::= a) )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 65.

(Undocumented.)


instance MonadFix []

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 76.

(Undocumented.)


instance MonadFix [].mfix

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 77.

(Undocumented.)


class Length.length :: => (Integer ::= a)

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 86.

(Undocumented.)


instance Length [a]

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 89.

(Undocumented.)


instance Length [a].length

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 90.

(Undocumented.)


fun drop   ([a] ::= number::Integer lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 320.

(Undocumented.)


fun take   ([a] ::= number::Integer lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 323.

(Undocumented.)


fun dropWhile   ([a] ::= f::(Boolean ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 326.

(Undocumented.)


fun takeWhile   ([a] ::= f::(Boolean ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 329.

(Undocumented.)


fun takeUntil   ([a] ::= f::(Boolean ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 332.

(Undocumented.)


fun positionOfBy   (Integer ::= eq::(Boolean ::= a a) x::a xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 337.

(Undocumented.)


fun positionOfHelper   (Integer ::= eq::(Boolean ::= a a) x::a xs::[a] currentPos::Integer )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 339.

(Undocumented.)


fun positionOf   (Eq a => Integer ::= x::a xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 344.

(Undocumented.)


fun repeat   ([a] ::= v::a times::Integer )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 346.

(Undocumented.)


fun range   ([Integer] ::= lower::Integer upper::Integer )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 350.

(Undocumented.)


fun zipWith   ([c] ::= f::(c ::= a b) l1::[a] l2::[b] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 353.

(Undocumented.)


fun unzipWith   ([c] ::= f::(c ::= a b) l::[(a,b)] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 357.

(Undocumented.)


fun zip   ([(a,b)] ::= l1::[a] l2::[b] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 361.

(Undocumented.)


function unzip   (([a],[b]) ::= l::[(a,b)] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 365.

(Undocumented.)


fun zip3   ([(a,b,c)] ::= l1::[a] l2::[b] l3::[c] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 373.

(Undocumented.)


function unzip3   (([a],[b],[c]) ::= l::[(a,b,c)] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 377.

(Undocumented.)


global enumerate

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 385.

(Undocumented.)


fun enumerateFrom   ([(Integer,a)] ::= i::Integer l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 386.

(Undocumented.)


fun reverse   ([a] ::= lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 392.

(Undocumented.)


fun reverseHelp   ([a] ::= lst::[a] sofar::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 393.

(Undocumented.)


fun sortBy   ([a] ::= lte::(Boolean ::= a a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 397.

(Undocumented.)


fun sortByKey   (Ord b => [a] ::= key::(b ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 399.

(Undocumented.)


fun sort   (Ord a => [a] ::= lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 403.

(Undocumented.)


function sortByHelp   ([a] ::= lte::(Boolean ::= a a) lst::[a] upTo::Integer )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 405.

(Undocumented.)


fun mergeBy   ([a] ::= lte::(Boolean ::= a a) l1::[a] l2::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 421.

(Undocumented.)


function groupBy   ([[a]] ::= eq::(Boolean ::= a a) l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 428.

(Undocumented.)


function groupByHelp   (Pair<[a] [a]> ::= eq::(Boolean ::= a a) f::a l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 438.

(Undocumented.)


fun group   (Eq a => [[a]] ::= l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 451.

(Undocumented.)


fun unionBy   ([a] ::= eq::(Boolean ::= a a) l::[a] r::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 463.

(Undocumented.)


fun union   (Eq a => [a] ::= l::[a] r::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 471.

(Undocumented.)


fun intersectBy   ([a] ::= eq::(Boolean ::= a a) l::[a] r::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 473.

(Undocumented.)


fun intersect   (Eq a => [a] ::= l::[a] r::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 481.

(Undocumented.)


fun unionsBy   ([a] ::= eq::(Boolean ::= a a) ss::[[a]] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 483.

(Undocumented.)


fun unions   (Eq a => [a] ::= ss::[[a]] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 485.

(Undocumented.)


fun powerSet   ([[a]] ::= xs::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 487.

(Undocumented.)


fun all   (Boolean ::= l::[Boolean] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 498.

(Undocumented.)


fun any   (Boolean ::= l::[Boolean] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 500.

(Undocumented.)


function nil   ([a] ::= )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 504.

(Undocumented.)


function cons   ([a] ::= h::a t::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 514.

(Undocumented.)


function appendList   ([a] ::= l1::[a] l2::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 524.

(Undocumented.)


function null   (Boolean ::= l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 536.

(Undocumented.)


function listLength   (Integer ::= l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 547.

(Undocumented.)


Contained in grammar [silver:core]. Defined at silver/core/List.sv line 558.

(Undocumented.)


function tail   ([a] ::= l::[a] )

Contained in grammar [silver:core]. Defined at silver/core/List.sv line 569.

(Undocumented.)


instance Field Float

Contained in grammar [silver:core]. Defined at silver/core/Field.sv line 16.

(Undocumented.)


class Group.invert :: => (g ::= g)

Contained in grammar [silver:core]. Defined at silver/core/Group.sv line 11.

(Undocumented.)


abstract production bindIO   (top::IO<b> ::= st::IO<a> fn::(IO<b> ::= a) )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 13.

(Undocumented.)


abstract production returnIO   (top::IO<a> ::= x::a )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 25.

(Undocumented.)


instance Functor IO

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 50.

(Undocumented.)


instance Functor IO.map

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 51.

(Undocumented.)


instance Apply IO

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 54.

(Undocumented.)


instance Apply IO.ap

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 55.

(Undocumented.)


instance Applicative IO

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 58.

(Undocumented.)


instance Applicative IO.pure

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 59.

(Undocumented.)


instance Bind IO

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 62.

(Undocumented.)


instance Bind IO.bind

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 63.

(Undocumented.)


instance Monad IO

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 66.

(Undocumented.)


instance MonadFail IO

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 68.

(Undocumented.)


instance MonadFail IO.fail

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 69.

(Undocumented.)


instance MonadFix IO

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 75.

(Undocumented.)


instance MonadFix IO.mfix

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 76.

(Undocumented.)


function runIO   (IOToken ::= st::IO<a> ioIn::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 79.

(Undocumented.)


function evalIO   (IOVal<a> ::= st::IO<a> ioIn::IOToken )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 85.

(Undocumented.)


function unsafeEvalIO   (a ::= st::IO<a> )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 92.

(Undocumented.)


abstract production stateIO   (this::IO<a> ::= f::(IOVal<a> ::= IOToken) )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 113.

(Undocumented.)


abstract production stateIOUnit   (this::IO<Unit> ::= f::(IOToken ::= IOToken) )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 121.

(Undocumented.)


abstract production print   (top::IO<Unit> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 130.

(Undocumented.)


fun println   (IO<Unit> ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 137.

(Undocumented.)


fun eprint   (IO<Unit> ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 139.

(Undocumented.)


fun eprintln   (IO<Unit> ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 141.

(Undocumented.)


abstract production readLineStdin   (top::IO<Maybe<String>> ::= )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 143.

(Undocumented.)


abstract production exit   (top::IO<a> ::= val::Integer )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 159.

(Undocumented.)


abstract production mkdir   (top::IO<Boolean> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 166.

(Undocumented.)


abstract production system   (top::IO<Integer> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 174.

(Undocumented.)


abstract production writeFile   (top::IO<Unit> ::= file::String contents::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 182.

(Undocumented.)


abstract production writeBinaryFile   (top::IO<Unit> ::= file::String contents::ByteArray )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 189.

(Undocumented.)


abstract production appendFile   (top::IO<Unit> ::= file::String contents::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 196.

(Undocumented.)


abstract production fileTime   (top::IO<Integer> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 203.

(Undocumented.)


abstract production isFile   (top::IO<Boolean> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 211.

(Undocumented.)


abstract production isDirectory   (top::IO<Boolean> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 219.

(Undocumented.)


abstract production readFile   (top::IO<String> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 227.

(Undocumented.)


abstract production readBinaryFile   (top::IO<ByteArray> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 235.

(Undocumented.)


abstract production cwd   (top::IO<String> ::= )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 243.

(Undocumented.)


abstract production envVar   (top::IO<String> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 251.

(Undocumented.)


abstract production listContents   (top::IO<[String]> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 259.

(Undocumented.)


abstract production deleteFile   (top::IO<Boolean> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 267.

(Undocumented.)


abstract production deleteFiles   (top::IO<Boolean> ::= files::[String] )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 275.

(Undocumented.)


abstract production deleteDirFiles   (top::IO<Boolean> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 283.

(Undocumented.)


abstract production deleteTree   (top::IO<Unit> ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 291.

(Undocumented.)


abstract production copyFile   (top::IO<Unit> ::= src::String dst::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 298.

(Undocumented.)


abstract production touchFile   (top::IO<Unit> ::= file::String )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 305.

(Undocumented.)


abstract production touchFiles   (top::IO<Unit> ::= files::[String] )

Contained in grammar [silver:core]. Defined at silver/core/IO.sv line 312.

(Undocumented.)


instance BooleanAlgebra Boolean

Contained in grammar [silver:core]. Defined at silver/core/BooleanAlgebra.sv line 14.

(Undocumented.)


class Alt.alt :: => (f<a> ::= f<a> f<a>)

Contained in grammar [silver:core]. Defined at silver/core/Alternative.sv line 16.

(Undocumented.)


class Plus.empty :: => f<a>

Contained in grammar [silver:core]. Defined at silver/core/Alternative.sv line 36.

(Undocumented.)


instance ConvertiblePrim String

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 22.

(Undocumented.)


instance ConvertiblePrim String.toString

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 23.

(Undocumented.)


instance ConvertiblePrim String.toInteger

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 24.

(Undocumented.)


instance ConvertiblePrim String.toFloat

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 25.

(Undocumented.)


instance ConvertiblePrim String.toBoolean

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 26.

(Undocumented.)


function stringToInteger   (Integer ::= x::String )

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 29.

(Undocumented.)


function stringToFloat   (Float ::= x::String )

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 37.

(Undocumented.)


function stringToBoolean   (Boolean ::= x::String )

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 45.

(Undocumented.)


instance ConvertiblePrim Integer

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 53.

(Undocumented.)


instance ConvertiblePrim Integer.toString

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 54.

(Undocumented.)


instance ConvertiblePrim Integer.toInteger

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 55.

(Undocumented.)


instance ConvertiblePrim Integer.toFloat

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 56.

(Undocumented.)


instance ConvertiblePrim Integer.toBoolean

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 57.

(Undocumented.)


function integerToString   (String ::= x::Integer )

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 60.

(Undocumented.)


function integerToFloat   (Float ::= x::Integer )

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 68.

(Undocumented.)


instance ConvertiblePrim Float

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 76.

(Undocumented.)


instance ConvertiblePrim Float.toString

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 77.

(Undocumented.)


instance ConvertiblePrim Float.toInteger

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 78.

(Undocumented.)


instance ConvertiblePrim Float.toFloat

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 79.

(Undocumented.)


instance ConvertiblePrim Float.toBoolean

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 80.

(Undocumented.)


function floatToString   (String ::= x::Float )

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 83.

(Undocumented.)


function floatToInteger   (Integer ::= x::Float )

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 91.

(Undocumented.)


instance ConvertiblePrim Boolean

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 99.

(Undocumented.)


instance ConvertiblePrim Boolean.toString

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 100.

(Undocumented.)


instance ConvertiblePrim Boolean.toInteger

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 101.

(Undocumented.)


instance ConvertiblePrim Boolean.toFloat

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 102.

(Undocumented.)


instance ConvertiblePrim Boolean.toBoolean

Contained in grammar [silver:core]. Defined at silver/core/ConvertablePrim.sv line 103.

(Undocumented.)


instance Length String

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 3.

(Undocumented.)


instance Length String.length

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 4.

(Undocumented.)


function explodeNormal   ([String] ::= sep::String str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 47.

(Undocumented.)


fun explodeSingle   ([String] ::= str::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 58.

(Undocumented.)


function stripExtraWhiteSpaceHelper   ([String] ::= ss::[String] )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 336.

(Undocumented.)


function stripWhiteSpaceHelper   ([String] ::= ss::[String] )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 364.

(Undocumented.)


function addLineNums   (String ::= next::Integer width::Integer lines::[String] )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 386.

(Undocumented.)


function hashString   (Integer ::= s::String )

Contained in grammar [silver:core]. Defined at silver/core/String.sv line 396.

(Undocumented.)


class Functor.map :: => (f<b> ::= (b ::= a) f<a>)

Contained in grammar [silver:core]. Defined at silver/core/Functor.sv line 14.

(Undocumented.)


fun mapFlipped   (Functor f => f<b> ::= x::f<a> f::(b ::= a) )

Contained in grammar [silver:core]. Defined at silver/core/Functor.sv line 17.

(Undocumented.)


fun void   (Functor f => f<Unit> ::= x::f<a> )

Contained in grammar [silver:core]. Defined at silver/core/Functor.sv line 19.

(Undocumented.)


fun voidLeft   (Functor f => f<b> ::= x::f<a> y::b )

Contained in grammar [silver:core]. Defined at silver/core/Functor.sv line 21.

(Undocumented.)


fun voidRight   (Functor f => f<a> ::= x::a y::f<b> )

Contained in grammar [silver:core]. Defined at silver/core/Functor.sv line 23.

(Undocumented.)


fun flap   (Functor f => f<b> ::= fs::f<(b ::= a)> x::a )

Contained in grammar [silver:core]. Defined at silver/core/Functor.sv line 25.

(Undocumented.)


synthesized attribute fromLeft<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 3.

(Undocumented.)


synthesized attribute fromRight<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 4.

(Undocumented.)


synthesized attribute isLeft :: Boolean

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 5.

(Undocumented.)


synthesized attribute isRight :: Boolean

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 6.

(Undocumented.)


instance silver:core:Eq silver:core:Either<a b> {#instance_silver:core:Eq_silver:core:Either_a_b_}

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 20.

(Undocumented.)


instance silver:core:Eq silver:core:Either<a b>.eq {#instance_silver:core:Eq_silver:core:Either_a_b_.eq}

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 20.

(Undocumented.)


instance silver:core:Eq silver:core:Either<a b>.neq {#instance_silver:core:Eq_silver:core:Either_a_b_.neq}

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 20.

(Undocumented.)


instance silver:core:Ord silver:core:Either<a b> {#instance_silver:core:Ord_silver:core:Either_a_b_}

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 20.

(Undocumented.)


instance silver:core:Ord silver:core:Either<a b>.compare {#instance_silver:core:Ord_silver:core:Either_a_b_.compare}

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 20.

(Undocumented.)


instance Functor Either<a _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 46.

(Undocumented.)


instance Functor Either<a _>.map

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 47.

(Undocumented.)


instance Apply Either<a _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 54.

(Undocumented.)


instance Apply Either<a _>.ap

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 55.

(Undocumented.)


instance Applicative Either<a _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 62.

(Undocumented.)


instance Applicative Either<a _>.pure

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 63.

(Undocumented.)


instance Bind Either<a _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 66.

(Undocumented.)


instance Bind Either<a _>.bind

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 67.

(Undocumented.)


instance Monad Either<a _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 74.

(Undocumented.)


instance MonadFail Either<String _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 76.

(Undocumented.)


instance MonadFail Either<String _>.fail

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 77.

(Undocumented.)


function mfixEither   (Either<a b> ::= f::(Either<a b> ::= b) )

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 80.

(Undocumented.)


instance MonadFix Either<a _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 87.

(Undocumented.)


instance MonadFix Either<a _>.mfix

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 88.

(Undocumented.)


instance Alt Either<a _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 91.

(Undocumented.)


instance Alt Either<a _>.alt

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 92.

(Undocumented.)


abstract production eitherT   (top::EitherT<e m a> ::= x::m<Either<e a>> )

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 112.

(Undocumented.)


instance Functor EitherT<e m _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 124.

(Undocumented.)


instance Functor EitherT<e m _>.map

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 125.

(Undocumented.)


instance Apply EitherT<e m _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 128.

(Undocumented.)


instance Apply EitherT<e m _>.ap

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 129.

(Undocumented.)


instance Applicative EitherT<e m _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 151.

(Undocumented.)


instance Applicative EitherT<e m _>.pure

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 152.

(Undocumented.)


instance Bind EitherT<e m _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 155.

(Undocumented.)


instance Bind EitherT<e m _>.bind

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 156.

(Undocumented.)


instance Monad EitherT<e m _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 166.

(Undocumented.)


instance MonadFail EitherT<String m _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 168.

(Undocumented.)


instance MonadFail EitherT<String m _>.fail

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 169.

(Undocumented.)


instance Alt EitherT<e m _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 172.

(Undocumented.)


instance Alt EitherT<e m _>.alt

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 173.

(Undocumented.)


instance MonadTrans EitherT<e _ _>

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 183.

(Undocumented.)


instance MonadTrans EitherT<e _ _>.lift

Contained in grammar [silver:core]. Defined at silver/core/Either.sv line 184.

(Undocumented.)


class Applicative.pure :: => (f<a> ::= a)

Contained in grammar [silver:core]. Defined at silver/core/Applicative.sv line 20.

(Undocumented.)


fun when_   (Applicative f => f<Unit> ::= cond::Boolean body::f<Unit> )

Contained in grammar [silver:core]. Defined at silver/core/Applicative.sv line 29.

(Undocumented.)


fun unless   (Applicative f => f<Unit> ::= cond::Boolean body::f<Unit> )

Contained in grammar [silver:core]. Defined at silver/core/Applicative.sv line 32.

(Undocumented.)


fun traverseA   (Applicative m => m<[b]> ::= f::(m<b> ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/Applicative.sv line 36.

(Undocumented.)


fun traverse_   (Applicative m => m<()> ::= f::(m<()> ::= a) lst::[a] )

Contained in grammar [silver:core]. Defined at silver/core/Applicative.sv line 39.

(Undocumented.)


fun sequence   (Applicative m => m<[a]> ::= lst::[m<a>] )

Contained in grammar [silver:core]. Defined at silver/core/Applicative.sv line 42.

(Undocumented.)


class Monoid.mempty :: => a

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 18.

(Undocumented.)


class Monoid.concat :: => (a ::= [a]) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 19.

(Undocumented.)


instance Monoid m<a>

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 23.

(Undocumented.)


instance Monoid m<a>.mempty

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 24.

(Undocumented.)


instance Monoid (a,b) {#instance_Monoid__a,b_}

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 27.

(Undocumented.)


instance Monoid (a,b).mempty {#instance_Monoid__a,b_.mempty}

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 28.

(Undocumented.)


instance Monoid String

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 31.

(Undocumented.)


instance Monoid String.mempty

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 32.

(Undocumented.)


instance Monoid Unit

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 35.

(Undocumented.)


instance Monoid Unit.mempty

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 36.

(Undocumented.)


instance Semigroup MPowerHelper<m>

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 72.

(Undocumented.)


instance Semigroup MPowerHelper<m>.append

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 72.

(Undocumented.)


instance Monoid MPowerHelper<m>

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 73.

(Undocumented.)


instance Monoid MPowerHelper<m>.mempty

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 73.

(Undocumented.)


instance Group MPowerHelper<m>

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 74.

(Undocumented.)


instance Group MPowerHelper<m>.invert

Contained in grammar [silver:core]. Defined at silver/core/Monoid.sv line 75.

(Undocumented.)


class Bind.bind :: => (m<b> ::= m<a> (m<b> ::= a))

Contained in grammar [silver:core]. Defined at silver/core/Bind.sv line 13.

(Undocumented.)


fun bindFlipped   (Bind m => m<b> ::= f::(m<b> ::= a) x::m<a> )

Contained in grammar [silver:core]. Defined at silver/core/Bind.sv line 16.

(Undocumented.)


fun join   (Bind m => m<a> ::= x::m<m<a>> )

Contained in grammar [silver:core]. Defined at silver/core/Bind.sv line 18.

(Undocumented.)


fun composeKleisli   (Bind m => m<c> ::= f::(m<b> ::= a) g::(m<c> ::= b) x::a )

Contained in grammar [silver:core]. Defined at silver/core/Bind.sv line 20.

(Undocumented.)


fun composeKleisliFlipped   (Bind m => m<c> ::= g::(m<c> ::= b) f::(m<b> ::= a) x::a )

Contained in grammar [silver:core]. Defined at silver/core/Bind.sv line 22.

(Undocumented.)


fun ifM   (Bind m => m<a> ::= c::m<Boolean> t::m<a> e::m<a> )

Contained in grammar [silver:core]. Defined at silver/core/Bind.sv line 25.

(Undocumented.)


instance CommutativeRing Integer

Contained in grammar [silver:core]. Defined at silver/core/CommutativeRing.sv line 11.

(Undocumented.)


instance CommutativeRing Float

Contained in grammar [silver:core]. Defined at silver/core/CommutativeRing.sv line 12.

(Undocumented.)


data nonterminal RandomGen

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 6.

(Undocumented.)


abstract production mapRandomGen   (RandomGen<a> ::= (a ::= b) RandomGen<b> )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 7.

(Undocumented.)


abstract production apRandomGen   (RandomGen<a> ::= RandomGen<(a ::= b)> RandomGen<b> )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 8.

(Undocumented.)


abstract production pureRandomGen   (RandomGen<a> ::= a )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 9.

(Undocumented.)


abstract production bindRandomGen   (RandomGen<a> ::= RandomGen<b> (RandomGen<a> ::= b) )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 10.

(Undocumented.)


abstract production randomInteger   (top::RandomGen<Integer> ::= )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 12.

(Undocumented.)


abstract production randomRangeInteger   (top::RandomGen<Integer> ::= Integer Integer )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 16.

(Undocumented.)


abstract production randomFloat   (top::RandomGen<Float> ::= )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 20.

(Undocumented.)


abstract production randomBoolean   (top::RandomGen<Boolean> ::= )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 24.

(Undocumented.)


abstract production randomToken_   (top::RandomGen<RandomToken> ::= )

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 28.

(Undocumented.)


ffi type RandomToken

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 35.

(Undocumented.)


instance Functor RandomGen

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 37.

(Undocumented.)


instance Functor RandomGen.map

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 38.

(Undocumented.)


instance Apply RandomGen

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 41.

(Undocumented.)


instance Apply RandomGen.ap

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 42.

(Undocumented.)


instance Applicative RandomGen

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 45.

(Undocumented.)


instance Applicative RandomGen.pure

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 46.

(Undocumented.)


instance Bind RandomGen

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 49.

(Undocumented.)


instance Bind RandomGen.bind

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 50.

(Undocumented.)


instance Monad RandomGen

Contained in grammar [silver:core]. Defined at silver/core/Random.sv line 53.

(Undocumented.)


class EuclideanRing.degree :: => (Integer ::= a)

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 16.

(Undocumented.)


class EuclideanRing.div :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 17.

(Undocumented.)


class EuclideanRing.mod :: => (a ::= a a)

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 18.

(Undocumented.)


instance EuclideanRing Integer

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 21.

(Undocumented.)


instance EuclideanRing Integer.degree

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 22.

(Undocumented.)


instance EuclideanRing Integer.div

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 23.

(Undocumented.)


instance EuclideanRing Integer.mod

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 24.

(Undocumented.)


function divInteger   (Integer ::= a::Integer b::Integer )

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 27.

(Undocumented.)


function modInteger   (Integer ::= a::Integer b::Integer )

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 35.

(Undocumented.)


instance EuclideanRing Float

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 43.

(Undocumented.)


instance EuclideanRing Float.degree

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 44.

(Undocumented.)


instance EuclideanRing Float.div

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 45.

(Undocumented.)


instance EuclideanRing Float.mod

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 46.

(Undocumented.)


function divFloat   (Float ::= a::Float b::Float )

Contained in grammar [silver:core]. Defined at silver/core/EuclideanRing.sv line 49.

(Undocumented.)


synthesized attribute isBogus :: Boolean

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 48.

(Undocumented.)


aspect default production __generatedTop_16108::OriginInfoType ::= {#aspect_default_production_silver:core:OriginInfoType}

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 53.

(Undocumented.)


annotation originNotes :: [OriginNote]

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 80.

(Undocumented.)


annotation originType :: OriginInfoType

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 81.

(Undocumented.)


synthesized attribute isNewlyConstructed :: Boolean

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 83.

(Undocumented.)


synthesized attribute notepp :: Maybe<String>

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 98.

(Undocumented.)


aspect default production top::OriginNote ::= {#aspect_default_production_silver:core:OriginNote}

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 100.

(Undocumented.)


abstract production traceNote   (top::OriginNote ::= loc::String )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 110.

(Undocumented.)


abstract production originDbgNote   (top::OriginNote ::= string::String )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 116.

(Undocumented.)


abstract production dbgNote   (top::OriginNote ::= string::String )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 122.

(Undocumented.)


abstract production logicalLocationNote   (top::OriginNote ::= loc::Location )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 128.

(Undocumented.)


fun getParsedOriginLocationFromChain   (Maybe<Location> ::= chain::[OriginInfo] )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 171.

(Undocumented.)


fun originNotesToString   (String ::= ns::[OriginNote] )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 191.

(Undocumented.)


fun getOriginNotesString   (String ::= arg::a )

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 193.

(Undocumented.)


closed data nonterminal AmbientOriginNT

Contained in grammar [silver:core]. Defined at silver/core/Origins.sv line 239.

(Undocumented.)


class Eq.eq :: => (Boolean ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 22.

(Undocumented.)


class Eq.neq :: => (Boolean ::= a a) (has default)

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 23.

(Undocumented.)


equality attribute isEqual with compareTo

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 27.

(Undocumented.)


instance Eq a

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 29.

(Undocumented.)


instance Eq a.eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 32.

(Undocumented.)


instance Eq Decorated a with i

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 35.

(Undocumented.)


instance Eq Decorated a with i.eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 37.

(Undocumented.)


instance Eq Integer

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 40.

(Undocumented.)


instance Eq Integer.eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 41.

(Undocumented.)


instance Eq Integer.neq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 42.

(Undocumented.)


function eqInteger   (Boolean ::= x::Integer y::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 45.

(Undocumented.)


function neqInteger   (Boolean ::= x::Integer y::Integer )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 53.

(Undocumented.)


instance Eq Float

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 61.

(Undocumented.)


instance Eq Float.eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 62.

(Undocumented.)


instance Eq Float.neq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 63.

(Undocumented.)


function eqFloat   (Boolean ::= x::Float y::Float )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 66.

(Undocumented.)


function neqFloat   (Boolean ::= x::Float y::Float )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 74.

(Undocumented.)


instance Eq Boolean

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 82.

(Undocumented.)


instance Eq Boolean.eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 83.

(Undocumented.)


instance Eq Boolean.neq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 84.

(Undocumented.)


function eqBoolean   (Boolean ::= x::Boolean y::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 87.

(Undocumented.)


function neqBoolean   (Boolean ::= x::Boolean y::Boolean )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 95.

(Undocumented.)


instance Eq String

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 103.

(Undocumented.)


instance Eq String.eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 104.

(Undocumented.)


instance Eq String.neq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 105.

(Undocumented.)


function eqString   (Boolean ::= x::String y::String )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 108.

(Undocumented.)


function neqString   (Boolean ::= x::String y::String )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 116.

(Undocumented.)


instance Eq TerminalId

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 124.

(Undocumented.)


instance Eq TerminalId.eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 125.

(Undocumented.)


instance Eq TerminalId.neq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 126.

(Undocumented.)


function eqTerminalId   (Boolean ::= x::TerminalId y::TerminalId )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 129.

(Undocumented.)


function neqTerminalId   (Boolean ::= x::TerminalId y::TerminalId )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 137.

(Undocumented.)


instance Eq ByteArray

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 145.

(Undocumented.)


instance Eq ByteArray.eq

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 146.

(Undocumented.)


function eqByteArray   (Boolean ::= x::ByteArray y::ByteArray )

Contained in grammar [silver:core]. Defined at silver/core/Eq.sv line 149.

(Undocumented.)


annotation fst<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 3.

(Undocumented.)


annotation snd<a> :: a

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 4.

(Undocumented.)


abstract production pair   (Pair<a b> ::= )

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 9.

(Undocumented.)


instance silver:core:Eq silver:core:Pair<a b> {#instance_silver:core:Eq_silver:core:Pair_a_b_}

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 11.

(Undocumented.)


instance silver:core:Eq silver:core:Pair<a b>.eq {#instance_silver:core:Eq_silver:core:Pair_a_b_.eq}

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 11.

(Undocumented.)


instance silver:core:Eq silver:core:Pair<a b>.neq {#instance_silver:core:Eq_silver:core:Pair_a_b_.neq}

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 11.

(Undocumented.)


instance silver:core:Ord silver:core:Pair<a b> {#instance_silver:core:Ord_silver:core:Pair_a_b_}

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 11.

(Undocumented.)


instance silver:core:Ord silver:core:Pair<a b>.compare {#instance_silver:core:Ord_silver:core:Pair_a_b_.compare}

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 11.

(Undocumented.)


global fst

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 13.

(Undocumented.)


global snd

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 14.

(Undocumented.)


fun lookupAllBy   ([b] ::= eqf::(Boolean ::= a a) elem::a lst::[Pair<a b>] )

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 43.

(Undocumented.)


fun lookupAll   (Eq a => [b] ::= elem::a lst::[Pair<a b>] )

Contained in grammar [silver:core]. Defined at silver/core/Pair.sv line 50.

(Undocumented.)