Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 135

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 135

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 187

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 188

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 189

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 194

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 195

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 196

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 197

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 241

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 264

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 269

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 275

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 285

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 286

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 296

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 297

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 298

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 308

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 309

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 310

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 311

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 321

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 322

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 323

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 324

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 325

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 497

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 527

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 540

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 587

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 626

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 668

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 668

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 670

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 673

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 682

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 688

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 693

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 699

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 410

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 410

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 272

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/public/lib.urlhandlers.php on line 110

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/public/lib.urlhandlers.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 295
Didier Verna's Scientific Blog - page 2
About Lectures Research Software Blog
Musical Site
MySpace
Facebook

Moods Blog

Dojo Shin Kaï

RSS Feed
Thank you!

XHTML 1.0 conformant
CSS 2.0 conformant
Didier Verna's scientific blog: Lisp, Emacs, LaTeX and random stuff.

Tuesday, February 28 2017

Declt 2.1 "Jonathan Archer" is out

I'm happy to announce the release of Declt 2.1 "Jonathan Archer".

New in this release:

  • Handle recent change in SBCL's SB-INT:INFO API.
  • Handle list of contacts (strings) in ASDF systems author and maintainer slots.
  • Some backward-incompatible changes in the keyword arguments to the DECLT function.
  • More hyperlinks between systems and source files.
  • More robust system's packages collection (no more code walking).
  • More robust handling of unavailable ASDF components.
  • More robust naming of cross-references.

Find it at the usual place...

Thursday, January 26 2017

DoX 2.3 is out

I'm pleased to announce the release of DoX 2.3 (Extensions to the Doc pakcage for LaTeX).

New in this release:

** Support Doc's internal \saved@indexname command
thanks to Falk Hanisch.

Get it at the usual place.

Wednesday, January 18 2017

FiXme 4.3 is out

I'm pleased to announce the release of FiXme 4.3 (my collaborative annotation tool for LaTeX), after more than 3 years of hyper-sleep.

New in this release:

** Add a paragraph about the duplication of notes in captions
upon exchange with Kreuvf.
** Update support for the KOMA-Script classes to the tocbasic interface
reported by Dirk Surmann.
** Separate inline notes from the text they follow
suggested by Victor Porton.
** Fix potential inline layouts color leakage
reported by Victor Porton.
** Fix several bracket parsing problems
thanks to Joseph Wright and Lars Madsen.

Get it at the usual place.

Monday, November 7 2016

10th European Lisp Symposium, April 3-4 2017, Brussels, Belgium

		ELS'17 - 10th European Lisp Symposium

		   VUB - Vrije Universiteit Brussel
			       Belgium

			   April 3-4, 2017

		In co-location with <Programming> 2017
		  Sponsored by Brunner Software GmbH

	       http://www.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, Hop and so on. We
encourage everyone interested in Lisp to participate.

The 10th European Lisp Symposium invites high quality papers about
novel research results, insights and lessons learned from practical
applications and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.

Topics include but are not limited to:

- Context-, aspect-, domain-oriented and generative programming
- Macro-, reflective-, meta- and/or rule-based development approaches
- Language design and implementation
- Language integration, inter-operation and deployment
- Development methodologies, support and environments
- Educational approaches and perspectives
- Experience reports and case studies

We invite submissions in the following forms:

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

  Demonstrations: Abstracts of up to 2 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.

  The symposium will also provide slots for lightning talks, to be
  registered on-site every day.

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. The conference proceedings will be
published in the ACM Digital Library.

Submissions should be uploaded to Easy Chair, at the following address:
https://www.easychair.org/conferences/?conf=els17

Note: to help us with the review process please indicate the type of
submission by entering either "paper", "demo", or "tutorial" in the
Keywords field.


Important dates:
 -    30 Jan 2017 Submission deadline
 -    27 Feb 2017 Notification of acceptance
 -    20 Mar 2017 Final papers due
 - 03-04 Apr 2017 Symposium

Programme chair:
  Alberto Riva, University of Florida, USA

