Re: [fonc] Kernel & Maru

2013-03-26 Thread Alan Kay
The first ~100 pages are still especially good as food for thought

Cheers,

Alan



>
> From: Duncan Mak 
>To: Alan Kay ; Fundamentals of New Computing 
> 
>Cc: "mo...@codetransform.com"  
>Sent: Tuesday, March 26, 2013 10:35 AM
>Subject: Re: [fonc] Kernel & Maru
> 
>
>This is great!
>
>
>Dirk - how did you find it?
>
>
>Duncan.
>
>
>
>On Tue, Mar 26, 2013 at 6:09 AM, Alan Kay  wrote:
>
>That's it -- a real classic!
>>
>>
>>Cheers,
>>
>>
>>Alan
>>
>>
>>
>>>
>>> From: Dirk Pranke 
>>>To: Fundamentals of New Computing ; mo...@codetransform.com 
>>>Sent: Monday, March 25, 2013 11:18 PM
>>>
>>>Subject: Re: [fonc] Kernel & Maru
>>> 
>>>
>>>In response to a long-dormant thread ... Fisher's thesis seems to have 
>>>surfaced on the web:
>>>
>>>
>>>http://reports-archive.adm.cs.cmu.edu/anon/anon/usr/ftp/usr0/ftp/scan/CMU-CS-70-fisher.pdf
>>>
>>>
>>>
>>>-- Dirk
>>>
>>>
>>>
>>>On Tue, Apr 10, 2012 at 11:34 AM, Monty Zukowski  
>>>wrote:
>>>
>>>If anyone finds an electronic copy of Fisher's thesis I'd love to know
about it.  My searches have been fruitless.

Monty

On Tue, Apr 10, 2012 at 10:04 AM, Alan Kay  wrote:
...

> Dave Fisher's thesis "A Control Definition Language" CMU 1970 is a very
> clean approach to thinking about environments for LISP like languages. He
> separates the "control" path, from the "environment" path, etc.
...

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

>>>
>>>___
>>>fonc mailing list
>>>fonc@vpri.org
>>>http://vpri.org/mailman/listinfo/fonc
>>>
>>>
>>>
>>___
>>fonc mailing list
>>fonc@vpri.org
>>http://vpri.org/mailman/listinfo/fonc
>>
>>
>
>
>
>-- 
>Duncan. 
>
>___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Kernel & Maru

2013-03-26 Thread Dirk Pranke
I was browsing through this thread looking for a reference to something
else and happened to see the reference to that paper and thought to Google
it again :).

-- Dirk


On Tue, Mar 26, 2013 at 10:35 AM, Duncan Mak  wrote:

> This is great!
>
> Dirk - how did you find it?
>
> Duncan.
>
>
> On Tue, Mar 26, 2013 at 6:09 AM, Alan Kay  wrote:
>
>> That's it -- a real classic!
>>
>> Cheers,
>>
>> Alan
>>
>>   --
>> *From:* Dirk Pranke 
>> *To:* Fundamentals of New Computing ;
>> mo...@codetransform.com
>> *Sent:* Monday, March 25, 2013 11:18 PM
>>
>> *Subject:* Re: [fonc] Kernel & Maru
>>
>> In response to a long-dormant thread ... Fisher's thesis seems to have
>> surfaced on the web:
>>
>>
>> http://reports-archive.adm.cs.cmu.edu/anon/anon/usr/ftp/usr0/ftp/scan/CMU-CS-70-fisher.pdf
>>
>> -- Dirk
>>
>>
>> On Tue, Apr 10, 2012 at 11:34 AM, Monty Zukowski > > wrote:
>>
>> If anyone finds an electronic copy of Fisher's thesis I'd love to know
>> about it.  My searches have been fruitless.
>>
>> Monty
>>
>> On Tue, Apr 10, 2012 at 10:04 AM, Alan Kay  wrote:
>> ...
>> > Dave Fisher's thesis "A Control Definition Language" CMU 1970 is a very
>> > clean approach to thinking about environments for LISP like languages.
>> He
>> > separates the "control" path, from the "environment" path, etc.
>> ...
>> ___
>> fonc mailing list
>> fonc@vpri.org
>> http://vpri.org/mailman/listinfo/fonc
>>
>>
>>
>> ___
>> fonc mailing list
>> fonc@vpri.org
>> http://vpri.org/mailman/listinfo/fonc
>>
>>
>>
>> ___
>> fonc mailing list
>> fonc@vpri.org
>> http://vpri.org/mailman/listinfo/fonc
>>
>>
>
>
> --
> Duncan.
>
> ___
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc
>
>
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Kernel & Maru

2013-03-26 Thread Duncan Mak
This is great!

Dirk - how did you find it?

Duncan.


On Tue, Mar 26, 2013 at 6:09 AM, Alan Kay  wrote:

