We have covered a lot of ground here, and we hope that this has given you a taste of the great things you can do with Factor. You can now work your way through the documentation, and hopefully contribute to Factor yourself.
Let me end with a few tips:
•
when starting to write Factor, it is very easy to deal a lot with stack shuffling. Learn the combinators well, and do not fear to throw away your first examples.
•
no definition is too short: aim for one line.
•
the help system and the inspector are your best friends.
To be fair, we have to mention some drawbacks of Factor:
•
The community is small. It is difficult to find information about Factor on the internet.
However, you can help with this by posting questions on Stack Overflow under the [factor] tag.
•
The concatenative model is very powerful, but also hard to get good at.
•
Factor lacks native threads: although the distributed processes make up for it, they incur some cost in serialization.
•
Factor does not currently have a package manager. Most prominent packages are part of the main Factor distribution.
The Factor source tree is massive, so here's a few vocabularies to get you started off:
•
We have not talked a lot about errors and exceptions. Learn more in the debugger vocabulary.
•
The macros vocabulary implements a form of compile time metaprogramming less general than parsing words.
•
The models vocabulary lets you implement a form of dataflow programming using objects with observable slots.
•
The match vocabulary implements ML-style pattern matching.
•
The monads vocabulary implements Haskell-style monads.
These vocabularies are a testament to the power and expressivity of Factor, and we hope that they help you make something you like. Happy hacking!