Andy Wingo: micro macro story time

Today, a tiny tale: about 15 years
ago
I was working
on Guile’s macro
expander
.
Guile inherited this code from an early version of Kent Dybvig’s
portable syntax
expander
. It
was… not easy to work with.

Some difficulties were essential. Scope is tricky, after all.

Some difficulties were incidental, but deep. The expander is ultimately
a function that translates Scheme-with-macros to Scheme-without-macros.
However, it is itself written in Scheme-with-macros, so to load it on a
substrate without macros requires a pre-expanded copy of
itself
,
whose data representations need to be compatible with any incremental
change, so that you will be able to use the new expander to produce a
fresh pre-expansion. This difficulty could have been avoided by
incrementally bootstrapping the
library
. It
works once you are used to it, but it’s gnarly.

But then, some difficulties were just superflously egregious. Dybvig is
a totemic developer and researcher, but a generation or two removed
from me, and when I was younger, it never occurred to me to just email
him to ask why things were this way. (A tip to the reader: if someone
is doing work you are interested in, you can just email them. Probably
they write you back! If they don’t respond, it’s not you, they’re probably just
busy and their inbox leaks.) Anyway in my totally speculatory reconstruction of events,
when Dybvig goes to submit his algorithm for publication, he gets annoyed that “expand”
doesn’t sound fancy enough. In a way it’s similar to the original SSA
developers thinking that “phony functions” wouldn’t get
published
.

So Dybvig calls the expansion function “χ”, because the Greek chi looks
like the X in “expand”. Fine for the paper, whatever paper that might
be, but then in psyntax, there are all these functions named
chi and chi-lambda and all sorts of nonsense.

In early years I was often confused by these names; I wasn’t in on the
pun, and I didn’t feel like I had enough responsibility for this code to
think what the name should be. I finally broke down and changed all
instances of “chi” to “expand” back in 2011, and never looked back.

Anyway, this is a story with a very specific moral: don’t name your
functions chi.

Build your phone app on your phone

TWIF generated on Thursday, 11 Jan 2024, Week 2

Community News

Akash Yadav announces the inclusion of AndroidIDE

Though still in its early stages (beta), AndroidIDE provides features like Gradle build support, code completions, code actions, basic code navigation, source code analysis, drag-n-drop UI designer (experimental) and a Termux-based terminal with required packages.

Its feature list is interesting, but do note the biggest limitations though: no NDK support at least for now (this means that if your app has per architecture libs, they can’t yet be built).

For fun we’ve tried to build F-Droid client on our phones but hit a bug, we’ll report back on progress in future TWIFs.

@Licaon_Kter updates us on NewPipe:

As the first TWIF of the year mentioned, latest NewPipe versions are not yet published since they were not reproducible. The NewPipe team is aware and we are waiting for a fix.

SimpleX Chat was updated to version 5.4.2 for the arm64 architecture too, hence you’ll see an update, albeit the version is the same.

Smoke and SmokeStack were updated too, bringing a new SmokeStack icon but also loosen the minimal needed version, from Android 9 to Android 7.1, so more users can enjoy them.

Updated Apps

75 more apps were updated

Thank you for reading this week’s TWIF 🙂
Please subscribe to the RSS feed in your favourite RSS application to be updated of new TWIFs when they come up.

You are welcome to join the TWIF forum thread if you have any news from around the community, maybe it will be featured next week 😉

A 26 bit build of RISC OS

This is a Rom Image and hard disc image of RISC OS, built from the open ROOL sources, but compiled up in 26bit compatible mode. It mostly uses code from approx 2000-2002, compiled up with a set of contempory tools. It should be compatible with Acorn RiscPCs, A7000s, A7000+, and the emulator RPCEmu. ↫ Peter Howkins I’m not particularly well-versed in the world of RISC OS, but I think this build is targeting older machines that use 26bit ARM processors.

Justiça de SP condena Sleeping Giants Brasil por campanha de difamação contra a Jovem Pan

Video by via Dailymotion Source A 9° Vara Cível do Tribunal de Justiça de São Paulo decidiu, em decisão publicada na quarta-feira (10), que a campanha difamatória encampada pelos ativistas do grupo Sleeping Giants Brasil contra a Jovem Pan “transcende os limites legítimos de seu direito de liberdade de expressão”. Assim, juiz condenou o grupo … Read more

Quran Suniye Aur Sunaiye – Para No 14 (Ayat 58) Surah e Nahl 16 – 11 Jan 2024

Video by via Dailymotion Source Quran Suniye Aur Sunaiye – Para No 14 (Ayat 58) Surah e Nahl 16 Host: Mufti Muhammad Sohail Raza Amjadi Topic: Momin ki Maghfirat ka Parwana || مومن کے لئے مغفرت کا پروانہ #quransuniyeaursunaiye #muftisuhailrazaamjadi #aryqtv Watch All Episodes || https://bit.ly/3oNubLx In this program Mufti Suhail Raza Amjadi teaches how … Read more

A solar tower under construction in Saudi Arabia generates electricity 24 hours a day

Video by via Dailymotion Source #Skyscrapers#Construction#Skyline#towersA solar tower in Saudi Arabia achieved impressive results, after it was able to generate electricity throughout the day, without being restricted by sunlight, while significantly reducing the cost of construction, Solar towers depend on hot air rising to the top, different from solar panels that absorb light and convert … Read more

Best Personal Loan App in India #viral #shorts #ytshorts #personalloan #loanapps #shortsfeed

Video by via Dailymotion Source Best Personal Loan App जीवन में छोटे लक्ष्यों को पूरा करने का एक शानदार तरीका है। वे आपको किसी प्रतिष्ठित उपकरण पर पैसा खर्च करने में मदद करते हैं, या आपकी सारी बचत खर्च किए बिना आपकी वित्तीय आपात स्थिति का ख्याल रखते हैं। आज के समय में पर्सनल लोन … Read more

DIRETOR DA PF É MAIS UM A SUGERIR PUNIÇÃO DE TODOS OS GOLPISTAS, INCLUINDO O CHEFE… | Cortes 247

Video by via Dailymotion Source Joaquim de Carvalho é jornalista. Colunista do 247, foi subeditor de Veja e repórter do Jornal Nacional, entre outros veículos. Ganhou os prêmios Esso (equipe, 1992), Vladimir Herzog e Jornalismo Social (revista Imprensa). Sara Goes é jornalista e apresentadora na TV 247. Vídeo completo aqui: https://youtu.be/O-enGW8KvTQ • Seja assinante do … Read more