Info
Version: | 10.2.0 |
Author(s): | Microsoft |
Last Update: | Tuesday, September 24, 2024 |
.NET Fiddle: | Create the first Fiddle |
Project Url: | https://microsoft.github.io/prose/ |
NuGet Url: | https://www.nuget.org/packages/Microsoft.ProgramSynthesis |
Install
Install-Package Microsoft.ProgramSynthesis
dotnet add package Microsoft.ProgramSynthesis
paket add Microsoft.ProgramSynthesis
Microsoft.ProgramSynthesis Download (Unzip the "nupkg" after downloading)
Dependencies
.NETFramework 4.5
- Microsoft.ProgramSynthesis.Data.Diff(>= 7.25.1)
- Microsoft.ProgramSynthesis.Detection(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Json(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Text.Deprecated(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Web(>= 7.25.1)
- Microsoft.ProgramSynthesis.Matching.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Common(>= 7.25.1)
- Microsoft.ProgramSynthesis.Read.FlatFile(>= 7.25.1)
- Microsoft.ProgramSynthesis.Compound.Split(>= 7.25.1)
- Microsoft.ProgramSynthesis.Split.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Json(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Tree(>= 7.25.1)
- Microsoft.ProgramSynthesis.Data.Diff(>= 7.25.1)
- Microsoft.ProgramSynthesis.Detection(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Json(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Text.Deprecated(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Web(>= 7.25.1)
- Microsoft.ProgramSynthesis.Matching.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Common(>= 7.25.1)
- Microsoft.ProgramSynthesis.Read.FlatFile(>= 7.25.1)
- Microsoft.ProgramSynthesis.Compound.Split(>= 7.25.1)
- Microsoft.ProgramSynthesis.Split.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Json(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Tree(>= 7.25.1)
- Microsoft.ProgramSynthesis.Data.Diff(>= 7.25.1)
- Microsoft.ProgramSynthesis.Detection(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Json(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Text.Deprecated(>= 7.25.1)
- Microsoft.ProgramSynthesis.Extraction.Web(>= 7.25.1)
- Microsoft.ProgramSynthesis.Matching.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Common(>= 7.25.1)
- Microsoft.ProgramSynthesis.Read.FlatFile(>= 7.25.1)
- Microsoft.ProgramSynthesis.Compound.Split(>= 7.25.1)
- Microsoft.ProgramSynthesis.Split.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Json(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Text(>= 7.25.1)
- Microsoft.ProgramSynthesis.Transformation.Tree(>= 7.25.1)
Tags
Microsoft PROgram Synthesis using Examples SDK (PROSE) is a framework of technologies for automatic generation of programs from input-output examples, keywords, and similar forms of imprecise specification.
In PROSE, you define a domain-specific language (DSL) of programs that constitute your domain of useful tasks (e.g. a DSL of CSS selectors). At runtime, you give PROSE some (typically user-provided) input-output examples for the desired program's behavior, and its algorithms synthesize a ranked set of programs from this DSL that are consistent with the given examples. These programs can be saved and applied on similar user data after one learning session (typically with 1-4 examples).
PROSE can be used to enable programming-by-example experience in an arbitrary user-facing application, provided the app developer describes its application domain in a DSL form.
As part of the project, the PROSE framework includes a set of specific technologies for various data wrangling domains.
These include Transformation.Text, a library of string transformations first shipped as FlashFill in Microsoft Excel
2013, text extraction library with a DSL of programs that find a desired sequence of regions in a textual file, and
several others. All of these data wrangling libraries, as well as the underlying program synthesis framework, can
currently be used out of the box for research, education, and other non-commercial initiatives.