์ด์ ํ์ ๊ฒ์ฌ๊ธฐ ์ง๋ ๋ฐ์๋ ์ต์ํด์ง๊ณ ์๋๋ฐ ๊ฒ์ ์ดํ์ ํ์ ์ ๋ณด๋ฅผ ์ด๋ป๊ฒ ์ฝ๋ ์์ฑ ๊ณผ์ ์์ ์ ์ฉํํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค
RanolP
@ranolp@hackers.pub ยท 36 following ยท 52 followers
FunApp
(ฮ โข ๐: Humor โ Happy, ๐ : Humor) / (๐ ๐ : Happy)
GitHub
- @RanolP
Twitter (currently X)
- @RanolP_777
Higher-Rank Polymorphism์ด ์์ด์ผ ํ๋๊ฐ์ ๋ํด ๊ณ ๋ฏผํ๋ ์ค ์์ผ๋ฉด unification ๊ตฌํ์ด ๊ท์ฐฎ์์ง๋ค๋ ๊ฑฐ ๊ฐ์๋ฐ
ํด์ปค์คํ์ ํ์ด์ง ๋งจ ์๋ก ๋ฒํผ์ด ์์ผ๋ฉด ์ข๊ฒ ๋ค
Higher-Order Abstract Syntax๊ฐ ์ ์ ์ฉํ์ง ์ดํด๋ณด๊ณ ์๋๋ฐ ์์ง์ ์ ๋ชจ๋ฅด๊ฒ ๋ค ๋ฉํ ์ธ์ด์ ๋์ ์ธ์ด๊ฐ ์๋ค๋ถํฐ ๊ธฐ๊ธฐ๋ฌ๋ฌํ๋ฐ
์ ๋ณด ๋ฆฌํฐ๋ฌ์ ๊ด๋ จ ์๊ฒฌ์ ๋ณด์กดํ๋ฌ ์๋ค. ์ฐ๋ฆฌ๋ ํํ ์์ด ์๋ฃ๊ฐ ํ๊ตญ์ด ์๋ฃ๋ณด๋ค ๋ซ๋ค๋ ๋ฌธํ์ฌ๋์ฃผ์์ ์๊ฒฌ์ ๊ณต๊ฐํ๊ณค ํ๋ค. ํ์ง๋ง ์ฌ๊ธฐ์ ์จ์ ์๊ฒฌ์ด ์ฌ๋ฟ ์๋ค. ํ๋์ฉ ๊น๋ณด๋ฉฐ ์๋ฏธํด๋ณด์.
์์ด ์๋ฃ๋ ํ๊ตญ์ด ์๋ฃ๋ณด๋ค ๋ซ๋ค. => ์ ๋์๊น? ๋์์ด ๋๊ธฐ ๋๋ฌธ์. ์ ๋์์ด ๋ ๊น? => (์ง์ค์ ๊ฐ๊น๊ธฐ ๋๋ฌธ์, ๋ค์ํ ๊ฒฝํ์ด ์ ์๋์ด ์๊ธฐ ๋๋ฌธ์). ์ ์ง์ค์ ๊ฐ๊น์ธ๊น? => 1์ฐจ ์ถ์ฒ์ ๊ฐ๊น๊ธฐ ๋๋ฌธ์. ์ 1์ฐจ ์ถ์ฒ์ ๊ฐ๊น์ธ๊น? => ์ฌ์ฉ์๊ฐ ๋ค์์ด๊ธฐ ๋๋ฌธ์ ์ง์ ์ฌ์ฉํ๊ฑฐ๋ ๋ฒ์ญ๋์ด 2์ฐจ ์ถ์ฒ๋ก ๊ธฐ๋ฅํ๊ธฐ ๋๋ฌธ์. ์ ๋ค์ํ ๊ฒฝํ์ด ์์๊น? => ์์ฐ์๊ฐ ์๋ฃ ์์ฑ ์ ์์ด๋ฅผ ์ ํํ ํ๋ฅ ์ด ํ๊ตญ์ด๋ณด๋ค ๋๊ธฐ ๋๋ฌธ์.
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์์ด ์๋ฃ๊ฐ ๋์ ์ด์ ๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ํํํ ์ ์๋ค.
- (์ผ๋ฐ์ ์ผ๋ก) ํ๊ตญ์ด ์น๋ณด๋ค ์์ด ์น์ด ๋ ํฌ๊ธฐ ๋๋ฌธ์ ์ํ๋ ์๋ฃ๋ฅผ ๊ตฌํ ํ๋ฅ ์ด ๋ ๋๋ค.
- (์ผ๋ฐ์ ์ผ๋ก) ํ๊ตญ์ด ์น๋ณด๋ค ์์ด ์น์์ 1์ฐจ ์ถ์ฒ์ ๊ฐ๊น์ด ์๋ฃ๋ฅผ ๊ตฌํ ํ๋ฅ ์ด ๋ ๋๋ค.
ํ์ ๊ณต๊ฐ์ ๋ํ๊ณ , ์ ๋ณด ์ ํ ๊ณผ์ ์์์ ์๊ณก์ ์ค์ด๊ธฐ ์ํด์ ์์ด ์น ํ์์ด ํจ๊ณผ์ ์ด๋ค. ๋ค๋ง ์์ด ์น์ด "์ธ์ ๋" ์ข์ ๊ฑด ์๋๋ค. ํ์ปด์คํผ์ค ์๋ฃ๊ฐ ๋ฏธ๊ตญ์ ๋ง๊ฒ ๋๊ฐ, ์๋๋ฉด ํ๊ตญ์ ๋ง๊ฒ ๋๊ฐ? 1์ฐจ ์ถ์ฒ์ ๊ฐ๊น์ด ๊ณณ์ ํฅํด ์๊ณก์ ์ค์ด๊ณ , ๊ทธ ์์์ ํ์ ๊ณต๊ฐ์ ์ต๋ํ ํจ์จ์ ์ผ๋ก ๋ํ์ผ ํ๋ค.
์์ด ๊ฒ์์ด๋ผ๋ ํผ์์ ์ธ ํ์์์ ๋ฒ์ด๋ ์ ๋ณด ํ์์ ๋ณธ์ง์ ์ข๋ ๊ฒ์ด ์ข๋ค.
์ค๋๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ด์ผ๊ธฐํ๋ฌ ์๋ค. ์ค๋ ์ฃผ์ ๋ ํ์ ์คํฌ๋ฆฝํธ์ ํต์ฌ ๊ฐ์น๋ค.
๋ง์ ์ฌ๋๋ค์ด ์ ์ ํ์ ์ธ์ด๋ฅผ ๋์ ํ๋ ์ด์ ๋ก ์์ ์ฑ(Soundness)๋ฅผ ์ด์ผ๊ธฐํ๋ค. ๋ง๋ ๋ง์ด๋ค. ํ์ง๋ง ํ์ ์คํฌ๋ฆฝํธ์์ ์์ ์ฑ์ 2๋ฑ ๊ฐ์น๋ค. ๊ทธ๋ผ 1๋ฑ ๊ฐ์น๋ ๋ญ๊น?
๋ฐ๋ก ๊ฐ๋ฐ ๊ฒฝํ ๊ฐ์ ์ด๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ์ค๋ฅ ๋๊ธฐ ์ฌ์ด ๊ตฌ๋ฌธ์ ์ ๋นํ ์ค์ด๊ณ ์๋ ์์ฑ์ ๊ฐ์ ํ๋ฉฐ ํฐ ๊ท๋ชจ ๋ฆฌํฉํ ๋ง ์ ์ฌ๋ฆฌ์ (๊ทธ๋ฆฌ๊ณ any ๊ฐ์ ๊ธฐ๋ฅ์ ์ ์ผ๋ค๋ ๊ฐ์ ํ์ ๋ฐํ์์๋ ์ ์๋ฏธํ ์์ค์) ์์ ์ฑ์ ์ป๊ฒ ๋ค๋ ๊ฑฐ๋ค.
ํ์ ์คํฌ๋ฆฝํธ ๊ณต์ ์ํค ๋ฌธ์์๋ ์์ ์ฑ์ ๋ชฉํ๊ฐ ์๋๋ผ๊ณ ๋์์๋ค (#). ์ฐ๋ฆฌ๋ ๋๋๋ก ๋๊ตฌ์ ๋ชฉ์ ์ ๋ค์ด๋ง์ง ์๋ ๋ถํ์ํ ๊ธฐ๋๋ฅผ ํ๊ณค ํ๋ค. ํ์ง๋ง ๋๊ตฌ ๊ฐ๋ฐ์์ ์ธ์ฐ๋ ๊ฑด ์ฌ์ฉ์๋ก์ ์ข์ ์ ๋ต์ด ์๋๋ค.
์กฐ๊ฑด๋ถ ํ์ ๊ณผ ์ฌ๊ท ํ์ , ํ ํ๋ฆฟ ๋ฌธ์์ด ํ์ , infer ๋ฑ์ ๋ณด๋ผ. ์ ์ ๋ถ์ ๋์ด๋๊ฐ ์ง์์ ์ผ๋ก ์ฌ๋ผ๊ฐ๋ ํฌํํ ๊ธฐ๋ฅ๋ค์ด ์ธ์ด์ ๊ณ์ ์ถ๊ฐ๋๋ ์ด์ ๊ฐ ๋ฌด์์ธ๊ฐ. ์ถ๋ก ์ ํฌ๊ธฐํ๊ณ any๊ฐ ๋์ค๊ณค ํ๋ ์ด์ ๊ฐ ๋ฌด์์ธ๊ฐ.
๊ทธ๋ค์ด ์ถ๊ตฌํ๋ ๊ฒ ์์ ํ ์ธ๊ณ๊ฐ ์๋ ์ค์ฉ์ ์ธ ์ธ๊ณ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๋: ๊ฑด์ ํ ์ก์ ์ ๊ฑด์ ํ ์ ์ ์ด ๊น๋ ๋ค(Sound body โ Sound mind) โ ๊ฑด์ ํ์ง ์์ ์ ์ ์ด๋ผ๋ฉด ์ก์ ๋ ๊ฑด์ ํ์ง ์๋ค (ยฌSound mind โ ยฌSound body)
@: ๋น์ ์ ๋ช ์ ์ ๋์ฐ์ ์ฐธ๊ฐ์ด ๊ฐ๋ค๋ ์ฃผ์ฅ์ ํ๋ฉฐ ๋ฐฐ์ค๋ฅ ์ ๊ฐ์ ํ๊ณ ๋ง์์ต๋๋ค!!
๋: ์ ์ง์ฆ๋
๋ญ๋ผ๋ ๊ฑฐ์์ฌ
We eventually end up with constraints of the shape โ
โ and there always exists a and such that we can reduce the constraint to an equivalent constraint .โ (Parreaux and Chau, 2022, p. 10)
์ Ctrl + Enter๋ก ์ฌ๋ฆฌ๊ธฐ ๋๋๊น ๋๋ฌด ํธํ๋ค ์ด๊ฒ SNS์ง
MLstruct ์ฝ๊ณ ์๋๋ฐ ๋คํ์ค๋ฝ๊ฒ๋ Simple-sub ๊ธฐ๋ฐ์ด๋ผ๊ณ ํ๋ค. MLsub ๊ธฐ๋ฐ์ด์์ผ๋ฉด MLsub ์ฝ์ผ๋ฌ ๊ฐ์ผ ํด์ ์ธ์์
@cog25 ๋์ ์ด๋ํ๋ค ํํ
์ด๋ฐ ๋ฉด์์ KDL์ด ์์ฃผ ํ๋ฅญํ๋ค๊ณ ๋๊ผ๋ ๊ฒ /- ์ฃผ์์ด๋ ๊ฒ ์๋ค. AST ๋ ธ๋ ํ๋๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํ๋ ๊ฑฐ.
#์๊ธฐ์๊ฐ ๋ฅผ ํด๋ณผ๊น์.
@ranolpRanolโP ์ ๋์ผ์ธ์ ๋๋ค...๋ง ํด๋น ๊ณ์ ์ ๊ทผ์์ผ ๋ด์ ์ด๋ฆด ๊ณํ์ด ์์ต๋๋ค.
@ranolp ๊ณ์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก /ํด์ปค์คํ ์ฌ์ฉ๊ธฐ ์์ฃผ ๊ณ์ ์ ๋๋ค.
- ๋ค์ ๋งํ์๋ฉด ๊ทธ ์ธ ์ผ์์ ์ธ ๋ด์ฉ์ ํธ์ํฐ์์ ์ด์ผ๊ธฐํ๋ค๋ ๋ป์ ๋๋ค...
- TypeScript์ ์ผ์ถ ํธํ๋๋ฉด์ ์ ์ ์ ์ธ ํ์
์ถ๋ก ๊ท์น์ ๊ฐ์ง ์ธ์ด๋ฅผ ๋ง๋ค๋ ค๊ณ ํ์
์ด๋ก ์ ๊ณต๋ถํ๊ณ ์์ต๋๋ค.
- ์ข ๋ง์ด ์ ์๋ Bidirectional Typing (J. Dunfield, N. Krishnaswami)์ ์ฝ์์๊ณ ,
- ๋ ์ผ์ ์๋ ํ๋น๊ฒ ๋ํ ๋ด์์ ์ฐ๊ตฌํ๋ ๋์์ ํจ๊ณผ ์ธ์ด Effekt๋ ๊ฐ๋จํ ์ดํด๋ณด์์์ต๋๋ค.
- ์ต๊ทผ์๋ ํ๋ค๋ฆฌ-๋ฐ๋-๋ค๋ง์ค ํ์
์ถ๋ก ์์ ์น์ ๋ถํ์
ํ์ฅ์ ์ดํด๋ณด๊ณ ์์ต๋๋ค.
- ์บ ๋ธ๋ฆฟ์ง ๋ํ ์ฐ๊ตฌ์ธ MLsub (S. Dolan and A. Mycroft)...
- ์ ๋จ์ํํ Simple-sub (L. Parreaux)์ ์์์ผ๋ก MLstruct, Ultimate Conditional Syntax ๋ฑ ํ์ฝฉ๋ ์ฐ๊ตฌ๋ฅผ ๋ง์ด ๋ณด๊ณ ์์ต๋๋ค
- MLscript๊ฐ ์ ๋ง ํฅ๋ฏธ๋ก์ด ์ธ์ด์์ ReScript but more Kotlin์ฒ๋ผ ์๊ฒผ์
- ์ฌํด ๋ค์ด์ An Infinitely Large Napkin์ผ๋ก ๊ตฐ๋ก ๊ณผ ๊ตฐ์ ์์ฉ, ์์์ํ๊ณผ ๋์ ์์(ํธ๋ชจํ ํผ๋ง), ๊ทธ๋ฆฌ๊ณ ๋ฒ์ฃผ๋ก ์ ๋ฐฐ์ ์ต๋๋ค.
- ํ์์ ์ฆ๋ช
๋ณด์กฐ๊ธฐ์๋ ๊ด์ฌ์ด ๋ง์ต๋๋ค.
- Software Foundation์ ํตํด Coq (ํ Rocq)๋ฅผ ์ฝ๊ฐ ๋ฐฐ์ ์ต๋๋ค.
- Lean 4๋ ์ฝ๊ฐ ๋ง๋ณด๊ธฐ๋ฅผ ํ์ต๋๋ค.
- ์์กด ํ์
/๋งํด ๋ขฐํ ํ์
(MLTT)/ํธ๋ชจํ ํผ ํ์
(HoTT) ๋ฑ์ ๋ฐฐ์ ๊ฐ๋จํ ์ฆ๋ช
๋ณด์กฐ๊ธฐ๋ ๋ง๋ค์ด๋ณด๊ณ ์ถ๋ค์.
- ์๋ง An Infinitely Large Napkin ์คํฐ๋๊ฐ ๋๋๋ฉด HoTT ์คํฐ๋๋ฅผ ํ์ง ์์๊น ์ถ๋ค์.
ํจ์ํ ์ธ์ด๋ ๋ญ ์ฌ์ค ์ญ์ฌ์ ์ ํต์ ๋ฆฌ์คํ ๋ฐฉ์ธ์์ ์์ํด์ผ ํ์ง ์๋ (์์)
๋ชจ๋ฐ์ผ ์น์ ๊ทธ๋ฅ ์๋ก ๋์์ธํ๋ ๊ฑธ ๊ฐ์ธ์ ์ผ๋ก ์ ํธํ๋ค. ๋ด๋น๊ฒ์ด์ ๋ฐฉ๋ฒ์ด ๊ฝค๋ ๋ฌ๋ผ์ (๋ฐํ ํญ ๋ด๋น๊ฒ์ด์ ๋ฑ)
์๊ธฐ์๊ฐ ๊ฐ์ก๊ณ ์ฐ๊ธฐ ๊ท์ฐฎ์
~๋ถ์ ๋ถ๋ถ์ ๋๋ฌ์ผ ์ค๋ ๋ ์๋ก ํ์์ด ๊ฐ๋ฅํ๋ฐ ๊ทธ๋ฅ ํธ์ํฐ์ UX๋ก ์์ชฝ ํธ์ ์์ญ ์ ์ฒด๊ฐ ์ค๋ ๋ ์๋ก ํ์ ๊ธฐ๋ฅ์ด๋ฉด ์๋๋
2022๋ ๋ ผ๋ฌธ์ด๋ฉด very new thingy์ฃ
๋๋์ด ๊ธฐ๋ณธ ํ์ ์ถ๋ก ์์ด๋์ด๋ฅผ ์ผํํ ์ ์๋ค
MLstruct ๋ ผ๋ฌธ์ ์ฝ์ด์ผ ํ๋๋ฐ ๋๋ฌด ๊ท์ฐฎ๋ค... Simple-sub ๋ ผ๋ฌธ์ Scala ์ฝ๋ ์ค์ ์ฝ๊ณ ๊ตฌํํ๊ธฐ ์ฌ์ ๋จ ๋ง์ผ
ํธ์ํฐ๋ ํธ์น์๊ณ ๋ธ๋ฃจ์ค์นด์ด๋ ๋ธ์น์๋๊น ํด์ปค์คํ์ ํด์น์ ๋ด์ง๋ ํ์น์๊ฒ ๊ตฐ
์ฌ๋ ํ์ฌ/๋๋ค์์ ํธ๋ฒํ์ ๋ ํธ๋ฒ ์นด๋ ์๋์ค๋ ๊ฑฐ ์๊ทผ ๋ถํธํ๋ค ์ด๊ธฐ ํ๋ก์ฐ ๊ด๊ณ ๋น๋ฉํ ๋ ํ์๋ผ์ธ ๋ณด๋ฉด์ ์ฌ๋ฐ์ด๋ณด์ด๋ ์ฌ๋ ๋ณด์ด๋ฉด ์ฆ์ ํธ๋ฒ ์นด๋์์ ํ๋กํ๋ฉด ํธํ๋ฐ
์ ctrl + enter ๋๋ฌ๋ ์ ์ฌ๋ผ๊ฐ์ง....
๋ฒจ๋ก๊ทธ์ draft๋ก ๋จ๊ฒจ๋๋ ๋ ผ๋ฌธ ์์ฝ+๋ฒ์ญ ํฌ์คํธ๋ฅผ ์ด๋ ค์ ์ฌ๊ธฐ๋ค๊ฐ ์ฌ๋ฆฌ๋ฉด ๊ด์ฐฎ์ผ๋ ค๋
ํด์ปค์คํ์ PWA๋ก ์ค์นํ๋๊น ๋ค๋ก๊ฐ๊ธฐํ๋ฉด ์ฑ์ ์ดํํด๋ฒ๋ ค์ ๊ณค๋ํ๋ค
์ฌ๊ธฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ด์ผ๊ธฐ๋ ํด์ผ๊ฒ ๋ค