Saturday, April 20, 2013

Factor 0.96 now available

"You're smart too late and old too soon." - Mike Tyson

I'm very pleased to announce the release of Factor 0.96!

OS/CPUWindowsMac OS XLinux
x86
x86-64

Source code: 0.96

This release is brought to you with over 1100 commits by the following individuals:

Alex Vondrak, Benjamin Pollack, Daniel Nagel, Doug Coleman, John Benediktsson, Jon Harper, Michael T. Richter, and @PGGB.

Aside from bug fixes and various library improvements, I want to highlight the following changes:

  • Major compiler improvements (thanks Alex Vondrak!):
    • Global Value Numbering (disabled currently by default)
    • Parallel-Copy Semantics
  • Performance improvements to hashtables, hash-sets, heaps, and bloom-filters.
  • Support for Retina Displays on OS X
  • Greatly improved table gadget performance
  • PDF streams (and related PDF documentation)!
  • Speed up math comparisons
  • Support resize-window (thanks Jon Harper!)
  • New logo and icons for Factor
  • Added editor support for Textadept, Sublime Text, Geany, BBEdit, and XCode.

Some possible backwards compatibility issues:

  • Changed <groups>, <clumps>, and <circular-clumps> to use slices.
  • Removed <slicing-groups>, <slicing-clumps>, <slicing-circular-clumps>.
  • Renamed editors.notepadpp to editors.notepad++.

Since quite a few performance improvements have been made, I thought I would highlight some improvements using our benchmarks against version 0.95. The chart below shows benchmark time in 0.96 as a percent of the time it took in 0.95, lower is better:


What is Factor

Factor is a concatenative, stack-based programming language with high-level features including dynamic types, extensible syntax, macros, and garbage collection. On a practical side, Factor has a full-featured library, supports many different platforms, and has been extensively documented.

The implementation is fully compiled for performance, while still supporting interactive development. Factor applications are portable between all common platforms. Factor can deploy stand-alone applications on all platforms. Full source code for the Factor project is available under a BSD license.


New Libraries

14 comments:

  1. Is there a HelloWorld demo I could try out?

    ReplyDelete
  2. http://gitweb.factorcode.org/gitweb.cgi?p=factor;a=blob;f=extra/hello-world/hello-world.factor;hb=HEAD

    ReplyDelete
  3. Congrats on the release! Looks like some real speed improvements.

    Where is Factor's roadmap? Everyone is working towards a 1.0 release, but what would constitute a 1.0 release? With each release, Slava would update the roadmap and set the next goals.

    I realize I'm that guy right now, but I'm just wondering where everything is headed.

    ReplyDelete
  4. so you dont want to support non-x86 platform? i got a arm chromebook really want to run factor on it

    ReplyDelete
  5. We do want to support ARM, and hope to include it in the next release -- the ARM backend is not quite finished yet.

    ReplyDelete
  6. Is there any way to increase the font size in the listener?

    ReplyDelete
  7. This comment has been removed by the author.

    ReplyDelete
  8. Hi Steve,

    We haven't exposed it in the UI yet, but you can run this in the listener to increase the fonts:

    USE: ui.tools.listener
    "monospace" 18 set-listener-font

    In the history browser, you can just do Cmd-+.

    ReplyDelete
  9. John,

    Fonts became bigger now. However, Chinese characters become ? mark in box.
    How should I fix it?

    thanks,
    Steve Tsai

    ReplyDelete
  10. Perhaps you're system font is different by default, how about:

    get-listener input>> font>> name>> 18 set-listener-font

    ReplyDelete
  11. John,

    After changing my Win7 locale (language for non-Unicode programs) to Chinese. Both instructions you provided work. Now I can input and output Chinese in listener.

    Another question: how can I continue to use Chinese if I want to keep my locale in English instead of Chinese.

    Regards,
    Steve

    ReplyDelete
  12. Not sure what you mean, we've had really strong unicode support since 2009, what behavior are you seeing?

    ReplyDelete
  13. if you paste "中文" (Chinese characters) to the listener, you will see the question marks in Windows 7. You need to change your Win7 locale to Chinese to see Chinese characters in the listener.

    ReplyDelete