Factor/Java Factor

Java Factor or JFactor refers to the implementation of Factor in Java, which is now all but obsolete.

The old Factor downloads directory has some JFactor releases; the last Factor release to include JFactor was version 0.68.

JFactor was abandoned for several reasons:

  • The JVM does not support efficient Tail calls or Continuations. JFactor would simulate its own call stack, leading to a performance hit.
  • The JVM does not support efficient Multiple dispatch, so performance of generic arithmetic suffered.
  • Because there's no way to dump an image with the JVM, much of the implementation had to be written in Java -- the parser, compiler, and so on. The amount of Factor code parsed on startup had to be minimized to avoid long delays, and this complicated the implementation and made this less elegant.
  • Most Java implementations cannot deploy stand-alone native executables.

This revision created on Tue, 9 Sep 2008 04:28:02 by slava