Dan Lentz | 18 Mar 2012 20:23
Picon

Re: closer-devel Digest, Vol 56, Issue 3

wow, this is a really helpful example as I have recently been stumbling about the problem of introducing a persistent subclass of layered-class (specifically on top of the dstm transactional layered class example that I found floating around and the associated paper by pascal.)   Is this something that might be valuable to annotate a bit and include in the contextl distro as an additional example?  

contextl seems to be the answer to a number of questions regarding how to combine meta class behaviors, but the biggest problem I have run into is the sparseness of the papers and examples with regards to learning how to model solutions based on layered class architectures.  This seems like a useful addition?



Message: 1
Date: Sun, 18 Mar 2012 17:10:11 +0100
From: Pascal Costanza <pc <at> p-cos.net>
To: Paul Sexton <psexton.2a <at> gmail.com>
Cc: closer-devel <at> common-lisp.net
Subject: Re: [closer-devel] ContextL: allow other keys in
   (re)initialize-instance methods for metaclasses
Message-ID: <4B1FC6C3-FAD1-4DAF-BA50-8AB687EE6259 <at> p-cos.net>
Content-Type: text/plain; charset=us-ascii

Hi Paul,

Thanks a lot again for reporting this problem. This uncovered a conceptual omission in the meta-level architecture of ContextL. Fortunately, it was easy to fix.

Background: Layered classes need to be split into a "base" class that gives identity to a particular layered class, plus all the partial definitions that belong to the various layers. The base class refers to the partial classes making up its definition by way of direct superclass links. All of this is set up in the partial-class metaclass. There needs to be a separation of initargs, some of which need to be routed to the base class (such as the name of the class, the defining metaclass and the direct superclass links), and the others need to go to the various partial definitions (such as direct slot definitions, for example).

The problem you uncovered was that this separation into base and partial initargs was hardcoded, and there was no way to configure this in one's own subclasses of partial-class and layered-class.

