LapsPython

Extension of LAPS 1 to synthesize Python and R programs

Developed within the scope of the advanced software practical AI Methods and Tools for Programming offered by the Parallel and Distributed Systems Group at the Institute of Computer Science at Heidelberg University under supervision by Prof. Dr. Artur Andrzejak.

Credits of package dreamcoder go to the contributors of https://github.com/ellisk42/ec. Changes made to this package:

  1. dreamcoder/translation.py: decrease memory allocation from 64 GB to 4 GB (line 341)

  2. dreamcoder/domains/re2/re2Primitives.py: fix exception handling in lines 47, 68

  3. Added the following files with translations of Python primitives to R:

    • dreamcoder/domains/list/listPrimitives.R

    • dreamcoder/domains/re2/re2Primitives.R

    • dreamcoder/domains/text/textPrimitives.R

The LapsPython repository contains only the files necessary to run the LapsPython functionality. Compiled OCaml solvers and Moses, which are required to run LAPS itself, are system-dependent and not provided. They are not needed to run LapsPython, as it can interact with LAPS checkpoints. These checkpoints are provided.

Accounting

99% of work done by myself. Some issues based on the original project plan created by Enisa Szabo.

Contents

References

1

Wong, C., Ellis, K., Tenenbaum, J. B., & Andreas, J. (2021). Leveraging Language to Learn Program Abstractions and Search Heuristics. arXiv. https://doi.org/10.48550/ARXIV.2106.11053