A concatenative language for text processing script, inspired by ed and sam CREED is written in C and runs on POSIX platforms. CREED has unicode support out of the box.


A running program is called a state. A state has a buffer, a stack and the mark. The mark is a slice of the buffer. CREED has four data types - numbers, text, symbols and groups. Groups double as functions and arrays.


Numbers are currently signed ints. Writing them in a program pushes them onto the stack.

1 2 plus dump => [1] 3


Text is a sequence of characters. Text is written inside "".

"hello" a


Symbols are an identifier. If you just write a symbol, CREED will apply a group associated with the symbol (using bind). If you prefix a symbol with ', it will push the symbol to the stack.

'put put => put


Groups are just array of code which can be run. The are written inside {}

{ 456 } { 123 } apply dump => [1] ,group 123

build instructions


For build you need:

CREED also uses these libraries:


  1. Obtain the source code.
  2. make

This will build creed and libcreed.a.