Skip to content

Instantly share code, notes, and snippets.

@polidog
Created June 17, 2017 15:57
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 polidog/3c620b33d5c494cc8293683f410ef498 to your computer and use it in GitHub Desktop.
Save polidog/3c620b33d5c494cc8293683f410ef498 to your computer and use it in GitHub Desktop.
このコードが理解できない・・・
var empty = () => {
return (pattern) => {
return pattern.empty()
}
}
var cons = (value, list) => {
return (pattern) => {
return pattern.cons(value,list)
}
}
var match = (data, pattern) => {
return data(pattern)
}
var isEmpty = (alist) => {
return match(alist,{
empty: (_) => {
return true;
},
cons: (head, tail) => {
return false;
}
})
}
console.log(isEmpty(empty()))
console.log(isEmpty(cons(1,empty())))
@polidog
Copy link
Author

polidog commented Jun 17, 2017

あーポリモーフィズム的なあれか・・・。

@polidog
Copy link
Author

polidog commented Jun 17, 2017

型がないと辛い問題・・・

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment