Lisp学习: Where are the PERHAPS
Lisp学习: Where are the PERHAPS?My view is that a language should be designedin terms of an abstrac
Lisp学习: Where are the PERHAPS?
My view is that a language should be designedin terms of an abstract syntax and it should have perhaps, several forms of concrete syntax: one which is easy to write and maybe quite abbreviated; another which is good to look at and maybe quite fancy, but after all, the computer is going to produce it and another, which is easy to make computers manipulate. There are still others maybe, but it's easy to make computers prove things about and they all should be based on the same abstract syntax. As it relates to your question, the abstract syntax is what the theoreticians will use and one or more of the concrete syntaxes is what the practitioners will use.
-- John McCarthy, Father of Lisp
And..., Where are the PERHAPS?
Think of Lisp as an alternative to or refuge from "commodity" languages like Java, C. and C++, especially for your most complex and difficult projects.
The Lisp language family was originally designed four decades ago to aid the then-nascent Artificial Intelligence industry, and has proven itself over the interim to be a powerful ally in tackling the world's most difficult kinds of problems:
- problems that involve planning, problem solving, and learning #1
- problems whose specifications are ill-defined or change dynamically #2
- problems that involve qualitative reasoning#3
- problems involving heterogeneous data or considerable amounts of potentially erroneous data that must be sifted and repaired #4
- problems that require very fast time to market
- problems that must manage complex control flow, including sophisticated error handling #5
- Common Lisp is an ideal technology for addressing the problems of the modern web.#6
- ...For #1:{Planning} -> {Collecting} -> {learning} -> {Solving} A V <<-------------------------------<< Feedback LoopFor #2:{!@#$%^&*?????} -> {ill-defined learning and change dynamically} A V <<-------------------------------<< Feedback LoopFor #3:{events} -> {diff x,y,z....} -> {learning} -> {reasoning} A V <<-----------------------------------<< Feedback Loop For #4:{heterogeneous anderroneous data} ->{learning} -> {filtering} -> {learning} -> {repairing} A AV AV <<---------------------------------------------------<<-----------------------------<< Feedback LoopFor #5:{Flows} -> {Errors} -> {learning} -> {feedback and events} A V <<-------------------------<< Feedback Loop For #6: {Web system data collection} -> {learning} -> {filtering} -> {learning} -> {reasoning and recommendation} A AV AV <<-------------------------------------------<<-------------------------------<< Feedback Loop MarsSep 13rd,2013