Front Page All Articles Recent Changes Random Article

Contents

Concatenative language

  • ACL
  • Ait
  • Aocla
  • Breeze
  • Cat
  • Cognate
  • colorForth
  • CoSy
  • Deque
  • Elymas
  • Enchilada
  • ETAC
  • F
  • Factor
  • Forth
  • Freelang
  • Gershwin
  • Joy
  • Kitten
  • lang5
  • Lviv
  • min
  • mjoy
  • Mlatu
  • Ode
  • Om
  • Onyx
  • Plorth
  • Popr
  • Porth
  • PostScript
  • Quackery
  • r3
  • Raven
  • Retro
  • Staapl
  • Stabel
  • Trith
  • Worst
  • xs
  • XY
  • 5th
  • 8th

Other languages

  • APL
  • C++
  • Erlang
  • FP trivia
  • Haskell
  • Io
  • Java
  • JavaScript
  • Lisp
  • ML
  • Oberon
  • RPL
  • Self
  • Slate
  • Smalltalk

Computer Science

  • Type systems
  • Language paradigms
  • Compilers
  • Interpreters
  • Garbage collection

Meta

  • Search
  • Farkup wiki format
  • People
  • Etiquette
  • Sandbox

Concatenative language/Interactive development

Concatenative languages are well-suited to interactive development and experimentation. You start by pushing a few values on the stack, invoke some words, play around some more, and when you're done, your input into the listener is essentially a valid program, which turns the initial stack into the final one.

Unit testing in concatenative languages follows the same pattern. You supply a quotation, and a final stack; the quotation typically begins with a few literals which form the initial stack, although this is not always the case.

For example, with Factor's tools.test vocabulary,

{ "Hello world" } [ "Hello " "world" append ] unit-test

This revision created on Mon, 9 Jan 2023 03:32:22 by mrjbq7

Latest Revisions Edit

All content is © 2008-2023 by its respective authors. By adding content to this wiki, you agree to release it under the BSD license.