Front Page All Articles Recent Changes Random Article

Contents

Concatenative language

  • ACL
  • Ait
  • Aocla
  • Breeze
  • Callisto
  • Cat
  • Cognate
  • colorForth
  • Concata
  • CoSy
  • Deque
  • DSSP
  • dt
  • Elymas
  • Enchilada
  • ETAC
  • F
  • Factor
  • Fiveth
  • Forth
  • Fourth
  • Freelang
  • Gershwin
  • hex
  • iNet
  • Joy
  • Joy of Postfix App
  • kcats
  • Kitten
  • lang5
  • Listack
  • LSE64
  • Lviv
  • Meow5
  • min
  • Mirth
  • mjoy
  • Mlatu
  • Ode
  • OForth
  • Om
  • Onyx
  • Plorth
  • Popr
  • Porth
  • PostScript
  • Prowl
  • Quest32
  • Quackery
  • r3
  • Raven
  • Retro
  • RPL
  • SPL
  • Staapl
  • Stabel
  • Tal
  • Titan
  • Trith
  • Uiua
  • Worst
  • xs
  • XY
  • 5th
  • 8th

Concatenative topics

  • Compilers
  • Interpreters
  • Type systems
  • Object systems
  • Quotations
  • Variables
  • Garbage collection
  • Example programs

Concatenative meta

  • People
  • Communities

Other languages

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

Meta

  • Search
  • Farkup wiki format
  • Etiquette
  • Sandbox

Breeze

Breeze is a general-purpose stack-based programming language. The main feature of the language is that the concepts of stack and dictionary are no longer distinct. In fact, dictionary words are replaced by named stacks. The process of defining a word is replaced by "pushing" onto a named stack, and that of executing a word is replaced by "popping" from a named stack. A named stack is called an application. Data and code can be moved between applications by using operations (i.e. other applications) that make use of a default stack as an intermediate. In principle, the language recognizes only numbers that can be organized into lists, which are the only form of aggregation of data/code.

As an illustration, the hello-world code example is implemented as:


    (Hello, \s World! \n\n)       
    ASC 
    StdOut
    PUTS

A possible implementation of the factorial function is:


    (
    (DUP 0 =) 
    (DROP 1) 
    (DUP 1 - Fact1 *) 
    IFTE 
    )
    (Fact1)
    PUSH

]}

For details, see [[http://sourceforge.net/projects/breeze-language/|http://sourceforge.net/projects/breeze-language/]].

This revision created on Tue, 3 Mar 2015 15:37:20 by mauro

Latest Revisions Edit

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