Introduction
Introduction Statistics Contact Development Disclaimer Help
tarticle-tgtimes-embedded-forth.mw - tgtimes - The Gopher Times
git clone git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws…
Log
Files
Refs
Tags
---
tarticle-tgtimes-embedded-forth.mw (5888B)
---
1 .SH tgtimes
2 Embedded Forth Programming
3 .
4 .PP
5 Big computers can run large and complex programming languages,
6 so what can small computer run?
7 .
8 .PP
9 Compiled languages, in particular those with a small runtime are often c…
10 But the interpreted languages also have an audience willing to code with…
11 Programming languages as big as Python have their embedded counterpart (…
12 They serve their purpose to embedded enthusiasts as educational and scri…
13 .
14 .PP
15 But small "language in a nutshell" are fitting right the small resources…
16 This is the case of Forth and its stack-machine approach.
17 .
18 .IP Mecrisp Forth - http://mecrisp.sourceforge.net/
19 This implementation immediately targets microcontrollers.
20 See for instance the work of librehacker.com author Christopher Howard.
21 .FS
22 gemini://gem.librehacker.com/gemlog/tech/20220331-0.gmi
23 gemini://gem.librehacker.com/gemlog/tech/20220305-0.gmi
24 .FE
25 .
26 .IP chipFORTH
27 Another implementation of Forth, which were used by NASA
28 .FS
29 https://www.forth.com/space-shuttle-instrumentation-interface/
30 .FE
31 for improving reliability of its flight control system,
32 among the mosts critical pieces of software of a shuttle.
33 .
34 .IP https://github.com/corecode/forth
35 Among notable Forth projects is Simon "corecode" Schubert's nimble forth…
36 .FS
37 .FE
38 as well as hardware code describing the working of a CPU that executes F…
39 .FS
40 https://github.com/corecode/forth-cpu
41 .FE
42 .
43 .IP https://forth.chat/
44 If feeling like having a taste of Forth and Forth community, there are s…
45 featuring forth that you could enjoy,
46 some of which are oriented toward hardware projects directly
47 .FS
48 ircs://irc.hackint.org/#forth-hardware-projects
49 .FE.
50 .
51 .IP https://github.com/chmykh/apl-life
52 This is Conway Game of Life in APL in Forth
53 What a long chain! It is APL programming language implemented in Forth,
54 and Conway game of life implemented in APL
55 .
56 .IP https://github.com/remko/waforth
57 Feeling like pushing the irony of "Web" assembly even further?
58 Why not blasting a Forth implementation at it?
59 .FS
60 https://el-tramo.be/waforth/
61 https://el-tramo.be/thurtle/
62 .FE
63 This proves Forth as the new programming language \fIen vogue\fR
64 .
65 .IP http://collapseos.org/
66 What else does a programming language need to prove itself useful?
67 A kernel? Check!
68 Collapse OS
69 is an operating system targetted at resilience over nine thousands,
70 as it is designed to resist everything around it tearing apart, includin…
71 When nothing remains but wastelands, CollapseOS will be there to reborn …
72 from old computers.
73 .
74 .QP
75 Forth is, to my knowledge, the most compact language allowing high level…
76 .
77 .IP "gopher://retroforth.org/ https://retroforth.org/"
78 A forth implemented in C, Python, C#, Nim, JavaScript and Pascal!
79 .FS
80 .FE
81 The C version permits to embed the script into a binary along with the i…
82 for a single-binary deployment process.
83 The more classic way to use it is to use shebangs scripts to have execut…
84 .
85 .PP
86 Many smaller utilities can already provide something you needed:
87 .
88 .IP http://retroforth.org/examples/Casket-HTTP.retro.html
89 An HTTP server
90 .
91 .IP http://retroforth.org/examples/Atua-WWW.retro.html
92 A Gopher to HTTP+HTML Proxy on top of Atua.
93 .
94 .IP http://retroforth.org/examples/Atua.retro.html Gopher server
95 A gopher server, already listed on the Gopher index of links, the Gopher…
96 .FS
97 bitreich.org/1/lawn/c/gopher.gph
98 .FE
99 .
100 .IP http://retroforth.org/examples/7080.retro.html
101 A s
102 .
103 .IP https://gitlab.com/goblinrieur/spreedsheet/
104 A spreadsheet application in the terminal.
105 .
106 .IP gopher://forth.works:100 http://forthworks.com/
107 This is a collection of code blocks written in the Retro Forth's author …
108 It is itself served by a gopher server (blocks 203-205 on the list above…
109 .
110 .IP https://github.com/oriontransfer/pl0-language-tools
111 A PL/0 implementation in Python that can emmit Retro Forth code as ouput.
112 It looks like Forth simplicity, portability, stability and speed of exec…
113 The PL/0 language is known for the book \fIAlgorithms + Data Structures …
114 from Niklaus Wirth, himself famous for the Wirth Law:
115 .
116 .QP
117 The hope is that the progress in hardware will cure all software ills.
118 However, a critical observer may observe that software manages to outgro…
119 -- https://en.wikipedia.org/wiki/Wirth's_law
120 .
121 .IP https://ribccs.com/candy/
122 If you were doubting about Forth being fit for the industry, bear in min…
123 a very-large scale VFX Forth project with over a million lines of code!
124 .
125 .IP http://sam-falvo.github.io/kestrel/2016/03/29/vibe-2.2
126 Why not spin a vi-like text editor itself in forth?
127 See how few code it takes to implement one.
128 .
129 .IP https://git.sr.ht/~vertigo/shoehorn
130 An answer to the bootstrapping problem: how to get from no software to a…
131 Which compiler compiles the first compiler?
132 Forth's simplicity is a good candidate for solving this problem.
133 .
134 .IP https://git.sr.ht/~vertigo/forthbox
135 Software environment for computers to base upon right after booting:
136 a system shell in forth with real hardware projects dedicated to it.
137 Think of a LISP machine, but instead being a Forth machine.
138 .
139 .IP http://deathroadtocanada.com/
140 This video-game uses Forth as a scripting language.
141 When a whole scripting language fits on a thumb, putting it everywhere c…
142 .
143 .PP
144 Such a large tool chest for such a small language.
145 With the Covid, Wars under disguise, and other supply chain troubles,
146 the era of "more features" is coming to an end,
147 and the era of reliability rises.
148 In these trying times, anyone is welcome to go Forth.
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.