3 ms·
> Writing rudimentary X takes 2-3 days. Writing it as solid package takes 2-3 weeks. Why don't you implement it? The research of Gregor Kiczales and others pri
by lispm 9y ago
> Writing rudimentary X takes 2-3 days. Writing it as solid package takes 2-3 weeks. Why don't you implement it?
The research of Gregor Kiczales and others prior to AspectJ took something like decades with a lot of researchers working on that stuff.
Basic idea of aspects in Lisp came up in the 60s and 70s in the BBN / Interlisp community. See:
AITR-221
Author[s]: Warren Teitelman
PILOT: A Step Toward Man-Computer Symbiosis
September 1966
ftp://publications.ai.mit.edu/ai-publications/0-499/AITR-221.ps
ftp://publications.ai.mit.edu/ai-publications/pdf/AITR-221.pdf
From there it went into Interlisp, Loops, Flavors, CLOS, ...
Gregor expanded these ideas and moved it to Java.
The Lisp community worked 30 years stuff like that and it took several years to standardize the Common Lisp Object System, which incorporates some of the ideas of Aspect-oriented programming.
> What A meant is that it would be a standard that could be used across different software packages.
People do that in Lisp, too.
- nabla9 9y ago> People do that in Lisp, too. "there exists" (existential quantification) is valid argument if someone implies "there don't exist". The argument was common tendency or ratio. I speak as one who has done numerical programming with CL. I bet most of us have personal numerical library that implements third of what is needed for initial release for numpy or matlab and the code is somewhat incomplete with matlisp or clasp. It's just too easy to accidentally implement almost viable general library for numerical computing in CL. Of course you don't need to document it or polish it because you use it only by yourself. In retrospect we would have been better off by working together bottom up well documented replacement for R, numpy, and matlab. The amount of work would have been only slightly more.
- coldtea 9y ago>People do that in Lisp, too. Not as much as they should, which is the whole point of the article, and a core lesson of history.
- lispm 9y agoIf you feel the need to contribute code, then there is Quicklisp to distribute it. > Not as much as they should, which is the whole point of the article, and a core lesson of history. One of the uses of Lisp is prototyping. The Interface Builder from NeXT/Apple was originally written in Lisp. The Dylan IDE was a prototype in Lisp. There is lots of research code, some never meant to made available as a supported library/application. Maybe somebody writes a theorem prover in Lisp for his/her PhD. The chance for finding users is slim - there are already a few others. But if you wanted to share, check out the ACL2 (A Computational Logic for Applicative Common Lisp), it comes with lots of shared code: http://www.cs.utexas.edu/users/moore/acl2/current/combined-manual/index.html?topic=ACL2____TOP http://www.cs.utexas.edu/users/moore/acl2/current/combined-m... https://github.com/acl2/acl2/tree/master/books https://github.com/acl2/acl2/tree/master/books ACL2 is shared and maintained. It's extensions are shared with stuff from AMD and Intel. Most people don't know that and have never heard of it, because these are niche applications of Lisp, here using theorem provers to check the design of processors. http://www.cs.utexas.edu/users/moore/publications/acl2-papers.html#Processor-Models http://www.cs.utexas.edu/users/moore/publications/acl2-paper... users: Freescale, Intel, AMD, Rockwell Collins, Centaur Technology, ... This is one example, there are a several other areas where people share a lot of code. The canonical examples are the Common Lisp implementations themselves. They share(d) code in various ways. The first CLOS implementation was shared. The pretty printer was shared. The CMUCL compiler was shared from day zero somewhen in 1981 or two - before Common Lisp even existed. SLIME is shared.