Wednesday, October 17, 2007

Factor FAQ

The Factor FAQ has moved to


Sekenre said...

One question, Are there any books that are good for learning Factor or Concatenative style programming?

My answer would be Thinking Forth by Leo Brodie, but maybe there are more. Could you add a link to some recommended reading materials and how to apply them to Factor?

Slava Pestov said...

Very nice work, Dan.

Sekenre: the Factor documentation is a good place to start. It is more of a reference than a tutorial, though.

Berlin Brown said...

Keep up the good work. Factor has made some serious progress. I might have to dust off the old Factor code and get cracking on some stuff I want to use it for.

I guess you guys need people to start writing killer apps in Factor. I guess that takes time.

wayo said...

Why are the stack shufflers given names like dup, swap and drop?

Why not just x-xx, xy-yx and x- or something like that?
It is actually possible to use shufflers of this form using a vocabulary called shufflers. However, it is strongly discouraged.

Discouraged by whom? And even if it is discouraged by someone in the "inner circle", who cares? Basically, I think "strongly discouraged" is out of place here. We should not "strongly discourage" folks. Let them learn on their own what works and what doesn't. If someone wants to make some crazy new way mess with the stack, I want them to feel welcome to, not discouraged.

Besides this, nice job Dan.


Slava Pestov said...

Dan, how about a question about Factor's thread support?

Stefan Scholl said...

Re wayo:

Many languages discourage some things that are possible, but could lead to problems. New programmers don't always see anything wrong in using "goto" in C, or massive amounts of reader macros in Common Lisp just to be able to express something like hashes as in Perl.

It's not "wrong" to use "goto". It's not wrong to define your own shuffle words in Factor. And there can be very good reasons to do so.

But if a FAQ and other programmers tell you something is discouraged, then understand that there could be good reasons for this, which you don't know at this early stage. Nobody will prevent you from experimenting with "bad style". Maybe you can convince the maintainers of a language to change their mind. But there has to be some resistance. Hence the "discouraged".

I'm not speaking for Slava or the Factor community. I'm just a new user.

Daniel Ehrenberg said...

No, Eduardo is right. I changed 'strongly discouraged', a value judgment, to 'very rarely used', which is objectively true. There's nothing evil about using those stack shufflers.

Berlin Brown said...

since this is a faq; you might put an example program

"What does a simple factor program look like" and then show it actually running after it has been compiled/interpreted.