tag:blogger.com,1999:blog-6454006.post8778843239713922069..comments2024-01-16T14:32:49.175+00:00Comments on Arcane Sentiment: Why concatenative programming mattersArcane Sentimenthttp://www.blogger.com/profile/04144052171693893368noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-6454006.post-1862396731168549762013-09-28T02:09:33.530+00:002013-09-28T02:09:33.530+00:00I'm finding much value in concatenative progra...I'm finding much value in concatenative programming built upon John Hughes' arrow model. Essentially, the underlying data-structure is a tree instead of a stack, but the code itself is still point-free. This works especially well in combination with Huet zippers, which enables a concept of 'navigation' through the tree (i.e. a cursor-like model). And Huet zippers can be easily augmented with a user-model - e.g. 'hands' to carry things. <br /><br />Anyhow, there are several benefits to concatenative programming that Jon Purdy did not describe. <br /><br />If you have any interest in automatic code generation (e.g. via logical search, genetic programming), streaming code (e.g. for serializing values, keeping them up-to-date, or remote control of a system), pattern recognition (machine-learning, Markov models, predicting code in a stream, macro extraction, programming by example, automatic rewriting or refactoring). For such use-cases, it is very difficult to beat concatenative programming models. dmbarbourhttps://www.blogger.com/profile/12370605342201490009noreply@blogger.comtag:blogger.com,1999:blog-6454006.post-5018763489585671692013-09-20T00:43:02.381+00:002013-09-20T00:43:02.381+00:00Common subexpression elimination can be thought of...Common subexpression elimination can be thought of as changing code trees into code dags.John Cowanhttps://www.blogger.com/profile/11452247999156925669noreply@blogger.com