by strzalek on 6/30/17, 4:42 PM with 23 comments
by Smaug123 on 6/30/17, 7:34 PM
My first thought was that while this was really cool, it does seem to have only a finite tape; I would be quite prepared to believe it was possible to have an unbounded tape, but my mind would be blown. The author admits that the tape is indeed finite.
by flavio81 on 7/1/17, 8:04 AM
I am really laughing with their publications: http://sigbovik.org/2017/proceedings.pdf
For example skip to page 114, "Automated Distributed Execution of LLVM code using SQL JIT Compilation" with such gems as:
"The resulting PL/pgSQL code can then be executed on any database system, as long as that database system is PostgreSQL"
"Another solution to distributed programming has been proposed by Microsoft with their innovative Excel system. In large companies, distributed execution can be achieved using Microsoft Excel by having hundreds of people all sitting on their own machine working with Excel spreadsheets. These hundreds of people combined can easily do the work of a single database server"
"For easy reproducibility, we have included a SHA-3 hash of the complete source code [2]. If you want to reproduce the experiments, simply reverse this hash and run the provided source code. "
I'm not putting more quotes because they would be spoilers.
by candiodari on 7/1/17, 5:11 AM
"Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."
You can, of course, safely drop the "C or Fortran" part.
Every program I've ever written, if it keeps getting used, maintained and expanded after ~2 years it gets it's own programming language, and therefore usually becomes turing-complete.
The most powerful abstraction one can make in an application is the ability to quickly combine large parts of the application into new functionalities, effectively implementing a programming language. Usually this starts with "macros": the ability to specify sequences to be executed in series with either fully implicit data-passing (e.g. we're always acting on this global state), and then someone points out that variables would be really good, and then you do that : local, named variables in macros. And there's your programming language.
by nayuki on 6/30/17, 9:50 PM
by kazinator on 6/30/17, 7:34 PM