Ahem, this is a thin UI wrapper around a browser engine written in C++ called WebKit, the main UI elements being in reality a thin lisp wrapper around a C UI framework called GTK.
Calling this a Lisp browser is like using Xmonad and calling Linux a Haskell Operating System.
Using that logic you can reduce a whole heap of things down to just "thin wrappers".
Yes, LispKit is a wrapper around a C++/C browser library. But would you really want someone writing yet another browser implementation in 2014? It's just not good engineering to rewrite things such as that. They're complicated, filled with security edge cases and would take a substantial amount of time compared to "just" writing a wrapper library.
In reality, LispKit exposes the WebKit API through Lisp using a bunch of relatively idiomatic (if I do say so myself!) functions and macros. For the most part it seems as if Lispkit was built from the ground up in Lisp. It does not feel like a "thin wrapper".
Wrapping WebKit is a great idea. I mean it generally hasn't worked well for other libraries that have tried it, none of them have managed to avoid lots and lots of bugs and quirky behavior, but maybe you do, so congratulations.
My only point is that this isn't a browser written in Lisp. It's not even remotely close to that! Yet that is what the title of the HN story implies. But it's not that, it's a wrapper, which is not what the title says, so I mentioned that. You are agreeing with me except you seem to think I'm implying something bad, which I'm not, beyond all the things implied by the facts, such as:
It does inevitably just feel like a thin wrapper. There is no way for a lisp hacker to get in there and play with it, or take this work and extend it using lisp. They can change how WebKit is wrapped, but changing or extending WebKit's behavior means digging into WebKit's millions of lines of C++.
Yeah. A proper Lisp browser would run on one of those old Symbolics machines. It would eschew html, css and javascript in favour of lisp for all 3. Instead of jpgs or gifs it would use Peter Henderson's picture language to describe all images, as it was famously demonstrated in SICP.
Then what is your argument? That it's worthless because it's not written in pure Lisp? Look at the Closure browser, it's awful and incomplete. There just isn't enough manpower in the Lisp community to accomplish something such as that.
I've started writing a scraper around the WebKit implementation that comes with Java 8 in Clojure. Lately I've been toying with the idea of trying to put a Conkeror-like browser together that's extensible (well, to some degree) with Clojure code.
Is a Lisp browser a browser of Lisp code, or a web browser in Lisp? I won't watch a video to find out, and it wasn't immediately obvious from the source code.
I agree 100%. All kinds of "tutorials" in video format are almost the worst. It's not searchable etc. I'm expected to grab headphones and watch the whole thing in order to learn that one thing.
I couldn't agree more, but we're in the minority. But if I see a project/company has limited its marketing/explanation to video only, I just close the browser tab. I can't stand watching a 10-minute video for an explanation, when reading a brief, well-written paragraph could give me all the info I need.
It reminds of years ago when invited to watch a slide show of someone's vacation pictures. It could go on for hours and there was never a graceful way to escape the ordeal.
OTOH being offered a pile of 3x5" prints to view was much less a problem, since easy enough to peruse quickly, maybe stopping here or there to admire a few worthy shots.
In today's world, video is just like the interminable slide show, and information reduced to text equivalent to the stack of prints. I definitely know which I prefer to deal with.
I have literally never watched a video to learn something without being forced — post-literacy be dashed. The idea-per-minute ratio is not even close to that of the written word.
Calling this a Lisp browser is like using Xmonad and calling Linux a Haskell Operating System.