LtU Forum

Applied Type System

Hongwei Xi, creator of DML and Xanadu, the ad hoc dependently typed programming languages, is developing ATS. It has several imporvemens over previous work, including object orientation and safe pointer arithmetic.

The Epigram Blog

Epigram, a dependently typed PL, has a blog cleverly titled Epilogue.

Saunders Mac Lane 1909-2005

Since I know there are many CT enthusiasts here at LtU, I thought I would share news of the passing of Saunders Mac Lane, one of the giants of the field, and of modern mathematics in general.

Here is an obituary.

More sites like Lambda

Although I really just lurk I have to say I really like what this site is doing - providing a modern web community that focuses on certain areas of academic research and unites to some degree various academics, professionals, interested students and hobbyists. Provides interesting papers, references, news and discussion.

Perhaps this is just a symptom of the fact that computer scientists are likely to be a lot more clued up about the web and its uses than your average academic - although hopefully this will change and these sorts of things will become widespread.

What I'm asking is - does anyone know of any other sites doing something similar for other academic areas? I'd be particularly interested in any mathematics-related sites with a similar ethos, although any areas really!

Best route for new language to be self-hosting


Does any particular language stand out above the crowd to be a host in which to develop general purpose languages?


I am interested because of the development of Perl6 using Haskell as a host by Autrijus (See pugs.) I expect that any of OCaml, Haskell, Scheme or Lisp would be better than using C <grin> to develop a host, but is one of those (or something else entirely) likely to be significantly better than anything else?


I expect that a good host language:

  • Has an active, friendly community.
  • Is super productive (for a skilled developer who has experience in host language).
  • Has good libraries. Especially language related libraries for say parser generators. Possibly part of language.
  • Is fast enough. Self-hosting may come after the initial childhood and growing pains of new language, so nice if the host language can be used for some time.
  • Is relatively stable. (Not hot off the press, not one-man-band, time spent learning it is usable in future, unlikely to be a pure research language)
  • Is mostly learnable in a few months by a bright developer (Hopefully that is me! My work has always been with imperative languages, but I am certain I can be quickly seduced by functional programming...).
  • Is open source (No vendor lock-in, ability to share with other developers).

I hope this is the perfect forum to get an answer to this personally vexing question!


Morris


PS: For those that wonder at the need for self-hosting (rather than just keep another language under the hood):

  • I think that to build a community of developers for any new language wants ownership of ‘their language’ that is ‘better than other languages’. You can’t have that without self-hosting (note: C is great as a host, but not great for prototyping!).
  • Reduce dependencies

PPS: I do think the world needs another language! Of course I am preaching to the converted here.

GADTs + Extensible Kinds = Dependent Programming

Tim Sheard claims that usual functional programming methods (plus two new features found in his new programming language Ωmega) take care of some of the needs dependent types are often thrown at.

Existential Types == Guarded Types

In the GHC Users' Guide:
Notice that GADTs generalise existential types.

And Martin Sulzmann gives us A Systematic Translation of Guarded Recursive Data Types to Existential Types

Let's make a programming language!

Since LtU members are so knowledgable on programming languages, why don't we design the (ultimate) programming language? let's all post our suggestions here to make a lean-and-mean programming language. It would be a experiment filled with fun. I can make the compiler, if a 'standard' comes out of this. I apologise if this has been proposed before (and obviously failed, since there is nothing out).

My initial suggestions are two:

1) put as less as possible into the compiler. Make the language so versatile that all high-level concepts can be easily done with the core constructs.

2) the lowest level of the language should map directly to the hardware, i.e. must be some kind of assembly, in order to allow for very low-level programming. But the language should be versatile enough as to provide the means for doing layers upon layers of abstraction, so one chooses the appropriate level of abstraction for each particular type of application.

Call for Papers: ACM Symposium on Dynamic Languages

ACM Symposium on Dynamic Languages
October 18, 2005, San Diego, California
(co-located with OOPSLA'05)
URL: http://decomp.ulb.ac.be:8082/events/dls05/

Currently, the dynamic language community is fragmented, split over a multitude of paradigms (from functional over logic to object-oriented), languages and syntaxes. This fragmentation severely hinders research as well as acceptance, and results in either language wars or, even worse, language ignorance. The goal of this symposium is to provide a highly visible, international forum for researchers working on dynamic features and languages. We explicitly invite submissions from all kinds of paradigms (object-oriented, functional, logic, ...), as can be seen from the structure of the program committee.

DLS'05 invites the submission of technical papers presenting research results or experience in all areas related to dynamic languages or dynamic language concepts. Research papers should describe work that advances the current state of the art. Experience reports should be of broad interest and should describe insights gained from the practical application of dynamic languages that are of use to other researchers and practitioners. The program committee will evaluate each contributed research and experience paper based on its relevance, significance, clarity, originality, and correctness.

Areas of interests include, but are not limited to:
-closures
-delegation
-actors, active objects
-constraint systems
-mixins and traits
-reflection and meta-programming
-aspect-oriented programming in dynamic environments
-language symbiosis and multi-paradigm languages
-experience reports on successful application of dynamic languages

Papers will be published in the ACM Digital Library.

More information (submission guidelines, dates, program committee) can be found on http://decomp.ulb.ac.be:8082/events/dls05/

What makes Centum a bad language?

Centum is a basically functional language with some object oriented features. While I and a few other people enjoy the language it has not had any real momentum in terms of building a community. For example I thought that Centum might appeal to some of the people who liked LISP, since they share some ideas. One explanation that has occurred to me is that the language has obvious flaws (besides the initial implementation being on Windows). However I have not received any feedback as to what makes this language uninteresting/unwanted. Hopefully you kind folks can help me out a bit.

XML feed