Programme committee:
  Marco Antoniotti, Università Milano Bicocca, Italy
  Marc Battyani, FractalConcept
  Theo D'Hondt, Vrije Universiteit Brussel, Belgium
  Marc Feeley, Université de Montreal, Canada
  Stelian Ionescu, Google
  Rainer Joswig, Independent Consultant, Germany
  António Menezes Leitão, Technical University of Lisbon, Portugal
  Nick Levine, RavenPack
  Henry Lieberman, MIT, USA
  Mark Tarver, Shen Programming Group
  Jay McCarthy, University of Massachusetts Lowell, USA
  Christian Queinnec, Université Pierre et Marie Curie, France
  François-René Rideau, Bridgewater Associates, USA
  Nikodemus Siivola, ZenRobotics Ltd
  Alessio Stalla, Università degli Studi di Genova, Italy

Search Keywords:

#els2017, ELS 2017, ELS '17, European Lisp Symposium 2017,
European Lisp Symposium '17, 10th ELS, 10th European Lisp Symposium,
European Lisp Conference 2017, European Lisp Conference '17

Friday, June 3 2016

Comment faire plaisir à son vieux prof

L’enseignement ne doit pas, ou ne devrait pas être juste un métier. Pour que ça marche, il faut que ce soit une vocation. Il faut aimer transmettre ce que l’on sait, il faut aimer faire le clown sur scène pour capturer et conserver l’attention d’un auditoire pas toujours à ce qu’il fait... Un enseignement réussi, pour moi, c’est tout simplement du théâtre. Il faut s’amuser, et alors les étudiants s’amuseront aussi. C’est d’ailleurs pourquoi la manière de transmettre est certainement plus importante que la matière transmise.

Les systèmes d’exploitation n’ont jamais été une matière favorite pour moi, et pourtant je me suis amusé comme un fou à en parler pendant plus de 10 ans...

Pour bien enseigner, il faut aimer transmettre ce que l’on sait, donc, mais il faut aussi avoir l’aplomb de ne pas transmettre ce que l’on ne sait pas. Croyez-moi, les étudiants ne sont pas dupes d’un prof qui brode laborieusement pour faire semblant de savoir répondre à une question. Au contraire, en répondant « je ne sais pas » quand c’est tout simplement la vérité, on continue à transmettre, mais autre chose. On transmet l’idée qu’aucun humain n’est infaillible, que l’on ne sait jamais tout sur tout. On transmet l’idée que même un prof est susceptible de passer à côté de choses importantes (quand on est enseignant-chercheur de surcroît, on ne le sait que trop bien !). On peut aussi du même coup transmettre l’idée que la curiosité est une qualité, que les questions sont au moins aussi intéressantes que les réponses, et, cerise sur le gâteau, transmettre un sentiment gratifiant de respect et de considération envers l’étudiant qui pose une question pertinente, voire pointue. On ne gagnera jamais le respect de son auditoire en faisant semblant de tout savoir. Le respect (et par voie de conséquence, l’autorité) se gagne en étant soi-même.

Mais je m’égare, car mon objectif n’était pas du tout celui-ci quand j’ai commencé à écrire ce blog... Comment faire plaisir à son vieux prof ? En fait, c’est très facile: si un prof a mis tout son coeur à faire le clown sur scène pour transmettre en s’amusant, rappelez-vous tout simplement de la pièce de théâtre, et dites-lui que vous avez aimé !

Il y a un an jour pour jour, je postais le message qui suit sur Facebook.

<style="journalistique">

Rien ne laissait présager alors du flot de commentaires chaleureux qui s’en suivirent, et de l’émotion qui me rempli à l’intérieur de moi-même...

</style>

