summaryrefslogtreecommitdiffstats
path: root/2021/talks/imaginary.md
blob: 76bd46b9fad82228f28573d29db45fb905807046 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
[[!meta title="Imaginary Programming"]]
[[!meta copyright="Copyright © 2021 Shane Mulligan"]]
[[!inline pages="internal(2021/info/imaginary-nav)" raw="yes"]]

<!-- You can manually edit this file to update the abstract, add links, etc. --->


# 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
        <https://mullikine.github.io/posts/designing-an-imaginary-programming-ip-library-for-emacs/>

<!--20 minutes:

-   a 5 minute introduction to imaginary programming, followed by
    
    -   a 5 minute introduction and demonstration of Pen.el.
        -   <https://semiosis.github.io/pen/>
    -   a 5 minute org-babel and emacs lisp demonstration of iLambda.
        
        -   iλ, a family of imaginary programming libraries
        
        <https://mullikine.github.io/posts/designing-an-imaginary-programming-ip-library-for-emacs/>
    -   a 5 minute demonstration of ‘cterm’ (complex term) and ‘ii’
    
    (imaginary interpreter).
    
    -   <https://mullikine.github.io/posts/imaginary-real-codex-complex/>
    -   <https://semiosis.github.io/ii/>
    
    -

40 minutes:

-   a 10 minute introduction to language models, their capabilities and
    imaginary programming.
    
    -   a 10 minute introduction to creating prompts with Pen.el.
    -   a 5 minute org-babel and emacs lisp demonstration of iLambda.
        
        -   iλ, a family of imaginary programming libraries
        
        <https://mullikine.github.io/posts/designing-an-imaginary-programming-ip-library-for-emacs/>
    -   a 5 minute demonstration of ‘cterm’ (complex term) and ‘ii’
    
    (imaginary interpreter).
    
    -   <https://mullikine.github.io/posts/imaginary-real-codex-complex/>
    -   <https://semiosis.github.io/ii/>
    
    -   A 5 minute brief on examplary and advanced prompt programming.
        -   <https://semiosis.github.io/examplary/>
    -   5 minutes for Prompting Requests and Q&A

Availability

(during the conference days (Nov 27 and 28))

All hours.

How you’d like to handle questions

Live web conference

--->

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"]]