Skip to content

Instantly share code, notes, and snippets.

@k06a
Created August 9, 2014 16:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save k06a/9256821cca587e16a63b to your computer and use it in GitHub Desktop.
Save k06a/9256821cca587e16a63b to your computer and use it in GitHub Desktop.
func bind1<T1,V>(f: (T1)->V, t1: T1) -> ()->V
{
return { () -> V in f(t1) }
}
func bind1<T1,T2,V>(f: (T1,T2)->V, t1: T1) -> (T2)->V
{
return { t2 -> V in f(t1,t2) }
}
func bind1<T1,T2,T3,V>(f: (T1,T2,T3)->V, t1: T1) -> (T2,T3)->V
{
return { t2,t3 -> V in f(t1,t2,t3) }
}
func bind1<T1,T2,T3,T4,V>(f: (T1,T2,T3,T4)->V, t1: T1) -> (T2,T3,T4)->V
{
return { t2,t3,t4 -> V in f(t1,t2,t3,t4) }
}
func bind2<T1,T2,V>(f: (T1,T2)->V, t2: T2) -> (T1)->V
{
return { t1 -> V in f(t1,t2) }
}
func bind2<T1,T2,T3,V>(f: (T1,T2,T3)->V, t2: T2) -> (T1,T3)->V
{
return { t1,t3 -> V in f(t1,t2,t3) }
}
func bind2<T1,T2,T3,T4,V>(f: (T1,T2,T3,T4)->V, t2: T2) -> (T1,T3,T4)->V
{
return { t1,t3,t4 -> V in f(t1,t2,t3,t4) }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment