PDXfunc meeting summary for 2007-11-15

37 views
Skip to first unread message

Igal Koshevoy

unread,
Nov 16, 2007, 6:24:05 AM11/16/07
to pdxfunc
PDXfunc - Portland Functional Programming User Group

Our first meeting was a great success. We had 12 people show up and
had some great discussions. This email summarizes group business
issues, educational resources for learning more about FP (functional
programming), and the topics discussed at the meeting.

GROUP BUSINESS:

- NEXT MEETING: We've TENTATIVELY agreed to meet every second Monday,
so the next meeting is TENTATIVELY scheduled for Monday, December 10
at 7pm. Igal Koshevoy will contact Don Stewart to see if he's
available to give a presentation and reserve room at CubeSpace --
http://www.cubespacepdx.com/directions

- PHILOSOPHY: We want this group to welcome everyone, regardless of
their level of experience with FP or the language they use. Attendees
come from radically different backgrounds, so it's important that
meetings provide content that caters to different skill levels, that
way everyone can learn something. We use many different terms,
approaches and tools, so it's vital that everyone be open, tolerant
and willing to rephrase themselves to help others understand and
participate.

- CALL FOR PRESENTATIONS: We want you to be involved, so please post
your ideas to the mailing list. Are you doing something interesting,
come across a tip, or have a tough question? Consider delivering a
formal 1 hour talk, or giving a casual 5 minute demo, or just bring up
an interesting question that can encourage good discussion, or do
something in between. Although we'll probably have a main presentation
for the next meeting, it'd be great to have some smaller talks that
are ready to go if we have time.


EDUCATIONAL RESOURCES:

- VIDEO: Simon Peyton Jones "A Taste of Haskell" at OSCON --
http://blip.tv/file/324976 AND http://blip.tv/file/325646
- CLASS: Portland State University's "Introduction to functional
programming" in the spring. Taught by award-winning Professor Mark
Jones using Haskell -- http://web.cecs.pdx.edu/~mpj/
- PAPERS: "Functional Pearls" papers describe elegant and instructive
functional programming examples -- http://www.haskell.org/haskellwiki/Research_papers/Functional_pearls
- CONFERENCE: Commercial Users of Functional Programming held a
conference in Portland recently and their site provides some
interesting abstracts and industry links -- http://cufp.galois.com/


MEETING DISCUSSION TOPICS:

- INTRODUCTIONS: The diversity of the group was incredible. We had a
professor that taught and created FPLs (functional programming
languages), PhD students doing sophisticated research with FPLs, full-
time commercial FP developers working with Haskell at companies like
Galois, a developer doing mobile phone synchronization with Erlang,
some hobbyists exploring FP for fun, and some imperative/OOP
developers whose experience was limited to using the FP features of
Ruby, Python and Perl.

- WHAT IS FP?: We had a big, non-conclusive discussion about how to
define functional programming. Is it the presence of good things, like
first class functions? Is it the absence of bad things, like state? Is
it the purity? Is it the natural relationship to math? Different folks
that used different languages had different preferences about what was
important. The group thought it might be good to spend a few hours
together reviewing and trying to improve the Wikipedia article on the
topic.

- FP PROPAGANDA: Professor Tim Sheard (Portland State University),
Iavor Diatchki (Galios R&D Engineering) and others spoke
enthusiastically about the benefits of functional programming,
including....
- ELEGANCE: Provides clean solutions to tricky problems.
- ABSTRACTION: Makes it possible to create reusable design pattern-
like features. For instance, monads as an abstract data type offer
unique benefits difficult to obtain with less-capable languages.
- INFERRED TYPING: Catches many errors at compile time, simplifies
development and improves code quality. This typing approach is asier
to work with than strictly typed languages (e.g., Java) and provides
assurance that the code is free certain bugs that are difficult to
eliminate in dynamic languages (e.g., Ruby) even with excellent tests
and code coverage.

- HARDWARE OPTIMIZATION: FP has interesting ties to hardware design,
and many ideas behind purpose-specific FP hardware created in the past
are now present in the micro-architectures of modern commodity
processors. Applying FP to hardware design can also provide intriguing
benefits, such as quickly-producing programs compiled to expensive,
small run FPGAs -- and later recompiling to target inexpensive high
volume manufactured ASICs.

- CHALLENGES TO FP's UPTAKE: The concepts and benefits can be hard to
describe, especially to those without a theoretical background. FP
discussions often use academic, specialized vocabulary to explain
concepts that are well understood by mainstream programmers under more
general terms. Failure to understand or express the benefits of FP has
limited uptake of FP by mainstream businesses, and kept it mostly to
academia and a few niche industries, such as financial modeling and
telephony. However, interest has been growing recently.

- CHALLENGES OF DESIGNING FPs: Many small languages, few programmers
and radically different needs. Languages have evolved and even
splintered in attempt to cater to these niches. Different FP languages
have very different goals -- e.g., Haskell GHC's "everything but the
kitchen sink" vs. Haskell Hugs' minimalistic footprint vs. OCaml's
high performance requirements. The communities behind FP languages are
also very different -- Haskell seems to welcome anybody vs. ML is lead
by a small set of experts vs. other languages communities that are
tied to certain businesses, nationalities, locations, etc).

Thank you for reading these notes, I look forward to seeing you at the
next meeting.

PS: Tom stayed after the meeting to help me craft this summary,
thanks!
PPS: All errors in this posting are my fault, please post corrections.

Thomas Lockney

unread,
Nov 16, 2007, 5:33:46 PM11/16/07
to pdx...@googlegroups.com
Igal Koshevoy wrote:
> PDXfunc - Portland Functional Programming User Group
>
...

> Thank you for reading these notes, I look forward to seeing you at the
> next meeting
Igal (and Tom), thanks so much for this excellent summary! I almost feel
like I was there for the whole thing. Looking forward to future meetings.

~thomas

Phil Tomson

unread,
Nov 16, 2007, 6:23:04 PM11/16/07
to pdx...@googlegroups.com
Great turnout last night for our first meeting.

Phil

Reply all
Reply to author
Forward
0 new messages