---
title: "Programming with a Differentiable Forth Interpreter (2016)"
description: "Bošnjak et al. present ∂4, a continuous, differentiable version of the abstract machine behind the… 36 references, cited by 27 papers here."
authors: ["Matko Bošnjak", "Tim Rocktäschel", "Jason Naradowsky", "Sebastian Riedel"]
year: 2016
venue: "arXiv:1605.06640"
source: "https://arxiv.org/abs/1605.06640"
doi: "10.48550/arxiv.1605.06640"
arxiv: "1605.06640"
licence: "arXiv — non-exclusive licence to distribute"
licence_url: "http://arxiv.org/licenses/nonexclusive-distrib/1.0/"
summary_licence: "Elamur Cosmic License"
canonical: "https://research.elamur.ai/free/en/papers/bosnjak-2016-programming-differentiable-forth-interpreter/"
---
[Elamur Research](https://md.research.elamur.ai/free/en/) · [this page in HTML](https://research.elamur.ai/free/en/papers/bosnjak-2016-programming-differentiable-forth-interpreter/)

[home](https://md.research.elamur.ai/free/en/) / [papers](https://md.research.elamur.ai/free/en/papers/) / [2016](https://md.research.elamur.ai/free/en/papers/2016/page/3/) / Programming with a Differentiable Forth Interpreter

# Programming with a Differentiable Forth Interpreter

**Authors:** [Matko Bošnjak](https://md.research.elamur.ai/free/en/authors/matko-bosnjak/), [Tim Rocktäschel](https://md.research.elamur.ai/free/en/authors/tim-rocktaschel/), [Jason Naradowsky](https://md.research.elamur.ai/free/en/authors/jason-naradowsky/) and [Sebastian Riedel](https://md.research.elamur.ai/free/en/authors/sebastian-riedel/) · **Year:** 2016 · **Venue:** arXiv:1605.06640 · **Licence:** [arXiv — non-exclusive licence to distribute](http://arxiv.org/licenses/nonexclusive-distrib/1.0/)

**Links:** [Publisher's page](https://arxiv.org/abs/1605.06640) · [PDF](https://arxiv.org/pdf/1605.06640) · [DOI 10.48550/arxiv.1605.06640](https://doi.org/10.48550/arxiv.1605.06640) · [arXiv 1605.06640](https://arxiv.org/abs/1605.06640) · [OpenAlex](https://openalex.org/W2963055053)

**Citations:** 89 citations (OpenAlex, 2026-10-14) · [27](https://md.research.elamur.ai/free/en/papers/bosnjak-2016-programming-differentiable-forth-interpreter/cited-by/) in our library, of the 149,439 papers whose bibliographies we read

## Summary
Neural networks that learn algorithms usually depend on large amounts of input-output data. A programmer, however, often knows the rough shape of a solution, such as how to walk through a sequence, without knowing the exact operation needed at each step. Bošnjak et al. present ∂4, a continuous, differentiable version of the abstract machine behind the stack-based language Forth. Users write program "sketches": ordinary Forth code with gaps (slots) that neural networks fill in. These slots are trained by backpropagation on input-output pairs. Execution runs as an RNN in TensorFlow over differentiable stacks, a heap and a program counter.

The authors tested sketches with different amounts of prior structure on sorting and addition tasks from Reed & de Freitas. With only the recursive structure provided, the learned programs generalised to input sizes not seen in training. Coupled with a BiLSTM and trained jointly on word algebra problems, ∂4 achieved state-of-the-art end-to-end accuracy without hand-built intermediate representations. This shows that partial code knowledge can act as a strong prior when data is scarce.

## Key points
- The machine state has a data stack D, a return stack R, a heap H and a program counter c. Each is implemented as a differentiable memory buffer with read/write operations similar to the Neural Turing Machine.
- Forth words such as DUP, DROP and SWAP are turned into differentiable state transitions. Control flow reduces to jumps via BRANCH and BRANCH0.
- Two sketch styles are demonstrated for Bubble sort:
  - **PERMUTE** learns how to reorder the top stack elements.
  - **COMPARE** learns whether to apply NOP or SWAP.
- For word algebra problems, BiLSTM outputs (a representation of the whole problem, context vectors of the numbers, and the numbers themselves) are written into the heap H. This makes the whole pipeline end-to-end differentiable.
- The paper also introduces code optimisations based on symbolic execution that speed up neural execution. It was published at ICML 2017 (PMLR 70), with authors from UCL, Oxford and Cambridge.

*Our summary of the paper, in our own words — not its text. The work belongs to its authors; read it at the links above.*

## Institutions

- [University of Cambridge](https://md.research.elamur.ai/free/en/universities/university-of-cambridge/) — University, Cambridge, United Kingdom · 287 works · 125,174 citations
- [University of Oxford](https://md.research.elamur.ai/free/en/universities/university-of-oxford/) — University, Oxford, United Kingdom · 138 works · 161,448 citations
- [University College London](https://md.research.elamur.ai/free/en/universities/university-college-london/) — University, London, United Kingdom · 119 works · 23,545 citations

📚 Shelves (5): [🖥️ Computer Science](https://md.research.elamur.ai/free/en/shelves/computer-science/) · 19,503 works · [🤖 Artificial Intelligence](https://md.research.elamur.ai/free/en/shelves/computer-science/artificial-intelligence/) · 18,805 works · [🎭 Arts and Humanities](https://md.research.elamur.ai/free/en/shelves/arts-and-humanities/) · 17,959 works · [🗣️ Language and Linguistics](https://md.research.elamur.ai/free/en/shelves/arts-and-humanities/language-and-linguistics/) · 17,789 works · [🖥️ Computer Science Applications](https://md.research.elamur.ai/free/en/shelves/computer-science/computer-science-applications/) · 184 works

## Cite

Cite as: Matko Bošnjak, Tim Rocktäschel, Jason Naradowsky and Sebastian Riedel. 2016. Programming with a Differentiable Forth Interpreter. arXiv:1605.06640.

The paper itself, not this page. BibTeX from the library's record of the work.

```bibtex
@misc{bosnjak2016programming,
  title = {{Programming with a Differentiable Forth Interpreter}},
  author = {Matko Bošnjak, Tim Rocktäschel, Jason Naradowsky and Sebastian Riedel},
  year = {2016},
  doi = {10.48550/arxiv.1605.06640},
  eprint = {1605.06640},
  archivePrefix = {arXiv},
  url = {https://doi.org/10.48550/arxiv.1605.06640}
}
```

- [← previous Image-to-Markup Generation with Coarse-to-Fine Attention](https://md.research.elamur.ai/free/en/papers/deng-2016-image-markup-generation-coarse-fine/)
- [next → WikiCoref: An English Coreference-annotated Corpus of Wikipedia Articles](https://md.research.elamur.ai/free/en/papers/ghaddar-2016-wikicoref-english-coreference-annotated-corpus/)
- [↑ back to papers of 2016](https://md.research.elamur.ai/free/en/papers/2016/page/3/)

## References

36 references, 5 of them with a card of ours. ↗ leads to the work, «find» searches for one we have no id for yet.

1. Abadi, Martı́n, Agarwal, Ashish, Barham, Paul, Brevdo, Eugene, Chen, Zhifeng, Citro, Craig, Corrado, Greg S., Davis, Andy, Dean, Jeffrey, Devin, Matthieu, Ghemawat, Sanjay, Goodfellow, Ian, Harp, Andrew, Irving, Geoffrey, Isard, Michael, Jia, Yangqing, Jozefowicz, Rafal, Kaiser, Lukasz, Kudlur, Manj… [find](https://scholar.google.com/scholar?q=Abadi%2C+Mart%C4%B1%CC%81n%2C+Agarwal%2C+Ashish%2C+Barham%2C+Paul%2C+Brevdo%2C+Eugene%2C+Chen%2C+Zhifeng%2C+Citro%2C+Craig%2C+Corrado%2C+Greg+S%2E%2C+Davis%2C+Andy%2C+Dean%2C+Jeffrey%2C+Devin%2C+Matthieu%2C+Ghemawat%2C+Sanjay%2C+Goodfellow%2C+Ian%2C+Harp%2C+Andr)
2. Albarghouthi, Aws, Gulwani, Sumit, and Kincaid, Zachary. Recursive program synthesis. In Computer Aided Verification, pp. 934–950. Springer, 2013. [find](https://scholar.google.com/scholar?q=Albarghouthi%2C+Aws%2C+Gulwani%2C+Sumit%2C+and+Kincaid%2C+Zachary%2E+Recursive+program+synthesis%2E+In+Computer+Aided+Verification%2C+pp%2E+934%E2%80%93950%2E+Springer%2C+2013%2E)
3. Andreas, Jacob, Rohrbach, Marcus, Darrell, Trevor, and Klein, Dan. [Neural module networks](https://md.research.elamur.ai/free/en/papers/andreas-2015-neural-module-networks/). In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.
4. ANSI. Programming Languages - Forth, 1994. American National Standard for Information Systems, ANSI X3.215-1994. [find](https://scholar.google.com/scholar?q=ANSI%2E+Programming+Languages+%2D+Forth%2C+1994%2E+American+National+Standard+for+Information+Systems%2C+ANSI+X3%2E215%2D1994%2E)
5. Bouchard, Guillaume, Stenetorp, Pontus, and Riedel, Sebastian. Learning to generate textual data. In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1608–1616, 2016. [find](https://scholar.google.com/scholar?q=Bouchard%2C+Guillaume%2C+Stenetorp%2C+Pontus%2C+and+Riedel%2C+Sebastian%2E+Learning+to+generate+textual+data%2E+In+Proceedings+of+the+Conference+on+Empirical+Methods+in+Natural+Language+Processing+%28EMNLP%29%2C+pp%2E+1608)
6. Brodie, Leo. Starting Forth. Forth Inc., 1980. [find](https://scholar.google.com/scholar?q=Brodie%2C+Leo%2E+Starting+Forth%2E+Forth+Inc%2E%2C+1980%2E)
7. Bunel, Rudy, Desmaison, Alban, Kohli, Pushmeet, Torr, Philip HS, and Kumar, M Pawan. Adaptive neural compilation. In Proceedings of the Conference on Neural Information Processing Systems (NIPS), 2016. [find](https://scholar.google.com/scholar?q=Bunel%2C+Rudy%2C+Desmaison%2C+Alban%2C+Kohli%2C+Pushmeet%2C+Torr%2C+Philip+HS%2C+and+Kumar%2C+M+Pawan%2E+Adaptive+neural+compilation%2E+In+Proceedings+of+the+Conference+on+Neural+Information+Processing+Systems+%28NIPS%29%2C+2016)
8. Gaunt, Alexander L, Brockschmidt, Marc, Singh, Rishabh, Kushman, Nate, Kohli, Pushmeet, Taylor, Jonathan, and Tarlow, Daniel. TerpreT: A Probabilistic Programming Language for Program Induction. arXiv preprint arXiv:1608.04428, 2016. [find](https://scholar.google.com/scholar?q=Gaunt%2C+Alexander+L%2C+Brockschmidt%2C+Marc%2C+Singh%2C+Rishabh%2C+Kushman%2C+Nate%2C+Kohli%2C+Pushmeet%2C+Taylor%2C+Jonathan%2C+and+Tarlow%2C+Daniel%2E+TerpreT%3A+A+Probabilistic+Programming+Language+for+Program+Induction%2E+arXiv)
9. Goodman, Noah, Mansinghka, Vikash, Roy, Daniel M, Bonawitz, Keith, and Tenenbaum, Joshua B. Church: a language for generative models. In Proceedings of the Conference in Uncertainty in Artificial Intelligence (UAI), pp. 220–229, 2008. [find](https://scholar.google.com/scholar?q=Goodman%2C+Noah%2C+Mansinghka%2C+Vikash%2C+Roy%2C+Daniel+M%2C+Bonawitz%2C+Keith%2C+and+Tenenbaum%2C+Joshua+B%2E+Church%3A+a+language+for+generative+models%2E+In+Proceedings+of+the+Conference+in+Uncertainty+in+Artificial+Inte)
10. Graves, Alex, Wayne, Greg, and Danihelka, Ivo. Neural Turing Machines. arXiv preprint arXiv:1410.5401, 2014. [find](https://scholar.google.com/scholar?q=Graves%2C+Alex%2C+Wayne%2C+Greg%2C+and+Danihelka%2C+Ivo%2E+Neural+Turing+Machines%2E+arXiv+preprint+arXiv%3A1410%2E5401%2C+2014%2E)
11. Graves, Alex, Wayne, Greg, Reynolds, Malcolm, Harley, Tim, Danihelka, Ivo, Grabska-Barwińska, Agnieszka, Colmenarejo, Sergio Gómez, Grefenstette, Edward, Ramalho, Tiago, Agapiou, John, et al. Hybrid computing using a neural network with dynamic external memory. Nature, 538(7626):471–476, 2016. [find](https://scholar.google.com/scholar?q=Graves%2C+Alex%2C+Wayne%2C+Greg%2C+Reynolds%2C+Malcolm%2C+Harley%2C+Tim%2C+Danihelka%2C+Ivo%2C+Grabska%2DBarwin%CC%81ska%2C+Agnieszka%2C+Colmenarejo%2C+Sergio+Go%CC%81mez%2C+Grefenstette%2C+Edward%2C+Ramalho%2C+Tiago%2C+Agapiou%2C+John%2C+et+al%2E+Hybrid)
12. Grefenstette, Edward, Hermann, Karl Moritz, Suleyman, Mustafa, and Blunsom, Phil. Learning to Transduce with Unbounded Memory. In Proceedings of the Conference on Neural Information Processing Systems (NIPS), pp. 1819–1827, 2015. [find](https://scholar.google.com/scholar?q=Grefenstette%2C+Edward%2C+Hermann%2C+Karl+Moritz%2C+Suleyman%2C+Mustafa%2C+and+Blunsom%2C+Phil%2E+Learning+to+Transduce+with+Unbounded+Memory%2E+In+Proceedings+of+the+Conference+on+Neural+Information+Processing+Systems)
13. Gruau, Frédéric, Ratajszczak, Jean-Yves, and Wiber, Gilles. A Neural compiler. Theoretical Computer Science, 141 (1):1–52, 1995. [find](https://scholar.google.com/scholar?q=Gruau%2C+Fre%CC%81de%CC%81ric%2C+Ratajszczak%2C+Jean%2DYves%2C+and+Wiber%2C+Gilles%2E+A+Neural+compiler%2E+Theoretical+Computer+Science%2C+141+%281%29%3A1%E2%80%9352%2C+1995%2E)
14. Hochreiter, Sepp and Schmidhuber, Jürgen. Long short-term memory. Neural Computation, 9(8):1735–1780, 1997. [find](https://scholar.google.com/scholar?q=Hochreiter%2C+Sepp+and+Schmidhuber%2C+Ju%CC%88rgen%2E+Long+short%2Dterm+memory%2E+Neural+Computation%2C+9%288%29%3A1735%E2%80%931780%2C+1997%2E)
15. Joulin, Armand and Mikolov, Tomas. Inferring Algorithmic Patterns with Stack-Augmented Recurrent Nets. In Proceedings of the Conferences on Neural Information Processing Systems (NIPS), pp. 190–198, 2015. [find](https://scholar.google.com/scholar?q=Joulin%2C+Armand+and+Mikolov%2C+Tomas%2E+Inferring+Algorithmic+Patterns+with+Stack%2DAugmented+Recurrent+Nets%2E+In+Proceedings+of+the+Conferences+on+Neural+Information+Processing+Systems+%28NIPS%29%2C+pp%2E+190%E2%80%93198%2C+2)
16. Kaiser, Łukasz and Sutskever, Ilya. Neural GPUs learn algorithms. In Proceedings of the International Conference on Learning Representations (ICLR), 2015. [find](https://scholar.google.com/scholar?q=Kaiser%2C+%C5%81ukasz+and+Sutskever%2C+Ilya%2E+Neural+GPUs+learn+algorithms%2E+In+Proceedings+of+the+International+Conference+on+Learning+Representations+%28ICLR%29%2C+2015%2E)
17. King, James C. Symbolic Execution and Program Testing. Commun. ACM, 19(7):385–394, 1976. [find](https://scholar.google.com/scholar?q=King%2C+James+C%2E+Symbolic+Execution+and+Program+Testing%2E+Commun%2E+ACM%2C+19%287%29%3A385%E2%80%93394%2C+1976%2E)
18. Kingma, Diederik and Ba, Jimmy. [Adam: A Method for Stochastic Optimization](https://md.research.elamur.ai/free/en/papers/kingma-2014-adam-method-stochastic-optimization/). In Proceedings of the International Conference for Learning Representations (ICLR), 2015.
19. Kitzelmann, Emanuel. Inductive Programming: A Survey of Program Synthesis Techniques. In International Workshop on Approaches and Applications of Inductive Programming, pp. 50–73, 2009. [find](https://scholar.google.com/scholar?q=Kitzelmann%2C+Emanuel%2E+Inductive+Programming%3A+A+Survey+of+Program+Synthesis+Techniques%2E+In+International+Workshop+on+Approaches+and+Applications+of+Inductive+Programming%2C+pp%2E+50%E2%80%9373%2C+2009%2E)
20. Koncel-Kedziorski, Rik, Hajishirzi, Hannaneh, Sabharwal, Ashish, Etzioni, Oren, and Ang, Siena. Parsing Algebraic Word Problems into Equations. Transactions of the Association for Computational Linguistics (TACL), 3: 585–597, 2015. [find](https://scholar.google.com/scholar?q=Koncel%2DKedziorski%2C+Rik%2C+Hajishirzi%2C+Hannaneh%2C+Sabharwal%2C+Ashish%2C+Etzioni%2C+Oren%2C+and+Ang%2C+Siena%2E+Parsing+Algebraic+Word+Problems+into+Equations%2E+Transactions+of+the+Association+for+Computational+Lingui)
21. Koza, John R. Genetic Programming: On the Programming of Computers by Means of Natural Selection, volume 1. MIT press, 1992. [find](https://scholar.google.com/scholar?q=Koza%2C+John+R%2E+Genetic+Programming%3A+On+the+Programming+of+Computers+by+Means+of+Natural+Selection%2C+volume+1%2E+MIT+press%2C+1992%2E)
22. Kurach, Karol, Andrychowicz, Marcin, and Sutskever, Ilya. [Neural Random-Access Machines](https://md.research.elamur.ai/free/en/papers/kurach-2015-neural-random-access-machines/). In Proceedings of the International Conference on Learning Representations (ICLR), 2016.
23. Kushman, Nate, Artzi, Yoav, Zettlemoyer, Luke, and Barzilay, Regina. Learning to Automatically Solve Algebra Word Problems. In Proceedings of the Annual Meeting of the Association for Computational Linguistics (ACL), pp. 271–281, 2014. [find](https://scholar.google.com/scholar?q=Kushman%2C+Nate%2C+Artzi%2C+Yoav%2C+Zettlemoyer%2C+Luke%2C+and+Barzilay%2C+Regina%2E+Learning+to+Automatically+Solve+Algebra+Word+Problems%2E+In+Proceedings+of+the+Annual+Meeting+of+the+Association+for+Computational+Li)
24. Lau, Tessa, Wolfman, Steven A., Domingos, Pedro, and Weld, Daniel S. Learning repetitive text-editing procedures with smartedit. In Your Wish is My Command, pp. 209–226. Morgan Kaufmann Publishers Inc., 2001. [find](https://scholar.google.com/scholar?q=Lau%2C+Tessa%2C+Wolfman%2C+Steven+A%2E%2C+Domingos%2C+Pedro%2C+and+Weld%2C+Daniel+S%2E+Learning+repetitive+text%2Dediting+procedures+with+smartedit%2E+In+Your+Wish+is+My+Command%2C+pp%2E+209%E2%80%93226%2E+Morgan+Kaufmann+Publishers+Inc)
25. Maclaurin, Dougal, Duvenaud, David, and Adams, Ryan P. Gradient-based Hyperparameter Optimization through Reversible Learning. In Proceedings of the International Conference on Machine Learning (ICML), 2015. [find](https://scholar.google.com/scholar?q=Maclaurin%2C+Dougal%2C+Duvenaud%2C+David%2C+and+Adams%2C+Ryan+P%2E+Gradient%2Dbased+Hyperparameter+Optimization+through+Reversible+Learning%2E+In+Proceedings+of+the+International+Conference+on+Machine+Learning+%28ICML%29)
26. Manna, Zohar and Waldinger, Richard J. Toward automatic program synthesis. Communications of the ACM, 14(3): 151–165, 1971. [find](https://scholar.google.com/scholar?q=Manna%2C+Zohar+and+Waldinger%2C+Richard+J%2E+Toward+automatic+program+synthesis%2E+Communications+of+the+ACM%2C+14%283%29%3A+151%E2%80%93165%2C+1971%2E)
27. Neelakantan, Arvind, Le, Quoc V, and Sutskever, Ilya. Neural Programmer: Inducing latent programs with gradient descent. In Proceedings of the International Conference on Learning Representations (ICLR), 2015a. [find](https://scholar.google.com/scholar?q=Neelakantan%2C+Arvind%2C+Le%2C+Quoc+V%2C+and+Sutskever%2C+Ilya%2E+Neural+Programmer%3A+Inducing+latent+programs+with+gradient+descent%2E+In+Proceedings+of+the+International+Conference+on+Learning+Representations+%28ICL)
28. Neelakantan, Arvind, Vilnis, Luke, Le, Quoc V, Sutskever, Ilya, Kaiser, Lukasz, Kurach, Karol, and Martens, James. Adding Gradient Noise Improves Learning for Very Deep Networks. arXiv preprint arXiv:1511.06807, 2015b. [find](https://scholar.google.com/scholar?q=Neelakantan%2C+Arvind%2C+Vilnis%2C+Luke%2C+Le%2C+Quoc+V%2C+Sutskever%2C+Ilya%2C+Kaiser%2C+Lukasz%2C+Kurach%2C+Karol%2C+and+Martens%2C+James%2E+Adding+Gradient+Noise+Improves+Learning+for+Very+Deep+Networks%2E+arXiv+preprint+arXiv%3A)
29. Nordin, Peter. Evolutionary Program Induction of Binary Machine Code and its Applications. PhD thesis, der Universitat Dortmund am Fachereich Informatik, 1997. [find](https://scholar.google.com/scholar?q=Nordin%2C+Peter%2E+Evolutionary+Program+Induction+of+Binary+Machine+Code+and+its+Applications%2E+PhD+thesis%2C+der+Universitat+Dortmund+am+Fachereich+Informatik%2C+1997%2E)
30. Reed, Scott and de Freitas, Nando. Neural programmer-interpreters. In Proceedings of the International Conference on Learning Representations (ICLR), 2015. [find](https://scholar.google.com/scholar?q=Reed%2C+Scott+and+de+Freitas%2C+Nando%2E+Neural+programmer%2Dinterpreters%2E+In+Proceedings+of+the+International+Conference+on+Learning+Representations+%28ICLR%29%2C+2015%2E)
31. Roy, Subhro and Roth, Dan. [Solving General Arithmetic Word Problems](https://md.research.elamur.ai/free/en/papers/roy-2015-solving-general-arithmetic-word-problems/). In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1743–1752, 2015.
32. Roy, Subhro, Vieira, Tim, and Roth, Dan. Reasoning about quantities in natural language. Transactions of the Association for Computational Linguistics (TACL), 3: 1–13, 2015. [find](https://scholar.google.com/scholar?q=Roy%2C+Subhro%2C+Vieira%2C+Tim%2C+and+Roth%2C+Dan%2E+Reasoning+about+quantities+in+natural+language%2E+Transactions+of+the+Association+for+Computational+Linguistics+%28TACL%29%2C+3%3A+1%E2%80%9313%2C+2015%2E)
33. Siegelmann, Hava T. Neural Programming Language. In Proceedings of the Twelfth AAAI National Conference on Artificial Intelligence, pp. 877–882, 1994. [find](https://scholar.google.com/scholar?q=Siegelmann%2C+Hava+T%2E+Neural+Programming+Language%2E+In+Proceedings+of+the+Twelfth+AAAI+National+Conference+on+Artificial+Intelligence%2C+pp%2E+877%E2%80%93882%2C+1994%2E)
34. Solar-Lezama, Armando, Rabbah, Rodric, Bodı́k, Rastislav, and Ebcioğlu, Kemal. Programming by Sketching for Bit-streaming Programs. In Proceedings of Programming Language Design and Implementation (PLDI), pp. 281–294, 2005. [find](https://scholar.google.com/scholar?q=Solar%2DLezama%2C+Armando%2C+Rabbah%2C+Rodric%2C+Bod%C4%B1%CC%81k%2C+Rastislav%2C+and+Ebciog%CC%86lu%2C+Kemal%2E+Programming+by+Sketching+for+Bit%2Dstreaming+Programs%2E+In+Proceedings+of+Programming+Language+Design+and+Implementation+%28P)
35. Solar-Lezama, Armando, Tancau, Liviu, Bodik, Rastislav, Seshia, Sanjit, and Saraswat, Vijay. Combinatorial Sketching for Finite Programs. In ACM Sigplan Notices, volume 41, pp. 404–415, 2006. [find](https://scholar.google.com/scholar?q=Solar%2DLezama%2C+Armando%2C+Tancau%2C+Liviu%2C+Bodik%2C+Rastislav%2C+Seshia%2C+Sanjit%2C+and+Saraswat%2C+Vijay%2E+Combinatorial+Sketching+for+Finite+Programs%2E+In+ACM+Sigplan+Notices%2C+volume+41%2C+pp%2E+404%E2%80%93415%2C+2006%2E)
36. Sutskever, Ilya, Vinyals, Oriol, and Le, Quoc V. [Sequence to Sequence Learning with Neural Networks](https://md.research.elamur.ai/free/en/papers/sutskever-2014-sequence-sequence-learning-neural-networks/). In Proceedings of the Conference on Neural Information Processing Systems (NIPS), pp. 3104–3112, 2014.

*Updated 3 November 2026*
