I like. haskell and its type system and I find it interesting to write backend in haskell. however, IMO I don't think that switching to another language for the front end is good idea.
I want to share my code between the front end and back and use the validation and type and do not repeat myself.
looking for some architecture about front end I got to know to flux
then redux
and I liked redux the most.
what is the best way to write redux app in haskell. after some research I found react-flux
but any other option that is more like redux
Well, I think the best way to do what you're calling redux here in Haskell is probably to use something that works with Conal Elliott's ideas.
These ideas are pretty strong, and probably one of the nicest implementation of some of them is in reflex-dom... here's the website for it: https://github.com/reflex-frp/reflex-platform
Word of warning, though: you do need to understand Haskell quite well to use it.