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...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

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
S-K Construction of Dip?   Message List  
Reply | Forward Message #3252 of 4643 |
Re: [stack] In praise of Prolog




On 9/3/07 6:54 PM, "Christopher Diggins" <cdiggins@...> wrote:

I did look at your paper and read it with great interest. I am not really
competent
to judge the details, so I cannot help you in any substantial way. I had
some
superficial acquaintance with natural deduction rules for typing, but have
never
used the them in earnest. But it is a formalism which I should study and
perhaps
use to describe typed Joy. Actually the type inference that I use for the
Joy-to-Prolog
compiler is so automatic when writing in Prolog that it is barely visible.
It is simply
this:

IF a turns S into T1
AND b turns T2 into U1
AND c turns U2 into V
THEN [a b c] turns S into V

where there have to be the unifications T1=T2 and U1=U2. All that is
automatic.
There are two compilers at present, both about 18 lines long. One produces
lengthy Prolog code which is still more efficient than the Joy source. The
other produces optimised Prolog code in which all the stack-and
list-shuffling
is done at compile time and leaves no trace in the Prolog code. All thanks
to
Prologıs unification.

I also had a look at your implementation in C#. It looks much cleaner than
my Joy implementation. Thanks in part perhaps to C#, but only in part.
You are also a better programmer than I am. Well done.

