aboutsummaryrefslogtreecommitdiffstats
path: root/alv-lib
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2022-01-27 14:14:37 +0000
committers-ol <s+removethis@s-ol.nu>2025-03-02 14:24:49 +0000
commitec81cfeeb4797b30da03a631784e7adc86b86a95 (patch)
treef619e2d6444242121af48f044f004f6a09e1848d /alv-lib
parenttest logic module (diff)
downloadalive-ec81cfeeb4797b30da03a631784e7adc86b86a95.tar.gz
alive-ec81cfeeb4797b30da03a631784e7adc86b86a95.zip
use base.match.any consistently
Diffstat (limited to 'alv-lib')
-rw-r--r--alv-lib/array-.moon19
-rw-r--r--alv-lib/osc.moon6
-rw-r--r--alv-lib/rhythm.moon6
-rw-r--r--alv-lib/string.moon6
-rw-r--r--alv-lib/struct-.moon11
-rw-r--r--alv-lib/time.moon6
-rw-r--r--alv-lib/vis.moon6
7 files changed, 28 insertions, 32 deletions
diff --git a/alv-lib/array-.moon b/alv-lib/array-.moon
index aeb6820..68557cd 100644
--- a/alv-lib/array-.moon
+++ b/alv-lib/array-.moon
@@ -1,10 +1,9 @@
-import Array, Op, PureOp, Builtin, Constant, Error, const, sig, evt, T from require 'alv.base'
+import Array, Op, PureOp, Builtin, Constant, Error, const, any, T from require 'alv.base'
import Cell from require 'alv.cell'
import Tag from require 'alv.tag'
builtins = require 'alv.builtins'
unpack or= table.unpack
-any = sig! / evt!
get = Constant.meta
meta:
@@ -16,7 +15,7 @@ get = Constant.meta
`i` has to be a constant expression."
value: class extends PureOp
- pattern: any + const.num
+ pattern: any! + const.num
type: (inputs) =>
{ array, i } = inputs
array\type!\get i.result!
@@ -36,7 +35,7 @@ set = Constant.meta
`array` and `val` may be a !-stream."
value: class extends PureOp
- pattern: any + const.num + any
+ pattern: any! + const.num + any!
type: (inputs) =>
{ array, i, val } = inputs
type = array\type!
@@ -64,7 +63,7 @@ head = Constant.meta
examples: { '(head array)' }
value: class extends PureOp
- pattern: any*1
+ pattern: any!*1
type: (inputs) =>
type = inputs[1]\type!
@@ -84,7 +83,7 @@ tail = Constant.meta
examples: { '(tail array)' }
value: class extends PureOp
- pattern: any*1
+ pattern: any!*1
type: (inputs) =>
type = inputs[1]\type!
@@ -107,7 +106,7 @@ prepend = Constant.meta
This is a pure op, so at most one of `array` and `val` may be a !-stream."
value: class extends PureOp
- pattern: any + any
+ pattern: any! + any!
type: (inputs) =>
{ array, val } = inputs
type = array\type!
@@ -139,7 +138,7 @@ necessary.
`array` and `val` may be a !-stream."
value: class extends PureOp
- pattern: any + const.num + any
+ pattern: any! + const.num + any!
type: (inputs) =>
{ array, i, val } = inputs
type = array\type!
@@ -172,7 +171,7 @@ remove = Constant.meta
`i` has to be a constant expression."
value: class extends PureOp
- pattern: any + const.num
+ pattern: any! + const.num
type: (inputs) =>
{ array, i } = inputs
type = array\type!
@@ -213,7 +212,7 @@ concat = Constant.meta
examples: { '(concat arr1 arr2 [arr3…])' }
value: class extends PureOp
- pattern: any\rep 2
+ pattern: any!\rep 2
type: (inputs) =>
size = 0
type = inputs[1]\type!.type
diff --git a/alv-lib/osc.moon b/alv-lib/osc.moon
index cf802b7..a75c22f 100644
--- a/alv-lib/osc.moon
+++ b/alv-lib/osc.moon
@@ -1,4 +1,4 @@
-import Op, PureOp, Constant, SigStream, Input, T, sig, evt from require 'alv.base'
+import Op, PureOp, Constant, SigStream, Input, T, sig, any from require 'alv.base'
import new_message, add_item from require 'alv-lib._osc'
import dns, udp from require 'socket'
@@ -47,9 +47,9 @@ send = Constant.meta
This is a pure op, so between the values at most one !-stream input is allowed."
value: class extends PureOp
- pattern: (evt! / sig!)^0
+ pattern: any!^0
- full_pattern = -sig['udp/socket'] + sig.str + (evt! / sig!)^0
+ full_pattern = -sig['udp/socket'] + sig.str + any!^0
setup: (inputs, scope) =>
{ socket, path, values } = full_pattern\match inputs
super values, scope, {
diff --git a/alv-lib/rhythm.moon b/alv-lib/rhythm.moon
index 582483f..2b92fdc 100644
--- a/alv-lib/rhythm.moon
+++ b/alv-lib/rhythm.moon
@@ -1,4 +1,4 @@
-import Constant, Op, Input, T, sig, evt from require 'alv.base'
+import Constant, Op, Input, T, sig, evt, any from require 'alv.base'
-- slower reference implementation
bjorklund = (n, k) ->
@@ -46,7 +46,7 @@ When fed a bang! trigger, steps forward to the next step on each trigger.
When fed a num~ or num! stream, outputs a bang if the corresponding step is on."
value: class extends Op
- pattern = (evt.bang / sig.num / evt.num) + sig.num + sig.num
+ pattern = (evt.bang / any.num) + sig.num + sig.num
setup: (inputs) =>
{ trig, n, k } = pattern\match inputs
@@ -91,7 +91,7 @@ When fed a bang! trigger, steps forward to the next step on each trigger.
When fed a num~ or num! stream, outputs a bang if the corresponding step is on."
value: class extends Op
- pattern = (evt.bang / sig.num / evt.num) + sig.bool*0
+ pattern = (evt.bang / any.num) + sig.bool*0
setup: (inputs) =>
{ trig, steps } = pattern\match inputs
diff --git a/alv-lib/string.moon b/alv-lib/string.moon
index c43dd6a..7508e8d 100644
--- a/alv-lib/string.moon
+++ b/alv-lib/string.moon
@@ -1,6 +1,4 @@
-import PureOp, Constant, Input, T, sig, evt from require 'alv.base'
-
-any = sig! / evt!
+import PureOp, Constant, Input, T, any from require 'alv.base'
str = Constant.meta
meta:
@@ -8,7 +6,7 @@ str = Constant.meta
summary: "Concatenate/stringify values."
examples: { '(.. v1 [v2…])', '(str v1 [v2…])' }
value: class extends PureOp
- pattern: any\rep 1, nil
+ pattern: any!\rep 1, nil
type: T.str
tick: => @out\set table.concat [tostring i! for i in *@inputs]
diff --git a/alv-lib/struct-.moon b/alv-lib/struct-.moon
index 94bd82f..b064e81 100644
--- a/alv-lib/struct-.moon
+++ b/alv-lib/struct-.moon
@@ -1,6 +1,5 @@
-import Struct, Op, PureOp, Constant, Error, const, sig, evt from require 'alv.base'
+import Struct, Op, PureOp, Constant, Error, const, any from require 'alv.base'
-any = sig! / evt!
key_type = const.str / const.sym
get = Constant.meta
@@ -13,7 +12,7 @@ get = Constant.meta
`key` has to be a constant expression."
value: class extends PureOp
- pattern: any + key_type
+ pattern: any! + key_type
type: (inputs) =>
{ struct, key } = inputs
struct\type!\get key.result!
@@ -33,7 +32,7 @@ set = Constant.meta
`struct` and `val` may be a !-stream."
value: class extends PureOp
- pattern: any + key_type + any
+ pattern: any! + key_type + any!
type: (inputs) =>
{ struct, key, val } = inputs
type = struct\type!
@@ -65,7 +64,7 @@ insert = Constant.meta
`struct` and `val` may be a !-stream."
value: class extends PureOp
- pattern: any + key_type + any
+ pattern: any! + key_type + any!
type: (inputs) =>
{ struct, key, val } = inputs
type = struct\type!
@@ -98,7 +97,7 @@ remove = Constant.meta
`key` has to be a constant expression."
value: class extends PureOp
- pattern: any + key_type
+ pattern: any! + key_type
type: (inputs) =>
{ struct, key } = inputs
type = struct\type!
diff --git a/alv-lib/time.moon b/alv-lib/time.moon
index a39849a..6852f9e 100644
--- a/alv-lib/time.moon
+++ b/alv-lib/time.moon
@@ -1,4 +1,4 @@
-import Constant, Error, Op, Input, T, sig, evt from require 'alv.base'
+import Constant, Error, Op, Input, T, sig, evt, any from require 'alv.base'
import RTNode from require 'alv'
import monotime from require 'system'
@@ -348,7 +348,7 @@ Creates smooth transitions when `value` changes.
super ...
@out = T.num\mk_sig!
- pattern = -evt.clock + sig.num + (sig.num / evt.num)
+ pattern = -evt.clock + sig.num + any.num
setup: (inputs, scope) =>
{ clock, rate, value } = pattern\match inputs
@@ -384,7 +384,7 @@ Delays incoming `evt`s by `delay`.
super ...
@state = {}
- pattern = -evt.clock + (sig.num / evt.num) + (sig! / evt!)
+ pattern = -evt.clock + any.num + any!
setup: (inputs, scope) =>
{ clock, delay, evt } = pattern\match inputs
diff --git a/alv-lib/vis.moon b/alv-lib/vis.moon
index 9429ef2..941f9e4 100644
--- a/alv-lib/vis.moon
+++ b/alv-lib/vis.moon
@@ -1,4 +1,4 @@
-import Constant, Op, T, Array, Input, sig, evt from require 'alv.base'
+import Constant, Op, T, Array, Input, sig, any from require 'alv.base'
bar = Constant.meta
meta:
@@ -11,7 +11,7 @@ Visualizes `val` as a bar with range `min, max`.
`min` defaults to `0` and `max` defaults to `1`."
value: class extends Op
- pattern = (sig.num / evt.num) + -sig.num + -sig.num
+ pattern = any.num + -sig.num + -sig.num
setup: (inputs, scope) =>
{ val, min, max } = pattern\match inputs
if not max
@@ -52,7 +52,7 @@ Visualizes `val` as an RGB(A) color with each component in range `0 - range`.
value: class extends Op
a3 = (Array 3, T.num)
a4 = (Array 4, T.num)
- color = (sig a3) / (sig a4) / (evt a3) / (evt a4)
+ color = (any a3) / (any a4)
pattern = color + -sig.num
setup: (inputs, scope) =>
{ val, max } = pattern\match inputs