Christopher Diggins | 2 May 17:57 2006
Picon

[stack] Concatenative vs Compositional

I was wondering why the term "concatenative" was chosen over the term
"compositional"? The semantics of the Joy language if oftern explained as
function composition contrasted with function application. "Concatenation"
is simply a description of the syntax. Any thoughts?

[Non-text portions of this message have been removed]

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/concatenative/

<*> To unsubscribe from this group, send an email to:
    concatenative-unsubscribe <at> yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

sa | 2 May 18:06 2006

Re: [stack] Concatenative vs Compositional


charles peirce (the inventor of pragmatism) renamed his doctrine
"pragmaticism" after william james started using the original.
the new term, peirce thought, was "so ugly that no one else would
be tempted to steal it."

concatenative <at> yahoogroups.com wrote on 05/02/2006 11:57:01 AM:

> I was wondering why the term "concatenative" was chosen over the term
> "compositional"? The semantics of the Joy language if oftern explained as
> function composition contrasted with function application.
"Concatenation"
> is simply a description of the syntax. Any thoughts?
>
>
> [Non-text portions of this message have been removed]
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>

 
(Continue reading)

William Tanksley, Jr | 3 May 01:16 2006
Picon

Re: [stack] Concatenative vs Compositional

Christopher Diggins <cdiggins <at> gmail.com> wrote:
> I was wondering why the term "concatenative" was chosen over the term
> "compositional"? The semantics of the Joy language if oftern explained as
> function composition contrasted with function application. "Concatenation"
> is simply a description of the syntax. Any thoughts?

I've been blamed for that choice. I think it makes sense to me in that
"concatenative" describes an elementary property of the language type
that describes both the semantics and syntax: the concatenation of any
two valid programs is another valid program.

