DAMP 2009 CFP reminder & revised full paper deadline

[Note the revised full paper submission date.]

                           CALL FOR PAPERS

                         DAMP 2009: Workshop on
              Declarative Aspects of Multicore Programming
                         Savannah, GA, USA
                      (co-located with POPL 2009)
                           January 20, 2009

                ABSTRACT SUBMISSION DEADLINE: OCTOBER 10

                 http://www.cse.unsw.edu.au/~pls/damp09/

Important Dates:

      Deadline for abstract submission: October 10, 2008
    Deadline for full paper submission: October 14, 2008
            Notification of acceptance: November 10, 2008
                      Final papers due: November 17, 2008
                             DAMP 2009: January 20, 2009

DAMP 2009 is the fourth in a series of one-day workshops seeking to
explore ideas in programming language design that will greatly
simplify programming for multicore architectures, and more generally
for tightly coupled parallel architectures. DAMP 2009 is co-located
with the ACM SIGPLAN - SIGACT Symposium on Principles of Programming
Languages (POPL 2009).

                             Scope
(Continue reading)

Ivan Miljenovic | 5 Oct 18:53

ANNOUNCE: SourceGraph-0.1 and Graphalyze-0.3

I've now uploaded my SourceGraph program to Hackage [1].  It's rather
simple at the moment, but if you pass in the .cabal file as a
parameter (e.g. run it as "SourceGraph Foo.cabal"), it will create in
the same directory as the .cabal file a Directory called "SourceGraph"
that contains an html report of some basic graph-theoretic analysis of
your code.

The output format isn't ideal, but it should serve it's purpose for
now (I'll fix it up and actually make it usable once my Thesis has
been handed in).  What I'd appreciate if people could try it out and
tell me if there's any code, etc. that it can't parse.  At the moment,
it ignores all Data-based functions (e.g. class and instance
declarations as well as record functions) and only looks at
"stand-alone" functions (i.e. normal functions).

SourceGraph requires version 0.3 of my Graphalyze library (version 0.2
added the reports in, but had some bugs that 0.3 fixes).

