A research proposal I sent out today - comments?
Brian Rice
water@tunes.org
Tue Jun 26 18:19:02 2001
--============_-1218517887==_ma============
Content-Type: text/plain; charset="us-ascii" ; format="flowed"
Hi all,
I recently had the opportunity to apply for some research grants
(informally for now), and put together a description of what I am
working on, trying to use appropriate references and to avoid the use
of buzzword terms.
I thought TUNES members might like to see this, and maybe make some
suggestions as to what to do with it or how to modify it. What do you
think?
Arrow synopsis:
The arrow project is to design and build the support for a system of
handling information in a significantly novel way. Modern computer
science research has yielded hundreds of meaningful distinctions of
possible programming semantics and syntax. These include procedural,
functional, object-oriented, declarative, and a range of languages
that solve higher-order terms in the most abstract sense. In the last
30 years, the world has seen the rise of the use of internets: a
robust unified way to encode the layout and behavior of computer
networks that allows all of them to communicate in a standard way.
The arrow system does a similar thing for programming languages: it
supports a new unified system of understanding computations, data,
and formal linguistic expressions as arrows, which can be regarded as
fundamental distinctions between things. These distinctions have no
intrinsic semantics, and so can be applied to use in many differing
cases both of semantics and syntax. However, there are many difficult
design considerations when attempting this, particularly keeping the
relation of the arrow construct to the various semantics formally
understandable and easy to manipulate as needed.
Although this seems to be a computationally heavy tax on a computer,
the nature of an arrow system would help alleviate this by utilizing
its internet-like nature as follows. If a working arrow environment
has the ability to absorb the information stored in some data or the
process embodied in a program, then the information can remain
encoded in that data or program until manipulation or study is
desired, just as information on an internet may remain on a server
until called for. The environment would also provide for dynamic
re-adjustment of the format of data structures for best performance
by linking up the different kinds of data or program formats and
activating the path between them to transfer the information.
Some of the beginning demonstrations of semantics that arrow can be
applied to include:
(1) Structure of expressions (a.k.a. syntax) - This is a
well-understood problem involving binary trees or annotation trees of
various sorts.
(2) Denotational semantics - This is the relationship of input to
output of some function or relation or general state manipulation.
(3) General relationships between objects - It is easily possible to
cast all information as arrows, however this involves varying the
levels of linguistic context in advanced ways.
(4) Category theory - This theory involving the specification of
types of mathematical objects has been proven mathematically to apply
to many fields and to be ultimately flexible. A production Arrow
environment would use this and many similar notions for describing
the relationships between types of data or programs.
Arrow is not without precedent. My research has looked extensively
into various fields, particularly the following:
(1) The Lisp programming language and its variants - This most
advanced and flexible programming language family is based on lists
of symbols, a primitive approach to the arrow concept for syntax
understanding and manipulation.
(2) The Maude equational rewrite programming language - This recent
addition to the OBJ research language family allows for handling some
very abstract systems of expression evaluation, and can handle
multiple understandings of the same system and multiple strategies to
understanding expressions.
(3) Arrow Logic and Substructural logics - These new additions to the
family of logic and cognitive science research emerged in the last
decade to provide newer, more natural formulations of both dynamic
and static notions of truth and consistency. They also showed how
adapting the means of expression to a domain often resulted in more
reliable systems of reasoning. Arrow reasoning expands on these ideas.
(4) Self-hosted environments - Programming languages like Oberon,
Symbolics Lisp, Smalltalk-80, and Self have demonstrated different
aspects of the flexibility and usefulness of an environment supported
by its own programming language. Self in particular demonstrated how
polymorphism of datatypes can be used to advantage of performance
without the need for excessive programmer involvement.
Thanks for the interest,
Brian Rice
mailto:water@tunes.org
~
--============_-1218517887==_ma============
Content-Type: text/html; charset="us-ascii"
<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { margin-top: 0 ; margin-bottom: 0 }
--></style><title>A research proposal I sent out today -
comments?</title></head><body>
<div>Hi all,</div>
<div>I recently had the opportunity to apply for some research grants
(informally for now), and put together a description of what I am
working on, trying to use appropriate references and to avoid the use
of buzzword terms.</div>
<div><br></div>
<div>I thought TUNES members might like to see this, and maybe make
some suggestions as to what to do with it or how to modify it. What do
you think?</div>
<div><br></div>
<div><br></div>
<div>Arrow synopsis:</div>
<div><br></div>
<div>The arrow project is to design and build the support for a system
of handling information in a significantly novel way. Modern computer
science research has yielded hundreds of meaningful distinctions of
possible programming semantics and syntax. These include procedural,
functional, object-oriented, declarative, and a range of languages
that solve higher-order terms in the most abstract sense. In the last
30 years, the world has seen the rise of the use of<i> internets</i>:
a robust unified way to encode the layout and behavior of computer
networks that allows all of them to communicate in a standard way. The
arrow system does a similar thing for programming languages: it
supports a new unified system of understanding computations, data, and
formal linguistic expressions as<i> arrows</i>, which can be regarded
as fundamental distinctions between things. These distinctions have no
intrinsic semantics, and so can be applied to use in many differing
cases both of semantics and syntax. However, there are many difficult
design considerations when attempting this, particularly keeping the
relation of the arrow construct to the various semantics formally
understandable and easy to manipulate as needed.</div>
<div><br></div>
<div>Although this seems to be a computationally heavy tax on a
computer, the nature of an arrow system would help alleviate this by
utilizing its internet-like nature as follows. If a working arrow
environment has the ability to absorb the information stored in some
data or the process embodied in a program, then the information can
remain encoded in that data or program until manipulation or study is
desired, just as information on an internet may remain on a server
until called for. The environment would also provide for dynamic
re-adjustment of the format of data structures for best performance by
linking up the different kinds of data or program formats and
activating the path between them to transfer the information.</div>
<div><br></div>
<div>Some of the beginning demonstrations of semantics that arrow can
be applied to include:</div>
<div>(1) Structure of expressions (a.k.a. syntax) - This is a
well-understood problem involving binary trees or annotation trees of
various sorts.</div>
<div>(2) Denotational semantics - This is the relationship of input to
output of some function or relation or general state
manipulation.</div>
<div>(3) General relationships between objects - It is easily possible
to cast all information as arrows, however this involves varying the
levels of linguistic context in advanced ways.</div>
<div>(4) Category theory - This theory involving the specification of
types of mathematical objects has been proven mathematically to apply
to many fields and to be ultimately flexible. A production Arrow
environment would use this and many similar notions for describing the
relationships between types of data or programs.</div>
<div><br></div>
<div>Arrow is not without precedent. My research has looked
extensively into various fields, particularly the following:</div>
<div>(1) The<b> Lisp</b> programming language and its variants - This
most advanced and flexible programming language family is based on
lists of symbols, a primitive approach to the arrow concept for syntax
understanding and manipulation.</div>
<div>(2) The<b> Maude</b> equational rewrite programming language -
This recent addition to the OBJ research language family allows for
handling some very abstract systems of expression evaluation, and can
handle multiple understandings of the same system and multiple
strategies to understanding expressions.</div>
<div>(3)<b> Arrow Logic and Substructural logics</b> - These new
additions to the family of logic and cognitive science research
emerged in the last decade to provide newer, more natural formulations
of both dynamic and static notions of truth and consistency. They also
showed how adapting the means of expression to a domain often resulted
in more reliable systems of reasoning. Arrow reasoning expands on
these ideas.</div>
<div>(4)<b> Self-hosted environments</b> - Programming languages like
Oberon, Symbolics Lisp, Smalltalk-80, and Self have demonstrated
different aspects of the flexibility and usefulness of an environment
supported by its own programming language. Self in particular
demonstrated how polymorphism of datatypes can be used to advantage of
performance without the need for excessive programmer
involvement.</div>
<div><br></div>
<div>Thanks for the interest,</div>
<div>Brian Rice</div>
<div>mailto:water@tunes.org</div>
<div>~</div>
</body>
</html>
--============_-1218517887==_ma============--