As part of the popshop project I designed and implemented a concatenative language I called Popcode. It has lists (of commands), which among other things makes loops possible. The first concatenative language was Forth and nowadays the best known is probably Joy. They don’t have looping constructs, only recursion.
Concatenative languages are based on (normally) postfix notation rather than infix notation. Thus to add 2 and 3 and write the result the code is
2 3 + write
which is typical of hierarchical infix languages (like Python, Java, C etc).
A while back John Plaice and I invented an external module system for C . It worked pretty well for us but never caught on. Maybe it will be of some use to some of you.
Sloth was part of an insanely ambitious (for 2 or 3 people) project called the popshop (I mentioned it in my software success post).
It all started harmlessly enough – why don’t I write a Lucid interpreter?
Recently I revealed the secret of academic success. This was so popular (16000 views!) that I decided I would follow up with the secret of software success – success in producing software.
Not that I’ve always been that successful – but the secrets are mainly avoiding the mistakes I made.
A while back Weichang Du and I designed a spreadsheet based on intensional logic, the logic of values that vary over a coordinate space.
Spreadsheets are a natural fit for ‘intensifying’ because a sheet is already a two-dimensional intension, varying over the horizontal (A, B, C, …) and vertical (1, 2, 3, …) dimensions. But we can do better than just redo Excel with intensional semantics. Intensionality opens up some interesting possibilities; like user-defined operators, time varying sheets, or nested sheets.
by Bill Wadge
And you try and tell the young people of today that … they won’t believe you!
– Monty Python, the Four Yorkshiremen
Yes, punched cards – that’s how I learned to program.
by Bill Wadge
Academics love to talk, talk, talk … and to give “talks”. I was no exception.
Sometimes they went well, sometimes not so well … and sometimes they went weird. Here are some outstanding ones in various categories.
by Bill Wadge
The Markup Macro Processor (MMP) is a text based macro system that uses a markup-like syntax, similar to (but much simpler than) XML.
For two years I was on the Canadian NSERC committee that reviewed individual grant applications. Fascinating.
After reading dozens of applications you can begin to see patterns emerging. I’m going to review some of these patterns, all but one of which I don’t recommend. No guarantees but I hope this helps.
In my research career I’ve discovered many things, including the secret of academic success (too late to help my own career). I’m going to share the secret with you.