- "I trust that this email address belongs to this real-life person"
- "I trust the owner of this email address not to send me spam"
- other attributes as need arises?
Name: Trevor Morgan
Member since: 2003-11-20 20:12:55
Last Login: N/A
I work for the Imaging Research Program at Sunnybrook and Women's College Health Science Centre in Toronto.
I develop and maintain various medical-imaging related bits of software, much of which I publish under the GPL. You can browse my cross platform DICOM (Digital Imaging and Communication in Medicine) libraries here . Both a C++ and a Python DICOM API is provided, as well as some utility classes, such as a simple C++ TCP/IP socket library. At some point I might get round to posting the GUI class libraries I've created for mammographic applications.
Functors in Haskell and C++
C++ is my language of choice for almost every project I do, not least for it's wide range of support language paradigms - OO, functional, generic etc. But I'd be the last person to say that it's a pretty language. Example: creating an object that will add 2 to a number:-
std::binder1st<std::plus<int> > binder= std::bind1st(std::plus<int>(),2);
Now compare this with Haskell
I haven't got very far with Haskell yet, I'm just trying to learn it to stretch my brain a bit, but this does highlight the hoops one has to jump to to make C++ behave like a functional language. That said, the boost people are making this easier with the boost::bind library, which I use a fair bit, and maybe the lambda library, though I haven't tried that yet.
I guess it's a testimony to the power of C++ that it can handle so many diverse paradigms, even if it isn't always pretty. And it can be taken far beyond what the original creators intended - witness what's been done with template meta-programming.
It also seem that the C++ compile-time language (i.e. template meta-programming) is a purely functional language, (see here, so we have this weird hybrid of a language that is OO and procedural at runtime, but functional at compile time. No wonder it takes so long to become truly skilled at using it.
tmorgan certified others as follows:
Others have certified tmorgan as follows:
[ Certification disabled because you're not logged in. ]
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!