https://github.com/damhiya/dc-github-ps/blob/master/CompileTimeSort/QSort.hs
c++ 처럼 사용하는건 좀 무리기는 함.
그냥 할 수 있는데로 해봄
근데 어째 열댓개쯤 넣으면 ㅈㄴ 느려지네..
ghci 에서 타입 연산 할때 뒤에서 하는일이 엄청 많아서 그런가..?
https://github.com/damhiya/dc-github-ps/blob/master/CompileTimeSort/QSort.hs
c++ 처럼 사용하는건 좀 무리기는 함.
그냥 할 수 있는데로 해봄
근데 어째 열댓개쯤 넣으면 ㅈㄴ 느려지네..
ghci 에서 타입 연산 할때 뒤에서 하는일이 엄청 많아서 그런가..?
ghc 타입 체커가 strict한걸로 알고 있는데 if문에 인자를 넣는 방식으로 해서 그런거 아닐까 추측해봄(안 확실함) - dc App
아 그거 가능성 있다 ㅋㅋ
유력한데
근데 이거 해결할 방법이 있나..?
조건문을 각 케이스별로 일일이 정의하면 가능하긴 할듯 ㅋㅋㅋㅋ - dc App
근데 타입레벨 case문이 없어서 패턴 매칭이 top level에서만 되는데, sugar가 없어서 동시에 여러패턴 매칭을 못함 ㅋㅋ
x1:x2:xs 이런건 매칭 못하는것 같던데
아 함수로 빼면 되려나 한번 해봐야겠다
패턴매칭 필요한것마다 함수로 다 빼서 탑레벨 만들면 되긴 될듯
방금 님말 듣고 고쳤는데 이제 제대로 된다!
엄청나게 빨라짐 ㅋㅋㅋㅋ
ㅋㅋㅋㅋㅋ 이게 nlogn이지 - dc App
ㄹㅇ ㅋㅋ 가급적 FilterLE랑 FilterGT도 한번에 계산하게 하고 싶은데, partial apply가 안되서 골아프네;;
아니면 gt를 부르는 대신 gt_if를 <=?를 인자로 줘서 바로 부르는것도 괜찮을듯. 가독성은 좀 떨어지겠지만 - dc App