💾 Archived View for republic.circumlunar.space › users › dbane › gemlog › 2022-01-21.gmi captured on 2024-05-10 at 11:34:12. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-03-01)

-=-=-=-=-=-=-

Some Updates

Looking over my past entries there are a few common themes:

So here's an update of some new things I learned about these.

Systems Programming Languages

D is still my favourite here. But now I think it's better to stay with in "-betterC" mode for as long as possible, so code can be embedded into a larger C-based system. libmir should help with this.

libmir

I took another look at golang, but still think it's inferior. It does have the Google budget going for it, but

MUDs

Here, I confirmed that even thought it's cool, ColdC & ColdCore are basically dead. The next-best system, MOO, is still going fairly strong though, in particular its ToastStunt descendant. This also means that the MCP client protocol is back in favour, and InterMUD/Arachnos are probably superseded by Grapevine.

ToastStunt & ToastCore

Grapevine

I considered the EtaMOO design of just implementing an interpreter for a MOO core, e.g. ToastCore. It does have a lot going for it but for now I think a more primitive language like BASICODE is a better choice (but I admit I could be wrong). Remember this should never be written by people trained in software--they write Lisp--it's for end-users.

EtaMOO

BASICODE

ISLisp

Not so much ISLisp, but I found out that the UNIX syscall interface of scsh was standardised throught the SRFI process. This would be a great addition to Easy-ISLisp, for only a day or two's effort.

SRFI 170: POSIX API

Also, I wrote some prototype code to scope out a rewrite of the eisl design in D. This looks like about a month, unfortunately, so I'm not going to do it anytime soon. Also, the world needs yet another Lisp implementation like it needs a hole in the head :-)

Similarly to the above look at golang, I also took a look back at Shen to see what was going on. Dr. Tarver has done good work, releasing a new kernel version S31.03 and a well-documented standard library. But in the end it just feels too complex, and also I think the split between a low- and high-level language (e.g. C/D & ISLisp) is simpler in the end than doing everything in Shen/CL. Similar to the decision not to just use MOO above, it's possible I'm wrong here.

Back to my gemlog