symbolic programming
{{Short description|Computer programming paradigm}}
In computer programming, symbolic programming is a programming paradigm in which the program can manipulate its own formulas and program components as if they were plain data.{{cite web
| url = http://www.ai.uga.edu/mc/LispNotes/FirstLectureOnSymbolicProgramming.pdf
| archiveurl = https://web.archive.org/web/20120307124013/http://www.ai.uga.edu/mc/LispNotes/FirstLectureOnSymbolicProgramming.pdf
| title = CSCI/ARTI 4540/6540: First Lecture on Symbolic Programming and LISP
| date = 2010-08-23 | accessdate = 2014-12-29 | archivedate = 2012-03-07
| author = Michael A. Covington | publisher = University of Georgia
}}
Through symbolic programming, complex processes can be developed that build other more intricate processes by combining smaller units of logic or functionality. Thus, such programs can effectively modify themselves and appear to "learn", which makes them better suited for applications such as artificial intelligence, expert systems, natural language processing, and computer games.
Languages that support symbolic programming include homoiconic languages such as Wolfram Language,[http://www.wolfram.com/language/for-experts/ Wolfram Language Notes for Programming Language Experts] Lisp, Prolog,{{cite web |title=Symbolic programming on Business Glossary |url=http://www.allbusiness.com/glossaries/symbolic-programming/4950308-1.html |accessdate=2013-11-20 |website=allbusiness.com}} and Julia.