I have been working on Software-Defined Radio projects for almost a year. This is an area which requires lots of signal processing (digital filters and FFTs), communication theory (modulation, equalization and synchronization) and information theory (specifically, coding theory, as Huffman, Linear and Convolutional codes). I program mostly in Matlab (for simulations) and C++ and Python (for practical applications using GNURadio and the USRP).

As you can see, those areas require lots of mathematical concepts. As I've been studying Haskell, I see that it is a good programming language for applications that involve heavy math.It seemed a good idea to program in Haskell for problems in the area I have been working on.

On the other hand, there doesn't seem to be a lot of people doing this. There seems to be a [Haskell DSP library](https://hackage.haskell.org/package/dsp), but there aren't many projects using it available on the web. I've also found a [thesis](http://www.ittc.ku.edu/csdl/fpg/files/Bull-11-FECandFP.pdf) where Haskell was used to implement a Viterbi coder/decoder and it seems quite an elegant solution.

But it seems to me that people in the communication industry and research still don't use a lot of Haskell in their codes. Maybe this coulde be because many of them still haven't heard about Haskell.

What would be upsides and downsides of applying Haskell to those kind of problems? What will be key benefits of doing SDR in Haskell? What about Haskell would make it a bad choice for SDR? Should I expect severe pain points using Haskell for SDR (what are they?).