I have now introduced a generic function partial-class-base-initargs (with method combination 'append) on which methods can be defined that extend the initargs that need to go to the base class. Here is how it can be used to make the serializable layered class example work:

(in-package :contextl-user)

(defclass serializable-class (standard-class)
 ((database :initarg :database)))

(defclass combined-class (layered-class serializable-class)
 ())

(defmethod validate-superclass ((class combined-class) (superclass standard-class))
 t)

(defmethod partial-class-base-initargs append ((class combined-class))
 '(:database))

(defclass try ()
 ()
 (:metaclass combined-class)
 (:database . "mydb"))

(finalize-inheritance (find-class 'try))

(assert (string= (slot-value (find-class 'try) 'database) "mydb"))

(assert (loop for class in (rest (class-precedence-list (find-class 'try)))
             never (slot-exists-p class 'database)))

This is now also part of the test suite for ContextL.

The changes are in the darcs repository for ContextL. Please let me know if this helps for your particular case, or if there are still missing problems.


Best,
Pascal

On 16 Mar 2012, at 01:32, Paul Sexton wrote:

Thanks -- I have figured out how to stop the error from occurring, but
I now have a different problem: the initargs for classes other than
layered-class seem to get ignored and do not result in values being
stored in the class' slots.

Here is a simple example.
---------------------
(use-package :closer-mop)

(defclass serializable-class (standard-class)
((database :initarg :database)))

(defclass dummy-class (standard-class)
())

;; "layered serializable" metaclass
(defclass combined-class1 (contextl:layered-class serializable-class)
())

;; another metaclass for comparison. Only difference is it inherits
from dummy-class instead of layered-class.
(defclass combined-class2 (dummy-class serializable-class)
())

(defmethod validate-superclass ((class combined-class1) (superclass
standard-class))
t)

(defmethod validate-superclass ((class combined-class2) (superclass
standard-class))
t)

;; Trying to create a class that uses serializable-class as its metaclass causes
;; the error "invalid initialisation argument :DATABASE"
(defclass try1 ()
()
(:metaclass combined-class1)
(:database . "mydb"))

;; So we define the following methods to disable checking of initargs...
(defmethod initialize-instance :around ((c combined-class1) &rest args)
(if (next-method-p)
    (apply #'call-next-method c :allow-other-keys t args)))

(defmethod reinitialize-instance :around ((c combined-class1) &rest args)
(if (next-method-p)
    (apply #'call-next-method c :allow-other-keys t args)))

;; Now (defclass try1) works ... but 'database' slot of the resulting
class is unbound.

;; In contrast, if we define basically the same :around methods for
;; combined-class2:
(defmethod initialize-instance :around ((c combined-class2) &rest args)
(if (next-method-p)
    (apply #'call-next-method c :allow-other-keys t args)))

(defmethod reinitialize-instance :around ((c combined-class2) &rest args)
(if (next-method-p)
    (apply #'call-next-method c :allow-other-keys t args)))

;; ...And create a class with class2 as its metaclass...
(defclass try2 ()
()
(:metaclass combined-class2)
(:database . "mydb"))

;; Then this works. The resulting class has its :database slot correctly
;; bound to the value "mydb"

The most obvious explanation is that contextl is somehow discarding
keyword args that it does not recognise, preventing them from being
seen by other initialisation methods. Is there an alternative
explanation I am missing?

On 16 March 2012 07:59, Pascal Costanza <pc <at> p-cos.net> wrote:
Hi Paul,

I'm hesitating to make such a change, because it would weaken checking initialization arguments for validity.

Under normal circumstances, it is possible to make more initialization arguments valid for subclasses. See Section 7.1.2 of the HyperSpec. This also applies to metaobject classes. If for some reason this doesn't work for you, I would like to know about it and see whether something needs to be fixed. Please send some example, and some information which CL implementation you are using to test this.

Pascal

P.S.: I'm curious to hear about what you use ContextL for, and what you are adding in your subclasses. If you prefer, please feel free to contact me by private email on this. Thanks.

On 14 Mar 2012, at 21:56, Paul Sexton wrote:

Hi

At present the metaclasses in contextl choke during initialisation if
they are passed keys that they do not recognise. This makes it very
difficult to create metaclasses derived from those classes, if the
derived metaclasses need to be passed their own arguments a la
':in-layer'.

Including &allow-other-keys in the argument lists for
(re)initialize-instance in cx-classes-in-layer.lisp and
cx-layer-metaclasses.lisp seems to fix this, and doesn't seem to have
any downsides. Would you consider making this change?

Thanks
Paul

_______________________________________________
closer-devel mailing list
closer-devel <at> common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/closer-devel

--
Pascal Costanza




_______________________________________________
closer-devel mailing list
closer-devel <at> common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/closer-devel

--
Pascal Costanza






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

_______________________________________________
closer-devel mailing list
closer-devel <at> common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/closer-devel


End of closer-devel Digest, Vol 56, Issue 3
*******************************************
_______________________________________________
closer-devel mailing list
closer-devel <at> common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/closer-devel
Paul Sexton | 14 Mar 2012 21:56
Picon

ContextL: allow other keys in (re)initialize-instance methods for metaclasses

Hi

At present the metaclasses in contextl choke during initialisation if
they are passed keys that they do not recognise. This makes it very
difficult to create metaclasses derived from those classes, if the
derived metaclasses need to be passed their own arguments a la
':in-layer'.

Including &allow-other-keys in the argument lists for
(re)initialize-instance in cx-classes-in-layer.lisp and
cx-layer-metaclasses.lisp seems to fix this, and doesn't seem to have
any downsides. Would you consider making this change?

Thanks
Paul
Marco Antoniotti | 1 Feb 2012 14:10
Picon

ELS 2012, Zadar, Croatia

Apologies for the multiple postings. 

PAPER SUBMISSION DEADLINE EXTENDED 

European Lisp Symposium 2012, Zadar, Croatia, April 30th - May 1st, 2012 

http://european-lisp-symposium.org 

The purpose of the European Lisp Symposium is to provide a forum for 
the discussion and dissemination of all aspects of design, 
implementation and application of any of the Lisp and Lisp-inspired 
dialects, including Common Lisp, Scheme, Emacs Lisp, AutoLisp, ISLISP, 
Dylan, Clojure, ACL2, ECMAScript, Racket, SKILL, and so on. We 
encourage everyone interested in Lisp to participate. 

The main theme of the 2012 European Lisp Conference is 
"Interoperability: Systems, Libraries, Workflows".  Lisp based and 
functional-languages based systems have grown a variety of solutions 
to become more and more integrated with the wider world of Information 
and Communication Technologies in current use.  There are several 
dimensions to the scope of the solutions proposed, ranging from 
"embedding" of interpreters in C-based systems, to the development of 
abstractions levels that facilitate the expression of complex context 
dependent tasks, to the construction of exchange formats handling 
libraries, to the construction of theorem-provers for the "Semantic 
Web".  The European Lisp Symposium 2012 solicits the submission of 
papers with this specific theme in mind, alongside the more 
traditional tracks which have appeared in the past editions. 

We invite submissions in the following forms: 

Papers: Technical papers of up to 15 pages that describe original 
results or explain known ideas in new and elegant ways. 

Demonstrations: Abstracts of up to 4 pages for demonstrations of 
tools, libraries, and applications. 

Tutorials: Abstracts of up to 4 pages for in-depth presentations about 
topics of special interest for at least 90 minutes and up to 180 
minutes. 

Lightning talks: Abstracts of up to one page for talks to last for no 
more than 5 minutes. 

All submissions should be formatted following the ACM SIGS guidelines 
and include ACM classification categories and terms. For more 
information on the submission guidelines and the ACM keywords, see: 
http://www.acm.org/sigs/publications/proceedings-templates and 
http://www.acm.org/about/class/1998. 

Important dates: 

February 15th 2012: submission deadline (extended deadline) 
March 7th 2012: acceptance results 

April 30th 2012: Conference opens 

Program Commitee. 
Chair: 
Marco Antoniotti, Università degli Studi di Milano Bicocca, Milan, ITALY 

Local organizers: 
Damir Cavar, Eastern Michigan University 
Franjo Pehar, University of Zadar 
Damir Kero, University of Zadar 

Members: 
Giuseppe Attardi, Università degli Studi di Pisa, Pisa, ITALY 
Pascal Costanza, Intel, Bruxelles, BELGIUM 
Marc Feeley, Université de Montreal, Montreal, CANADA 
Scott McKay, Google, U.S.A. 
Kent Pitman, U.S.A. 
Christophe Rhodes, Department of Computing, Goldsmiths, University of London, London, UNITED KINGDOM 
Robert Strandh, LABRI, Université de Bordeaux, Bordaux, FRANCE 
Didier Verna, EPITA / LRDE, FRANCE 
Taiichi Yuasa, Kyoto University, JAPAN

--
Marco Antoniotti
Marco Antoniotti | 23 Jan 2012 12:58
Picon

ELS2012 Zadar, Croatia, Call for Papers


Apologies for the multiple postings...

===========================================================================

European Lisp Symposium 2012, Zadar, Croatia, April 30th - May 1st, 2012
http://european-lisp-symposium.org

The purpose of the European Lisp Symposium is to provide a forum for
the discussion and dissemination of all aspects of design,
implementation and application of any of the Lisp and Lisp-inspired
dialects, including Common Lisp, Scheme, Emacs Lisp, AutoLisp, ISLISP,
Dylan, Clojure, ACL2, ECMAScript, Racket, SKILL, and so on. We
encourage everyone interested in Lisp to participate.

The main theme of the 2012 European Lisp Conference is
"Interoperabilty: Systems, Libraries, Workflows".  Lisp based and
functional-languages based systems have grown a variety of solutions
to become more and more integrated with the wider world of Information
and Communication Technologies in current use.  There are several
dimensions to the scope of the solutions proposed, ranging from
"embedding" of interpreters in C-based systems, to the development of
abstractions levels that facilitate the expression of complex context
dependent tasks, to the construction of exchange formats handling
libraries, to the construction of theorem-provers for the "Semantic
Web".  The European Lisp Symposium 2012 solicits the submission of
papers with this specific theme in mind, alongside the more
traditional tracks which have appeared in the past editions.

We invite submissions in the following forms:

Papers: Technical papers of up to 15 pages that describe original
results or explain known ideas in new and elegant ways.

Demonstrations: Abstracts of up to 4 pages for demonstrations of
tools, libraries, and applications.

Tutorials: Abstracts of up to 4 pages for in-depth presentations about
topics of special interest for at least 90 minutes and up to 180
minutes.

Lightning talks: Abstracts of up to one page for talks to last for no
more than 5 minutes.

All submissions should be formatted following the ACM SIGS guidelines
and include ACM classification categories and terms. For more
information on the submission guidelines and the ACM keywords, see:
http://www.acm.org/sigs/publications/proceedings-templates and
http://www.acm.org/about/class/1998.

Important dates:

Jan 31st 2012: submission deadline
Feb 21st 2012: acceptance results

April 30th, 2012 Conference opens

Program Commitee.
Chair:
Marco Antoniotti, Università degli Studi di Milano Bicocca, Milan, ITALY

Local organizers:
Damir Ćavar, Eastern Michigan University
Franjo Pehar, University of Zadar
Damir Kero, University of Zadar

Members:
Giuseppe Attardi, Università degli Studi di Pisa, Pisa, ITALY
Pascal Costanza, Intel, Bruxelles, BELGIUM
Marc Feeley, Université de Montreal, Montreal, CANADA
Scott McKay, Google, U.S.A.
Kent Pitman, U.S.A.
Christophe Rhodes, Department of Computing, Goldsmiths, University of London, London, UNITED KINGDOM
Robert Strandh, LABRI, Université de Bordeaux, Bordaux, FRANCE
Didier Verna, EPITA / LRDE, FRANCE
Taiichi Yuasa, Kyoto University, JAPAN

_______________________________________________
closer-devel mailing list
closer-devel <at> common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/closer-devel
Attila Lendvai | 14 Dec 2011 10:54
Picon
Gravatar

an interesting contextl backtrace

Pascal,

take a look at this interesting backtrace (i've cut the irrelevant parts)!

this is triggered on sbcl and contextl head, running a threaded
web-server. the request came from baudispider, which has a habit of
bombing the server with parallel requests.

a quick glance at the contextl code suggests that it's a race
condition, because the code seems to protect itself from the
unboundness of the slot...

any thoughts? shall we send it to sbcl-devel instead?

-- 
 attila

Notice the erosion of your (digital) freedom, and do something about it!

PGP: 2FA1 A9DC 9C1E BA25 A59C  963F 5D5F 45C7 DFCD 0A39
OTR XMPP: 8647EEAC EA30FEEF E1B55146 573E52EE 21B1FF06

*** At: 2011-12-13T15:35:40.427419+01:00
*** Message:
HANDLE-TOPLEVEL-ERROR :before is now dealing with this error
*** In thread: http worker 1 / serving request 9 /
HANDLE-LEVEL-1-ERROR / HANDLE-TOPLEVEL-ERROR
*** Error of type UNBOUND-SLOT:
The slot CONTEXTL::OLD-SLOT-DEFINITIONS is unbound in the object
#<STANDARD-LAYER-CLASS XHTML-LAYER {1001A92ED3}>.
*** Backtrace:
 18: (SB-PCL::SLOT-UNBOUND-INTERNAL #<STANDARD-LAYER-CLASS XHTML-LAYER
{1001A92ED3}> 19)
 19: (FINALIZE-INHERITANCE #<STANDARD-LAYER-CLASS XHTML-LAYER {1001A92ED3}>)
 20: ((SB-PCL::EMF FINALIZE-INHERITANCE) #<unavailable argument>
#<unavailable argument> #<STANDARD-LAYER-CLASS XHTML-LAYER
{1001A92ED3}>)
 21: (SB-PCL::CPL-OR-NIL #<STANDARD-LAYER-CLASS XHTML-LAYER {1001A92ED3}>)
 22: (SB-PCL::CLASS-APPLICABLE-USING-CLASS-P #<STANDARD-LAYER-CLASS
XHTML-LAYER {1001A92ED3}> #<STANDARD-LAYER-CLASS XHTML-LAYER
{1001A92ED3}>)
 23: ((LABELS SB-PCL::DO-METHODS :IN
SB-PCL::GENERATE-DISCRIMINATION-NET-INTERNAL) (0) (#<LAYERED-METHOD
RENDER-COMPONENT-STUB # NIL # {1008D8B0F3}>) (CLASS
#<STANDARD-LAYER-CLASS XHTML-LAYER {1001A92ED3}>) (#<LAYERED-METHOD
RENDER-COMPONENT-STUB # # # {1008D8AD53}>) ((1 CLASS #)))
 24: ((LABELS SB-PCL::DO-METHODS :IN
SB-PCL::GENERATE-DISCRIMINATION-NET-INTERNAL) (0) (#<LAYERED-METHOD
RENDER-COMPONENT-STUB #1=# # # {1008D8AD53}> #<LAYERED-METHOD
RENDER-COMPONENT-STUB #1# NIL # {1008D8B0F3}>) T NIL ((1 CLASS #)))
 25: ((LABELS SB-PCL::DO-METHODS :IN
SB-PCL::GENERATE-DISCRIMINATION-NET-INTERNAL) (1 0) (#<LAYERED-METHOD
RENDER-COMPONENT-STUB #1=# # # {1008D8AD53}> #<LAYERED-METHOD
RENDER-COMPONENT-STUB #1# NIL # {1008D8B0F3}>) T NIL NIL)
 26: (SB-PCL::DISPATCH-DFUN-COST #<LAYERED-FUNCTION
RENDER-COMPONENT-STUB {10036FEDAB}> 60)
 27: (SB-PCL::USE-DISPATCH-DFUN-P #<LAYERED-FUNCTION
RENDER-COMPONENT-STUB {10036FEDAB}> NIL)
 28: (SB-PCL::MAKE-CHECKING-DFUN #<LAYERED-FUNCTION
RENDER-COMPONENT-STUB {10036FEDAB}> #S(SB-PCL::FAST-METHOD-CALL
:FUNCTION #<CLOSURE # {100DDF059B}> :PV NIL :NEXT-METHOD-CALL NIL
:ARG-INFO (2)) NIL)
 29: (SB-PCL::INITIAL-DFUN #<LAYERED-FUNCTION RENDER-COMPONENT-STUB
{10036FEDAB}> (#<LAYER NIL {100CE8E153}> #<CONTEXT-MENU/WIDGET
:MENU-ITEMS #>))
 30: ((LABELS HU.DWIM.PRESENTATION::WITH-RENDER-STYLE/COMPONENT-BODY
:IN HU.DWIM.PRESENTATION::=LAYERED-FUNCTION-DEFINER-FOR-RENDER-COMPONENT=))

_______________________________________________
closer-devel mailing list
closer-devel <at> common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/closer-devel
Marco Antoniotti | 17 Nov 2011 17:03
Picon

[ELS 2012] European Lisp Symposium 2012, Zadar, Croatia; call for papers

Apologies for the multiple postings....

================================================================
European Lisp Symposium 2012, Zadar, Croatia, April 30th - May 1st, 2012
http://european-lisp-symposium.org

The purpose of the European Lisp Symposium is to provide a forum for
the discussion and dissemination of all aspects of design,
implementation and application of any of the Lisp and Lisp-inspired
dialects, including Common Lisp, Scheme, Emacs Lisp, AutoLisp, ISLISP,
Dylan, Clojure, ACL2, ECMAScript, Racket, SKILL, and so on. We
encourage everyone interested in Lisp to participate.


The main theme of the 2012 European Lisp Conference is
"Interoperabilty: Systems, Libraries, Workflows".  Lisp based and
functional-languages based systems have grown a variety of solutions
to become more and more integrated with the wider world of Information
and Communication Technologies in current use.  There are several
dimensions to the scope of the solutions proposed, ranging from
"embedding" of interpreters in C-based systems, to the development of
abstractions levels that facilitate the expression of complex context
dependent tasks, to the construction of exchange formats handling
libraries, to the construction of theorem-provers for the "Semantic
Web".  The European Lisp Symposium 2012 solicits the submission of
papers with this specific theme in mind, alongside the more
traditional tracks which have appeared in the past editions.

We invite submissions in the following forms:

Papers: Technical papers of up to 15 pages that describe original
results or explain known ideas in new and elegant ways.

Demonstrations: Abstracts of up to 4 pages for demonstrations of
tools, libraries, and applications.

Tutorials: Abstracts of up to 4 pages for in-depth presentations about
topics of special interest for at least 90 minutes and up to 180
minutes.

Lightning talks: Abstracts of up to one page for talks to last for no
more than 5 minutes.

All submissions should be formatted following the ACM SIGS guidelines
and include ACM classification categories and terms. For more
information on the submission guidelines and the ACM keywords, see:
http://www.acm.org/sigs/publications/proceedings-templates and
http://www.acm.org/about/class/1998.


Important dates:

Jan 31st 2012: submission deadline
Feb 21st 2012: acceptance results

April 30th, 2012 Conference opens

Program Commitee.

Chair:
Marco Antoniotti, Università degli Studi di Milano Bicocca, Milan, ITALY

Local organizers:
• Damir Ćavar, Eastern Michigan University
• Franjo Pehar, University of Zadar
• Damir Kero, University of Zadar

Members:
• Giuseppe Attardi, Università degli Studi di Pisa, Pisa, ITALY
• Pascal Costanza, Intel, Bruxelles, BELGIUM
• Marc Feeley, Université de Montreal, Montreal, CANADA
• Scott McKay, Google, U.S.A.
• Kent Pitman, Hypermeta, U.S.A.
• Christophe Rhodes, Department of Computing, Goldsmiths, University of London, London, UNITED KINGDOM
• Robert Strandh, LABRI, Université de Bordeaux, Bordaux, FRANCE
• Didier Verna, EPITA / LRDE, FRANCE



--
Marco Antoniotti


_______________________________________________
closer-devel mailing list
closer-devel <at> common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/closer-devel
Christoph Bockisch | 16 Sep 2011 15:28
Picon
Picon
Picon

Invitation to attend workshop on Virtual Machines and Intermediate Languages (VMIL) <at> SPLASH 2011

Dear colleagues,

we would like to invite you to attend the workshop on
Virtual Machines and Intermediate Languages (VMIL 2011),
which will be co-located with SPLASH. Please note that the early
registration deadline for SPLASH is Sept. 23 and that it is required
that you register for the workshop participation.

This workshop is a forum for research in virtual machines
(VM) and intermediate languages (IL). It is dedicated to
identifying programming mechanisms and constructs that are
currently realized as code transformations or implemented in
libraries but should rather be supported at VM and IL level.

Besides the presentation of accepted papers, the workshop features an
invited talk by

Lars Bak, Google

For more details on the format and program of the workshop please see
our homepage:

http://www.cs.iastate.edu/~design/vmil/

We look forward to meeting you at the workshop.

Best regards,
Christoph Bockisch, Hridesh Rajan, Michael Haupt and Robert
Dyer
VMIL 2011 Organizers
Christoph Bockisch | 5 Aug 2011 12:08
Picon
Picon
Picon

extended deadline: workshop on Virtual Machines and Intermediate Languages (VMIL)

Dear Colleagues:

as there have been requests to get some more time improving
submissions to the VMIL workshop, we have decided to extend
the deadline. For the details, see below. But please note
that abstract submission is now mandatory.

This workshop is a forum for research in virtual machines
(VM) and intermediate languages (IL). It is dedicated to
identifying programming mechanisms and constructs that are
currently realized as code transformations or implemented in
libraries but should rather be supported at VM and IL level.
------------------------------------------------------------
**Invited Talks**
In the tradition of past VMIL workshops, the 2011 edition
will feature high-quality, on-topic invited talks. Speakers
and titles will be announced later.
------------------------------------------------------------
**Due Dates**
Abstract submission is mandatory until August 8, 2011.
Papers for VMIL are due Aug 12, 2011. Notification of
acceptance will be on Sep 1, 2011.
------------------------------------------------------------
**Program Committee**
We have once again assembled an excellent program committee
which consists of: Steve Blackburn (Chair), Cliff Click,
David Grove, Kim Hazelwood, Antony Hosking, Doug Lea, Ben
Titzer, and Olivier Zendra.
------------------------------------------------------------

For more details please see:
http://www.cs.iastate.edu/~design/vmil/

We look forward to your submissions to VMIL 2011.

Best regards,
Hridesh Rajan, Christoph Bockisch, Michael Haupt and Robert
Dyer
VMIL 2011 Organizers
Christoph Bockisch | 23 Jun 2011 17:18
Picon
Picon
Picon

invitation to submit to workshop on Virtual Machines and Intermediate Languages (VMIL)


Dear Colleagues:

It gives us great pleasure to invite you to submit your
contributions to **the fifth international workshop on
Virtual Machines and Intermediate Languages (VMIL 2011)**,
which will be co-located with SPLASH 2011.

This workshop is a forum for research in virtual machines
(VM) and intermediate languages (IL). It is dedicated to
identifying programming mechanisms and constructs that are
currently realized as code transformations or implemented in
libraries but should rather be supported at VM and IL level.
------------------------------------------------------------
**Invited Talks**
In the tradition of past VMIL workshops, the 2011 edition
will feature high-quality, on-topic invited talks. Speakers
and titles will be announced later.
------------------------------------------------------------
**Due Dates**
Papers for VMIL are due Aug 8, 2011. Abstract submission is
not required but recommended until August 1, 2011. Notification
of acceptance will be on Sep 1, 2011.
------------------------------------------------------------
**Program Committee**
We have once again assembled an excellent program committee
which consists of: Steve Blackburn (Chair), Cliff Click,
David Grove, Kim Hazelwood, Antony Hosking, Doug Lea, Ben
Titzer, and Olivier Zendra.
------------------------------------------------------------

For more details please see:
http://www.cs.iastate.edu/~design/vmil/

We look forward to your submissions to VMIL 2011.

Best regards,
Hridesh Rajan, Christoph Bockisch, Michael Haupt and Robert
Dyer
VMIL 2011 Organizers
Christoph Bockisch | 1 Jul 2010 15:06
Picon
Picon
Picon

Invitation to submit to VMIL'10

Dear Colleagues:

It gives us great pleasure to invite you to submit your
contributions to **the fourth international workshop on
Virtual Machines and Intermediate Languages (VMIL 2010)**,
which will be co-located with SPLASH 2010 (former OOPSLA).
This workshop is a forum for research in virtual machines
(VM) and intermediate languages (IL). It is dedicated to
identifying programming mechanisms and constructs that are
currently realized as code transformations or implemented in
libraries but should rather be supported at VM and IL level.
------------------------------------------------------------
**Invited Talks**
In the tradition of past VMIL workshops, the 2010 edition
will feature high-quality, on-topic invited talks. At this
moment, talks by Cliff Click and Kathryn McKinley are
confirmed.
------------------------------------------------------------
**Due Dates**
Papers for VMIL are due Aug 9, 2010. Abstract submission is
not required but recommended until Aug 2, 2010. Notification
of acceptance will be on August 30, 2010.
------------------------------------------------------------
**Program Committee**
We have once again assembled an excellent program committee
which consists of Walter Binder, Steve Blackburn, Erik
Ernst, Naveen Kumar, Doug Simon, Roel Wuyts, and all
workshop organizers.
------------------------------------------------------------

For more details please see:
http://www.cs.iastate.edu/~design/vmil/

We look forward to your submissions to VMIL 2010.

Best regards,
Hridesh Rajan, Christoph Bockisch, Michael Haupt and Robert
Dyer
VMIL 2010 Organizers
Pascal Costanza | 2 Feb 2010 20:18

Small changes

Hi,

Some small changes are in the repository since of today:

+ I have removed dynamic-extent declarations throughout all the libraries. It turns out that my mental
model of dynamic extent declarations was wrong and I used it too liberal. This is fixed now. It shouldn't
have created too many problems, but I indeed got bugs occasionally, so I think it's safer this way.

+ In some performance experiments I made it turned out that special classes with special slots slow down
initialization of objects a lot. The main reason is that I have to define a replacement of the standard
shared-initialize functionality, and that is simply too slow. It seems to me that special slots are used
rarely, so I just added a configuration option to not inherit from special-class in layered-class, such
that define-layered-class doesn't automatically incorporate the special slots functionality. See
contextl.asd for details how to switch that optimization on. I'd be interested to hear whether this
indeed buys you anything.

+ I also added a slight performance improvement for (general) slot accesses in LispWorks in Closer to MOP.

Cheers,
Pascal

--

-- 
Pascal Costanza, mailto:pc <at> p-cos.net, http://p-cos.net
Vrije Universiteit Brussel
Software Languages Lab
Pleinlaan 2, B-1050 Brussel, Belgium

Gmane