I used 'termlib' to make a terminal style interface for the REPL. Instead of entering Factor code, hitting submit, and waiting for the result, you can type in a listener style REPL, hit enter and get the result back. It works much better. History is available using the up and down arrow keys.
It does have a few rough edges. There's no copy and paste. And no multiline input. I'll fix these over time. Termlib is a nice library to use but be aware of the license restrictions if you want to use it:
The term "private use" includes any personal or non-commercial use, which is not related to commercial activites, but excludes intranet, extranet and/or public net applications that are related to any kind of commercial or profit oriented activity.
For commercial use see http://www.masswerk.at for contact information.
I made a few other relatively minor changes. USE:, USING:. and IN: are supported. I also added 'print', 'write', '.' and '.s'. I will be adding more words and putting them in their correct vocabularies over time. I also have plans for better generated code and integrating with my comet library which hopefully won't be too far away.