Concatenative Programming

95 readers
2 users here now

Hello!

This space is for sharing news, experiences, announcements, questions, showcases, etc. regarding concatenative programming concepts and tools.

We'll also take any programming described as:


From Wikipedia:

A concatenative programming language is a point-free computer programming language in which all expressions denote functions, and the juxtaposition of expressions denotes function composition. Concatenative programming replaces function application, which is common in other programming styles, with function composition as the default way to build subroutines.

For example, a sequence of operations in an applicative language like the following:

y = foo(x)
z = bar(y)
w = baz(z)

...is written in a concatenative language as a sequence of functions:

x foo bar baz


Active Languages

Primarily Concatenative

Somewhat Concatenative


Cheat Sheets & Tutorials

Discord

IRC

Wikis

Wikipedia Topics

Subreddits

GitHub Topics

Blogs

Practice

founded 1 year ago
MODERATORS
26
 
 

Forth, too.

Unfortunately it uses the stable Factor release 0.98 which is a bit old, but I know Factor is heading toward a new release soon, which is probably a prerequisite to updating the runtime on Codewars.

Anyway the little exercises help me get to know the language, and then when I see others' solutions I get to see how badly I've done things and what cool library words I should learn next.

Anyone else using a concatenative language on an exercises-type site like this, especially where other solutions in the same language can be shared?

27
 
 

Hello!

I requested the creation of this space because I have a real interest in (and ignorance of) concatenative programming, both the programming languages and tools that fundamentally require that pattern as well as the ones that enable it (or something similar, like ARG1 FUNC ARG2 syntax) in big or small ways here and there.

Examples of the former category include:

Examples of the latter include:


From Wikipedia:

A concatenative programming language is a point-free computer programming language in which all expressions denote functions, and the juxtaposition of expressions denotes function composition. Concatenative programming replaces function application, which is common in other programming styles, with function composition as the default way to build subroutines.

For example, a sequence of operations in an applicative language like the following:

y = foo(x)
z = bar(y)
w = baz(z)

...is written in a concatenative language as a sequence of functions:

x foo bar baz


This space is meant for sharing news, experiences, announcements, questions, showcases, etc. regarding these topics and tools.


Related: