diff options
author | olpc user <olpc@xo-5d-f7-86.localdomain> | 2019-12-13 10:52:53 -0800 |
---|---|---|
committer | olpc user <olpc@xo-5d-f7-86.localdomain> | 2019-12-13 10:52:53 -0800 |
commit | 3d4f57e3ba54ec4d63c1c94f35fd642b90cf1f29 (patch) | |
tree | ab04d595d9812bac399c00695a4b043d81a748a9 /starts/meaning-vm/habit-starts/learning-parts.cpp | |
parent | e06acc0c9f4cad0ea5c24b1fbb107bea0b3466d2 (diff) | |
download | standingwithresilience-3d4f57e3ba54ec4d63c1c94f35fd642b90cf1f29.tar.gz standingwithresilience-3d4f57e3ba54ec4d63c1c94f35fd642b90cf1f29.zip |
stubbed out trigger habits
Diffstat (limited to 'starts/meaning-vm/habit-starts/learning-parts.cpp')
-rw-r--r-- | starts/meaning-vm/habit-starts/learning-parts.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/starts/meaning-vm/habit-starts/learning-parts.cpp b/starts/meaning-vm/habit-starts/learning-parts.cpp index eebd054..92afc7d 100644 --- a/starts/meaning-vm/habit-starts/learning-parts.cpp +++ b/starts/meaning-vm/habit-starts/learning-parts.cpp @@ -8,11 +8,33 @@ static int __init = ([]()->int{ ahabit(happened-habit, { ref ev = ctx.get(happens); - // TODO: perform each associated event + // TODO: perform each event associated with ctx[happens] (see line above) + + // use a sub-habit for each call, so we can handle happened for them, too. }); ahabit(whenever-habit, { + // store ctx[action] on ctx[happens] as behavior to do + // store ctx[action-context] as context for behavior + // PROPOSE: automatically place [happened] inside [action-context] as a stub + // for call event objects, and then place [context] inside [happened]. + // PROPOSE: report error if [action-context] contains [happened] + // as a stub for error patterns, it would be pretty nice to throw + // a unique concept ref for each error type. plan to add to level-0. + }); + + ahabit(stop-when-habit, + { + // remove doing ctx[action] for ctx[happens] + }); + + ahabit(once-habit, + { + // takes ctx[action] and ctx[happens] and ctx[action-context] + // uses above habits to do the action only once, probably by using + // a trigger on the habit-happening habit to check if a label is set, + // and remove the habit if it is. }); return 0; |