Skip to content
EricGebhart edited this page Jun 9, 2021 · 1 revision

Why ?

Why Not?

Well, at this point it's kind of fun. It's been really interesting to see how it evolves. And why is it evolving? Well, because it's fun.

And it's a nice way to make a new tool, that has all the power of Python behind it.

And the next time I need something, and I can make a cool thing in a small amount of time, using this fun thing to make it, that's a win.

So far, I like it's simplicity, but can't help but wonder if that's a red herring in a way. If I took the appstate piece and core and combined it with plysp that would be super powerful, but then perhaps daunting to someone that would be comfortable with the way PBR or SPR work in their, non-lispless way.

It's been eating it's self lately, I find that super exciting. I think I have successfully avoided having variables per se. Adding partials felt like pandora's box. And now a with stack, result stacks, and smarter dynamic binding, it's getting interesting.

So still no variables, added them, took them out, don't miss them.

The appstate feels like a configuration and data tree maker / navigator. It feels like this is the real innovation here. The repl is super primitive, and I like that. It keeps the complexity in the python.

It makes it easy to create, manipulate configuration and runtime data, It enables the repl to ask for bindings and gives it a place to push results. In a lisp, appstate wouldn't exist. it would be the environment stack. Instead we have a tree and you can shine the light on any part of it by pushing it on the 'with' stack. Yaml, set, etc will then operate as if you are located at that path location in the data tree.

Even if I were to plug in a lisp interpreter, the appstate is still super useful and interesting. I am really curious how far it will go if I stay away from that and only create higher order functions.

I've written other languages, my tagset language for SAS, and a couple of lisps among other things. This wasn't really intentional, and it comes with a strong desire to keep it from becoming a real turing complete language. But it seems to be happening anyway.

I like the idea of keeping it syntaxless. I think that is a nice limitation that keeps it from changing too quickly. I have to be really thoughtful about the naming and doing of things. but I also want to try plugging in a different repl.

What will happen? I don't know ! I suppose that's why it's fun. It is already doing a great job at making handy self documenting scripts quickly.

So it's useful and it's fun. I want to smash it together with plysp and see what happens. But I'm also curious about where the SPR ouroboros will stop. And what it might become.

Clone this wiki locally