@curry박준규 더 primitive한 의미론을 포착해서 문법 요소로 만들고 그걸로 다양한 정의를 하게 하는게 낫다는 점에선 동의하는데요. 말씀하신 기준을 그대로 적용해버리면, 모든 언어들이(하스켈도 포함) 발전할수록 점점 키워드가 추가되는데, 그때마다 점점 더 안 좋아졌다고 하면 좀 이상하죠.
@bglbgl gwyng
@curry박준규 적은 키워드로 표현 가능한 상황이 더 많다면 "디자인(Design)이 더 잘 되었다"고는 할 수 있다고 봅니다. 언어가 발전한다는게 디자인을 개선한다는 것과 직결되어있지 않은 경우가 더 많으니 말입니다. (많은 경우 표현력의 증대나 자주 사용되는 표현의 단순화에 더 집중하죠)
If you have a fediverse account, you can reply to this note from your own instance. Search https://hackers.pub/ap/notes/01963c6e-94ec-77ca-9fcd-31e570bbb607 on your instance and reply to it.
@ailrunAilrun (UTC-5/-4)
@curry박준규 그래서 do notaion, proc notation 등을 추가하는거랑,
OverloadedDotRecord
같은 문법 확장을 구분해서 보는게 좋다고 생각합니다. 전자의 경우들은 각각 대응하는 Monad, Arrow 등의 개념을 발견하고나서야 추가할수 있었을테고, 후자는 (정확한 역사는 모르겠지만) 그냥 불평불만이 하도 많다보니 땜빵한거에 가깝게 보입니다.