[llvm-commits] CVS: llvm-www/Name.html

Reid Spencer reid at x10sys.com
Thu Apr 12 19:18:28 PDT 2007



Changes in directory llvm-www:

Name.html added (r1.1)
---
Log message:

The project renaming deserves a page of its own.


---
Diffs of the changes:  (+218 -0)

 Name.html |  218 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 218 insertions(+)


Index: llvm-www/Name.html
diff -c /dev/null llvm-www/Name.html:1.1
*** /dev/null	Thu Apr 12 21:18:21 2007
--- llvm-www/Name.html	Thu Apr 12 21:18:11 2007
***************
*** 0 ****
--- 1,218 ----
+ <!--#include virtual="header.incl" -->
+ <div class="www_sectiontitle">Name That Compiler!</div>
+ <div class="www_subsection">Background</div>
+ <div class="www_text">
+   <p>As mentioned in Chris Lattner's
+   <a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-April/008625.html">email</a>,
+   we are looking for an umbrella name for the collection of compiler, tool chain 
+   and virtual machine related things that we call LLVM today. As Chris put it:</p>
+ 
+   <blockquote>"LLVM is a growing project, and many of us are very fond of it.  :)  LLVM 
+   is continuing to grow, both in maturity in specific areas and in the scope of 
+   areas to which it applies.</blockquote>
+ 
+   <blockquote>When we first started the project, we focused on the design of the 
+   intermediate representation (IR).  It is a strong design goal that the IR be a 
+   self-contained virtual instruction set, which fully describes a program. 
+   Because of this, we named the compiler LLVM, which reflects well on the 
+   design of the IR.</blockquote>
+ 
+   <blockquote>However, the scope of the LLVM project has outgrown this name.  Today 
+   LLVM does many "non-VMy" tasks, such as serving as a great static 
+   compiler.  It also has components that overlap with traditional low-level 
+   tool chain components like assemblers and linkers.  Further, LLVM's scope 
+   is about to grow significantly with new front-end technologies (e.g. HLVM, 
+   new SoC work on a python front-end, etc).  For all of these reasons, I 
+   think that "LLVM" is an increasingly poor name for the project as a whole, 
+   and it causes a large amount of confusion, particularly with people who 
+   do not know much about it yet.</blockquote>
+ 
+   <blockquote>For what it is worth, this is not a new thought.  I have been kicking 
+   around the idea of renaming the project for several years now, but have 
+   been stymied by not being able to come up with a better name!  The problem 
+   is hard: how do you concisely describe a modern, modular, component based 
+   compiler and tool-chain system, which can be used for many different 
+   things, hopefully many of which we haven't even thought of yet?  How do 
+   you pick a name that both memberable, relatively unique (searchable), has 
+   an open domain name, etc?  How do you come up with a name that is amenable 
+   to making a logo?  So far, I haven't! :)</blockquote>
+ 
+   <blockquote>Note that the name need not capture every aspect of the project.  Just 
+   having a distinguished name with no specific connotation is probably good 
+   enough.  20 years ago, "google" and "yahoo" had very different meanings, 
+   and "mozilla" or "firefox" were pretty meaningless.  Today, there is very 
+   strong awareness of what they are.</blockquote>
+ 
+   <blockquote>As such, I'd like to open up a forum for naming ideas.</blockquote>
+ 
+   <blockquote>To make this more fun, "success" is extremely subjective, and I have no 
+   idea how we will declare a victor (we can figure it out as we go, right? 
+   :).  I propose that people add ideas to this pageand we kick some potential 
+   names around at the developer mtg in May.  That gives us 5 or 6 weeks to 
+   come up with a name and/or logo."</blockquote>
+ 
+   <p>With that in mind, this page is all about finding a new name for the
+   project.</p>
+ </div>
+   
+ <div class="www_subsection"><a name="booty">The Booty<a/></div>
+ <div class="www_text">
+   <p>If we find a good name, we can honor the one who came up with it with a 
+   small amount of booty.  For example, we're prepared to award a compiler 
+   textbook of your choice (MSRP < $100) to the winner, optionally signed by 
+   people at the <a href="DevMtgMay2007.html">dev meeting</a> if you so desire 
+   and if they agree.  Alternatively, we could do a $100 gift card to Amazon 
+   or some other place.</p>
+ </div>
+   
+ <div class="www_subsection"><a name="ideas">Naming Ideas and Rules<a/></div>
+ <div class="www_text">
+   <p>We have a few objectives, ideas and rules we've already decided upon for the
+   name:</p>
+   <ul>
+     <li><b>LLVM Is Name Of IR</b>. We need to continue to use the name 
+     'LLVM' to refer to the IR (i.e. that which is described in 
+     <a href="http://llvm.org/docs/LangRef.html">the Language Reference</a>).</li>
+ 
+     <li><b>/LLVM suffix</b>. We need to keep "/LLVM" as a suffix to the name
+     some time number of years to come so that we do not lose the brand 
+     recognition we've developed with LLVM.  For example: "Use the Foo/LLVM 
+     Compiler System, it runs infinite loops faster than the competition!".</li>
+     <li><b>Avoid VM</b>. We would like to avoid "VM" in the name. Because of the
+     /LLVM suffix it would be redundant for some period of time. Also, while the
+     project will retain components that allow you to make a VM, it isn't really
+     "just" a VM, its much more. In other words, labeling the project  VM is
+     too limiting. The projects scope has outstripped being just a VM.</li>
+     <li><b>Figurative</b>. We would like to stay away from acronyms unless a
+     really good one comes along. We don't want to replace LLVM with another
+     acronym that out-dates itself in a few years. Instead a name that is
+     metaphorical or figurative or otherwise conjures up the notion of LLVM would
+     be best.</li>
+     <li><b>Made Up Names</b>. You can also just make up a name. Some of the best
+     brands have been
+     <a href="http://en.wikipedia.org/wiki/Portmanteau">portmanteau words</a>
+     (combining two or more words or phonemes to produce a new word). For
+     example, a combination spoon/fork leads to spork. Infomercial is another
+     example. So can you find the perfect portmanteau words that describe this
+     project? You can find a big list of examples
+     <a href="http://en.wiktionary.org/wiki/Appendix:List_of_portmanteaux">here</a></li>
+     <li><b>Connotations</b>. The name should have a connotation that is
+     descriptive of the project as a whole. Some connotations that would be
+     appropriate are: components, fast, toolkit, optimizing, languages, building
+     blocks, etc. Many other characteristics could apply, these are just a
+     few.</li>
+     <li><b>Logos</b>. Logos will need to be developed as well. Keep that in mind
+     as you think of names. Can a logo be developed?  If you have graphical
+     talents, please send a JPEG/GIF to go with your name idea.</li>
+   </ul>
+ </div>
+ 
+ <div class="www_subsection"><a name="names">Candidate Names<a/></div>
+ <div class="www_text">
+   <p>To help with the naming, we'll keep track of all name ideas here. This goes
+   along with the brain-storming rule: <i>there are no bad ideas</i>. So, send
+   your entries to <a href="mailto:llvmdev at cs.uiuc.edu">llvmdev</a> and we'll add
+   them here (or add them yourself).</p>
+   <p>At the <a href="DevMtgMay2007.html">May 25, 2007 Developer's Meeting</a>
+   the list of names generated here will be used to discuss and possibly decide
+   the new name for the project.</p>
+   <p>In your submissions, please include the name, description, and <i>one</i>
+   link for the name.</p>
+   <table class="www">
+     <tr><th colspan="4">Proposed New Names For LLVM</th></tr>
+     <tr><th>Who</th><th>Name</th><th>Description</th></tr>
+     <tr><td>Jeff Cohen</td><th>
+         <a href="http://en.wikipedia.org/wiki/Illuvium">Illuvium</a></th>
+       <td>Material displaced across a soil profile, from one layer to another 
+         one, by the action of rainwater.  Retains the LLVM letters. We already 
+         own the domain. Also connotes "illumination".</td></tr>
+     <tr><td rowspan="3">Reid Spencer</td><th>
+         <a href="http://en.wikipedia.org/wiki/Alluvium">Alluvium</a></th>
+       <td>The layers of sediment deposited by a river. Also retains the LLVM
+         letters but is a word and connotes "bed rock" and fluidity</td></tr>
+     <tr><th>Optopia</th><td>A portmanteau from
+         <i>optimization</i> and <i>utopia</i></td></tr>
+     <tr><th>NYAC</th><td>Along Owen's idea: "Not Your
+         Average Compiler" (BooBoo!). An acronym that you can pronounce.
+         Unfortunately, the New York Athletic Club wouldn't like us stealing
+         their domain. :)</td></tr>
+     <tr><td rowspan="3">Bill Wendling</td><th>Zembla</th><td>It's a fictional northern European 
+         country in "Pale Fire" by Nabokov.</td></tr>
+     <tr><th>Pala</th><td>The island utopia in Aldos Huxley's "Island".</td></tr>
+     <tr><th>Thra</th><td>The world of The Dark Crystal.</td></tr>
+     <tr><td rowspan="2">Patrick Meredith</td><th>Invictus</th><td>unconquerable, and
+         Invictus.org doesn't appear to exist.</td></tr>
+     <tr><th><a href="http://en.wikipedia.org/wiki/Adamant">Adamant</a></th>
+       <td>Often refers to diamonds, but historically can mean
+         any hard, "unbreakable" stone, metal or other substance.</td>
+     </td></tr>
+     <tr><td>Gabor Greif</td><th>Otimo</th><td>It is a Portuguese word,
+         meaning optimal, perfect.  It is also different enough from plain English words
+         to give a distinguished feel :-) and catch the eyes.  The domains 
+         otimo.org and otimo.info are both available.  Last, but not least 
+         it is a boon to the several LLVM developers of Portuguese
+         tongue.</td></tr>
+     <tr><td>Owen Anderson</td><th>Warloc<br/>Warlock</th><td>It can be thought 
+         of as standing for "We aren't like other compilers," but that doesn't 
+         have to be pointed out, as it's also a  word on its own.  It has a 
+         sense of being something powerful and/or  magical, and should be 
+         feasible to make a logo to go along with.</td></tr>
+     <tr><td>Erick Tryzelaar</td><th>LCS</th><td>For language compiling system. 
+         It's suggestive of an old name, easy to remember, easy to say, and seems 
+         to be easy to Google. "Advanced" could be pre-pended to it to make it 
+         ALCS to make it even more unique.</td></tr>
+     <tr><td>Zhongxing Xu</td><th>OmniC<br/>Omnipiler<br/>Omnicom</th><td>Stands for
+         "Omnipotent Compiler".  I prefer the first.</td></tr>
+     <tr><td rowspan="4">Duncan Sands</td><th>OptLib</th><td>Portmanteau of optimizing 
+         and library.</td></tr>
+     <tr><th>llvroom</th><td>As in the vrooming of a motorcycle engine.
+     <tr><th>OptLOC</th><td>Portmanteau of Optimization and
+         Lines Of Code</td></tr>
+     <tr><th>LoveByte</th><td>Along the Warloc - Loveloc
+         lines as baldric4 suggested in IRC. LOC = Lines of Code</td></tr>
+     <tr><td>Paolo Invernizzi</td><th>Mithril</th><td>The fictional metal from 
+         JRR Tolkien The Lord of the Rings.  Gandalf says: "Mithril! All folk desired it. 
+         It could be beaten like copper, and polished like glass; and the Dwarves could 
+         make of it a metal, light and yet harder than tempered steel. Its beauty was like 
+         to that of common silver, but the beauty of mithril did not tarnish or
+         grow dim."</td></tr>
+     <tr><td>Curt Cox</td><th>OCTRUTHAL</th><td>One Compiler To RUle THem ALl (and in the 
+       darkness bind them)" You have to admit, it has a nice ring.</td></tr>
+     <tr><td>Michael McCracken</td><th>
+         <a href="http://en.wikipedia.org/wiki/Naga_(mythology)#N.C4.81gas_in_Cambodia">Naga</a>
+     </th><td>dragon-like serpents from Cambodian mythology, among other places.
+       I like this as a name, because it's unique  short and easy to type and remember 
+       (as long as you omit the accent, which is commonly done), it's basically a 
+       southeast-asian dragon, so we're sticking with traditional compiler iconography, 
+       and it's seven-headed, so it nicely represents the many different uses LLVM can 
+       be put to.<br/>It's also pretty easy to imagine a logo, because Cambodian Nāga
+       sculptures are pretty memorable as is: 
+       <a href="http://en.wikipedia.org/wiki/Image:NagaPhnomPenh.jpg">NagaPhnomPenh</a>.
+       They're all over Angkor, too. I picture a simplified line-drawing of a seven-headed 
+       serpent like the one in the image.<br/> For what it's worth, there are also 
+       a couple other good-sounding Asian dragon names on the wikipedia page for 
+       Nāga: "Lóng" (Chinese), "Ryū" (Japanese), and my second-favorite after 
+       Nāga, "kyo" ("Korean mountain dragon"), which has nice consonance with "compiler".
+     </td></tr>
+     <tr><td>Aaron Gray</td><th>Mother</th><td>No explanation offered :)</td></tr>
+     <tr><td rowspan="3">Scott McMurray</td><th>Daedalus</th><td>Greek mythology: the
+         greatly skilled Athenian architect that built the palace of
+         Cnossus.</td></tr>
+     <tr><th>Hephæstus</th><td>Greek mythology: God of smiths, builder of Helios's 
+       chariot, maker of Talos, Crete and Europa's guardian robot, and fabricator of
+       the weapons of the Gods</td></tr>
+     <tr><th>Lemnos</th><td>Greek mythology: the island of Hephaestus
+       workshop</td></tr>
+   </table>
+ </div>
+ 
+ <!-- *********************************************************************** -->
+ <hr>
+ <address>
+   <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
+   src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
+   <a href="http://validator.w3.org/check/referer"><img
+   src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
+ <br/>Last modified: $Date: 2007/04/13 02:18:11 $
+ </address>
+ <!--#include virtual="footer.incl" -->






More information about the llvm-commits mailing list