summaryrefslogtreecommitdiff
path: root/artima
diff options
context:
space:
mode:
authormichele.simionato <devnull@localhost>2009-08-21 04:27:31 +0000
committermichele.simionato <devnull@localhost>2009-08-21 04:27:31 +0000
commit4d952eeb24f74ab49b06d5c7d03c05897dd8e258 (patch)
treeb8528081b94d42efd7a2dcd9eff894f489ac3a5a /artima
parentb07f7636cf14d9512ddb79057e592ae9583952db (diff)
downloadmicheles-4d952eeb24f74ab49b06d5c7d03c05897dd8e258.tar.gz
Post about my summer 2009
Diffstat (limited to 'artima')
-rw-r--r--artima/what-i-am-doing.txt106
1 files changed, 106 insertions, 0 deletions
diff --git a/artima/what-i-am-doing.txt b/artima/what-i-am-doing.txt
new file mode 100644
index 0000000..7fea6e7
--- /dev/null
+++ b/artima/what-i-am-doing.txt
@@ -0,0 +1,106 @@
+In the latest couple of months I have been quite silent on Artima;
+actually, I have only published `episode #30`_ of my Adventures which
+was originally written a long time ago.
+The main reason is the Italian summer: with a temperature of 35 degrees
+Celsius (95 Fahrenheit) I do not feel very motivated to write and I
+spend my weekends on the beach. Also, I spent a couple of weeks of
+vacation in Montreal in July (and it was really cool there, in the
+literal sense of the world!). Plus, I discovered
+`A Song of Ice and Fire`_ by George R. R. Martin. I bought all the
+currently published volumes (in the French edition, which means
+12 volumes for a total of 5,000+ pages) and I read of all them
+in four weeks. I used to read a lot when I was young, but in the
+latest ten years or so I have nearly stopped reading fiction: I had already
+read all the classics and I could not find recent things worth reading.
+But Martin is good.
+
+I have not been completely lazy this summer, and I have found the
+time to upload a new release of my `decorator module`_ to PyPI_.
+Actually, I had to upload it twice. My first attempt (release 3.1.0)
+was accidentally breaking Pylons. The problem was immediately
+reported (thanks to Gabriel de Perthuis!) and fixed the day after.
+You are encouraged to download release 3.1.1 and to forget about
+3.1.0. There are various internal changes but not many user level
+changes, except the addition of a new
+convenient API to dynamically generate functions (``FunctionMaker.create``).
+This is mostly intended for framework authors. For instance in SQLAlchemy_
+there is a machinery to instrument classes, which involves adding
+properties corresponding to database columns and also redefining
+the constructor ``__init__``, by preserving the original signature.
+This is done without using the decorator module, but using the same
+techniques. If you want to play this kind of games,
+``FunctionMaker.create`` will simplify your life a lot. You can find
+examples of use in the documentation, so I will not insist on it here.
+Instead, I will comment on an user request I had two months ago
+from David Laban. He wanted an easy to define decorator factories.
+I have thought a lot about that - I had the same request before,
+I implemented a solution in version 2.3 and removed it in version 3.0 -
+but at the end I have decided *not* to include the feature.
+The reasons are that I want to keep the API small and that I do not want
+to add even mor magic. Moreover, I am strong believer in the "there must
+be only one way" mantra. Finally, it is not difficult to define decorator
+factories with the current functionality anyway. So, I have added
+to the documentation a recipe (actually a one-liner) to implement
+decorator factories on top of the pre-existing functionality.
+
+What about the `Adventures of a Pythonista in Schemeland`_? I am taking
+a pause from them for a while, to recover my energy. My blog never
+wanted to be Scheme-only. I have updated the table of contents and uploaded
+the `full PDF version`_ on my site. This is the good moment to re-read
+the Adventures if you have lost the pace and need some time to digest all
+the material I have published until now. I must also think about how
+to continue the series. A few weeks ago Kent Dybvig released the fourth
+edition of `The Scheme Programming Language`_ which is updated to
+R6RS Scheme. I have to read to book, since it makes no sense for me
+to talk about things which are already covered there.
+Anyway, I still have a lot of things to write and soon or later I will
+resume the publications (hopefully with a more clement weather).
+BTW, there are important news in the Scheme world: just today the
+Steering Committee for the next version of Scheme (R7RS) made
+a statement about their vision for the Scheme language evolution.
+You can find it here_. A few relevant excerpts tell everything:
+
+* *A programming language stays healthy and vibrant by virtue of being
+ used. When it comes to using Scheme, however, the Scheme community has
+ rarely missed an opportunity to miss an opportunity*
+
+* *We believe that one primary purpose of a programming language is to program*
+
+* *Scheme has the unhappy distinction of being the world's most
+ unportable programming language*
+
+* *We believe the diversity of constituencies justifies the design of
+ two separate but compatible languages, which we will (for now) call
+ "small" and "large" Scheme*
+
+* *Small Scheme*
+
+ - *Constituencies: educators, casual implementors, researchers,
+ embedded languages, "50-page" purists*
+ - *Think "IEEE/R5RS brought up to the current date."*
+ - *~ 90% supermajority to be required for final ratification*
+
+* Large Scheme
+
+ - *Constituencies: programmers, implementors*
+ - *Think "R6RS with a happier outcome."*
+ - *~ 75% supermajority to be required for final ratification*
+
+All this makes a lot of sense to me. I hope the editors will make a better
+job than what was done with the R6RS. Still, I am always skeptical when
+it comes to languages designed by committed. See the following worlds from
+Marc Feeley when we spoke in person at the `EuroLisp Symposium`_ in Milan:
+
+ *I do not believe in languages designed by committee*
+ [Marc Feeley, appointed member of the R7RS Scheme committee]
+
+.. _episode #30: http://www.artima.com/weblogs/viewpost.jsp?thread=261364
+.. _A Song of Ice and Fire: http://en.wikipedia.org/wiki/A_Song_of_Ice_and_Fire
+.. _decorator module: http://pypi.python.org/pypi/decorator
+.. _PyPI: http://pypi.python.org/pypi
+.. _Adventures of a Pythonista in Schemeland: http://www.artima.com/weblogs/viewpost.jsp?thread=251474
+.. _full PDF version: http://www.phyast.pitt.edu/~micheles/scheme/TheAdventuresofaPythonistainSchemeland.pdf
+.. _The Scheme Programming Language: http://www.scheme.com/tspl4/
+.. _here: http://www.scheme-reports.org/2009/position-statement.html
+.. _EuroLisp Symposium: http://www.artima.com/weblogs/viewpost.jsp?thread=259505
+.. _SQLAlchemy: http://www.sqlalchemy.org/