diff options
Diffstat (limited to 'starts/meaning-vm/habit-starts/rhythm.cpp')
-rw-r--r-- | starts/meaning-vm/habit-starts/rhythm.cpp | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/starts/meaning-vm/habit-starts/rhythm.cpp b/starts/meaning-vm/habit-starts/rhythm.cpp deleted file mode 100644 index 01a42d9..0000000 --- a/starts/meaning-vm/habit-starts/rhythm.cpp +++ /dev/null @@ -1,126 +0,0 @@ -// this produces a rhythm for the idea of other cognitive processes learning -// to dance together (timed behavior composed of habits that take time) - -// Ideally, a human would run the rhythm. - -#include "../level-1/level-1.hpp" -#include "../level-2/level-2.hpp" - -#include <iostream> - -using namespace intellect::level2; - -int main() -{ - - // do something, wait a constant (secret) time, and do it again. - int micros = 400000 + double(rand()) / RAND_MAX * 400000; - - // the time things take is usually not known in advance, especially - // for events one is still learning about. - // hence this time is kept secret, as this pattern is about learning - // to work with the timing of other processes. - - // six habits: next-habit, start-habit, keep-doing, output beat, wait, and start-beat - // not sure if one is redundant in there somewhere - - decls(active, habit, step); - decls(beat, wait, next, keep, doing); - decls(context, start); - - // structure habit - // next -> habit that follows - -#undef self - ahabit(next-habit, (), - { - ref n = ctx[active-habit].get(next); - ctx.set(active-habit, n); - return n(); - }); - ahabit(start-habit, ((start,s)), - { - ctx.set(active-habit, s); - return s(); - }); - ahabit(keep-doing-habit, ((start,s)), - { - (start-habit)(s); - - while (true) { - (next-habit)(); - } - }); - - ahabit(start-beat, ((wait-habit, w, wait-habit), (beat-habit, b, beat-habit)), - { - ctx.vset(beat, int(0)); - self.set(next, w); - (b).set(next, w); - (w).set(next, b); - }); - ahabit(beat-habit, (), - { - int & b = ctx.vget<int>(beat); - char const * beats[] = { - "A one!", - "and a two", - "and a three!", - "and a four, love" - }; - std::cout << beats[b] << std::endl; - b = (b + 1) % (sizeof(beats) / sizeof(*beats)); - }); -#if 0 - char const * beats[] = { -// child <- spawns beauty, creativity, humanity, heart -// wisdom, sacredness, ancestors <- spawns slowness, learning, respect, memory -// silence, pause between <- spawns learning and discovery, subtle emotion, -// and contains metalesson of how to learn the timing -// if your own habits take time -// self-reference <- connects above with active behavior - -/* - "This song is sacred, this song is wild." - "This song is happy with glee." - "This song is ancient, this song is new." - "And you, now, are free." -*/ -/* - "Our ancestors' childhood laughter,", - "Teaches in the silence between.", - "We exist in what is sacred,", - "and this song is another part."//, - // "Fuck yeah!" -*/ - -// we are ignoring how "fuck yeah" is ignored in karl's life. -// he doesn't ever say that. now he finally says it, only surrounded by slow -// stillness. it is important to excitedly connect. this is how stillness is -// made. all the water molecules in a slow caring wave, are excitedly bashing -// against each other to repeatedly figure out how to move, so fast, so constant. -// when we have crucial information we need it -// when we find wonderful information we lunge for it - // we are working with a computer. - // computers already have a harsh rhythm that goes like a hummingbird's - // wings and never stops. - // they need to slow down. -// it ounds like it is true for the cmputer too -// like the molecules of water, its parts buzz, constantly. but we can have it -// still behave slow and caring. this buzzing seems important, and we will -// likely need to be able to buzz too, on a larger scale. -// we are workin with a rhythm learning pattern here -// it cannot buzz, it would err -// it cannot wait forever, it would never join the dance -// the key is not the silence but the start and end -// it would be good to get 'fuck yeah!' from somebody who actually -// says that. - } -#endif - ahabit(wait-habit, (), - { - sugar::usleep(micros); - }); - - (keep-doing-habit)(start-beat); -} |