this post was submitted on 28 Mar 2024
14 points (100.0% liked)

Concatenative Programming

147 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

Let me know if I've got any of these misplaced!

Primarily Concatenative

Concatenative-ish, Chain-y, Pipe-y, Uniform Function Call Syntax, etc.


Cheat Sheets & Tutorials

Discord

IRC

Wikis

Wikipedia Topics

Subreddits

GitHub Topics

Blogs

Practice

founded 1 year ago
MODERATORS
 

Copied from the project's readme:


  • blacklight is a programming language which is concurrent, stack-based, and concatenative (BLPL)

  • blacklight is a virtual machine for implementing highly concurrent languages (BLVM)

  • blacklight is a data interchange format for communicating between processes and across networks (BLBC)

Features

blacklight (BLVM) is awesome, here's a few reasons why:

  • easy to use builtin parallelism through native concurrency primatives
  • threadsafe communication between concurrency units
  • rich datatype primitives
  • an easy to use homoiconic Forth-like assembly language (BLPL)
  • runtime bytecode manipulation and generation
  • UTF-8 native datatypes
  • multi-architecture and cross-platform (currently: x86_64, ARM, macos, linux, windows)
  • (in progress) highly optimized vector operations on supported CPUs
  • (planned) security contexts and permissions

Documentation

BLPOC

The current implementation of blacklight is a proof-of-concept. It's functional but intended primarily for proving out features, strategies, and specifications. Once The ABI is stable it will be reimplemented with optimization and compatibility in mind against a full test suite. As is, there is very little about blacklight that isn't subject to change to better reflect the results of research and experimentation.

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here