Re: [stack] Why is point-free form so interesting?

"William Tanksley, Jr" <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
John Carter <[email protected]> wrote:
> Christopher Diggins wrote:
> > William Tanksley, Jr <[email protected]> wrote:
> >> Stack notation is NOT the simplest possible data transfer notation; it
> >> imposes a total ordering on data, when often a partial ordering is
> >> sufficient.

> > Many programming languages don't even bother allowing people to
> > specify unordered data because it would introduce new constructs,
> > operations, or representations into their language, thus increasing
> > complexity.

> Yes, having an unorder data type is implementationwise more complex,
> but semantically simpler.

Actually, an ordered data *type* is simpler in every way. But we
weren't talking about data types; we were talking about the ability to
specify dataflow. Stack-based concatenative languages completely order
their dataflow. Applicative functional languages leave their dataflow
entirely implicit. Explicit dataflow is good, but for most programs
there really isn't a total ordering of dataflows; inventing one in
order to manipulate a parameter stack is unpleasant and unnecessary.

I don't have a solution, although I can see several possible partial
solutions. (I don't know.) Array languages allow you to perform
dataflow over several chunks of data at identical stack level; Ripple
allows you to return several results at the same stack level. Both are
promising approaches.

> I suspect "unordered set" needs to be a (or the) primitive.

The problem with that is that you have to develop a concept of
identity before you can build a set. An ordered list doesn't require
identity.

But there are interesting results to be gained from a multiset. Hmm,
let me check Zotero...

http://web.maths.unsw.edu.au/~norman/papers.htm has (at the end) an
interesting paper on recasting set theory in terms of multisets and
arrays. IMO worth checking out.

There are some other papers on the same site on the author's
rebuilding of trigonometry along purely algebraic lines (i.e. without
sin, cos, or tan). Very interesting results. Some of the more
technical papers are on that page; another page elsewhere has a few
chapters excerpted from his book.

But I digress.

> Parameters probably should be a set, and a binding should be a map (an
> unordered set of pairs).

You're in the wrong discussion group -- concatenative languages don't
have parameters as such :-).

> John Carter                             Phone : (64)(3) 358 6639

-Billy
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.