N-Queens Combinatorial Problem

First see the problem solved using the List monad and a Scala for comprehension.

Then see the Scala program translated into Haskell, both using a do expression and using a List comprehension.

Understand how the Scala for comprehension is desugared, and what role the withFilter function plays.

Also understand how the Haskell do expression and List comprehension are desugared, and what role the guard function plays.