4 ms·
Common 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 ge
by varjag 4y ago
Common 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.