We're gonna need you to explain these concepts in terms of Behavior Driven Development, maybe I'd understand then ๐๐คฃ
Login to reply
Replies (1)
My only familiarity with BDD is the testing strategy (TDD/BDD, etc.) is that what you mean?
I'm very happy to explain these things to you, but want to make sure we're meeting in the right place.
You can think of a supercombinator as a function with no free variables - no external state or necessary context. Everything you need to get a reproduceable result when running a function with certain arguments is all bundled up in one place with no dependencies. Your mention of a "Semantic Closure" struck me as extremely overlapping with our use of closures and it seemed like a good starting place to see where we might be able to help each other.
At the risk of going too far too soon: The open source system we're building can be thought of as a kind of Turing complete programming environment + Virtual Machine. It's a single, portable binary with no external dependencies necessary on the host system. You run this one binary, and the entire VM/OS is running. All data and code (user data, programs, etc.) is collapsed into a single value - one enormous number (thus it, too, is highly portable. you can turn off a running machine, send the entire "single value" over the network, turn it back on on the other end and it picks up right where it left off - it doesn't even know it turned off.)
Data and functions are content-addressable within the machine no matter where it is, similar to IPFS content addressing. The machine was over here, providing data or a function result at content-addressed-endpoint-X earlier? then you "moved the logical machine to a different physical machine" and turned it back on? your data or function is still available at the same content-addressed-endpoint-X as before.
This is highly valuable for Nostr relays, DVMs, static content hosting, chat backend, you name it. Anything that would benefit from an always-on, always-available "server-like" process that you'd like to be extremely simple, dependency-free, trivial to run by a non-technical person, and durable forever.
I'll stop there because there a billion things I could say here - but the rabbit hole should be dug in the most useful direction for you - not wherever my rambling is taking me...