[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why is booleanp defined this way?

From: Rusi
Subject: Re: Why is booleanp defined this way?
Date: Fri, 17 Apr 2015 20:35:23 -0700 (PDT)
User-agent: G2/1.0

On Saturday, April 18, 2015 at 8:41:19 AM UTC+5:30, Barry Margolin wrote:
>  Emanuel Berg  wrote:
> > Rusi  writes:
> > 
> > >> I never used `booleanp' and I never experienced
> > >> that the boolean built-in type was missing from my
> > >> "ontology".
> > >
> > > If you how to write (and grok) an 'if' you have
> > > boolean in your ontology. That you dont know that
> > > you know is ok
> > 
> > I know what a *boolean* is, just not why I would need
> > a built-in data type to express it.
> It's not a built-in type. It's a conceptual type, like "list".

Ha! Ha!! What a fantastic one-line summary-example of what I was trying to say!

I always marvel at how Lisp puns on the word 'list':
- Sometimes 'normal' lists -- like arrays in other languages
- Sometimes heterogeneous -- like structs
- Sometimes recursive structured -- aka trees
- Sometimes homoiconic -- code=data
- And yet at bottom they are just s-expressions -- the barest possible binary
tree -- each internal node containing nothing but subtrees

And so -- to expand a little on what you are saying:
-- Getting lisp limited to the formal language definition is nothing more than
getting the defs of car/cdr/null/nil/cons
-- Getting lisp as a lisp programmer means getting all the above and more,
making Eric Raymond's mystical sounding quote quite literal:

| Lisp is worth learning for the profound enlightenment experience you will
| have when you finally get it; that experience will make you a better
| programmer for the rest of your days, even if you never actually use Lisp 
| itself a lot. 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]