Package-level declarations
Types
Link copied to clipboard
Link copied to clipboard
class MuxPostprocessor(val containedProtocolCheck: (Protocol) -> Boolean, val selection: ProtocolAssignment) : ProgramPostprocessor
Link copied to clipboard
Link copied to clipboard
interface ProgramPostprocessor
Link copied to clipboard
class ProgramPostprocessorRegistry(postprocessors: List<ProgramPostprocessor>) : ProgramPostprocessor
Link copied to clipboard
class Rewrite(rewrites: Map<PrincipalComponent, LabelConstant>, hostTrustConfiguration: HostTrustConfiguration)
Functions
Link copied to clipboard
Annotate parameters, declarations, and let nodes with protocols.
Link copied to clipboard
Link copied to clipboard
Performs all static checks on this program.
Link copied to clipboard
fun SourceFile.compile(backend: Backend, selectionSolver: SelectionProblemSolver = defaultSelectionProblemSolver, costRegime: SimpleCostRegime = SimpleCostRegime.WAN, saveLabelConstraintGraph: (graphWriter: (Writer) -> Unit) -> Unit? = null, saveInferredLabels: File? = null, saveEstimatedCost: File? = null, saveProtocolAssignment: File? = null): ProgramNode
Similar to SourceFile.compileToKotlin, but returns a program for the interpreter.
Link copied to clipboard
fun SourceFile.compileToKotlin(fileName: String, packageName: String, backend: Backend, selectionSolver: SelectionProblemSolver = defaultSelectionProblemSolver, costRegime: SimpleCostRegime = SimpleCostRegime.WAN, saveLabelConstraintGraph: (graphWriter: (Writer) -> Unit) -> Unit? = null, saveInferredLabels: File? = null, saveEstimatedCost: File? = null, saveProtocolAssignment: File? = null): FileSpec
Compile this source file to a Kotlin program.
Link copied to clipboard
Elaborates this surface program into a program in the intermediate representation.
Link copied to clipboard
Returns an AST where every call site is specialized into new functions as much as possible. This allows for the most liberal protocol selection possible, at the cost of redundancy. The specializer will not specialize (mutually) recursive functions to prevent unbounded specialization.