Linux Format

Wrong again #157

-

It has been said that one can tell what language a programmer used previously by looking at their first Mathematic­a program. Similarly, it is common to see Python programs rated on how ‘pythonic’ they are.

In a Lisp tutorial, one wants to see Lisp used in the way it is intended to be used, rather than examples that are direct translatio­ns from a language such as Basic. If you have learnt Basic, the best advice is to forget all about it, so I was disappoint­ed to see Basic mentioned in a Lisp article together with program examples written in a Basic style.

Lisp is primarily a functional language; purely functional languages have some drawbacks, so Lisp includes some non-functional features, but these are for use in special cases, so should not be included in a first tutorial. Lisp has an REPL (read, evaluate, print loop), which means results are automatica­lly printed, so any mention of the print command is an unnecessar­y distractio­n. In Lisp, variables are best used only in special cases, so the setq command shouldn’t be mentioned in a first tutorial either.

It is a mistake to suggest that Lisp is “quirky”

(as your ‘expert’ does). A quirk implies something unpredicta­ble or unaccounta­ble, but Lisp is the way it is for good reasons.

An example to show that besides integers, floating point numbers and strings, Lisp functions can return both lists and functions would go some way to explaining why many of the cognoscent­i consider Lisp the best available programmin­g language.

A first tutorial should conclude by providing pointers to further informatio­n, which in this case should include www.paulgraham.com/lisp.html. I hope you’ll try to make sure that future articles will bear all this in mind. I’ve talked about Lisp, but much of what I’ve said would apply to articles on other programmin­g languages, too.

John Payne

Neil says…

Thanks for the feedback, I do take it on board. We tend to get the odd email from people who know way more about subjects than I or the writers do. I think people’s take on how subjects should be approached may not appreciate the magazine’s level – though we shouldn’t be making mistakes, of course. We’re largely here to introduce subjects in a fun manner and not any formal or academic style, and I don’t think Mike would ever describe himself as an expert in Lisp, which really is quite quirky from a lay person’s perspectiv­e, which was always the point of these articles.

I’m using a Raspberry Pi 4 8GB with Raspberry Pi OS on a 64GB SD card, all accessed via RealVNC, as the RDP didn’t seem stable. I’m not planning on using the Pi for emulation itself but rather for hosting lobbies for my friends. I installed the Yuzu emulator via Flatpak, which seems good when it works. I then tried Citra but couldn’t get it to work with Flatpak or AppImage – even trying an executable, the Snap says it’s not ARM64-compatible.

Basically, I’d like to try an N64 emulator with the Aqz plugin, and the PSX emulator using Netplay, but a Docker setup also seems an interestin­g option – I’ve no idea what that would entail, though.

Richard Smart

Neil says…

Congratula­tions for embarking on a Raspberry Pi and Linux emulation odyssey. It’s a great platform to try emulation on, though it sounds like you’re taking a more complicate­d approach than perhaps you have to. Citra looks like it’s x86 only, so ARM-based Pis aren’t supported, which is the error the Snap was giving you. Frankly, if the Pi isn’t supported, you’re wasting your time trying to compile this.

If you want a simple emulation solution, you should take a look at Batocera.linux from https://batocera.org

– it offers not only Raspberry Pi images but also x86 images, so you can use your desktop or Steam Deck among a host of other devices.

 ?? ?? Sorry, but even the Lisp logo is a bit quirky!
Sorry, but even the Lisp logo is a bit quirky!
 ?? ?? Go see the exhaustive list of supported devices!
Go see the exhaustive list of supported devices!

Newspapers in English

Newspapers from Australia