Since the point of s-expression syntax/homoiconicity is macros, I'm surprised to not see any mention of them in the feature list linked here. Does BLisp support macros? If so, what kind?<p>Also, is there an example of the type inference working?
I always feel that for lisp-like languages it's just not a good idea to make them statically typed. Their power is derived from macros and the fact that code is data and the other way around.<p>For statically typed languages, they only feel ergonomic to me if they have highly specialized syntax and if they really leverage the type-system (which is often in conflict with macros and runtime flexibility).
I'm an author of BLisp.
Thank you for your interest and discussion.<p>I'm now designing macros, but I cannot spend sufficient time to do.
Anyway, macros will be implemented in the near future.<p>This language is being implemented for bare-metal or no_std environments in Rust. This is often called shell. I don't want to control OSes or devices by YAML or unsafe scripting languages.
Finally. I hope to get some time to see whether there are persistent data structures and how errors are reported and how dynamic the runtime is (in order to pass/evaluate s-expressions on runtime). My understanding is that it compiles directly to rust, so some compilation to web assembly, and almost direct C interop should be possible, right?
I wasn't fully able to tell if this was interpreted or compiled?<p>In any case, it looks neat, I think the intersection of static types and Lisps is a space that needs more experimentation with, so I'm happy to see that.<p>I hope eventually it gains more effects as well, with only Pure and IO, you can't do much of the cool things that effect systems bring.