Re: [fonc] Extending object oriented programming in Smalltalk

2011-08-17 Thread Kevin Driedger
Here's a Google Doc conversion of the wayback machine version:
https://docs.google.com/viewer?url=http://web.archive.org/web/20070516130537/http://www.dolphinharbor.org/docs/PIE%2520four%2520reports.pdfpli=1

Or:

http://www.dolphinharbor.org/dh/smalltalk/documents/

Look for:
An Experimental Description-Based Programming Environment: Four
Reportshttp://www.dolphinharbor.org/docs/PIE%20four%20reports.pdf
(Ira
Goldstein and Daniel Bobrow, CSL-81-3 March 1981) 3.18MB

Enjoy, thanks for the fun Googling project.


On Tue, Aug 16, 2011 at 9:18 PM, DeNigris Sean s...@clipperadams.comwrote:

 Extending object oriented programming in Smalltalk by Goldstein and
 Bobrow
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Extending object oriented programming in Smalltalk

2011-08-17 Thread Bert Freudenberg
On 17.08.2011, at 17:08, Kevin Driedger wrote:

 Here's a Google Doc conversion of the wayback machine version:
 https://docs.google.com/viewer?url=http://web.archive.org/web/20070516130537/http://www.dolphinharbor.org/docs/PIE%2520four%2520reports.pdfpli=1
 
 On Tue, Aug 16, 2011 at 9:18 PM, DeNigris Sean s...@clipperadams.com wrote:
 Extending object oriented programming in Smalltalk by Goldstein and Bobrow
 

There is a paper on PIE (and many other interesting systems) in 
Barstow/Shrobe/Sandewall's Interactive Programming Environments. Used copies 
for 1 cent (like many outdated computer books):

http://www.amazon.com/dp/0070038856

- Bert -


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


Re: [fonc] Extending object oriented programming in Smalltalk

2011-08-17 Thread David Leibs

On Aug 17, 2011, at 8:32 AM, Bert Freudenberg wrote:
 
 There is a paper on PIE (and many other interesting systems) in 
 Barstow/Shrobe/Sandewall's Interactive Programming Environments. Used 
 copies for 1 cent (like many outdated computer books):
 
 http://www.amazon.com/dp/0070038856
 

Outdated!  It's a classic. 
You wouldn't say that Lisp 1.5 Programmer's Manual is outdated would you?  :-)

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


Re: [fonc] Extending object oriented programming in Smalltalk

2011-08-17 Thread DeNigris Sean
Alan,

While we're on the subject, you finally got to me and I started learning LISP, 
but I'm finding an entire world, rather than a cohesive language or philosophy 
(Scheme - which itself has many variants, Common LISP, etc). What would you 
recommend to get it in the way that changes your thinking? What should I be 
reading, downloading, coding, etc.

Thanks.
Sean DeNigris
 You wouldn't say that Lisp 1.5 Programmer's Manual is outdated would you?  
 :-)
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Extending object oriented programming in Smalltalk

2011-08-17 Thread David Leibs
Hi Sean,
Two books that I like quite a lot are:
 Anatomy of Lisp by John Allen.  It's a classic from the golden age.
Lisp in Small Pieces  by Christian Queninnec.  It's a modern classic.

-David





On Aug 17, 2011, at 11:00 AM, DeNigris Sean wrote:

 Alan,
 
 While we're on the subject, you finally got to me and I started learning 
 LISP, but I'm finding an entire world, rather than a cohesive language or 
 philosophy (Scheme - which itself has many variants, Common LISP, etc). What 
 would you recommend to get it in the way that changes your thinking? What 
 should I be reading, downloading, coding, etc.
 
 Thanks.
 Sean DeNigris
 You wouldn't say that Lisp 1.5 Programmer's Manual is outdated would you?  
 :-)
 ___
 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] Extending object oriented programming in Smalltalk

