Live data from Hacker News

Powerlisp: Common Lisp tool for automating tasks for Unix power-users

github.com

21–30 of 35 posts

Re: Powerlisp: Common Lisp tool for automating tasks for Unix power-users

#21

I like this idea as the foundation of a Lisp-based shell. I'd like to see an plugin API, and package mechanism, similar to MELPA for Emacs. Users could write scripts and publish them as a signed package, then users could install them. I'd also love to see terminal Emacs as the default shell editor for this shell.

> I like this idea as the foundation of a Lisp-based shell.

I thought that was called emacs...{ducks}

/...though seriously...

Re: Powerlisp: Common Lisp tool for automating tasks for Unix power-users

#22
post #9

I like this idea as the foundation of a Lisp-based shell. I'd like to see an plugin API, and package mechanism, similar to MELPA for Emacs. Users could write scripts and publish them as a signed package, then users could install them. I'd also love to see terminal Emacs as the default shell editor for this shell.

“Lisp-based shell” is so overdone. The hot new thing is merging Common Lisp and POSIX shell into a single, monstrous language! https://github.com/bradleyjensen/shcl

FWIW I have a list of similar ideas done in essentially every language, including every popular Lisp variant:

https://github.com/oilshell/oil/wiki/ExternalResources#inter...

Re: Powerlisp: Common Lisp tool for automating tasks for Unix power-users

#23

Like all things Lisp: no one understands the what, how and especially why of it. This sounds extremely non-useful to me. Opening browser windows? For what? To do what, exactly? And stop this "hacking" and "highly hackable" baloney.

> Like all things Lisp: no one understands the what, how and especially why of it.

I don't know if that's a fair thing to say; there are many lisp programmers out there, writing applications and tools, and they must understand the what, how, and why.

I've never used lisp beyond minor tutorials - but to me, it's just another programming language, albeit a somewhat strange one - IIRC, it doesn't have roots in ALGOL, which probably explains its "strangeness":

https://en.wikipedia.org/wiki/Generational_list_of_programmi...

In fact - that shows it is one of the "root" programming languages. So there you go.

But beyond that, from what I have seen, it seems like a functional-style language built around the concept of everything (primitives?) being a "list" - which is kinda analogous to a mathematical set, I think.

Anyhow, while it may look and "feel" weird, I don't think that's a good reason to dismiss Lisp as a whole.

> This sounds extremely non-useful to me. Opening browser windows? For what? To do what, exactly?

Well - many people who work at the cli/shell level don't want to take their hands off their keyboards, unless absolutely necessary. So, this tool seems to make common tasks (search, browser links to info, often used commands/tasks) available and browsable, using the keyboard and terminal, for reuse - without needing to remember or recall from history a particular command or sequence, or having to set up a ton of aliases (and remembering them). At least, that's how I interpret it. Maybe that isn't for you; that's ok. But someone else might find such a thing handy.

> And stop this "hacking" and "highly hackable" baloney.

I'm not sure why this bothers you; the term "hack" to mean "change" (sometimes quick-n-dirty) has a long history. It doesn't have one meaning or application. I see nothing wrong with using it in this context. Sure, it may not be something you'd want to see on marketing material for an application (then again, seeing such might be a breath of fresh air, imho) - in this context, that of a tool by cli/shell user for other cli/shell users - it is perfectly fit for use, I think.

Re: Powerlisp: Common Lisp tool for automating tasks for Unix power-users

#24

Earlier quoted context omitted.

Hello, I'm the author. I just found out someone put this in HN again, I hope I can explain. This is basically a way to create menus and submenus for recurrent utilities. You can use a rofi or dmenu frontend. Once you bind it a key shortcut, rofi/dmenu will come up asking you what to do. Right now I can directly access my favorite websites, open my favorite programs, do web search (and also switch web engine), all wit…

Maybe "rofi/dmenu scripting and configuration layer written in Common Lisp" might be an appropriate tagline?

