summaryrefslogtreecommitdiffstats
path: root/final_project/work/description
blob: 64b65747d397860b90b1dac644e55b42c6124bea (plain)
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

A generic operator system connects the application of a generic procedure on
multiple arguments to the "appropriate" procedure for those specific arguments
based on type predicates.

Our problem is to take an individual object (/not/ in the object-oriented
sense of the word, but in the s-expression sense of the word) and determine
the set of procedures which /could/ be applied to it based on type predicates
and present these options interactively to the user in a useful manner.

[Various optimizations to this process will be discussed]

We will consider and demonstrate this system in the domains of a) the R5RS
Scheme builtin types and procedures and b) the scmutils types and special
procedures for mathematics and physics. Our "range" for these domains will
be an interactive REPL environment (or just text interaction?) and a GTK 
graphical user interface.

Other domains this system could be applied to include:
    random correctness or unit testing of complex systems
    automatically generated generic user interfaces

Related problems (which could be covered by this work?):
    chaining procedures (eg if f maps A->B and g maps B->C, then gof maps
        A->C which might be what we want
    some kind