User loginNavigation |
What needs to be done?So suppose like many here (?) you are a believer in the promise of functional programming. And suppose more and more FP features and FP languages are becoming mainstream. Does this mean nothing remains to be done? Certainly not! Among the recurring topics that come up for discussion here are support for concurrency, utilizing GPUs, FRP, dependent typing, fine grained control of effects, native support for web programming and the web stack of technologies and protocols and more. So what would be your priority list? What would be the first article/web site you'd want the LtU to pay attention to, in order to see the importance of what you deem most important for the future of PLs? Who would be your ideal guest for the proverbial dinner? And what would you ask him (or her!)? Added clarification:: As can be understood from the discussion below, this message has nothing to do with FP in particular. That's just the teaser. The questions in the second paragraph are entirely general. The Trouble with ErlangTony Arcieri, author of the Reia Ruby-like language for the Erlang BEAM platform, wrote a piece in July, The Trouble with Erlang (or Erlang is a ghetto), bringing together a long laundry list of complaints about Erlang and the concepts behind it, and arguing at the end that Clojure now provides a better basis for parallel programming in practice. While the complaints include many points about syntax, data types, and the like, the heart of the critique is two-fold: first, that Erlang has terrible problems managing memory and does not scale as advertised, and that these failures partly follow from "Erlang hat[ing] state. It especially hates shared state." He points to the Goetz and Click argument in Concurrency Revolution From a Hardware Perspective (2010) that local state is compatible with the Actors model. He further argues that SSA as it is used in Erlang is less safe than local state. By Charles Stewart at 2011-09-09 08:50 | Critiques | Parallel/Distributed | 32 comments | other blogs | 31393 reads
the gnu extension languageI found this to be an entertaining and interesting read: the gnu extension language, by Andy Wingo, maintainer of Guile.
The two features of Guile he highlights are macros ("With most languages, either you have pattern matching, because Joe Armstrong put it there, or you don't") and delimited continuations. The accompanying slides, The User in the Loop, for the 2011 GNU Hackers Meeting are also noteworthy, because they are not as dry as usual PL fare - instead Wingo revives the spirit of the Portland Pattern Repository:
[Update: Video now available.] [ANN] FP Day 2011 - October 14th. Cambridge, UK.Announcing FP Day 2011 a new 1 day Functional Programming event. The event covers the practical application of FP in Haskell, F# and Clojure. Keynote speakers are Simon-Peyton-Jones and Don Syme. Hands-on beginner sessions available for the above languages. Booking now open. FP Day 2011 is organised by Software Acumen and supported by Software East. ClusterkenSome day I would like to have the time and access to experiment with Clusterken, an offshoot of Waterken, since they all purport to make distributed fu easier to grok and implement, and safer to boot.
By raould at 2011-08-26 22:59 | LtU Forum | login or register to post comments | other blogs | 10022 reads
OpaOpa is a new member in the family of languages aiming to make web programming transparent by automatically generating client-side Javascript and handling communication and session control. Opa is written in OCaml. A hierarchical database and web server are integrated with the language. The distribution model is based on a notion of a session, a construct roughly comparable to process definitions in the join-calculus or to concurrent objects in a number of formalisms. A good place to start is here. And here you can find several example programs with accompanying source code. By Ehud Lamm at 2011-08-25 16:29 | Functional | Parallel/Distributed | 66 comments | other blogs | 107313 reads
Scott Meyers, Andrei Alexandrescu and Herb Sutter: C++ and Beyond (D)I realize that many of you here aren't big fans of big languages like C++, but perhaps D is more palatable to you? Andrei Alexandrescu answers the question "Why D (not the name, but why make D, what problems does it solve that C++ can't, etc)?". This is generally a really good discussion among three titans of the native(C++ and D) programming world -> Herb Sutter, Scott Meyers and Andrei Alexandrescu. They also dig into language design principles/processes and discuss some of the trade offs (theory versus pragmatics) and unforced errors that human language designers all make. Tune in if you have the time. It's worth it, in my opinion. Charles By Charles Torre at 2011-08-24 22:38 | LtU Forum | login or register to post comments | other blogs | 14543 reads
A Monadic Framework for Delimited ContinuationsA Monadic Framework for Delimited Continuations (PDF), R. Kent Dybvig, Simon Peyton Jones, Amr Sabry. TR, June 2005.
A fascinating paper about delimited control. I'm very much a newbie to delimited control, but this paper has been enormously helpful - despite the title. ;) The basic idea of the paper is to represent the execution context as a sequence containing prompts (control delimiters) and the (partial) continuations between prompts. This model is formalized with an operational semantics, which was insightful even though it's the first operational semantics I've studied. The authors then present an implementation of the model in terms of call/cc in Scheme. The basic idea here is to always perform user code after aborting to a context near the bottom of the stack, just above a call to an underflow function - this means that even though we use undelimited call/cc, we only ever capture our (small, partial) execution context. The whole execution context (the "metacontinuation") is maintained as a sequence data structure in a global variable (basically, a list containing prompts and Scheme continuations). The underflow function destructures the metacontinuation, and executes (returns to) the partial continuations stored in it. Pushing a prompt adds a delimiter to the metacontinuation, capturing a delimited continuation splits the metacontinuation at a delimiter, and composing a continuation appends to the metacontinuation. I haven't even gotten to the later parts of the paper yet, but this model and the Scheme implementation alone is worth a look. (The paper seems to be a reworked version of A Monadic Framework for Subcontinuations, discussed previously.) By Manuel J. Simoni at 2011-08-24 18:00 | Implementation | Theory | 3 comments | other blogs | 12861 reads
Programming and ScalingProgramming and Scaling, a one-hour lecture by Alan Kay at his finest (and that's saying something!) Some of my favorite quotes:
And there are some other nice ideas in there: "Model-T-Shirt Programming" - software the definition of which fits on a T-shirt. And imagining source code sizes in terms of books: 20,000 LOC = a 400-page book. A million LOC = a stack of books one meter high. (Windows Vista: a 140m stack of books.) Note: this a Flash video, other formats are available. By Manuel J. Simoni at 2011-08-06 15:47 | Critiques | Fun | History | Teaching & Learning | 89 comments | other blogs | 66785 reads
ECOOP 2011 slidesThe slides from ECOOP keynotes (including Craig Chambers' and Alan Kay's) as well as the summer school talks are now available. |
Browse archives
Active forum topics |
Recent comments
22 weeks 3 days ago
22 weeks 3 days ago
22 weeks 3 days ago
44 weeks 4 days ago
48 weeks 6 days ago
50 weeks 3 days ago
50 weeks 3 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago