Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have recently become curious about Factor, which, as far as I understand, is the most practical stack-based language around. Forth seems not to be used much these days - I think it is because it was meant to be used on its own, instead of inside an operating system, although ports of course exist. It is also pretty low level. Joy is essentially dead, as the author stated that it does not make sense to mantain it in spite of adopting Factor.

The fact is that Factor itself does not seem much developed today. The GitHub repository does not seem very active, and a lot of stuff languishes in unmantained.

So, are there any other languages of this type that are more actively mantained? Are any in production use?

share|improve this question
PostScript is still one of the most popular and widely used languages around. –  SK-logic Oct 4 '12 at 14:32
Outside printers? –  Andrea Oct 4 '12 at 14:37
PDF is based on a simplified PostScript, and is used for many other things, not just printing. And Forth is not that dead - it is still widely used in embedded applications. –  SK-logic Oct 4 '12 at 14:45
Do you count assemblers for stack-based VMs (e.g. the JVM)? –  Peter Taylor Oct 4 '12 at 17:42
@MasonWheeler, PDF can be evil, but there are no alternatives. Try to use any other format (besides, probably, DVI) for an eBook full of complex mathematical and/or chemical formulas, fancy plots, etc. –  SK-logic Oct 4 '12 at 19:15
show 5 more comments

1 Answer

up vote 8 down vote accepted

I have no idea how you concluded that Factor's not actively developed. Factor 0.95 was just released on August 17th, and if you look at the GitHub history page, you'll see that there are a lot of commits landing on a regular basis. Most aren't done by Slava, as he's handed off the project to Doug Coleman (erg) and John Benediktsson (mrjbq7), but the language is continuing to see major improvements—some amazing. (E.g., global-value numbering, which can result in massive speed boosts throughout the entire code-base by factoring out common expressions into a single location, just landed a few weeks ago.)

While you're right that there's a fair amount of code in unmaintained, there's a much greater volume of code that's in the core libraries—and in fact, the majority of code in unmaintained amounts to thought-experiments or code that no longer represents and ideal way to work in Factor. I.e., in at least some circumstances, it'd be better called deprecated.

As far as other stack-based languages, there are some in active development, but none have the traction Factor has, and the only concatenative language I know with wide distribution other than Forth is PostScript—probably not what you want to write your next project in. Unless you're unhappy with something Factor's offering, I think it's your best bet. The community's friendly and active, and I'm sure would be thrilled to answer any questions you have or to accept any improvements you have in mind.

share|improve this answer
It seems that I misunderstood the role of unmantained. I didn't go through it, and I thought that it meant that large parts of the core or the standard library where waiting for mantainers. –  Andrea Oct 4 '12 at 21:17
In fairness, it can be really confusing for dumb reasons. E.g., you'll see a db namespace in unmaintained, which would be death...except that the only actual thing in it is the mysql driver. The PostgreSQL, SQLite, and ORM libraries are in basis, power factorcode.org, and are kept fully up-to-date. Likewise, there's lots of Cairo stuff in unmaintained, but Cairo proper is heavily used in the IDE (and, again, in basis). –  Benjamin Pollack Oct 4 '12 at 21:45
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.