4 ms·
It's often said that a tail call is a "goto with arguments" [1]. It's also often said that "lambda is the ultimate X," for many different X [2]. Just adding pro
by tonyg 8y ago
It's often said that a tail call is a "goto with arguments" [1]. It's also often said that "lambda is the ultimate X," for many different X [2]. Just adding proper tail calls to WebAssembly would do wonders for its expressiveness [3], in ways that adding lesser forms of goto would not.
[1] I can't find (or remember) who or where this originated! It seems to be folklore now, but it must have started somewhere.
[2] Many examples here: http://library.readscheme.org/page1.html http://library.readscheme.org/page1.html
[3] Felleisen, Matthias. ‘On the Expressive Power of Programming Languages’. In Proc. ESOP. Copenhagen, Denmark, 1990. https://pdfs.semanticscholar.org/2798/5884a1947b656424b0956f82caeddde546a1.pdf https://pdfs.semanticscholar.org/2798/5884a1947b656424b0956f...
- abecedarius 8y agoIIRC "goto with arguments" was also in [2]; I wouldn’t know of any earlier source.