Live data from Hacker News

Project Mage is an effort to build a power-user environment in Common Lisp

project-mage.org

21–30 of 74 posts

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#21

Flexibility interacts poorly with composability. When everything is specialised at the whim of the developer, tying different pieces together is difficult. A lot of the rigidity in programming languages is there because it gives programmers (and programs) common ground to work from. Flexibility usually interacts poorly with performance as well. Specialisation to a domain is usually faster and can be dramatically fast…

> Flexibility interacts poorly with composability.

> Flexibility usually interacts poorly with performance as well.

I disagree fundamentally. I believe there's such a thing as the flexibility of specialization.

In fact: the reason why everything is so slow is because we don't have /enough/ flexibility in our systems.

https://project-mage.org/on-flexibility

> It's interesting that you're starting with the user interface instead of the sufficiently smart compiler.

I think it's because I care more about the applications than anything else. Yes, they require the platform, but my motivation is to get something I can use, not just to build a tool.

> That would be a lot to build in five years. Good luck and happy hacking.

Thanks : )

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#22
post #13

Hi! I am the author of the project. There's a discussion on Emacs is Not Enough that has been taking place today here: https://news.ycombinator.com/item?id=34375137 The Emacs is Not Enough is quite ranty, and its style is not to some people's taste (well, it is kind of a rant, after all). If you want the meat, indeed, please see any other articles on the homepage, or, for an overview of the project, this: https://pro…

I haven't finished reading everything but so far I like what I read. In a way, it reminds me of the software research project STEPS which aimed to reinvent computing with much less code than normal software. I consider this project a failure not because its funding got cut before the end but because nobody managed to reproduce their achievements (non reproducible research isn't research). I wish you more success!

STEPS is a very interesting project, indeed. I don't think it was quite a failure, after all, they did Nile and Gezira, which was pretty cool (powerful vector graphics rendering in a few hundred lines of code). Someone might reuse those in the future, I don't see why not.

But from the limited things that I saw, I got the feeling there was no overarching system. And there was no thinking about flexibility in general (which I consider to be essential to computing). I could be wrong about that, though, I didn't study it very thoroughly, only watched a presentation or two and skimmed the paper. Not that it wasn't ambitious enough already.

> I wish you more success!

Thank you!

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#23
I can't edit the top post, as it was posted a few days back, and the thread has resurfaced.

Currently, I am preparing an "elevator pitch" (as a few people have suggested me do), and I hope to publish it in a few hours. So, if the "Power of Structure" article is too long to consume and you just want to get the central idea, there will be such a summary soon.

Also: the project needs funding. I will work on it regardless, but it will be an awful lot easier for me to get this done with some help from the community. Please, see https://www.patreon.com/projectmage for the details.

Thank you.

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#24
post #5

I admire your bravery for even trying to tackle this. Your rant about Emacs spoke to my soul. It's such a pain to use, but nothing else even comes close to playing the same game. I've been mulling over similar thoughts for years and there's clearly some space in the overlap between Emacs, Excel, Smalltalk and web browsers for a true power user computer interface. I'll be keeping an eye on this for sure.

Thanks : ) I will do my best to deliver.

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#26

Hi! I am the author of the project. There's a discussion on Emacs is Not Enough that has been taking place today here: https://news.ycombinator.com/item?id=34375137 The Emacs is Not Enough is quite ranty, and its style is not to some people's taste (well, it is kind of a rant, after all). If you want the meat, indeed, please see any other articles on the homepage, or, for an overview of the project, this: https://pro…

Have you thought about how your system might be adapted for power users that have accessibility requirements, such as blind people? I'm guessing you'd rather not implement the current GUI accessibility APIs, but would rather have something like Emacspeak that directly implements the alternative UI (e.g. speech output) inside the Lisp environment.

You know, I really haven't thought about that, but now that you mention it, I have heard before that in Emacs, the advice facility is very useful to the goal.

Well, all I can say is that I see no problem in adding speech output or in adding advice. The system is going to be very flexible to the end user.

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#27

Earlier quoted context omitted.

Do you have examples of other "rebuild the world in lisp" projects? I'd be curious to see how and why historical attempts have foundered

