Module
WAGS.MoveNode
- Package
- purescript-wags
- Repository
- mikesol/purescript-wags
#MoveNode Source
class MoveNode (from :: Nat) (to :: Nat) (i :: Graph) (o :: Graph) | from to i -> o where
Move a node in a graph.
from
- the index of the node we are moving
to
- the new position in the list
i
- the input universe
o
- the output universe
Members
moveNode :: forall env audio engine proof m res currentIdx changeBit skolems. Monad m => Proxy from -> Proxy to -> FrameT env audio engine proof m res (UniverseC currentIdx i changeBit skolems) (UniverseC currentIdx o changeBit skolems) Unit
Instances
(GraphToNodeList graphi nodeListI, MoveNodeInternal from to nodeListI nodeListO, GraphToNodeList grapho nodeListO) => MoveNode from to graphi grapho
#NodeListLen Source
class NodeListLen (i :: NodeList) (n :: Nat) | i -> n
Get the length of node list i
as natural number n
/
Instances
NodeListLen NodeListNil Z
(NodeListLen b x) => NodeListLen (NodeListCons a b) (Succ x)
#MoveNodeInternal Source
class MoveNodeInternal (from :: Nat) (to :: Nat) (i :: NodeList) (o :: NodeList) | from to i -> o
Move a poitner from position from
to position to
in list i
and return it as o
.
Instances
(NodeListLen i li, LtEq to li, RemoveAtNode from i fnode i', InsertInNode fnode to i' o) => MoveNodeInternal from to i o
#InsertInNode Source
class InsertInNode (fnode :: Node) (newTo :: Nat) (i' :: NodeList) (o :: NodeList) | fnode newTo i' -> o
Insert a poitner fnode
at newTo
in list i'
and return it as o
.
Instances
InsertInNode fnode Z NodeListNil (NodeListCons fnode NodeListNil)
InsertInNode fnode Z (NodeListCons a b) (NodeListCons fnode (NodeListCons a b))
(InsertInNode fnode x b o) => InsertInNode fnode (Succ x) (NodeListCons a b) (NodeListCons a o)
#RemoveAtNode Source
class RemoveAtNode (from :: Nat) (i :: NodeList) (fnode :: Node) (i' :: NodeList) | from i -> fnode i'
Remove whatever is at position from
in list i
, returning the removed fnode
as well as the new pointer list i'
.
Instances
RemoveAtNode Z (NodeListCons a b) a b
(RemoveAtNode x b fnode b') => RemoveAtNode (Succ x) (NodeListCons a b) fnode (NodeListCons a b')
- Modules
- FRP.
Event. MIDI - WAGS.
Change - WAGS.
Connect - WAGS.
Control. Functions - WAGS.
Control. MemoizedState - WAGS.
Control. Qualified - WAGS.
Control. Thunkable - WAGS.
Control. Types - WAGS.
Create - WAGS.
Cursor - WAGS.
Debug - WAGS.
Destroy - WAGS.
Disconnect - WAGS.
Graph. Constructors - WAGS.
Graph. Decorators - WAGS.
Graph. Getter - WAGS.
Graph. Optionals - WAGS.
Graph. Parameter - WAGS.
Interpret - WAGS.
Move - WAGS.
MoveNode - WAGS.
Rebase - WAGS.
Rendered - WAGS.
Run - WAGS.
Universe. AudioUnit - WAGS.
Universe. Bin - WAGS.
Universe. BinN - WAGS.
Universe. EdgeProfile - WAGS.
Universe. Graph - WAGS.
Universe. Node - WAGS.
Universe. Skolems - WAGS.
Universe. Universe - WAGS.
Util - WAGS.
Validation