HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mikewarot
mstoical
C2022–2024
mikewarot / mstoical

mstoical

MStoical - a Forth like language, but better

3Distinct people
11Mentions
0Explicit recommenders
24GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

MStoical - a Forth like language, but better

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month11 dated mentions

Observed mentions: 2022-04-08 14:31:26 UTC to 2024-02-27 17:55:16 UTC.

01232022-04-01 00:00:00 UTC to 2022-05-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 commentsApr 20222022-05-01 00:00:00 UTC to 2022-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-06-01 00:00:00 UTC to 2022-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-07-01 00:00:00 UTC to 2022-08-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-08-01 00:00:00 UTC to 2022-09-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-09-01 00:00:00 UTC to 2022-10-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-10-01 00:00:00 UTC to 2022-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-11-01 00:00:00 UTC to 2022-12-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-12-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2023-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-02-01 00:00:00 UTC to 2023-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-03-01 00:00:00 UTC to 2023-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMar 20232023-04-01 00:00:00 UTC to 2023-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-05-01 00:00:00 UTC to 2023-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-06-01 00:00:00 UTC to 2023-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-07-01 00:00:00 UTC to 2023-08-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-08-01 00:00:00 UTC to 2023-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-01 00:00:00 UTC to 2023-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-01 00:00:00 UTC to 2023-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-11-01 00:00:00 UTC to 2023-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-12-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2024-02-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-02-01 00:00:00 UTC to 2024-03-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 20222022-04-01 00:00:00 UTC2022-05-01 00:00:00 UTC321
May 20222022-05-01 00:00:00 UTC2022-06-01 00:00:00 UTC000
Jun 20222022-06-01 00:00:00 UTC2022-07-01 00:00:00 UTC000
Jul 20222022-07-01 00:00:00 UTC2022-08-01 00:00:00 UTC101
Aug 20222022-08-01 00:00:00 UTC2022-09-01 00:00:00 UTC101
Sep 20222022-09-01 00:00:00 UTC2022-10-01 00:00:00 UTC101
Oct 20222022-10-01 00:00:00 UTC2022-11-01 00:00:00 UTC000
Nov 20222022-11-01 00:00:00 UTC2022-12-01 00:00:00 UTC101
Dec 20222022-12-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
Jan 20232023-01-01 00:00:00 UTC2023-02-01 00:00:00 UTC000
Feb 20232023-02-01 00:00:00 UTC2023-03-01 00:00:00 UTC000
Mar 20232023-03-01 00:00:00 UTC2023-04-01 00:00:00 UTC000
Apr 20232023-04-01 00:00:00 UTC2023-05-01 00:00:00 UTC000
May 20232023-05-01 00:00:00 UTC2023-06-01 00:00:00 UTC000
Jun 20232023-06-01 00:00:00 UTC2023-07-01 00:00:00 UTC000
Jul 20232023-07-01 00:00:00 UTC2023-08-01 00:00:00 UTC101
Aug 20232023-08-01 00:00:00 UTC2023-09-01 00:00:00 UTC000
Sep 20232023-09-01 00:00:00 UTC2023-10-01 00:00:00 UTC000
Oct 20232023-10-01 00:00:00 UTC2023-11-01 00:00:00 UTC000
Nov 20232023-11-01 00:00:00 UTC2023-12-01 00:00:00 UTC000
Dec 20232023-12-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
Jan 20242024-01-01 00:00:00 UTC2024-02-01 00:00:00 UTC202
Feb 20242024-02-01 00:00:00 UTC2024-03-01 00:00:00 UTC101

What Hacker News says

