24 lines
860 B
Scala
24 lines
860 B
Scala
|
package tf.bug.fancade
|
|||
|
|
|||
|
object Main {
|
|||
|
|
|||
|
def main(args: Array[String]): Unit = {
|
|||
|
import Fanscript._
|
|||
|
import tf.bug.shinji.syntax.all._
|
|||
|
val sum: (Number × Number × Pull × Number × Pull) → (Pull × Number × Number × Pull) = {
|
|||
|
val getSum: T → Number = Builtin.GetNumber("Sum")
|
|||
|
val addToSum: (Number × Pull) → Pull = {
|
|||
|
val add: (Number × Number) → Number = Builtin.AddNumbers
|
|||
|
val sumAsFirstInput: (T × Number) → (Number × Number) = getSum.first[Number]
|
|||
|
val branch: Number → (T × Number) = deunitL
|
|||
|
val justSecondInput: Number → (Number × Number) = branch >>> sumAsFirstInput
|
|||
|
val addSum: Number → Number = add.ldimap(justSecondInput)
|
|||
|
val storeSum: (Number × Pull) → Pull = Builtin.SetNumber("Sum")
|
|||
|
storeSum.ldimap(arr.lbimap(addSum))
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|