Popcode, a FORTH-like language with looping

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

rather than

write(2+3)

which is typical of hierarchical infix languages (like Python, Java, C etc).

Continue reading

Posted in Uncategorized | Leave a comment

The Sin of Sloth – an external module system for C

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?

Continue reading

Posted in Uncategorized | Leave a comment

Software Development: the Secret of Success

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.

Continue reading

Posted in Uncategorized | 2 Comments

The Intensional Spreadsheet

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.

Continue reading

Posted in Uncategorized | 2 Comments

Punched Cards? Sheer Bloody Luxury

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.

Continue reading

Posted in Uncategorized | 4 Comments

In This Talk …

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.

Continue reading

Posted in Uncategorized | 2 Comments

Markup Macro Processor

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.

Continue reading

Posted in Uncategorized | Leave a comment

Branching Time Iteration

By Bill Wadge

In the original Lucid language, the index domain (the set of natural numbers) was thought of as a set of time points-Lucid was designed as a temporal functional programming language.

Of course by choosing the set of natural numbers as the set of time points we are at the same time choosing a very simple model of time. In this model there is a first instant, and every instant has a unique successor. This is the bare minimum required to formulate conventional iterative constructs.

The intensional paradigm, however, has no commitment to any particular model of time or to any corresponding particular set of timepoints. This would suggest investigating temporal programming based on a different notion of time.

Continue reading

Posted in Uncategorized | Leave a comment

I’m good enough, I’m smart enough, and dog-gone it, people like me. Writing grant applications

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.

Continue reading

Posted in Uncategorized | 1 Comment

The Secret of Academic Success – or fun filled failure if you prefer

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.

Continue reading

Posted in Uncategorized | 1 Comment