I think that loop in Lisp is one of the features that locates a
programmer concept of Lisp. It should be possible to
define say five concepts so that is classifies Lisp programmers in a
very interesting way.
1.- Do you think Loop is one of this features?
2.- What are the other 4 features ?
3.- Do you think this is useless?
Do you think that macros are a way of abstraction?
What's the more useful abstraction that you know beyond the language
concept?
How could you prove that you can construct useful generalizations?
For those that need concrete problems:
How you obtain the first element of a list such as:
(list
(cons
(loop for i in (list 'dont 'do 'it)
collect (concatenate 'string 'now (symbol-name i)))))
What's the problem with generalizations?
·············@gmail.com wrote:
> I think that loop in Lisp is one of the features that locates a
> programmer concept of Lisp.
>
> 1.- Do you think Loop is one of this features?
People who think that LOOP is important miss the point. The really
important thing is that if LOOP didn't exist, you could write your own.
LOOP itself is just one more practical tool in your toolbox.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bic�tre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
On 2 ene, 17:26, Didier Verna <······@lrde.epita.fr> wrote:
> People who think that LOOP is important miss the point. The really
> important thing is that if LOOP didn't exist, you could write your own.
> Music (Jazz) site:...
I was looking for some more passion in the original post. What do you
think about this:
People who think that Jazz is important miss the point. The
really important point is that you can play the guitar and
enjoy with it. That is Jazz is only a tool.
·············@gmail.com wrote:
> People who think that Jazz is important miss the point. The really
> important point is that you can play the guitar and enjoy with it.
> That is Jazz is only a tool.
More or less, yeah. If for you Jazz is a style of music, then you miss
the point. If you think of Jazz at the meta-level, i.e. a tool to create
your own music within a music that already exists, then you get it
right.
Just like you get Lisp right if you think of it (and its macros) as a
tool to create your own programming languages within a programming
language that already exists.
You shouldn't get me started on this ;-)
See: http://didierverna.com/jazzblog/index.php?m=04&y=07&entry=entry070403-163007
XL^H^HDVL
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bic�tre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
> You shouldn't get me started on this ;-)
> See:http://didierverna.com/jazzblog/index.php?m=04&y=07&entry=entry070403...
Very interesting article about your passion for Aïkido, Jazz and Lisp
and how they respond to each other.
It reminds me of a very beautiful "tryptique" combining Gauguin paints
with Baudelaire poems and Chaykovski music.
Maybe you could write a program in Lisp that uses jazz music to select
the
moves of a computer opponent in a game of Aïkido.
It could be very cool !
On Jan 2, 4:26 pm, Didier Verna <······@lrde.epita.fr> wrote:
> People who think that LOOP is important miss the point. The really
> important thing is that if LOOP didn't exist, you could write your own.
> LOOP itself is just one more practical tool in your toolbox.
You are a Scheme weed. *Lisp* people know that it is *not enough* to
be able to roll your own, you need a (semi-)standard prerolled
version.
--tim
This is not to disparage people who roll their own cigarettes, which
is obviously to be encouraged.
gp> I think that loop in Lisp is one of the features that locates a
gp> programmer concept of Lisp.
LOOP is more about practical side rather than conceptual.
either you get used to it or not.
gp> It should be possible to define say five concepts so that is
gp> classifies Lisp programmers in a very interesting way.
gp> 1.- Do you think Loop is one of this features?
gp> 2.- What are the other 4 features ?
actually no need to guesswork, you can find most important concepts
with some math. make a (long) list of candidate features, make a poll.
them process results in some way -- either with SVD, or with clustering
such as k-means. SVD or clustering will tell you about features in order
of their importance, correlations between them, informativity of each
feature etc.
if you want my opinion, i think most important classification aspect
is usage of functional programming constructs, such as closures, recursion,
maps etc. there are different degrees of exposure to functional programming:
1. highest is when one tries to do everything with map, zip and fold --
those are probably rogue Haskell programmers.
2. then go folks who just use recursion for everything, they probably come
from Scheme
3. then some "moderate" functional programming users
4. and then people who do not use it at all.
groups 1, 2 and 4 already say for themselves, in group 3 you can go deeper
classification. further
important aspects, i think, is attitude to syntax (particularly, reader
macros) and attitude to macros.
LOOP feature correlates with both -- people who like LOOP probably like
complex macros with their
own syntax. however it is pretty convoluted -- one might just use LOOP for
readability, but
never write own overly complex macros. others might not use LOOP but some
other complex macros
instead.
gp> 3.- Do you think this is useless?
i dunno. do you see any practical use of it?
well, maybe it can be used to avoid flame wars -- knowing classification
stats, you can
clearly seen when person is from different cluster with you, and avoid
wasting time.
gp> Do you think that macros are a way of abstraction?
yes
gp> What's the more useful abstraction that you know beyond the
gp> language concept?
huh?
gp> How could you prove that you can construct useful generalizations?
estimate amount of work needed to solve something without generalization and
with.
if later is less, generalization is useful. makes sense?
gp> For those that need concrete problems:
gp> How you obtain the first element of a list such as:
gp> (list
gp> (cons
gp> (loop for i in (list 'dont 'do 'it)
gp> collect (concatenate 'string 'now (symbol-name i)))))
huh?
gp> What's the problem with generalizations?
in general? it is discussed a lot in Richard Gabriel's essays, particularly
"Abstraction Descant"
On Fri, 02 Jan 2009 07:07:23 -0800, grande.piedra wrote:
> I think that loop in Lisp is one of the features that locates a
> programmer concept of Lisp. It should be possible to define say five
> concepts so that is classifies Lisp programmers in a very interesting
> way.
>
> 1.- Do you think Loop is one of this features? 2.- What are the other 4
> features ?
> 3.- Do you think this is useless?
>
> Do you think that macros are a way of abstraction?
In a short story, Borges describes 'a certain Chinese Encyclopedia,'
the Celestial Emporium of Benevolent Knowledge, in which it is written
that animals are divided into:
1. those that belong to the Emperor,
2. embalmed ones,
3. those that are trained,
4. suckling pigs,
5. mermaids,
6. fabulous ones,
7. stray dogs,
8. those included in the present classification,
9. those that tremble as if they were mad,
10. innumerable ones,
11. those drawn with a very fine camelhair brush,
12. others,
13. those that have just broken a flower vase,
14. those that from a long way off look like flies.
HTH,
Tamas
Tamas K Papp wrote:
> On Fri, 02 Jan 2009 07:07:23 -0800, grande.piedra wrote:
>
>> I think that loop in Lisp is one of the features that locates a
>> programmer concept of Lisp. It should be possible to define say five
>> concepts so that is classifies Lisp programmers in a very interesting
>> way.
>>
>> 1.- Do you think Loop is one of this features? 2.- What are the other 4
>> features ?
>> 3.- Do you think this is useless?
>>
>> Do you think that macros are a way of abstraction?
>
> In a short story, Borges describes 'a certain Chinese Encyclopedia,'
> the Celestial Emporium of Benevolent Knowledge, in which it is written
> that animals are divided into:
>
> 1. those that belong to the Emperor,
> 2. embalmed ones,
> 3. those that are trained,
> 4. suckling pigs,
> 5. mermaids,
> 6. fabulous ones,
> 7. stray dogs,
> 8. those included in the present classification,
> 9. those that tremble as if they were mad,
> 10. innumerable ones,
> 11. those drawn with a very fine camelhair brush,
> 12. others,
> 13. those that have just broken a flower vase,
> 14. those that from a long way off look like flies.
>
> HTH,
Frickin wonderful. Hoping to avoid the ignominious indiscrimaninity of 8
and 12 and with no hope of 6 I must seek out a flower vase lest I fall
into 3 or 14. And that can be just a holding action. Hmmm... I suppose
if the way off is sufficiently long, 14 will do.
kth
On Jan 3, 12:44 am, Kenneth Tilton <·········@gmail.com> wrote:
> Tamas K Papp wrote:
> > On Fri, 02 Jan 2009 07:07:23 -0800, grande.piedra wrote:
>
> >> I think that loop in Lisp is one of the features that locates a
> >> programmer concept of Lisp. It should be possible to define say five
> >> concepts so that is classifies Lisp programmers in a very interesting
> >> way.
>
> >> 1.- Do you think Loop is one of this features? 2.- What are the other 4
> >> features ?
> >> 3.- Do you think this is useless?
>
> >> Do you think that macros are a way of abstraction?
>
> > In a short story, Borges describes 'a certain Chinese Encyclopedia,'
> > the Celestial Emporium of Benevolent Knowledge, in which it is written
> > that animals are divided into:
>
> > 1. those that belong to the Emperor,
> > 2. embalmed ones,
> > 3. those that are trained,
> > 4. suckling pigs,
> > 5. mermaids,
> > 6. fabulous ones,
> > 7. stray dogs,
> > 8. those included in the present classification,
> > 9. those that tremble as if they were mad,
> > 10. innumerable ones,
> > 11. those drawn with a very fine camelhair brush,
> > 12. others,
> > 13. those that have just broken a flower vase,
> > 14. those that from a long way off look like flies.
>
> > HTH,
>
> Frickin wonderful. Hoping to avoid the ignominious indiscrimaninity of 8
> and 12 and with no hope of 6 I must seek out a flower vase lest I fall
> into 3 or 14. And that can be just a holding action. Hmmm... I suppose
> if the way off is sufficiently long, 14 will do.
>
> kth
I knew it! Are you finally admitting to being an animal?;-)
BTW, I still haven't got round to Looping. I'll get it done sometime
in 2009. The few loop constructs I've managed to NAIL (http://
www.codeartnow.com/code/download/nails) have been really simple;
nothing to boggle the mind.
--
agt
Freedom - No pane, all gaiGN!
Code Art Now
http://codeartnow.com
Email: ···@codeartnow.com
From: Kenneth Tilton
Subject: Re: Did you mean taxonomy? [was Re: topology of Lispers]
Date:
Message-ID: <495fb816$0$20289$607ed4bc@cv.net>
viper-2 wrote:
> On Jan 3, 12:44 am, Kenneth Tilton <·········@gmail.com> wrote:
>> Tamas K Papp wrote:
>>> On Fri, 02 Jan 2009 07:07:23 -0800, grande.piedra wrote:
>>>> I think that loop in Lisp is one of the features that locates a
>>>> programmer concept of Lisp. It should be possible to define say five
>>>> concepts so that is classifies Lisp programmers in a very interesting
>>>> way.
>>>> 1.- Do you think Loop is one of this features? 2.- What are the other 4
>>>> features ?
>>>> 3.- Do you think this is useless?
>>>> Do you think that macros are a way of abstraction?
>>> In a short story, Borges describes 'a certain Chinese Encyclopedia,'
>>> the Celestial Emporium of Benevolent Knowledge, in which it is written
>>> that animals are divided into:
>>> 1. those that belong to the Emperor,
>>> 2. embalmed ones,
>>> 3. those that are trained,
>>> 4. suckling pigs,
>>> 5. mermaids,
>>> 6. fabulous ones,
>>> 7. stray dogs,
>>> 8. those included in the present classification,
>>> 9. those that tremble as if they were mad,
>>> 10. innumerable ones,
>>> 11. those drawn with a very fine camelhair brush,
>>> 12. others,
>>> 13. those that have just broken a flower vase,
>>> 14. those that from a long way off look like flies.
>>> HTH,
>> Frickin wonderful. Hoping to avoid the ignominious indiscrimaninity of 8
>> and 12 and with no hope of 6 I must seek out a flower vase lest I fall
>> into 3 or 14. And that can be just a holding action. Hmmm... I suppose
>> if the way off is sufficiently long, 14 will do.
>>
>> kth
>
> I knew it! Are you finally admitting to being an animal?;-)
Woof. What were you thinking, plant? Mineral?
>
> BTW, I still haven't got round to Looping. I'll get it done sometime
> in 2009. The few loop constructs I've managed to NAIL (http://
> www.codeartnow.com/code/download/nails) have been really simple;
> nothing to boggle the mind.
Correct: if you could just as easily have used dolist or mapcar, that
ain't loop.
kt
On Jan 3, 2:09 pm, Kenneth Tilton <·········@gmail.com> wrote:
> viper-2 wrote:
> >
> > I knew it! Are you finally admitting to being an animal?;-)
>
> Woof. What were you thinking, plant? Mineral?
Nope, I specifically recall references to a kennel:
http://groups.google.com/group/comp.lang.lisp/msg/4b106a5f46aad53f?hl=en
http://groups.google.com/group/comp.lang.lisp/msg/dc7600795b1878aa?hl=en
--
agt
Freedom - No pane, all gaiGN!
Code Art Now
http://codeartnow.com
Email: ···@codeartnow.com
On Jan 3, 2:09 pm, Kenneth Tilton <·········@gmail.com> wrote:
>
> Woof.
Happy New Year too.;-)
All the best for 2009.
--
agt
Freedom - No pane, all gaiGN!
Code Art Now
http://codeartnow.com
Email: ···@codeartnow.com
On 3 ene, 04:30, Tamas K Papp <······@gmail.com> wrote:
> On Fri, 02 Jan 2009 07:07:23 -0800, grande.piedra wrote:
> > I think that loop in Lisp is one of the features that locates a
> > programmer concept of Lisp. It should be possible to define say five
> > concepts so that is classifies Lisp programmers in a very interesting
> > way.
>
> > 1.- Do you think Loop is one of this features? 2.- What are the other 4
> > features ?
> > 3.- Do you think this is useless?
>
> > Do you think that macros are a way of abstraction?
>
> In a short story, Borges describes 'a certain Chinese Encyclopedia,'
> the Celestial Emporium of Benevolent Knowledge, in which it is written
> that animals are divided into:
>
> 1. those that belong to the Emperor,
> 2. embalmed ones,
> 3. those that are trained,
> 4. suckling pigs,
> 5. mermaids,
> 6. fabulous ones,
> 7. stray dogs,
> 8. those included in the present classification,
> 9. those that tremble as if they were mad,
> 10. innumerable ones,
> 11. those drawn with a very fine camelhair brush,
> 12. others,
> 13. those that have just broken a flower vase,
> 14. those that from a long way off look like flies.
>
> HTH,
>
> Tamas
A very good point.
Lispers can be funny and creative too.
Perhaps this can make Lisp more popular.
Wikipedia is great.
Taxonomy versus topology, I think topology is when the classes in
taxonomy are distributed in a cotinuum so you can go from
one to another by learning, growing, moving or laughing.
Keith Windschuttle, an Australian historian, cited alleged acceptance
of the authenticity of the list among many academics as a sign of the
degeneration of the Western academy.
Perhaps Lispers should read Michel Foucault The Order of Things and
Borges books to learn to construct useful macros.
On Jan 3, 4:30 am, Tamas K Papp <······@gmail.com> wrote:
> On Fri, 02 Jan 2009 07:07:23 -0800, grande.piedra wrote:
> > I think that loop in Lisp is one of the features that locates a
> > programmer concept of Lisp. It should be possible to define say five
> > concepts so that is classifies Lisp programmers in a very interesting
> > way.
>
> > 1.- Do you think Loop is one of this features? 2.- What are the other 4
> > features ?
> > 3.- Do you think this is useless?
>
> > Do you think that macros are a way of abstraction?
>
> In a short story, Borges describes 'a certain Chinese Encyclopedia,'
> the Celestial Emporium of Benevolent Knowledge, in which it is written
> that animals are divided into:
>
> 1. those that belong to the Emperor,
> 2. embalmed ones,
> 3. those that are trained,
> 4. suckling pigs,
> 5. mermaids,
> 6. fabulous ones,
> 7. stray dogs,
> 8. those included in the present classification,
> 9. those that tremble as if they were mad,
> 10. innumerable ones,
> 11. those drawn with a very fine camelhair brush,
> 12. others,
> 13. those that have just broken a flower vase,
> 14. those that from a long way off look like flies.
>
> HTH,
>
> Tamas
There are 10 types of people
1. Those who know binary
2. Others
bobi
On Jan 3, 3:30 am, Tamas K Papp <······@gmail.com> wrote:
> 14. those that from a long way off look like flies.
Which of course brings us to the real point: The only really
important criteria for Lisp programmers is whether they have read
Borges.
--tim
(who has been in the same *town* as Borges, and regrets not having
gone to the talk he was giving.)
On 2009-01-04 15:07:15 -0500, Tim Bradshaw <··········@tfeb.org> said:
> (who has been in the same *town* as Borges, and regrets not having
> gone to the talk he was giving.)
Ditto, same regret :(
--
Raffael Cavallaro, Ph.D.
On Jan 2, 4:07 pm, ·············@gmail.com wrote:
> I think that loop in Lisp is one of the features that locates a
> programmer concept of Lisp.
What do you mean by that? Loop, after format is probably the most
controversial DSL in cl. Some use it some avoid it, but everybody must
to be able to at least read the most frequent cases.
>It should be possible to
> define say five concepts so that is classifies Lisp programmers in a
> very interesting way.
>
> 1.- Do you think Loop is one of this features?
> 2.- What are the other 4 features ?
> 3.- Do you think this is useless?
>
> Do you think that macros are a way of abstraction?
>
> What's the more useful abstraction that you know beyond the language
> concept?
>
> How could you prove that you can construct useful generalizations?
>
> For those that need concrete problems:
>
> How you obtain the first element of a list such as:
>
> (list
> (cons
> (loop for i in (list 'dont 'do 'it)
> collect (concatenate 'string 'now (symbol-name i)))))
>
> What's the problem with generalizations?
On Jan 2, 3:07 pm, ·············@gmail.com wrote:
>
> 1.- Do you think Loop is one of this features?
This is a troll, I reckon, but never mind. LOOP is an interesting
case in fact. Although it clearly is a good way of distinguishing
proper CL people from Scheme weeds because of its sheer baroque
complexity combined with utility, it's actually not really very Lispy,
because it can't be extended easily (in the standard anyway). In
fact, it appears to have leaked in through a crevice in spacetime from
an alternate universe where Lisp programmers settled on Fortran
instead.
--tim
(someone is going to pick me up on capitalisation here, but I think
"Fortran" is now right.)
On Sun, 04 Jan 2009 12:00:58 -0800, Tim Bradshaw wrote:
> On Jan 2, 3:07 pm, ·············@gmail.com wrote:
>>
>> 1.- Do you think Loop is one of this features?
>
> This is a troll, I reckon, but never mind. LOOP is an interesting case
> in fact. Although it clearly is a good way of distinguishing proper CL
> people from Scheme weeds because of its sheer baroque complexity
> combined with utility, it's actually not really very Lispy, because it
> can't be extended easily (in the standard anyway). In fact, it appears
> to have leaked in through a crevice in spacetime from an alternate
> universe where Lisp programmers settled on Fortran instead.
I agree. I can read loop, but prefer iterate, it is much nicer and
more extensible.
Tamas
P� Sun, 04 Jan 2009 21:00:58 +0100, skrev Tim Bradshaw
<··········@tfeb.org>:
> On Jan 2, 3:07�pm, ·············@gmail.com wrote:
>>
>> 1.- Do you think Loop is one of this features?
>
> This is a troll, I reckon, but never mind. LOOP is an interesting
> case in fact. Although it clearly is a good way of distinguishing
> proper CL people from Scheme weeds because of its sheer baroque
> complexity combined with utility, it's actually not really very Lispy,
> because it can't be extended easily (in the standard anyway). In
> fact, it appears to have leaked in through a crevice in spacetime from
> an alternate universe where Lisp programmers settled on Fortran
> instead.
>
To mee it looks more like COBOL. (Which is probaly why William James, the
Ruby guy, jokingly refers to CL as Cobol Lisp..)
Looked up the following to give you an idea.
004310
004320 PERFORM UNTIL CAT-TYPE(CAT-COUNT:1) NOT = SPACE
004323 OR CAT-COUNT < 1
004325 WITH TEST LAST
004330 SUBTRACT 1 FROM CAT-COUNT
004340 END-PERFORM.
004440
A rough and probably incorrect translation gives:
(loop until (or (not (char= (aref cat-type cat-count) #\Space))
(< cat-count 1))
do (decf cat-count)
finally (test))
Hopefully you see a certain simularity.
Anyhow the original implementation did have mechanisms for expansion, but
they were not included in the CL standard.
Iterate does have methods for expansion so you could use this instead if
it matters.
--------------
John Thingstad