Uczenie bibliotek abstrakcji

Library learning: discovering reusable program abstractions · id librarylearning · aliases: library learning, uczenie bibliotek, learning reusable program abstractions, uczenie abstrakcji programów

Synteza programów, która wraz z rozwiązaniami uczy się nowych prymitywów języka dziedzinowego, refaktoryzując wspólne fragmenty znalezionych programów.

Program synthesis that, alongside solutions, learns new DSL primitives by refactoring fragments shared across found programs.

In one sentence

System rozwiązujący zadania programami sam wydziela z nich powtarzalne kawałki i dokłada je do swojego zestawu narzędzi.

A system that solves tasks with programs pulls out the recurring pieces and adds them to its own toolkit.

Problem it solves

Za każdym razem budowanie rozwiązania od zera jest wolne, a gotowe narzędzia rzadko pasują do nowej dziedziny.

Building every solution from scratch is slow, and ready-made tools rarely fit a new domain.

What it does

Jak rzemieślnik, który po dziesiątym podobnym zleceniu robi sobie przyrząd i odtąd każde kolejne idzie mu szybciej.

Like a craftsman who, after the tenth similar job, makes a jig so each later job goes faster.

Everyday example

Program rysujący figury po wielu zadaniach sam tworzy polecenie „narysuj wielokąt” i dalej używa go jako jednego kroku.

A drawing program, after many tasks, creates its own 'draw a polygon' command and then uses it as a single step.

This concerns you if you…

Related topics

Sources