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)

Why the iPhone Can Be a Hard Sell

In order to purchase an iPhone in the USA you need to sign up for a 2 year contract with a cellular phone vendor. That seems like a relatively fair deal: Apple gets their money, the cell phone vendor gets their money, and you get an iPhone. Part of the deal is that the phone is locked to this particular cell phone vendor; this means that if you want to put a SIM card in the phone and actually make calls with it, then it will only work with this one vendor. This seems unfair but it is still acceptable; Apple makes the rules and we play by them. There is one more catch, though; the only way that you can ever upgrade the software on your iPhone is if you have an active SIM card with the cell phone vendor.
The implication here is that if you want to keep using your iPhone past the two year contract, where using it means keeping it up to date with the most current operating system, then you must continue your contract with said cell phone vendor! This is unacceptable. You might wonder why you would bother to keep using your iPhone after the contract expires, and you should. Well there are two very good reasons:

  1. You bought a new model if iPhone and you want to use your old one for music only (or perhaps your spouse/partner/children/friends want to use it).
  2. You are using your old phone for development purposes.

Ideally, the iPhone device would function like most other computers and allow you to install future software updates on them without interference. Even if it were locked down to Apple software only that would be totally acceptable. The current model really makes me cringe when I think about the money you would have to waste just to use a 2 year old device; I guess this explains why so many old iPhones are always up for sale on the sales boards. One other thing to note, if said cell phone vendor is teleported off of the Earth by aliens, then you are left with a multi-thousand dollar cell phone that will not work; since it only works with said vendor. Of course, Apple would have to deal with this, but what if Apple is teleported off of the Earth? Again, you are left with a useless multi-thousand dollar cell phone that will not work. What a rip off.
The reason why the iPhone can be a hard sell is that despite the fact that they are selling it; you can never really buy it. It is really a leased device; if you want to maintain it you need a cell phone contract. Fortunately for us there is an amazing device that is just as powerful; the iPod Touch!
Note: People report that you can “activate” your phone using any active SIM car from said vendor; but this is not stated anywhere officially and can’t be counted on in the future.
Note: Here is an excerpt from a conversation I had with the cell phone vendor’s support where I was trying to learn more about how the iPhone works with them.

Grant: If AT&T goes out of business, I would be left with a cell phone
that I could not use right?
Rhonda: Apple and [vendor] have an agreement to have [vendor] be the exclusive
carrier for their device. If something should happen to [vendor] and we no
longer provide service, I am sure that Apple would move the devices to
a carrier who would. I can not see that happening but I am sure it
would be worked out.
Grant: What if Apple goes out of business?
Rhonda: Currently the iPhone is programmed for use with [vendor]. The
iPhone software is updated and maintained thru iTunes so I would not
be concerned about having a device that couldn't be used.
---
Grant: Re #3, I am confused about what it means to use and activate
and update the device and stuff.
Rhonda: The iPhone does not function without Active service.