Hacker News new | comments | show | ask | jobs | submit login
Show HN: nEXT Browser – A Lisp-based browser
117 points by jmercouris 12 hours ago | hide | past | web | 32 comments | favorite
A demonstrator of what is possible with Common Lisp and what kind of new interface a rethink of browsers could provide.

https://github.com/nEXT-Browser/nEXT

Very Alpha. Missing history, bookmarks, sessions etc.

nEXT is not intended to replace your current browser. It is just like adding another tool in your toolbox, you use nEXT when you want to get actual work done.






I love it! Now, if it can render content where:

- HTML is replaced with S-Exprs

- CSS is replaced with lisp

- javascript is replaced with lisp

Then I think I'll be ready to join whatever cult you ever feel like starting :-)



Good point—I was mostly wanting to replace the need for HTML, CSS, and Javascript as compile targets. And Clojure is indeed a joy.

ah, right, i don't aim that high :)

That's no cult, that's a Utopia!

No reason this couldn't accept a content type of application/htsl (for hypertext S-expression language, of course). I proposed something like this in a comment of mine a couple of months back: https://news.ycombinator.com/item?id=14931277

I wouldn't like to see CSS replaced with lisp. CSS is declarative, lisp is imperative/functional.

Lisp can be very much declarative. It can be literally any paradigm by virtue of being a direct representation of it's AST while all other languages have to be parsed into AST.

CSS's cascading rules can be diagrammed as a tree, so can be shown as s-exprs.

Wouldn't that be "reinventing the flat tire"? The Web needs far more serious redesign than just replacing the syntaxes.

JMercouris,

Thanks for this, you made my day!! I was always curious of what could be done using EQL.

Do you have binaries compiled for Windows​? What would your recommendation be for building under windows? Just regular ECL configured for working with EQL? plus GCC tools?

Keep the light of Common Lisp shining like a beacon of hope and joy for the devoted hackers!


How is this “Lisp-based” when it’s a wrapper around QtWebKit?

I’d expect a “Lisp-based” browser to implement its rendering engine in Lisp, probably atop CLIM. Otherwise you’re just using Lisp as a scripting language to glue a couple prefab components together.


Well, that would be quite slow :D

You’re right in a most technical sense, it’s a lisp programmable browser


Considering the amount of work it would take to write an HTML rendering engine from scratch, this is a perfectly reasonable way to go.

The logo and odd capitalization of "nEXT" might get some attention from Apple laywers, if they care about the NeXT trademarks at all anymore.

Well if the success of Firefox (née "Phoenix", née "Firebird") is anything to go by, that could be a good start!

Holy cow. Great job. Sadly i'm busy even on weekends atm, but i'm bookmarking this and i will try to contribute when i find some time.

Hi! Thank you for the kind words!

Oh, this is awesome! Between StumpWM, emacs & now nEXT, my entire desktop could be Lisp.

Rather than using ECL to embed Lisp in C++, have you considered using an FFI to call out to QT from Lisp? Nothing's wrong with your approach, of course (the venerable emacs is Lisp atop a C core, after all!).

I wonder how difficult it'd be to get uBlock-style adblocking working on this.


Hi zeveb, thank you for the kind words!

I have thought about that, and afaik that is the approach of CommonQT, definitely a good solution, but I chose EQL + ECL specifically due to the fantastic support their respective developers provided. They're really smart guys, and I appreciate what they're doing.

Ad-blocking shouldn't be too hard to do in QT, I think I may have to do it in the C++ Layer below though. I believe one has to extend QNetworkManager or some other similarly named class.

Anyways, thank you for your interest, lots of new features in the works :)


What rendering engine does nEXT utilize, assuming you didn't write a rendering engine in Lisp?

Looks like the QT WebKit engine.

Now that Vimperator is mostly dead, this looks like a potentially interesting alternative to have a programmable browser.

The readme references a "releases" section to go to for pre-built binaries. Is this not available yet?

Hi yes! They are available for Mac OS High Sierra from release 0.03 onwards

Working on others too!


Wow, this is actually an amazing idea! Great job.

Hi! Thank you!!

This feels like a particularly ill-considered name.

First off, there is already commercial software called "Next Browser" -- it appears before your code in google searches. I don't think they have a US trademark (yet). They might have a chinese trademark. At any rate, it might not be wise to be naming something that puts you in potential future trademark jeopardy.

Second, when I think of "Next Browser" I think of this:

https://www.w3.org/People/Berners-Lee/WorldWideWeb.html

I'm sure others do too. You sure you want to be competing with WorldWideWeb.app, of all applications, for mindshare?


Hi Sean, thank you for your feedback. You're right, it's probably not a really good idea. I'm open to any ideas for names, having said all of that, I really like the name nEXT Browser because it gives an idea of efficiency, progress, and getting stuff done.

In terms of names in general, I think you will always be stepping on toes somewhere, there are so many names out there, and especially when you want to use a normal English word, it is hard to find anything really available without making up something.


What's it using as a browser engine?


Eh, why not a 3D browser ala croquet/cobalt?

I mean, Croquet WAS designed to show what a peer-to-peer internet could do.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: