Live data from Hacker News

Why Lisp? (2015)

blog.rongarret.info

111–120 of 174 posts

Re: Why Lisp? (2015)

#111

Earlier quoted context omitted.

> ... AAA video games? Yes. One of my favorite stories of the ideas of lisp commercially is a dialect that Naughty Dog developed for their game development. It started as being developed for Crash Banicoot on the PS1. Which is really interesting given how limited the system was (1mb to 2mb of ram depending on what you were doing with the system!) They later iterated on it for Jak and Daxter on the PS2. To quote the w…

that's basically Julia. take lisp, remove the s expressions and add a bunch of really good math libraries and you've just reinvented Julia.

there was dylan before julia, so julia might just be reinventing dylan :) but that's not what's interesting

the julia project is in fact very interesting to me and has a great team developing its ecosystem and i work with it alongside python for numerical work. however one key drawback (compared to common lisp) for me is that it is not self-compiled. it is hosted on llvm and over 30% of its repository is in another language (mainly C and C++)[0]. but i am saying this only in comparison to common lisp. other languages are not different to this, and are much worse. as far as scientific computing is concerned, i would work with julia over python any day

[0] https://github.com/JuliaLang/julia

Re: Why Lisp? (2015)

#112

Earlier quoted context omitted.

> If you look at mathematical notation, written with quill pens and paper…it’s even more concise. Yes, but now mathematics publishing predominantly uses a typewriter-era language for achieving it: \documentclass{article} \usepackage{amsmath} \begin{document} \[ M= \begin{bmatrix} 1 & 2 & 3 & 4 & 5 \\ 3 & 4 & 5 & 6 & 7 \end{bmatrix} \] \end{document} Most programming takes place with what is more or less typewriting.