Right. With the current title my first impression was that it was like a Unix shell with Common Lisp somehow as the shell language. I mean the shell is the tool Unix power-users mostly use to automate tasks.

It might be a good idea to add screenshots or a gif or something to the README, and I see they've realized that.

Re: Powerlisp: Common Lisp tool for automating tasks for Unix power-users

#25
post #15

I know that Lisp is very popular here on HN (Paul Graham!), but my gut feeling tells me that many Lisp related posts with hardly any upvotes / comments get pushed to the front page of HN. I wish there was a HN filter to hide certain keywords. NB: I read SICP cover to cover twenty years ago, did many private projects with DrScheme (Racket) and was influenced by it's paradigms early on. I do appreciate Lispy topics, bu…

You can always use greasemonkey/tampermonkey extensions, the HN markup is pretty straightforward...

I think Common Lisp specifically is enjoying a bit of a spike in popularity (at least on HN, I've noticed a lot more front page stories over the last some years than previously) especially as more people realize it's out of the box way more powerful than what you find in SICP's Scheme. (A few offhand things one finds: type declarations with compile-time error checking in the most popular implementation + type info used to produced optimized assembly you can immediately inspect, non-braindead OOP, non-braindead error system, multi-million line software project existence proofs, long history of useful old code that still works like an inline arithmetic reader macro...)

Re: Powerlisp: Common Lisp tool for automating tasks for Unix power-users

#26
post #21

I like this idea as the foundation of a Lisp-based shell. I'd like to see an plugin API, and package mechanism, similar to MELPA for Emacs. Users could write scripts and publish them as a signed package, then users could install them. I'd also love to see terminal Emacs as the default shell editor for this shell.

> I like this idea as the foundation of a Lisp-based shell. I thought that was called emacs...{ducks} /...though seriously...

eshell: https://www.gnu.org/software/emacs/manual/html_mono/eshell.h...

Re: Powerlisp: Common Lisp tool for automating tasks for Unix power-users

#28
post #23

Like all things Lisp: no one understands the what, how and especially why of it. This sounds extremely non-useful to me. Opening browser windows? For what? To do what, exactly? And stop this "hacking" and "highly hackable" baloney.

> Like all things Lisp: no one understands the what, how and especially why of it. I don't know if that's a fair thing to say; there are many lisp programmers out there, writing applications and tools, and they must understand the what, how, and why. I've never used lisp beyond minor tutorials - but to me, it's just another programming language, albeit a somewhat strange one - IIRC, it doesn't have roots in ALGOL, wh…

> IIRC, it doesn't have roots in ALGOL, which probably explains its "strangeness"

To the contrary, Algol took hints from Lisp when it created its if statement (as opposed to conditional GOTO) and subsequent Algol-style languages have only taken more from Lisp as the decades have gone on.

> But beyond that, from what I have seen, it seems like a functional-style language built around the concept of everything (primitives?) being a "list" - which is kinda analogous to a mathematical set, I think.

A "Lisp list" is a sequence which is implemented in terms of a singly-linked list. You can nest lists inside of each other arbitrarily, but if you want O(1) access times or easy element replacement, you should use other sequence types which are implemented in terms of arrays. Common Lisp, the modern Lisp dialect, has those.

If I had to give a high-level summary of modern Lisp, which is Common Lisp, I'd say that it's a dynamically-typed multi-paradigmatic programming language which supports the creation of mini-languages/DSLs through the use of advanced syntactic rewriting rules called macros.

Re: Powerlisp: Common Lisp tool for automating tasks for Unix power-users

#29
post #4

I read the whole README and I still have no idea what this does. Something about bookmarking websites and searches in some sort of configurable menu?

Hello, I'm the author. I just found out someone put this in HN again, I hope I can explain. This is basically a way to create menus and submenus for recurrent utilities. You can use a rofi or dmenu frontend. Once you bind it a key shortcut, rofi/dmenu will come up asking you what to do. Right now I can directly access my favorite websites, open my favorite programs, do web search (and also switch web engine), all wit…

Awesome! Nice work.
Post reply on HN