turbolift-core
turbolift-core
API
turbolift
effects
Choice
ChoiceEffect
handlers
ChoiceSignature
Console
ConsoleEffect
handlers
ConsoleSignature
Cont
ContSignature
Each
Error
ErrorEffect
handlers
ErrorG
ErrorGK
ErrorK
ErrorSignature
IO
IO
Random
RandomEffect
handlers
RandomSignature
Reader
ReaderEffect
handlers
ReaderSignature
State
StateEffect
handlers
StateSignature
Writer
WriterEffect
handlers
WriterG
WriterGK
WriterK
WriterSignature
handlers
Splitmix64
internals
auxx
CanPipe
CanPipe
IdConst
effect
CanPerform
EffectImpl
Proxy
Stateful
Stateless
ThisInterpreter
executor
Executor
Executor
extensions
FoldExtensions
MiscExtensions
TraverseExtensions
interpreter
Continuation
Control
Interpreter
Interpreter
Proxy
Stateful
Stateless
Local
Mixins
Parallel
Default
ForkJoin
Trivial
Parallel
Sequential
Default
Restartable
Sequential
Void
Void
io
AtomicVar
AtomicVar
Get
Put
Cause
Cause
Aborted
Both
Cancelled
Then
Thrown
Exceptions
Aborted
Cancelled
Panic
Pending
Unhandled
Fiber
Fiber
NamedSyntax
Role
Arbiter
Waiter
Status
Pending
Completed
OnceVar
OnceVar
Get
Put
Outcome
Outcome
Cancelled
Failure
Failure
NotSuccess
Success
Snap
Snap
Aborted
Aborted
Cancelled
Failure
NotSuccess
Success
Warp
Warp
ExitMode
ExitMode
NamedCompanionSyntax
NamedSyntax
Status
Pending
handlers
Zipper
Zipper
mode
Mode
Mode
typeclass
Accum
Accum
AccumZero
AccumZero
ExtendTuple
ExtendTuple
One
One
Syntax
Computation
Computation
HandleWithSyntax
NamedSyntax
NamedSyntax
Effect
Effect
Combine2
Combine3
Combine4
Extensions
Handler
HandleSyntax
PartiallyProvideWithSyntax
Handler
Signature
turbolift-core
/
turbolift
/
turbolift.io
/
AtomicVar
AtomicVar
turbolift.io.AtomicVar
See the
AtomicVar
companion object
sealed
trait
AtomicVar
[
S
]
extends
Get
[
S
]
,
Put
[
S
]
Attributes
Companion
object
Graph
Reset zoom
Hide graph
Show graph
Supertypes
trait
Put
[
S
]
trait
Get
[
S
]
class
Object
trait
Matchable
class
Any
Members list
Clear all
Value members
Abstract methods
def
unsafeCompareAndSet
(
a
:
S
,
b
:
S
):
Boolean
def
unsafeSwap
(
s
:
S
):
S
Concrete methods
final
def
asGet
:
Get
[
S
]
final
def
asPut
:
Put
[
S
]
final
def
getModify
(
f
:
S
=>
S
):
Computation
[
S
,
IO
]
final
def
getModifyEff
[
U
<:
IO
](
f
:
S
=>
Computation
[
S
,
U
]):
Computation
[
S
,
U
]
final
def
getModifyGet
(
f
:
S
=>
S
):
Computation
[(
S
,
S
),
IO
]
final
def
getModifyGetEff
[
U
<:
IO
](
f
:
S
=>
Computation
[
S
,
U
]):
Computation
[(
S
,
S
),
U
]
final
def
getUpdate
[
A
](
f
:
S
=>
(
A
,
S
)):
Computation
[(
A
,
S
),
IO
]
final
def
getUpdateEff
[
A
,
U
<:
IO
](
f
:
S
=>
Computation
[(
A
,
S
),
U
]):
Computation
[(
A
,
S
),
U
]
final
def
getUpdateGet
[
A
](
f
:
S
=>
(
A
,
S
)):
Computation
[(
A
,
S
,
S
),
IO
]
final
def
getUpdateGetEff
[
A
,
U
<:
IO
](
f
:
S
=>
Computation
[(
A
,
S
),
U
]):
Computation
[(
A
,
S
,
S
),
U
]
final
def
modify
(
f
:
S
=>
S
):
Computation
[
Unit
,
IO
]
final
def
modifyEff
[
U
<:
IO
](
f
:
S
=>
Computation
[
S
,
U
]):
Computation
[
Unit
,
U
]
final
def
modifyGet
(
f
:
S
=>
S
):
Computation
[
S
,
IO
]
final
def
modifyGetEff
[
U
<:
IO
](
f
:
S
=>
Computation
[
S
,
U
]):
Computation
[
S
,
U
]
final
def
swap
(
s
:
S
):
Computation
[
S
,
IO
]
final
def
tryGetModify
(
f
:
S
=>
S
):
Computation
[(
S
,
Boolean
),
IO
]
final
def
tryGetModifyGet
(
f
:
S
=>
S
):
Computation
[(
S
,
S
,
Boolean
),
IO
]
final
def
tryGetUpdate
[
A
](
f
:
S
=>
(
A
,
S
)):
Computation
[(
A
,
S
,
Boolean
),
IO
]
final
def
tryGetUpdateGet
[
A
](
f
:
S
=>
(
A
,
S
)):
Computation
[(
A
,
S
,
S
,
Boolean
),
IO
]
final
def
tryModify
(
f
:
S
=>
S
):
Computation
[
Boolean
,
IO
]
final
def
tryModifyGet
(
f
:
S
=>
S
):
Computation
[(
S
,
Boolean
),
IO
]
final
def
trySwap
(
s
:
S
):
Computation
[(
S
,
Boolean
),
IO
]
final
def
tryUpdate
[
A
](
f
:
S
=>
(
A
,
S
)):
Computation
[(
A
,
Boolean
),
IO
]
final
def
tryUpdateGet
[
A
](
f
:
S
=>
(
A
,
S
)):
Computation
[(
A
,
S
,
Boolean
),
IO
]
final
def
update
[
A
](
f
:
S
=>
(
A
,
S
)):
Computation
[
A
,
IO
]
final
def
updateEff
[
A
,
U
<:
IO
](
f
:
S
=>
Computation
[(
A
,
S
),
U
]):
Computation
[
A
,
U
]
final
def
updateGet
[
A
](
f
:
S
=>
(
A
,
S
)):
Computation
[(
A
,
S
),
IO
]
final
def
updateGetEff
[
A
,
U
<:
IO
](
f
:
S
=>
Computation
[(
A
,
S
),
U
]):
Computation
[(
A
,
S
),
U
]
Inherited methods
final
def
get
:
Computation
[
S
,
IO
]
Attributes
Inherited from:
Get
final
def
gets
[
A
](
f
:
S
=>
A
):
Computation
[
A
,
IO
]
Attributes
Inherited from:
Get
final
def
put
(
s
:
S
):
Computation
[
Unit
,
IO
]
Attributes
Inherited from:
Put
def
unsafeGet
:
S
Attributes
Inherited from:
Get
def
unsafePut
(
s
:
S
):
Unit
Attributes
Inherited from:
Put
In this article
Attributes
Members list
Value members
Abstract methods
Concrete methods
Inherited methods