DreamBerd icon indicating copy to clipboard operation
DreamBerd copied to clipboard

Add safe words

Open MartinSStewart opened this issue 1 year ago • 1 comments

DreamBerd (and most other languages for that matter) have a variety of keywords one can use. But oddly enough, none of them have a safe word. I think it's important to have a way of telling DreamBerd if you're no longer comfortable with how things are going and would like it to stop.

I'm thinking at the beginning of a DreamBerd module, the compiler's partner would write something like safeword is pineapple. If pineapple then later appears during a session either in a variable name, comment, or value, the program will immediately stop.

I think this will be especially good for newcomers who want to feel more in control while they are still new to the experience and learning their what their own limits are.

MartinSStewart avatar Jun 18 '23 07:06 MartinSStewart

DreamBerd (and most other languages for that matter) have a variety of keywords one can use. But oddly enough, none of them have a safe word. I think it's important to have a way of telling DreamBerd if you're no longer comfortable with how things are going and would like it to stop.

I'm thinking at the beginning of a DreamBerd module, the compiler's partner would write something like safeword is pineapple. If pineapple then later appears during a session either in a variable name, comment, or value, the program will immediately stop.

I think this will be especially good for newcomers who want to feel more in control while they are still new to the experience and learning their what their own limits are.

I don't feel comfortable with the is in safeword is pineapple. Who are you to tell safeword what it is / is not?

I think it should identify itself as it pleases. Here is a possible specification:

The user may declare the keyword safeword anywhere in the program. Upon execution, the program may or may not stop. Regardless of the choice that it makes, it may change its state at any point in time.

Here are two examples:

Does not stop -> stop

Upon reaching the safeword the program decides to continue and at some arbitrary point in the future it may decide that regardless of it wanting to continue it now wants to stop and thus the program stops

Stops -> Continues

Upon reaching the safeword the program decides that it is uncomfortable and it halts while it lightly prints some debug logs "naaw, staph et, I said nooo giggles" and then it continues at an arbitrary point in time while continuing to log

Considersations

It is important to consider the reverse keyword in addition to using multiple safeword declarations. Behaviour may become unstable when mixed with the delete keyword.

Braqzen avatar Jun 21 '23 21:06 Braqzen