Now imagine having that as: (documentclass article) (usepackage amsmath) (begin document) ;; [...] read syntax for displayed math [(= M (bmat (1 2 3 4 5) ;; case-sensitive treatment: M (3 4 5 6 7))] (end document)

Seeing this really makes me want to do a LateX code generator in Lisp

Re: Why Lisp? (2015)

#113
post #80

I love Lisp and Scheme and all their relatives (Clojure, Logo, Racket, etc.). However, the fact of the matter is, Common Lisp has not kept up with modern developments in terms of presenting a cohesive ecosystem with forward momentum. Everybody is off on their own doing their own thing with no shared goals or cohesion. Clojure seems to have this (I have not used Clojure much, so I don't really know). Elixir definitely…

There was one cohesive tribe in the 00s centered around the quasi-annual European Common Lisp Meeting. I miss that and wish I could find the same thing again now. Maybe it exists somewhere online?

The ELS community is still going strong. They have done a great job with continuity and moving forwards. That's a related but different tribe though.

Re: Why Lisp? (2015)

#114
post #69

Why does it feel like there’s more prose about lisp being written than lisp code? I swear there’s like 15 people writing Common Lisp — Nikodemus, Shirakumo, Stylewarning, Christian Schafmeister, Borodust, the ITA folks, and maybe 2 startups.

That is because it is a little secret. It is a secret hidden in the open.

We program in C#, we program in swift, C and C++, but we continue using so much Lisp as I did 20 years ago or way more.

With Lisp you don't need to write only Lisp, you can write swift or any other language in Lisp, as we do.

When people ask what programming languages we use, even competitors, we just tell them. They don't listen.

They just can't really understand. They probably believe we use Lisp because we depend on obsolete technology because they are under the influence. The influence of snake oil salesman that want to sell them their new shiny language.

For them anything new is shiny and old means dusty because things degrade over time, but computer languages do not.

If competitors can't "get it", much better for us. They probably believe that we try to deceive them and that in reality we are using this new language-paradigm of the week that solves all the problems. Let them.

Lisp guys have nothing to sell you but probably the software they create. And if they have a powerful tool, they are not that interested on you knowing their secret.

Re: Why Lisp? (2015)

#115
post #26

What's a good Lisp dialect to write small programs in? I have some Emacs Lisp experience but I wouldn't use it to automate small tasks. For that, I typically use Python.

Why wouldn't you use Emacs Lisp to automate small tasks? I think it's great for that purpose, it's usually pretty easy to give a utility a very comfortable user interface in Emacs.

I happy with command line interface. That's just my workflow.

Re: Why Lisp? (2015)

#116
post #26

What's a good Lisp dialect to write small programs in? I have some Emacs Lisp experience but I wouldn't use it to automate small tasks. For that, I typically use Python.

I'd say the "python of lisp" is definitely racket. Beginner friendly, lots of batteries included, large community with lots of libraries. Here's an example of a simple webserver using the standard library: https://docs.racket-lang.org/web-server/run.html#%28part._se... I'm also a fan of the first tutorial on the site. Instead of the boring stuff like hello world, 2+2, print your name etc, they use a built in library…

The homepage looks really interesting. I'll give it a try. Thanks!

Re: Why Lisp? (2015)

#117
post #86
post #80

I love Lisp and Scheme and all their relatives (Clojure, Logo, Racket, etc.). However, the fact of the matter is, Common Lisp has not kept up with modern developments in terms of presenting a cohesive ecosystem with forward momentum. Everybody is off on their own doing their own thing with no shared goals or cohesion. Clojure seems to have this (I have not used Clojure much, so I don't really know). Elixir definitely…

> ... it goes well beyond any Lisp/Scheme (and many modern languages) in terms of having a practical but expansive ecosystem with a strong set of idiomatic conventions. Does it, really?? Common Lisp is an ANSI Standard, I don't know how you get a more "strong set of idiomatic conventions" than that. And it's been "done" for 20 years now! People continue to use it just as it is, and there's very little pressure to cha…

In fairness, the CL spec being quite old, has a fairly dated type system.

Obviously, CL is still blazing fast compared to Python, but it can't easily do the kind of things that Julia or even C++ can when it comes to numerical programming. You can write a lot of macrology to get around it, but there's a point where you want actual compiler writers to be doing this.

Re: Why Lisp? (2015)

#118

Earlier quoted context omitted.

> Getting Lisp to run as fast as C takes major effort when at all possible. The Computer Language Benchmarks Game shows Lisp Code as generally being between 2x and 10x slower than C++[1]. As fast as C? No. Way faster than Python, and more than fast enough to be used in almost every single application, modulo hard-real-time systems and AAA video games? Yes. > Lisp needs a lot of space to do it's thing; and while it's…

> ... AAA video games? Yes. One of my favorite stories of the ideas of lisp commercially is a dialect that Naughty Dog developed for their game development. It started as being developed for Crash Banicoot on the PS1. Which is really interesting given how limited the system was (1mb to 2mb of ram depending on what you were doing with the system!) They later iterated on it for Jak and Daxter on the PS2. To quote the w…

for escape hatches, see cl4py: https://github.com/marcoheisig/cl4py/ and the other way around, calling Python from CL: https://github.com/bendudson/py4cl/

Re: Why Lisp? (2015)

#119
post #56

I think at some point we should clarify why we mean by Lisp. I see a lot of mention of Clojure, while most people seem to assume that Lisp == Common Lisp. I feel like talking about Common Lisp, Racket, Scheme, Clojure at the same time while putting them all under the "Lisp" umbrella seem to be a bit pointless when we're talking about languages. It's like mentionning JS in a conversation about C because "JS is a langu…

I look at it as an intersection between the feature sets of Common Lisp, Clojure, Scheme, etc. In other words - the most basic features of these languages that are common - S-expressions, data is code is data, REPL-driven development, etc

That's a nice way of looking at it, but that means we can't really talk about libraries, performance, dev tooling and stuff like that.

Re: Why Lisp? (2015)

#120
post #52

Earlier quoted context omitted.

> You could write as complex of a type system as you wanted that compile time checks, so it's surprising someone hasn't written one that mimics at least java/c++/whatever style types. There's at least typed racket. > I have 0 experience here but that's really surprising to me. > I'd think out of any language lisp would shine here. I don't think you should be surprised that people don't want to write their typechecker…

It’s a lot more practical than you think if you’re willing to roll up your sleeve and do the work. Fortunately, people have already done the work for you. [1] [1] https://github.com/coalton-lang/coalton

I don't think it would be more practical than just using a typed language in the first place.
Post reply on HN