3 ms·
it's nice, and i don't want to be that guy, but surely this screams out to be implemented in lisp unless the type system (not mentioned here) is important (and
by andrewcooke 14y ago
it's nice, and i don't want to be that guy, but surely this screams out to be implemented in lisp unless the type system (not mentioned here) is important (and i'm not a lisp hacker!). or maybe they have separate teams developing and using the language and purposefully want to expose a limited interface to the users?
in short: why a new language rather than extending a language that loves to be extended?
maybe they want to exclude mutable state totally? even then, wouldn't it be easier to hide the relevant special forms?
- lbrandy 14y agoHi. Author here. > and i don't want to be that guy, Nah. Be that guy. They are all valid questions. > unless the type system (not mentioned here) I had bits in about the type system but it got cut cause, well, it was too long. It has static types, (not many, the basic types required to parse json) plus first order functions. There are no user defined types beyond ad-hoc via maps/vectors. And it has "strong" typing and does type inference. > but surely this screams out to be implemented in lisp One of the reasons this developed into its own language is historical. It started off very, very simple and slowly evolved into a domain-specific language. But there are a set of design requirements that complicate the situation: 1) easy to deploy changes and patch running instances (response time is critical), 2) embedding in a service, interoperatibility with the service, and so on. > want to expose a limited interface to the users? Yes, indeed. Part of the goal is to make the language as simple as possible for analysts to use. Obviously you need to be technical to some degree to write in a functional language, but we were trying to make it a business-logic layer on top of the infra.