Hacker News new | past | comments | ask | show | jobs | submit login

I believe Eurisko and Automated Mathematician generated programs that could be interpreted in such a manner. http://en.wikipedia.org/wiki/Automated_Mathematician



> AM worked by generating and modifying short Lisp programs which were then interpreted as defining various mathematical concepts; for example, a program that tested equality between the length of two lists was considered to represent the concept of numerical equality, while a program that produced a list whose length was the product of the lengths of two other lists was interpreted as representing the concept of multiplication.

This is the old representation of numbers in raw Lisp, which uses lists of length n to represent the number n. Incrementing and decrementing are easy, you simply cons or cdr. Subtraction and addition are slower, though, and multiplication, division, left- and right-shifting are really slow.

Beyond that, I'm talking about creating natural numbers for internal use; no outside interpretation happens, as it does in Automated Mathematician. At no point does the computer output these natural numbers; it just uses them to navigate a data structure so it can run a REPL.




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

Search: