Nanolang

  • 1 Replies
  • 421 Views
*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 737
    • 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'.
Check out Hashbag

*

Zero

  • Trusty Member
  • ********
  • Replicant
  • *
  • 737
    • 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'.
Check out Hashbag

 


Help Mr. Wiginnie recognize these pictures!
by Hopefully Something (General AI Discussion)
December 15, 2018, 07:00:08 pm
SIDIS
by joebecker (General Project Discussion)
December 15, 2018, 05:11:18 pm
XKCD Comic : arXiv
by Tyler (XKCD Comic)
December 15, 2018, 12:00:57 pm
Anyone wants to learn logic?
by LOCKSUIT (General AI Discussion)
December 15, 2018, 07:02:09 am
Borsuk
by pawel.biernacki (AI Programming)
December 15, 2018, 12:00:18 am
OH DEAR HEAVENS, AND I GOT TO IT FIRST WOHO!
by LOCKSUIT (General AI Discussion)
December 14, 2018, 08:11:29 pm
ChatbotML on Twitch
by 8pla.net (Home Made Robots)
December 14, 2018, 06:04:32 am
XKCD Comic : FDR
by Tyler (XKCD Comic)
December 13, 2018, 12:00:08 pm

Users Online

65 Guests, 1 User
Users active in past 15 minutes:
spydaz
[Trusty Member]

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

Articles