[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#361008: RFP: factor -- compiler for the concatenative language Factor



Package: wnpp
Severity: wishlist


* Package name    : factor
  Version         : 0.81
  Upstream Author : Slava Pestov <slava@jedit.org>
* URL             : http://factorcode.org/
* License         : BSD
  Programming Lang: C, Factor
  Description     : compiler for the concatenative language Factor

 Factor is a dynamic programming language. The end goal is to have a high
 performance, robust language for general-purpose client-side and server-side
 application development.
 .
 Factor is a natural evolution of Forth, combining Forth's simplicity and
 minimalism with a dynamically typed runtime supporting a Lisp-style object
 model and meta-programming. Factor also builds upon ideas from Joy, K, and
 Slate.
 .
 Language features:
 - Highly minimalist, very consistent design. No layers upon layers of
     indirection, no confusing corner-cases, no poorly-thought-out features.
 - Postfix syntax with an extensible parser; values are passed on the stack.
 - Higher-order programming allows code blocks to be treated as data
     and used as parameters.
 - A powerful and very generic collections library allows many
     algorithms to be expressed in terms of bulk operations without
     micro-management of elements, recursion, or loops.
 - A very consistent object model based on generic predicate dispatch.
 - Arithmetic operations that closely model mathematical concepts,
     rather than just being a thin abstraction over underlying machine
     arithmetic. All integer operations are done in arbitrary precision,
     and exact fractions are supported. Complex numbers and
     complex-valued elementary functions are integrated.
 - Continuations, exception handling.
 - Powerful and logical meta-programming facilities. Introspection,
     code generation and extension of both syntax and semantics is very easy.
 .
 Implementation features:
 - Live development environment allows code to be written and tested
     without restarting your application. Any object in the system can
     be inspected and modified, and any piece of code can be reloaded
     and replaced on the fly.
 - Optimizing compiler (x86, PowerPC, AMD64 backends).
 - Generational garbage collection.
 - Graphical user interface framework.
 - Hypertext online help.
 - Straightforward C library interface supporting callbacks.
 - Bindings for OpenGL, FreeType, X11 and Cocoa.
 - Static stack effect inference.


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15.6
Locale: LANG=C, LC_CTYPE=fi_FI@euro (charmap=ISO-8859-15)



Reply to: