Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Motivation, minimalism, live AST #3

Open
dumblob opened this issue Mar 6, 2020 · 4 comments
Open

Motivation, minimalism, live AST #3

dumblob opened this issue Mar 6, 2020 · 4 comments

Comments

@dumblob
Copy link

dumblob commented Mar 6, 2020

Looking at your repositories I feel like someone still understands the meaning of minimalism, KISS and overall the art of programming. Kudos!

I'd like to ask few things as I'm overly curious about your motivation, background etc.

  1. Do you use fe in real projects or do you know about other projects using fe?

  2. What was the motivation to create fe if you already made aria?

  3. (somewhat related to (2)) Have you considered implementing a different programming paradigm than Lisp-like?
    For embedded languages I personally like the "live AST" paradigm (any computation is a manipulation of AST - i.e. homomorphism like in Lisp, but a bit less cluttered 😉) used e.g. in TCL/Rebol/Red/Spry languages (Spry being my favorite).

@rxi
Copy link
Owner

rxi commented Mar 6, 2020

Thanks for the kind words!

  1. I've used fe in a few hobby projects — I think aq (a small framework for making audio toys) is the only public one, otherwise I've used it for config files in a few other things. No one else has used it for anything to my knowledge
  2. The same motivations I had writing aria: for the fun of programming it; trying to make something terse but still practical. Every line of code has a weight to it with consideration that would be unreasonable outside this kind of project: a project that exists just to exist. Each time you write something it becomes — or at least should become — more clear and more concise than the previous time, and if you repeat this, the original version is by comparison an over-engineered bloated mess. fe is a sequel to aria, and as such ended up smaller, simpler and faster
  3. I'd in the past considered writing something closer to TCL than lisp, it might be something I try in the future, though I have no immediate plans to

@dumblob
Copy link
Author

dumblob commented Mar 9, 2020

That's good, that fe found its way to real software!

in the past considered writing something closer to TCL than lisp, it might be something I try in the future, though I have no immediate plans to

Then you might take a look at TCL in 500 lines of C (there's a lot of functionality squeezed in those as the goal wasn't to make a toy but a real full-featured TCL interpreter with decent speed - it's from the author of Redis back when he was writing big books about TCL and generally the art of programming 😉).

For Spry though noone tried to accept the challenge yet to make such a gem...

@jaredkrinke
Copy link

jaredkrinke commented Sep 14, 2020

For a "real" project, it looks like rxi embedded fe in a grid-based game framework:

https://rxi.itch.io/cel7

cel7 is a 60kb framework for making grid-based games limited to 4-bit color ASCII output. The framework is based around the fe programming language.

@avih
Copy link

avih commented Jul 20, 2022

I also quite appreciate the style, approach, minimalism, and code at the various projects by @rxi , so thanks for those.

https://rxi.itch.io/cel7

I wonder whether you could open source cel7? It's quite striking IMHO in the "bang for the buck" department, and I hope to be wrong, but I doubt it has greater value for you as closed source? ;)

(Yes, I am aware of https://github.com/kiedtl/cel7ce )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants