RETRO is a clean, elegant, and pragmatic dialect of Forth. It provides
a simple alternative for those willing to make a break from legacy
systems.
The language draws influences from many sources including traditional
Forth systems, cmForth, colorForth, Factor, and Parable. It was
designed to be easy to grasp and adapt to specific uses.
The basic language is very portable. It runs on a tiny virtual
machine (Nga), which is written in C. There are multiple interface
options, the main one (rre) is buildable with just the standard C
compiler and libraries on most systems (tested at various points
on Linux, NetBSD, macOS, and Windows, on x86, x86-64, PPC [emulated],
and various ARM processors).
===> The following configuration options are available for retro12-2024.1:
DOCS=on: Build and/or install documentation
EXAMPLES=on: Build and/or install examples
===> Use 'make config' to modify these settings
Cleanup: drop redundant DESTDIR propagation via MAKE_{ARGS,ENV}
Our framework usually DTRT; sometimes it's necessary to pass it
explicitly, e.g. for ports with USES+=qmake or which use exotic
build systems, but these are mostly staging dawn and apparently
debug leftovers, so remove them to not confuse the reader.
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
lang/retro12: Update to 2021.2
ChangeLog:
* fixes a bug causing address stack corruption in some circumstances
* improved handling of pipes
* added `abort`
* add support for user defined block delimiters
PR: 253610
Submitted by: crc@forthworks.com
MFH: 2021Q1
Update to 2020.4
This release fixes numerous bugs, and makes a lot of improvements to the
standard library, using inline assembly to enhance performance and reduce
size.
PR: 246961
Submitted by: Charles Childers
Update to 2020.01
Changelog (main changes):
- fix bugs in n:MIN, n:MAX, a:index-of, s:WHITESPACE
- removed uses of raw nga bytecode from standard library
- added optimized implementations of the standard library functions
- reduced the overall size slightly
- added retro-lookup(1) to search the tags file created by retro-tags(1)
PR: 243373
Submitted by: Charles Childers <crc@forthworks.com>
Event: Brussels DevSummit 2020
Update to 2019.10
- Pet portlint, portclippy & portfmt.
Changelog:
- deprecate some old functionality
- cleaner separation of time/date handling functions
- clearer separation of random number generation
- bug fixes to floating point encode/decode
- better stack over/underflow error reporting
- fixed a bug related to using a custom image when other command line flags
were passed
- improved the assembler
- supports both 64-bit and 32-bit cell sizes
PR: 241575
Submitted by: Charles Childers <crc@forthworks.com>
lang/retro12: Update to 2019.7
The main changes:
- fix overflow issue with `n:MIN`, `n:MAX`
- fix `clock:year` and `clock:month`
- word headers now preserve underscores in names
- added sockets support
PR: 240055
Submitted by: Charles Childers <crc@forthworks.com>
lang/retro12: Update to 2018.8
Also:
- Fix the order of variables.
- Set USES=shebangfix for the rre interpreter.
PR: 232885
Submitted by: w.schwarzenfeld@utanet.at
Reviewed by: krion, mat ndowens_yahoo.com
Approved by: mat (mentor)
Differential Revision: https://reviews.freebsd.org/D17830
Update to upstream version 2018.4.20
Details:
- The Makefile was simplified after working with the upstream developer
to integrate some improvements into the release.
- CONFLICTS_INSTALL were added.
- Patches were removed as they are no longer needed.
Release notes:
- http://forthworks.com:8000/artifact/9bd7d3eda271788f
PR: 227665
Submitted by: 0mp (maintainer)