{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/differentiable-functional-program","title":"Differentiable Functional Program Interpreters","arxiv_id":"1611.01988","date":"2016-11-07","proceeding":null,"authors":["John K. Feser","Marc Brockschmidt","Alexander L. Gaunt","Daniel Tarlow"],"abstract":"Programming by Example (PBE) is the task of inducing computer programs from\ninput-output examples. It can be seen as a type of machine learning where the\nhypothesis space is the set of legal programs in some programming language.\nRecent work on differentiable interpreters relaxes the discrete space of\nprograms into a continuous space so that search over programs can be performed\nusing gradient-based optimization. While conceptually powerful, so far\ndifferentiable interpreter-based program synthesis has only been capable of\nsolving very simple problems. In this work, we study modeling choices that\narise when constructing a differentiable programming language and their impact\non the success of synthesis. The main motivation for the modeling choices comes\nfrom functional programming: we study the effect of memory allocation schemes,\nimmutable data, type systems, and built-in control-flow structures. Empirically\nwe show that incorporating functional programming ideas into differentiable\nprogramming languages allows us to learn much more complex programs than is\npossible with existing differentiable languages.","url_abs":"http://arxiv.org/abs/1611.01988v2","url_pdf":"http://arxiv.org/pdf/1611.01988v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"differentiable-functional-program","repo_url":"https://github.com/ethancaballero/neural-engineers-first-attempt","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":"program-synthesis","task_name":"Program Synthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1611.01988","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}