我想在haskell中编写一个函数,它不介意我以什么顺序提供它的参数,例如,我想统一这两个函数
reproduce1 :: Male -> Female -> Child
reproduce2 :: Female -> Male -> Child
通过一个功能“再现”。
最佳答案
您可以使用多参数类型类来执行此操作。
{-# LANGUAGE MultiParamTypeClasses #-}
class Reproduce x y where
reproduce :: x -> y -> Child
instance Reproduce Male Female where
reproduce = reproduce1
instance Reproduce Female Male where
reproduce = reproduce2
但是,我很好奇您为什么要这样做。
关于haskell - Haskell中的交换函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7637906/