sellout / Kilns

An experimental programming language based on the kell calculus.
MIT License
17 stars 2 forks source link

duplicate message-pattern matches same message #13

Closed sellout closed 14 years ago

sellout commented 14 years ago

In the program

{nope}
{nope}
(trigger (par {nope} {nope}) {yep})

Both {nope} patterns in the trigger end up matching on the same process. This means the trigger is triggered, but only one {nope} is removed afterward. Thankfully, it results in an error when it tries to re-remove the same process for the second match:

Error: The (message) process {nope} is not contained in (par {yep} {nope}), and thus can not be removed.

This can also occur when there aren't enough matches for the trigger to successfully match

{nope}
(trigger (par {nope} {nope}) {yep})

Error: The (message) process {nope} is not contained in {yep}, and thus can not be removed.
sellout commented 14 years ago

Fixed in cf5238acb1d06eb9d107283b0e8d6cf3ee068801.