Dan Lentz | 9 Feb 14:14 2014
Picon

Efficiently composing layers in contextl

ContextL remains a favorite of mine and as I've recently been doing some work in Clojure I naturally started thinking about if/how "context orientation" might fit into the (very different) clojure universe and culture.  I'm not sure it would be a popular idea actually I considered the clojurians might throw tomatoes at me for bringing it up... Largely I think it would be focused on the idea of dynamically composable contexts for dispatch of multifunctions -- or something similar.  The layers and layered functions are largely what I have wound up using in ContextL; I haven't gotten many cases to use layered objects.


So in dreaming up ways to model layers I started to consider the Patricia trie, which is an efficiently mergeable integer map.  Thus, layers could be dynamically composed very quickly.  I know a major performance cost in ContextL is in composing the layers (after which they are cached and after the first use of a context, access is quite efficient).  So my question is, has anyone considered such an alternative means of modeling layers in ContextL and if so, what were the detractions that led you to dismiss the idea?

I actually don't have a pressing need for context-oriented clojure.  This is more of just a concept I've been playing with because my experience with ContextL has been so positive.

Best regards,
Dan
Kilian Sprotte | 1 Dec 10:58 2013
Picon

WITH-ACTIVE-LAYERS does not eval its args. Alternatives?

Hi,

I have run into a situation, where I would want WITH-ACTIVE-LAYERS to
evaluate its layer arguments or to have an alternative construct which
does so.

My questions are:

1. Is there a reason for WITH-ACTIVE-LAYERS to be designed this way?

2. Is there an alternative that allows me to achieve the desired
effect?

ENSURE-ACTIVE-LAYER and ENSURE-INACTIVE-LAYER being functions of
course evaluate their arguments, but using them together with an
UNWIND-PROTECT does not work, because ENSURE-ACTIVE-LAYER works
globally and also affects other threads.

The background is that I am using layers to represent different
backends in a database API. I would need WITH-ACTIVE-LAYERS to
evaluate its argument in the following example: A user wants to
connect to the database, so he specifies some connection settings,
including the backend to be used:

(defun open-db (spec)
  (destructuring-bind (backend &rest args) spec
    (with-active-layers (backend)
      (apply #'%open-db args))))

Suggestions or Remarks?

Thanks
Kilian

Pascal Costanza | 6 Nov 14:33 2013
Picon

Closer projects moved to sourceforge

Hi,

I have moved the hosting of the Closer projects (MOP Feature Tests, Closer to MOP, ContextL, Filtered
Functions, AspectL, LW Compat) to sourceforge. I also switched from darcs hosting to git hosting.

You can find the software now at http://sourceforge.net/p/closer/_list/git

All libraries have received new version numbers based on semantic versioning.

The mailing lists will from now on also be hosted at sourceforge. Please unsubscribe from the current
mailing lists, and subscribe to the mailing lists at http://sourceforge.net/p/closer/mailman/ instead.

The information on the Closer webpage at http://common-lisp.net/project/closer/ has also been updated accordingly.

Please let me know if you have any questions or problems.

Pascal

--
Pascal Costanza
The views expressed in this email are my own, and not those of my employer.

Piotr Wasik | 2 Nov 22:03 2013
Picon

c2mop:standard-class not used in lispworks

Hi,

I have tried the following in LispWorks:

CL-USER 1 > (c2cl:defclass foo () ((s1))) #<STANDARD-CLASS FOO 201010AB> CL-USER 2 > (c2mop:slot-boundp-using-class (find-class 'foo) (make-instance 'foo) (first (harlequin-common-lisp:class-slots (find-class 'foo)))) Error: The slot #<STANDARD-EFFECTIVE-SLOT-DEFINITION S1 23A4C803> is missing from #<FOO 23A4C2B7> (of class #<STANDARD-CLASS FOO 201010AB>)
The thing is that specialisation defined in https://github.com/mcna/closer-mop/blob/master/closer-lispworks.lisp uses standard-class from c2mop, which is later exported, but nothing forces subsequent code to use it instead of cl:standard-class.

Of course (eq (find-class 'cl:standard-class) (find-class 'c2mop:standard-class)) --> NIL

When I explicitely use c2mop:standard-class however, the specialisation from closer-mop.lisp is used:

(c2cl:defclass foo () ((s1)) (:metaclass c2mop:standard-class))
(c2mop:slot-boundp-using-class (find-class 'foo) (make-instance 'foo) (first (harlequin-common-lisp:class-slots (find-class 'foo)))) NIL

As expected. How can it be fixed please? Is there any test suite that can check what other functionality is affected?

Cheers,
Piotr
Rudi Schlatte | 13 Aug 13:46 2012
Picon

Closer-mop support for ABCL

Greetings,

ABCL 1.1, expected in 2-3 months from now, will have a mop implementation that passes the mop test suite
without missing features.  The work is finished in svn and can be checked out at http://svn.common-lisp.net/armedbear/trunk/abcl/.

It would be great if we had closer-mop support by release time; attached is a naive patch (which assumes that
abcl needs nothing in closer-mop-shared).  I also re-send the abcl patch for mop-feature-tests.  The
closer-mop patch is written to give an error if :mop isn't on *features*, this feature is present in the
mop-supporting svn version of abcl and will be in the released version as well, so if you decide to merge the
patch, users of the old release will get a sensible error message.

Cheers,

Rudi

Attachment (closer-mop-abcl.patch): application/octet-stream, 1823 bytes

Attachment (mop-feature-tests-abcl.patch): application/octet-stream, 745 bytes

_______________________________________________
armedbear-devel mailing list
armedbear-devel@...
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Dan Lentz | 18 Mar 20:23 2012
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 21:56 2012
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 14:10 2012
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 12:58 2012
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 10:54 2011
Picon

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 17:03 2011
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

Gmane