A compositional language wouldn't be concatenative if it used
parentheses and parsing rules, as with J (J is only partially
compositional, of course; that wasn't its purpose).

-Billy

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/concatenative/

<*> To unsubscribe from this group, send an email to:
    concatenative-unsubscribe <at> yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

(Continue reading)

Christopher Diggins | 6 May 18:45 2006
Picon

[stack] Designing a Type Notation for a Stack Based Functional Language

I am designing a dialect of Joy called 'Big Cat'. I have posted samples of
the type annotation syntax at Lambda-the-Ultimate (
http://lambda-the-ultimate.org/node/1455 ) and I was hoping for some
feedback.

I am developing the Big Cat interpreter in C#, and I'll share the source
with the group as public domain as soon as I have a prototype. The
long-range goal is to develop a highly optimized version of Big Cat which
translates to MSIL.

Thanks in advance.
Christopher Diggins

[Non-text portions of this message have been removed]

------------------------ Yahoo! Groups Sponsor --------------------~--> 
You can search right from your browser? Its easy and its free.  See how.
http://us.click.yahoo.com/_7bhrC/NGxNAA/yQLSAA/saFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/concatenative/

<*> To unsubscribe from this group, send an email to:
    concatenative-unsubscribe <at> yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
(Continue reading)

William Tanksley, Jr | 6 May 23:47 2006
Picon

Re: [stack] Designing a Type Notation for a Stack Based Functional Language

Christopher Diggins <cdiggins <at> gmail.com> wrote:
> I am designing a dialect of Joy called 'Big Cat'. I have posted samples of
> the type annotation syntax at Lambda-the-Ultimate (
> http://lambda-the-ultimate.org/node/1455 ) and I was hoping for some
> feedback.

Looks good to me. Have you played around with/read the documentation
about strongForth, at
http://home.vrweb.de/stephan.becher/forth/index.htm? Your work will
probably have to be more powerful than his, but it's still a good
start with a solid algorithm.

> I am developing the Big Cat interpreter in C#, and I'll share the source
> with the group as public domain as soon as I have a prototype. The
> long-range goal is to develop a highly optimized version of Big Cat which
> translates to MSIL.

That's a great idea.

> Christopher Diggins

-Billy

------------------------ Yahoo! Groups Sponsor --------------------~--> 
Protect your PC from spy ware with award winning anti spy technology. It's free.
http://us.click.yahoo.com/97bhrC/LGxNAA/yQLSAA/saFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links
(Continue reading)

Christopher Diggins | 11 May 04:10 2006
Picon

[stack] Symmetric Reductions

I notice in stack based languages certain symmetric programs reduce to
no-ops:

f1 = [swap swap] = []
f2 = [dup pop] = []
f3 = [cons uncons] = []
f4 = [dup swap cons uncons swap pop] = [dup swap swap pop] = [dup pop] = []

So how much of this is blindingly obvious to the research community? It
seems that this must be much harder to detect in non-stack based languages.

Thanks,
Christopher Diggins

[Non-text portions of this message have been removed]

------------------------ Yahoo! Groups Sponsor --------------------~--> 
Home is just a click away. Make Yahoo! your home page now.
http://us.click.yahoo.com/DHchtC/3FxNAA/yQLSAA/saFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/concatenative/

<*> To unsubscribe from this group, send an email to:
    concatenative-unsubscribe <at> yahoogroups.com

(Continue reading)

William Tanksley, Jr | 11 May 23:51 2006
Picon

Re: [stack] Symmetric Reductions

Christopher Diggins <cdiggins <at> gmail.com> wrote:
> I notice in stack based languages certain symmetric programs reduce to
> no-ops:
> f1 = [swap swap] = []
> f2 = [dup pop] = []
> f3 = [cons uncons] = []
> f4 = [dup swap cons uncons swap pop] = [dup swap swap pop] = [dup pop] = []

Well, by definition if a word has a "symmetric" counterpart -- a
mirror-image reversal -- then following the word with its mirror image
would be a no-op. The interesting thing is that these are mostly not
perfectly symmetric -- "swap swap" is, of course, but "dup pop" acts
completely different in a mirror world. In mathematical jargon, "swap
swap" is reversible, while "dup pop" isn't.

So there's two interesting sets of symmetric no-ops -- reversible and
non-reversible. Oh, and then of the reversible ones, there's the set
of nihilistic palindromes: phrases which do nothing and read the same
forward and backward. "swap swap" is obviously one of these.

> So how much of this is blindingly obvious to the research community? It
> seems that this must be much harder to detect in non-stack based languages.

Well, yes. The part that makes it easy to detect is actually the
compositional nature of the language rather than just the
stack-basedness :-). Manfred wrote a bit about identities like these
in some of his work on the mathematical basis of Joy -- IMO
interesting reading.

Of course, in a completely reversible language such explorations would
(Continue reading)

stevan apter | 12 May 00:35 2006

Re: [stack] Symmetric Reductions

our own brent kerby and hilton campbell:  befreak.

http://tunes.org/~iepos/befreak.html

and a k implementation with GUI:

http://www.nsl.com/papers/befreak.htm

here is a primes-generator (g-d help us):

http://www.nsl.com/k/befreak/primes.txt

a reversible concatenative language would surely be
something to marvel at.

----- Original Message ----- 
From: "William Tanksley, Jr" <wtanksleyjr <at> gmail.com>
To: <concatenative <at> yahoogroups.com>
Sent: Thursday, May 11, 2006 5:51 PM
Subject: Re: [stack] Symmetric Reductions

Christopher Diggins <cdiggins <at> gmail.com> wrote:
> I notice in stack based languages certain symmetric programs reduce to
> no-ops:
> f1 = [swap swap] = []
> f2 = [dup pop] = []
> f3 = [cons uncons] = []
> f4 = [dup swap cons uncons swap pop] = [dup swap swap pop] = [dup pop] = []

Well, by definition if a word has a "symmetric" counterpart -- a
(Continue reading)

Joe Bowbeer | 12 May 03:57 2006
Picon

Re: [stack] Symmetric Reductions

Sort of OT, but this reminds me of a peep-hole optimizer I once
implemented for a sliding block puzzle solver: two adjacent moves that
move the same piece into the hole can both be elided.  (Think of a
queue where adding a new element erases the last element instead, but
only if it's identical to the new element.)

This in turn reminds me of a statement I read that related
sliding-block puzzles to computers:

http://www.maa.org/editorial/mathgames/mathgames_12_13_04.html

Recently, Erik Demaine and Robert Hearn proved that sliding-block
puzzles are PSPACE-complete. In their paper, you can see the
AND-gates, OR-gates and other wiring necessary to build a
sliding-block puzzle that emulates a computer. In fact, a puzzle made
just with dominoes is PSPACE-complete. Since sliding-block puzzles are
PSPACE-complete, "hardest" is meaningless. For any question a computer
can answer with YES or NO, an equivalent sliding-block puzzle can be
set up whose solvability depends on the answer.

The Complexity of Sliding-Block Puzzles and Plank Puzzles
http://swiss.csail.mit.edu/~bob/sliding-blocks.pdf

On 5/10/06, Christopher Diggins <cdiggins <at> gmail.com> wrote:
> I notice in stack based languages certain symmetric programs reduce to
> no-ops:
>
> f1 = [swap swap] = []
> f2 = [dup pop] = []
> f3 = [cons uncons] = []
(Continue reading)

stevan apter | 12 May 04:10 2006

Re: [stack] Symmetric Reductions

this is EXTREMELY cool.

thanks joe

----- Original Message ----- 
From: "Joe Bowbeer" <joe.bowbeer <at> gmail.com>
To: <concatenative <at> yahoogroups.com>
Sent: Thursday, May 11, 2006 9:57 PM
Subject: Re: [stack] Symmetric Reductions

> Sort of OT, but this reminds me of a peep-hole optimizer I once
> implemented for a sliding block puzzle solver: two adjacent moves that
> move the same piece into the hole can both be elided.  (Think of a
> queue where adding a new element erases the last element instead, but
> only if it's identical to the new element.)
> 
> This in turn reminds me of a statement I read that related
> sliding-block puzzles to computers:
> 
> http://www.maa.org/editorial/mathgames/mathgames_12_13_04.html
> 
> Recently, Erik Demaine and Robert Hearn proved that sliding-block
> puzzles are PSPACE-complete. In their paper, you can see the
> AND-gates, OR-gates and other wiring necessary to build a
> sliding-block puzzle that emulates a computer. In fact, a puzzle made
> just with dominoes is PSPACE-complete. Since sliding-block puzzles are
> PSPACE-complete, "hardest" is meaningless. For any question a computer
> can answer with YES or NO, an equivalent sliding-block puzzle can be
> set up whose solvability depends on the answer.
> 
(Continue reading)


Gmane