Hacker News new | ask | show | jobs
by reikonomusha 2233 days ago
For your first point: Yes, good quality domain-specific libraries go very far in allowing one to be productive. Lisp does not offer a good, general-purpose, integrated numerical computing environment (plotting, scientific functions, etc.) and as such wont be good for belting out scientific code. If you like DIY, then Lisp is wonderful to write scientific code in because it can compile to extremely fast code.

For FFTs in particular, Common Lisp has very good support for them [1, 2, 3]. For matrix arithmetic, there’s an up-and-coming library called MAGICL [4].

As for DSLs, there’s no problem using these on a team. Their utility does scale if the DSL is actually solving a problem.

[1] NAPA-FFT3 https://github.com/pkhuong/Napa-FFT3

[2] BORDEAUX-FFT https://github.com/ahefner/bordeaux-fft

[3] Patrick Stein’s FFT https://github.com/nklein/FFT

[4] MAGICL https://github.com/rigetti/magicl

1 comments

Thanks. Just to clarify on the dsl remark: dsl work of course, but usually it is a two tier approach. First the dsl is designed and implemented, then the (other) team works with it on the main application. So far it looked to me (especially from Paul Grahams article) that in lisp usually these two phases are mixed, but i might misunderstand this.