lapspython.extraction

Implements classes to extract primitives and lambda expressions.

Classes

GrammarParser([grammar, mode])

Extract, parse, and store all primitives from grammar.

ProgramExtractor([result, translator])

Extract, parse and translate synthesized programs.

class lapspython.extraction.GrammarParser(grammar: Optional[dreamcoder.grammar.Grammar] = None, mode='python')[source]

Extract, parse, and store all primitives from grammar.

parse(grammar: dreamcoder.grammar.Grammar) lapspython.types.ParsedGrammar[source]

Convert Primitive objects to simplified ParsedPrimitive objects.

Parameters

grammar (dreamcoder.grammar.Grammar) – A grammar induced inside main() or ecIterator().

Return type

ParsedGrammar

fix_invented(new_invented: dict) None[source]

Replace invented primitives implementations.

Parameters

new_invented (dict) – Invented primitives from JSON file.

class lapspython.extraction.ProgramExtractor(result: Optional[dreamcoder.dreamcoder.ECResult] = None, translator: Optional[lapspython.translation.Translator] = None)[source]

Extract, parse and translate synthesized programs.

extract(result: dreamcoder.dreamcoder.ECResult, translator: Optional[lapspython.translation.Translator] = None) lapspython.types.CompactResult[source]

Extract all frontiers with descriptions and frontiers.

Parameters
  • result (dreamcoder.dreamcoder.ECResult) – Result of dreamcoder execution (checkpoint)

  • translator (lapspython.translation.Translator, optional) – Translator to translate programs during extraction.

Return type

lapspython.types.CompactResult