type family exercise

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

type family exercise

info-2
There is a little exercise at the end of the post "Type Tac Toe: Advanced Type Safety" http://chrispenner.ca/posts/type-tac-toe

>  As an exercise try combining playX and playO into a more general play! Here's a hint, you'll want to make another wrapper type like we did with Coord!

Link to the code https://github.com/ChrisPenner/Type-Tac-Toe/blob/master/src/TypeTacToe.hs

Unfortunately I couldn't solve it by myself. The only generalised play I could implement is here:

play :: (Played x y b ~ 'False)
     => (Coord x, Coord y) -> Board b PieceT -> PieceT -> Board b PieceT
play (coordVal -> x, coordVal -> y) (Board b) p
  = Board $ overTrip y (overTrip x (const p)) b

 I would be very grateful for any help to solve the exercise by using type family extension.

Regards,
Alexei
_______________________________________________
Beginners mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners