Busy day…
October 6th, 2006 by PeterIn an exceptionally busy fplunch:
- Our visitor Daan Leijen gave a quick introduction to his research into using C# lambda expressions to allow programmers to introduce parallelism without the usual overheads. This served as an introduction to C# for most of the audience.
- Liyang talked through his side project trying to introduce Conor’s idiom brackets using Template Haskell to do the transformations, he has some slides for more info — link coming soon
- Conor then introduced his dissection work, showing how the a tail recursive fold for trees relies on a control structure which can be calculated for any fixed point of a polynomial (in fact any indexed container). This calculation is dissection and it generalises differentiation.
October 27th, 2006 at 11:10 pm
Concerning parallelism and C#, does anyone know something about
how chips with multiple processor cores are structured (do they share
a common memory interface, and/or some cache, etc etc?)
How do conventional operating systems make use of these? Do they
allocate threads that might be in different address spaces to
different cores on the same chip?
Are multi-core chips thought of as significantly different from
several chips with one core in each?
I’m wondering about the best way of exploiting parallelism
when executing a functional language. To me it seems
out of the question to have more than one processor
evaluating expressions in the same heap, because of
contention. Instead, it seems to me more important
that IO-operations fetched by evaluating expressions
should be executed in parallel.
Anyway, please bend my ear if you have enlightenment
to bestow.