Typescriptda bunaqa mazahizm qilsa bo'ladi.
JSchialrga IQtest.
Kegin huddi shuni teskarisi
O'zi TSdagi literal tiplar evaziga siz masalan bunaqa qilib tip elon qila olasiz
Bugun ozgina yoshlikni esladim 🥸
JSchialrga IQtest.
typeT misolidaka agar FromNumber<n> berilsa type level N bo'lishi kerak. Real misol:FromNumber<1> -> Succ<Zero>Kegin huddi shuni teskarisi
ToNumber<T> . Bu yerda type leveldagi raqamni ham rostmana raqamga o'girish kerak. O'zi TSdagi literal tiplar evaziga siz masalan bunaqa qilib tip elon qila olasiz
let one:1ToNumber<T> kakraz manashu literal tip qaytarishi kerak. Endi Add<A, B> ni yozsangiz kifoya :) Bugun ozgina yoshlikni esladim 🥸
Yana bir prikol narsa aytaymi ?
Manashu literal tiplar evaziga typescriptda daje tiplar bilan parser yozsa bo'ladi. Mikkimaus frankenshteyn parser chiqsa kerak o'ziyam, nu eplasa bo'ladi ozgina xarakat qilsa.
masalan tassavur qiling
Tabiy intelektingiz bilan qilib ko'ring.
Manashu literal tiplar evaziga typescriptda daje tiplar bilan parser yozsa bo'ladi. Mikkimaus frankenshteyn parser chiqsa kerak o'ziyam, nu eplasa bo'ladi ozgina xarakat qilsa.
masalan tassavur qiling
type R = Parse<"1 + 1"> manashunaqa yozilgani bemalol Result<Add<Succ<Zero>>,Succ<Zero>>> qilish mumkin.Tabiy intelektingiz bilan qilib ko'ring.
🥱4🔥1
Forwarded from Xinux (bahrom04)
Qanday Xinux aloqador mavzular qiziq?
Anonymous Poll
29%
Konferensiya
30%
Video qoʻllanma/darslik
28%
Yozma qoʻllanma/darslik
31%
Koʻproq ishyu va PRda qatnashish
40%
Nix
59%
Rust
34%
Haskell
15%
Boshqa. Guruhga yozaman
❤1
Shu basic arithmetic interpeterni kamida 20+ marotaba turlicha tilda turlicha uslublarda yozishga xarakat qilganman hammasi ham yemagan.
Har safar tulircha, ammo bitta narsa. Mana typescript ham bor endi check listda.
Hulosalarga kelsam.
Effekti zaif karoche :) kuchliroq tiplarga o'tirib qolib bo'lganman.
Buyoqda hamma mikkimaus kod, bug bilan birga: https://gist.github.com/lambdajon/1b7ad0e08a7a82087c045cf5ad7117cf
Shu bilan yana birnecha yil bu typescript temasiga qaytmasam kerak.
Har safar tulircha, ammo bitta narsa. Mana typescript ham bor endi check listda.
Hulosalarga kelsam.
Effekti zaif karoche :) kuchliroq tiplarga o'tirib qolib bo'lganman.
Buyoqda hamma mikkimaus kod, bug bilan birga: https://gist.github.com/lambdajon/1b7ad0e08a7a82087c045cf5ad7117cf
Shu bilan yana birnecha yil bu typescript temasiga qaytmasam kerak.
Xinux
Qanday Xinux aloqador mavzular qiziq?
Haskell, Rust, Nix temasida qiziquvchilar ancha ko'payibtiku 👍
Bilamizki polymorhism variablelar birnecha tiplar variantiga mos kelishiga ko'p tiplarga, keluvchi funksiyalar yozish degani. Ishqilib birnecha termga mos type fa birnecha typega mos term temasi. Nu hammaga tushunarli qismi shu.
Endi mikkimorphism ham bor bilasilarmi ?
Mikkimorphism — Dasturchilar kod yozishidan tashqari hamma narsa qilishiga, texnik muammo ustida qayg'urishdan tashqari hamma narsa ustida qayg'urishiga va eng muhimi biznes tiplariga qarab ad-hoc yechimlar berishga imkon beruvchi tushuncha.
Mikkimorhism ikki ko'rinisda bo'lishi mumkin.
1. Odam rostdan o'z haiqatiga qattiq ishonadi yani fanat.
2. Shunchaki dolbaeb, daun qisqasi replicable.
Ikki holatda ham mikkimorhism bo'lishi mumkin.
Endi mikkimorphism ham bor bilasilarmi ?
Mikkimorphism — Dasturchilar kod yozishidan tashqari hamma narsa qilishiga, texnik muammo ustida qayg'urishdan tashqari hamma narsa ustida qayg'urishiga va eng muhimi biznes tiplariga qarab ad-hoc yechimlar berishga imkon beruvchi tushuncha.
Mikkimorhism ikki ko'rinisda bo'lishi mumkin.
1. Odam rostdan o'z haiqatiga qattiq ishonadi yani fanat.
2. Shunchaki dolbaeb, daun qisqasi replicable.
Ikki holatda ham mikkimorhism bo'lishi mumkin.
😁6