Attributes
- Companion:
- class
- Graph
- Supertypes
- Self type
- FreeScaletto.type
Members list
Type members
Classlikes
Attributes
- Graph
- Supertypes
- class Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- class Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass Any
Inherited classlikes
Attributes
- Inherited from:
- CoreDSL
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- trait FunExprOps
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class Backvert[A]class ConstNeg[A]class ConstVal[A]class DebugPrintclass Delayclass DelayIndefinitelyclass ElimFst[B]class ElimSnd[A]class Forevert[A]class Forkclass ForkNeedclass ForkPingclass ForkPongclass Id[A]class IntroFst[B]class IntroSnd[A]class Joinclass JoinLTerminiclass JoinNeedclass JoinPingclass JoinPongclass JoinRTerminiclass LInvertPongPingclass LInvertSignalclass LInvertTerminusclass Neglect[A]class NotifyDoneLclass NotifyNeedLclass NotifyNeg[A]class NotifyVal[A]class Pack[F]class PingFclass PongFclass RInvertPingPongclass RInvertSignalclass RInvertTerminusclass RacePairclass RegressInfinitelyclass Release[R]class SelectPairclass StrengthenPingclass StrengthenPongclass Unpack[F]
Attributes
- Inherited from:
- ClosedDSL
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- CoreDSL
- Graph
- Supertypes
Attributes
- Inherited from:
- CoreDSL
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- InvertDSL
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- CoreDSL
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- trait LambdaOpsWithClosures
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Inherited from:
- FreeScaletto
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Types
Inherited types
Linear function as data, that is, one that can be part of an input or output of a linear function (-⚬
).
While A -⚬ B
is a morphism in a category, A =⚬ B
is an object called the internal hom of A
and B
in a closed monoidal category.
Linear function as data, that is, one that can be part of an input or output of a linear function (-⚬
).
While A -⚬ B
is a morphism in a category, A =⚬ B
is an object called the internal hom of A
and B
in a closed monoidal category.
Attributes
- Inherited from:
- InvertDSL
Demand for a Scala value of type A
.
Demand for a Scala value of type A
.
Somewhat analogous to scala.concurrent.Promise
Attributes
- Inherited from:
- Scaletto
Attributes
- Inherited from:
- ClosedDSL
Value members
Concrete methods
Acquires a resource of type R.
Acquires a resource of type R.
Attributes
- A
parameters of the
acquire
function- B
additional data produced by acquiring the resource
- R
type of the resource
- release
called to release the resource in case of a crash.
None
means no cleanup is needed- Definition Classes
┏━━━━━━━━━━━┓
┞────┐ ┃
╎ A │┄┄┐ ┃
┟────┘ ┆ ┃
┃ ┆ ┃
┞────┐ ┆ ┃
╎-[A]│←┄┘ ┃
┟────┘ ┃
┗━━━━━━━━━━━┛
Attributes
- Definition Classes
Executes a potentially blocking operation. The implementation must ensure that the blocking operation does not impede any of the concurrently happening non-blocking computations.
Executes a potentially blocking operation. The implementation must ensure that the blocking operation does not impede any of the concurrently happening non-blocking computations.
Attributes
- Definition Classes
Starts propagating an error downstream (which might be through both the in-port and the out-port).
Starts propagating an error downstream (which might be through both the in-port and the out-port).
Use only for irrecoverable errors. Recoverable errors should be expressed in function signature and handled appropriately.
Done on the in-port is the trigger to crash. A on the in-port allows to consume any unhandled resources. B on the out-port allows to fulfill any obligation to produce resources.
Attributes
- Definition Classes
Prints the given message to the console, without creating an obligation to await.
Prints the given message to the console, without creating an obligation to await.
Attributes
- Definition Classes
Attributes
- Definition Classes
┏━━━━━━━━━━━┓
┃ ┞────┐
┞────┐ ╎-[A]│
╎ ⎡A⎤│ ┟────┘
╎-⎢⊗⎥│ ┃
╎ ⎣B⎦│ ┞────┐
┟────┘ ╎-[B]│
┃ ┟────┘
┗━━━━━━━━━━━┛
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
┏━━━━━━━━━━━┓
┞────┐ ┃
╎-[A]│ ┞────┐
┟────┘ ╎ ⎡A⎤│
┃ ╎-⎢⊗⎥│
┞────┐ ╎ ⎣B⎦│
╎-[B]│ ┟────┘
┟────┘ ┃
┗━━━━━━━━━━━┛
Attributes
- Definition Classes
┏━━━━━━┓
┃ ┞────┐
┃ ┌┄┄╎-[A]│
┃ ┆ ┟────┘
┃ ┆ ┃
┃ ┆ ┞────┐
┃ └┄→╎ A │
┃ ┟────┘
┗━━━━━━┛
Attributes
- Definition Classes
Reverses the Need signal (flowing in the negative direciton, i.e. against the -⚬
arrow)
into a Done signal (flowing in the positive direction, i.e. along the -⚬
arrow).
Reverses the Need signal (flowing in the negative direciton, i.e. against the -⚬
arrow)
into a Done signal (flowing in the positive direction, i.e. along the -⚬
arrow).
┏━━━━━━┓
┃ ┞────┐
┃ ┌┄┄╎Need│
┃ ┆ ┟────┘
┃ ┆ ┃
┃ ┆ ┞────┐
┃ └┄→╎Done│
┃ ┟────┘
┗━━━━━━┛
Attributes
- Definition Classes
Attributes
- Definition Classes
Lifts an ordinary Scala function to a linear function on Vals.
Signals (in the negative direction) when it is known which side of the choice (A |&| B
) has been chosen.
Signals (in the negative direction) when it is known which side of the choice (A |&| B
) has been chosen.
Attributes
- Definition Classes
Signals when it is decided whether A |+| B
actually contains the left side or the right side.
Signals when it is decided whether A |+| B
actually contains the left side or the right side.
Attributes
- Definition Classes
Hides one level of a recursive type definition.
Attributes
- Definition Classes
Reverses the Done signal (flowing in the positive direction, i.e. along the -⚬
arrow)
into a Need signal (flowing in the negative direciton, i.e. against the -⚬
arrow).
Reverses the Done signal (flowing in the positive direction, i.e. along the -⚬
arrow)
into a Need signal (flowing in the negative direciton, i.e. against the -⚬
arrow).
┏━━━━━━━━━━━┓
┞────┐ ┃
╎Done│┄┄┐ ┃
┟────┘ ┆ ┃
┃ ┆ ┃
┞────┐ ┆ ┃
╎Need│←┄┘ ┃
┟────┘ ┃
┗━━━━━━━━━━━┛
Attributes
- Definition Classes
Races the two Ping signals. Produces left if the first signal wins and right if the second signal wins. It is biased to the left: if both signals have arrived by the time of inquiry, returns left.
Races the two Ping signals. Produces left if the first signal wins and right if the second signal wins. It is biased to the left: if both signals have arrived by the time of inquiry, returns left.
Attributes
- Definition Classes
Attributes
- Definition Classes
Releases a resource using the release
function registered during resource acquisition.
Releases a resource using the release
function registered during resource acquisition.
Attributes
- Definition Classes
Attributes
- Definition Classes
Races the two Pong signals (traveling from right to left). Chooses left if the first signal wins and right if the second signal wins. It is biased to the left: if both signals have arrived by the time of inquiry, chooses left.
Races the two Pong signals (traveling from right to left). Chooses left if the first signal wins and right if the second signal wins. It is biased to the left: if both signals have arrived by the time of inquiry, chooses left.
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Inherited methods
Attributes
- Inherited from:
- Scaletto
Lifts an ordinary Scala function to a linear function on demands, in opposite direction.
Lifts an ordinary Scala function to a linear function on demands, in opposite direction.
Attributes
- Inherited from:
- Scaletto
Attributes
- Inherited from:
- CrashDSL
Converts an obligation to handle either demand to an obligation to supply a choice. Alias for factorInversionOutOf_|+|.
Converts an obligation to handle either demand to an obligation to supply a choice. Alias for factorInversionOutOf_|+|.
Attributes
- Inherited from:
- InvertDSL
Converts a demand for choice to a demand of the chosen side. Alias for distributeInversionInto_|&|.
Converts a demand for choice to a demand of the chosen side. Alias for distributeInversionInto_|&|.
Attributes
- Inherited from:
- InvertDSL
Converts choice of demands to demand of either. Alias for factorInversionOutOf_|&|.
Converts choice of demands to demand of either. Alias for factorInversionOutOf_|&|.
Attributes
- Inherited from:
- InvertDSL
Alias for distributeInversion
Alias for factorOutInversion.
Double-inversion elimination.
Double-inversion introduction.
Attributes
- Inherited from:
- CoreDSL
Attributes
- Inherited from:
- CoreDSL
Attributes
- Inherited from:
- InvertDSL
Attributes
- Inherited from:
- InvertDSL
Performs a (potentially) effectful operation on a resource, producing some output.
Performs a (potentially) effectful operation on a resource, producing some output.
Attributes
- A
additional parameter of the operation
- B
additional output of the operation
- R
type of the resource
- f
the effectful operation
- Inherited from:
- Scaletto
Variant of effect that does not produce output in addition to performing the effect. Can be viewed as ''wr''iting an A into the resource.
Factor out the factor A
on the left of both summands.
Factor out the factor C
on the right of both summands.
Turn a function into a function object.
Releases a resource using the given function. The release
function previously registered during resource
acquisition is not used.
Releases a resource using the given function. The release
function previously registered during resource
acquisition is not used.
Attributes
- A
additional parameter of the release function
- B
additional data produced by the release function
- R
type of the resource
- f
the release function
- Inherited from:
- Scaletto
Attributes
- Inherited from:
- Scaletto
Attributes
- Inherited from:
- Scaletto
Converts demand for either to a choice of which side to supply. Alias for distributeInversionInto_|+|.
Converts demand for either to a choice of which side to supply. Alias for distributeInversionInto_|+|.
Attributes
- Inherited from:
- InvertDSL
Transforms a resource into a resource of (possibly) different type.
Transforms a resource into a resource of (possibly) different type.
Attributes
- A
additional parameter of the transformation
- B
additional output of the transformation
- R
type of the input resource
- S
type of the output resource
- f
the transformation function. It receives the input resource and additional input of type A. It returns the new resource and additional output of type B.
- release
called to release the new resource in case of a crash.
None
means no cleanup is needed- Inherited from:
- Scaletto
Attributes
- Inherited from:
- Scaletto
Acquires a resource of type R. Might fail with an error of type E.
Acquires a resource of type R. Might fail with an error of type E.
Attributes
- A
parameters of the
acquire
function- B
additional data produced by acquiring the resource
- E
type of the error
- R
type of the resource
- release
called to release the resource in case of a crash.
None
means no cleanup is needed- Inherited from:
- Scaletto
Attributes
- Inherited from:
- Scaletto
Transforms a resource into a resource of (possibly) different type. Might fail with an error of type E.
Transforms a resource into a resource of (possibly) different type. Might fail with an error of type E.
Attributes
- A
additional parameter of the transformation
- B
additional output of the transformation
- E
type of the error
- R
type of the input resource
- S
type of the output resource
- f
the transformation function. It receives the input resource and additional input of type A. It returns either an error of type E or the new resource and additional output of type B. In case the transformation results in an error, the original resource is ''not'' released automatically— the passing of the original resource
R
to the transformation functionf
indicates transfer of responsibility for the resource to the functionf
.- release
called to release the new resource in case of a crash.
None
means no cleanup is needed- Inherited from:
- Scaletto