SAPLING 071: Difference between revisions

From EggeWiki
No edit summary
 
No edit summary
Line 1: Line 1:
Notes on SAPLING 071
Yesterday I attended the Sydney Area Programming Languages Interest Group meeting.  This is a group of students, academics, and researchers who meet to discuss Programming Language research.  I didn't present, but I could see myself presenting something on DSLs or language processing tools at a future meeting.


11 presentations on programming languages, each running 20-25 minutes. About half the presenters were PhD students, the other half professors, or recent PhD grads. Most presentations used Haskell in one way or another.
Here are my thought on the [[http://www.comp.mq.edu.au/~asloane/pmwiki.php/SAPLING/SAPLING071 SAPLING 071]] meeting.


One talk I particularly enjoyed was 'Generative Code Specialisation for High-Performance Monte-Carlo Simulations'In this, a DSL for expressing chemistry problems was built in HaskellThe performance for the simulation was slow, so they wrote a code generator to convert the DSL in C.  The C code was then compiled and called from the Haskell program.  The grid management was done in Haskell as well.
11 presentations on programming languages, each running 20-25 minutesMost presentations used Haskell in one way or anotherI'm not sure if Haskell will see much adoption outside of academic circles, but the ideas can often be adapted more to mainstream programming languages.


Another interesting talk was on implementing a DSL using Stratego.  [[http://www.program-transformation.org/Stratego/WebHome Stratego/XT]] aims to make it easier to transform programs from one representation to another.
One talk I particularly enjoyed was 'Generative Code Specialisation for High-Performance Monte-Carlo Simulations'.  In this, a DSL for expressing chemistry problems was built in HaskellThe performance for the simulation was slow, so they wrote a code generator to convert the DSL in C.  The C code was then compiled and called from the Haskell program.  The grid management was done in Haskell as well.  Certain Ruby apps like [[http://mongrel.rubyforge.org/ Mongrel]] use small amounts of C for the 1% of the code which takes 95% processing.  The previously mentioned presentation is the first time I've seen this done in an automated fashion.  


One presentation was on using GPUs to do vector operations using a framework called CUDA.  As MHz rates taper off and parallelism increases this may become a more viable field.  Today, you can run a program with essentially 512 threads on a single GPU.  Unfortunately, few programs can be adapted to take advantage of this architecture.
Another interesting talk was on implementing a DSL using Stratego.  [[http://www.program-transformation.org/Stratego/WebHome Stratego/XT]] aims to make it easier to transform programs from one representation to another.  I should try using this tool for my [[http://lolcode.com/ LOLCODE]] implementation.
 
One presentation was on using GPUs to do vector operations using a framework called CUDA.  As MHz rates taper off and parallelism increases this may become a more viable field.  Today, you can run a program with essentially 512 threads on a single GPU.  Unfortunately, few programs can be adapted to take advantage of this architecture.  Vector based languages like APL & MATLAB will probably be the first adopters once it becomes efficient to offload processing to the GPU.


Lastly, parking at Macquarie University is a major pain.  Be sure to bring $10 in coins for a day's parking or ride the bus.
Lastly, parking at Macquarie University is a major pain.  Be sure to bring $10 in coins for a day's parking or ride the bus.

Revision as of 00:01, 13 June 2007

Yesterday I attended the Sydney Area Programming Languages Interest Group meeting. This is a group of students, academics, and researchers who meet to discuss Programming Language research. I didn't present, but I could see myself presenting something on DSLs or language processing tools at a future meeting.

Here are my thought on the [SAPLING 071] meeting.

11 presentations on programming languages, each running 20-25 minutes. Most presentations used Haskell in one way or another. I'm not sure if Haskell will see much adoption outside of academic circles, but the ideas can often be adapted more to mainstream programming languages.

One talk I particularly enjoyed was 'Generative Code Specialisation for High-Performance Monte-Carlo Simulations'. In this, a DSL for expressing chemistry problems was built in Haskell. The performance for the simulation was slow, so they wrote a code generator to convert the DSL in C. The C code was then compiled and called from the Haskell program. The grid management was done in Haskell as well. Certain Ruby apps like [Mongrel] use small amounts of C for the 1% of the code which takes 95% processing. The previously mentioned presentation is the first time I've seen this done in an automated fashion.

Another interesting talk was on implementing a DSL using Stratego. [Stratego/XT] aims to make it easier to transform programs from one representation to another. I should try using this tool for my [LOLCODE] implementation.

One presentation was on using GPUs to do vector operations using a framework called CUDA. As MHz rates taper off and parallelism increases this may become a more viable field. Today, you can run a program with essentially 512 threads on a single GPU. Unfortunately, few programs can be adapted to take advantage of this architecture. Vector based languages like APL & MATLAB will probably be the first adopters once it becomes efficient to offload processing to the GPU.

Lastly, parking at Macquarie University is a major pain. Be sure to bring $10 in coins for a day's parking or ride the bus.