From: Mark Tarver
Subject: teaching kids functional programming
Date: 
Message-ID: <1164142924.214932.193230@b28g2000cwb.googlegroups.com>
One reason functional programming has not become more widespread, is
that it is rarely encountered by our children or teens during their
learning process. Here is an open question for you all.  Do you think
that functional programming can be taught with benefit to those of
school age and if so, how do you think this might be done? 

Mark

From: KevinZzz
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164148674.621399.206740@b28g2000cwb.googlegroups.com>
Mark Tarver wrote:
> One reason functional programming has not become more widespread, is
> that it is rarely encountered by our children or teens during their
> learning process. Here is an open question for you all.  Do you think
> that functional programming can be taught with benefit to those of
> school age and if so, how do you think this might be done?
>
> Mark

Mark,

I think it can be done with as much benefit as much else that is taught
that audience, I work as a Math'(s) tutor @ 'High School' (12 - 18
years of age) & University level.. &, frankly, I think that something
like a significant restructuring of the 'Applied Math'(s)' syllabi
world-wide is possibly the avenue offering the most likely success...

Overlooked by most students & often extremely archaic, 'Applied
Math'(s)' syllabi offer an ideal place for developing 'functional
programming' education @ that age (& beyond)..

Possibly, such courses would eventually become the mainstream (a
'flipover')..

I was originally working on the idea of Perl (CPAN impresses me), but
that's another matter (& I won't make everyone yawn while I outline how
I got here (@ comp.lang.lisp))..

I've only begun CL, but I can see how its AI heritage is a plus for
selling it over say the crap VB that many people start out studying @
school (or Java or C or Ruby or.....)...

Marketing & bureaucracy will be the biggest problem...

I'm recording my learning of CL as I go so that I can set up a course
sometime over the next year (they say you only learn after you teach
what you learn & it is my belief that people who have just learned
something (w/ the proviso that they've some other expertize/ise & some
experience as educators) have a zest/patience for showing & telling
'it' that the extremely advanced user/developer does not)...

I'm calling it (T)LFL ((Teaching) Lisp as a Foreign Language) & I'll
market it via the evening course circuit (let's face it, the 'likes' of
PhotoShop is the only competition where I am...)...

Bureaucracy accepts most easily something that it finds it has already
accepted via the sidedoor...

It's probably 'madness', but I want that Alfred Sloan Prize that's on
the go for films about science &/ scientists too...

My 'field notes' for the past three weeks are @
antiparanoid.blogspot.com...

Contact me if you like,

kind regards,

K

p.s: Q: newcomers, do 'we' 'really' want 'them'?

      A: ...'them'?

      A: ...'we'?
From: Tim May
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <211120062048559228%timcmay@removethis.got.net>
In article <························@b28g2000cwb.googlegroups.com>,
Mark Tarver <··········@ukonline.co.uk> wrote:

> One reason functional programming has not become more widespread, is
> that it is rarely encountered by our children or teens during their
> learning process. Here is an open question for you all.  Do you think
> that functional programming can be taught with benefit to those of
> school age and if so, how do you think this might be done? 

In America, teaching kids to read and know some science and math is
more important than "teaching them to program."

(And in the inner cities, having kids get interested in reading at the
third grade level is the real challenge. "Reading be fo' whitey" is the
dominant sentiment.)

There's no point in teaching FP if people have no idea whatsoever what
a function is, what vectors are, etc.

(This is not just a problem with the untermenschen. I was talking to
some twentysomething crypto programmers, fluent in C and beginning to
take up Python, and they had no conception whatsoever what linear
algebra was about....they just  hadn't had to study in their CS
classes, and "math" ended at whatever freshman math required courses
they'd had. I tried to explain to them inner products and the
connection with correlation, and saw a slight glimmer of understanding.
I realized that programmers need a solid grounding in math, not just FP
or OO.)

--Tim May
From: lurker
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <ejvpq5$f14$1@aioe.server.aioe.org>
"Mark Tarver" <··········@ukonline.co.uk> wrote in message 
·····························@b28g2000cwb.googlegroups.com...
> One reason functional programming has not become more widespread, is
> that it is rarely encountered by our children or teens during their
> learning process. Here is an open question for you all.  Do you think
> that functional programming can be taught with benefit to those of
> school age and if so, how do you think this might be done?
>
> Mark
>
Try here

www.alice.org 
From: Rob Warnock
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <O5mdnbAR-s_3qPnYnZ2dnUVZ_vKdnZ2d@speakeasy.net>
Mark Tarver <··········@ukonline.co.uk> wrote:
+---------------
| One reason functional programming has not become more widespread, is
| that it is rarely encountered by our children or teens during their
| learning process. Here is an open question for you all.  Do you think
| that functional programming can be taught with benefit to those of
| school age and if so, how do you think this might be done? 
+---------------

Back before the PLT Scheme team got chased away from Rice [ha, ha,
only serious], there was this thing called the TeachScheme project
<http://www.teach-scheme.org/>, which still seems to exist but which
has [sadly, IMHO] been renamed to "TeachScheme, ReachJava!", though
it still appears to start the program with Scheme, see:

    http://www.teach-scheme.org/Overview/
    http://www.teach-scheme.org/Materials/

The original scope included a curriculum for teaching high-school
students and college freshmen Scheme... *and* a series of summer
workshops to teach *teachers* how to teach the curriculum. [Very
important, that last bit.]


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: grackle
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164214191.450571.48080@m73g2000cwd.googlegroups.com>
Mark Tarver wrote:
> One reason functional programming has not become more widespread, is
> that it is rarely encountered by our children or teens during their
> learning process. Here is an open question for you all.  Do you think
> that functional programming can be taught with benefit to those of
> school age and if so, how do you think this might be done?
>
> Mark

Mark, I see that you're in the UK.  My response is based on my
experience in the US, so it might not apply, but I see insurmountable
difficulties in teaching functional programming in high schools (13 to
18 year old kids.)

First problem:  lack of money and understanding.  I had a very sharp
teacher, retired from the Air Force, who taught us BASIC because the
high school wouldn't give him two hundred bucks for a cheap C compiler.

Second problem:  lack of respect.  When the Air Force guy retired after
teaching my class, the school moved programming into the vocational
education department and gave it to the teacher who taught
"Keyboarding" and "Word Processing."  She bought a textbook that used
Pascal and a Pascal compiler and handed both to the students, who
basically taught their own course on the honor system.   (I was a bit
ticked off that the school let this glorified typing teacher buy a
compiler after denying funds for my class.)

Third problem:  The AP test, which now uses Java.  In US schools that
are rich and enlightened enough to hire a decent teacher, college
admissions are king.  College admissions depend on racking up official
academic credentials, i.e., AP test scores and ACT/SAT scores, and
"well-roundedness" or "life experiences," which includes anything
artistic or philanthropic, but not mathematical.  When you're about to
enter high school, you plan your career around basically one question,
which is, "How many AP classes can I take and still be well-rounded?"
Taking a functional programming class only hurts your college
application.  That might not be entirely accurate, but that's the way
an entering high school student is taught to see it.  (Outside the US,
read IB for AP.)

Fourth problem:  lack of students.  There were 1400 students in my high
school, and maybe two or three in each class (8-12 at the school at any
one time) would have had both the aptitude and the desire.  (If you
could convince everyone that it's important for their future, such as
by creating a functional programming AP test, maybe seven to ten per
class would have had the aptitude.)  If you were allowed to teach a
class with such small demand at all, you could only offer one class
every two years, and some of your targeted students would miss it
because of scheduling conflicts.

I think the best way to teach functional programming to high schoolers
would be through a summer "nerd camp."  I took a summer math class at
nerd camp at Duke when I was a teenager, and some of the kids were in a
computer class that used Scheme.  The other way would be through some
kind of distance learning service, so you wouldn't have to worry about
the number of students.

Now that I think of it, you might do very well if you avoided the high
schools altogether.  Teach it in lower grades, where people are less
obsessed with academic credentials and more eager to embrace something
that makes kids generically smarter.

-David
From: Raffael Cavallaro
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <2006112212070616807-raffaelcavallaro@pasdespamsilvousplaitmaccom>
On 2006-11-22 11:49:51 -0500, "grackle" <···········@gmail.com> said:

> Now that I think of it, you might do very well if you avoided the high
> schools altogether.  Teach it in lower grades, where people are less
> obsessed with academic credentials and more eager to embrace something
> that makes kids generically smarter.

This is a much better approach. If such a program became sufficiently 
successful it might create a demand for follow-on courses at the high 
school level. Who knows - might even get the College Board (purveyors 
of the AP exams) to change over to the functional language (PLT 
scheme?) the grammar school courses and later high school follow-ons 
were offered in. It also wouldn't hurt your cause any if thousands of 
middle schoolers were building their own sophisticated web sites using 
the language and web server you taught in your course.
From: Steve Harris
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164218795.864978.51640@m7g2000cwm.googlegroups.com>
Mark,
I really hope you pursue it, because I really think there's a lot to be
gained from teaching functional programming, especially to kids.

I've been reading the book "The Little Schemer" with my 7 year old
daughter.  We've only scratched the surface so far but she really likes
it.  I think the key is to have fun with it and to not push too hard.

We've gotten as far as defining the first recursive function in the
book,  "contains?" for checking whether a list contains a given
element.  She really enjoyed discussing the definition of this
function, especially that mysterious last line that so seems to be
cheating but really isn't, where it makes the call to itself on the
rest of the list.  There are a lot of things to discuss there about the
recursion, like how it's slightly simplifying the problem as it calls
itself (on the shorter list), and  why she can't do that sort of thing
in her school when defining a word on vocabulary tests (what's a
"cornocopia"? - it's a cornocopia!), etc, all of which she found quite
amusing.  I had a hard time continuing for a while because she kept
wanting to give me more and more examples of silly tautologies.  :)

