Airbender

  • 4 Replies
  • 540 Views
*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 737
    • Thinkbots are free
Airbender
« on: August 29, 2018, 10:53:25 pm »
Airbender is my new project. You're friendly invited here:
https://github.com/ThinkbotsAreFree/Airbender

:)

Doc is coming, but main.js is already here!
Thinkbots are free, as in 'free will'.
Check out Hashbag

*

WriterOfMinds

  • Trusty Member
  • ****
  • Electric Dreamer
  • *
  • 144
    • WriterOfMinds Blog
Re: Airbender
« Reply #1 on: September 05, 2018, 05:30:41 am »
What is it/does it do?

*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 737
    • Thinkbots are free
Re: Airbender
« Reply #2 on: September 07, 2018, 09:25:27 am »
:)

It's a stack based language in a distraction-free environment. While turing-complete, I wouldn't call it a "useful tool". It's rather a blank space I can sit in front of, not moving for a while, before starting writing a piece of program, all in one continuous stream...

There's a simple editor, and a terminal below it. The button in the middle executes what's in the editor.

The data stack is called Yin, and the program stack is called Yang. The vocabulary is called "ten-thousand".

Here is a taste, the factorial function definition.
Code: [Select]
'$(n)(-1 1 n range '* 1 n - repeat) 'factorial bend
Initially, words eval to themselves: "factorial" evals to "factorial". The bend function modifies what a word evals to.

The $()() form is a template rewriter. It pops n from the stack and replace it with -1 1 n range '* 1 n - repeat.

The first part, -1 1 n range, puts numbers from n to 1 (with step -1) onto the stack.

The second part, '* 1 n - repeat, repeats (n-1) times the * operator in the program stack.

You would write this code in the editor, then click the Airbender button. Then you'd use it by typing in the terminal:
Code: [Select]
5 factorial print
The implementation is pretty simple. Good thing is it gave me an idea for a new execution model, somewhere between chatbot and stack based programming language. I'll make another thread for this new idea.
« Last Edit: September 07, 2018, 09:45:37 am by Zero »
Thinkbots are free, as in 'free will'.
Check out Hashbag

*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 737
    • Thinkbots are free
Re: Airbender
« Reply #3 on: September 20, 2018, 02:24:06 pm »
So, there has been work done here. Airbender is bigger! Doc is still minimal, there's only a vocabulary reference list. I'll explain various techniques and concepts more in depth soon.
Home: https://github.com/ThinkbotsAreFree/Airbender
Interpreter: https://thinkbotsarefree.github.io/Airbender/
Reference: https://github.com/ThinkbotsAreFree/Airbender/wiki/Builtin-vocabulary
Thinkbots are free, as in 'free will'.
Check out Hashbag

*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 737
    • Thinkbots are free
Re: Airbender
« Reply #4 on: September 21, 2018, 11:01:16 am »
I added a bit more doc. If it's unclear please let me know!  :)
Thinkbots are free, as in 'free will'.
Check out Hashbag