Front Page All Articles Recent Changes Random Article

Contents

Concatenative language

  • ACL
  • Ait
  • Aocla
  • Breeze
  • Cat
  • Cognate
  • colorForth
  • CoSy
  • Deque
  • Elymas
  • Enchilada
  • ETAC
  • F
  • Factor
  • Forth
  • Freelang
  • Gershwin
  • Joy
  • Kitten
  • lang5
  • Lviv
  • min
  • mjoy
  • Mlatu
  • Ode
  • Om
  • Onyx
  • Plorth
  • Popr
  • Porth
  • PostScript
  • Quackery
  • r3
  • Raven
  • Retro
  • Staapl
  • Stabel
  • Trith
  • Worst
  • xs
  • XY
  • 5th
  • 8th

Other languages

  • APL
  • C++
  • Erlang
  • FP trivia
  • Haskell
  • Io
  • Java
  • JavaScript
  • Lisp
  • ML
  • Oberon
  • RPL
  • Self
  • Slate
  • Smalltalk

Computer Science

  • Type systems
  • Language paradigms
  • Compilers
  • Interpreters
  • Garbage collection

Meta

  • Search
  • Farkup wiki format
  • People
  • Etiquette
  • Sandbox

Factor/Deployment

Overview

Factor contains a stand-alone application deployment tool that compiles a vocabulary down to a native executable which runs the vocabulary's MAIN: hook. Deployed executables do not depend on Factor being installed, and do not expose any source code, and thus are suitable for delivering commercial end-user applications.

Deploy tool documentation

  • http://docs.factorcode.org/content/word-MAIN__colon__%2Csyntax.html - syntax to define the main word of a vocabulary
  • http://docs.factorcode.org/content/article-tools.deploy.html
  • http://docs.factorcode.org/content/article-ui.tools.deploy.html - graphical front-end

Examples

Some of the demos in extra/ are ready to be deployed:

  • "tetris" deploy
  • "hello-unicode" deploy
  • "terrain" deploy - requires OpenGL 2.x

To look at the deploy settings used, run deploy-tool instead of deploy. This opens a new UI window.

Look at Examples for more.

How it works

The deployment tool works by bootstrapping a fresh image, loading the vocabulary into this image, then applying various heuristics to strip the image down to minimal size.

Sometimes when you run the deploy tool, "staging images" get generated. These are minimal Factor images which do not contain your application, just parts of the library. Different staging images are generated for different deployment configurations. All applications you deploy will share the same set of staging images. This process can take a few minutes.

Once you've deployed your app once, you won't have to wait again, unless you delete them manually, or run the factor.sh script to update Factor from the GIT repository. If you update Factor from the repository yourself, be sure to delete staging images since they may now be out of date.

Deploying apps that use FFI

Deployed applications require externally linked libraries to be present in the host OS, application folder, or .app bundle on Mac OS X. Factor includes the runtime library libfactor by default.

Additional topics

  • Single file Deployment on Windows

This revision created on Mon, 25 Nov 2019 07:23:15 by fedes (Rollback to 'Rollback')

Latest Revisions Edit

All content is © 2008-2023 by its respective authors. By adding content to this wiki, you agree to release it under the BSD license.