One drawback is that the book isn't really designed for children so it
will need some translation.  E.g. I substituted "first" and "rest" in
place of "car" and "cdr" for her.  Also I've showed her the same
function in Haskell, which she likes, I think because the pattern
matching makes it very visual; you can *see* that a list is a first and
a rest easily in Haskell.  Haskell also makes it easy to show how to
define things like lists from scratch (introducing recursion in data
too) in a very visual way, but we haven't touched on that yet.  That
will come in especially handy when it's time to define a simple number
system ( data Number = Zero | NumberAfter Number ) which is one of my
goals with her. This is also covered in the "Little Schemer" but I
think it's more satisfying in Haskell (no need to rely on builtin +,
and it seems more visual to me, but then I knew Haskell first...).

Good luck with whatever you do and have fun with it!
Steve
From: Steve Harris
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164221346.857291.54210@j44g2000cwa.googlegroups.com>
I see I mispelled cornucopia.  In my defense, my elementary school
seriously misled me and the others by making us believe they were
vastly more common than they actually are, and I don't think I've seen
once since (the real kind, with the fruit spilling out of the horn or
whatever).
When my daughter told me "guess what we're studying now: cornucopias!",
I had to laugh out loud.  :-)
From: Mark Tarver
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164405592.617866.176380@l12g2000cwl.googlegroups.com>
Steve Harris wrote:
> Mark,
> I really hope you pursue it, because I really think there's a lot to be
> gained from teaching functional programming, especially to kids.

I absolutely agree.

> Also I've showed her the same function in Haskell, which she likes,
> I think because the pattern
> matching makes it very visual; you can *see* that a list is a first and
> a rest easily in Haskell.

Thumbs up to that too.

I've come to some provisional conclusions.

1.  I agree that pattern-directed programming is more accessible to
kids (and adults!) than CAR or CDR.
2.  But that weighing kids down with types etc. as in Haskell and ML is
placing too steep a learning curve on them.
3.  Especially the syntax in some of these languages which is frankly a
pain.
4.  Also - very important - non-dorky applications that kids find
interesting.This is the hard bit.
5.  Connected with 3. - the ability to do interesting things predicated
on an excellent connection of the language to the environment of the
machine.  I'm enough of a kid to appreciate this.  I've just written a
Perl CGI script and although Perl is by no means as flexible as Qi for
many of the things I want to do, I got a big kick out of generating
HTML and seeing it pop up on  my server.   Functional programming will
not take off if kids are contained in a command window.

> Good luck with whatever you do and have fun with it!

Thanks, I intend to.

Mark
From: JK
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <bqidh.15425$_H5.7003@tornado.texas.rr.com>
Mark Tarver wrote:

> Steve Harris wrote:
> 
>>Mark,
>>I really hope you pursue it, because I really think there's a lot to be
>>gained from teaching functional programming, especially to kids.
> 
> 
> I absolutely agree.
> 
> 
>>Also I've showed her the same function in Haskell, which she likes,
>>I think because the pattern
>>matching makes it very visual; you can *see* that a list is a first and
>>a rest easily in Haskell.
> 
> 
> Thumbs up to that too.
> 
> I've come to some provisional conclusions.
> 
> 1.  I agree that pattern-directed programming is more accessible to
> kids (and adults!) than CAR or CDR.
> 2.  But that weighing kids down with types etc. as in Haskell and ML is
> placing too steep a learning curve on them.

