Welcome to
herb_blue_white_background.png
A program synthesis library written in Julia

 

Build Status Dev-Docs

When writing research software we almost always investigate highly specific properties or algorithms of our domain, leading to us building the tools from scratch over and over again. The very same is true for the field of program synthesis: tools are hard to run, benchmarks are hard to get and prepare, and it is hard to adapt our existing code to a novel idea.

Herb.jl will take care of this for you and help you to define, solve, and extend your program synthesis problems.

Herb.jl provides…

  • a unified and universal framework for program synthesis
  • a fast notion to describe all sorts of program synthesis problems with different specifications and grammars
  • many state-of-the-art benchmarks and solvers already implemented and usable out-of-the-box

Check out our documentation and the repository.

Try it out!

For anyone new to program synthesis, we offer tutorials to get you familiar with program synthesis within Herb.jl.

To those of you already familiar with program synthesis, we invite you to check out our Garden where we have implemented some well-known synthesizers within Herb.jl, so you can easily benchmark against them.

 

news

Jul 9, 2024 We are presenting Herb.jl to JuliaCon 2024! Please visit our poster on Wednesday, July 10 (6:30pm For Loop = 3.2) or come to our talk by Tilman Hinnerichs on Thursday, July 11, at 10:00 (Method = 1.5)!
Jul 5, 2024 A year since our first, we are now in our fifth HerbHackathon. With JuliaCon next week, we are getting Herb ready for the world to see, adding our new Garden with Herb implementations of other synthesizers.
Apr 5, 2024 Our fourth HerbHackathon is a fact. We worked on refactoring the code base to include HerbConstraints and set up the possibility of adding other constraint solvers.
Jan 19, 2024 We had our third HerbHackathon this week. This time we were able to fix some bugs, and we did a major refactor to focus more on context-free grammars.
Oct 18, 2023 The second iteration of our joint HerbHackathon took place over the past two days. We started adding benchmarks to be easily executed with Herb.jl.

selected publications

2022

  1. ILP
    Inductive logic programming at 30: a new introduction
    Andrew Cropper, and Sebastijan Dumančić
    Journal of Artificial Intelligence Research, 2022
   
PONY lab, Algorithmics Group, TU Delft
Lovingly maintained by the core team of volunteers.