Coding for Humans: Annotated Code View in an IDE

Here is a post where Jordan explains what he wants to accomplish in the DrScheme IDE; basically he wants to be able to customize code in the IDE by annotating it, allow the annotations to be displayed only, while having the code run in mzscheme as expected.
Here is a screencast that he made which demonstrates his goal.
Very interesting!
(via plt)

A Dan Weinreb talk about enterprise software, Lisp, and Scheme

Here is a good talk by Dan Weinreb about enterprise software, Lisp, and Scheme. Here are some parts that I found interesting:

  • “There must be some really hard problem that we can profitably solve”: Generally good advice from a group of PhD students looking to apply their expertise who would go on to start up Dan’s employer.
  • “Sometimes syntax does matter”: Indeed!
  • They use Clozure CL for their new app; and SBCL for their old one.
  • “[We] provison for static type checking: we have macros to do checking, and also for defining functions that are typed. We use them at major module interfaces.” Dan’s reply when asked if they use static type checking anywhere in the system. This is how PLT’s contract system works.
  • The ILC ’09 videos will get posted; seriously.
  • PLT Scheme kudos were given.
  • The future of Lisp is unifying the efforts of Common Lisp and Scheme.
  • That unification might very well come on the JVM (good libs, large investment in runtime).

Still wondering why only five people showed up for this talk (excluding Norvig).
(via tc-lispers)

What Is Computational Science

Computational science (or scientific computing) is the field of study concerned with constructing mathematical models and numerical solution techniques and using computers to analyse and solve scientific, social scientific and engineering problems. In practical use, it is typically the application of computer simulation and other forms of computation to problems in various scientific disciplines.

Wikipedia

R7RS planning has begun

Here is the announcement and here are the details. Depending on how you read the materials, you will either think that this is a perfect solution that will keep everyone happy without forking the language, or you will think that the language is getting forked, followed by varying levels of hope about how said forking will turn out. Here are some highlights:

From “Position statement on Scheme language evolution”

Real-world success matters: it is the means by which vibrant user communities grow; it is the social context that generates the resources that keep languages alive and thriving: money, people, “how to” books, implementations, software libraries, and so on and so on.

An irony is that research by the Scheme community has led to the development of two key technologies that should enable great portability: hygienic macros and module systems that include macro definitions in their managed namespaces. We aim to realize that promise.

From “Draft charter for working group 1”

In a nutshell [the “small”] language should remain true to the language design precepts found in the RnRS introduction (“Programming languages should be designed not by piling feature on top of feature, …”).

If the Steering Committee concludes that specifications of the small language are not supported by at least 90% of a representative electorate, then those specifications will not be approved.

[The working group will produce] a draft suitable for final approval after 18 months

From “Draft charter for working group 2: the “large” language working group”

This large language should address the practical needs of mainstream software development.

If the Steering Committee concludes that specifications of the large language are not supported by at least 75% of a representative electorate, then those specifications will not be approved.

[The working group will produce] a draft suitable for final approval after 24 months

Although their justification for this approach, that small Scheme is for educators and big Scheme is for real-world work, is flawed, their approach will probably make everyone happy in the end. We’ll know in two years.

Google Android's Teaching Platform Built on Scheme

[W]e hope to do the following:
* Make mobile application development accessible to anyone.
* Enhance introductory learning experiences in computing through the vehicle of Android’s open platform.
* Encourage a community of faculty and students to share material and ideas for teaching and exploring.

Part of our development environment is a visual programming language similar to Scratch. The visual language provides a drag-and-drop interface for assembling procedures and event handlers that manipulate high-level components of Android-based phones.

We parse the visual programming language into an S-expression intermediate language, which is a domain-specific language expressed as a set of Scheme macros, along with a Scheme runtime library.

(via Google[2] via Google[1] via PLT)