3 ms·
on the minimal chance you're not being sarcastic, could you say more about this?
by gcr 4y ago
on the minimal chance you're not being sarcastic, could you say more about this?
- varjag 4y agoCommon Lisp has has native support for vectors and arrays. They can be adjustable or fixed size, displaced to other arrays (kind of a "view" with a different geometry), specialized on elements of particular type or generic. For adjustable vectors you can specify their allocation growth increments for push operations. Or pre-allocate adjustable arrays but specify a lower initial size. Arrays can be accessed in row-major order mapping them into vectors etc etc. Foreign function interface of different implementations typically provide a way to access C allocated memory areas as Lisp arrays.
- mistrial9 4y agonumpy changed the ecosystem dramatically.. the combination of engineering-efficient matrix math, plus the plug-and-play, low barriers to entry broad ecosystem, tipped the scales and it never went back. Millions of coders literally are playing and implementing using these python stack tools.
- varjag 4y agoThe efficient part in numpy is certainly not the Python code.
- vkazanov 4y agoYes but what difference does it make? The interface is python. Besides, libraries are much less rigid than language features so maintainers can and do iterate on these much faster. Saying this as a big Lisp/scheme/emacs fan, btw.
- varjag 4y agoWhat I was getting at is the reason why Python is popular and CL isn't is not technical but social.
- pharmakom 4y agoBut this is fundamentally a native code library and we can bind it to any language that supports this. Nothing unique to Python here.
- mistrial9 4y agoexcept, evolution (and market share) are built in things that really exist now. So .. millions of users, I would emphasize that part today.
- User23 4y agoWhy would you think it’s sarcasm? Modern Common Lisp implementations not only generate well optimized code, they make it simple to check what’s really happening with DISASSEMBLE.
- gcr 4y agoi am genuinely curious, because I think CL could do some amazing things in the symbolic algebra/compiler space here. Tensorflow's AutoGrad and AutoGraph (and I think JAX maybe) had to do terrible things to the python bytecode interpreter to compile methods, and Theano only worked by overhauling the entire number tower and adding its own control flow. If CL could become a frontend for XLA perhaps, then maybe we can go full circle and turn Torch back into the lisp project it originally started out as!