Herb.jl: Teaching programs how to program

Wouldn't it be great if a computer could program itself? You simply tell it what you want, magic happens, and you have your program. While this is still a farfetched dream, here we will introduce you to Herb.jl, a Julia library that gets us a step closer to this big goal through program synthesis: the task of automatically generating programs from a given specification.Herb.jl serves two main goals. First, it aims to provide a missing toolbox for developing new program synthesisers, which is currently missing in the community. Second, it aims to unify many different flavours of program synthesis under a joint framework, making existing program synthesisers easy to use on new problems.In this talk we will give a high-level introduction to program synthesis. We will present Herb.jl and show how Julia facilitates the library development on one hand, but also algorithm speed and composability of the synthesis procedure.We will also address the challenges of realising such a software project in an academic setting, where a mix of researchers, PhDs, students and RSEs contribute to the library. A recording of this session is available on YouTube: https://youtu.be/HPnjDg77q-Y

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2024-12-06
DOI
https://doi.org/10.5281/zenodo.14290385
Primary Topic
Teaching and Learning Programming
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Herb.jl: Teaching programs how to program

Zenodo (CERN European Organization for Nuclear Research)
Teaching and Learning Programming
article

Herb.jl: Teaching programs how to program

article en

Abstract

Wouldn't it be great if a computer could program itself? You simply tell it what you want, magic happens, and you have your program. While this is still a farfetched dream, here we will introduce you to Herb.jl, a Julia library that gets us a step closer to this big goal through program synthesis: the task of automatically generating programs from a given specification.Herb.jl serves two main goals. First, it aims to provide a missing toolbox for developing new program synthesisers, which is currently missing in the community. Second, it aims to unify many different flavours of program synthesis under a joint framework, making existing program synthesisers easy to use on new problems.In this talk we will give a high-level introduction to program synthesis. We will present Herb.jl and show how Julia facilitates the library development on one hand, but also algorithm speed and composability of the synthesis procedure.We will also address the challenges of realising such a software project in an academic setting, where a mix of researchers, PhDs, students and RSEs contribute to the library. A recording of this session is available on YouTube: https://youtu.be/HPnjDg77q-Y

Zenodo (CERN European Organization for Nuclear Research)
Inha University (KR), Weatherford College (US)
Openalex Percentile: Top 60%
Teaching and Learning Programming
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.