2011-08-17 Thread karl ramberg
Hi,
Just reading a Lisp book my self.
Lisp seems to be very pure at the bottom level.
The nesting in p*arentheses* are hard to read and comprehend / debug.
Things get not so pretty when all sorts of DSL are made to make it more
powerful.
The REPL give it a kind of wing clipped aura; there is more to computing
than text io

Karl


On Wed, Aug 17, 2011 at 8:00 PM, DeNigris Sean s...@clipperadams.comwrote:

 Alan,

 While we're on the subject, you finally got to me and I started learning
 LISP, but I'm finding an entire world, rather than a cohesive language or
 philosophy (Scheme - which itself has many variants, Common LISP, etc). What
 would you recommend to get it in the way that changes your thinking? What
 should I be reading, downloading, coding, etc.

 Thanks.
 Sean DeNigris

 You wouldn't say that Lisp 1.5 Programmer's Manual is outdated would you?
  :-)


 ___
 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] Extending object oriented programming in Smalltalk

2011-08-17 Thread BGB
I once had a good experience using Scheme, which has influenced most of 
my later efforts (despite me generally switching to a more traditional 
C-family-like syntax, invoking many accusations of blub and similar).


I also found Self an interesting language to look at.


Lisp-style syntax does have some merits, but also some drawbacks. sadly, 
for general purpose programming, I think its drawbacks outweigh its 
merits. list operations and code as data are cool, but are not enough 
to justify making the whole syntax be this way.


sadly, although macros are also cool, they don't mesh as well with 
C-family syntax (what is going on and how things work is less obvious, 
and one can't do the same level of stuff without exposing many internal 
details of the implementation). another problem with macros is that they 
don't mix cleanly with a very late bound language, since generally one 
can't late-bind a macro (they are inherently early-bound). some Lisp 
variants had introduced run-time/first-class macros, which could mesh 
better with being late-bound, but could get a bit hairy in the 
implementation.


a tradeoff then is something more like templates or generics, which may 
be meshed better with late-binding and with the syntax (despite 
Fooint, 3+4; and similar looking nasty).


ideally, things can be left so that they appear as-if everything is 
happening at run-time, with most language constructions (classes, 
scopes, functions, types, ...) existing as first-class objects.


IMO, this partly makes up for the lack of macros and/or user-defined 
syntax (actually, both are technically possible, just not directly 
accessible at the HLL level, and more require plugging code into the VM 
and inherently expose implementation details).



interactive code entry (via a console / REPL / ...) is sadly, one of 
those things that is far from perfect, and there is no obvious way to 
really make this work entirely nicely.


another possible strategy could be real-time code editing (say, a text 
editor with a GO button, where one hits GO after they finish editing), 
but this has other problems.


likewise for having a text-editor where they can enter arbitrary-sized 
expressions and then send them to the REPL, ...


no ideal solutions here that I am aware of.


or such...


On 8/17/2011 12:00 PM, karl ramberg wrote:

Hi,
Just reading a Lisp book my self.
Lisp seems to be very pure at the bottom level.
The nesting in p/arentheses/ are hard to read and comprehend / debug.
Things get not so pretty when all sorts of DSL are made to make it 
more powerful.
The REPL give it a kind of wing clipped aura; there is more to 
computing than text io


Karl


On Wed, Aug 17, 2011 at 8:00 PM, DeNigris Sean s...@clipperadams.com 
mailto:s...@clipperadams.com wrote:


Alan,

While we're on the subject, you finally got to me and I started
learning LISP, but I'm finding an entire world, rather than a
cohesive language or philosophy (Scheme - which itself has many
variants, Common LISP, etc). What would you recommend to get it
in the way that changes your thinking? What should I be reading,
downloading, coding, etc.

Thanks.
Sean DeNigris


You wouldn't say that Lisp 1.5 Programmer's Manual is
outdated would you?  :-)



___
fonc mailing list
fonc@vpri.org mailto: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] Extending object oriented programming in Smalltalk

2011-08-17 Thread Tomasz Rola

May I join in :-) ?

