7 ms·
Recursive Program Synthesis using Paramorphisms [pdf]
- fbriggs 2y agoHere's my paper on recursive program synthesis using combinator expressions from 2006: https://www.cs.hmc.edu/~oneill/papers/Combinators-ASPGP.pdf https://www.cs.hmc.edu/~oneill/papers/Combinators-ASPGP.pdf
- 082349872349872 2y agoI'd guess introns are also prevalent in human-synthesised programs?
- grugagag 2y agoWhat are human-synthesised programs?
- 082349872349872 2y agoOnes that people manually craft/write/hack up/slap together...
- almostgotcaught 2y agoAcademia is about figuring out progressively fancier and fancier sounding names for the same mundane things.
- bubblyworld 2y agoExpertise in any domain involves picking apart the mundane in progressively more complex ways! I think academia ends up with wild terminology because there's also the constraint of having to write everything down.
- almostgotcaught 2y agoI'm an expert in this domain. People make up words for the sake of sexy paper titles. You can recognize it when there's no formal definition in the body of the paper; > paramorphisms, a class of programs that includes the most common recursive programming patterns on algebraic data types "most common ... patterns". ok. they're alluding to math[1] but they're not doing math. [1] https://link.springer.com/article/10.1007/BF01211391 https://link.springer.com/article/10.1007/BF01211391
- bradrn 2y agoThey define paramorphisms more rigorously on pages 4–5.
- almostgotcaught 2y agoThat's not at all what they define in that section. They define their chosen combinator that is called "para" which is as close to what they're alluding to as a bicycle is to a semi truck.
- trealira 2y agoThey didn't coin the term paramorphism. Lambert Marteens did in 1992 [0]. It's an extension of the concept of catamorphisms. These terms were invented by people knowledgeable about category theory [1]. I also disagree with the notion that they aren't really doing math. It's very straightforward to derive programs by proving other properties of these recursive combinators. I would recommend reading A tutorial on the universality and expressiveness of fold [1] as an example of this; folds are catamorphisms, which is why I bring it up. [0]: https://www.researchgate.net/publication/256269748_Paramorphisms https://www.researchgate.net/publication/256269748_Paramorph... [1]: https://www.cambridge.org/core/journals/journal-of-functional-programming/article/tutorial-on-the-universality-and-expressiveness-of-fold/CDBAA53C7120E23CBBBE206FD47FDBAA https://www.cambridge.org/core/journals/journal-of-functiona...
- 2y ago