The Refal programming language
en.wikipedia.org
en.wikipedia.org
I've heard absolutely stunning reviews of the subject it was taught in, Programming with Patterns.
[1] "Pattern matching" introduction - https://web.archive.org/web/20091202232434/http://www-staff....
[2] "Programming with patterns" presentation - https://bondi.it.uts.edu.au/defun.pdf
[3] "Organizing the world’s structured information" a talk given to Google about bondi - https://web.archive.org/web/20090731102349/http://www-staff.... ... and the sample files https://web.archive.org/web/20120322185006/http://www-staff....
[4] The bondi source. http://bondi.it.uts.edu.au/bondi-2.0/
edit: some of the site is translated to english edit2: dead links everywhere, I've found this page to explain further with some examples http://www.refal.net/english/xmlref_1.htm#1.%20Wanted:%20a%2...
Try searching for papers/articles by Turchin (who invented Refal). Also, many papers on supercompilers or supercompilation use Refal or a Refal-like language, so they can be another good source of information. (Plus, supercompilation is fascinating to learn about in general -- it's basically using machine learning within the compiler to perform powerful optimizations.)
Additional resources:
* http://pat.keldysh.ru/~roman/doc/Turchin/1980-Turchin--The_L...
* http://refal.botik.ru/book/html/index.html
[0] http://wiki.botik.ru/twiki/pub/Refaldevel/Download/RefalPlus... [1] http://www.math.bas.bg/bantchev/place/refal.html
refal6 on java 2(!!), seems inactive for ~10y http://www.refal.org/~arklimov/refal6/refal-j.htm
refal+ for VS c++ 2005(?), last activity 2009 http://rfp.botik.ru/home