## CUFP 2010

The final schedule for CUFP 2010 is up and registration is now available.

In my highly biased opinion (I'm one of the chairs of the program committee this year), CUFP is going to be fantastic. There's a great set of hand-picked invited tutorials on the first day, and a great collection of short talks for the second day. We're also going to organize a set of informal BOFs on a couple of evenings, but the processing of setting that up is still going forward.

I've attached the official call for participation below. I hope to see many of you in Baltimore!

   Commercial Users of Functional Programming Workshop
(CUFP) 2010

Call for Participation

Co-located with ICFP 2010

_________________________________________________________

1 - 2 October 2010
Baltimore (MD), USA

http://cufp.org/conference/schedule/2010

Reservation will be available through
ICFP's website: http://www.icfpconference.org/icfp2010

_________________________________________________________

Functional programming languages have been a hot topic of academic
research for over 35 years, and have seen an ever larger practical
impact in settings ranging from tech startups to financial firms to
biomedical research labs. At the same time, a vigorous community of
practically-minding functional programmers has come into existence.

CUFP is designed to serve this community. The annual CUFP workshop is
a place where people can see how others are using functional
programming to solve real world problems; where practitioners meet and
collaborate; where language designers and users can share ideas about
the future of their favorite language; and where one can learn
practical techniques and approaches for putting functional programming
to work.

CUFP 2010 will feature three hour Functional Programming tutorials
given by language experts on the first day and Experience and
Technical Talks on day two. Attendees may attend either or both days.

Talks Program, October 2nd 2010

Luke Hoban (Keynote)
F#: Embracing Functional Programming in Visual Studio 2010

Sally A Browning (Galois Inc)
Cryptol, a DSL for Cryptographic Algorithms

Michael Fogus
NaÃ¯vetÃ© vs. Experience - or, How We Thought We Could Use Scala
and Clojure, and How We Actually Did

Neal Glew & Leaf Petersen (Intel)
Functional Language Compiler Experiences at Intel

Warren Harris (Metaweb)
Functional Programming at Freebase

Warren A. Hunt, Jr. (U. of Texas)
ACL2: Eating Oneâ€™s Own Dog Food

Rusty Klophaus (Basho Technologies)
Riak Core: Building Distributed Applications Without Shared
State

Howard Mansell (Credit Suisse)
Eden: An F#/WPF frameworok for building GUI tools

Erik Meijer (Microsoft)
Reactive Extensions (Rx): Curing Your Asynchronous Programming
Blues

Tutorial Program, October 1st 2010

Morning:
Clojure (Aaron Bedra)
Building robust servers with Erlang (Martin Logan)
Afternoon:
F# 2.0 - A day at the beach (Rick Minerich)
Implementing web sites with Scala and Lift (David Pollak)
Camlp4 and Template Haskell (Nicolas Pouillard, Jake Donham)

abstracts and the most recent schedule information, visit

http://cufp.org

See you there!


## Comment viewing options

### Where can I get Eden and try it out?

It seems pretty lame if these abstracts don't indicate where I can grab the bits and try out the ideas. Otherwise it is just handwaving marketing fluff to say "hey, functional programming is cool".

So where can I get, say, Howard Mansell's Eden bits and play around with F# and WPF?

I would suggest each talk end its abstract with where you can get the bits - or if the bits are proprietary. Then it is pretty clear to me what to avoid.

### Double standard?

It seems pretty lame if these abstracts don't indicate where I can grab the bits and try out the ideas. Otherwise it is just handwaving marketing fluff to say "hey, functional programming is cool".

I find it odd that you will blithely endorse Direct Logic, which, as near as I can tell, lacks an implementation, but trash some other idea for the same short-coming. (And what there is has trademark signs on it.)

But hey, cloud-computing is cool.

### Why should languages be based on implementation?

I went to the CUFP 2010 website (which Yaron did not provide a link to) and read the Eden abstract, because I was interested in it. Here is a link to the abstract for Eden.

I am not trashing Eden, since I don't know what ideas it represents. I am simply commenting so that the organizers can improve how they organize things. CUFP is fairly progressive insofar as computer conferences go, since last years talks were all digitally recorded and provided for free to passers-by.

All I am saying is I would like to know how I can grab the bits for something and play around. The abstract doesn't tell me much. Video presentations tell me something, but usually not enough.

you will blithely endorse Direct Logic

Incorrect. I did not provide a value judgment for Direct Logic. I simply stated the consequence of the math. I don't know what you work on for a living, so to bias you with my own value judgment would be especially wrong-headed, as it might be a formalism valuable to you but not to me. Bottom line: I did not say whether Direct Logic was good, bad or ugly.

But hey, cloud-computing is cool.

I think cloud-computing is a fad, but this is something we should discuss in private (or at least not in this thread).

### Exchange of ideas

It's reasonable to ask that a distinction be made between what is and isn't available to the public in some concrete form. But this goes too far:

Otherwise it is just handwaving marketing fluff to say "hey, functional programming is cool".

That's a rather trivialized view of the purpose of workshops and conferences. Not all ideas are exchanged in the form of executable code, and that's not even a reasonable goal to aspire to.

The exchange of ideas that aren't necessarily available in some concrete form is fundamental to progress. The notion that this is "just handwaving marketing fluff" is bizarre. Particularly at a workshop devoted to the Commercial Users of Functional Programming, where the proprietary nature of the work under discussion tends to be the default situation.

### Most of it IS open source

I acknowledge my phrasing was like an ogre.

Particularly at a workshop devoted to the Commercial Users of Functional Programming, where the proprietary nature of the work under discussion tends to be the default situation.

Most of the presentations seem to involve projects where you can download a binary or source code for. The default situaton in 2010 is open source, possibly free/libre. Even Credit Suisse is fairly open about their ideas. The gist of my point was:

(a) don't copy-and-paste the CFP
(b) improve the website so that you'll want to link to the website instead of copy-and-paste the CFP
(c) here is one way you can improve the website

If it came out sounding bizarre, it's because that is how I sometimes communicate, and usually regret it.

### Open source may be a bad requirement

Most of the presentations seem to involve projects where you can download a binary or source code for.

Is that a good thing, though? Some of the most interesting projects I've ever seen have been decidedly not open source. If there's pressure to provide source, and a bias towards presentations that do, then conferences involving commercial presenters will tend to be limited either to projects with minimal commercial value, or to those that naturally lend themselves to an open source approach. This excludes large classes of important and interesting projects.

### I didn't mean it as a requirement

I don't care if a company open sources their F#/WPF project. Most WPF code I've looked at is pretty bad (because many parts of WPF are pretty bad). Most of the reasons I consider the code bad has to do with how people abuse WPF. Just the other day I found a ridiculous piece of WPF on an old MSDN forum post where some company based their entire so-called "architecture" on Adorners, and were bitten by the fact Adorners appear to have a static limit of 144 layers. Likewise, some "F# geometry abstractions" libraries I've seen aren't too impressive.

Actually, from experience, I can tell you the only reason I've integrated F# with WPF is for structural typing, partial application and pattern matching features not available in C#. F# has handy built-in syntax for working with CIL types when pattern matching, too. In short, by mixing F# with pre-existing C# code, I get a feature set approximating Scala without having to beta test Scala.NET. Through the use of an IoC container and F#, I can generally hide from my main application not only what modules I am loading but also hiding the decision of what visualization to choose from how to visualize it (e.g., WPF vs. Sivlerlight implementations). One thing I did awhile back to make this easier was entirely unrelated to F#: I figured out the mapping of interfaces between WPF and Silverlight and used that to keep track of Silverlight changes, since MSFT does a horrible job telling customers about changes. In addition, I then used the diff to auto-create FxCop custom rules to flag possible WPF code that wouldn't be easily portable to Silverlight; warnings would suggest Silverlight idioms instead and also try to characterize the differences.

Those sorts of concepts are shareable. I am not as confident that sharing APIs through "ideas" are as shareable. For one, usually you'll want to trace the idea back to its source rather than take it in "upstream" form. For two, I can speak from experience trying to round up ancient graphics APIs that the less code you have to look at the more wishy-washy a paper reads.