[1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SourceGraph

--

-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic <at> gmail.com
IvanMiljenovic.wordpress.com
German Vidal | 3 Oct 12:42

PEPM 2009 - final call for papers


                                F I N A L

                      C A L L   F O R   P A P E R S

                          === P E P M  2009 ===

                         ACM SIGPLAN Workshop on
              Partial Evaluation and Program Manipulation

            http://www.clip.dia.fi.upm.es/Conferences/PEPM09

                           January 19-20, 2009
                         Savannah, Georgia, USA
                       (Affiliated with POPL 2009)

IMPORTANT DATES

           Abstract due:  October 12, 2008
             Submission:  October 17, 2008
    Author Notification: November 10, 2008
     Camera-Ready Paper: November 17, 2008

SCOPE

The   PEPM  Symposium/Workshop  series   aims  at   bringing  together
researchers  and  practitioners  working   in  the  areas  of  program
manipulation, partial evaluation, and program generation. PEPM focuses
on  techniques,  theory,  tools,  and  applications  of  analysis  and
manipulation of programs. PEPM is classified as category A in the CORE
(Continue reading)

Amal Ahmed | 1 Oct 21:56

TLDI 2009: call for papers

[Just a quick reminder that the TLDI deadline is Oct 8th...]

*********************************************************************
                           CALL FOR PAPERS

                              TLDI 2009 

                        ACM SIGPLAN Workshop on
             Types in Language Design and Implementation 
 
                           24 January 2009                         
                        Savannah, Georgia, USA

              To be held in conjunction with POPL 2009

*********************************************************************

IMPORTANT DATES

Submission:     8 Oct 2008, 5PM EDT (Wed)
Notification:   8 Nov 2008 (Sat)
Camera ready:   19 Nov 2008 (Wed)
TLDI'09:        24 January 2009 (Sat)



SCOPE

The role of types and proofs in all aspects of language design,
compiler construction, and software development has expanded greatly
in recent years. Type systems, type analyses, and formal deduction
have led to new concepts in compilation techniques for modern
programming languages, verification of safety and security properties
of programs, program transformation and optimization, and many other
areas. In light of this expanding role of types, the ACM SIGPLAN
Workshop on Types in Language Design and Implementation (TLDI'09)
follows six previous International Workshops on types in compilation
and language design (TIC'97, TIC'98, TIC'00, TLDI'03, TLDI'05, and
TLDI'07), with the hope of bringing together researchers to share new
ideas and results in this area.

Submissions for this event are invited on all interactions of types
with language design, implementation, and programming methodology.
This includes both practical applications and theoretical aspects.
TLDI'09 specifically encourages papers from a broad field of
programming language and compiler researchers, including those working
in object-oriented, dynamically-typed, late-binding, systems
programming, and mobile-code paradigms, as well as traditional
fully-static type systems. Topics of interest include:

- Typed intermediate languages and type-directed compilation 
- Type-based language support for safety and security 
- Types for interoperability 
- Type systems for system programming languages 
- Type-based program analysis, transformation, and optimization 
- Dependent types and type-based proof assistants 
- Types for security protocols, concurrency, and distributed computing 
- Type inference and type reconstruction 
- Type-based specifications of data structures and program invariants 
- Type-based memory management
- Proof-carrying code and certifying compilation

This is not meant to be an exhaustive list; papers on novel
utilizations of type information are welcome. Authors concerned about
the suitability of a topic are encouraged to inquire via electronic
mail to the program chair prior to submission.



SUBMISSION GUIDELINES

Authors should submit a full paper of no more than 12 pages (including
bibliography and appendices) by Wednesday, October 8, 2008 5PM Eastern
Daylight Savings Time. The submission deadline and length limitations
are firm. Submissions that do not meet these guidelines will not be
considered.

All submissions should be in standard ACM SIGPLAN conference format:
two columns, nine-point font on a ten-point baseline. Detailed
formatting guidelines are available on the SIGPLAN Author Information
page, along with a LaTeX class file and template:


Papers must be submitted in Adobe Portable Document Format (PDF) and
must be formatted for US Letter size (8.5"x11") paper. Authors for
whom this is a hardship should contact the program chair before the
deadline.

Submitted papers must adhere to the SIGPLAN Republication Policy: 


Submissions should contain original research not published or 
submitted for publication elsewhere.

The URL for submission will be announced closer to the deadline.



GENERAL CHAIR

Andrew Kennedy       Microsoft Research, Cambridge


PROGRAM CHAIR

Amal Ahmed           Toyota Technological Institute, Chicago


PROGRAM COMMITTEE

Amal Ahmed           Toyota Technological Institute, Chicago  (Chair)
Juan Chen            Microsoft Research
Peter Dybjer         Chalmers University of Technology
Jeff Foster          University of Maryland, College Park
Neal Glew            Intel
Robert Harper        Carnegie Mellon University
Andrew Myers         Cornell University
Atsushi Ohori        Tohoku University
Matthew Parkinson    University of Cambridge
Didier Remy          INRIA Paris-Rocquencourt
Andreas Rossberg     Max Planck Institute for Software Systems


STEERING COMMITTEE

Craig Chambers       University of Washington
Robert Harper        Carnegie Mellon University  (Chair)
Xavier Leroy         INRIA Paris-Rocquencourt
Greg Morrisett       Harvard University
George Necula        Rinera Networks and UC Berkeley
Atsushi Ohori        Tohoku University
Francois Pottier     INRIA Paris-Rocquencourt
Zhong Shao           Yale University

_______________________________________________
Haskell mailing list
Haskell <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell
Alfonso Acosta | 1 Oct 13:29

ANN: Haskell-Embedded System Design: ForSyDe 3.0 and Tutorial

Hi everyone,

I am glad to announce the 3.0 release of ForSyDe's implementation, now
available from HackageDB.

The ForSyDe (Formal System Design) methodology has been developed with
the objective to move system design (e.g. System on Chip, Hardware and
Software systems) to a higher level of abstraction.

ForSyDe is implemented as a Haskell-embedded behavioral DSL (Domain
Specific Language).

>From this release, ForSyDe includes a new deep-embedded DSL and
embedded compiler. We have also published tutorial which should be
much more user-friendly than the Haddock documentation and the ForSyDe
research papers.

ForSyDe includes two DSL flavours  which offer different features:

  1) Deep-embedded DSL (ForSyDe.Signal)

    Deep-embedded signals, based on the same concepts as Lava, are
    aware of the system structure. Based on that structural information
    ForSyDe's embedded compiler, can perform different analysis and
    transformations.
        o Thanks to Template Haskell, computations are expressed in
           Haskell, not needing to specifically design a DSL for that
           purpose.
        o Embedded compiler backends:
              + Simulation
              + VHDL (with support for Modelsim and Quartus II)
              + GraphML (with yFiles graphical markup support.)
        o Synchronous model of computation.
        o Support for components.
        o Support for fixed-sized vectors à la VHDL.

  2) Shallow-embedded DSL (ForSyDe.Shallow.Signal)

    Shallow-embedded signals are modeled as streams of data
    isomorphic to lists. Systems built with them are unfortunately
    restricted to simulation, however, shallow-embedded signals
    provide a rapid-prototyping framework with which to experiment
    with Models of Computation (MoCs).
        o Synchronous MoC.
        o Untimed MoC.
        o Continuous Time MoC.
        o Domain Interfaces allow connecting various subsystems
           with different timing (domains) regardless of their MoC.
        o Deep-embedded models can be integrated through
           simulation.

Links
====
ForSyDe website:
http://www.ict.kth.se/org/ict/ecs/sam/projects/forsyde/www/
ForSyDe tutorial:
http://www.ict.kth.se/org/ict/ecs/sam/projects/forsyde/www/files/tutorial/tutorial.html
HackageDB package page:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ForSyDe
Darcs repository: darcs get
http://www.ict.kth.se/org/ict/ecs/sam/projects/forsyde/www/darcs/ForSyDe/
Ivan Miljenovic | 29 Sep 18:10

ANNOUNCE: Graphalyze-0.1

I'd like to announce the initial release of my graph-theoretic
analysis library, Graphalyze [1], the darcs repo for which is also
available [2].

This is a pre-release of the library that I'm writing for my
mathematics honours thesis, "Graph-Theoretic Analysis of the
Relationships in Discrete Data".  I'll also be releasing a tool that
uses this library to analyse the structure of Haskell code, that I'm
tentatively calling SourceGraph.  As it stands, the library has a
number of algorithms included, some of which I've developed from
scratch (e.g. clique finder), and others are implementations of
published algorithms (mainly the two clustering algorithms).  The code
is meant to be more readable than efficient, and I wanted to explore
ways of developing algorithms that match more closely the way graphs
work (which makes FGL a much nicer fit than matrix-based or list-based
graph data structures).

This library is only a pre-release, as whilst everything in there
works (at least it does for me), I'd like to get some feedback from
the community, especially since this is my first ever released solo
piece of code (I've coded assignments, and worked on projects with
others, but have never released anything that I've been solely
responsible for before).  In particular, have I written the .cabal
file correctly?

Also, I'd like advice on something else: the part of the library that
I'd like to develop still is the reporting framework.  The end goal of
the library is for the user to specify which algorithms they want
applied to their data, and then the library produces a document with
the results.  This document is _not_ meant to be machine readable.  As
such, I can think of three options:

1) Plain text, with graphs either in seperate image files (using
graphviz) or else as plaintext (FGL's show function).
2) Generate LaTeX code.
3) Generate Pandoc [3] compatible Markdown, and let the user convert
it into whatever format they prefer.

