archives

Lisp Beginer seeking for advice

Dear Everyone,

I have been a fan for lisp for a while. But I would like to know what is the most preferable way to start learning Lisp. What is the most preferable environment setting for learning lisp? And before starting to learn Common Lisp,is it good to learn MIT's scheme beforehand?

Thanks for your advice!

Marcus

Overloading : Why do some languages leave it out?

In some ML style languages there is no way for a function to be overloaded. Why is this? I have to assume it is related to the type inference engine.

set-based 3-tier Client Server programming

The SQL based database servers have the facility to define dynamic views based on a SQL query. Can we define such dynamic sets in Haskell that are fully specified by the membership criteria? If we have an GUI engine that will handle the display and update to dynamic sets, then we can write the Client Server application using declaratations only. The application logic, GUI and persistence all can work using the same model and without the need to explicitly specify the IO details between various tiers.
Ashish's Niti

Software Extension and Integration with Type Classes

Software Extension and Integration with Type Classes. Ralf Lämmel and Klaus Ostermann.

The abilities to extend a software module and to integrate a software module into an existing software system without changing existing source code are fundamental challenges in software engineering and programming-language design. We show that these challenges can be tackled, at the level of language expressiveness, by using the language concept of type classes, as it is available in the functional programming language Haskell. A detailed comparison with related work shows that type classes provide a powerful framework in which solutions to known software extension and integration problems can be provided. We also pinpoint several limitations of type classes in this context.

We've had a number of papers lately with solutions to the expression problem and related extensibility challenges, using various techniques in various languages. Here's one exploring the expressiveness of Haskell's type classes.

It's extremely instructive to compare different approaches to these now-standard problems, and in fact I wonder whether this would make an ineresting approach to a programming languages survey course: In CS 3xx we explore and compare a number of programming languages by exploring idiomatic solutions to standard software engineering challenges.

The authors are looking for comments on this draft for a few more days.