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

Bug#115907: ITP: vortex -- an implementation of Cecil, a pure OO language with multimethods



Package: wnpp
Version: N/A; reported 2001-10-16
Severity: wishlist

  Package name    : vortex-{cecil,java,smalltalk,doc,intermediate-source}
  Version         : 3.0
  Upstream Author : The UW Cecil Group <cecil@cs.washington.edu>
  URL             : http://www.cs.washington.edu/research/projects/cecil/www/
  License         : MIT/BSD-style without advertising clause; see below
  Description     : an implementation of Cecil, a pure OO language with multimethods

Quoting from the aforementioned web page,

    Cecil is a purely object-oriented language intended to support rapid
    construction of high-quality, extensible software. Cecil incorporates
    multi-methods, a simple prototype-based object model, a mechanism to
    support a structured form of computed inheritance, module-based
    encapsulation, and a flexible static type system which allows
    statically- and dynamically-typed code to mix freely.  A number of
    papers describe language features in more detail.

    Vortex is an optimizing compiler infrastructure for object-oriented
    and other high-level languages. It targets both pure object-oriented
    languages like Cecil and Smalltalk and hybrid object-oriented
    languages like C++, Modula-3, and Java. Vortex currently incorporates
    high-level optimizations such as static class analysis, class hierachy
    analysis, profile-guided receiver class prediction, profile-guided
    selective procedure specialization, intraprocedural message splitting,
    automatic inlining, and static closure analyses. It also includes a
    collection of standard intraprocedural analyses such as common
    subexpression elimination and dead assignment elimination. The Vortex
    compiler is written entirely in Cecil. A long technical report
    describes many of our core implementation techniques, and many shorter
    papers describe individual techniques.

The fact that Vortex is written in Cecil is not as much of a problem
as it might seem; upstream distributes binaries I can use to bootstrap
on i386, and Vortex generates semi-machine-independent[1] C++[2] as an
intermediate stage.  Consequently, I can stick the generated source in
an arch-all binary package and have my source package build-depend on
either the same version of that binary package or an existing install
of the compiler.  The whole procedure is a bit convoluted, but should
work.

The full license appears at the end of this message; the only part
that seems at all problematic is the DFARS clause at the beginning.
However, it should be okay; I brought the issue up on debian-legal a
couple of days ago, and the conclusion seems to be that it does not
discriminate because it merely denies the US government rights that
nobody else has anyway.

Feel free to let me know if you have any questions or comments, or
would like to help out; however, bear in mind that I do not read
debian-devel, so you will need to Cc me on any followups you send
there.

[1] The code is specific to a particular pointer width, but not to any
other factors; the compiler can produce either 32- or 64-bit code from
any platform, and I'm pretty sure running it once in each mode should
cover all of our architectures.

[2] Somewhat confusingly labeled as "C."

------------------------------------------------------------

Full upstream license:

    Copyright 1993-1999, by the Cecil Project
    Department of Computer Science and Engineering, University of Washington
    
    All Rights Reserved. RESTRICTED RIGHTS LEGEND: Use,
    duplication, or disclosure by the government is subject
    to restrictions as set forth in subparagraph (c) (1) (ii)
    of the Rights in Technical Data and Computer Software
    Clause at DFARS 252.227-7013 (Oct. 1988) and FAR
    52.227-19(c) (June 1987).
    
    Department of Computer Science and Engineering,
    Box 352350
    University of Washington, Seattle, WA 98195-2350
    
    cecil@cs.washington.edu
    
    LICENSE:
    
    You may use the software internally, modify it, make
    copies and distribute the software to third parties,
    including redistribution for profit, provided each copy
    of the software you make contains the copyright notice
    set forth above, the disclaimer below, and the authorship
    attribution below.
    
    DISCLAIMER:
    
    The Cecil Group and the University of Washington make no
    representations about the suitability of this software for any
    purpose. It is provided to you "AS IS," without express or implied
    warranties of any kind. The Cecil Group and the University disclaim
    all implied warranties of merchantability, fitness for a
    particular purpose and non-infringement of third party
    rights. The Cecil Group's and the University's liability for claims
    relating to the software shall be limited to the amount,
    if any of the fees paid by you for the software.  In no
    event will the Cecil Group or the University be liable for any
    special, indirect, incidental, consequential or punitive
    damages in connection with or arising out of this license
    (including loss of profits, use, data, or other economic
    advantage), however it arises, whether for breach of
    warranty or in tort, even if the Cecil Group or the University has
    been advised of the possibility of such damage.
    
    AUTHORSHIP:
    
    This software has resulted from the combined efforts of:
    
    Craig Chambers, Jeff Dean, Greg DeFouw, Michael Ernst, Charlie Garrett,
    Dave Grove, MaryAnn Joy, Vassily Litvinov, Phiem Huynh Ngoc, 
    Vitaly Shmatikov, Ben Teitelbaum, and Tina Wong




Reply to: