Nanolang

  • 1 Replies
  • 196 Views
*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 732
    • Thinkbots are free
Nanolang
« on: October 08, 2018, 10:34:52 am »
No no, it isn't lisp, really. But it uses parentheses.

Any decent programmer could survive with just assignment, loops, and conditionals, would you agree?

This is a symbol:
a

This is a list:
(a b c)

This is a quoted symbol:
'a

Quoted symbols don't evaluate, as usual.

Lists starting with a defined symbol execute this symbol:
(+ 1 2 3 4)

This is a sum, which evaluates to 10.

Here is the fun part.

Assignment
Lists starting with a quoted symbol assign their cdr to the symbol:
('toys ("a ball" "a cowboy" "a doll"))

Conditional
Lists starting with a boolean evaluate their cdr if the boolean is true:
((< age 80) print "Forever young!!!")

Loop
Lists starting with a 2 elements list evaluate to a for-each loop:
((toys t) print (& "I have " t))

Zip.
Thinkbots are free, as in 'free will'.

*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 732
    • Thinkbots are free
Re: Nanolang
« Reply #1 on: October 09, 2018, 08:26:12 am »
There was a mistake in the loop form (the iterator t should be a symbol 't) + I went a little further.

Next step was obvious, what's a language without function? Ok, we can't live without them, but they rock.

Assignment
Lists starting with a quoted symbol assign their cdr to the symbol:
('toys ("a ball" "a cowboy" "a doll"))

Conditional
Lists starting with a boolean evaluate their cdr if the boolean is true:
((< age 80) print "Forever young!!!")

Loop
Lists starting with a 2 elements list evaluate to a for-each loop:
((toys 't) print (& "I have " t))

Lambda
Lists starting with a quoted list of symbols evaluate to a lambda:
('(x y) sqrt (+ (sqr x) (sqr y)))

Unlike Lisp, a function body made of several expressions returns the first available value, instead of the last. This is because IFs have no ELSEs (if the THEN part is executed, the function returns its value, else it continues evaluation of its body until it has something to return).
Thinkbots are free, as in 'free will'.

 


redoing my site
by ruebot (General Project Discussion)
Today at 02:25:34 am
How about VR, AR, MR? What?
by Art (Virtual Reality)
Today at 01:36:46 am
ChatbotML on Twitch
by 8pla.net (Home Made Robots)
October 21, 2018, 07:28:02 pm
Hello there !
by Freddy (New Users Please Post Here)
October 21, 2018, 03:55:35 pm
Cats are evolving...
by DemonRaven (General Chat)
October 21, 2018, 08:27:03 am
With great power, comes great laziness.
by DemonRaven (General AI Discussion)
October 21, 2018, 07:59:01 am
ETHICS
by DemonRaven (General AI Discussion)
October 21, 2018, 07:47:43 am
A most unique coin
by korrelan (General Chat)
October 20, 2018, 06:12:06 pm

Users Online

78 Guests, 0 Users

Most Online Today: 115. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles