aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/base.moon1
-rw-r--r--core/value.moon4
2 files changed, 3 insertions, 2 deletions
diff --git a/core/base.moon b/core/base.moon
index 6af4913..cf3d146 100644
--- a/core/base.moon
+++ b/core/base.moon
@@ -44,6 +44,7 @@ class EventInput extends Input
--
-- lifts streams of IO objects to events
class IOInput extends Input
+ impure: true
dirty: => @stream\unwrap!\dirty!
class IO
diff --git a/core/value.moon b/core/value.moon
index 0e72486..d4a0de3 100644
--- a/core/value.moon
+++ b/core/value.moon
@@ -36,8 +36,8 @@ class Result
if @op
for input in @op\all_inputs!
- continue if is_child[input.stream]
- @side_inputs[input.stream] = true
+ if input.impure or not is_child[input.stream]
+ @side_inputs[input] = true
is_const: => not next @side_inputs