If you know anybody who would be interested in this, please pass it
along. thanks!
The Cadence Design Systems VCAD group in Munich, Germany, is looking
for a University student intern for a period of two to six months.
You would be working on one of the following projects, depending on
our needs and your strengths:
* Project planning and scheduling software. This will be used to
track our utilization of our developers, and to aid in planning
for on-going and future projects.
* Package configuration management software. We deliver to our
customers custom configurations built out of a large number of
pieces of software and other intellectual property. We are
rewriting the system we use to specify, track, and build these
deliveries.
* Common Lisp bindings to a large C++ library. We are working on a
system to automatically generate the low-level bindings, as well
as designing a higher-level interface meant for direct use by
application programmers.
The implementation language for all of the above will most likely be
Common Lisp, although lesser languages such as Java, Perl, and Tcl may
play a role as well. We are looking for someone who either has
experience programming in a Lisp language, or is interested in
learning Lisp in a production environment, and is comfortable in
several mutually unrelated programming languages (eg, C, Smalltalk,
and PostScript; or Java, Prolog, and SPARC assembly language).
Our environment is Unix-based (Solaris and Linux), so you should have
a basic familiarity with Unix. Other things that would be nice, but
are not required: some theoretical familiarity with relational
databases (eg, you took a database class or read the textbook from
one); Windows programming experience; Oracle experience; experience
with C++, SQL, and Prolog.
Virtual CAD (VCAD) is a group within Cadence providing EDA (Electronic
Design Automation) related services. The internship is with the
software development group within VCAD. Cadence's software products
are scripted with the SKILL language, a Lisp language with two
dialects: one Franz Lisp-like dialect, and one Scheme-like dialect.
The VCAD software group also uses Common Lisp where appropriate.
If you are interested, please contact
Thomas F. Burdick (tfb(a)cadence.com), and
Jim Newton (jimka(a)cadence.com)
For more information about VCAD, see:
http://www.cadence-europe.com/solutions/vpage.cfm?pID=1http://www.cadence-europe.com/eEuronews/mar_05/features.html
It's just a silly little script, but I'm proud of cl-launch.sh:
http://www.cliki.net/cl-launch
It should make it much easier to write little command-line utilities
in semi-portable Common Lisp.
I've tried to make it robust, and as a result it's somewhat
over-engineered and difficult to hack. But hopefully, it is
well-documented and easy to use. Please help me test it, spread it,
etc.
It's one step to integrating common lisp to the unix command line
(until the unix command line can be integrated into common lisp).
I hope some of you find it useful. Satisfied user messages and hacker
improvements welcome. So are ports to more Common Lisp
implementations...
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Most economic fallacies derive... from the tendency to assume that there
is a fixed pie, that one party can gain only at the expense of another.
-- Milton Friedman
OOPSLA'05 tutorial on generic functions and the CLOS Metaobject Protocol
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Town and Country Resort & Convention Center, San Diego, California
Sunday, October 16, 2005, 13:30 - 17:00
See http://p-cos.net/oopsla05-tutorial.html
Abstract.
The Common Lisp Object System (CLOS) is unique in two ways.
+ In most OOP languages, methods belong to classes and are invoked by
sending messages. In CLOS, methods belong to generic functions
instead of classes, and those generic functions select and execute
the correct method according to the types of the arguments they receive.
+ The CLOS Metaobject Protocol (MOP) specifies how its essential
building blocks are to be implemented in CLOS itself. This allows
extending its object model with metaclasses that change important
aspects of CLOS for a well-defined scope.
This tutorial introduces these two notions. I will develop - live
during the tutorial - the code for an interpreter for generic
functions that performs selection and execution of methods. I will
then discuss how that code can be extended to introduce, for example,
multimethods and AOP-style advices, and sketch how generic functions
are implemented efficiently in the "real" world. In the second part,
I will illustrate the extensibility of the CLOS MOP by implementing -
live - the (hashtable-based) Python object model as a metaclass.
Other practical extensions based on the CLOS MOP are also sketched,
like object-relational mappings, interfaces to foreign-language
objects, and domain-specific annotations in classes.
The audience will learn about the basic concepts of generic functions
and metaobject protocols. They will get the necessary insights and
pointers to existing literature and online material to deepen their
knowledge. The focus of the tutorial is not on technical details but
on the general ideas. A good understanding of class-based OOP is
required. Experience with Lisp may be helpful, but the tutorial is
specifically targeted at non-Lispers.
Feel free to contact me if you have any questions and/or suggestions.
Pascal
Hi everyone,
I have just uploaded a first release of ContextL. It's both a non-
trivial example of using the CLOS MOP and a full-fledged library in
its own right, providing constructs for context-oriented programming.
See http://common-lisp.net/project/closer/contextl.html for more
information.
Cheers,
Pascal
--
OOPSLA'05 tutorial on generic functions & the CLOS Metaobject Protocol
++++ see http://p-cos.net/oopsla05-tutorial.html for more details ++++
Pascal Costanza, mailto:pc@p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programing Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium
Hi,
My website has moved to a new location and has a new design. You can
now find it at http://p-cos.net
This affects a few Lisp-related pages. Especially:
- My "highly opinionated" Lisp guide is now at http://p-cos.net/lisp/
guide.html - the old location at www.pascalcostanza.de / www.cs.uni-
bonn.de will be removed soon.
- The archive for the 1st European Lisp and Scheme workshop has moved
to http://p-cos.net/lisp-ecoop/ - I won't remove the old archive
soon, but cannot guarantee any degree of longevity. Note that the
site for the 2nd instance of that workshop is not affected since it
is maintained by Hans Huebner.
- On a related note, I am going to give a tutorial about generic
functions and the CLOS Metaobject Protocol at this year's OOPSLA. See
http://p-cos.net/oopsla05-tutorial.html (The need for a tutorial
website was the main motivation to finally get the new website up and
running.)
I appreciate if people who have linked to the material above could
update the respective links. Thanks a lot!
Cheers,
Pascal
--
A discussion that tries to kill a useful feature is not a "practical"
discussion but a "religious" one. - Kent M. Pitman
Hi,
New versions of MOP Feature Tests and Closer to MOP are available.
MOP Feature Tests checks whether CLOS MOP features, as specified in
"The Art of the Metaobject Protocol", are available in a given Common
Lisp implementation. Closer to MOP provides a compatibility layer
that irons out some of the incompatibilities across various CLOS MOP
implementations.
Highlights of the new versions:
- A number of new implementations are now supported, including
Allegro Common Lisp 7.0, CLisp 2.34, CMU CL 19b, LispWorks
Professional 4.4.5, Macintosh Common Lisp 5.1, OpenMCL 0.14.3 and
SBCL 0.9.3.
- The software is now available as a set of darcs repositories.
- Various fixes in Closer to MOP.
- Added a convenience method ensure-method.
- Switched to an MIT/BSD-style license.
I am using the Closer to MOP compatibility layer for my own software,
which consists of non-trivial extensions of CLOS. This has led to
overall improvements of stability.
See the project website at http://common-lisp.net/project/closer/ for
further details.
Cheers,
Pascal
--
Tyler: "How's that working out for you?"
Jack: "Great."
Tyler: "Keep it up, then."