This is my first post here, so hello everybody. In one sentence, I like 
computing (that's introduction).

On Wed, 17 Aug 2011, BGB wrote:

 I once had a good experience using Scheme, which has influenced most of my
 later efforts (despite me generally switching to a more traditional
 C-family-like syntax, invoking many accusations of blub and similar).

I have had a good experiences with Racket, a Scheme superset on steroids,
few years ago (when its name was DrScheme). I have pushed it too hard, so 
it burped a core at me from time to time. Because of this I switched to 
Common Lisp, but I still like it - it has IDE, JIT and is crossplatform 
(Win/Lin/Mac). It has a good number of third party addons, too.

http://en.wikipedia.org/wiki/Racket_(programming_language)

 I also found Self an interesting language to look at.
 
 
 Lisp-style syntax does have some merits, but also some drawbacks. sadly, for
 general purpose programming, I think its drawbacks outweigh its merits. list
 operations and code as data are cool, but are not enough to justify making
 the whole syntax be this way.

I would say, no syntax and no language does 100% of the job.

I consider myself somewhat switched to Lisp, but I don't forget about C, 
Python and Scheme (and, maybe, Haskell, when I learn it).

Maybe there should not be the one and only, perfect language. Especially 
that no language that I looked at could fit.

 likewise for having a text-editor where they can enter arbitrary-sized
 expressions and then send them to the REPL, ...
 
 no ideal solutions here that I am aware of.

I'm not sure if you ever tried emacs with slime? Maybe it is not perfect 
but it works for me. Slime is for befriending Common Lisp's REPL and 
taming it into emacs (I have read it can do the same with Clojure, but 
never had enough time to check).

Or maybe I just didn't ram the wall yet. I should try harder.

Regards,
Tomasz Rola

--
** A C programmer asked whether computer had Buddha's nature.  **
** As the answer, master did rm -rif on the programmer's home**
** directory. And then the C programmer became enlightened...  **
** **
** Tomasz Rola  mailto:tomasz_r...@bigfoot.com **

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


Re: [fonc] Extending object oriented programming in Smalltalk

2011-08-17 Thread BGB

On 8/17/2011 2:15 PM, Tomasz Rola wrote:

May I join in :-) ?

