RobertGollagher/Freeputer
{ "createdAt": "2015-07-10T04:42:29Z", "defaultBranch": "master", "description": "Freeputer ( ) [ ] { } forever free", "fullName": "RobertGollagher/Freeputer", "homepage": null, "language": "C", "name": "Freeputer", "pushedAt": "2018-05-15T06:58:10Z", "stargazersCount": 40, "topics": [], "updatedAt": "2025-06-19T04:36:59Z", "url": "https://github.com/RobertGollagher/Freeputer"}Freeputer
Section titled “Freeputer”Freeputer ( ) [ ] { } forever free
What is Freeputer?
Section titled “What is Freeputer?”Freeputer is a free computer. Free as in freedom.
Freeputer is a tiny virtual machine easily ported to most modern architectures, including bare metal, and requiring neither file system nor operating system. This offers extreme portability and the freedom to use software forever without designed obsolescence.
- Freeputer is a virtual machine: the Freeputer Virtual Machine (FVM).
- Freeputer is a self-hosted, self-contained software development platform.
- Freeputer is a platform for modular software that lasts forever.
- Freeputer is a powerful platform for bare metal computing.
- Freeputer is a user’s computer not a vendor’s computer.
- Freeputer supports the freedom of the user.
- Freeputer is a not an operating system.
Where can I learn more?
Section titled “Where can I learn more?”For an introduction to Freeputer, including a Quick Start tutorial, see [README.md]!(archive/1.0/README.md) or [README.html]!(archive/1.0/README.html).
To learn Freeputer you should use the provided [Freeputer 1.0]!(archive/1.0) archive (equivalent to the git tag fpv1.0.0.2) since that is the version for which the Quick Start tutorial was written. Using Freeputer 1.0 will teach you the basic principles of Freeputer and Freelang while avoiding unnecessary complexity.
See also Other Resources below.
What’s the latest news?
Section titled “What’s the latest news?”[Freeputer 2.0]!(pre-alpha/pre-alpha2.0) is coming!
It is expected as an alpha release in the second half of 2018.
So where’s the code?
Section titled “So where’s the code?”Stable
Section titled “Stable”The current stable release is [Freeputer 1.0]!(archive/1.0), located in the [archive/1.0]!(archive/1.0) folder (git tag fpv1.0.0.2).
Freeputer 1.0 is complete and fully functional.
Experimental
Section titled “Experimental”Work on [Freeputer 2.0]!(pre-alpha/pre-alpha2.0) has just begun. You can follow its progress in the [pre-alpha2.0]!(pre-alpha/pre-alpha2.0) folder.
Important research and development took place in the [pre-alpha1.1]!(pre-alpha/pre-alpha1.1) folder. Some of this will find its way into Freeputer 2.0: an optional, highly portable, textual user interface (TUI) known as the grid; greater stack depths (256 elements instead of 32 elements); and bare-metal support for Arduino (ARM) and chipKIT (PIC32) boards via the Arduino IDE. However, work on pre-alpha1.1 has been discontinued in favour of concentrating on Freeputer 2.0, which will be a simpler and more robust virtual machine that will also run in HTML 5 web browsers and therefore potentially on billions of consumer devices.
All current development effort is now on [Freeputer 2.0]!(pre-alpha/pre-alpha2.0).
Other Resources
Section titled “Other Resources”- The official Freeputer website: www.freeputer.net
- The Freeputer GitHub and BitBucket git repositories
- Freelang, the original Freeputer 1.0 language, at concatenative.org
- Freelang syntax highlighting for Emacs, see
freelang-mode.el(thanks sts-q) - Rabbit-vm, an implementation of the Joy language that runs on Freeputer 1.0 (thanks sts-q)
- Toffee, a small programming language that runs on Freeputer 1.0 (thanks sts-q)
Copyright © Robert Gollagher 2016, 2017, 2018
This document was written by Robert Gollagher.
This document was first published on 11 March 2016.
This document was last updated on 11 April 2018 at 01:02.
This document is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
The official Freeputer website is freeputer.net.
Robert Gollagher may be reached at
![]!(doc/img/abc.png)