[CfP] Dynamic Languages Day @ Brussels

Discussion in 'Javascript' started by Pascal Costanza, Jan 12, 2006.

  1. Dynamic Languages Day @ Vrije Universiteit Brussel
    Monday, February 13, 2006, VUB Campus Etterbeek

    The VUB (Programming Technology Lab, System and Software Engineering
    Lab), ULB (deComp) and the Belgian Association for Dynamic Languages
    (BADL) are very pleased to invite you to a whole day of presentations
    about the programming languages Self, Smalltalk and Common Lisp by
    experts in these languages. Besides some introductory material for each
    language, the reflective facilities in the respective programming
    environments will be highlighted. The presentations will be especially
    interesting for people with good knowledge about current mainstream
    object-oriented languages like Java, C# and C++ who want to get a
    deeper understanding about the expressive power of Self, Smalltalk and
    Common Lisp. In order to prepare the ground for these presentations,
    Professor Viviane Jonckers will introduce the day by an overview of the
    benefits of teaching dynamic languages to undergraduate students in
    computer science. She will especially discuss the specific advantages
    of using Scheme as an introductory language instead of the more widely
    employed Java language.

    Attendance is free and open to the public. Please make sure to register
    for the event by sending an e-mail to Pascal Costanza
    (), so we can plan ahead. The number of places
    will be limited according to the exact location of the event and will
    be allocated on a first-come, first-serve basis. Watch the website for
    the exact schedule, location and any news at

    Abstracts of the Talks

    Scheme as an introductory language (Viviane Jonckers)

    The VUB has a rich history in dynamic programming language teaching and
    research. Ever since the late 80's, compulsory courses on Lisp and
    Smalltalk have played an important role in the last two years of the
    computer science curriculum. Since the early 90's, this role was
    further intensified by selecting Scheme as the introductory course in
    the first year and by promoting Scheme as the lingua franca for most
    courses in the first two years. Professor Jonckers' introductory talk
    to the dynamic languages day explains how this early exposure to the
    dynamic paradigm is the seed that gives students the skills to fully
    grasp and appreciate the more advanced dynamic paradigms (such as Lisp,
    CLOS, Smalltalk and Self) in subsequent courses of their computer
    science training.

    Self (Ellen Van Paesschen)

    Self is a prototype-based object-oriented programming language where
    everything is an object and all manipulation of objects is initiated
    through message sending. A prototype-based language eschews classes and
    allows object creation ex-nihilo or by cloning prototypes. Self
    resembles Smalltalk in both its syntax and semantics. Other
    characteristics of Self are delegation (object-centered inheritance),
    parent sharing and child sharing (multiple inheritance), and dynamic
    parent modification. Further the Self environment includes a powerful
    mechanism for reflective meta-programming based on mirror objects. The
    Self group were also the first to introduce traits objects that gather
    shared and reusable behavior between objects in order to program in a
    more efficient and structured way.

    After a brief introduction to the highly interactive Self environment
    the language's basics and its syntax and semantics are presented. Next
    the most important advanced features such as mirrors and dynamic parent
    modification are illustrated.

    Smalltalk (Johan Brichau, Roel Wuyts)

    Smalltalk is class-based object-oriented programming language.
    Everything in Smalltalk is an object and these objects communicate
    through messages. The Smalltalk language itself offers only very few
    programming constructs and is thus easy to learn and grasp. Therefore,
    the expressive power of Smalltalk lies in its huge library of
    frameworks, which includes an extensive metaobject protocol that
    enables powerful dynamic (runtime) reflection. Furthermore, perhaps one
    of the most significant advantages of Smalltalk outside of the language
    itself is that software development is a truly dynamic experience. The
    Smalltalk environment features the incremental development of an
    application where there is no strict separation between development and
    execution cycles, leading to an interactive and dynamic development

    Besides a short introduction to the Smalltalk programming language,
    this presentation will focus on the dynamic reflective facilities of
    Smalltalk. We will demonstrate the power of its metaobject protocol
    through a number of tools that extensively rely on it. Furthermore, we
    will provide some insight in the dynamic nature of Smalltalk
    development through a live demonstration.

    Generic Functions and the CLOS Metaobject Protocol (Pascal Costanza)

    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 presentation introduces these two notions. The code for an
    interpreter for generic functions that performs selection and execution
    of methods will be developed live during the presentation. This will be
    followed by a discussion how that code can be extended to introduce,
    for example, multimethods and AOP-style advices, and a sketch how
    generic functions are implemented efficiently in the "real" world. In
    the second part, the extensibility of the CLOS MOP will be illustrated
    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.


    Viviane Jonckers received a master degree in Computer Science from the
    Vrije Universiteit Brussel in 1983 and a Ph.D. degree in Sciences from
    the same university in 1987. Since 1987 she is a professor both in the
    Computer Science Department of the faculty of Sciences as in the
    Computer Science group of the Engineering Faculty. Currently, she is
    the director of the System and Software Engineering Lab. Her current
    research interests are in integrated software development methods with
    a focus on component based software development and aspect oriented
    software development. She participated in and has been project manager
    of several national and international R&D projects.

    Roel Wuyts is professor at the University Libre de Bruxelles, where he
    leads the deComp group. His fields of interest are logic meta
    programming, forms of reflection and language design. On the side he
    also dabbles in development environments. Quite a lot his development
    is done in Smalltalk, extensively using the reflective facilities in
    that language to do research in language symbiosis, development
    environments and for rapid programming in gneral. From the moment he
    realized that dynamicity was what he really liked in all of his
    favourite programming languages (Smalltalk, Prolog and Scheme), he has
    been trying to grow the dynamic languages field again. Part of this
    endavour was the organization of the first Dynamic Language Symposium,
    a symposium co-organized with OOPSLA'2005 in San Diego.

    Johan Brichau currently holds a postdoc position at the Laboratoire
    d'Informatique Fondamentale de Lille (LIFL). He is also associated with
    the Programming Technology Lab at the Vrije Universiteit Brussel, where
    he obtained a Ph.D. degree in Computer Sciences in 2005. Johan's
    research is focusing on the use of metaprogramming in the context of
    generative programming techniques and aspect-oriented programming
    languages. To this extent, he has been extensively using the Smalltalk
    metaobject protocol for the creation and development of (generative)
    logic metaprogramming techniques as well as aspect-oriented language
    extensions to Smalltalk.

    Pascal Costanza has a Ph.D. degree from the University of Bonn,
    Germany. His past involvements include specification and implementation
    of the languages Gilgul and Lava, and the design and application of the
    JMangler framework for load-time transformation of Java class files. He
    has also implemented ContextL, the first programming language extension
    for Context-oriented Programming based on CLOS, and aspect-oriented
    extensions for CLOS, which all heavily rely on the CLOS MOP. He is
    furthermore the initiator and lead of Closer, an open source project
    that provides a compatibility layer for the CLOS MOP across multiple
    Common Lisp implementations.

    Ellen Van Paesschen obtained a master degree in computer science at the
    Vrije Universiteit Brussel in 2000. Currently she is a Ph.D. student at
    the Programming Technology Lab. Ellen's research is focusing on using
    dynamic and prototype-based languages for model-driven development and
    round-trip engineering (RTE). She has created a research prototype of a
    dynamic prototype-based RTE environment in Self which is the main
    implementation language in her research. This environment differs from
    other existing tools at the level of synchronisation, run-time objects
    and constraint enforcement steered from an analysis model. Her other
    interests include (the analysis phase during) software engineering and
    role modelling.
    Pascal Costanza, Jan 12, 2006
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Pascal Costanza

    [CfP] Dynamic Languages Symposium 2007

    Pascal Costanza, Mar 6, 2007, in forum: Python
    Pascal Costanza
    Mar 6, 2007
  2. Andy
  3. Roel Wuyts
    Roel Wuyts
    Apr 17, 2005
  4. Pascal Costanza

    [CfP] Dynamic Languages Day @ Brussels

    Pascal Costanza, Jan 12, 2006, in forum: Ruby
    Pascal Costanza
    Jan 12, 2006
  5. Pascal Costanza

    [CfP] Dynamic Languages Symposium 2007

    Pascal Costanza, Mar 6, 2007, in forum: Ruby
    Pascal Costanza
    Mar 6, 2007

Share This Page