|
|
||
|---|---|---|
| Factor.app/Contents | ||
| basis | ||
| build-support | ||
| core | ||
| extra | ||
| misc | ||
| unmaintained | ||
| vm | ||
| work | ||
| .gitignore | ||
| GNUmakefile | ||
| Nmakefile | ||
| README.md | ||
| license.txt | ||
| readme.html | ||
README.md
Factor
The Factor programming language combines powerful language features with a full-featured library. 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.
Getting Started
If you are reading this README file, you either downloaded a binary package, or checked out Factor sources from the GIT repository.
- Learning Factor
- System requirements
- Building Factor from source (don't do this if you're using a binary package)
To run Factor:
- Windows: Double-click
factor.exe, or run.\factor.comin a command prompt - Mac OS X: Double-click
Factor.appor runopen Factor.appin a Terminal - Unix: Run
./factorin a shell
A tutorial is available that can be accessed from the Factor environment:
"first-program" help
Some other simple things you can try in the listener:
"Hello, world" print
{ 4 8 15 16 23 42 } [ 2 * ] map .
1000 [1,b] sum .
4 iota [
"Happy Birthday " write
2 = "dear NAME" "to You" ? print
] each
Documentation
The Factor environment includes extensive reference documentation and a short "cookbook" to help you get started. The best way to read the documentation is in the UI; press F1 in the UI listener to open the help browser tool. You can also browse the documentation online.
Command Line Usage
Factor supports a number of command line switches:
Usage: factor [Factor arguments] [script] [script arguments]
Common arguments:
-help print this message and exit
-i=<image> load Factor image file <image> (default factor.image)
-run=<vocab> run the MAIN: entry point of <vocab>
-run=listener run terminal listener
-run=ui.tools run Factor development UI
-e=<code> evaluate <code>
-no-user-init suppress loading of .factor-rc
Enter
"command-line" help
from within Factor for more information.
You can also write scripts that can be run from the terminal, by putting
#!/path/to/factor at the top of your scripts and making them executable.
Source Organization
The Factor source tree is organized as follows:
build-support/- scripts used for compiling Factor (not present in binary packages)vm/- Factor VM source code (not present in binary packages)core/- Factor core librarybasis/- Factor basis library, compiler, toolsextra/- more libraries and applicationsmisc/- editor modes, icons, etcunmaintained/- unmaintained contributions, please help!
Community
Factor developers meet in the #concatenative channel on
irc.freenode.net. Drop by if you want to discuss
anything related to Factor or language design in general.
Have fun!