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

ConVex

ConVex is a CONcatenative language implemented with VECtorS.

ConVex is implemented in C, compiles to C and inherits from C all the deficiencies of C, in one word: Overflow.

  • Integer overflow. The sum of two positive integers may be negative. Surprise.
  • Buffer overflow. ConVex makes use of small tables that may run out of space. In that case an error message is printed and the program is aborted.
  • Heap overflow. ConVex makes use of the C memory allocator and that one may report that no memory is left. In that case an error message is printed and the program is aborted.
  • Stack overflow. ConVex makes use of C functions that may be called recursively and that might overflow the stack. In that case the ConVex program will be aborted. It depends on the shell from where the program was started whether or not an error message is displayed.

On the positive side, ConVex can execute Joy programs at a greater speed than an interpreter can do. And because ConVex makes use of vectors in addition to lists, certain algorithms are expressed differently and more efficiently in ConVex than they are in Joy.

The implementation will not be realized. Instead, an approach similar to Joy is used with lists instead of vectors. Only the speed improvement remains. When finished, it will be available on GitHub. I still want to reserve this name, before anyone else takes it. Ah yes, a convex shape can be split anywhere along a straight line and results in two convex shapes.

And this is the link: https://github.com/Wodan58/Moy

This revision created on Wed, 11 May 2016 05:41:06 by Wodan58 (Link)

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.