User loginNavigation |
Object-FunctionalObjects to Unify Type Classes and GADTsObjects to Unify Type Classes and GADTs, by Bruno C. d. S. Oliveira and Martin Sulzmann:
A very interesting paper on generalizing and unifying type classes and GADTs. Classes are now first-class values, resulting in a language that resembles a traditional, albeit more elegant, object-oriented language, and which supports a form of first-class "lightweight modules". The language supports the traditional use of implicit type class dispatch, but also supports explicit dispatch, unlike Haskell. The authors suggest this could eliminate much of the duplication in the Haskell standard library of functions that take a type class or an explicit function, eg. insert/insertBy and sort/sortBy, although some syntactic sugar is needed to make this more concise. Classes are open to extension by default, although a class can also be explicitly specified as "sealed", in which case extension is forbidden and you can pattern match on the cases. Furthermore, GADTs can now also carry methods, thus introducing dispatch to algebraic types. This fusion does not itself solve the expression problem, though it does ease the burden through the first-class support of both types of extension. You can see the Scala influences here. I found this paper via the Haskell sub-reddit, which also links to a set of slides. The authors acknowledge Scala as an influence, and as future work, suggest extensions like type families and to support more module-like features, such as nesting and opaque types. By naasking at 2010-02-22 21:51 | Functional | Object-Functional | OOP | Theory | Type Theory | 15 comments | other blogs | 3628 reads
ActorScript(TM): Industrial strength integration of local and nonlocal concurrency for Client-cloud Computing
ActorScript(TM): Industrial strength integration of local and nonlocal concurrency for Client-cloud Computing
by Carl Hewitt, 2009.
ActorScript is based on a mathematical model of computation that treats “Actors” as the universal primitives of concurrent digital computation [Hewitt, Bishop, and Steiger 1973; Hewitt 1977]. Actors been used both as a framework for a theoretical understanding of concurrency, and as the theoretical basis for several practical implementations of concurrent systems.I hope I do not need to introduce Carl Hewitt or his Actor model. This paper is a modern attempt to expose that model via a practical PL. By Andris Birkmanis at 2009-12-14 13:47 | Logic/Declarative | Object-Functional | 2 comments | other blogs | 3203 reads
Factor MixinsMixins, a very interesting post from Slava Pestov's Factor blog.
That's pretty much what I want from an object-functional language. By msimoni at 2009-06-18 04:00 | Object-Functional | Software Engineering | 11 comments | other blogs | 4907 reads
Capabilities for External UniquenessPhilipp Haller and Martin Odersky have submitted Capabilities for External Uniqueness to OOPSLA'09.
A prototype plugin for the Scala compiler can be found on the same page. By James Iry at 2009-04-09 16:26 | Object-Functional | Parallel/Distributed | Type Theory | 3 comments | other blogs | 3790 reads
Generics of a Higher KindGenerics of a Higher Kind. Adriaan Moors, Frank Piessens, and Martin Odersky.
Many readers will already be aware that Scala has added support for higher-kinded generics, related to Haskell's type constructor classes. I believe Scala is the first language to provide this capability in an OO "generics" framework. This ECOOP submission presents this work, with many practical examples. (Consider this penance for my last post...) By Matt Hellige at 2007-12-20 19:54 | Object-Functional | Scala | 3 comments | other blogs | 7980 reads
OCaml Light: A Formal Semantics For a Substantial Subset of the Objective Caml LanguageOCaml Light: a formal semantics for a substantial subset of the Objective Caml language.
From a team including Peter Sewell (Acute, HashCaml, Ott). I continue to believe that things are heating up nicely in mechanized metatheory, which, in the multicore/multiprocessor world in which we now live, is extremely good news. By Paul Snively at 2007-11-26 18:33 | Functional | General | Implementation | Object-Functional | Semantics | Theory | Type Theory | 2 comments | other blogs | 3963 reads
Metaprogramming with TraitsMetaprogramming with Traits, Aaron Turon and John Reppy. ECOOP 2007
This paper explains how to scratch an itch I've had for a long, long time -- uniformly generating groups of fields and methods, including computation of the field/method names. Something like this would be quite useful in an ML-like language's module system, too. By neelk at 2007-08-13 15:55 | Object-Functional | Type Theory | 14 comments | other blogs | 4759 reads
Python in Pardus LinuxPardus Linux is a case study of functional Python. It's a Linux distribution built from semi-scratch, the main focii being package management and init subsystems - places where C and shell script make poor sense. A funded group has finally tackled these issues.
A package management software deals a lot with sets, lists, and dependency graphs....We have extensively used functional operators (map, filter, reduce) and list comprehensions, even metaclasses are used in a few places. Someone nudge Guido. Scheme or Oz might have been the better choice, but give them credit. They admit frankly to social acceptance issues. By Mark Evans at 2007-06-19 22:55 | Logic/Declarative | Object-Functional | Python | XML | 8 comments | other blogs | 6510 reads
Combining Total and Ad Hoc Extensible Pattern Matching in a Lightweight Language ExtensionCombining Total and Ad Hoc Extensible Pattern Matching in a Lightweight Language Extension. Don Syme, Gregory Neverov and James Margetson.
Quite related to the recent discussions of the relationships between libraries, frameworks and language features. By Ehud Lamm at 2007-05-03 10:40 | Object-Functional | Software Engineering | Type Theory | 3 comments | other blogs | 4033 reads
A Real-World Use of Lift, a Scala Web Application Framework
I promise that "Dave Pollak" is not a pseudonym for "Paul Snively." Update: I guess the self-deprecating humor hasn't worked, some 400+ reads later. Although the caveat that Dave offers about trying to objectively compare his own framework with Ruby on Rails is well-taken, I think that this nevertheless is an important marker in applying a very PLT-driven language and framework, Scala and lift, to a very realistic application, especially given that it's a rewrite from a currently-popular language and framework, Ruby and Rails. We admitted proponents of static typing and weird languages are constantly being asked for this sort of thing, and while it's doubtful that this adds anything to the PLT discussion per se—at least until we have a chance to dig into lift and see how Scala's design uniquely supports it—I thought people might find the Scala connection worth commenting on. By Paul Snively at 2007-03-22 16:06 | Object-Functional | Scala | Software Engineering | XML | 36 comments | other blogs | 38816 reads
|
Browse archivesActive forum topics |