Collections with stable iterators

Oh oracle of the interwebs –

I am writing a GPCE paper, and one of the contributions is a model of sequences (AKA collections) that has stable unshifting positions. Standard collections use an array abstraction where access is by integer ordinal position, which shifts under insertion and deletion. This manifests as the fact that iterators are broken by insertion and deletion operations. Linked list iterators also break under deletion.

Does anyone know of alternative proposals with stable positions/iterators? I don’t know of any, but I can’t be the first person to do this. Continue reading “Collections with stable iterators”

The modular transformation challenge

I got some good feedback here on my last paper. I want to see if I can get some equally good advice about what my next paper should be. My past papers have been about making programming easier. I would like to move on to making programming more powerful. Specifically, by making transformations and views a fundamental language feature. I have thought of a simple challenge problem that I might use to motivate and evaluate this idea. Please let me know whether you agree that a) this is actually an unsolved problem, and b) whether it is a worthwhile challenge. If there is interest, I will post this onto some collaborative editing surface. Thanks!

Continue reading “The modular transformation challenge”

QWERTY vs. COBOL

There was a surprising pattern in the response to my talk during my recent road trip. I think of my work as trying to make programming more human-friendly. Yet the people most concerned with human factors had a common reaction: it just isn’t possible to reinvent programming languages from scratch. I was instead expecting negative reactions from the formal methods and analysis people, but some of them seemed to be quite entertained by my work.

Continue reading “QWERTY vs. COBOL”