make visible to get-stack-instructions
Some checks are pending
CI / test-clj (push) Waiting to run
CI / test-cljs (push) Waiting to run

This commit is contained in:
Rowan Torbitzky-Lane 2025-03-14 02:33:15 -05:00
parent c8510755e0
commit cd39c62c22

View File

@ -25,7 +25,7 @@
(def _gt_buy (def _gt_buy
"Pushes :buy onto the SIGNAL stack if the first item is greater "Pushes :buy onto the SIGNAL stack if the first item is greater
than the second item, and acts as a no-op otherwise" than the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_buy"} :name "_gt_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :buy nil) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :buy nil) [stack stack] :signal)))
@ -35,7 +35,7 @@
(def _gt_sell (def _gt_sell
"Pushes :sell onto the SIGNAL stack if the first item is greater "Pushes :sell onto the SIGNAL stack if the first item is greater
than the second item, and acts as a no-op otherwise" than the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_sell"} :name "_gt_sell"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :sell nil) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :sell nil) [stack stack] :signal)))
@ -45,7 +45,7 @@
(def _gt_hold (def _gt_hold
"Pushes :hold onto the SIGNAL stack if the first item is greater "Pushes :hold onto the SIGNAL stack if the first item is greater
than the second item, and acts as a no-op otherwise" than the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_hold"} :name "_gt_hold"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :hold nil) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :hold nil) [stack stack] :signal)))
@ -55,7 +55,7 @@
(def _gt_buy_sell (def _gt_buy_sell
"Pushes :buy onto the SIGNAL stack if the first item is greater "Pushes :buy onto the SIGNAL stack if the first item is greater
than the second item, pushes :sell onto the SIGNAL stack otherwise" than the second item, pushes :sell onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_buy_sell"} :name "_gt_buy_sell"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :buy :sell) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :buy :sell) [stack stack] :signal)))
@ -65,7 +65,7 @@
(def _gt_buy_hold (def _gt_buy_hold
"Pushes :buy onto the SIGNAL stack if the first item is greater "Pushes :buy onto the SIGNAL stack if the first item is greater
than the second item, pushes :hold onto the SIGNAL stack otherwise" than the second item, pushes :hold onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_buy_hold"} :name "_gt_buy_hold"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :buy :hold) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :buy :hold) [stack stack] :signal)))
@ -75,7 +75,7 @@
(def _gt_sell_buy (def _gt_sell_buy
"Pushes :sell onto the SIGNAL stack if the first item is greater "Pushes :sell onto the SIGNAL stack if the first item is greater
than the second item, pushes :buy onto the SIGNAL stack otherwise" than the second item, pushes :buy onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_sell_buy"} :name "_gt_sell_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :sell :buy) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :sell :buy) [stack stack] :signal)))
@ -85,7 +85,7 @@
(def _gt_sell_hold (def _gt_sell_hold
"Pushes :sell onto the SIGNAL stack if the first item is greater "Pushes :sell onto the SIGNAL stack if the first item is greater
than the second item, pushes :hold onto the SIGNAL stack otherwise" than the second item, pushes :hold onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_sell_buy"} :name "_gt_sell_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :sell :hold) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :sell :hold) [stack stack] :signal)))
@ -95,7 +95,7 @@
(def _gt_hold_buy (def _gt_hold_buy
"Pushes :hold onto the SIGNAL stack if the first item is greater "Pushes :hold onto the SIGNAL stack if the first item is greater
than the second item, pushes :buy onto the SIGNAL stack otherwise" than the second item, pushes :buy onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_hold_buy"} :name "_gt_hold_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :hold :buy) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :hold :buy) [stack stack] :signal)))
@ -105,7 +105,7 @@
(def _gt_hold_sell (def _gt_hold_sell
"Pushes :hold onto the SIGNAL stack if the first item is greater "Pushes :hold onto the SIGNAL stack if the first item is greater
than the second item, pushes :sell onto the SIGNAL stack otherwise" than the second item, pushes :sell onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gt_hold_buy"} :name "_gt_hold_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (> %1 %2) :hold :sell) [stack stack] :signal))) (make-instruction state #(if (> %1 %2) :hold :sell) [stack stack] :signal)))
@ -125,7 +125,7 @@
(def _gte_buy (def _gte_buy
"Pushes :buy onto the SIGNAL stack if the first item is greater "Pushes :buy onto the SIGNAL stack if the first item is greater
than or equal to the second item, and acts as a no-op otherwise" than or equal to the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_buy"} :name "_gte_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :buy nil) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :buy nil) [stack stack] :signal)))
@ -135,7 +135,7 @@
(def _gte_sell (def _gte_sell
"Pushes :sell onto the SIGNAL stack if the first item is greater "Pushes :sell onto the SIGNAL stack if the first item is greater
than or equal to the second item, and acts as a no-op otherwise" than or equal to the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_sell"} :name "_gte_sell"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :sell nil) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :sell nil) [stack stack] :signal)))
@ -145,7 +145,7 @@
(def _gte_hold (def _gte_hold
"Pushes :hold onto the SIGNAL stack if the first item is greater "Pushes :hold onto the SIGNAL stack if the first item is greater
than or equal to the second item, and acts as a no-op otherwise" than or equal to the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_hold"} :name "_gte_hold"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :hold nil) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :hold nil) [stack stack] :signal)))
@ -155,7 +155,7 @@
(def _gte_buy_sell (def _gte_buy_sell
"Pushes :buy onto the SIGNAL stack if the first item is greater "Pushes :buy onto the SIGNAL stack if the first item is greater
than or equal to the second item, pushes :sell onto the SIGNAL stack otherwise" than or equal to the second item, pushes :sell onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_buy_sell"} :name "_gte_buy_sell"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :buy :sell) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :buy :sell) [stack stack] :signal)))
@ -165,7 +165,7 @@
(def _gte_buy_hold (def _gte_buy_hold
"Pushes :buy onto the SIGNAL stack if the first item is greater "Pushes :buy onto the SIGNAL stack if the first item is greater
than or equal to the second item, pushes :hold onto the SIGNAL stack otherwise" than or equal to the second item, pushes :hold onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_buy_hold"} :name "_gte_buy_hold"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :buy :hold) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :buy :hold) [stack stack] :signal)))
@ -175,7 +175,7 @@
(def _gte_sell_buy (def _gte_sell_buy
"Pushes :sell onto the SIGNAL stack if the first item is greater "Pushes :sell onto the SIGNAL stack if the first item is greater
than or equal to the second item, pushes :buy onto the SIGNAL stack otherwise" than or equal to the second item, pushes :buy onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_sell_buy"} :name "_gte_sell_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :sell :buy) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :sell :buy) [stack stack] :signal)))
@ -185,7 +185,7 @@
(def _gte_sell_hold (def _gte_sell_hold
"Pushes :sell onto the SIGNAL stack if the first item is greater "Pushes :sell onto the SIGNAL stack if the first item is greater
than or equal to the second item, pushes :hold onto the SIGNAL stack otherwise" than or equal to the second item, pushes :hold onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_sell_buy"} :name "_gte_sell_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :sell :hold) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :sell :hold) [stack stack] :signal)))
@ -195,7 +195,7 @@
(def _gte_hold_buy (def _gte_hold_buy
"Pushes :hold onto the SIGNAL stack if the first item is greater "Pushes :hold onto the SIGNAL stack if the first item is greater
than or equal to the second item, pushes :buy onto the SIGNAL stack otherwise" than or equal to the second item, pushes :buy onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_hold_buy"} :name "_gte_hold_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :hold :buy) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :hold :buy) [stack stack] :signal)))
@ -205,7 +205,7 @@
(def _gte_hold_sell (def _gte_hold_sell
"Pushes :hold onto the SIGNAL stack if the first item is greater "Pushes :hold onto the SIGNAL stack if the first item is greater
than or equal to the second item, pushes :sell onto the SIGNAL stack otherwise" than or equal to the second item, pushes :sell onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_gte_hold_buy"} :name "_gte_hold_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (>= %1 %2) :hold :sell) [stack stack] :signal))) (make-instruction state #(if (>= %1 %2) :hold :sell) [stack stack] :signal)))
@ -225,7 +225,7 @@
(def _lt_buy (def _lt_buy
"Pushes :buy onto the SIGNAL stack if the first item is less "Pushes :buy onto the SIGNAL stack if the first item is less
than the second item, and acts as a no-op otherwise" than the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_buy"} :name "_lt_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :buy nil) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :buy nil) [stack stack] :signal)))
@ -235,7 +235,7 @@
(def _lt_sell (def _lt_sell
"Pushes :sell onto the SIGNAL stack if the first item is less "Pushes :sell onto the SIGNAL stack if the first item is less
than the second item, and acts as a no-op otherwise" than the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_sell"} :name "_lt_sell"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :sell nil) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :sell nil) [stack stack] :signal)))
@ -245,7 +245,7 @@
(def _lt_hold (def _lt_hold
"Pushes :hold onto the SIGNAL stack if the first item is less "Pushes :hold onto the SIGNAL stack if the first item is less
than the second item, and acts as a no-op otherwise" than the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_hold"} :name "_lt_hold"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :hold nil) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :hold nil) [stack stack] :signal)))
@ -255,7 +255,7 @@
(def _lt_buy_sell (def _lt_buy_sell
"Pushes :buy onto the SIGNAL stack if the first item is less "Pushes :buy onto the SIGNAL stack if the first item is less
than the second item, pushes :sell onto the SIGNAL stack otherwise" than the second item, pushes :sell onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_buy_sell"} :name "_lt_buy_sell"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :buy :sell) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :buy :sell) [stack stack] :signal)))
@ -265,7 +265,7 @@
(def _lt_buy_hold (def _lt_buy_hold
"Pushes :buy onto the SIGNAL stack if the first item is less "Pushes :buy onto the SIGNAL stack if the first item is less
than the second item, pushes :hold onto the SIGNAL stack otherwise" than the second item, pushes :hold onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_buy_hold"} :name "_lt_buy_hold"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :buy :hold) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :buy :hold) [stack stack] :signal)))
@ -275,7 +275,7 @@
(def _lt_sell_buy (def _lt_sell_buy
"Pushes :sell onto the SIGNAL stack if the first item is less "Pushes :sell onto the SIGNAL stack if the first item is less
than the second item, pushes :buy onto the SIGNAL stack otherwise" than the second item, pushes :buy onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_sell_buy"} :name "_lt_sell_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :sell :buy) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :sell :buy) [stack stack] :signal)))
@ -285,7 +285,7 @@
(def _lt_sell_hold (def _lt_sell_hold
"Pushes :sell onto the SIGNAL stack if the first item is less "Pushes :sell onto the SIGNAL stack if the first item is less
than the second item, pushes :hold onto the SIGNAL stack otherwise" than the second item, pushes :hold onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_sell_buy"} :name "_lt_sell_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :sell :hold) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :sell :hold) [stack stack] :signal)))
@ -295,7 +295,7 @@
(def _lt_hold_buy (def _lt_hold_buy
"Pushes :hold onto the SIGNAL stack if the first item is less "Pushes :hold onto the SIGNAL stack if the first item is less
than the second item, pushes :buy onto the SIGNAL stack otherwise" than the second item, pushes :buy onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_hold_buy"} :name "_lt_hold_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :hold :buy) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :hold :buy) [stack stack] :signal)))
@ -305,7 +305,7 @@
(def _lt_hold_sell (def _lt_hold_sell
"Pushes :hold onto the SIGNAL stack if the first item is less "Pushes :hold onto the SIGNAL stack if the first item is less
than the second item, pushes :sell onto the SIGNAL stack otherwise" than the second item, pushes :sell onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lt_hold_buy"} :name "_lt_hold_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (< %1 %2) :hold :sell) [stack stack] :signal))) (make-instruction state #(if (< %1 %2) :hold :sell) [stack stack] :signal)))
@ -325,7 +325,7 @@
(def _lte_buy (def _lte_buy
"Pushes :buy onto the SIGNAL stack if the first item is less "Pushes :buy onto the SIGNAL stack if the first item is less
than or equal to the second item, and acts as a no-op otherwise" than or equal to the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_buy"} :name "_lte_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :buy nil) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :buy nil) [stack stack] :signal)))
@ -335,7 +335,7 @@
(def _lte_sell (def _lte_sell
"Pushes :sell onto the SIGNAL stack if the first item is less "Pushes :sell onto the SIGNAL stack if the first item is less
than or equal to the second item, and acts as a no-op otherwise" than or equal to the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_sell"} :name "_lte_sell"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :sell nil) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :sell nil) [stack stack] :signal)))
@ -345,7 +345,7 @@
(def _lte_hold (def _lte_hold
"Pushes :hold onto the SIGNAL stack if the first item is less "Pushes :hold onto the SIGNAL stack if the first item is less
than or equal to the second item, and acts as a no-op otherwise" than or equal to the second item, and acts as a no-op otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_hold"} :name "_lte_hold"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :hold nil) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :hold nil) [stack stack] :signal)))
@ -355,7 +355,7 @@
(def _lte_buy_sell (def _lte_buy_sell
"Pushes :buy onto the SIGNAL stack if the first item is less "Pushes :buy onto the SIGNAL stack if the first item is less
than or equal to the second item, pushes :sell onto the SIGNAL stack otherwise" than or equal to the second item, pushes :sell onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_buy_sell"} :name "_lte_buy_sell"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :buy :sell) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :buy :sell) [stack stack] :signal)))
@ -365,7 +365,7 @@
(def _lte_buy_hold (def _lte_buy_hold
"Pushes :buy onto the SIGNAL stack if the first item is less "Pushes :buy onto the SIGNAL stack if the first item is less
than or equal to the second item, pushes :hold onto the SIGNAL stack otherwise" than or equal to the second item, pushes :hold onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_buy_hold"} :name "_lte_buy_hold"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :buy :hold) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :buy :hold) [stack stack] :signal)))
@ -375,7 +375,7 @@
(def _lte_sell_buy (def _lte_sell_buy
"Pushes :sell onto the SIGNAL stack if the first item is less "Pushes :sell onto the SIGNAL stack if the first item is less
than or equal to the second item, pushes :buy onto the SIGNAL stack otherwise" than or equal to the second item, pushes :buy onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_sell_buy"} :name "_lte_sell_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :sell :buy) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :sell :buy) [stack stack] :signal)))
@ -385,7 +385,7 @@
(def _lte_sell_hold (def _lte_sell_hold
"Pushes :sell onto the SIGNAL stack if the first item is less "Pushes :sell onto the SIGNAL stack if the first item is less
than or equal to the second item, pushes :hold onto the SIGNAL stack otherwise" than or equal to the second item, pushes :hold onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_sell_buy"} :name "_lte_sell_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :sell :hold) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :sell :hold) [stack stack] :signal)))
@ -395,7 +395,7 @@
(def _lte_hold_buy (def _lte_hold_buy
"Pushes :hold onto the SIGNAL stack if the first item is less "Pushes :hold onto the SIGNAL stack if the first item is less
than or equal to the second item, pushes :buy onto the SIGNAL stack otherwise" than or equal to the second item, pushes :buy onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_hold_buy"} :name "_lte_hold_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :hold :buy) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :hold :buy) [stack stack] :signal)))
@ -405,7 +405,7 @@
(def _lte_hold_sell (def _lte_hold_sell
"Pushes :hold onto the SIGNAL stack if the first item is less "Pushes :hold onto the SIGNAL stack if the first item is less
than or equal to the second item, pushes :sell onto the SIGNAL stack otherwise" than or equal to the second item, pushes :sell onto the SIGNAL stack otherwise"
^{:stacks #{:signal} ^{:stacks #{}
:name "_lte_hold_buy"} :name "_lte_hold_buy"}
(fn [stack state] (fn [stack state]
(make-instruction state #(if (<= %1 %2) :hold :sell) [stack stack] :signal))) (make-instruction state #(if (<= %1 %2) :hold :sell) [stack stack] :signal)))