Search the web
Sign In
New User? Sign Up
concatenative · Discuss the concatenative variety of computer languages: Joy, Forth, Postscript
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Concatenative macros?   Message List  
Reply | Forward Message #3180 of 4643 |
Re: [stack] Concatenative macros?

Sorry; I said in my last post that I had one more question, and then I
forgot to ask it.

My question is: how does Okasaki's and Barker's work apply to this?
Okay, actually, what I want to know is how to design a flat,
two-combinator, concatenative language that's implemented using stacks
and lists (like Joy).

I've wanted to figure this out for a while, but my friend wants it in
order to design a genetic algorithm system that allows maximum
flexibility in cutting genomes.

iepos <bkerby@...> wrote:
> So what about a one-combinator basis? This is an interesting
> question. It will not work to simply take the concatenative version
> of the Fokker X combinator (or the Rosser, or any other applicative
> one-combinator complete basis). This would be equivalent to the
> basis {s, k}, which is _not_ complete in a concatenative system.

Okasaki, in the postscript file linked to at
http://www.eecs.usma.edu/webs/people/okasaki/pubs.html#jfp03, builds a
concatenative system using different rules, under which the classical
combinators form the classical structures (and so {s,k} is complete,
hence the classical X combinators are complete). The difference
between his notation and yours is that his notation uses combinators
to build a list-structure which is then treated as a grammatical
structure in itself; your notation has its own grammatical structure.

His notation has two strengths: first, it harnesses directly the
classic combinators; and second, it is syntactically completely flat
(lists and quotation play no part in the grammar). I'm concerned that
it has weaknesses that I don't understand, however, because I can't
figure out how it actually works well enough to design an
implementation.

I also found Barker's work on Zot at
http://ling.ucsd.edu/~barker/Iota/zot.html to be compelling -- I
speculate that Zot (and probably Jot as well) qualify as
concatenative, although they don't explicitly specify a stack (that
could be another example of a non-stack-based concatenative language,
or it could just be that the stack is hidden by the way in which the
semantics of the language is described). Again, though, the notation
used is foreign to me, so further examination is hindered. The reason
I qualify Zot as probably concatenative is that the author describes
several properties of it in ways that make me think it might meet my
definitions as well. Interestingly, it's probably also applicative, if
I read its notation right (although it doesn't provide
variables/lambdas, so it's pure dataflow -- that certainly reduces the
differences between the concepts).

> But after some fiddling, I was able to find a one-combinator base
> that does work. The idea is to make a combinator with 'cake' and 'k'
> somehow embedded in it, built in such a way that, with a little
> manipulation, we can extract them back out. Let
> z == [zap [cake] [k]] dip i

Interesting. I came up with a similar combinator (i.e. one which
contained both cake and k) when I was attempting to build a system
that didn't use a list structure as part of its grammar back a while
ago. Unfortunately, my notes are lost, and since I wasn't trying for
completeness (indeed, I didn't understand it at all) I doubt I
achieved it.

Your combinator, unlike Barker's and Okasaki's, makes sense to me :-).
The problem is that I don't see whether it's possible to transform it
to a flat system.

My problem with non-flat systems isn't merely syntactic; my concern is
that they hide infinite semantic complexity in the ability to create
layers of quotations. It's hard to unambiguously measure the
K-complexity of a non-flat syntax; do you count the depth of nesting,
or do you count opening brackets, or ...? A flat syntax makes the
K-complexity of things implemented in it obvious.

> - Brent

-Billy



Fri Jan 19, 2007 4:52 pm

wtanksle
Offline Offline
Send Email Send Email

Forward
Message #3180 of 4643 |
Expand Messages Author Sort by Date

... Thank you for putting the effort in. I have one more question. ... Ah! A light dawns. Thank you again. Your definitions make sense. ... Nice. Now I'm going...
William Tanksley, Jr
wtanksle
Offline Send Email
Jan 17, 2007
5:58 am

Sorry; I said in my last post that I had one more question, and then I forgot to ask it. My question is: how does Okasaki's and Barker's work apply to this? ...
William Tanksley, Jr
wtanksle
Offline Send Email
Jan 19, 2007
6:33 pm

Billy and all, Sorry for taking so long to respond to this. When I first read your email, the server hosting Chris Okasaki's paper was apparently down. And...
iepos
Offline Send Email
Feb 6, 2007
5:41 am

... I agree -- and it was both instructive and reasonably fun to read. ... Indeed it did! I especially appreciate you including your reasoning. Not only do I...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 6, 2007
7:20 pm

... i thought it might be subliminal tribute to o[kasak]i....
sa@...
Send Email
Feb 6, 2007
7:53 pm

... From: "William Tanksley, Jr" <wtanksleyjr@...> ... i think this should be 00101 0011 1 1 = [] q k k i've posted an interpreter for 01 at: ...
stevan apter
sa@...
Send Email
Feb 8, 2007
11:15 pm

