a thoughtful web.
Good ideas and conversation. No ads, no tracking.   Login or Take a Tour!
comment
forwardslash  ·  3810 days ago  ·  link  ·    ·  parent  ·  post: "Unknown or expired link." following me wherever I go!

HN, and thus Hubski, is built with the Arc Lisp dialect of lisp and the source for it (or an old source, and it hasn't been updated in years) can be found in the news.arc file in the languages' source code.

Everyone we do server side is arc at the moment, and we don't have a proper database just flat files (which contain s-expressions) which are loaded into a hashmaps in memory. It's relatively easy to get the app up and running, and once you understand the language relatively easy to add features. It doesn't like to interact with other code, however, mostly because there hasn't been much code written to make it interact with other code. We've gotten around this in a few places by using things like varnish, haproxy, nginx, etc and just interacting with our arc web app through HTTP.

For instance, when you logout by default the arc doesn't drop the user value from your cookie which indicates who you are. This makes it harder to detect whether your logged in or not and messes up caching strategies. We got around this by removing the user value on logout in haproxy.

My general feeling of lisp after having used it for over a year now in production is that it is perfectly possible to do whatever you want and it is pleasant to do so, but there is a lot of value in a health library and tool ecosystem which is lost when using an obscure dialect. If I had all the time in the world I could do pretty much anything other sites do, but you get hung up over things like not having libraries to easily interact with databases. We could write them ourselves, but that takes a lot of time we could put elsewhere.