HNHacker News
TopNewBestAskShowJobs

BartoszMilewski

10 karma · joined February 9, 2010

Physicist, programmer, mathematician.
submissionscomments
BartoszMilewski··on Guitar Decomposed: 5. Mutating the Third
Good point, it is ambiguous. I changed it to "semitone."
BartoszMilewski··on Using Monads in C++ to Solve Constraints: 3. The Tale of Two Monads
And the condition that s != 0 and m != 0
BartoszMilewski··on C++17: I See a Monad in Your Future
Actually, Haskell people do influence C++ rather heavily. The ideas behind many of the functional aspects of C++ can be traced back to Microsoft Research in Cambridge, UK, where Simon Peyton-Jones works and whose collaborators/students went on to design F#, which very strongly influenced C#, with major contributions from Erik Meijer, a Haskeller extraordinaire and the inventor of LINQ and Reactive. Microsoft PPL library, which is the driving force behind most recent concurrency extensions to C++ has been created by functional programmers. The truth is that C++ cannot survive in the multicore world without an injection of functional programming.
BartoszMilewski··on C++17: I See a Monad in Your Future
Do you mean names like RAII? I always break my tongue on this one.
BartoszMilewski··on C++17: I See a Monad in Your Future
Funny you should mention persistent data structures in C++. That's exactly what I've been working on. Here's my blog about leftist heaps translated from Okasaki directly to C++: http://bartoszmilewski.com/2014/01/21/functional-data-struct... . It follows previous ones about lists and RB trees.
BartoszMilewski··on Edward C++Hands
When Herb wrote his free lunch article, I was still a strong C++ believer and I thought C++ could solve the multicore problem. I considered Haskell a toy language. Then I saw how quickly Haskell moved into the multicore arena with STM, Repa, Accelerate, and how C++ kept stumbling in the dark. After the C++11 fiasco I realized that C++ was a blind alley. Multicore revolution did to C++ what the Chicxulub asteroid did to dinosaurs.
BartoszMilewski··on Edward C++Hands
You should use standard algorithms whenever possible. Sean Parent talked about it at Going Native. He was able to transform a horrible set of for loops he found in Google's code into a few lines of modern C++ using standard algorithms. But he _is_ Sean Parent!
BartoszMilewski··on Edward C++Hands
I did work for Corensic, which was bought by F5. It was a company that made a very ingenious data race detector. I learned a lot about data races and how they prevent companies from adopting concurrent programming.

I also used to work for a Haskell company, FP Complete, but I quit, so I'm no longer representing them. I learned a lot about building actual applications using Haskell at FP Complete.

BartoszMilewski··on Edward C++Hands
Ouch! Ad personam attacks are a sign of desperation. For the record, I used to work for FPComplete (I architected the School of Haskell) but I quit. It was an interesting experience, having seen a whole complex web site and an online Haskell IDE built in record time by a few Haskell programmers.
BartoszMilewski··on Edward C++Hands
I wouldn't have mentioned resource management at all if it weren't for Bjarne's keynote: http://channel9.msdn.com/Events/GoingNative/2013/Opening-Key... . Apparently this is still not common knowledge.
BartoszMilewski··on Monads in C++
Here's a better link with three videos and slides: http://www.corensic.com/Community/Resources/BoostconVideo.as...
BartoszMilewski··on Monads in C++
@miky: I responded to (the copy of) this comment on reddit: http://www.reddit.com/r/programming/comments/in84h/monads_in... .