The meaning of par par does not guarantee a new haskell thread It hints that it would be good to evaluate the first argument in parallel The runtime decides whether to convert spark Depending on current workload This allows par to be very cheap Programmers can use it almost anywhere Safely over-approximate program parallelism par does not guarantee a new Haskell thread. It hints that it would be good to evaluate the first argument in parallel. The runtime decides whether to convert spark - Depending on current workload. This allows par to be very cheap. - Programmers can use it almost anywhere. - Safely over-approximate program parallelism