Mezzano icon indicating copy to clipboard operation
Mezzano copied to clipboard

Nyxt browser on Mezzano

Open tjsousa opened this issue 7 years ago • 9 comments

I'm following the development of both Mezzano and nEXT Browser as interesting modern Lisp projects and am wondering if having a browser on Mezzano would be even possible at this point?

That said, I know nEXT targets UNIX OS's and currently has bindings for GTK and Cocoa for its presentation layer, so developments there would also be necessary.

Just entertaining the possibilities of bringing both together. Any thoughts?

tjsousa avatar Jan 12 '18 14:01 tjsousa

nEXT uses WebKit as rendering engine, so most of heavy lifting is done by C++ code.

varjagg avatar Jan 12 '18 19:01 varjagg

Yeah, people hear “nEXT Browser is written in Lisp” and assume that it’s actually written in Lisp, not just a Lisp wrapper for WebKit.

eschaton avatar Jan 12 '18 21:01 eschaton

As a follower of nEXT and a sometime-developer of Mezzano, I agree with the above two comments. However, theoratically, a browser similar to nEXT is possible, but it would most likely require a custom Lisp-based rendering engine, which could take a long time. It would also probably be best to hold off on developing a browser until mcclim is ported to Mezzano, which is under way.

bms-1984 avatar Jan 12 '18 23:01 bms-1984

prior to this - IMHO - it would make more sense to do something (easier) like lynx/links?

On Fri, Jan 12, 2018 at 3:32 PM, tjsousa [email protected] wrote:

I'm following the development of both Mezzano and [nEXT Browser] ( https://github.com/nEXT-Browser/nEXT) as interesting modern Lisp projects and am wondering if having a browser on Mezzano would be even possible at this point?

That said, I know nEXT targets UNIX OS's and currently has bindings for GTK and Cocoa for its presentation layer, so developments there would also be necessary.

Just entertaining the possibilities of bringing both together. Any thoughts?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/froggey/Mezzano/issues/63, or mute the thread https://github.com/notifications/unsubscribe-auth/AFKEZevsAk9DpVe5iDzXZgtrYiowof5Qks5tJ2z5gaJpZM4RcXp2 .

okflo avatar Jan 13 '18 08:01 okflo

I am not enough skilled to to that, but a revival of the old Closure web browser in McCLIM project could be a good thing https://common-lisp.net/project/closure/ https://github.com/dym/closure

nodrygo avatar Feb 28 '18 08:02 nodrygo

Just to chime in on the conversation, sorry I missed this:

So here's the cool thing, as soon as a rendering engine is written in Lisp, connecting it to Next is unbelievably trivial, just have to support the protocol defined here:

https://github.com/atlas-engineer/next/blob/master/source/remote.lisp

The protocol being the s-xml-rpc methods your platform-port (the Lisp rendering engine) would have to respond to. Everything else is handled by Next itself. So, if the closure project can actually be used as a rendering engine in McClim, you can use Next to drive it and get all of that emacsy goodness/all the plugins/work we've put into the Lisp Core.

Furthermore, not to state the obvious, but the s-xml-rpc requirement could be completely dropped in favor of simply re-implementing those methods of the class remote-interface and invoking whatever Lisp functions you would need directly to make a window, close a window etc (assuming that Next and Closure are living in the same image).

jmercouris avatar Dec 29 '18 13:12 jmercouris

Woah, it's been awhile since there's been any activity here!

So, first off, the project is now called Nyxt. Not sure who here can edit the issue text, but that would make things more searchable.

Second, while it's true Nyxt still uses only WebKitGTK, there's plans to support more rendering engines such as CEF, though that will probably have to wait 'til at least 4.x.

Third, and also definitely more down-the-road, but there's been some talk of using McCLIM, so when Mezzano gets a port, that also will be a plus.

Until then, a smaller web browser like elinks would be a more reasonable (apparently it supports both Lua AND Guile for extensions!) target for now.

hendursaga avatar Nov 17 '22 19:11 hendursaga

Mezzano can already load and run McCLIM.

ebrasca avatar Nov 25 '22 03:11 ebrasca

Someone could try compiling Nyxt with https://github.com/froggey/Iota.

fitzsim avatar Mar 08 '24 06:03 fitzsim