... [A] [] q k k = [[A]] [A] k k = A k Too many k's. What might be messing things up is how you treat the [A B] term in the result of 'q'. In this quotation,...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 9, 2007
5:02 am

... From: "William Tanksley, Jr" <wtanksleyjr@...> To: <concatenative@yahoogroups.com> Sent: Thursday, February 08, 2007 11:54 PM Subject: Re: [stack]...
stevan apter
sa@...
Send Email
Feb 9, 2007
12:54 pm

... This is one of the things that confuses me about this notation -- but it's something you have to learn. The reason it's confusing to us is that it's a...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 9, 2007
3:29 pm

... [:] ... [:] ... my confusion was purely notational: i didn't realize that "A B" meant (what i would write as) "A^B", although the left-hand-side of the...
sa@...
Send Email
Feb 9, 2007
4:38 pm

... Included at the end of this post. ... Indeed. Although I'm also interested in genetic systems, my main interest is in understanding languages for use by...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 9, 2007
7:45 pm

My apologies to the many people (I hope) reading this list and hoping for something useful. This stuff is a LONG way from usefulness. I hope that it will...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 8, 2007
12:01 am

... Wow! That's much better. Nice work. ... Well, what exactly do you mean by that? There's certainly one combinator which is shorter in my {o,i}, namely "i"....
iepos
Offline Send Email
Feb 8, 2007
3:35 am

Billy & all, I hacked at my old Joy searcher for a while and was at last able to persuade it to deal with improper combinators; so I've been able to determine...
iepos
Offline Send Email
Feb 9, 2007
8:35 am

... Okay; and then you posted it where? :-) Let me get my credit card. -Billy...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 9, 2007
8:09 pm

... Thanks, but obviously it builds on your work -- you actually know what you're doing, and you get all the credit for making it make sense. I suspect that...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 9, 2007
6:48 pm

i would be extremely interested in reading a description of the algorithm. (my dog ate my credit card) ... From: "William Tanksley, Jr" <wtanksleyjr@...>...
stevan apter
sa@...
Send Email
Feb 9, 2007
10:03 pm

... Oh, yeah, I forgot to mention that. It's at http://www.tunes.org/~iepos/joys.zip (it's linked from the article "Theory of Concatenative Combinators"); I...
Brent L Kerby
iepos
Offline Send Email
Feb 9, 2007
10:58 pm

... It basically works by trying all programs of size 0 (There aren't too many of these :-) ), then all programs of size 1, and so forth, testing each program...
Brent L Kerby
iepos
Offline Send Email
Feb 10, 2007
3:31 am

thanks brent as usual, work that you consider throw-away contains more insights than can fit in a standard published article, much less the margins of one. ......
stevan apter
sa@...
Send Email
Feb 11, 2007
12:07 am

... I'm looking forward to your genetic system -- one would expect that it would be useful for the same purpose. Perhaps you should tailor a version of it to...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 11, 2007
12:27 am

Great stuff! Still, I don't see the need for a flat binary base (except for extreme simplicity and fun). Why not allow 4 flat primitives that follow the 4...
Robbert van Dalen
r_v_dalen
Offline Send Email
Feb 11, 2007
11:27 am

... That's a great reason :-). I'm using it to better understand perfect flatness, in hopes that I can see whether flatness has any desirable properties. It's...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 11, 2007
6:58 pm

... I played with this -- it definitely does make things simpler, since you don't need to have a "do everything" 'o' combinator; the other combinators can help...
William Tanksley, Jr
wtanksle
Offline Send Email
Feb 26, 2007
12:12 am

... From: "William Tanksley, Jr" <wtanksleyjr@...> To: <concatenative@yahoogroups.com> Sent: Friday, January 05, 2007 11:16 AM Subject: Re: [stack]...
stevan apter
sa@...
Send Email
Jan 5, 2007
8:27 pm

... An improper list is one whose final cons does not have a car of nil. -- He played King Lear as though John Cowan <cowan@...> someone had...
John Cowan
johnwcowan
Online Now Send Email
Jan 5, 2007
9:01 pm

... My system tries not to specify the shape of lists -- I consider it a bad habit. Even being able to take apart lists is mathematically problematic within a...
William Tanksley, Jr
wtanksle
Offline Send Email
Jan 6, 2007
7:01 am

... From: "John Cowan" <cowan@...> To: <concatenative@yahoogroups.com> Sent: Friday, January 05, 2007 3:52 PM Subject: Re: [stack] Concatenative macros? ...
stevan apter
sa@...
Send Email
Jan 5, 2007
10:33 pm

between you and john, i now understand the point about "improper lists". i think the two notations can be made equivalent by adding a special symbol to each. ...
stevan apter
sa@...
Send Email
Jan 6, 2007
12:17 pm

... Yes, that would make them equivalent (although "." wouldn't mean 'nil' for me; instead, it would be a code that meant that the previous item was the end of...
William Tanksley, Jr
wtanksle
Offline Send Email
Jan 7, 2007
2:01 am
 First  |  |  Last 
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help