-- |
-- Module      :  Phonetic.Languages.Simplified.Lists.SimpleConstraints
-- Copyright   :  (c) OleksandrZhabenko 2020
-- License     :  MIT
-- Stability   :  Experimental
-- Maintainer  :  olexandr543@yahoo.com
--
-- Some code shared for different Main modules.

module Phonetic.Languages.Simplified.Lists.SimpleConstraints where

import Data.Monoid

showB :: Int -> Bool -> String
showB :: Int -> Bool -> String
showB Int
n Bool
bool
 | Int
n Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
2 Bool -> Bool -> Bool
&& Bool
bool Bool -> Bool -> Bool
forall a. Eq a => a -> a -> Bool
== Bool
True = Char
'B'Char -> String -> String
forall a. a -> [a] -> [a]
:Int -> String
forall a. Show a => a -> String
show (Int
n Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1) String -> String -> String
forall a. Monoid a => a -> a -> a
`mappend` (Int -> String) -> [Int] -> String
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap Int -> String
forall a. Show a => a -> String
show [Int
0..Int
n Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
2]
 | Bool
otherwise = String
""