# Factor
-The Factor programming language combines [powerful language
-features](http://concatenative.org/wiki/view/Factor/Features/The%20language)
-with a [full-featured
-library](http://docs.factorcode.org/content/article-vocab-index.html). The
-implementation is [fully
-compiled](http://concatenative.org/wiki/view/Factor/Optimizing%20compiler)
+Factor is a [concatenative](https://www.concatenative.org), stack-based
+programming language with [high-level
+features](https://concatenative.org/wiki/view/Factor/Features/The%20language)
+including dynamic types, extensible syntax, macros, and garbage collection.
+On a practical side, Factor has a [full-featured
+library](https://docs.factorcode.org/content/article-vocab-index.html),
+supports many different platforms, and has been extensively documented.
+
+The implementation is [fully
+compiled](https://concatenative.org/wiki/view/Factor/Optimizing%20compiler)
for performance, while still supporting [interactive
-development](http://concatenative.org/wiki/view/Factor/Interactive%20development).
+development](https://concatenative.org/wiki/view/Factor/Interactive%20development).
Factor applications are portable between all common platforms. Factor can
[deploy stand-alone
-applications](http://concatenative.org/wiki/view/Factor/Deployment) on all
+applications](https://concatenative.org/wiki/view/Factor/Deployment) on all
platforms. Full source code for the Factor project is available under a BSD
license.
## Getting Started
-* [Learning Factor](http://concatenative.org/wiki/view/Factor/Learning)
-* [System requirements](http://concatenative.org/wiki/view/Factor/Requirements)
-
### Building Factor from source
If you have a build environment set up, then you can build Factor from git.
To check out Factor:
-* git clone git://factorcode.org/git/factor.git
-* cd factor
+* `git clone git://factorcode.org/git/factor.git`
+* `cd factor`
+
+To build the latest complete Factor system from git, either use the
+build script:
-To build the latest complete Factor system from git:
+* Unix: `./build.sh update`
+* Windows: `build.cmd`
-* Windows: build-support\factor.cmd
-* Unix: ./build-support/factor.sh update
+or download the correct boot image for your system from
+http://downloads.factorcode.org/images/master/, put it in the factor
+directory and run:
+
+* Unix: `make` and then `./factor -i=boot.unix-x86.64.image`
+* Windows: `nmake /f Nmakefile x86-64` and then `factor.com -i=boot.windows-x86.64.image`
Now you should have a complete Factor system ready to run.
-[More information on building factor](http://concatenative.org/wiki/view/Factor/Building%20Factor)
+More information on [building factor](https://concatenative.org/wiki/view/Factor/Building%20Factor)
+and [system requirements](https://concatenative.org/wiki/view/Factor/Requirements).
### To run a Factor binary:
-You can download a Factor binary from the grid on [http://factorcode.org](http://factorcode.org).
+You can download a Factor binary from the grid on [https://factorcode.org](https://factorcode.org).
The nightly builds are usually a better experience than the point releases.
* Windows: Double-click `factor.exe`, or run `.\factor.com` in a command prompt
1000 [1,b] sum .
-4 iota [
+4 <iota> [
"Happy Birthday " write
2 = "dear NAME" "to You" ? print
] each
```
+For more tips, see [Learning Factor](https://concatenative.org/wiki/view/Factor/Learning).
+
## 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](http://docs.factorcode.org).
+online](https://docs.factorcode.org).
## Command Line Usage
-run=ui.tools run Factor development UI
-e=<code> evaluate <code>
-no-user-init suppress loading of .factor-rc
+ -roots=<paths> a list of path-delimited extra vocab roots
Enter
"command-line" help
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 library
* `basis/` - Factor basis library, compiler, tools
* `extra/` - more libraries and applications
* `misc/` - editor modes, icons, etc
-* `unmaintained/` - unmaintained contributions, please help!
+* `unmaintained/` - now at [factor-unmaintained](https://github.com/factor/factor-unmaintained)
## Community
[irc.freenode.net](http://freenode.net). Drop by if you want to discuss
anything related to Factor or language design in general.
-* [Factor homepage](http://factorcode.org)
-* [Concatenative languages wiki](http://concatenative.org)
+* [Factor homepage](https://factorcode.org)
+* [Concatenative languages wiki](https://concatenative.org)
+* [Mailing list](factor-talk@lists.sourceforge.net)
+* Search for "factorcode" on [Gitter](https://gitter.im/)
Have fun!