Sunday, November 2, 2014

Factor 0.97 now available

"If birds can glide for long periods of time, then... why can’t I?" - Orville Wright

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

OS/CPUWindowsMac OS XLinux

Source code: 0.97

This release is brought to you with over 1,400 commits by the following individuals:

Alex Vondrak, Andrew Pennebaker, Benjamin Pollack, Björn Lindqvist, CW Alston, Doug Coleman, Erik Charlebois, Fred Alger, Iskander Sitdikov, John Benediktsson, Jon Harper, Loryn Jenkins, Paul Woolcock, Roc King, Samuel Tardieu, Steven Stewart-Gallus, and @Profpatsch

Besides some bug fixes and library improvements, I want to highlight the following changes:

Some possible backwards compatibility issues:

  • Fixed mask? in math.bitwise to be more correct
  • Fixed bias in Mersenne Twister random number generator
  • Better support for shebang (no longer need a space after #!)
  • io-error now lives in the libc vocabulary
  • sender stubs in cocoa.messages now named by method signature
  • filter now allocates length of seq, not exemplar.
  • Removed make-assoc in favor of explicit get's.

Some of the improvements to FUEL, Factor's emacs mode:

  • Modernize for emacs 24.3
  • Prepare FUEL to be uploaded to MELPA
  • Change font locking and syntax highlighting
  • Make fuel-help work for vocabularies also
  • New minor mode: fuel-autohelp-mode
  • Fix word help to use correct vocabulary using list
  • Variable controlling whether fuel-mode is loaded automatically
  • Fixes to table rendering

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:

Improved libraries:


Christer said...

I'm trying to use slides on Windows 7. The font background is black, which makes the characters impossible to read.

I've tried both Zed Shaws slides and Slavas google-tech-talk.

I find it very hard to spot the error and would appreciate some hints.

Dariusz Nędza said...

It's bad that factor hasn't got many examples. I remembered reading source code of one word to understand second word. I think it was about generic words like GENERIC:.
I've tried 0.97 and "generative modeling language" - it's sounds nice. I guess I can build some 3d things (like in blender3d but using a code). Well, I don't know how to start. I have tried `gml-listener` and pasted some code... and I guess it worked because I don't have an error but "empty" line. And is it suppose to load (USE: gml) so much time (on win 8.1 x64, 4gb ram, celeron n2840 @2.16Ghz)?
Well, I wish there were many more examples.
ps. on my old pc (xp, 32b) 0.97 doesn't work

mrjbq7 said...

Hi @Dariusz,

Thanks for the comment. The "gml" vocabulary is a neat experiment in 3d modeling, but still an experiment.

This blog has over 225 posts, many of them simple and some more complex examples.

And Factor 0.97 has over 250,000 lines of code (not counting tests and documentation). Not counting a number of projects people have built with Factor that are available on GitHub and other locations.

We would benefit from improving the documentation, and making more code examples, but I wouldn't say that Factor hasn't got many examples...