|
|
|
|
|
by andi999
2233 days ago
|
|
I think I read this a while ago and tried to learn lisp (i didnt fully understand macros, only superficially). Anyway. I think there are 2 kinds of 'powerful'. Yes, I can see that the Macrosystem is powerful. But in a sense the language seems 'overqualified but underskilled'. Let me explain: I basically need arrays for my work, array functions and fourier transformation (fft). I use python and i think it has much higher productivity then lisp on these fields (correct me if I am wrong). Also while the macrosystem easily allows (and probably requires) to write your own DSL, this productivity boost does not scale easily if you have a lot of ppl working on the same codebase. For Paul it didnt matter, it was two ppl only, and languages with comprehensive libraries didnt exist at that time. So if you have to build everything yourself (alone) then lisp is probably superior. |
|
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