Prolog might be a good choice, then. Pattern-directed, without the
type system baggage (though unification is more powerful than
Haskell's pattern matching IIRC).

> 3.  Especially the syntax in some of these languages which is frankly a
> pain.

Prolog is nearly as regular as Lisp.  Nice clean semantics,
too, for the most part; you almost never really *need* "cut".

> 4.  Also - very important - non-dorky applications that kids find
> interesting.This is the hard bit.

True.  I think simple video games might be a good place to
start, when I begin teaching programming to my daughter (age
9). Something like Pong or Breakout ought to be doable in
a short time.  The problem is, there's a lot of cruft between
Lisp basics (or the essentials of other languages) and the
graphics libraries that would allow a video game to be
written.  For example, the PLT graphics lib is heavily
dependent on an OO library that really makes itself apparent
in the API, and the kid is not going to care about that
stuff, nor do I want her to have to understand it in order
to have fun with the machine.  I suppose I'll have to spend
some time building a simpler, functionally-oriented API atop
the PLT lib. (The PLT "turtles" package is nice, but not
really suitable for an interactive game. An API similar
to that, though, is what I'm thinking of.)

-- JK
From: Eli Barzilay
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <m3vekp271a.fsf@winooski.ccs.neu.edu>
JK <·········@kneuro.net> writes:

> [...]
> True.  I think simple video games might be a good place to
> start, when I begin teaching programming to my daughter (age
> 9). Something like Pong or Breakout ought to be doable in
> a short time.  The problem is, there's a lot of cruft between
> Lisp basics (or the essentials of other languages) and the
> graphics libraries that would allow a video game to be
> written.  For example, the PLT graphics lib is heavily
> dependent on an OO library that really makes itself apparent
> in the API, and the kid is not going to care about that
> stuff, nor do I want her to have to understand it in order
> to have fun with the machine.  I suppose I'll have to spend
> some time building a simpler, functionally-oriented API atop
> the PLT lib. (The PLT "turtles" package is nice, but not
> really suitable for an interactive game. An API similar
> to that, though, is what I'm thinking of.)

[A reply that Matthias wrote, quoted verbatim:]

Naturally, you wouldn't expose a novice to the underlying OO system  
of PLT Scheme just to teach game programming. The world.ss teachpack  
hides a natural, functional interface for something akin to reactive  
functional programming. Here are some relevant URLs:

   [1] http://www.ccs.neu.edu/home/matthias/HtDP/Worldv300/
   an overview for teachers who are switching from old-style drawing  
to new style
   (in the works since 2003)

   [2] http://www.ccs.neu.edu/home/matthias/HtDP/Prolog/book.html
   (an evolving quick guide to programming in this style)

   [3] http://www.ccs.neu.edu/home/matthias/211-f06/index.html
   (an entire course based on this; the students write full fledged  
"video"
    games after 5 weeks; this year it was "War of the Worlds"; last  
year "Worm")

Enjoy! (Oh, and pattern matching vs first/rest is a second or third- 
order question. Seriously)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!
From: Bob Felts
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1hp7p1s.1nony9y143b8u8N%wrf3@stablecross.com>
Mark Tarver <··········@ukonline.co.uk> wrote:

> One reason functional programming has not become more widespread, is that
> it is rarely encountered by our children or teens during their learning
> process. Here is an open question for you all.  Do you think that
> functional programming can be taught with benefit to those of school age
> and if so, how do you think this might be done?
> 
> Mark

We've homeschooled our three children; since I learned Lisp over the
last year I've decided to teach it to my 14 year old daughter as part of
her "Computer Skills" class.  We're using Touretzky's "Common Lisp: A
Gentle Introduction to Symbolic Computation."
From: Jon Harrop
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <4564a80f$0$8725$ed2619ec@ptn-nntp-reader02.plus.net>
Mark Tarver wrote:
> One reason functional programming has not become more widespread, is
> that it is rarely encountered by our children or teens during their
> learning process. Here is an open question for you all.  Do you think
> that functional programming can be taught with benefit to those of
> school age and if so, how do you think this might be done?

I was thinking about this just today. I think video tutorials are a great
way to get information across. Check out my video about F# interactive
mode, for example:

  http://www.ffconsultancy.com/dotnet/fsharp

Graphical examples are also very gratifying to learn from. I just
bought "The Haskell School of Expression" which got rave reviews but I've
yet to read it.

So I'd recommend making samples and videos about them and putting them on
the web. Videos take up a lot of bandwidth (especially if you're good
looking) so I'm considering other ways to present information. I'll
probably port Presenta to Windows and DirectX:

  http://www.ffconsultancy.com/presenta

and use that as a basis (it was written in OCaml). I'm amazed at how easy it
was to create that spinning teapot demo in F# and it works well on all the
computers I've tried it on, once they've got .NET and DirectX.

-- 
Dr Jon D Harrop, Flying Frog Consultancy
Objective CAML for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists
From: Alex Mizrahi
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <4564a833$0$49202$14726298@news.sunsite.dk>
(message (Hello 'Mark)
(you :wrote  :on '(21 Nov 2006 13:02:04 -0800))
(

 MT> One reason functional programming has not become more widespread, is
 MT> that it is rarely encountered by our children or teens during their
 MT> learning process. Here is an open question for you all.  Do you think
 MT> that functional programming can be taught with benefit to those of
 MT> school age and if so,

yes, and not only functional programming, but prefix notation used in lisp!
reason: it's much more straightforward, so kids won't need to learn about 
complex operator precendence rules, they will see how equations are solved, 
etc.
i bet if children will be taught prefix math notation their results will be 
improved over situation with infix notation being taught; and also all 
programming languages with infix notation will look 'chaotic' -- since infix 
notation is not as uniform as prefix notation, so if it won't be taught in 
schools, nobody will want non-uniform notation.

by the way, HTML and XML become very widespread now -- and they have uniform 
notation similar to lisp's s-exprs (but a bit more verbous).

)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
"People who lust for the Feel of keys on their fingertips (c) Inity") 
From: ········@gmail.com
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164229055.858598.239590@e3g2000cwe.googlegroups.com>
( (you :wrote  :on '(21 Nov 2006 13:02:04 -0800))
 (
Alex Mizrahi wrote:
> (message (Hello 'Mark)
> (you :wrote  :on '(21 Nov 2006 13:02:04 -0800))
> (
>
>  MT> One reason functional programming has not become more widespread, is
>  MT> that it is rarely encountered by our children or teens during their
>  MT> learning process. Here is an open question for you all.  Do you think
>  MT> that functional programming can be taught with benefit to those of
>  MT> school age and if so,
>
> yes, and not only functional programming, but prefix notation used in lisp!
> reason: it's much more straightforward, so kids won't need to learn about
> complex operator precendence rules, they will see how equations are solved,
> etc.
> i bet if children will be taught prefix math notation their results will be
> improved over situation with infix notation being taught; and also all
> programming languages with infix notation will look 'chaotic' -- since infix
> notation is not as uniform as prefix notation, so if it won't be taught in
> schools, nobody will want non-uniform notation.
>
> by the way, HTML and XML become very widespread now -- and they have uniform
> notation similar to lisp's s-exprs (but a bit more verbous).
>
> )
> (With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
> "People who lust for the Feel of keys on their fingertips (c) Inity")
)
((i :wrote :on now)
(This seems to me to be parenthesized incorrectly. You have:

 (message (Hello 'Mark)
 (you :wrote  :on '(21 Nov 2006 13:02:04 -0800))
 (

  MT> One reason functional programming has not become more widespread,
is
  MT> ...rest of MT's message...

> yes, and not only functional programming, but prefix notation used in lisp!
> ... rest of your reply...
> )
> (With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
> "People who lust for the Feel of keys on their fingertips (c) Inity")

Wouldn't it be more useful to do:

 (message (Hello 'Mark)
  ( ; begins a reply pair block
  ((you :wrote  :on '(21 Nov 2006 13:02:04 -0800))
   (
   MT> One reason functional programming has not become more
widespread, is
  MT> ...rest of MT's message...
   )
  ) ; closes (you ...)
 ((i :wrote :on ...)
  (
> yes, and not only functional programming, but prefix notation used in lisp!
> ... rest of your reply...
>  ) ; This now closes the text of my (your) reply
   ) ; closes (I ...)
  ) ; closes reply pair block -- could have another level for sets of
such blocks
> (With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
> "People who lust for the Feel of keys on their fingertips (c) Inity"
 ) ; this is your final close just brought down
)))
From: Chris Smith
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <MPG.1fce59fd726203c8989765@news.altopia.net>
Alex Mizrahi <········@users.sourceforge.net> wrote:
> i bet if children will be taught prefix math notation their results will be 
> improved over situation with infix notation being taught; and also all 
> programming languages with infix notation will look 'chaotic' -- since infix 
> notation is not as uniform as prefix notation, so if it won't be taught in 
> schools, nobody will want non-uniform notation.

..., and there will be no viable algebra textbooks left in the world, 
and it will become very difficult for anyone educated in this bold new 
world to follow any mathematical work produced prior to November of 2006 
when the switch was made.  Good idea.

-- 
Chris Smith
From: Alex Mizrahi
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <4564bb29$0$49203$14726298@news.sunsite.dk>
(message (Hello 'Chris)
(you :wrote  :on '(Wed, 22 Nov 2006 12:59:09 -0700))
(

 ??>> i bet if children will be taught prefix math notation their results
 ??>> will be improved over situation with infix notation being taught; and
 ??>> also all programming languages with infix notation will look 'chaotic'
 ??>> -- since infix notation is not as uniform as prefix notation, so if it
 ??>> won't be taught in schools, nobody will want non-uniform notation.

 CS> ..., and there will be no viable algebra textbooks left in the world,
 CS> and it will become very difficult for anyone educated in this bold new
 CS> world to follow any mathematical work produced prior to November of
 CS> 2006 when the switch was made.  Good idea.

my friend told me he has an idea making  LaTeX kind of thing with semantical 
notation -- yes, with lisp-based prefix syntax.
so when he'll do this, we can both produce normal plain old syntax, and new 
prefix/semantical.
so we'll be able to do smooth transition -- first we'll get existing math 
books, in form of LaTeX sources, (if they are not in that form, they should 
be converted to), and convert notation to prefix form. some parts can be 
automatic, some will require human attention.
at this point we can launch automatic theorem provers to check our algebra 
textbooks.
then from this books we can print both plain old, and new syntax, and new 
syntax will replace old over time. however, some people should learn old 
syntax too -- to dig some historical math books and convert them to new 
syntax as needed.
(well, if it will boost development of functional languages, we'll have math 
OCR, so computers will convert old books to new syntax automatically)

)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
"People who lust for the Feel of keys on their fingertips (c) Inity") 
From: Jon Harrop
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <456556ed$0$8745$ed2619ec@ptn-nntp-reader02.plus.net>
Alex Mizrahi wrote:
> my friend told me he has an idea making  LaTeX kind of thing with
> semantical notation -- yes, with lisp-based prefix syntax.

LaTeX only contains typesetting information and cannot be used to decipher
the semantics of a mathematical expression. This is one of the reasons why
MathML was invented.

-- 
Dr Jon D Harrop, Flying Frog Consultancy
Objective CAML for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists
From: lurker
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <ek2bms$r88$1@aioe.server.aioe.org>
> (message (Hello 'Mark)
> (you :wrote  :on '(21 Nov 2006 13:02:04 -0800))
> (
> 
>  MT> One reason functional programming has not become more widespread, is
>  MT> that it is rarely encountered by our children or teens during their
>  MT> learning process. Here is an open question for you all.  Do you think
>  MT> that functional programming can be taught with benefit to those of
>  MT> school age and if so,
> 
> yes, and not only functional programming, but prefix notation used in
> lisp! reason: it's much more straightforward, so kids won't need to learn
> about complex operator precendence rules, they will see how equations are
> solved, etc.

This is a bit OT for the thread.
When people add up, don't most of them use a 'partial sum' method (can't
think of a better term). Lets say you want to sum from 1 to 5.

1+2=3
3+3=6
6+4=10
10+5=15

But how does Lisp calculate something like (+ 1 2 3 4 5)? I can appreciate
the economy of notation, but is there some kind of stack involved?
Or does it use the good old 0.5*n*(n+1) formula?
Just curious.

> i bet if children will be taught prefix math notation their results will
> be improved over situation with infix notation being taught; and also all
> programming languages with infix notation will look 'chaotic' -- since
> infix notation is not as uniform as prefix notation, so if it won't be
> taught in schools, nobody will want non-uniform notation.

And I've heard similar arguments for postfix (ah the good old RPN) on
comp.sys.hp48.
From: Pascal Bourguignon
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <87zmajrydj.fsf@thalassa.informatimago.com>
lurker <······@lurker.net> writes:

>> (message (Hello 'Mark)
>> (you :wrote  :on '(21 Nov 2006 13:02:04 -0800))
>> (
>> 
>>  MT> One reason functional programming has not become more widespread, is
>>  MT> that it is rarely encountered by our children or teens during their
>>  MT> learning process. Here is an open question for you all.  Do you think
>>  MT> that functional programming can be taught with benefit to those of
>>  MT> school age and if so,
>> 
>> yes, and not only functional programming, but prefix notation used in
>> lisp! reason: it's much more straightforward, so kids won't need to learn
>> about complex operator precendence rules, they will see how equations are
>> solved, etc.
>
> This is a bit OT for the thread.
> When people add up, don't most of them use a 'partial sum' method (can't
> think of a better term). 

No.

> Lets say you want to sum from 1 to 5.
>
> 1+2=3
> 3+3=6
> 6+4=10
> 10+5=15

If you have to sum non-digit numbers, 

   21
   32
   43
   54
 + 65
 ----

you first sum the first column of digits (from the right) this way:

5+3+2 = 10
4+1 = 5

so you write 5 and carry 1.

   1
   21
   32
   43
   54
 + 65
 ----
    5

Second column: 

6+4 = 10
5+3+2 = 10
remains 1

so you write 1 and carry 2.

  21
   21
   32
   43
   54
 + 65
 ----
   15

Third columns, there's only 2, so you write 2:

  21
   21
   32
   43
   54
 + 65
 ----
  215


Summing from the left to the right is the silliest thing to do.


> But how does Lisp calculate something like (+ 1 2 3 4 5)? I can appreciate
> the economy of notation, but is there some kind of stack involved?

Lisp does it with an electronic processor, so the question is more
complex.  If you want to know, you can have a look at the sources of a
lisp system and compiler or interpreter.  You can also try to
disassemble a function summing a list, but in general it'll just call
a library function.

There most certainly is some stack involved, given that it might have
to call subroutines in the general case.  

But of course, if you have just this sum, the compiler can do it at
compilation time so you'll get the sum in the binary code.


[658]> (disassemble (compile nil (lambda () (+ 1 2 3 4 5))))

Disassembly of function NIL
(CONST 0) = 15
0 required arguments
0 optional arguments
No rest parameter
No keyword parameters
2 byte-code instructions:
0     (CONST 0)                           ; 15
1     (SKIP&RET 1)
NIL
[659]> (disassemble (compile nil (lambda (a b c d e) (+ a b c d e))))

Disassembly of function NIL
5 required arguments
0 optional arguments
No rest parameter
No keyword parameters
7 byte-code instructions:
0     (LOAD&PUSH 5)
1     (LOAD&PUSH 5)
2     (LOAD&PUSH 5)
3     (LOAD&PUSH 5)
4     (LOAD&PUSH 5)
5     (CALLSR 5 53)                       ; +
8     (SKIP&RET 6)
NIL


> Or does it use the good old 0.5*n*(n+1) formula?

Of course, when there's a regular sequence...

No, not really!  The difference is that we have billions of neurons to
process such a list of numbers in parallel so we can see immediately
that there's a sequence and apply a formula instead of computing the
sum.  On the other hand, our lisps only have one processor, so they
better employ it to start adding the numbers, instead of starting to
subtract and divide pairs of them to see if there's a serie...  Of
course, this may change in a few years, and when you apply + on a
sizeable list, a lisp implementation may try to first see if there's
some regularity to the data, and apply some distributivity or other
formula to speed up the process.   Or it could just spread the data
over the cores, and let each of the add only two numbers...


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

HANDLE WITH EXTREME CARE: This product contains minute electrically
charged particles moving at velocities in excess of five hundred
million miles per hour.
From: lurker
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <ek2ehh$2n4$1@aioe.server.aioe.org>
> lurker <······@lurker.net> writes:
> 
>>> (message (Hello 'Mark)
>>> (you :wrote  :on '(21 Nov 2006 13:02:04 -0800))
>>> (
>>> 
>>>  MT> One reason functional programming has not become more widespread,
>>>  is MT> that it is rarely encountered by our children or teens during
>>>  their
>>>  MT> learning process. Here is an open question for you all.  Do you
>>>  think MT> that functional programming can be taught with benefit to
>>>  those of MT> school age and if so,
>>> 
>>> yes, and not only functional programming, but prefix notation used in
>>> lisp! reason: it's much more straightforward, so kids won't need to
>>> learn about complex operator precendence rules, they will see how
>>> equations are solved, etc.
>>
>> This is a bit OT for the thread.
>> When people add up, don't most of them use a 'partial sum' method (can't
>> think of a better term).
> 
> No.

Really? Not even for a few single digit numbers?
I honestly can't think of any other way.
 
>> Lets say you want to sum from 1 to 5.
>>
>> 1+2=3
>> 3+3=6
>> 6+4=10
>> 10+5=15
> 
> If you have to sum non-digit numbers,
> 
>    21
>    32
>    43
>    54
>  + 65
>  ----
> 
> you first sum the first column of digits (from the right) this way:
> 
> 5+3+2 = 10
> 4+1 = 5

That's interesting that you do it that way.
I'd just add up, for the first column, as I did above for single digits (not
two sums like you have), then, as you have, write 5 and carry one.
 
<snip>

>> Or does it use the good old 0.5*n*(n+1) formula?
> 
> Of course, when there's a regular sequence...

Or how about things like the sine function?
Does Lisp have that as 'standard'? Or would a use have to implement it?
Would they use series expansions?
From: Raffael Cavallaro
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <2006112313280237709-raffaelcavallaro@pasdespamsilvousplaitmaccom>
On 2006-11-22 16:13:21 -0500, lurker <······@lurker.net> said:

> Or how about things like the sine function?
> Does Lisp have that as 'standard'? Or would a use have to implement it?
> Would they use series expansions?

Questions about what is and is not standard in common lisp are most 
easily answered by consulting the on line language specification, known 
as the Common Lisp HyperSpec or clhs for short:

<http://www.lispworks.com/documentation/HyperSpec/Front/index.htm>
 or
<http://www.lisp.org/HyperSpec/FrontMatter/index.html>

for example, try the permuted symbol index:

<http://www.lispworks.com/documentation/HyperSpec/Front/X_Symbol.htm>
at the bottom. Clicking the link for the letter 's' brings up:

<http://www.lispworks.com/documentation/HyperSpec/Front/X_Perm_S.htm>
searching this page for the text "sin" yields:

<http://www.lispworks.com/documentation/HyperSpec/Body/f_sin_c.htm#sin>

In short, the hyperspec is your friend for authoritative answers on 
what is standard in common lisp.
From: lurker
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <ek4r1u$3v7$1@aioe.server.aioe.org>
> On 2006-11-22 16:13:21 -0500, lurker <······@lurker.net> said:
> 
>> Or how about things like the sine function?
>> Does Lisp have that as 'standard'? Or would a use have to implement it?
>> Would they use series expansions?
> 
> Questions about what is and is not standard in common lisp are most
> easily answered by consulting the on line language specification, known
> as the Common Lisp HyperSpec or clhs for short:
> 
> <http://www.lispworks.com/documentation/HyperSpec/Front/index.htm>
>  or
> <http://www.lisp.org/HyperSpec/FrontMatter/index.html>
> 
> for example, try the permuted symbol index:
> 
> <http://www.lispworks.com/documentation/HyperSpec/Front/X_Symbol.htm>
> at the bottom. Clicking the link for the letter 's' brings up:
> 
> <http://www.lispworks.com/documentation/HyperSpec/Front/X_Perm_S.htm>
> searching this page for the text "sin" yields:
> 
> <http://www.lispworks.com/documentation/HyperSpec/Body/f_sin_c.htm#sin>
> 
> In short, the hyperspec is your friend for authoritative answers on
> what is standard in common lisp.

Oh I see. This was a comedy post. As it only answered one of the questions
that you quoted from my previous post.
Honestly, if you can't contribute anything useful then please don't bother.
The links you gave me (and the first one would have sufficed, as you know
full well) do *not* answer *how* sine is implemented. As you have not
tackled this question I can only assume that you are not sufficiently
educated to do so.
Also, your pages seem to be tied to one implementation of lisp, ie
lispworks. Other implementations *may* differ. So the information is not
very useful.

Some advice for you
"It is better to remain silent and be thought a fool, than to open ones
mouth and remove all doubt".
I will try hard to find someone whose knowledge of lisp extends beyond a few
product-centric help pages.
From: KevinZzz
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164310796.527745.274160@l12g2000cwl.googlegroups.com>
lurker wrote:

> Oh I see. This was a comedy post.

Well, it's hardly the Marx Brothers...

K
From: Pascal Bourguignon
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <87psbeoswn.fsf@thalassa.informatimago.com>
lurker <······@lurker.net> writes:

>> On 2006-11-22 16:13:21 -0500, lurker <······@lurker.net> said:
>> 
>>> Or how about things like the sine function?
>>> Does Lisp have that as 'standard'? Or would a use have to implement it?
>>> Would they use series expansions?
>> 
>> Questions about what is and is not standard in common lisp are most
>> easily answered by consulting the on line language specification, known
>> as the Common Lisp HyperSpec or clhs for short:
>> 
>> <http://www.lispworks.com/documentation/HyperSpec/Front/index.htm>
>>  or
>> <http://www.lisp.org/HyperSpec/FrontMatter/index.html>
>> 
>> for example, try the permuted symbol index:
>> 
>> <http://www.lispworks.com/documentation/HyperSpec/Front/X_Symbol.htm>
>> at the bottom. Clicking the link for the letter 's' brings up:
>> 
>> <http://www.lispworks.com/documentation/HyperSpec/Front/X_Perm_S.htm>
>> searching this page for the text "sin" yields:
>> 
>> <http://www.lispworks.com/documentation/HyperSpec/Body/f_sin_c.htm#sin>
>> 
>> In short, the hyperspec is your friend for authoritative answers on
>> what is standard in common lisp.
>
> Oh I see. This was a comedy post. As it only answered one of the questions
> that you quoted from my previous post.
> Honestly, if you can't contribute anything useful then please don't bother.
> The links you gave me (and the first one would have sufficed, as you know
> full well) do *not* answer *how* sine is implemented. As you have not
> tackled this question I can only assume that you are not sufficiently
> educated to do so.
> Also, your pages seem to be tied to one implementation of lisp, ie
> lispworks. Other implementations *may* differ. So the information is not
> very useful.
>
> Some advice for you
> "It is better to remain silent and be thought a fool, than to open ones
> mouth and remove all doubt".

Mirror effect...


> I will try hard to find someone whose knowledge of lisp extends beyond a few
> product-centric help pages.

The HyperSpec is not product-centric, it's the online version of the
official ANSI Common Lisp Standard.  There's nothing more
authoritative, it's the ultimate source to answer these questions.


The way the SIN function is implemented is not specified by the
language.  An implementer can choose to implement as it wants.  For
example, they could have a robotic arm measuring the vertical distance
of a point on a rotating disk.   In any case, how SIN is implemented
is not a Common Lisp question, but a computer "arithmetic"
question. Indeed, it may be implemented using series, or transistors,
or anything.


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"A TRUE Klingon warrior does not comment his code!"
From: Raffael Cavallaro
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <2006112323120264440-raffaelcavallaro@pasdespamsilvousplaitmaccom>
On 2006-11-23 13:58:56 -0500, lurker <······@lurker.net> said:


> Some advice for you
> "It is better to remain silent and be thought a fool, than to open ones
> mouth and remove all doubt".

"No good deed goes unpunished" would be more appropriate in my case, 
since an honest attempt to steer someone unfamiliar with the language 
to the single, authoritative source was met with mockery and derision.


> I will try hard to find someone whose knowledge of lisp extends beyond a few
> product-centric help pages.

Tell you what, why don't you let your next post to c.l.l be when you 
succeed in finding a more authoritative online standard for the 
language than the one I pointed you to? That'll show me.
From: idle hands
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <ek5fau$1ev$1@aioe.server.aioe.org>
"lurker" <······@lurker.net> wrote in message 
·················@aioe.server.aioe.org...
<snips good advice>
> Oh I see. This was a comedy post. As it only answered one of the questions
> that you quoted from my previous post.
> Honestly, if you can't contribute anything useful then please don't 
> bother.
> The links you gave me (and the first one would have sufficed, as you know
> full well) do *not* answer *how* sine is implemented. As you have not
> tackled this question I can only assume that you are not sufficiently
> educated to do so.
> Also, your pages seem to be tied to one implementation of lisp, ie
> lispworks. Other implementations *may* differ. So the information is not
> very useful.
>
> Some advice for you
> "It is better to remain silent and be thought a fool, than to open ones
> mouth and remove all doubt".
> I will try hard to find someone whose knowledge of lisp extends beyond a 
> few
> product-centric help pages.



                       ______
                      /      \
                    .' PLEASE `.
                    |  DO NOT  |      _____
                    | FEED THE |    ,'.....`.
                    `. TROLLS ,'  ,'........ )
                      \_    _/   |........ ,'
                        |  |     `. .... _/
                        |  |      ,'.,'-'
                        |  |     /../
                        |  |   ,'.,'
                        |  |  /../
                      . |  | /..'
                    .\_\|  |/_/,
                    ___ |  | ___
                      . `--' .
From: Ole Nielsby
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <45663e2a$0$49204$14726298@news.sunsite.dk>
Alex Mizrahi <········@users.sourceforge.net> wrote:

> I bet if children will be taught prefix math notation their results
> will be improved over situation with infix notation being taught;
> and also all programming languages with infix notation will
> look 'chaotic' -- since infix notation is not as uniform as prefix
> notation, so if it won't be taught in schools, nobody will want
> non-uniform notation.

I place my bet on simplified infix. Infix seems more like
natural language, and that is the reason for its popularity.

History shows clearly that programming languages that
tried to look like natural language have been fare more
successful than those striving for mathematical elegance
and consistency.
From: Benjamin Franksen
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <ek5f5e$dfo$1@ulysses.news.tiscali.de>
Ole Nielsby wrote:

> Alex Mizrahi <········@users.sourceforge.net> wrote:
> 
>> I bet if children will be taught prefix math notation their results
>> will be improved over situation with infix notation being taught;
>> and also all programming languages with infix notation will
>> look 'chaotic' -- since infix notation is not as uniform as prefix
>> notation, so if it won't be taught in schools, nobody will want
>> non-uniform notation.
> 
> I place my bet on simplified infix. Infix seems more like
> natural language, and that is the reason for its popularity.
> 
> History shows clearly that programming languages that
> tried to look like natural language have been fare more
> successful than those striving for mathematical elegance
> and consistency.

With Haskell you can have the cake and eat it too :-)

Ben
From: codeforger
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164386565.070252.239710@14g2000cws.googlegroups.com>
Ole Nielsby wrote:
..snip..
> History shows clearly that programming languages that
> tried to look like natural language have been fare more
> successful than those striving for mathematical elegance
> and consistency.

Ah, that must be why COBOL and LOGO are so much more popular than c/c++
and java.
From: Ole Nielsby
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <45683209$0$49209$14726298@news.sunsite.dk>
codeforger <··············@cgi.com> wrote:

> Ole Nielsby wrote:
> ..snip..
>> History shows clearly that programming languages that
>> tried to look like natural language have been fare more
>> successful than those striving for mathematical elegance
>> and consistency.
>
> Ah, that must be why COBOL and LOGO are so much
> more popular than c/c++ and java.

Do not talk lightly about COBOL. In its days, it had a
popularity that is really hard to imagine. When I enrolled
as a student of computer science in 1975, it was a well
known fact that the vast majority of existing code was
written in COBOL. Seems like everybody used it because
everybody else did. So how did this horrible language get
such a head start?

Part of the reason is, it was endorsed by US authorities.
But this doesn't really explain why Europe followed troop.
After all, this did not happen with Ada which had about
the same kind of backing and, technically, a vastly better
design. COBOL got its popularity because the computer
illiterate could read its English-like makeup.

Today, its role has been taken, not by c/c++ or Java,
but by a proprietary and ill-defined language called
Visual Basic.

(Perhaps the situation is different in US or Asia, but
in Europe VB rules, like it or not.)

How Microsoft accomplished this: well, the name
says it: they put a GUI designer on top of a beginner's
language so that computer illiterates were suddenly
able to create GUI applications visually, and, by virtue
of a pidgin-english-inspired makeup and features like
auto-completion, read and edit the generated code.

So why did they pick Basic instead of the obvious
choice - Lisp?

For one reason only: computer illiterates can't read
Lisp. It's too far from "english-like".

Honestly, keeping weird names like cdr and car doesn't
help.

Enough for tonight... 
From: KevinZzz
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164471799.152902.183050@f16g2000cwb.googlegroups.com>
Ole Nielsby wrote:
> codeforger <··············@cgi.com> wrote:
>
> > Ole Nielsby wrote:
> > ..snip..
> >> History shows clearly that programming languages that
> >> tried to look like natural language have been fare more
> >> successful than those striving for mathematical elegance
> >> and consistency.
> >
> > Ah, that must be why COBOL and LOGO are so much
> > more popular than c/c++ and java.
>
> Do not talk lightly about COBOL. In its days, it had a
> popularity that is really hard to imagine. When I enrolled
> as a student of computer science in 1975, it was a well
> known fact that the vast majority of existing code was
> written in COBOL. Seems like everybody used it because
> everybody else did. So how did this horrible language get
> such a head start?
>
> Part of the reason is, it was endorsed by US authorities.
> But this doesn't really explain why Europe followed troop.
> After all, this did not happen with Ada which had about
> the same kind of backing and, technically, a vastly better
> design. COBOL got its popularity because the computer
> illiterate could read its English-like makeup.
>
> Today, its role has been taken, not by c/c++ or Java,
> but by a proprietary and ill-defined language called
> Visual Basic.
>
> (Perhaps the situation is different in US or Asia, but
> in Europe VB rules, like it or not.)
>
> How Microsoft accomplished this: well, the name
> says it: they put a GUI designer on top of a beginner's
> language so that computer illiterates were suddenly
> able to create GUI applications visually, and, by virtue
> of a pidgin-english-inspired makeup and features like
> auto-completion, read and edit the generated code.
>
> So why did they pick Basic instead of the obvious
> choice - Lisp?
>
> For one reason only: computer illiterates can't read
> Lisp. It's too far from "english-like".
>
> Honestly, keeping weird names like cdr and car doesn't
> help.
>
> Enough for tonight...

O,

1. Newcomers face a bewilderingly large range of language choices,

2. Most will 'go' w/ whatever seems the most welcoming option, viz:

a. Likelihood of support from a peer & c.

b. Likelihood of doing something 'cool'.

c. Likelihood of future financial benefit.

3. Many, even when settling on a 'welcoming' option, will never do much
coding.

4. Some that do 'code on' will find that, after a period of coding, the
language that they are using is causing them problems; however, they
will only perceive this if they are open-minded w/ respect to 'other
languages'..

5. Some of the 'some who continue coding' will be open-minded enough
that they will begin learning a new language, by which time they are no
longer as 'computing'-illiterate as they once were..

6. Some of those will whinge & moan about how C hasn't this, Lisp
demands that from the user.. & so on...

7. Sooner or later or perhaps never, the learner will overcome their
laziness (after all, that is what it is) & gain some mastery of the new
language (often praising the features that they first found so
frustrating)...

8. Now, 'the first-language learner case' & Lisp:

reversing the order;

c. Likelihood of future financial benefit: medium term, as good as any
other language (if not better).

b. Likelihood of doing something 'cool': after a month studying Lisp,
as good as any other language (if not better) & rising sharply...

a. Support from a peer & c: low versus the more popular languages
(VB/Java/JavaScript/Cfart* - 'all over the place'..(see 1 & 2)

9. Even if every Lisp literate on earth (&, no doubt, this is probably
just a fraction of the Lisperati) went out tomorrow & 'sold' the
language, such is the apparatus of modern society, widespread adoption
of Lisp would not happen.. &, even if it did, all we'd see is a rise of
'garbage' written using Lisp...

10. Solution: teach anyone you care about (if they are interested)
Lisp, consider setting up a class or two (if you can), never forget '10
million people coding VB' means exactly that; '10 million people coding
VB'...

Do not concern yourself about the fact that Lisp has quirks, so does
Mathematics, so does English, French & every other language.. hooray
for quirks! hooray for Sun-joo Shin! hooray for car, cdr & so on!

We don't speak of making Music notation more 'English-like', nor should
we speak of making Lisp so..

K

* did I say 'Cfart'? I meant, of course, 'Csharp'...



..L�vy suggests that if one wants to make geometry appealing for
children, then one should proceed as quickly as possible to theorems
they are not tempted to consider as evident - L�vy, of course, wrote
course notes that were not the traditional well-ordered procession
one expects from a Prof. of Mathematics, but a tumultuous flood of
remarks & observations (see Mandelbrot77)...
From: Charlton Wilbur
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <878xhzmese.fsf@mithril.chromatico.net>
>>>>> "KZ" == KevinZzz  <···············@gmail.com> writes:

    KZ> We don't speak of making Music notation more 'English-like',
    KZ> nor should we speak of making Lisp so..

Wise people don't, but for every "Lisp could be better without
parentheses, look at my proposal!" thread here, there are five "Music
could be better with reformed notation, look at my proposal!" threads
in various music groups.

The analogue of making Lisp more English-like is making music notation
more piano-specific.  Both are moronic ideas, but you need to not be a
novice to see that.

Charlton


-- 
Charlton Wilbur
·······@chromatico.net
From: KevinZzz
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164490246.474938.104120@f16g2000cwb.googlegroups.com>
Charlton Wilbur wrote:
> >>>>> "KZ" == KevinZzz  <···············@gmail.com> writes:
>
>     KZ> We don't speak of making Music notation more 'English-like',
>     KZ> nor should we speak of making Lisp so..
>
> Wise people don't, but for every "Lisp could be better without
> parentheses, look at my proposal!" thread here, there are five "Music
> could be better with reformed notation, look at my proposal!" threads
> in various music groups.
>
> The analogue of making Lisp more English-like is making music notation
> more piano-specific.  Both are moronic ideas, but you need to not be a
> novice to see that.
>
> Charlton
>
>
> --
> Charlton Wilbur
> ·······@chromatico.net

Charlton (cool name, btw),

I'm not that wise, but I'm wise to that...

K

"The Problem w/ English is that we need to make it more English-like..."
From: M E Leypold
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <gwvel3xury.fsf@hod.lan.m-e-leypold.de>
Hi,

"KevinZzz" <···············@gmail.com> writes:

> reversing the order;
> 
> c. Likelihood of future financial benefit: medium term, as good as any
> other language (if not better).

I'd vote exactly for the opposite. I don't say you can't make money
with Lisp, but 3 points:

  - The big job/project-platforms hardly ever advertise Lisp jobs, but lots of
    PHP, Python, Java, .NET, C, C++, and so on. "As good as any other
    language" seems a bit exaggerated.

  - I know about more than one software house that started it's
    product with Lisp and later ported to Java or something similar.

  - I don't know of any new commercial products developed in Lisp.

So, as much as I don't like it, Lisp seems to be on the way out of the
market. "As good as any other language" is just not true, IMHO.

> b. Likelihood of doing something 'cool': after a month studying Lisp,
> as good as any other language (if not better) & rising sharply...

OK.

> a. Support from a peer & c: low versus the more popular languages
> (VB/Java/JavaScript/Cfart* - 'all over the place'..(see 1 & 2)

Again, I think quite the opposite. You get a lot of noise if you want
help for i.e. Java and there is a lot of incompetents all over the
place, the Sun tutorials are also often quite inferior (mind: Success
draws mediocre or out-right bad would-be-specialists). On the other
side there is a lot of really high quality Lisp texts and the help you
get on Lisp is quite qualified.

> 9. Even if every Lisp literate on earth (&, no doubt, this is probably
> just a fraction of the Lisperati) went out tomorrow & 'sold' the
> language, such is the apparatus of modern society, widespread adoption
> of Lisp would not happen.. &, even if it did, all we'd see is a rise of
> 'garbage' written using Lisp...

Exactly :-), see above.

> 10. Solution: teach anyone you care about (if they are interested)
> Lisp, consider setting up a class or two (if you can), never forget '10
> million people coding VB' means exactly that; '10 million people coding
> VB'...

Why Lisp over, say, Haskell? As nice as Lisp is, my impression is,
that the ecological niche for Lisp is closing. (Statically) typed
functional language are actively developed ...

(I see this is also cross posted to c.l.l. Since I don't know where
you read this, Kevin, I'll keep that for once, but my apologies to
c.l.l. -- the above statement is not intended as a provocation, please
:-).

> Do not concern yourself about the fact that Lisp has quirks, so does
> Mathematics, so does English, French & every other language.. hooray
> for quirks! hooray for Sun-joo Shin! hooray for car, cdr & so on!
> 

Regards -- Markus
From: KevinZzz
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164489983.655339.197460@l12g2000cwl.googlegroups.com>
M E Leypold wrote:
> Hi,
>
> "KevinZzz" <···············@gmail.com> writes:
>
> > reversing the order;
> >
> > c. Likelihood of future financial benefit: medium term, as good as any
> > other language (if not better).
>
> I'd vote exactly for the opposite. I don't say you can't make money
> with Lisp, but 3 points:
>
>   - The big job/project-platforms hardly ever advertise Lisp jobs, but lots of
>     PHP, Python, Java, .NET, C, C++, and so on. "As good as any other
>     language" seems a bit exaggerated.
>
>   - I know about more than one software house that started it's
>     product with Lisp and later ported to Java or something similar.
>
>   - I don't know of any new commercial products developed in Lisp.
>
> So, as much as I don't like it, Lisp seems to be on the way out of the
> market. "As good as any other language" is just not true, IMHO.
>

IMHO, future financial benefit is as good as any other 'medium term',
by which I mean after one works out that job-security no longer exists
& you begin 'self-employment' 'n software or elsewhere..

> > b. Likelihood of doing something 'cool': after a month studying Lisp,
> > as good as any other language (if not better) & rising sharply...
>
> OK.
>

Understatement! (SMiLE)

> > a. Support from a peer & c: low versus the more popular languages
> > (VB/Java/JavaScript/Cfart* - 'all over the place'..(see 1 & 2)
>
> Again, I think quite the opposite. You get a lot of noise if you want
> help for i.e. Java and there is a lot of incompetents all over the
> place, the Sun tutorials are also often quite inferior (mind: Success
> draws mediocre or out-right bad would-be-specialists). On the other
> side there is a lot of really high quality Lisp texts and the help you
> get on Lisp is quite qualified.
>

Yes, but from the viewpoint of a beginner, it's just not as
well-advertized/ised, jazzy & so on...

My (Math') students & many peers know about Java, Cflat*... & Seibel's
book (for (a fine) example) is not on the shelves of Libraries nor of
many (supposedly) Computing book stores/sections..

Of about 20 real-time/real-space associates who do computing
(C/C++/Java/Perl/Python & on & on), I'm the only one who has even begun
Lisp (CL).. actually, many mumble something about counterintuitive, my
having studied Math' & yadda yadda.. Lisp & all other func langs get
bad press, which frightens off most beginners..

That said, I absolutely agree that CL has nice support & texts...
Seibel is replacing Wall & al as my favorite 'computing' book... (Flann
O'Brien's At Swim Two Birds is still number one 'outright')

> > 9. Even if every Lisp literate on earth (&, no doubt, this is probably
> > just a fraction of the Lisperati) went out tomorrow & 'sold' the
> > language, such is the apparatus of modern society, widespread adoption
> > of Lisp would not happen.. &, even if it did, all we'd see is a rise of
> > 'garbage' written using Lisp...
>
> Exactly :-), see above.
>
> > 10. Solution: teach anyone you care about (if they are interested)
> > Lisp, consider setting up a class or two (if you can), never forget '10
> > million people coding VB' means exactly that; '10 million people coding
> > VB'...
>
> Why Lisp over, say, Haskell? As nice as Lisp is, my impression is,
> that the ecological niche for Lisp is closing. (Statically) typed
> functional language are actively developed ...

I won't argue w/ anyone over CL versus any-other-functional-language, I
can't..

& I was writing on c.l.l (I'm such a c.l.l. newcomer that I've only a
vague idea about what cross-posting means... )

>
> (I see this is also cross posted to c.l.l. Since I don't know where
> you read this, Kevin, I'll keep that for once, but my apologies to
> c.l.l. -- the above statement is not intended as a provocation, please
> :-).
>
> > Do not concern yourself about the fact that Lisp has quirks, so does
> > Mathematics, so does English, French & every other language.. hooray
> > for quirks! hooray for Sun-joo Shin! hooray for car, cdr & so on!
> >
>
> Regards -- Markus

K

* did I say Cflat? I meant Cfart**

** did I say Cfart? I meant Csharp
From: Torben Ægidius Mogensen
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <7zu00l2c45.fsf@app-0.diku.dk>
M E Leypold <·····································@ANDTHATm-e-leypold.de> writes:


>   - The big job/project-platforms hardly ever advertise Lisp jobs, but lots of
>     PHP, Python, Java, .NET, C, C++, and so on. "As good as any other
>     language" seems a bit exaggerated.

But also consider the number of people who claim knowledge of the
above languages compared to th enumber of people who know LISP.  So if
you educate yourself in PHP, Python etc. and appy for a job, you will
be in competition with thousands of other people, while theer is much
less competition for the (admittedly fewer) jobs in LISP, ML, Haskell,
etc.  And, equally important, those jobs are usually more interesting.

	Torben
From: M E Leypold
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <6rfyc4q3md.fsf@hod.lan.m-e-leypold.de>
To: ·······@app-0.diku.dk (Torben �gidius Mogensen)
Subject: Re: teaching kids functional programming
References: <························@b28g2000cwb.googlegroups.com>
	<·························@news.sunsite.dk>
	<·························@news.sunsite.dk>
	<························@14g2000cws.googlegroups.com>
	<·························@news.sunsite.dk>
	<························@f16g2000cwb.googlegroups.com>
	<··············@hod.lan.m-e-leypold.de> <··············@app-0.diku.dk>
--text follows this line--

·······@app-0.diku.dk (Torben �gidius Mogensen) writes:

> M E Leypold <·····································@ANDTHATm-e-leypold.de> writes:
> 
> 
> >   - The big job/project-platforms hardly ever advertise Lisp jobs, but lots of
> >     PHP, Python, Java, .NET, C, C++, and so on. "As good as any other
> >     language" seems a bit exaggerated.
> 
> But also consider the number of people who claim knowledge of the
> above languages compared to th enumber of people who know LISP.  So if
> you educate yourself in PHP, Python etc. and appy for a job, you will
> be in competition with thousands of other people, while theer is much

Yes, you've got a point there. :-) Still, the probability to get a
Job/Project is somehow:

  P =  N * p

where N is the number of total, projects on the market/platform and p
a probability factor that is inversely proportional to the number of
applicants for a project, modified by your qualifications.

But N is actually 0 for all open platforms AFAICS and so P(not-Lisp)
ist unfortunately always greater than P(Lisp). :-)

But I don't want to be too pessimistic. YMMV. 

> less competition for the (admittedly fewer) jobs in LISP, ML, Haskell,
> etc.  And, equally important, those jobs are usually more interesting.

Generally I think, one should also use technology one likes ("is sexy"
as a friend of mine called that). So you're right and I only wanted to
put the statement of the OP (Lisp has better a better perspective to
earn money with) into perspective not to deny it altogether or assert
the complete opposite.

Regards -- Markus
From: Pascal Bourguignon
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <87hcwnhfdu.fsf@thalassa.informatimago.com>
"Ole Nielsby" <···········@snailmail.dk> writes:
> Honestly, keeping weird names like cdr and car doesn't
> help.

This is unwaranted, there's FIRST and REST for English people.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
Our enemies are innovative and resourceful, and so are we. They never
stop thinking about new ways to harm our country and our people, and
neither do we. -- Georges W. Bush
From: codeforger
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164626406.742357.14120@j72g2000cwa.googlegroups.com>
Ole Nielsby wrote:
> codeforger <··············@cgi.com> wrote:
>
> > Ole Nielsby wrote:
> > ..snip..
> >> History shows clearly that programming languages that
> >> tried to look like natural language have been fare more
> >> successful than those striving for mathematical elegance
> >> and consistency.
> >
> > Ah, that must be why COBOL and LOGO are so much
> > more popular than c/c++ and java.
>
> Do not talk lightly about COBOL. In its days, it had a
> popularity that is really hard to imagine. When I enrolled
> as a student of computer science in 1975, it was a well
> known fact that the vast majority of existing code was
> written in COBOL. Seems like everybody used it because
> everybody else did. So how did this horrible language get
> such a head start?
When I started (around the same time) I thought that most existing code
was written in Fortran. When I moved away from scientific programming
into commercial (IBM) I only came across PL/1 for ages. Cobol was
something I had to parse well enough to understand it's data
structures, not to program.
Cobol probably did well as there weren't many other options available
at the time, in the financial/business arena. I tend to think that
language success/use is mostly domain specific.

> Part of the reason is, it was endorsed by US authorities.
> But this doesn't really explain why Europe followed troop.
> After all, this did not happen with Ada which had about
> the same kind of backing and, technically, a vastly better
> design. COBOL got its popularity because the computer
> illiterate could read its English-like makeup.
Maybe, but perhaps ADA had more competition. ADA was quite widely used
in the defence sector for a while, it may still be so for all I know.

> Today, its role has been taken, not by c/c++ or Java,
> but by a proprietary and ill-defined language called
> Visual Basic.
Which role is that? I tend to hack in VBA a bit because it's often the
only way I can do something - a lot of windows boxes at work have
msoffice but not much else.

> (Perhaps the situation is different in US or Asia, but
> in Europe VB rules, like it or not.)
I'm English, VB rules in some situations, in a lot of other situations
people use other languages.

> How Microsoft accomplished this: well, the name
> says it: they put a GUI designer on top of a beginner's
> language so that computer illiterates were suddenly
> able to create GUI applications visually, and, by virtue
> of a pidgin-english-inspired makeup and features like
> auto-completion, read and edit the generated code.
>
> So why did they pick Basic instead of the obvious
> choice - Lisp?
Why would lisp be the obvious choice?

> For one reason only: computer illiterates can't read
> Lisp. It's too far from "english-like".
It's not really any harder or more specialized than legalese or medical
jargon.
I don't see why anybody shouldn't be allowed to understand programming,
law or medicine.
That doesn't mean it should be simplified enough not to be the 'real
thing' any more.
Maybe lisp is apparently harder to learn than vb because it is more
powerful.
Perhaps there is some currency to the idea of programming as an art?
Anyone can draw, however badly, but few are as good as Leonardo.
Anyone can program, not everyone is going to be very good at it.

> Honestly, keeping weird names like cdr and car doesn't
> help.
There are alternatives now, or a distributor could roll their own.
You could just write a natural-language-like interpreter in lisp of
course...
From: Ole Nielsby
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <456c05a4$0$49208$14726298@news.sunsite.dk>
codeforger <··············@cgi.com> wrote:
>
> Ole Nielsby wrote:
>>
>> Do not talk lightly about COBOL. In its days, it had a
>> popularity that is really hard to imagine.
>> [....]
>> Today, its role has been taken, not by c/c++ or Java,
>> but by a proprietary and ill-defined language called
>> Visual Basic.
>
> Which role is that?

Quite simply put, VB is where the volume is. Other languages
may be used a lot in certain domains, but overall, VB has more
programmers and more programs written in it.

>> [...] Microsoft [...] put a GUI designer on top of a beginner's
>> language [...]
>>
>> So why did they pick Basic instead of the obvious
>> choice - Lisp?
>
> Why would lisp be the obvious choice?

Maybe I was teasing a bit, the guys at MS probably never even
considered Lisp. But seriously, I think it was about the closest
thing to RAD in pre-GUID age. I was taught to program in
Pascal but tried out Lisp on my own - and I was really impressed.
Yet my co-students would only frown and never bother to give it
a try. They knew nothing about it, except that it was a bad thing
one shouldn't get involved with. Non-kosher, piggish. Period.

I can't quite explain what gave Lisp this strange image but I
think AI-phobia was part of the reason. Before computers hit
the masses, many people perceived them as a threat to humanity:
some day, a mad american professor would invent a thinking
machine that would take over the world.

(Years later, the Matrix trilogy cashed in on this fear but that's
another story. In the 70'es this fear was quite real though not
always concious.)

I think an unconcious attempt by my co-students to distance
themself from this mythology contributed to their bias against
Lisp.

By frowning at AI, they could convince their computer-illiterate
friends and family that they weren't part of this wicked plot.

END-OF-DAY...
From: Mark T.B. Carroll
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <87irgz7ei7.fsf@ixod.org>
"Ole Nielsby" <···········@snailmail.dk> writes:
(snip)
> I can't quite explain what gave Lisp this strange image but I
> think AI-phobia was part of the reason. Before computers hit
> the masses, many people perceived them as a threat to humanity:
> some day, a mad american professor would invent a thinking
> machine that would take over the world.
(snip)

Perhaps AI-phobia might also be a let-down thing. The field's recovering
again now, but for a while there it looked like AI was turning out to
not be living up anywhere near to its original hopes. Perhaps for some
Lisp might have been tarred with a bit of this disappointment.

-- Mark
From: grackle
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164654967.433608.218590@14g2000cws.googlegroups.com>
Ole Nielsby wrote:
> Do not talk lightly about COBOL. In its days, it had a
> popularity that is really hard to imagine. When I enrolled
> as a student of computer science in 1975, it was a well
> known fact that the vast majority of existing code was
> written in COBOL. Seems like everybody used it because
> everybody else did. So how did this horrible language get
> such a head start?
>
> Part of the reason is, it was endorsed by US authorities.
> But this doesn't really explain why Europe followed troop.
> After all, this did not happen with Ada which had about
> the same kind of backing and, technically, a vastly better
> design. COBOL got its popularity because the computer
> illiterate could read its English-like makeup.
>
> Today, its role has been taken, not by c/c++ or Java,
> but by a proprietary and ill-defined language called
> Visual Basic.

People will suffer along in any language if they feel like they are
capable of using it or should be capable of using it.  Familiar syntax,
an emphasis on trivial, concrete things, a middlebrow or lowbrow
community, and the scorn of smart people all make a language seem
accessible.  When people see exotic syntax, emphasis on abstract
concepts, and whiz kid proponents, they assume the language will be
beyond them.

Confidence counts for a lot; much more than it should, anyway.   A
"smart person" language is futile for most people who don't see
themselves as brilliant, simply because at the first sign of
difficulty, their brains shut down with the error message, "Only
super-smart people understand this stuff.  You are wasting your time."
With Visual Basic, they plod ahead through the difficulties, because
they assume (from external factors) that VB is accessible to average
people like them.  

-David
From: Anton van Straaten
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <uiIah.16291$9v5.13725@newssvr29.news.prodigy.net>
grackle wrote:
> When people see exotic syntax, emphasis on abstract
> concepts, and whiz kid proponents, they assume the language will be
> beyond them.

An anecdote which supports this: someone I know expressed interest in 
improving his programming skills, and asked me for advice.  I suggested 
that he should take a look at SICP and see whether it suited him.  He 
seemed interested, until he discovered the connection to an MIT course. 
  He instantly became convinced that the book would be too complicated 
for him, and refused to consider it further.

This person had a bachelor's degree in a scientific subject, but he 
seemed absolutely certain that anything intended for MIT students, at 
any level, would be beyond him.  (Or perhaps he was afraid that it might 
be beyond him and didn't want to take the risk of trying and failing, or 
he felt that an MIT connection meant that it wasn't practical, etc... 
the effect is the same.)

Anton
From: M E Leypold
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <133b84y1er.fsf@hod.lan.m-e-leypold.de>
Anton van Straaten <·····@appsolutions.com> writes:

> grackle wrote:
> > When people see exotic syntax, emphasis on abstract
> > concepts, and whiz kid proponents, they assume the language will be
> > beyond them.
> 
> An anecdote which supports this: someone I know expressed interest in
> improving his programming skills, and asked me for advice.  I
> suggested that he should take a look at SICP and see whether it suited
> him.  He seemed interested, until he discovered the connection to an
> MIT course. He instantly became convinced that the book would be too

You could have pointed him to the fact, that this was an entry
course, also for _electrical engineers_ ... :-).

> complicated for him, and refused to consider it further.

Regards -- Markus
From: M E Leypold
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <66bqmsy7s5.fsf@hod.lan.m-e-leypold.de>
"grackle" <···········@gmail.com> writes:

> Ole Nielsby wrote:
> > Do not talk lightly about COBOL. In its days, it had a
> > popularity that is really hard to imagine. When I enrolled
> > as a student of computer science in 1975, it was a well
> > known fact that the vast majority of existing code was
> > written in COBOL. Seems like everybody used it because
> > everybody else did. So how did this horrible language get
> > such a head start?
> >
> > Part of the reason is, it was endorsed by US authorities.
> > But this doesn't really explain why Europe followed troop.
> > After all, this did not happen with Ada which had about
> > the same kind of backing and, technically, a vastly better
> > design. COBOL got its popularity because the computer
> > illiterate could read its English-like makeup.
> >
> > Today, its role has been taken, not by c/c++ or Java,
> > but by a proprietary and ill-defined language called
> > Visual Basic.
> 
> People will suffer along in any language if they feel like they are
> capable of using it or should be capable of using it.  Familiar syntax,
> an emphasis on trivial, concrete things, a middlebrow or lowbrow
> community, and the scorn of smart people all make a language seem
> accessible.  When people see exotic syntax, emphasis on abstract


Wow. That opens up a new strategy to make FP seem more accessible:
Just let's all talk really smart and then start _scorning_ FP in
public :-). The pointy haired bosses will suddenly start to like FP.

> concepts, and whiz kid proponents, they assume the language will be
> beyond them.

Regards .. Markus
From: grackle
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164659081.426356.171540@j44g2000cwa.googlegroups.com>
M E Leypold wrote:
> Wow. That opens up a new strategy to make FP seem more accessible:
> Just let's all talk really smart and then start _scorning_ FP in
> public :-). The pointy haired bosses will suddenly start to like FP.

The other day I was chatting with my lover about how variadic type
theory illuminates the logical positivists' misuse of Wittgenstein.  As
she tore a strip from my doctorate to roll a new cigarette, the tumble
of her hair revealed to me the breathtaking theoretical depth of PHP,
and I realized that Common Lisp, though much easier for the illiterati
to grasp than PHP, was only good for hacking up profitable Web 2.0
sites.
From: M E Leypold
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <2i7ixgy1jx.fsf@hod.lan.m-e-leypold.de>
"grackle" <···········@gmail.com> writes:

> M E Leypold wrote:
> > Wow. That opens up a new strategy to make FP seem more accessible:
> > Just let's all talk really smart and then start _scorning_ FP in
> > public :-). The pointy haired bosses will suddenly start to like FP.
> 
> The other day I was chatting with my lover about how variadic type
> theory illuminates the logical positivists' misuse of Wittgenstein.  As
> she tore a strip from my doctorate to roll a new cigarette, the tumble
> of her hair revealed to me the breathtaking theoretical depth of PHP,
> and I realized that Common Lisp, though much easier for the illiterati
> to grasp than PHP, was only good for hacking up profitable Web 2.0
> sites.


Yes, I think that's a good start ...

Regards -- Markus
From: Torben Ægidius Mogensen
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <7zu00itwwc.fsf@app-3.diku.dk>
"grackle" <···········@gmail.com> writes:

> M E Leypold wrote:
>> Wow. That opens up a new strategy to make FP seem more accessible:
>> Just let's all talk really smart and then start _scorning_ FP in
>> public :-). The pointy haired bosses will suddenly start to like FP.
>
> The other day I was chatting with my lover about how variadic type
> theory illuminates the logical positivists' misuse of Wittgenstein.  As
> she tore a strip from my doctorate to roll a new cigarette, the tumble
> of her hair revealed to me the breathtaking theoretical depth of PHP,
> and I realized that Common Lisp, though much easier for the illiterati
> to grasp than PHP, was only good for hacking up profitable Web 2.0
> sites.

"You realise", she said, "that OO programming was designed to keep
programming away from the masses -- just look at the complexity of
virtual method calls: Only a real genius can hope to understand a
program that uses inheritance in all but the simplest way, and most
will get even that wrong".  I was hot with anticipation of this
apparent invitation to join the illuminated elite of Java programmers,
and only hoped that I would not run away screaming when faced with the
full truth of this arcane language.

	Torben
From: KevinZzz
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164815008.551668.265440@j72g2000cwa.googlegroups.com>
Torben �gidius Mogensen wrote:
> "grackle" <···········@gmail.com> writes:
>
> > M E Leypold wrote:
> >> Wow. That opens up a new strategy to make FP seem more accessible:
> >> Just let's all talk really smart and then start _scorning_ FP in
> >> public :-). The pointy haired bosses will suddenly start to like FP.
> >
> > The other day I was chatting with my lover about how variadic type
> > theory illuminates the logical positivists' misuse of Wittgenstein.  As
> > she tore a strip from my doctorate to roll a new cigarette, the tumble
> > of her hair revealed to me the breathtaking theoretical depth of PHP,
> > and I realized that Common Lisp, though much easier for the illiterati
> > to grasp than PHP, was only good for hacking up profitable Web 2.0
> > sites.
>
> "You realise", she said, "that OO programming was designed to keep
> programming away from the masses -- just look at the complexity of
> virtual method calls: Only a real genius can hope to understand a
> program that uses inheritance in all but the simplest way, and most
> will get even that wrong".  I was hot with anticipation of this
> apparent invitation to join the illuminated elite of Java programmers,
> and only hoped that I would not run away screaming when faced with the
> full truth of this arcane language.
>

Victoria - the 'Fine Art' student & waitress that we'd picked up
earlier that
afternoon - awoke as the nearby church-bells rang out four chimes...

Clasping a sheet, she arose, one of her breasts (the right) visible,
her right
hand apparently elsewhere engaged. Yawning first, then giggling, making
a
face of mock suprise, rolling her eyes, giggling again, then 5' 11'' of
'stretch'.

Sez she; "I just dreamt that some guy was writing about us..about
us..".

K
From: Espen Vestre
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <m1mz6h2rut.fsf@gazonk.vestre.net>
"Ole Nielsby" <···········@snailmail.dk> writes:

> I place my bet on simplified infix. Infix seems more like
> natural language, and that is the reason for its popularity.

Maybe /your/ natural language, but not every. Look no further than
to Germany for a language that's partly postfix...
-- 
  (espen)
From: toby
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164402891.626722.314250@45g2000cws.googlegroups.com>
Espen Vestre wrote:
> "Ole Nielsby" <···········@snailmail.dk> writes:
>
> > I place my bet on simplified infix. Infix seems more like
> > natural language, and that is the reason for its popularity.
>
> Maybe /your/ natural language, but not every. Look no further than
> to Germany for a language that's partly postfix...

Or French.

> -- 
>   (espen)
From: Ole Nielsby
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <4568320a$0$49209$14726298@news.sunsite.dk>
Espen Vestre <·····@vestre.net> wrote:

> "Ole Nielsby" <···········@snailmail.dk> writes:
>
>> I place my bet on simplified infix. Infix seems more like
>> natural language, and that is the reason for its popularity.
>
> Maybe /your/ natural language, but not every. Look no
> further than to Germany [or French, said Toby] for a language
> that's partly postfix...

Of french I know little, but German is still predominantly
infix. The postfix is a speciality used to mark subordinate
clauses, not a general pattern. Whereas infix placement of
prepositions - �Rhapsody in blue�, �Claire de lune�, �Lieder
ohne Worte�, �Le nozze di Figaro�, �Samba de Roda�,
�Bryllup p� Trollhaugen� (wedding on the trolls' hill),
�????? ??? ??? ??????????� (hymn to freedom) seems rather
omnipresent, at least in european languages, and that at the
basic level, combining basic entities just the way operators
combine operands.

Postulating that postfix or prefix would serve just as well
is IMO a �tabula rasa� argument (Tabula rasa = clean-wiped
blackboard). Children come with preferences - call them
�language instict� or �cultural bias� - and it serves no purpose
to ignore these.

(Dammit I wasn't able to google a suitable russian song title,
the russian songs seem to cling to an idiom that places the
preposition (if any) first. But AFAIK this is not the case
with prosaic or spoken russian.)
From: toby
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164490704.109495.200230@14g2000cws.googlegroups.com>
Ole Nielsby wrote:
> Espen Vestre <·····@vestre.net> wrote:
>
> > "Ole Nielsby" <···········@snailmail.dk> writes:
> >
> >> I place my bet on simplified infix. Infix seems more like
> >> natural language, and that is the reason for its popularity.
> >
> > Maybe /your/ natural language, but not every. Look no
> > further than to Germany [or French, said Toby] for a language
> > that's partly postfix...
>
> Of french I know little, but German is still predominantly
> infix. ...
> Postulating that postfix or prefix would serve just as well
> is IMO a »tabula rasa« argument (Tabula rasa = clean-wiped
> blackboard).

With French I was thinking of adjective placement - and here you
provide a nice Latin example :-)

> ...
From: Pascal Bourguignon
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <87odqvfafx.fsf@thalassa.informatimago.com>
"toby" <····@telegraphics.com.au> writes:

> Ole Nielsby wrote:
>> Espen Vestre <·····@vestre.net> wrote:
>>
>> > "Ole Nielsby" <···········@snailmail.dk> writes:
>> >
>> >> I place my bet on simplified infix. Infix seems more like
>> >> natural language, and that is the reason for its popularity.
>> >
>> > Maybe /your/ natural language, but not every. Look no
>> > further than to Germany [or French, said Toby] for a language
>> > that's partly postfix...
>>
>> Of french I know little, but German is still predominantly
>> infix. ...
>> Postulating that postfix or prefix would serve just as well
>> is IMO a �tabula rasa� argument (Tabula rasa = clean-wiped
>> blackboard).
>
> With French I was thinking of adjective placement - and here you
> provide a nice Latin example :-)

Well, adjective placement in French depends on the type of adjective,
there are bot prefix and suffix adjectives.

      Le grand cube bleu est sur la petite table basse.


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

Pour moi, la grande question n'a jamais �t�: �Qui suis-je? O� vais-je?� 
comme l'a formul� si adroitement notre ami Pascal, mais plut�t: 
�Comment vais-je m'en tirer?� -- Jean Yanne
From: KevinZzz
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164492754.899005.112330@j44g2000cwa.googlegroups.com>
Il n'y a guère de paradoxe sans utilité

Liebniz
From: Ole Nielsby
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <456775b5$0$49195$14726298@news.sunsite.dk>
Stefan Ram <···@zedat.fu-berlin.de> wrote:

> "Ole Nielsby" <···········@snailmail.dk> writes:

>>I place my bet on simplified infix. Infix seems more like
>>natural language, and that is the reason for its popularity.
>
>  But what's natural?
>
>  One might say �The sum of 10 and 7�.

Which still looks pretty infix to me, with operators �of� and
�and�, and operands �sum�, combining operands �sum�,
�10� and �7�.

You may argue that �sum� is an operation - semantically
speaking. But syntactically, it is clearly an operand - nouns
play the part of operands, being self-contained, while
adverbs, verbs, prepositions etc. are the words that, like
operators, combine the parts to complex expressions.

Regards/Ole Nielsby 
From: Alex Mizrahi
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <4568ca9e$0$49202$14726298@news.sunsite.dk>
(message (Hello 'Ole)
(you :wrote  :on '(Fri, 24 Nov 2006 23:44:12 +0100))
(

 ??>>  One might say �The sum of 10 and 7�.

 ON> Which still looks pretty infix to me, with operators �of� and
 ON> �and�, and operands �sum�, combining operands �sum�,
 ON> �10� and �7�.

"and" and "of" are " " -- they can be omited, they are used only as 
separators for natural languages. so that's sum 5 7 -> (sum 5 7)
i remember in school we were taught to pronounce mathematical expressions in 
prefix form -- that was only correct form of pronoucing math exprs as we 
were taught, that time infix seemed be more natural to me since that's how 
math expressions were written, and it was somewhat hard to convert them to 
prefix to pronounce them. but i need that anyway for equation-solving, so 
why convert stuff back-and-fourth in our minds and remember those rules of 
precendence? :)

)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
"People who lust for the Feel of keys on their fingertips (c) Inity") 
From: ······@gmail.com
Subject: Re: teaching kids functional programming
Date: 
Message-ID: <1164657270.294727.161460@j72g2000cwa.googlegroups.com>
On Nov 21, 10:02 pm, "Mark Tarver" <··········@ukonline.co.uk> wrote:
> One reason functional programming has not become more widespread, is
> that it is rarely encountered by our children or teens during their
> learning process. Here is an open question for you all.  Do you think
Well, here in Belgium, for that matter, even programming, not just
functional
isn't encountered in school.

> that functional programming can be taught with benefit to those of
> school age and if so, how do you think this might be done?
I've always been frustrated by courses and, now I'm in university, I
realize
that learning math and programming (or at least , for beginning, using
the computer
as a cool calculator) side by side would be just cool and valuable : it
would be easier to grasp things for pupils who have difficulties; it
would be less frustrating for those who can/like learn by themselves.

But, of course, here on cll we can espect that people would think your
idea is great and valuable... maybe it's not the best place to have a
'from the field' opinions.
-- thu
> 
> Mark