thi.ng is an open source collection of 20+ computational design tools for Clojure & Clojurescript: generative design, data visualization, digital fabrication, linked data, graph processing and more...
Like many hackers, my first real programming language love was Lisp. Paul Graham, who inspired my own explorations of the language, is a particular advocate and has written quite a bit about Lisp and…
Elegant, instructive examples of functional programming. Supposed to be fun, and teach important programming techniques and fundamental design principles. Traditionally appear in Journal of Functional Programming, and at ICFP and affiliated workshops.
This course introduces students to the principles of computation. Upon completion of 6.001, students should be able to explain and apply the basic methods from programming languages to analyze computational systems, and to generate computational solutions to abstract problems. Substantial weekly programming assignments are an integral part of the course. This course is worth 4 Engineering Design Points.
Since programmers often build task-specific tools, one way to make them more productive is to give them better tool-making tools. When tools take the form of program generators, this idea leads to libraries for creating languages that are directly extensible. Programmers may even be encouraged to think about a problem in terms of a language that would better support the task. This approach is sometimes called language-oriented programming
When John McCarthy in 1960 wrote his famous paper on the programming language LISP, he used a particular function to illustrate what you could do with the
R. Gabriel. Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, page 250--268. New York, NY, USA, ACM, (2016)
N. Borenstein, and J. Gosling. Proceedings of the 1st Annual ACM SIGGRAPH Symposium on User Interface Software, page 95--101. New York, NY, USA, ACM, (1988)