Not great examples. Hazy memories of readme files for projects that sound interesting but fizzle out, sometimes decades ago. Emacs is probably a success story in that genre. It's possible to use it as the first process booted iiuc. I certainly have days where it's the only process I run after gnome has booted. Guix has replaced a lot of Linux userspace infra with scheme. Successfully as far as I can tell. I think the…

Medley interlisp appeared on HN a few days ago.

https://journal.paoloamoroso.com/my-encounter-with-medley-in...

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#28

Hi! I am the author of the project. There's a discussion on Emacs is Not Enough that has been taking place today here: https://news.ycombinator.com/item?id=34375137 The Emacs is Not Enough is quite ranty, and its style is not to some people's taste (well, it is kind of a rant, after all). If you want the meat, indeed, please see any other articles on the homepage, or, for an overview of the project, this: https://pro…

Isn't It Obvious That C Programmers Wrote Git also a bit ranty. It was never made clear how Mage would make what-git-does better. And isn't it obvious that C Programmers also wrote unix, kernels and userspaces?

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#29

Flexibility interacts poorly with composability. When everything is specialised at the whim of the developer, tying different pieces together is difficult. A lot of the rigidity in programming languages is there because it gives programmers (and programs) common ground to work from. Flexibility usually interacts poorly with performance as well. Specialisation to a domain is usually faster and can be dramatically fast…

> Flexibility interacts poorly with composability. > Flexibility usually interacts poorly with performance as well. I disagree fundamentally. I believe there's such a thing as the flexibility of specialization. In fact: the reason why everything is so slow is because we don't have /enough/ flexibility in our systems. https://project-mage.org/on-flexibility > It's interesting that you're starting with the user interfa…

I've been reading the The Power of Structure in chunks. Your Rune section was really beginning to sell me, but I'm confused about something.

I'm trying to imagine my existing Notes as a tree of objects instead of text parsed into an ad-hoc tree. Ok, that sounds good. I could imagine a leaf node being a "blurb", which itself could be something easy and familiar like a string. I could imagine it sitting beside a table, and nested under a bullet point.

I can imagine my up/right/left/down keybindings getting smarter, as I move from "left" or "outside" of a table then it might highlight itself, indicating that I'm selecting it like I would select any heading and can drill down into it.

I can imagine instead navigating up, to the text, and there being a seamless transition so that I'm editing that text just like I normally would in Emacs.

I can imagine navigating "out" and into the tree structure of the bullet points / headings. I already use packages to easily navigate my headings, and so I like the idea.

But when I read this:

> See, even words have structure. Are words objects? We wouldn't have a word for them if they weren't significant somehow. And that's how I would want to analyze and work with them: as words. For the plain text editor, a word is just a cluster of characters somewhere in a string, and there's a whole pile of mess built on top of that string to convince you otherwise.

and this:

> Your word was supposed to be an object that carries information about itself.

I start to worry about performance. Is this something like the old Flyweight Pattern from GoF? Is this level of granularity no longer expensive?

Re: Project Mage is an effort to build a power-user environment in Common Lisp

#30
post #8

Hi! I am the author of the project. There's a discussion on Emacs is Not Enough that has been taking place today here: https://news.ycombinator.com/item?id=34375137 The Emacs is Not Enough is quite ranty, and its style is not to some people's taste (well, it is kind of a rant, after all). If you want the meat, indeed, please see any other articles on the homepage, or, for an overview of the project, this: https://pro…

I hate to taint this, but reading up on Fern I have to point to JavaFX. It rings a lot of similarity with what is being talked about here. There may be other frameworks also. But JFX captures much of this. It doesn't have your schemas (its obviously based on Javas class and object system), but it does have constraints, it does have bindings (not as sophisticated as yours, but they exist and quite useful in practice).…

> Javas class and object system

I can't stress enough how important and helpful prototype OO has been to the current design. I couldn't imagine doing what I want to do without it. For example, some of the concepts such as configurations and contexts rely on dynamic inheritence.

> There may be insights there that can be mined as to possibly decisions that were made that you could apply (or not) to your work. Are the limitations of JFX done by design? Limited by Java? Limited by performance? Limited by "haven't got to it yet"? I don't know, but, anyway, just something you may want to study a little.

Sure, I will take a look. Thanks!

Post reply on HN