froggey / Mezzano

An operating system written in Common Lisp
MIT License
3.53k stars 188 forks source link

Nyxt browser on Mezzano #63

Open tjsousa opened 6 years ago

tjsousa commented 6 years ago

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?

varjagg commented 6 years ago

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

eschaton commented 6 years ago

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.

bms-1984 commented 6 years ago

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.

okflo commented 6 years ago

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 notifications@github.com 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 .

nodrygo commented 6 years ago

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

jmercouris commented 5 years ago

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).

hendursaga commented 1 year ago

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.

ebrasca commented 1 year ago

Mezzano can already load and run McCLIM.

fitzsim commented 5 months ago

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