critical
foth
Our great sponsors
critical | foth | |
---|---|---|
3 | 9 | |
29 | 69 | |
- | - | |
0.0 | 5.1 | |
over 1 year ago | 2 months ago | |
Go | Go | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
critical
-
Why Tcl?
Well Redis started off being written in TCL.
https://gist.github.com/antirez/6ca04dd191bdb82aad9fb241013e...
And of course Antirez has a soft-spot for TCL:
http://antirez.com/articoli/tclmisunderstood.html
Which inspired me to create a (trivial) TCL interpreter in golang. Not perfect, but almost as good as picol:
https://github.com/skx/critical
-
Tcled: Pure Tcl Console Text Editor (2019)
That's always a great read. The last time I stumbled across it I decided to write my own "TCL", and I had a few weeks of fun doing that, in golang:
https://github.com/skx/critical/
It's a little addictive writing toy-interpreters for various (older and simpler) languages.
- Show HN: A simple Tcl interpreter in Golang
foth
- Show HN: Writing a simple FORTH-like system, in simple steps
- Show HN: Implementing a simple FORTH, inspired by a Hacker News thread
-
Byte Magazine: The FORTH programming language
I hacked up a simple forth-like system in golang, by following the overview posted in this hackernews comment-chain:
https://news.ycombinator.com/item?id=13082825
The result is here:
https://github.com/skx/foth
It's not real, but it was a pretty fun experiment regardless.
-
Jonesforth – A sometimes minimal FORTH compiler and tutorial (2007)
Here's one of the many forks that brings it up to 64-bit:
https://github.com/matematikaadit/jombloforth
If you like forth there's an awesome series of comments here on hacker news on building a simple variant in a few simple steps:
https://news.ycombinator.com/item?id=13082825
I took that, and built a simple forth-like system, in golang following the original recipe and breaking it down into simple steps for learning-purposes:
https://github.com/skx/foth
- Forth control flow execution steps.
-
ColorForth (2009)
I'll always vote up submissions referencing anything FORTH related. For me FORTH is as much fun as lisp appears to be for others. I've never really done much with it, but I always like the simplicity and the ability to reason about it.
Sure FORTH has problems of its own, but it's always nice to use. I've hacked up a couple of simple FORTH-like systems over the years, most recently this one which was inspired by a thread on this site:
https://github.com/skx/foth
A lot of people go through guides of writing a lisp, I'd love to urge people to try writing a simple FORTH interpreter instead, or even something somewhat related such as TCL.
-
Lang Jam: create a programming language in a weekend
There's even a recipe posted in a couple of comments here:
https://news.ycombinator.com/item?id=13082825
I followed that guide to implement a simple FORTH-like system in golang:
https://github.com/skx/foth
As I was following the implementation recipe I broke it down into "educational steps". Although it isn't a true FORTH it is pretty easy to understand and useful enough to embed inside other applications.
Now and again I consider doing it again, but using a real return-stack to remove the hardcoded control-flow words from the interpreter, but I never quite find the time.
- Tutorial-style FORTH implementation written in Golang
-
Wisp: A light Lisp written in C++
I actually hacked up a simple forth-like system, after reading a brief howto here on hackernews:
https://github.com/skx/foth/
Here's the thread which has the barebones overview which inspired me:
https://news.ycombinator.com/item?id=13082825
I could have taken it further, but the implementation there is not "real" in the sense that there is no real return-stack, so you can't implement IF-statements using the lower-level primitives.
That said it is a good starting point, and I had some fun doing it. I'd guesstimate it is more of a single weekend project though, rather than longer.
What are some alternatives?
textfsm - Python module for parsing semi-structured text into python tables.
wisp - A little Clojure-like LISP in JavaScript
Oxidized - Oxidized is a network device configuration backup tool. It's a RANCID replacement!
rustc_codegen_cranelift - Cranelift based backend for rustc
tcled - Pure Tcl Console Text Editor
cling - The cling C++ interpreter
sectorlisp - Bootstrapping LISP in a Boot Sector
factor - Factor programming language
zForth - zForth: tiny, embeddable, flexible, compact Forth scripting language for embedded systems
Vacietis - C to Common Lisp compiler
third - Third, a small Forth compiler for 8086 DOS
lily