prose icon indicating copy to clipboard operation
prose copied to clipboard

Microsoft Program Synthesis using Examples SDK is a framework of technologies for the automatic generation of programs from input-output examples. This repo includes samples and sample data for the Mi...

Microsoft Program Synthesis using Examples SDK

The Program Synthesis using Examples (PROSE) SDK includes a set of technologies for the automatic generation of programs from input-output examples. This repo includes samples, release notes, and some other miscellaneous projects related to the Microsoft PROSE SDK.

The samples are split into two categories:

  • Samples for using existing PROSE DSL APIs to accomplish tasks in api-samples/api-samples.sln.
  • Samples for creating program synthesis solutions using the PROSE SDK by authoring a DSL in the dsl-samples directory:
    • DSL authoring tutorial
    • ProseSample
    • DSL for merge conflict resolution

You can find guides for some of these sample projects and other information about the PROSE project here: https://microsoft.github.io/prose/

Optionally, you can get started quickly using Docker:

git clone https://github.com/microsoft/prose.git
cd prose
docker build -t prose-samples .
docker run -it --rm -v "$(pwd):/opt/prose-samples" -w "/opt/prose-samples" prose-samples bash
# Inside the Docker container
cd dsl-samples/ProseSample/ProseSample  # ... or the directory for any other sample project
dotnet run  # run the sample in the current directory

Contributing

The source of truth for all the information in this repository is actually an internal Microsoft repository, and any changes made here are at risk of being overwritten by future public releases from the PROSE team. If you detect issues with any of the samples or other things in this repo, please open an issue, and someone from the PROSE team will work with you to see that the problem is addressed.


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.