11 sources
The BitGrid[1,2] - a novel model of computation, similar to Turing machines in simplicity, except the parallel execution model allows for PetaFlops of performance in a small efficient package, I hope. I bought a FPGA board to try learn Verilog and hopefully get enough knowledge to do a TinyTapeout of a minimal chip. Once I know how much energy it takes to run a cell of 4 - 4x4 LUTs and 4 D latches, I can realistically figure out if the thing is worth doing, or not. MStoical - A fork^2 of the STOIC language, I'm considering scrapping the C version and just going with Pascal, so I can get quick and easy gigabyte string handling. For now, however, it remains in C, OLD C, apparently. [1] https://github.com/mikewarot/Bitgrid [2] https://esolangs.org/wiki/Bitgrid [3] https://github.com/mikewarot/mstoical
In Ask HN: What are you working on and why is it cool?
I've always avoided C, but there was an implementation of the STOIC language in C[1], that pushed me over the edge and nerd-sniped me[2]. It took quite a while to finally figure out that I'd need use Debian 3 to get it to compile at all.[3] It was only after a generous amount of time from HN that I was able to get a fork working with modern compilers (barely).[4] Experience taught me that C changed radically in the past 2 decades, what was once the popular style of code just isn't acceptable any more. Throw in the change from 32 to 64 bit CPUs, and everything just broke. Not to mention changes to AutoConf, etc. I still love the idea of the language, but every time I think of even touching it, I still find myself wishing I could just re-write it in Pascal or Assembler. I've had similar issues with Python, thanks to WikidPad[5], which stil
Read the rest
In Ask HN: Is Pascal a good choice for cross-platform development?
MStoical[1] is a fork of a fork of Stoic[2], which has toggle-able runtime type checking. It supports the following parameter types for each parameter (see the docs) short long ----- ---- * bah ( don't care ) f float s string r reference p pointer io stream ( file / socket ) a array h hash c clause I'm not a C programmer, and it took a fair bit of help from folks here on HN to get it compiling (it was forked from a 20 year old C source), for which I'm grateful. [1] https://github.com/mikewarot/mstoical [2] https://en.wikipedia.org/wiki/STOIC
In Retro: A modern, pragmatic Forth
Details I didn't include but should have (I wasn't sure I'd have any replies at all... I should have had more faith, sorry) It's a bit of a ramble, sorry about that. MSTOICAL[0] is a fork of an old C based Forth variant, it took some help from the HN community[1] to get it to compile in a modern 64 bit environment, for which I am very thankful. However, it uses AutoConf to configure, build, install, etc... and I can't for the life of me figure out how to remove all of that logic. (C isn't my primary language, I'm willing to learn that, but adding AutoConf on top of it was too much) I was hoping to strip out Autoconf and pack it all into one HUGE C source file, and be done with everything but a single shell script and/or windows batch file to compile it, so it could be cross-platform. In order to start work on that, I was willing to switch
Read the rest
to Linux (Ubuntu)... I got everything up and running for the most part, but then I couldn't access WikidPad[2], my local Wiki with my appointments, etc. I missed a doctors appointment because of that, so went back to Windows. WikidPad is written in Python, so you would think cross-platform would be a slam dunk. The issue is that the wxWindows library it uses, for reasons I'm sure they think are sufficient, changed the names and nature of variables in some calls. Because you have to build from source, that means someone has to update it to fix those breaking references. I don't have the skill to do so. The community seems to have moved on from WikidPad despite it's once wide popularity. On Windows, you just download an old EXE installer and you're good to go. So finally... I'm back in Windows 10, and decided to try to craft together a twitter clone in Python with a bunch of weird ideas that I tossed out at 3:30 am in a twitter thread, and put into a more coherent manifesto.[3] There are a ton of Python libraries that seemed like they'd be trivial to hook together, but when I tried to use Flask, the build system issues broke things, so again, faced with the same issues... I wrote the above "Ask HN" [0] https://github.com/mikewarot/mstoical [1] https://news.ycombinator.com/item?id=30957273 [2] https://github.com/WikidPad/WikidPad [3] https://github.com/mikewarot/iceberg/blob/main/MANIFESTO.md
In Ask HN: Programming without a build system?
Hardware: I've got a cheap ($200) CNC mill I'm getting ready to use for various projects. Software: MSTOICAL[1] is a port of a port of STOIC, a Forth like system that does types in the stack, and is weirder, but more logical, than Forth. It's written in C, a language I'm learning as I go. Software: TreeHouse[2] is an exploration of the ideas show off by DION in this 2020 demo.[3] The direct manipulation of a program as an AST, with the source code being an OUTPUT, a view, of the program. I'm doing it in Pascal, because that's what I'm used to. It's amazing how cool it looks already, even though it's just a toy so far. [1] https://github.com/mikewarot/mstoical [2] https://github.com/mikewarot/TreeHouse [3] https://media.handmade-seattle.com/dion-systems/ (watch the 1st video!)
In Ask HN: What Are You Working On? (September 2022)
STOIC was a language like Forth[1], but including types and other features, used in PDP-11 systems, including the RED text editor. It was then adapted to Linux as STOICAL a decade or so ago. I've picked it up, and with a lot of help here on HN, got it compiling in 2022 as MSTOICAL[2]. Then my retina detached and the world was blurry until recently.... I look forward to getting back to work on it soon. 1 - https://en.wikipedia.org/wiki/STOIC 2 - https://github.com/mikewarot/mstoical
In Advent of Computing: Episode 89 – Forth
Back around the time of OS/2 2.0, I was told you absolutely COULD NOT write OS/2 programs in assembler... so I wrote Forth/2 as a result.[1] Direct threaded native code. Brian Matthewson wrote a great manual for it, and it had more than 50 users at one point in time. It requires OS/2 2.0, but it can run on the text mode boot floppy. I've recently picked up a different Forth variant, and with some help for the HN community, got it to compile... then my retina detached and I've got to wait until I can see properly again to work on it. (It's really hard to program when you can't see more than a line or two at a time!) It's called mStoical,[2] and is a variant of the STOIC language, which is Forth, with type checking, strings, hash tables, dictionaries, and even regex. [1] - https://www.os2site.com/sw/dev/forth/forth040.zip [2] - https:/
Read the rest
/github.com/mikewarot/mstoical
In Byte Magazine: The Forth Language (1980)
mikewarot·Apr 15, 2022Submission

Ask HN: Paragraphs – should they contain line breaks?

Reviewing the documentation from Stoical[1], it occurs to me that fixed line length text is archaic. I'm new to the Linux/C/Git world of things, so I don't want to be rash. (and it seems like a great question for a Friday afternoon) Is it reasonable to get rid of all the extra line breaks and make something that flows better on all screen sizes? [1] - https://github.com/mikewarot/stoical/blob/main/doc/Stoical PS: Thanks for all the help last week.
1 points · Open discussion
mikewarot·Apr 8, 2022Submission

Old C code – how to upgrade it?

I've got this code I'm interested in [1], and asked about 2 years ago, actually. My efforts at patching it didn't go well, in retrospect. [2] It's a Forth variant that does typing, and lots of things that normal forth can't do... likely as powerful as Lisp, I think. It's become an obsession to get this thing running. I do a wget, unzip, untar, ./configure, make, su make install and it works perfectly... under Debian 3 Anything newer, even with -std=c99, and it dies a horrible death. Taking the executable from Debian 3 to Debian 11 (32 bit) and it works perfectly. How do I, a non-C programmer, who is willing to dump tons of time into it, migrate this code into the year 2022? Here's an example of something that seems opaque to me, from src/words.c:2012 *(--(char*)hash_ptr.parm.v.p) = fpop(sst); I have a hint as to what's going on here
Read the rest
, but when you throw * in there twice, I think you can see how it's confusing. 1 - http://stoical.sourceforge.net/download.php 2 - https://github.com/mikewarot/stoical
103 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.