Skip to content
Snippets Groups Projects
Select Git revision
  • synthesis
  • synthesis-scored
  • synthesis-analytics
  • vanilla
  • vanilla-analytics
  • synthesis-frugal
  • frugal
  • shuffled
  • vanilla-frugal
  • vanilla-mask
  • debug-mask
  • typeh
  • vanilla-unlets
  • vanilla-present
  • vanilla-sigs
  • vanilla-gen
  • vanilla-data
  • unimproved
  • unimproved-vanilla
  • vanilla-simple
20 results

synthesis

  • Clone with SSH
  • Clone with HTTPS
  • Typed Neuro-Symbolic Program Synthesis for the Typed Lambda Calculus

    Links

    Usage

    You can build and run this project using Cabal.

    Note that for version control merging purposes, the augmented model is stored at the synthesis branch, whereas the original NSPS model is at the vanilla branch.

    # cabal
    ghcup install latest
    ghcup set latest
    ./setup-cabal.sh
    cabal update
    source setenv
    cd synthesis
    cabal install
    
    # basic commands
    cabal build
    cabal test
    cabal repl lib:synthesis
    cabal run generator   -- --help
    cabal run generator   -- --crashOnError --maxHoles=1
    cabal run synthesizer -- --help
    
    # Generate documentation.
    cabal build --enable-documentation
    
    # running specific tests
    cabal test --test-options='-p "TypeGen"'
    
    # Profile
    cabal build --enable-profiling --ghc-options="-fno-prof-auto"
    `cabal exec which generator` +RTS -hr -hcB
    
    # viz profiling
    cabal install ghc-prof-flamegraph
    ghc-prof-flamegraph generator.prof
    cabal install profiterole
    profiterole generator.prof
    
    # plot synthesis results
    cd plotting/
    pip install -r requirements.txt
    cd ../
    python plotting/plot.py
    # makes plots for ./run-results/*.csv