Sidebar

Concatenative Programming

concatenative
Concatenative Programming Andy 1 year ago 100%
code.golf now accepts Factor solutions code.golf

It also supports Forth and Nim, which can be written in a somewhat concatenative style, too.

1
0
concatenative
Concatenative Programming skyrod2 1 year ago 100%
Kcats: A Powerful, Beginner-Friendly, Stack-Based Programming Language https://skyrod-vactai.github.io/kcats/book-of-kcats.html

Hello everyone, I’m excited to introduce the alpha release of kcats, a fresh take on stack-based programming languages, inspired by the language Joy, designed with simplicity, learnability, and functionality in mind. Our aim with kcats is to make it easier for anyone to write short programs for personal automation tasks. We believe that existing languages require learning too many specialized functions and concepts. Kcats addresses these issues by offering a streamlined alternative. Originally conceived as a scripting language for a forthcoming messaging protocol, it’s useful for general programming as well. Key features of kcats: Simplicity: kcats emphasizes fewer, general-purpose tools instead of a complex array of specialized ones. Its syntax uses words and bracket quotation marks [ and ], and no other symbols. It uses a few simple programming concepts including stacks, lists, functions, and pipes. Introspective: The documentation, examples, and even the entire state of a running program, are data that can be queried and processed with the language itself. Kcats is its own debugger. Powerful and Versatile: Despite its simplicity, kcats is designed to be a powerful tool capable of handling a wide range of programming tasks. The tools programmers use in other languages are there, and built from simple primitives - closures, error handling, metaprogramming, multithreading, channels, generators, i/o, and serialization. A Focus on Tooling: kcats intends to make tool development, including IDEs and debuggers, as easy as possible. As this is the alpha release, we eagerly welcome all feedback, contributions, and constructive criticisms from the community. We’re especially interested in improving the documentation and learning experience. Join us in exploring this new language and contribute to making programming more accessible to everyone. Your feedback is essential to making it intuitive and easy to use! Please check out our docs and alpha release here: https://github.com/skyrod-vactai/kcats Happy coding! Best, Skyrod

1
0
concatenative
Concatenative Programming Andy 1 year ago 100%
New concatenative Discord server https://discord.gg/jav75FpVHg

I personally can't stand Discord, but for now it's getting some concatenative action, so I've signed up again. When I'm at a computer I'll add this to the sidebar.

1
0
concatenative
Concatenative Programming Andy 1 year ago 100%
Programming with Interaction Nets https://readonly.link/articles/https://cdn.inet.cic.run/docs/articles/programming-with-interaction-nets.md

In case that link changes, the main site is https://inet.run/ I just started reading and don't yet know about the advantages and trade-offs of a design like this.

1
0
concatenative
Concatenative Programming Andy 1 year ago 100%
Factor 0.99 Released! https://re.factorcode.org/2023/08/factor-0-99-now-available.html

It's been a long time coming, and here it is: a new stable [Factor release](https://re.factorcode.org/2023/08/factor-0-99-now-available.html) with years of improvements to enjoy. For those who don't know: > Factor is a concatenative, stack-based programming language with high-level features including dynamic types, extensible syntax, macros, and garbage collection. On a practical side, Factor has a full-featured library, supports many different platforms, and has been extensively documented. > The implementation is fully compiled for performance, while still supporting interactive development. Factor applications are portable between all common platforms. Factor can deploy stand-alone applications on all platforms. Full source code for the Factor project is available under a BSD license.

1
0
concatenative
Concatenative Programming Andy 1 year ago 100%
Represent your favorite concatenative languages over at the new c/challenges@programming.dev programming.dev

The first challenge from programming.dev's new [challenges](https://programming.dev/c/challenges) community has been posted (and so has my amateur Factor solution). I hope to see more concatenative solutions posted, and welcome any critical feedback on any of the Factor bits I submit there.

1
0
concatenative
Concatenative Programming Andy 1 year ago 100%
FYI, Codewars has a bunch of Factor exercises www.codewars.com

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](https://www.codewars.com/kata/search/factor). 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?

1
0
concatenative
Concatenative Programming Andy 1 year ago 100%
Welcome to programming.dev's concatenative programming community!

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: - Forth - [Factor](https://factorcode.org/) - [Retro](http://www.retroforth.org/) Examples of the latter include: - Nim - [Roc](https://www.roc-lang.org/tutorial#the-pipe-operator) - Unix Pipes - [Cognate](https://github.com/cognate-lang/cognate) - [Execline](http://skarnet.org/software/execline/grammar.html) --- From [Wikipedia](https://en.wikipedia.org/wiki/Concatenative_programming_language): > 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: - [concatenative wiki](https://www.concatenative.org) - [Reverse Polish Notation](https://en.wikipedia.org/wiki/Reverse_Polish_notation) - [Uniform Function Call Syntax](https://en.wikipedia.org/wiki/Uniform_Function_Call_Syntax) - [Stack-Oriented Programming](https://en.wikipedia.org/wiki/Stack-oriented_programming) - [r/concatenative](https://www.reddit.com/r/concatenative/) - GitHub Topics: - [Stack-Based Language](https://github.com/topics/stack-based-language) - [Concatenative](https://github.com/topics/concatenative) - [Concatenative Language](https://github.com/topics/concatenative-language) - [Concatenative Programming Language](https://github.com/topics/concatenative-programming-language) - [Concatenative Interpreting Language](https://github.com/topics/concatenative-interpreting-language)

1
0