> That's it -- a real classic!
>
> Cheers,
>
> Alan
>
>   --
> *From:* Dirk Pranke 
> *To:* Fundamentals of New Computing ;
> mo...@codetransform.com
> *Sent:* Monday, March 25, 2013 11:18 PM
>
> *Subject:* Re: [fonc] Kernel & Maru
>
> In response to a long-dormant thread ... Fisher's thesis seems to have
> surfaced on the web:
>
>
> http://reports-archive.adm.cs.cmu.edu/anon/anon/usr/ftp/usr0/ftp/scan/CMU-CS-70-fisher.pdf
>
> -- Dirk
>
>
> On Tue, Apr 10, 2012 at 11:34 AM, Monty Zukowski 
> wrote:
>
> If anyone finds an electronic copy of Fisher's thesis I'd love to know
> about it.  My searches have been fruitless.
>
> Monty
>
> On Tue, Apr 10, 2012 at 10:04 AM, Alan Kay  wrote:
> ...
> > Dave Fisher's thesis "A Control Definition Language" CMU 1970 is a very
> > clean approach to thinking about environments for LISP like languages. He
> > separates the "control" path, from the "environment" path, etc.
> ...
> ___
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc
>
>
>
> ___
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc
>
>
>
> ___
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc
>
>


-- 
Duncan.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Kernel & Maru

2013-03-26 Thread Alan Kay
That's it -- a real classic!

Cheers,

Alan



>
> From: Dirk Pranke 
>To: Fundamentals of New Computing ; mo...@codetransform.com 
>Sent: Monday, March 25, 2013 11:18 PM
>Subject: Re: [fonc] Kernel & Maru
> 
>
>In response to a long-dormant thread ... Fisher's thesis seems to have 
>surfaced on the web:
>
>
>http://reports-archive.adm.cs.cmu.edu/anon/anon/usr/ftp/usr0/ftp/scan/CMU-CS-70-fisher.pdf
>
>
>
>-- Dirk
>
>
>
>On Tue, Apr 10, 2012 at 11:34 AM, Monty Zukowski  
>wrote:
>
>If anyone finds an electronic copy of Fisher's thesis I'd love to know
>>about it.  My searches have been fruitless.
>>
>>Monty
>>
>>On Tue, Apr 10, 2012 at 10:04 AM, Alan Kay  wrote:
>>...
>>
>>> Dave Fisher's thesis "A Control Definition Language" CMU 1970 is a very
>>> clean approach to thinking about environments for LISP like languages. He
>>> separates the "control" path, from the "environment" path, etc.
>>...
>>
>>___
>>fonc mailing list
>>fonc@vpri.org
>>http://vpri.org/mailman/listinfo/fonc
>>
>
>___
>fonc mailing list
>fonc@vpri.org
>http://vpri.org/mailman/listinfo/fonc
>
>
>___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Binary Lambda Calculus

2013-03-26 Thread Jan Wedekind

Hi John and Andre,

On Mon, 25 Mar 2013, John Tromp wrote:


dear Andre/Jan,


PGA is very different from BLC of course, but both are a simple linear
notations. PGA starts with jump instructions, and it has step by step
extensions for variables, control structures, semaphores etc. It has been
used as a projection of Ruby's OO constructs.
So I hope PGA could give you some ideas.


PGA looks like a notation for control flow as a basis for an imperative
language. BLC is a self-contained pure functional language aimed at
minimal programs. This seems a case of comparing apples and oranges:-)

  I had a quick look at PGA it and it seems to be more like a minimalistic 
assembler. E.g. the core language seems to have variable names and jump 
statements in there (correct me if I am wrong). To introduce variables I 
was rather thinking of something were you would compile/project "x + 1" to
((lambda x (+ x 1)) x). I.e. evaluation takes place "inside" a lambda 
expression.
  That said, maybe there are some nice ideas in PGA on how to compile DSLs 
to BLC.



 After reading John Tromp's paper [1] (also see De Bruijn Index [2]) I got
very interested in Binary Lambda Calculus (BLC). In my little spare time I
implemented a BLC interpreter in C [3, 4].


Cool! You can also find a simple interpreter on my webpage,
from which I derived the IOCCC entry at
 http://www.ioccc.org/2012/tromp/tromp.c
 http://www.ioccc.org/2012/tromp/hint.html
that uses several interesting sample BLC programs,
which you may want to try as additional tests for your interpreter.
My C implementations still trail my Haskell implementation in
flexibility, robustness and performance though...
Yes, I saw 'tromp.c' previously ;) Sure, I'll have a look at running less 
trivial programs, soon.



 I'm still undecided about how to approach some things:
* How does parallel processing fit into the picture?
* What's the best way to implement a DSL including booleans, integers,
floating point numbers, strings, .. on top of BLC?
* Is it possible to describe the electronics of integer addition and
multiplication in BLC and still have it jit-compiled to run efficiently on
x86 hardware?
* How to implement I/O (maybe use monadic objects)?


All these features are somewhat beyond the scope of BLC, and
most either require, or benefit greatly, from a type system, which is
purposely lacking in BLC. I think you should look at a language
like Haskell for achieving such goals.

I'm thinking about using a dynamic type system like in Ruby. Or maybe 
there is no need for a type system. Maybe it is possible to have a DSL 
which maps 'true' to 110 internally and then converts it back when 
printing out a result. Maybe it could be a similar concept as in Ruby 
where every object has an 'inspect' method which is called by the REPL to 
print a result.



Could the I/O
implementation provide equivalent functions to Scheme's quote and eval, too?


The binary encoding of terms in BLC serves as the quoted form,
while the 210 bit interpreter is your eval. You can write a quote function,
but it needs an already quoted form as input (and gives you a double
quoted form as output).

I see. That's "eval" right there :)
Maybe "quote" could be a function which returns the following 
subexpression as a list. E.g.:


  quote 0010 -> (false, false, true, false)

where quote would be a global variable (e.g. 110) and the list (false, 
false, true, false) would be represented as shown in your paper.


Best regards
Jan
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc