spy16 / sabre

Sabre is highly customisable, embeddable LISP engine for Go. :computer:
GNU General Public License v3.0
28 stars 5 forks source link

Migrate parens standard library to sabre #3

Closed lthibault closed 4 years ago

lthibault commented 4 years ago

Are there any plans to migrate parens' standard library to sabre? I see that some of the basic symbols are bound in the core package, but it's still missing a number of basics e.g. +.

Is this something sabre should provide?

spy16 commented 4 years ago

Many of the basic things need to be migrated and many need to be built. (cond, printX variants, more generalized versions of comparison functions and basic math operations)

But i am thinking it should not be direct copy of whatever's there in parens. For example, instead of adding threading macros directly, i want to build basic building blocks (macro system + ways to manipulate list) so that threading macro can be built via lisp code. (And have a bunch of lisp files also with definitions of such functions and macros as a bonus. but the intention of Sabre is not becoming a new language, so adding a lot of things wouldn't be such a good idea.)

lthibault commented 4 years ago

That makes perfect sense. +1 for small pieces that are easy to assemble as a language implementor.

spy16 commented 4 years ago

Closing this as most of this is addressed in Slang