This is my first post here, so hello everybody. In one sentence, I like
computing (that's introduction).

On Wed, 17 Aug 2011, BGB wrote:


I once had a good experience using Scheme, which has influenced most of my
later efforts (despite me generally switching to a more traditional
C-family-like syntax, invoking many accusations of blub and similar).

I have had a good experiences with Racket, a Scheme superset on steroids,
few years ago (when its name was DrScheme). I have pushed it too hard, so
it burped a core at me from time to time. Because of this I switched to
Common Lisp, but I still like it - it has IDE, JIT and is crossplatform
(Win/Lin/Mac). It has a good number of third party addons, too.

http://en.wikipedia.org/wiki/Racket_(programming_language)


yep.
back when I was messing with Scheme, IIRC it was mostly known as PLT Scheme.

initially (maybe 1999 to 2000 or so) I was using Guile, but wrote my own 
Scheme implementation after running into issues with Guile.


both Guile and PLT Scheme were sources of feature ideas at the time, as 
well as me mostly adopting a Self-inspired object system.



technically, objects were applied much like functions, so a typical 
method-call operation was more like:

(self doSomething: 3 4)

where doSomething: and :doSomething were more-or-less analogous 
(IIRC I had 2 keyword types with slightly different semantics in some 
cases).


getting a slot was generally something like:
(self 'x)

and setting was like:
(self 'x 3)


but, I let this particular implementation meet its demise in roughly 
2003 or so, mostly as the language/implementation was not scaling well.


sadly, I have not managed to recreate all of its nifty features in my 
newer language.


sadly, I have not much actively used Lisp or Scheme that much for a 
while (except for a few cases of resorting to Guile as a more powerful 
alternative to Windows Calculator..., although, this has been partly 
subsumed by BGBScript+REPL as well, so alas...).




also, the newer languages' AST-level syntax is not nearly so concise:

(methodcall this doSomething 3 4)
(getslot this x)
(setslot this x 3)

the partial the reason for this was to move away from direct-call 
expressions, mostly so that the compiler can complain when it encounters 
an unknown expression type.


and, as well, the AST's are hidden under the main syntax and regarded as 
an implementation detail.


var x:int=3;
becomes:
(vars ((set! (cast int x) 3)))



I also found Self an interesting language to look at.


Lisp-style syntax does have some merits, but also some drawbacks. sadly, for
general purpose programming, I think its drawbacks outweigh its merits. list
operations and code as data are cool, but are not enough to justify making
the whole syntax be this way.

I would say, no syntax and no language does 100% of the job.

I consider myself somewhat switched to Lisp, but I don't forget about C,
Python and Scheme (and, maybe, Haskell, when I learn it).

Maybe there should not be the one and only, perfect language. Especially
that no language that I looked at could fit.


yeah.

a large amount of my coding is still in plain C.

despite existing, my own language has not made major inroads into the 
domains in which I use C, I suspect mostly because in the past, the 
languages didn't interface well, and because even after so many years I 
am still left battling with some fundamental language issues in many cases.


in some ways, C is hard to beat at its own game.

it is sad though, as I would want to be able to claim that I can do lots 
of cool stuff in my own language, to prove that it can actually be 
used for something useful, but alas...


like, 95% of a language can be made quickly and easily, but the last 5% 
is where 95% of the pain resides.




likewise for having a text-editor where they can enter arbitrary-sized
expressions and then send them to the REPL, ...

no ideal solutions here that I am aware of.

I'm not sure if you ever tried emacs with slime? Maybe it is not perfect
but it works for me. Slime is for befriending Common Lisp's REPL and
taming it into emacs (I have read it can do the same with Clojure, but
never had enough time to check).

Or maybe I just didn't ram the wall yet. I should try harder.


given what I am mostly doing is 3D engine development and building on my 
own technology, emacs likely wont be a good fit.



so, most code entry is:
interactively via an in-program console (sadly, single-line and limited 
to 100 characters, but this is typically sufficient);
via a temporary file and Notepad2 (sort of lame, but one can use this 
to fake a much bigger REPL, using a console command to load() the temp 
file each time);

or, via plain old source files (more Notepad2...).

otherwise, possible could be to devise some sort of in-program bulk-REPL 
feature or something (may have to look at what Emacs Slime does exactly, 
and see if it's UI is something 

Re: [fonc] Extending object oriented programming in Smalltalk

2011-08-17 Thread Alan Kay
Take a look at Landin's papers and especially ISWIM (The next 700 programming 
languages)

You don't so much want to learn Lisp as to learn the idea of Lisp

Cheers,

Alan




From: karl ramberg karlramb...@gmail.com
To: Fundamentals of New Computing fonc@vpri.org
Sent: Wednesday, August 17, 2011 12:00 PM
Subject: Re: [fonc] Extending object oriented programming in Smalltalk


Hi,
Just reading a Lisp book my self. 
Lisp seems to be very pure at the bottom level.
The nesting in parentheses are hard to read and comprehend / debug.
Things get not so pretty when all sorts of DSL are made to make it more 
powerful. 
The REPL give it a kind of wing clipped aura; there is more to computing than 
text io


Karl




On Wed, Aug 17, 2011 at 8:00 PM, DeNigris Sean s...@clipperadams.com wrote:

Alan,


While we're on the subject, you finally got to me and I started learning 
LISP, but I'm finding an entire world, rather than a cohesive language or 
philosophy (Scheme - which itself has many variants, Common LISP, etc). What 
would you recommend to get it in the way that changes your thinking? What 
should I be reading, downloading, coding, etc.


Thanks.
Sean DeNigris
You wouldn't say that Lisp 1.5 Programmer's Manual is outdated would you?  
:-)
___
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