Open
Description
In the Explicit-Control variant of Source 4, the program fails to terminate properly after executing a "play" function in the sound module. This malfunction presents as a lack of output and results in a website crash, specifically due to an "out of memory" error.
To reproduce:
import {play, make_sound} from "sound"; play(make_sound(x => math_sin(440 * 2 * x * math_PI), 2));
Possible reason:
It appears that the ECE interpreter is prematurely concluding its evaluation process, while the sound processing is not fully complete.
Possible solution:
Implement an asynchronous operation for the interpreter.