4. Common Lisp...CL...Cell... get it?
3. hey, it's good enough for spreadsheets (a common way of explaining
such dataflow hacks)
2. while the cells of cellular automata are all supposed to have the
same rule, they do have rules and those rules do look to the values of
other cells
and the number one reason:
1. Short. "Semaphor" is too damn long. Too many characters, too many
syllables.
The only bad news is that there is no way to abbreviate "cell". Or is
that a Sign?
OK, cast your votes: yes or no on "Cell" to replace "Semaphor"
:)
kenny
clinisys
--
Barry Margolin, bar...@genuity.net
Genuity, Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
> Four good reasons for calling Semaphors Cells instead:
>
> 4. Common Lisp...CL...Cell... get it?
Well, recent names for free CL projects that I know of have included
CLiki, CLOCC, cCLan, cirCLe, Climbatree, MorphiCL, CLORB, Closure, ...
I think there are less densely packed namespaces elsewhere in the
alphabet ;-)
-dan
--
http://ww.telent.net/cliki/ - Link farm for free CL-on-Unix resources
> We already use the term "cell" to refer to other things in Lisp: function
> and value cells of symbols, car and cdr cells of conses.
I agree, this would just create annoying confusion to introduce
another meaning for "cell". Exercising my language-nerdiness:
"Forma" is a physical form, a "formula" is the diminutive of "forma",
indicating that it's malleable. "Cellula" is the diminutive of
"cella". So, maybe you want to call it a cellula or cellule, which is
a diminutive cell in the same way that formula is a diminutive form.
Plus, the biologist in me likes "cellule".
--
/|_ .-----------------------.
,' .\ / | No to Imperialist war |
,--' _,' | Wage class war! |
/ / `-----------------------'
( -. |
| ) |
(`-. '--.)
`. )----'
Egad, you can say that word? The good thing is sounds really
sophisticated.
OK, here are my rules so far:
1. I do not care if I create an antonym. Natural language is like that.
2. Two syllable maximum
3. Anything over four letters must have a good abbreviation (max 4)
Well, I am going to invoke my "it doesn't matter what i call it if no
one else likes <name to be named at a later date>" rule and get back to
extending the documentation.
kenny
clinisys
Barry Margolin wrote:
>
> We already use the term "cell" to refer to other things in Lisp: function
> and value cells of symbols, car and cdr cells of conses.
>
sorry, I was kidding when I asked if the term had any other uses.
but antonyms haven't brought natural language down yet, i doubt one more
will. besides, I have received a suggestion we go all caps and call it
CELLS.
maybe we should all meet to discuss this. anyone have any ideas for the
shape of the table?
btw, i just came up with a fourth rule:
4. suggestions accepted only from people who have tried <package
eventually possibly formerly known as Sempahors>
:)
kenny
clinisys
An "antonym" usually only means a word with an opposite meaning of
something else, like good and bad are antonyms. I am unaware of any
other meanings.
///
--
The past is not more important than the future, despite what your culture
has taught you. Your future observations, conclusions, and beliefs are
more important to you than those in your past ever will be. The world is
changing so fast the balance between the past and the future has shifted.
> An "antonym" usually only means a word with an opposite meaning of
> something else, like good and bad are antonyms. I am unaware of any
> other meanings.
"Usually only" seems an odd turn of phrase here.
Note that the word "nice" has gradually turned into a near-antonym of
what it meant quite some decades ago.
And I recently saw the movie "Rush Hour 2," and the word "Bad" gets
used quite a lot to indicate that something is considered _good_, so
there are some recent cultural observations to suggest that the
antipathy is a little less obvious than would seem obvious...
[And in the "Rules of the Evil Overlord," the Evil Overlord is being
treated as the _good_ guy, whilst the Heroes are being treated as "bad
guys." Antonym, antonym... :-)]
--
(reverse (concatenate 'string "gro.gultn@" "enworbbc"))
http://www3.sympatico.ca/cbbrowne/spreadsheets.html
Rules of the Evil Overlord #11. "I will be secure in my
superiority. Therefore, I will feel no need to prove it by leaving
clues in the form of riddles or leaving my weaker enemies alive to
show they pose no threat." <http://www.eviloverlord.com/>
> "Thomas F. Burdick" wrote:
> >
> > Plus, the biologist in me likes "cellule".
>
> Egad, you can say that word? The good thing is sounds really
> sophisticated.
Huh, it's a pretty pedestrian word in biology. /sell-yoo-ul/ (unless
you're French).
> OK, here are my rules so far:
>
> 1. I do not care if I create an antonym. Natural language is like that.
>
> 2. Two syllable maximum
French people, and Americans who aren't over-enunciating say cellule
in two syllables.
> 3. Anything over four letters must have a good abbreviation (max 4)
Well, I've seen French people write a "c" with a raised "lle", so why
not Clle?
Of course, "cellula" has a nice "I just ran the words `cell' and
`formula' together" kind of feel.
kenny
Ha! Only to a native ear. I have my own language in which it sounds great.
What I _meant_ was that "antonym" usually has no more than one meaning,
but that it appeared to have at least one more meaning which made "cell"
an antonym (of something?).
| Note that the word "nice" has gradually turned into a near-antonym of
| what it meant quite some decades ago.
I use the Norwegian equivalent, "fint", ironically, only, but I have no
idea whence the influence for that came.
However, I think this just highlights that "antonym" is the wrong word to
describe what kind of word "cell" is.
kenny
clinisys
What about "Propagation" ?
the whole thing is about propagating values.
Samir
I have a whole bunch of names:
1. CeLls that Originally were Semaphores (CLOS)
2. Cell Objects, Not Semaphores (CONS)
3. Cells with Automatic Recalculation (CAR)
4. Cells for Data Recalculation (CDR)
5. Lex In Semaphore Tables (LIST)
Out of jokes, may be better not to name the phenomenon, but name the
library itself, i.e. to mirror the CL, Semaphores, your name etc in
name. Electronic worksheets being used for more than 20 years (appear
to me), I'm sure it using same ideas.
Right, and I think Barry was saying I should not call it CELLS because
Semaphors are not like the other things he mentioned.
Interesting thing about propagation/dataflow being the big story. When
Semaphors got invented they were just lambdas masquerading as slots.
Computed slots you might call them. But of course that quickly bogged
down since the system was forever computing these slots, and recursively
since one slot called on another. So of course we cached the
computation, but then when do we recalculate? A dumb sweep every update
event worked for about a week (as I suspected) and we had to start
tracking dependencies so the eager evaluation model could be kept, but
made efficient. Then some time after that I looked down and realized,
"whoa. this is not a functional hack. this is a dataflow hack."
kenny
clinisys
http://www.cse.unsw.edu.au/~claude/teaching/AI/notes/prolog/Frames/Frames.html#Demons
Lots of resonance with semaphors, but unless I am missing it I do not
see the dataflow aspect which is so integral to semaphors. And daemons
are the /interface/ to what I call semaphors, which in framespeak are
slots. So instead of Semaphors I could call them Slots. (Unless that is
already being used for something.)
Too bad, I got all stoked up there for a second over the prospect of
changing to Daemons. Nice abbreviation, too: "dmn"
kenny
clinisys
Along that vein, how about xCL? Or is that too Microsofty?
I guess it would also make the *nix folks think of X.*sigh*
Going back to the original, Terry Prachet of Discworld
fame used `clacks' when referring to semaphore
communications.
Too tired, I need my morning coffee.
Geoff
>Along that vein, how about xCL? Or is that too Microsofty?
>I guess it would also make the *nix folks think of X.*sigh*
Darn programmers, making off with entire letters like that!
Shame on them.
>Going back to the original, Terry Prachet of Discworld
>fame used `clacks' when referring to semaphore
>communications.
This sounds pretty good to me, and it has an easy
abbreviation: CLK. :)
Bruce
This is a must-read if you're looking into doing constraint hacking in
Lisp. Be aware that there's a serious bug in how his system handles
multiple sources of support for values (i.e., constraint handling is
hard enough that not even Steele got it 100% right).
--
Remove obvious stuff to e-mail me.
Bob Bane
Bob Bane wrote:
>
> The term "cell" for "thing that holds a value in a constraint network"
> unfortunately has a long history in the field, especially in
> Lisp-related systems.
OK, so although cell is used for other things Lisp-ish, Steele has
already used cell for what sounds very much like what i am doing, hence
we are good to go on "cell" instead of "semaphor"?
I would like to get this resolved so I can start a SourceForge project.
Now this is a little embarrassing after causing all this trouble, but it
occurred to me that, while semaphors are the interesting part
/technically/, the most fun comes from using them in a larger context to
power networks of "model" instances. my defclass wrapper is called
"defmodel", so when I do not refer to my hack as Semaphors I call it
DefModel.
Now I am confident that "model" has not been used before in computer
science...
:)
> Guy Steele used it in his dissertation ("The
> definition and implementation of a computer programming langauge based
> on constraints", MIT AI-TR-595, August 1980).
>
> This is a must-read if you're looking into doing constraint hacking in
> Lisp.
Thx for the tip. I searched around on the web, could not find that,
sounds very similar. I'd love to see the bit on tracking dependencies.
Do you have a lead on where I could find that?
kenny
clinisys
> Thx for the tip. I searched around on the web, could not find that,
> sounds very similar. I'd love to see the bit on tracking dependencies.
> Do you have a lead on where I could find that?
ftp://publications.ai.mit.edu/ai-publications/pdf/AITR-595.pdf
or
ftp://publications.ai.mit.edu/ai-publications/500-999/AITR-595.ps
kenny
clinisys
>> The term "cell" for "thing that holds a value in a constraint network"
>> unfortunately has a long history in the field, especially in
>> Lisp-related systems.
>
>OK, so although cell is used for other things Lisp-ish, Steele has
>already used cell for what sounds very much like what i am doing, hence
>we are good to go on "cell" instead of "semaphor"?
>
>I would like to get this resolved so I can start a SourceForge project.
>
>Now this is a little embarrassing after causing all this trouble, but it
>occurred to me that, while semaphors are the interesting part
>/technically/, the most fun comes from using them in a larger context to
>power networks of "model" instances. my defclass wrapper is called
>"defmodel", so when I do not refer to my hack as Semaphors I call it
>DefModel.
Sorry, why do you using so widespread words for library name ? Why not
use an good unique acronym (or some depopulated word saving it from
becoming extinct) and speaking about Cells, Semaphors and Models in
context of it ?
Yeah, "Propagation", good point, I was thinking Dataflow, too. But I am
gonna read Steele's 1980 paper tonight and see if he has already named
my package. :)
If not, I think the really big picture is either that
propagation/dataflow lets us build /working/ models, ones that work by
themselves without the programmer worrying about setf this and setf
that. And sometimes I say "semaphors animate models", and sometimes I go
on about the dataflow effectively adding the principle of causation to
the programmer's toolbox. so maybe ruled semaphors become effects and
variable semaphors (the one's setf'ed from outside the model, generally
in response to an OS Event) could be Causes (or even 1stCauses). Of
course I remember a software tool called Cause and Effect... :)
Well, hopefully Steele has settled the whole matter.
kenny
clinisys
Arseny Slobodjuck wrote:
>
> Sorry, why do you using so widespread words for library name ? Why not
> use an good unique acronym (or some depopulated word saving it from
> becoming extinct)
So I should go down to the Word Rescue Shelter and pick out an abandoned
word? I like that, I bet I find "AI" down there looking forlorn.
As for using widespread words, you mean Semaphor? hmmm...
But seriously, I simply picked out the word that best described what i
had done. The "widespread" objection seems to be a protest against using
simple, clear language. Doing so leads ineleuctably to overloading. To
eschew the lucid in favor of the abstruse in pursuit of denotational
clarity....fuggedaboutit.
They called objects "objects"! And check out the KR stuff built on
"frames" and "daemons"...looks like it is fair to say that if I have
overloaded more than anyone else, it is only because I added to the
overloading of those who have gone before me. :)
I could call it Partitions.....
kenny
clinisys
>They called objects "objects"! And check out the KR stuff built on
>"frames" and "daemons"...looks like it is fair to say that if I have
>overloaded more than anyone else, it is only because I added to the
>overloading of those who have gone before me. :)
Look, even DBase named their database management system 'DBase', not
'Database'. Others name their systems more different - DB2 is the case
of IBM creativity (Note the digit '2'!). Then Oracle, Interbase for
example. What if Lisp vendors all will name their Lisp implementations
'Lisp' ?
Arseny Slobodjuck wrote:
> Look, even DBase named their database management system 'DBase', not
> 'Database'.
Don't encourage me. I was going to call it "Cell Block" (and call
instances Blocks instead of Models) or maybe more along the DBase line,
"Cellz".
Ok, dig this. One thing I am stoked about when I learn about Steele's
1980 paper is that it is now twenty-one years later and we are still not
all using constraints every day. I have my theories as to why that is,
but that's not important. I look in Steele's paper and in the section on
prior art he mentions SketchPad (1962) and offers his theories as to why
constraints had not been widely adopted in the intervening
eighteen-years.
Doh!
Important announcement: it occurs to me that I have not made something
explicit, though it could have been deduced. I have released the
software under the GPL, but I am for now keeping open the option of
licensing the software for commercial use (for free or for fee). This
means only contributions copyright to which have been shared with me can
go in my branch of cells. I do not know how these things work, but I can
imagine a fork developing beyond or even deviating from mine because of
this requirement. if that happens i will be an enthusiastic supporter of
such a branch. it's all good.
kenny
> Cells
>
> Arseny Slobodjuck wrote:
>
> > Look, even DBase named their database management system 'DBase', not
> > 'Database'.
>
> Don't encourage me. I was going to call it "Cell Block" (and call
> instances Blocks instead of Models) or maybe more along the DBase line,
> "Cellz".
>
> Ok, dig this. One thing I am stoked about when I learn about Steele's
> 1980 paper is that it is now twenty-one years later and we are still not
> all using constraints every day. I have my theories as to why that is,
> but that's not important. I look in Steele's paper and in the section on
> prior art he mentions SketchPad (1962) and offers his theories as to why
> constraints had not been widely adopted in the intervening
> eighteen-years.
>
> Doh!
>
> Important announcement: it occurs to me that I have not made something
> explicit, though it could have been deduced. I have released the
> software under the GPL, but I am for now keeping open the option of
> licensing the software for commercial use (for free or for fee). This
> means only contributions copyright to which have been shared with me can
> go in my branch of cells.
[...]
I think you want copyright transferred, so you have exclusive rights
to the contributed code. If not, the contributor will have his saying in
the relicensing question.
> I think you want copyright transferred, so you have exclusive rights
> to the contributed code. If not, the contributor will have his saying in
> the relicensing question.
I think if he gets unlimited rights on the code, he's fine. Of
course, hopefully Kenny's smart enough to talk to a lawer and not take
legal this-isn't-advice-but-I'm-just-saying from engineers ;-)
"Thomas F. Burdick" wrote:
>
> Johan Ur Riise <r...@rsc.no> writes:
>
> > I think you want copyright transferred, so you have exclusive rights
> > to the contributed code. If not, the contributor will have his saying in
> > the relicensing question.
>
> I think if he gets unlimited rights on the code, he's fine. Of
> course, hopefully Kenny's smart enough to talk to a lawer and not take
> legal this-isn't-advice-but-I'm-just-saying from engineers ;-)
i thought I'd ask the FSF what they do, and ask them to release the
copyright sign-off doc they use when accepting contribs to FSF.
the guidance i am taking is from the chap you (tfb) suggested, Bruce
Perens:
"If I were doing it, I'd release my software under the GPL, and I'd also
offer it under a commercial license. This part's a bit complicated: I'd
insist that people who wanted their modifications to go into my main
source thread must sign a separate and independent copyright for those
modifications over to me, while they'd also maintain their own
copyright. In other words, each party would own the modification and
would have the right to do anything they wanted with that modification
without consulting the other party. That way, I'd have the right to
issue modifications under my commercial license, but I'd also commit to
release all modifications that were submitted to me under the GPL.
Becuase I'm using a split copyright rather than license terms to get the
rights to the modifications, I'm not putting any odious terms on code
that other people write. I'd continue to be an
maintainer and architect of the product so that people would want to
submit their modifications to me."
The only problem is getting the right language, which maybe the FSF
could provide as they do the GPL and LGPL. We'll see.
kenny
>
>
>Arseny Slobodjuck wrote:
>>
>> Sorry, why do you using so widespread words for library name ? Why not
>> use an good unique acronym (or some depopulated word saving it from
>> becoming extinct)
>
>So I should go down to the Word Rescue Shelter and pick out an abandoned
>word? I like that, I bet I find "AI" down there looking forlorn.
>
>As for using widespread words, you mean Semaphor? hmmm...
>
>But seriously, I simply picked out the word that best described what i
>had done. The "widespread" objection seems to be a protest against using
>simple, clear language. Doing so leads ineleuctably to overloading. To
>eschew the lucid in favor of the abstruse in pursuit of denotational
>clarity....fuggedaboutit.
Trouble is "that best described what I had done" usually becomes "best
described to oneself". Others have quite different interpretations of
such terms. Eg, I used semaphors in a multi-processing environment
long ago, at least 25 years, where semaphors were used to prevent
processes from locking each other when requesting shared resources.
>They called objects "objects"! And check out the KR stuff built on
>"frames" and "daemons"...looks like it is fair to say that if I have
>overloaded more than anyone else, it is only because I added to the
>overloading of those who have gone before me. :)
>
Absolutely. Remember Franz Lisp with 'flavors' and one CMU project
which emitted "SRL - Schema Representation Language" and ....
Computer people even got "string" (sequence of characters) wrong. A
string is something which has no identifiable elements in it, like the
piece of string you use when sewing a missing button in your fly.
What's wrong with calling it something that no-one has ever heard of?
That way you won't run the risk of misinterpretation. We used
"axebakylcertificateinjector" for new things. :-)
Lars
> Important announcement: it occurs to me that I have not made something
> explicit, though it could have been deduced. I have released the
> software under the GPL, but I am for now keeping open the option of
> licensing the software for commercial use
When you release software under the GPL, you've already licensed it
for commercial use. ;-)
Agreed, that was not the right way to put it. The GPL does not say what
cannot be done, it says what must also be done (distribute one's own
source) if other things are done (distribute anything containing
licensed code). I should have said something like "...the option of
licensing the software under a non-GPL license".
kenny
clinisys
Thx again for the tip on this. I had uncovered a lot of papers on
constraints, but this looks like one of the real granddaddies, though
Steele himself points out that SketchPad (1962) was there eighteen years
earlier.
Looks like classic constraints, which I like to point out is a vastly
more ambitious program than the linear dataflow approach I have
implemented. Partial constraints, multiway constraints...very hard stuff
to make work as the literature reveals.
Steele also takes constraints to all corners of the language, eg, using
a constraint to assign a value to a variable. The approach in Cells is
to use dataflow /as little/ as possible, just where they make a
difference. Steele created a constraints language, I just whipped up a
ruled slot type.
Steele like others I have read explicitly dismisses simple dataflow as
uninteresting. I agree that Cells have nowhere near the potential of
typical constraints engines to do useful stuff. But when I compare
programming under the dataflow paradigm with significant prior efforts
without it, thats when dataflow starts to look good. And the advantage
Cells has is that they are as easy to program as a spreadsheet (because
of the deterministic quality) and they are efficient (because they are
used only where they add value).
In 1980 Steele offered theories as to why constraints had not gone
anywhere since Sketchpad (1962). When I hit on Cells and discovered work
like Steele's I wondered the same thing. I believe the answer is that
researchers went a bridge too far; they passed over a gold mine in
simple dataflow constraints then got bogged down in the russian winter
of partial and multi-way constraints.
OK, dataflow is a techno-yawn. (I did find a CompSci lab exercise to
develop Cells!) It just happens to make big applications much easier to
develop. But researchers would not notice that unless they themsleves
had experience building a feature-rich app with all sorts of GUI tools,
first without and then with any given new toy.
Another mistake by the constraints crowd: they presented constraints in
the form of new languages which worked by that paradigm top to bottom,
increasing the barrier to acceptance.
kenny
clinisys
Johan Ur Riise wrote:
> I think you want copyright transferred, so you have exclusive rights
> to the contributed code. If not, the contributor will have his saying in
> the relicensing question.
Right, "shared" might not be the right word, I was going from memory on
what GPL guru Bruce Perens had written. I do not think I need
transferred (though that might be cleaner), but as you observe I need
sufficient status to grant license without the original contributor's
involvement. Perens wrote:
"I'd insist that people who wanted their modifications to go into my
main source thread must sign a separate and independent copyright for
those modifications over to me, while they'd also maintain their own
copyright. In other words, each party would own the modification and
would have the right to do anything they wanted with that modification
without consulting the other party."
kenny
clinisys