Il n’en faut pas beaucoup pour combler son vieux prof de joie. Facebook m’a ressorti ce post aujourd’hui, et afin d’éviter qu’il se perde à nouveau dans un océan d’autres messages, j’ai décidé d’en sauvegarder précieusement la substantifique moelle ici...

   Et voilà, c'est officiel. Après plus de 10 ans de bons et loyaux services,
   je passe définitivement la main sur le cours de Systèmes d'Exploitation.
   Mais pour compenser, il y aura dès la rentrée prochaine un cours de
   Programmation Fonctionnelle enrichi, et un nouveau cours (surprise pour l'instant) !
   Au moins 13 ans, je t'avais en cours en 2001 sur cette matière.
   J'ai like, mais non je ne devrais pas...
   Ça me fait tout drôle quand même !
   Oh noooo !
   Une grande perte pour les 2018 ... Jamais ils ne connaîtront Auguste Pignard
   ou encore les processus découpés comme des saucissons ... :(
   J'essaye de recycler mes blagues les plus célèbres dans le cours de fonctionnel,
   mais faut dire que c'est beaucoup plus difficile...
   Et les enfants sur le tourniquet qui se font dégager dans le "round robin"
   Putain, mais arrêtez les mecs, vous allez me faire regretter !!
   Et les chèques de Montgallet ... Si on tue son père on devient un Démon... :'(.
   Sans oublier la méthode Bayrousienne ...
   Ça y est. JE VEUX CONTINUER CE COUUUUUUURS !!! On se marrait tellement !
   C'était l'un des rares moments de joie et de bonheur au S1 :(
   Et la mamie avec ses courses... et les centaines de mamies avec UNE course !
   Oh mon dieu j'avais oublié les pénuries :'(
   C'était un très bon cours et en effet dommage que ça s'arrête.
   Mais il y a un temps pour tout! Bonne continuation a toi Didier.

Alors mes chers anciens élèves, je vous promets de continuer à faire vivre par tous les moyens possibles, Auguste Pignard, François Bayroux, la p’tite vieille avec son paquet de biscottes, les enfants qui se font éjecter du tourniquet et les rondelles de saucisson. Je promets également aux générations futures d’inventer de nouveaux personnages rigolos, afin que transmission continue à rimer avec théâtre (ah merde, ça rime pas en fait).

Merci à tous du fond du coeur; je vous aime !

Thursday, March 24 2016

ELS 2016 registration now open!

Some people do seem to be in the starting blocks for the 9th European Lisp Symposium. One person has already booked his flight, while 3 people from Poland registered yesterday, with the web form that I was still testing. All of this, without the final programme being available, and hell, we're still missing a couple of reviews!

Thank you for the confidence! The registration page is now officially open! :-)

Wednesday, November 4 2015

ELS 2016 second invited speaker announced!

We're happy to announce our second invited speaker for the next European Lisp Symposium (May 9-10 2016, Krakow, Poland). Francis Sergeraert (Institut Fournier, Grenoble, France) will be speaking about lexical closures and complexity. All the details are already on the website...

Declt 2.0.1 "Benjamin Sisko" is out

Declt 2.0.1 "Benjamin Sisko" is out. This is a bugfix release with one internal change (a special variable was not following the earmuffs convention) and one actual bugfix (the same Texinfo anchor was generated for symbols with the same name but in different packages).

Find it at the usual place...

Tuesday, October 20 2015

ELS 2016 first invited speaker announced!

We're happy to announce our first invited speaker for the next European Lisp Symposium (May 9-10 2016, Krakow, Poland). Pierre Castéran (University of Bordeaux, France) will be speaking about program proof and synthesis with Coq. All the details are already on the website...

Wednesday, October 14 2015

In Cooperation with: ACM SIGPLAN for ELS

We're happy to announce that the European Lisp Symposium is now "In Cooperation with: ACM SIGPLAN". The proceedings will be published in the ACM Digital Library.

Monday, October 12 2015

ASDF-FLV 2.0

I've just released version 2.0 of ASDF-FLV, my ASDF extension for supporting file-local variables (ala *PACKAGE*). The code hasn't changed, but as for my other libraries, the system and package names are now prefixed with net.didierverna. ASDF-FLV is also available on GitHub now.

The reason I'm doing this now is that at least two of my other libraries are going to use it in a mandatory way, either directly or indirectly (and in turn, that's because no implementation has bothered to implement CDR #9 yet ;-).

Wednesday, October 7 2015

ELS 2016 Call for Papers

		 ELS'16 - 9th European Lisp Symposium
	       AGH University of Science and Technology
			    Kraków, Poland

			    May 9-10, 2016

	       http://www.european-lisp-symposium.org/

		Sponsored by EPITA and AGH University


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, Hop and so on. We
encourage everyone interested in Lisp to participate.

The 9th European Lisp Symposium invites high quality papers about
novel research results, insights and lessons learned from practical
applications and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.

Topics include but are not limited to:

- Context-, aspect-, domain-oriented and generative programming
- Macro-, reflective-, meta- and/or rule-based development approaches
- Language design and implementation
- Language integration, inter-operation and deployment
- Development methodologies, support and environments
- Educational approaches and perspectives
- Experience reports and case studies

We invite submissions in the following forms:

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

  Demonstrations: Abstracts of up to 2 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.

  The symposium will also provide slots for lightning talks, to be
  registered on-site every day.

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:

 -   19 Feb 2016 Submission deadline
 -   25 Mar 2016 Notification of acceptance
 -   15 Apr 2016 Early registration deadline
 -   22 Apr 2016 Final papers due
 - 9-10 May 2016 Symposium

Programme chair:
  Irène Durand, LaBRI, University of Bordeaux, France

Local chair:
  Michał Psota, Emergent Network Defense, Kraków, Poland


Programme committee:
  Antonio Leitao — INESC-ID / Instituto Superior Técnico, Universidade
    de Lisboa, Portugal
  Charlotte Heerzel — IMEC, Leuven, Belgium
  Christian Queinnec — University Pierre et Marie Curie, Paris 6, France
  Christophe Rhodes — Goldsmiths, University of London, United Kingdom
  Didier Verna  — EPITA Research and Development Laboratory, France
  Erick Gallesio — University of Nice-Sophia Antipolis, France
  François-René Rideau, Google, USA
  Giuseppe Attardi — University of Pisa, Italy
  Henry Lieberman — MIT, USA
  Kent Pitman, HyperMeta Inc., USA
  Leonie Dreschler-Fischer — University of Hamburg, Germany
  Pascal Costanza — Intel Corporation, Belgium
  Robert Strandh — University of Bordeaux, France

Search Keywords:

#els2016, ELS 2016, ELS '16, European Lisp Symposium 2016,
European Lisp Symposium '16, 9th ELS, 9th European Lisp Symposium,
European Lisp Conference 2016, European Lisp Conference '16

Monday, October 5 2015

ELS 2016 coming in hot!

We're happy to announce that the next European Lisp Symposium will be held at the AGH University of Science and Technology in Kraków, Poland, on May 9-10. Stay tuned for updates, upcoming CfP, invited speakers and lots of good stuff!

Wednesday, August 5 2015

The Return of Segfaults

I was watching the discussion between Gilad Bracha and Matthias Felleisen on gradual typing this afternoon (it's available on YouTube). This was the last event at the STOP workshop, part of ECOOP 2015 in Prague. I couldn't attend it because I was somewhere else (Curry On) at the time. The discussion is interesting, but if you go all the way, in the last 10 minutes or so, you will notice that Matthias seems to be completely obsessed with what he calls the "Return of the SegFaults".

Basically, the point is the following. Mathias dislikes the optional types in Common Lisp because it's opening the door to unsafety. Initially, any dynamic language has a sound type system (all type errors are caught; at run-time, yes, but they are caught). As soon as you introduce an optional type system ala Lisp, the compiler implementors are "pushed" to use the provided type information for optimization, hence weakening the type system and breaking soundness. It's the "return of segfauts".

Of course, I agree with that, at least on the principle. Yes, Common Lisp's weak, optional type system is an antiquated thing. However, it seems to me that Matthias is forgetting two important things on the practical level:

  1. by default in many implementations that I know, if not all of them, introducing type declarations doesn't actually break the soundness of the type system but leads to even more type checking. For example, (defun plus (a b) (+ a b)) works on every possible numerical value, but add (declare (type fixnum a b)) in there and it will suddenly stop working on anything else but integers. It's only if you require the compiler to optimize for speed at the expense of safety that you effectively weaken your type system.
  2. In practice, the risk of re-introducing segfaults in your application may be mitigated by the interactive aspect of the development (TDD made easier, simultaneous write / compile / run / test / debug phases etc.).

So my impression is that Matthias is largely exaggerating the problem, but I'm not really qualified to tell. That's why I would like to know from you guys, working with Lisp in the industry, writing large applications, lots of type annotations, and (declaim (optimize (speed 3) (safety 0) (debug 0)) (EDIT: that's exaggerated of course, I really mean breaking safety for performance reasons): how much of a problem the "return of the segfaults" really is in practice ?

As a side note, this reminds me of the dynamic vs. lexical scoping debate. Many people were and still are strongly opinionated against dynamic scoping by default. Of course, I too, at least in principle. But how dangerous dynamic scoping really is in practice (EDIT: I'm not talking about expressiveness, e.g. closures, here. Only unsafety.)? What I can tell you is that in the 15 years I was actively maintaining the XEmacs codebase, I may have run into name clashes due to dynamic scoping... twice.

Monday, July 13 2015

Declt 2.0 is out -- IMPORTANT

Declt 2.0 "Kathryn Janeway" is out. This release doesn't contain any change in functionality, yet deserves a major version upgrade since it contains 3 important changes: an infrastructure revamp (along the lines of what Clon endured not so long ago), a license switch from the GNU GPL to a BSD one, and finally a system / package name change. The prefix is now net.didierverna instead of com.dvlsoft. Do I need to apologize for this again? :-)

Find it at the usual place...

Monday, June 29 2015

Declt 1.1 is released

Hello,

as promised last week, I've just released a new version of Declt, my reference manual generator for ASDF systems. This new version (1.1) is now able to document Clon again (the documentation of which has been updated on the website).

New in this release:

  • Declt now properly handles and documents complex system and component dependencies, such as :feature :require and :version statements,
  • Declt also documents a system's :if-feature if any.

But the most important addition is the ability to document several ASDF systems in the same reference manual. More precisely, Declt now documents not only the main system but also all its subsystems. A subsystem is defined as a system on which the main one depends on in any way, and which is also part of the same distribution (under the same directory tree). Declt also understands multiple system definitions from the same .asd file.

Enjoy!

Thursday, June 25 2015

Clon 1.0b24 is released -- IMPORTANT

Hello,

I'm happy to announce the release of the next beta version of Clon, the Common Lisp / Command Line Options Nuker library. This release doesn't contain much change in terms of functionality, but it contains a lot of change in terms of infrastructure, plus very important and backward-incompatible modifications. So if you're a Clon user, please read on.

First of all, a huge revamp of the library's infrastructure (package hierarchy, ASDF and Make implementations) occurred. A large portion of this work is actually not mine, but Fare's (big thanks to him, 'cause the level of ASDF expertise required just means that I couldn't have done that by myself). The purpose here was twofold: first, remove all logic from the ASDF files (so that other system managers could be used; not sure that's actually useful right now) and second, split the library in two: the core, basic functionality and the non-standard platform-dependent bells and whistles (read: termio support). The result is that Clon now comes with 4 different ASDF systems! A setup system allows you to configure some stuff prior to loading the library, a core system allows you to load only the basic functionality and the regular one loads everything, autodetecting platform-dependent features as before. The fourth system is auxiliary and not to be used by hand. All of this is properly documented. For a code maniac like me, this new infrastructure is much more satisfactory, and I've learned a lot about ASDF less known features.

Next, I've moved the repository to Github. Please update your links! It seems that I've lost all my former tags in the process, but oh well...Only the Git repo has moved. The main Clon web page still contains the full history of tarballs, the preformatted documentation, and will continue to do so in the future.

Finally (I've kept this to myself until the last possible minute because I'm scared like hell to tell): I've changed the systems and packages names... The com.dvlsoft prefix has been replaced with net.didierverna. All other libraries of mine will eventually endure the same surgery. It's for the best, I apologize for it and I swear I will never ever do that again, EVER (fingers crossed behind my back).

So what's next? Before considering an official 1.0 release, there are two things that I want to do. First, cleanup some remaining Fixmes and some shaky error handling. Second, provide an even simpler way of using Clon than what the Quick Start chapter in the doc demonstrates. The idea is to just implement a main function with keyword arguments, and those argument magically become command-line options.

A side-effect of this work is that Declt now chokes on Clon, because some ASDF features that it doesn't understand are in use. So Declt has a couple of new challenges ahead, and you should expect a new release in the weeks to come.

Tuesday, May 19 2015

DSL 2015 Call for Papers

                        -----------------------------
                        C A L L   F O R   P A P E R S
                        -----------------------------

                        ======== DLS 2015 ===========
                             
                   11th Dynamic Languages Symposium 2015
                               October, 2015
                   Pittsburgh, Pennsylvania, United States
                          http://DLS2015.inria.fr


                        Co-located with SPLASH 2015
                      In association with ACM SIGPLAN

The 11th Dynamic Languages Symposium (DLS) at SPLASH 2015 is the
premier forum for researchers and practitioners to share knowledge and
research on dynamic languages, their implementation, and
applications. The influence of dynamic languages -- from Lisp to
Smalltalk to Python to Javascript -- on real-world practice and
research continues to grow.

DLS 2015 invites high quality papers reporting original research,
innovative contributions, or experience related to dynamic languages,
their implementation, and applications. Accepted papers will be
published in the ACM Digital Library, and freely available for 2 weeks
before and after the event itself.  Areas of interest include but are
not limited to:

    Innovative language features and implementation techniques
    Development and platform support, tools
    Interesting applications
    Domain-oriented programming
    Very late binding, dynamic composition, and run-time adaptation
    Reflection and meta-programming
    Software evolution
    Language symbiosis and multi-paradigm languages
    Dynamic optimization
    Hardware support
    Experience reports and case studies
    Educational approaches and perspectives
    Semantics of dynamic languages

== Invited Speaker ==

DLS is pleased to announce a talk by the following invited speaker:

  Eelco Visser: Declare your Language.
  

== Submissions and proceedings ==

Submissions should not have been published previously nor under review
at other events. Research papers should describe work that advances
the current state of the art. Experience papers should be of broad
interest and should describe insights gained from substantive
practical applications. The program committee will evaluate each
contributed paper based on its relevance, significance, clarity,
length, and originality.

Papers are to be submitted electronically at
http://www.easychair.org/conferences?conf=dls15 in PDF
format. Submissions must be in the ACM format (see
http://www.sigplan.org/authorInformation.htm) and not exceed 12
pages. Authors are reminded that brevity is a virtue.

DLS 2015 will run a two-phase reviewing process to help authors make
their final papers the best that they can be. After the first round of
reviews, papers will be rejected, conditionally accepted, or
unconditionally accepted. Conditionally accepted papers will be given
a list of issues raised by reviewers. Authors will then submit a
revised version of the paper with a cover letter explaining how they
have or why they have not addressed these issues. The reviewers will
then consider the cover letter and revised paper and recommend final
acceptance or rejection.

Accepted papers will be published in the ACM Digital Library.
Important dates

    Abstract Submissions: Sun 7 Jun 2015
    Full Submissions: Sun 15 Jun 2015
    First phase notification: Mon 27 Jul 
    Revisions due: Mon 3 Aug
    Final notification: Mon 17 Aug
    Camera ready: Fri 21 21 Aug

Program chair

    Manuel Serrano, Inria Sophia-Antipolis,
        dls15@easychair.org

Program committee

    Carl Friedrich Bolz, DE
    William R. Cook, UTexas, USA
    Jonathan Edwards, MIT, USA
    John Field, Google, USA
    Matt Flatt, USA
    Elisa Gonzalez Boix, Vrije Universiteit, BE
    Robert Hirschfeld, Hasso-Plattner-Institut Potsdam, DE
    Benjamin Livshits, Microsoft, USA
    Crista Lopes, UC Irvine, USA
    Kevin Millikin, Google, DN
    James Noble, Victoria University of Wellington, NZ
    Manuel Serrano, Inria, FR (General chair)
    Didier Verna, EPITA, FR
    Jan Vitek, Purdue, USA
    Joe Politz, Brown University, USA
    Olivier Tardieu, IBM, USA

Monday, January 19 2015

ELS 2015 programme committee members announced

The programme committee members for this year's European Lisp Symposium has just been announced. Ladies and gentlemen, please welcome, on the keyboards...

  • Sacha Chua — Toronto, Canada
  • Edmund Weitz — University of Applied Sciences, Hamburg, Germany
  • Rainer Joswig — Hamburg, Germany
  • Henry Lieberman — MIT, USA
  • Matthew Flatt — University of Utah, USA
  • Christian Queinnec — University Pierre et Marie Curie, Paris 6, France
  • Giuseppe Attardi — University of Pisa, Italy
  • Marc Feeley — University of Montreal, Canada
  • Stephen Eglen — University of Cambridge, UK
  • Robert Strandh — University of Bordeaux, France
  • Nick Levine — RavenPack, Spain

Wednesday, January 14 2015

Insider Threat Detection at Haystax

Reported to me by Craig Norvell: Haystax appears to have some interesting Lisp projects in the works. Combining Lisp, Prolog, RDF (AllegroGraph), and a BBN for insider threat detection solutions.

From their website:

Haystax's predictive models are continuously updated based on the prevailing threat environment making it highly suitable for both detection and continuous evaluation of threats. These unique models go beyond traditional web and business intelligence to enable organizations to achieve contextual real-time situational awareness by fusing all operationally relevant information - private, public, video and live feeds - into consolidated views to show patterns and identify threats that are usually buried in too much noise or not placed in proper context.

Here is a Technical paper, and the STIDS Conference website. If you are interested, it looks like you can also attend a webcast on January 21st.

- page 2 of 9 -

French Flag English Flag
Copyright (C) 2008 -- 2018 Didier Verna didier@lrde.epita.fr