- Manfred
>
>
>> > For a long time I had been dreaming of static type checking for Joy,
>> >
> Have you looked at the most recent Cat paper
> (http://www.cat-language.com/paper.html)? It could prove to be a useful
> starting point for designing a type system and type checker for Joy (and
> even a type inference algorithm).
>
> Cheers, Christopher
>



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




Wed Mar 14, 2007 2:54 am

maggethun
Offline Offline
Send Email Send Email

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

... Have you looked at the most recent Cat paper (http://www.cat-language.com/paper.html)? It could prove to be a useful starting point for designing a type...
Christopher Diggins
cdiggins.geo
Offline Send Email
Mar 9, 2007
7:54 am

On 9/3/07 6:54 PM, "Christopher Diggins" <cdiggins@...> wrote: I did look at your paper and read it with great interest. I am not really competent to...
Manfred Von Thun
maggethun
Offline Send Email
Mar 14, 2007
2:55 am

... A great book about the typing formalism which I think you may enjoy (to be honest I found it very hard to understand, but I am not formally educated) was...
Christopher Diggins
cdiggins.geo
Offline Send Email
Mar 15, 2007
5:07 pm

... Very few Lisps allow you to recover the source form of a definition from its executable form (decompiling), but essentially all allow you to evaluate...
John Cowan
johnwcowan
Online Now Send Email
Mar 10, 2007
8:31 pm

Thanks for this, I had a vague suspicion that it might be so for the Lisps. In fact for any interpreter written in some implementation language it seems that...
Manfred Von Thun
maggethun
Offline Send Email
Mar 14, 2007
5:12 am

... It might help to look at the definition of Prolog in Lisp in the book "On Lisp", available free at http://www.paulgraham.com/onlisp.html. (I see it seems...
William Tanksley, Jr
wtanksle
Offline Send Email
Mar 14, 2007
2:47 pm

... I've been hammering this in my mind, but I can't get it to work out right. ... The problem is that machine language/assembler uses explicit offsets to...
William Tanksley, Jr
wtanksle
Offline Send Email
Mar 9, 2007
3:16 pm

... Since the language had assignments, there was no referential transparency to start with. But take the purely functional subset of just about any language ...
Manfred Von Thun
maggethun
Offline Send Email
Mar 14, 2007
6:05 am

... Oops! I meant to type "destroy flatness", not "destroy referential transparency". Oops. Doggone it, one slip like that and my message makes no sense at...
William Tanksley, Jr
wtanksle
Offline Send Email
Mar 14, 2007
3:13 pm

Here is a flat concatenative language which I shall call L. After a lot of discussions on this group I now have some intuitive understanding of what a flat...
Manfred Von Thun
maggethun
Offline Send Email
Mar 22, 2007
5:25 am

My apologies for the previous posting which I wrote ages ago but did not post then Now it is completely out of date. Somehow I slipped with the mouse just now....
Manfred Von Thun
maggethun
Offline Send Email
Mar 22, 2007
5:36 am

Cancel the cancellation. The previous cancellation was for a very tentative pre-Prolog draft of something about typing Joy. My mailer claims it was sent to...
Manfred Von Thun
maggethun
Offline Send Email
Mar 28, 2007
8:39 am

... I'm glad to hear it -- I thought your post was interesting, and I couldn't recall having seen it before. Thanks for taking the opportunity to clean it up. ...
William Tanksley, Jr
wtanksle
Offline Send Email
Mar 28, 2007
5:21 pm

... [..] I could not comment on the lean flat language experiment ... to anticipate: the L that I am discussing has a stack of foyers, starting with a stack of...
Manfred Von Thun
maggethun
Offline Send Email
Apr 2, 2007
9:55 am

Manfred Von Thun <m.vonthun@...> wrote: Thank you for the prompt and clear answers. To cut to the chase: I agree that the language "L" is both flat...
William Tanksley, Jr
wtanksle
Offline Send Email
Apr 3, 2007
4:30 am

On 3/4/07 9:12 AM, "William Tanksley, Jr" <wtanksleyjr@...> wrote: [..] Sorry Billy, I cannot respond right now. But I will clarify a few things when I...
Manfred Von Thun
maggethun
Offline Send Email
Apr 10, 2007
4:07 am

... Indeed, not enormously. But see below. [..] ... See your own comment above. You agree that L is concatenative (and flat), and that Joy is concatenative...
Manfred Von Thun
maggethun
Offline Send Email
Apr 18, 2007
6:50 am

... But they do not accept the same programs. L accepts many more programs than Joy does. L may even be more expressive than Joy (although I haven't examined...
William Tanksley, Jr
wtanksle
Offline Send Email
Apr 18, 2007
2:54 pm

... You are exactly right about L++ (in the terminology of my original post), but not about L. Reminder: L and L++ both use a stack of foyers, but they differ...
Manfred Von Thun
maggethun
Offline Send Email
Apr 26, 2007
8:24 am

... I'm extremely confused. I thought you just said that L accepted unbalanced brackets -- you said, "an incomplete Joy program (as Joy is currently...
William Tanksley, Jr
wtanksle
Offline Send Email
Apr 26, 2007
5:09 pm

From time to time I have considered various alternative notations for concatenative languages. In particular the syntax for combinators would seem to allow...
Manfred Von Thun
maggethun
Offline Send Email
Apr 30, 2007
9:10 am

... I think one of the great advances of Joy over Forth was its ability to pass code to combinators. Going back to a fixed syntax would be a pity. Safety can...
William Tanksley, Jr
wtanksle
Offline Send Email
Apr 30, 2007
2:36 pm

... The Forth-like notation you suggest is a step-backwards. This is coming from someone who has written a lot of Forth :) I would like to see [if-part]...
James Hague
jmz_hague
Offline Send Email
May 1, 2007
2:22 pm

... There are two separate two-armed conditional words in Joy, "ifte" and "choice". The latter behaves as you suggest: it takes a boolean value and two...
John Cowan
johnwcowan
Online Now Send Email
May 1, 2007
3:40 pm

... The two combinators ifte and choice are interdefinable: [thenpart] [elsepart] choice == [] [thenpart] [elsepart] ifte == [thenpart] [elsepart] [] rollup...
Manfred Von Thun
maggethun
Offline Send Email
May 4, 2007
8:17 am

... Here we are: First, two older versions: nullary == [stack] dip infra first nullary == [stack] dip dip cons unstack My current favourites, using just one...
Manfred Von Thun
maggethun
Offline Send Email
May 7, 2007
4:25 am

... Firstly, I wasnıt actually suggesting it, I was merely listing various alternatives. Is it a step backwards? Maybe, but that can be a a good thing if one...
Manfred Von Thun
maggethun
Offline Send Email
May 7, 2007
11:17 am
 First  |  |  Next > Last 
Advanced

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