[[!meta title="Imaginary Programming"]] [[!meta copyright="Copyright © 2021 Shane Mulligan"]] [[!inline pages="internal(2021/info/imaginary-nav)" raw="yes"]] # Imaginary Programming Shane Mulligan Imaginary Programming (IP) is both methodology and paradigm. It is an extension of literate programming and a way of creating software without the use of imperative, functional or even declarative code. Yet IP employs all disciplines to achieve the miraculous. The only contingency is on one or more language models, known as foundation models. The real value of IP is not found by abandoning sound logic altogether, but in weaving the real with the imaginary. The future of imaginary programming is one in which almost all of computing is inferred. I have built a suite of tools based on emacs for interfacing real programming languages with imaginary ones; all of this in order to demonstrate what I mean; a ‘complex’ terminal that lets you imagine what happens no matter how nested you are within interpreters, an example-oriented language, a file format that encodes the provenance of text and a library for imaginary functional programming primitives called iLambda. It is important to recognise IP because, for lack of a better term, it has far-reaching implications for intellectual property and the GPL. Please keep an open mind. # Outline - 5-10 minutes: - a 5 minute introduction to imaginary programming, followed by - a demonstration of iLambda. - iλ, a family of imaginary programming libraries IRC libertyprime at #emacs on libera Shane Mulligan [[!inline pages="internal(2021/info/imaginary-schedule)" raw="yes"]] [[!inline pages="internal(2021/info/imaginary-nav)" raw="yes"]]