Subject: [bug#65934] [PATCH] gnu: Add smithforth.

From: "B. Wilson" <[email-masked]>
Date: Thu, 05 Oct 2023 23:35:41 +0900

Thanks for taking a look.

> Is this a binary VM image dump?
> 
> If so, is there source available, a way to bootstrap it?

The binary is the source, per se. The author hand-wrote x86_64 opcodes in hex,
which is what dmp.txt contains. This is "compiled" by using xxd to write those
bytes out to a file. Then system.fs is just a blob of Forth source that gets
appended to the binary.

It's kind of magical that this scheme works at all, but that's Forth for ya.

> Please use a gexp here for #:builder and instead of the (assoc-ref …)
> expressions above, use:
> 
>   #~(begin
>       ;; …
>       (let* ((sforth.dmp #$(package-source this-package))
>              (system.fs #$(origin …)))
>         …))
> 
> > +    (home-page "https://dacvs.neocities.org/SF/")
> > +    (synopsis "Forth programming language for x86-64 desktop computers")

Ah, nice. Thanks. Will do.

> Please add a ‘supported-systems’ field so the package is clearly marked
> as unsupported on architectures other than x86_64.

Perfect. I didn't realize we had such a field. Thanks!