Remix.run Logo
adastra22 3 days ago

Bitcoin’s scripting / smart contracting language is Forth.

Were there anything in the crypto space is actually solving a problem is up to your own biases and prejudices. But if you pick one thing as actually trying to solve a real problem, payments over lightning is probably that. Lightning, at its core, is a state machine composed of Forth spend scripts.

tromp 3 days ago | parent | next [-]

While bitcoin script is a stack language, it doesn't really qualify as Forth as it doesn't allow you to define any new words.

kragen 2 days ago | parent | prev [-]

No, Bitcoin Script is not Forth. Bitcoin Script is designed to guarantee termination, so no Turing-complete programming language was permitted. Like BPF, Bitcoin Script doesn't have subroutine definitions or backward jumps, so each opcode executes at most once.

This is like saying JSON is C++.

adastra22 2 days ago | parent [-]

It's more like saying JSON is Javascript, which it is to a degree.

kragen 2 days ago | parent [-]

I considered that analogy and consciously rejected it.