| Fair enough, but the appeal of Lisp to me is that it's a small axiomatic core, something that not only fits in your head, but the whole implementation fits in your head too. I wanted to use it to bootstrap languages, with no dependencies. But it turns out that this axiomatic core is too impoverished for a lot of programming. You DO need something like Common Lisp on top. And I'm not really willing to open that can of worms, both for this specific project, and in general. I would liken it to the language "Factor", which I've also experimented with... you took a specific and elegant paradigm, and tried to extend it to all paradigms, and ended up with a mess. A square peg in a round hole. Factor is basically Forth with OOP and a whole bunch of other stuff. The other problem I pointed out is that the first problem you hit when writing a language is writing a lexer. I don't see anything that Lisp offers you in that respect. I looked at how Julia does it: https://github.com/JuliaLang/julia/blob/master/src/julia-par... Julia is actually bootstrapped in femtolisp. If you look at the lexer, it just looks like C code written with Scheme syntax. There's nothing helpful about this. It doesn't help you manage state. I might as well just write C. (And actually I chose the code generator re2c, which is BETTER than C.) |
Of the axiomatic core. But not of any programming language.
> But it turns out that this axiomatic core is too impoverished for a lot of programming.
It's not even a programming language. It's just an axiomatic core. If you try to use it for programming you must be doing something wrong.
> is writing a lexer. I don't see anything that Lisp offers you in that respect.
Lisp is a language family, not language implementation with a library, which happens to include a lexer library.
If you mean Common Lisp as a programming language with implementations, there are portable lexers.
http://www.cliki.net/LEXER
https://github.com/drewc/smug
https://github.com/lispbuilder/lispbuilder
Writing your own lexer in Lisp shouldn't be too hard. People have written applications in Lisp which includes lexer functionality.