I'm not a big fan of option 1), as it is probably the most unreadable
in general.  I'd like to use Pandoc, as it is theoretically possible
to convert it to numerous other filetypes, however with inline linking
there's still no way (at least I can find) to have images scaled to
the correct size automatically.  So unless I pre-scale the images,
using option 3) and then converting to PDF via LaTex generation of the
Markdown sources is probably out.   As such, what would you all prefer
to read as a documentation-style report of your software?

1) A PDF via LaTeX, which has the advantage of being printable and all
in one file
2) HTML via Pandoc, which lets you have the images linked separately
from the document, and thus no need to shrink them down (they can stay
at the natively generated size, and thus easier to zoom in, etc.).

Finally, I'll be giving my honours talk on this next Monday.  So if
you're in Brisbane on 6 October and interested, it'll be on at 2PM at
the University of Queensland (where as part of it I'll be explaining
to mathematicians why Haskell is a great language to use for
mathematics... or at least trying to!).

[1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Graphalyze
[2] http://code.haskell.org/Graphalyze/
[3] http://johnmacfarlane.net/pandoc

--

-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic <at> gmail.com
IvanMiljenovic.wordpress.com
Malcolm Wallace | 27 Sep 22:13

Symposium videos

Guerilla videos of the Haskell Symposium 2008 presentations.  Enjoy.

Regards,
     Malcolm

ACM SIGPLAN 2008 Haskell Symposium

Victoria, British Columbia, Canada
Thursday, 25th September, 2008

Schedule

Session 1: 9:00 - 10:30 Lightweight monadic regions Oleg Kiselyov and Chung-chieh Shan A Library for Light-weight Information-Flow Security in Haskell Alejandro Russo, Koen Claessen and John Hughes Haskell Session Types with (Almost) No Class Riccardo Pucella and Jesse Tov Session 2: 10:45 - 12:00 SmallCheck and Lazy SmallCheck: automatic exhaustive testing for small values Colin Runciman, Matthew Naylor and Fredrik Lindblad Not All Patterns, But Enough - an automatic verifier for partial but sufficient pattern matching Neil Mitchell and Colin Runciman Yi - An Editor in Haskell for Haskell (Demo) Jean-Philippe Bernardy Session 3: 1:30 - 3:00 Haskell, Do You Read Me? Constructing and composing effcient top-down parsers at run-time Marcos Viera, Doaitse Swierstra and Eelco Lempsink Shared Subtypes: Subtyping recursive parametrized algebraic data types Ki Yung Ahn and Tim Sheard Language and Program Design for Functional Dependencies Mark Jones and Iavor Diatchki Session 4: 3:20-4:30 Making Monads First-class with Template Haskell Pericles Kariotis, Adam Procter and William Harrison Comparing Libraries for Generic Programming in Haskell Alexey Rodriguez, Johan Jeuring, Patrik Jansson, Alex Gerdes, Oleg Kiselyov and Bruno C. d. S. Oliveira CLASE: Cursor Library for A Structured Editor (Demo) Tristan O. R. Allwood, Susan Eisenbach Future of Haskell: 4:30 - Haskell' Status Report Simon Marlow Haskell: Batteries Included (Demo) Duncan Coutts, Isaac Potoczny-Jones, Don Stewart Discussion
_______________________________________________
Haskell mailing list
Haskell <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell
Malcolm Wallace | 24 Sep 07:02

ICFP programming contest results

The ICFP programming contest results presentation:
http://video.google.com/videoplay?docid=-4697764813432201693

Feel free to pass on this link to any other appropriate forum.

Regards,
Malcolm

DAMP 2009: Call for Papers


			C a l l   f o r   P a p e r s

      DAMP 2009: Workshop on Declarative Aspects of Multicore  
Programming

		 Savannah, Georgia, USA --- January 20, 2009
			 (co-located with POPL 2009)

   DAMP 2009 is the fourth in a series of one-day workshops seeking to  
explore
   ideas in programming language design that will greatly simplify  
programming
   for multicore architectures, and more generally for tightly coupled  
parallel
   architectures.  DAMP 2009 is co-located with the ACM SIGPLAN - SIGACT
   Symposium on Principles of Programming Languages (POPL 2009).

   The emphasis will be on functional and (constraint-)logic  
programming, but
   any programming language ideas that aim to raise the level of  
abstraction
   are welcome.  DAMP seeks to gather together researchers in  
declarative
   approaches to parallel programming and to foster cross  
fertilization across
   different approaches.

   For further information, a CFP flyer, and details on paper  
submissions, see

		   http://www.cse.unsw.edu.au/~pls/damp09/

	       Paper submission deadline is 10th October 2008!
David Harley | 16 Sep 00:09

ANNOUNCE: qtHaskell 1.1.2, the second preview version of qtHaskell

For all interested in Haskell GUIs, there is now a second preview release  
of qtHaskell - a set of Haskell bindings for Trolltech's Qt available at

http://qthaskell.berlios.de

There are a number of important changes from the previous version.

1. All FFI pointers are now Foreign Pointers. Those of a type derived from  
QObject are wrapped as QPointer types and only this wrapper is deleted  
when their finalizer runs. All other types are automatically deleted by  
their finalizer when they go out of Haskell scope - or more precisely when  
the finalizer acutally runs. To make the actual deletion time more easily  
controlable, most example code uses the function "returnGC" instead of  
just "return" in callback functions. Also non QObject derived types can be  
constructed with an alternative constructor qSomeObject_nf which has no  
finalizer. In this case it's the programmers job to delete the object when  
required.

2. All Qt enumerated types are implemented as equivalent Haskell types  
instead of just being of type Int as before. In fact I'v used separate  
types for enumerated types and their corresponding "flags" types in Qt.  
For example

enum Qt::AlignmentFlag
flags Qt::Alignment

have equivalent qHaskell types:

data CQt__AlignmentFlag a = CQt__AlignmentFlag a
type Qt__AlignmentFlag = QEnum(CQt__AlignmentFlag Int)

data CQt__Alignment a = CQt__Alignment a
type Qt__Alignment = QFlags(CQt__Alignment Int)

and a corresponding set of value functions i.e.

qt__AlignLeft and qtf__AlignLeft
qt__AlignRight and qtf__AlignRight
...

The correct value function must be used depending on the parameter type of  
the api function being called e.g.

     buttonBox <- qDialogButtonBox1 (qDialogButtonBoxf__Ok +  
qDialogButtonBoxf__Cancel)

for a "flags" type in "widgets.hs", or

     slider <- qSlider1 qt__Vertical

for an "enum" type in "hellogl.hs"

3. All qtHaskell functions which correspond to some overloaded Qt api  
function use a final numeral in their name which corresponds to the number  
of parameters in the function. For example:

QRect ()
QRect ( const QPoint & topLeft, const QPoint & bottomRight )
QRect ( const QPoint & topLeft, const QSize & size )
QRect ( int x, int y, int width, int height )

becomes

qRect
qRect2
qRect4

where qRect2 is a class of functions that can take either QPoint or QSize  
for their second parameter. This nomeclature has the advantage of being  
compatible beteen different Qt versions and of making it possible for the  
qtHaskell programmer to tell what the name of the corresponding qtHaskell  
function is just by looking at the Qt documentation.

N.B. although qtHaskell 1.1.1 programs are not therefore forwards  
compatible with qtHaskell 1.1.2, only minimal editing is required to  
upgrade them.

4. The Haskell api code is now split into separate modules for each Qt  
class. All these modules are exposed in the qtc package, hence by  
explicitly importing only the required modules for an application, the  
size of the corresponding executable can be kept to a reasonable size.
All example qtHaskell programs have a corresponding program prefixed with  
"cs", which has only this explicit importing, e.g. "widgets" and  
"cswidgets". Some example programs have also a corresponding "as" prefixed  
program which uses explicit module importing and also uses Arthur Widgets,  
about which see below.

5. There are two new detailed examples, csterrainsim and csPathDeform.  
csterrainim, is an eventloop based realtime terrain simulator based on  
OpenGL and has a frame rate almost the same as its C++ original.  
csPathDeform, is a vector graphic demo program based on a timer interrupt,  
which uses Qt's Arthur Widgets. Arthur Widgets demos are implemented by Qt  
as a derived style class ArthurStyle and a generic frame class  
ArthurFrame, from which the actual demo program frames are derived. Both  
ArthurStyle and ArthurFrame are replicated in Haskell in the qtHaskell  
library and used by csPathDeform in an entirely analagous manner to that  
of the original Qt C++ "deform" demo program. This
demonstrates that qtHaskell can be used to build generic  
objects/interfaces etc, derived from the basic Qt classes just as in C++.  
Also, use of the ArthurStyle class means that the callback functions are  
more resource intensive. The implementation of handlers in qtHaskell has  
been
revised for this release, and the csPathDeform has a smoothness and  
responsiveness that is virtually indistinguishable from the C++ original.

Enjoy!

David Harley

--

-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Sittampalam, Ganesh | 12 Sep 22:20

job advert: senior role at Credit Suisse

Credit Suisse is seeking to recruit an expert in functional programming for a senior role in the Global Modelling and Analytics Group (GMAG) in the Securities Division.

The group consists of about 140 people worldwide. The majority of the group are mathematicians engaged in developing mathematical models for financial products traded by the division. Approximately 20 people are primarily computing experts, based in the Architecture and Delivery (AD) subgroup within GMAG. The successful candidate will be based in the R&D section of AD (7 people), which focuses on projects designed to improve the productivity of the modellers.

We are already making heavy use of functional programming within the group, primarily Haskell and F#, and we expect to increase this in the future. Some information about our Haskell projects can be found here: http://www.haskell.org/communities/05-2008/html/report.html#sect7.4; we have recently adopted F# for implementing and deploying models on the .NET platform. Our team will be working closely with the modellers to help them leverage functional programming to improve the design of their code.

Key requirements:

An exceptional academic track record in functional programming including a significant publication history.
Significant experience of "real-world" computing environments, preferably using functional programming.
Excellent communication skills in order to convey new ideas to our modelling team.

Location: London or New York

Contact:

Howard Mansell <howard.mansell <at> credit-suisse.com>

Howard and I will be attending ICFP 2008 and associated workshops - if you'd like to discuss this in person, get in touch with us by email (please email us both), or just grab one of us there. We'll also be talking about some of our Haskell work at ICFP and our F# work at CUFP.

Background information:

Credit Suisse provides investment banking, private banking and asset management services to clients across the world. Active in over fifty countries and employing more than 45,000 people, Credit Suisse is one of the world’s premier banks. There are exceptional opportunities for further growth in new product areas and emerging markets; there are equally exceptional opportunities for the people who can deliver that growth. Credit Suisse offers intellectual challenges, high rewards and global development potential for individuals who share an enthusiasm for business-critical innovation. Credit Suisse provides investment banking, private banking and asset management services to clients across the world. Active in over fifty countries and employing more than 45,000 people, Credit Suisse is one of the world’s premier banks. There are exceptional opportunities for further growth in new product areas and emerging markets; there are equally exceptional opportunities for the people who can deliver that growth. Credit Suisse offers intellectual challenges, high rewards and global development potential for individuals who share an enthusiasm for business-critical innovation.

The Global Modelling and Analytics Group (GMAG) is responsible for producing state-of-the-art pricing, trading and risk management models for Credit Suisse. These models are used across a range of businesses in the Fixed Income and Equity departments. The group performs the full spectrum of quantitative work, from mathematical modelling through software implementation and delivery, to risk analysis of trades and existing portfolios. The group's mandate covers all major asset classes, including Credit Derivatives, Commodities, Emerging Markets, Equity Derivatives and Convertibles, Exotics, Foreign Exchange, Fund Linked Products, Interest Rate Products and Mortgage Derivatives. GMAG operates globally with over 140 members located in London, New York, Hong Kong, Tokyo, Wroclaw and São Paolo.

Established in 1990, GMAG stands out as a unified quant group that has been covering all major product areas since its inception. The group has always enjoyed a strong relationship with Trading, Structuring and Sales, assisting them with trade pricing and risk management. As the group is based on the trading floor, it is ideally placed to respond to the financial modelling needs of the businesses it supports. The breadth of GMAG's mandate makes it uniquely positioned to leverage the skills and experience of its members, and to provide a consistent modelling approach across all areas. Over time, the group has developed an extensive suite of pricing models on a common platform with complete integration across all asset classes.

Quantitative Analysts in GMAG carry out a range of activities which include the creation of sophisticated mathematical models for the valuation of complex derivatives, development of the technology platform used to deliver models and driving the use of these models throughout the bank. Our Quantitative Analysts typically hold an advanced quantitative degree, have excellent analytical and problem-solving skills, demonstrate creative thinking, have strong programming skills, and are confident communicators.


============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ==============================================================================
_______________________________________________
Haskell mailing list
Haskell <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Gmane