Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In the simple sense, I understand symbolic computation as transformation of text. In more general sense, all information is based on symbols ("letters"), so transforming one information into another is a symbolic computation.


Amateur perspective here...

My understanding is that it is the transformation of lists of symbols. This is one step above parsing characters/runes into more meaningful primitive data. Lisp has facilities for manipulating trees of data. The book Land of Lisp makes this distinction clear in an interesting way: they implement a text adventure, and they separate the notion of words or concepts (model) from their final string representation (view). For example, you can express a phrase with something like

  '(you see exits leading (exit east) , (exit west) , and (exit north))
or

  '(you see exits leading (series (exit east) (exit west) (exit north)))
Run this through your parser for that list of lists of symbols, and you may end up with

  You see exits leading [east], [west], and [north].
where east, west, and north are highlighted if expressed on the console or converted into appropriate URLs if expressed in HTML. You can also imagine a potential here for language conversions.

Along similar lines -- with due credit to the PAIP book -- you could separate the notion of some mathematical formula from its inputs. Do manipulations, simplifications, whatever, and THEN provide inputs. This suggests that with symbolic computation and some macros, you can assist the Lisp compiler in coming up with the speediest version of some formula. Or expression. Or template output.

Not sure how to get an exact link to this comment, but look at sklogic's back-and-forth with me here for more uses of this: https://news.ycombinator.com/item?id=11589614


Perhaps a better name would be "meta computation" or "abstract computation".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: