On Tue, May 4, 2010 at 11:49 AM, Matthias Felleisen <matth...@ccs.neu.edu> wrote: > > > 1. syntax: OOP guys write down the first argument first (this) and then the > method call and that is the way syntax works.
Yes, but they give up the ability to have first-class methods. The method name is selected from the scope of the object, not from the lexical environment. There is no way to write applyToAutomobile (Method action) { return myAutomobile.action(); } (of course you could use reflection, heh heh) In addition, there's a level of kludginess that they put up with in order to bootstrap themselves into the object world. (No first-class constructor methods, so `factories' have to be introduced.) In FP, given an arbitrary variable like `aList', there are a million constructor functions that could operate on it: cons, list, make-foo, alist->hash-table, etc. If first-class functions were eliminated from functional programming, it would be pretty easy to auto-complete, too. > > Is it really hopeless for us? -- Matthias Yeah. We're saddled with a language that permits us to name nearly anything. Perhaps we need a less powerful paradigm. -- ~jrm _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev