FunC-แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒแƒ“ แƒ’แƒแƒ“แƒแƒฅแƒชแƒ”แƒ•แƒ Haskell-แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“: แƒ แƒแƒ’แƒแƒ  แƒ›แƒแƒ˜แƒ’แƒ Serokell-แƒ›แƒ Telegram Blockchain-แƒ˜แƒก แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜

แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒšแƒ‘แƒแƒ— แƒ’แƒกแƒ›แƒ”แƒœแƒ˜แƒแƒ— แƒ”แƒก Telegram แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒก Ton blockchain แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ’แƒ แƒฉแƒ”แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒแƒ›แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ› แƒแƒ แƒช แƒ˜แƒกแƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒฌแƒ˜แƒœ Telegram แƒ’แƒแƒ›แƒแƒแƒชแƒฎแƒแƒ“แƒ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜ แƒแƒ› แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒšแƒแƒ“.

Serokell-แƒ˜แƒก แƒ’แƒฃแƒœแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ“แƒ˜แƒ“แƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒฅแƒ•แƒก แƒ›แƒกแƒฎแƒ•แƒ˜แƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒจแƒ˜, แƒ’แƒแƒœแƒ–แƒ” แƒ•แƒ”แƒ  แƒ’แƒแƒฉแƒ”แƒ แƒ“แƒ. แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ–แƒ” แƒฎแƒฃแƒ—แƒ˜ แƒ—แƒแƒœแƒแƒ›แƒจแƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒ’แƒแƒ•แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ— แƒ“แƒ แƒแƒ แƒ˜ แƒ™แƒ•แƒ˜แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ— แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒ“แƒแƒ˜แƒ™แƒแƒ•แƒ”แƒก (แƒแƒ แƒ)แƒ›แƒแƒ™แƒ แƒซแƒแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒ›แƒ”แƒขแƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— แƒกแƒ”แƒฅแƒกแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒฅแƒแƒ›แƒ”แƒšแƒ”แƒแƒœแƒ˜. แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘ แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒก แƒ”แƒก. แƒ•แƒ˜แƒ›แƒ”แƒ“แƒแƒ•แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒฃแƒแƒฎแƒšแƒแƒ”แƒก แƒแƒ— แƒฌแƒฃแƒ—แƒจแƒ˜ แƒ›แƒแƒ˜แƒœแƒช แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ•แƒ— แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒแƒ›แƒ‘แƒแƒ•แƒก แƒ“แƒ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒฃแƒ› แƒ˜แƒžแƒแƒ•แƒ˜แƒ— แƒ›แƒแƒกแƒจแƒ˜ แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒกแƒแƒฅแƒ›แƒ˜แƒแƒœแƒแƒ‘แƒแƒจแƒ˜.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒ›แƒชแƒ˜แƒ แƒ” แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒ—.

แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒ˜

แƒแƒกแƒ” แƒ แƒแƒ›, แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ—แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜ แƒ˜แƒงแƒ แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒจแƒ”แƒ›แƒแƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ, แƒแƒกแƒ”แƒ•แƒ” TON แƒ”แƒ™แƒแƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒ“แƒแƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ. แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜ 24 แƒกแƒ”แƒฅแƒขแƒ”แƒ›แƒ‘แƒ แƒ˜แƒ“แƒแƒœ 15 แƒแƒฅแƒขแƒแƒ›แƒ‘แƒ แƒ˜แƒก แƒฉแƒแƒ—แƒ•แƒšแƒ˜แƒ— แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ, แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ™แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ 15 แƒœแƒแƒ”แƒ›แƒ‘แƒ”แƒ แƒก แƒ’แƒแƒ›แƒแƒชแƒฎแƒแƒ“แƒ“แƒ. แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜, แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› แƒแƒ› แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ Telegram-แƒ›แƒ แƒ›แƒแƒแƒฎแƒ”แƒ แƒฎแƒ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ C++-แƒจแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒกแƒ แƒ“แƒ แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, Telegram-แƒจแƒ˜ VoIP แƒ–แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒแƒกแƒ”แƒ‘แƒšแƒแƒ“.

แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒ›แƒแƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ˜แƒ“แƒแƒœ แƒแƒ แƒ˜ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ แƒจแƒ”แƒ•แƒแƒ แƒฉแƒ˜แƒ”แƒ—. แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ— TON-แƒ˜แƒ— แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜, แƒฎแƒแƒšแƒ แƒ›แƒ”แƒแƒ แƒ” แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ แƒแƒฎแƒแƒš แƒ”แƒœแƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ TON-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ Haskell-แƒจแƒ˜.

แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก. แƒฉแƒ•แƒ”แƒœแƒก แƒ™แƒแƒ แƒžแƒแƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ‘แƒšแƒแƒ’แƒ˜ แƒฉแƒ•แƒ”แƒœ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ•แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒ— แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒขแƒแƒ› แƒ’แƒ•แƒ’แƒแƒœแƒ˜แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒฃแƒ แƒ˜ แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ” แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ แƒ˜ แƒ’แƒแƒ–แƒ•แƒ˜แƒแƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ•แƒแƒœแƒ˜แƒญแƒ”แƒ‘แƒ— แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒแƒก แƒ›แƒแƒ— แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ–แƒ” แƒแƒ แƒ˜แƒ”แƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ”แƒœแƒ”แƒ‘แƒก. แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒ˜.

แƒ แƒแƒขแƒแƒ› แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ?

แƒ›แƒแƒ™แƒšแƒ”แƒ“, แƒ˜แƒ›แƒ˜แƒขแƒแƒ›, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒ แƒ˜แƒก แƒแƒ แƒแƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ“แƒ แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒกแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒš แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒก แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ“แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ›แƒ”แƒชแƒœแƒ˜แƒ”แƒ แƒฃแƒšแƒ˜ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ”แƒ IT แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฉแƒ•แƒ”แƒœ แƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ“ แƒ•แƒฃแƒญแƒ”แƒ แƒ— แƒ›แƒฎแƒแƒ แƒก แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒก แƒ“แƒ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒ•แƒแƒ แƒ— แƒ›แƒ˜แƒก แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒแƒจแƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒ—แƒแƒœแƒแƒ›แƒจแƒ แƒแƒ›แƒšแƒแƒ‘แƒ— แƒฌแƒแƒ›แƒงแƒ•แƒแƒœ แƒ แƒฃแƒกแƒฃแƒš แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒ˜แƒขแƒ”แƒขแƒ”แƒ‘แƒ—แƒแƒœ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒ›แƒ”แƒชแƒœแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒ—แƒ”แƒ›แƒแƒขแƒ˜แƒ™แƒ˜แƒก แƒกแƒคแƒ”แƒ แƒแƒจแƒ˜.

แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜แƒก แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒกแƒแƒงแƒ•แƒแƒ แƒ”แƒš แƒขแƒ”แƒšแƒ”แƒ’แƒ แƒแƒ›แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜ แƒฉแƒแƒ แƒ—แƒ•แƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒ›แƒแƒขแƒ˜แƒ•แƒแƒชแƒ˜แƒ แƒ˜แƒงแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒžแƒ แƒ˜แƒ–แƒ แƒคแƒแƒœแƒ“แƒ˜ แƒ’แƒแƒฎแƒ“แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒขแƒ˜แƒ›แƒฃแƒšแƒ˜. ๐Ÿ™‚

TON-แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ™แƒ•แƒšแƒ”แƒ•แƒ

แƒฉแƒ•แƒ”แƒœ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒ— แƒ•แƒแƒ“แƒ”แƒ•แƒœแƒ”แƒ‘แƒ— แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒก แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก, แƒฎแƒ”แƒšแƒแƒ•แƒœแƒฃแƒ แƒ˜ แƒ˜แƒœแƒขแƒ”แƒšแƒ”แƒฅแƒขแƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ—แƒ›แƒชแƒแƒ“แƒœแƒ”แƒแƒ‘แƒ˜แƒก แƒแƒฎแƒแƒš แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒก แƒ“แƒ แƒ•แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ— แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒขแƒแƒ•แƒแƒ— แƒแƒ แƒช แƒ”แƒ แƒ—แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ”แƒ›แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒกแƒคแƒ”แƒ แƒแƒจแƒ˜, แƒกแƒแƒ“แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ—. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒฃแƒœแƒ“แƒ˜ แƒฃแƒ™แƒ•แƒ” แƒ˜แƒชแƒœแƒแƒ‘แƒ“แƒ แƒ˜แƒ“แƒ”แƒ”แƒ‘แƒก TON แƒ—แƒ”แƒ—แƒ แƒ˜ แƒฅแƒแƒฆแƒแƒšแƒ“แƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, TON-แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒแƒ•แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ— แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ“แƒ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ™แƒแƒ“แƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒแƒจแƒ™แƒแƒ แƒ แƒ˜แƒงแƒ - แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒšแƒ˜แƒแƒœแƒ˜ แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ. แƒแƒœแƒšแƒแƒ˜แƒœแƒ˜ แƒ“แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒ˜.

แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ™แƒแƒ“แƒ˜ แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ“แƒ แƒแƒ˜แƒก แƒ“แƒแƒ–แƒแƒ’แƒ•แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ— แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒ แƒแƒœ แƒ แƒ”แƒ–แƒ˜แƒฃแƒ›แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ˜แƒงแƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ . แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒแƒ›แƒแƒœ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒแƒ  แƒ›แƒแƒ˜แƒขแƒแƒœแƒ - แƒ’แƒแƒ แƒ“แƒ Ubuntu-แƒ–แƒ” แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ˜แƒกแƒ, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒ•แƒ˜แƒžแƒแƒ•แƒœแƒ”แƒ— แƒกแƒฎแƒ•แƒ แƒ›แƒแƒกแƒแƒšแƒ”แƒ‘แƒ˜.

แƒ—แƒแƒ•แƒแƒ“ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ˜แƒงแƒ แƒ’แƒแƒ›แƒแƒ™แƒ•แƒšแƒ”แƒฃแƒšแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒกแƒคแƒ”แƒ แƒแƒจแƒ˜ แƒซแƒœแƒ”แƒšแƒ˜ แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜ แƒ˜แƒงแƒ. แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ’แƒ•แƒ˜แƒฌแƒ”แƒ•แƒ“แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒžแƒฃแƒœแƒฅแƒขแƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒขแƒฃแƒšแƒ˜ แƒ˜แƒ“แƒ”แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒ‘แƒแƒš แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ.

แƒฃแƒคแƒ แƒ แƒแƒ“แƒ•แƒ˜แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ, แƒ—แƒฃ แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒ›แƒแƒ˜แƒชแƒแƒ•แƒ“แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ  แƒแƒฆแƒฌแƒ”แƒ แƒแƒก. แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฌแƒแƒ แƒ›แƒแƒแƒ“แƒ’แƒ”แƒœแƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ แƒ—แƒแƒ•แƒ˜แƒก แƒ“แƒแƒกแƒขแƒแƒก, แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒแƒ“ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฅแƒ›แƒœแƒ˜แƒแƒœ แƒ’แƒแƒœแƒ˜แƒ”แƒ  แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒก TON แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ“แƒแƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ›แƒแƒ—.

แƒœแƒ˜แƒฅแƒกแƒ˜: แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ

Serokแƒ”แƒšแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ“แƒ˜แƒ“แƒ˜ แƒ’แƒฃแƒšแƒจแƒ”แƒ›แƒแƒขแƒ™แƒ˜แƒ•แƒ แƒ”แƒ‘แƒ˜ แƒ•แƒแƒ แƒ— Nix. แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒกแƒจแƒ˜ แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒก แƒ“แƒ แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒแƒ— แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— NixOpsแƒ“แƒ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒฉแƒ•แƒ”แƒœแƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” Nix OS. แƒแƒ›แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—, แƒงแƒ•แƒ”แƒšแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ แƒ แƒ”แƒžแƒ แƒแƒ“แƒฃแƒชแƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜แƒ แƒ“แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒ“แƒแƒช แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ Nix-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ.

แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ— แƒจแƒ”แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒ— Nix-แƒ˜แƒก แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒ•แƒ TON-แƒ˜แƒก แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒฎแƒแƒขแƒ•แƒ˜แƒ—. แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒ— TON-แƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ:

$ cd ~/.config/nixpkgs/overlays && git clone https://github.com/serokell/ton.nix
$ cd /path/to/ton/repo && nix-shell
[nix-shell]$ cmakeConfigurePhase && make

แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ. แƒœแƒ˜แƒฅแƒกแƒ˜ แƒฏแƒแƒ“แƒแƒกแƒœแƒฃแƒ แƒแƒ“ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก, แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— NixOS-แƒก, Ubuntu-แƒก แƒ—แƒฃ macOS-แƒก.

แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ TON-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒ™แƒแƒ“แƒ˜ TON แƒฅแƒกแƒ”แƒšแƒจแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก TON แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ” (TVM). TVM แƒฃแƒคแƒ แƒ แƒ แƒ—แƒฃแƒšแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒกแƒฎแƒ•แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒ“แƒ แƒแƒฅแƒ•แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ ะธ แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ.

แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, TON-แƒ˜แƒก แƒ‘แƒ˜แƒญแƒ”แƒ‘แƒ›แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ”แƒก แƒกแƒแƒ›แƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ:

แƒ›แƒ”แƒฎแƒฃแƒ—แƒ” แƒแƒ แƒ˜แƒก แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฌแƒแƒแƒ’แƒแƒ•แƒก แƒ›แƒ”แƒแƒ—แƒฎแƒ”. แƒ›แƒ˜แƒกแƒ˜ แƒกแƒฃแƒžแƒ”แƒ  แƒฃแƒœแƒแƒ แƒ˜ แƒแƒ แƒ˜แƒก TVM-แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜.

FunC แƒแƒ แƒ˜แƒก แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ C แƒ“แƒ แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒ แƒ”แƒœแƒแƒ–แƒ” - Fift Assembler.

แƒ›แƒ”แƒฎแƒฃแƒ—แƒ” แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ”แƒ แƒ˜ โ€” แƒ›แƒ”แƒฎแƒฃแƒ—แƒ” แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ TVM-แƒกแƒ—แƒ•แƒ˜แƒก แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ“แƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ”แƒฎแƒฃแƒ—แƒ” แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ แƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒ”แƒ แƒ˜. แƒ”แƒก แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒแƒ›แƒ”แƒœแƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ”แƒœแƒ (eDSL).

แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก

แƒ“แƒแƒ‘แƒแƒšแƒแƒก, แƒ“แƒ แƒแƒ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒก.

แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒก แƒแƒ แƒฎแƒ˜

แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒก แƒแƒ แƒฎแƒ˜ แƒแƒ แƒ˜แƒก แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒแƒ  แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก แƒ’แƒแƒแƒ’แƒ–แƒแƒ•แƒœแƒแƒก แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ”แƒ‘แƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ—. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ“แƒแƒ–แƒแƒ’แƒแƒ•แƒ— แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒคแƒฃแƒšแƒก (แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒ™แƒแƒ›แƒ˜แƒกแƒ˜แƒ), แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ“แƒ แƒแƒกแƒแƒช (แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ”แƒšแƒแƒ“แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒก). แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒชแƒ˜แƒ แƒ”, แƒ˜แƒกแƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ›แƒฎแƒแƒ แƒ”แƒ”แƒ‘แƒก แƒแƒ  แƒฃแƒฌแƒ”แƒ•แƒ— แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ˜แƒก แƒœแƒ“แƒแƒ‘แƒ, แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ›แƒแƒ แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒ แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒ—.

แƒฉแƒ•แƒ”แƒœ แƒแƒฆแƒ›แƒแƒ•แƒแƒฉแƒ˜แƒœแƒ”แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜. แƒแƒ  แƒ›แƒฎแƒแƒ แƒ”แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ’แƒแƒชแƒ•แƒแƒšแƒแƒก แƒฎแƒ”แƒšแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒแƒ  แƒœแƒแƒ›แƒ”แƒ แƒก - แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒšแƒ˜ แƒกแƒ แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒฎแƒ. แƒ”แƒก แƒแƒ แƒ˜ แƒชแƒ˜แƒคแƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒแƒกแƒ” แƒ•แƒ”แƒฅแƒขแƒแƒ แƒฃแƒšแƒ˜ แƒกแƒแƒแƒ—แƒ˜ แƒขแƒ แƒแƒ“แƒ˜แƒชแƒ˜แƒฃแƒš แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒแƒฌแƒ”แƒกแƒ”แƒ— แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ โ€žแƒ“แƒแƒกแƒฌแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ“แƒ แƒ”โ€œ. แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒแƒก.

แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒแƒ› แƒ˜แƒ“แƒ”แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒช แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ˜แƒ•แƒ” แƒ“แƒแƒ•แƒขแƒแƒ•แƒ”แƒ—, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒจแƒ”แƒ’แƒ•แƒ”แƒซแƒšแƒ แƒฃแƒคแƒ แƒ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒแƒจแƒ˜ แƒจแƒ”แƒ’แƒ•แƒ”แƒขแƒแƒœแƒ แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒก แƒ—แƒแƒœแƒฎแƒ. แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ—แƒฃ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ แƒ แƒแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ— แƒ“แƒแƒ˜แƒ™แƒแƒ แƒ’แƒ”แƒ‘แƒ, แƒ›แƒแƒจแƒ˜แƒœ, แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒ—แƒแƒœแƒฎแƒ แƒ“แƒ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒ’แƒแƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ แƒกแƒฌแƒแƒ แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ•แƒ”แƒ  แƒจแƒ”แƒแƒ›แƒฉแƒœแƒ˜แƒแƒก แƒ–แƒแƒ แƒแƒšแƒ˜.

แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ˜แƒ“แƒ”แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ•แƒซแƒ”แƒ‘แƒœแƒ”แƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ“แƒ แƒšแƒแƒ™แƒแƒœแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒก แƒแƒ แƒฎแƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜. แƒ’แƒแƒกแƒแƒ™แƒ•แƒ˜แƒ แƒ˜แƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒแƒฆแƒ›แƒแƒ•แƒแƒฉแƒ˜แƒœแƒ”แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ แƒ˜:

  1. แƒแƒฆแƒฌแƒ”แƒ แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒชแƒแƒšแƒ›แƒฎแƒ แƒ˜แƒ•แƒ˜ แƒแƒ แƒฎแƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜.
  2. แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฆแƒฌแƒ”แƒ แƒก แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ˜แƒ“แƒ”แƒแƒก, แƒ แƒแƒช แƒฉแƒ•แƒ”แƒœแƒกแƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ˜แƒก แƒแƒฎแƒกแƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒกแƒ˜แƒกแƒฌแƒแƒ แƒ” แƒ“แƒ แƒ™แƒแƒœแƒคแƒšแƒ˜แƒฅแƒขแƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ”แƒ‘แƒ˜.

แƒ’แƒแƒ˜แƒ แƒ™แƒ•แƒ, แƒ แƒแƒ› แƒแƒ–แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒฆแƒฌแƒ”แƒ แƒแƒก, แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฅแƒชแƒ”แƒ•แƒ˜แƒ— แƒ›แƒ˜แƒก แƒกแƒ˜แƒกแƒฌแƒแƒ แƒ”แƒก. แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ›แƒ–แƒแƒ“ แƒ˜แƒงแƒ แƒ“แƒ แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ—. แƒจแƒ”แƒฎแƒ”แƒ“แƒ” แƒ›แƒแƒก.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ— แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ FunC-แƒจแƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜ แƒฉแƒ•แƒ”แƒœแƒก แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ—แƒแƒœ แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ Fift-แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ›แƒแƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ’แƒ•แƒ˜แƒ แƒฉแƒ”แƒ•แƒ”แƒœ. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ”แƒซแƒšแƒ แƒแƒ”แƒ แƒฉแƒ˜แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒ”แƒœแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ CLI-แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒ•แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ“แƒ Fit-แƒ˜แƒก แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ.

แƒ›แƒแƒ แƒ—แƒแƒšแƒ˜ แƒ’แƒ˜แƒ—แƒฎแƒ แƒแƒ—, Fift-แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒ“แƒแƒ•แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒ“แƒแƒ›แƒแƒฏแƒ”แƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜, แƒ แƒแƒ› แƒแƒ› แƒ”แƒœแƒแƒก แƒ•แƒแƒ›แƒฏแƒแƒ‘แƒ˜แƒœแƒแƒ— แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒš แƒ“แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ”แƒœแƒ”แƒ‘แƒ–แƒ”, แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜แƒ—แƒ แƒ“แƒ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜แƒ—. แƒกแƒขแƒ”แƒ™แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒš แƒ”แƒœแƒแƒ–แƒ” แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒฃแƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒแƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ—แƒแƒ•แƒจแƒ˜ แƒ˜แƒก, แƒ แƒแƒช แƒ“แƒแƒกแƒขแƒแƒ–แƒ”แƒ, แƒ“แƒ แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒ”แƒ แƒ˜ แƒแƒ›แƒแƒจแƒ˜ แƒแƒ  แƒ’แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ—.

แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒ–แƒ แƒ˜แƒ—, Fift-แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒ“แƒแƒกแƒแƒ‘แƒฃแƒ—แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก Fift Assembler-แƒ˜แƒก แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜ แƒ”แƒœแƒ˜แƒก แƒ แƒแƒšแƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜ TVM แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ แƒ˜แƒก แƒฉแƒแƒกแƒ›แƒ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒ”แƒœแƒแƒ–แƒ”, แƒ•แƒ˜แƒ“แƒ แƒ” แƒแƒฎแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ’แƒแƒœแƒ”แƒ‘แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ˜แƒ–แƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก?

TVM Haskell eDSL

แƒแƒฎแƒšแƒ แƒ“แƒ แƒแƒ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒแƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒ”แƒแƒ แƒ” แƒญแƒ™แƒ•แƒ˜แƒแƒœ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ–แƒ”. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒจแƒ”แƒ’แƒ•แƒ”แƒฅแƒ›แƒœแƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒฎแƒ”แƒšแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒแƒœแƒ˜ แƒกแƒแƒคแƒฃแƒšแƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› FunC-แƒจแƒ˜ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒกแƒแƒฌแƒงแƒ”แƒœแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ. แƒ’แƒ•แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒจแƒ”แƒ’แƒ•แƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒœแƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒแƒ แƒแƒ›แƒแƒขแƒ˜ แƒ“แƒ แƒ”แƒก แƒ˜แƒงแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ˜แƒก แƒ”แƒœแƒ TVM-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

Fift Assembler-แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒ”แƒœแƒแƒช แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— Haskell, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜ Fift-แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ แƒแƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ•แƒ˜แƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” แƒขแƒ˜แƒžแƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒ—. แƒกแƒ›แƒแƒ แƒข แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก, แƒกแƒแƒ“แƒแƒช แƒ—แƒฃแƒœแƒ“แƒแƒช แƒ›แƒชแƒ˜แƒ แƒ” แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒฆแƒแƒšแƒ˜, แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒแƒ™แƒ แƒ”แƒคแƒ, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒ–แƒ แƒ˜แƒ—, แƒ“แƒ˜แƒ“แƒ˜ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒแƒ.

แƒ˜แƒ›แƒ˜แƒก แƒ“แƒ”แƒ›แƒแƒœแƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ TVM แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Haskell-แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒกแƒ–แƒ” แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ— แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒกแƒแƒคแƒฃแƒšแƒ”. แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ แƒแƒ›, แƒ แƒแƒกแƒแƒช แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒแƒฅแƒชแƒ˜แƒแƒ—:

  • แƒ”แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒ”แƒ แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒกแƒ’แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒช แƒ’แƒกแƒฃแƒ แƒ—. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒ— แƒแƒฎแƒแƒš แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒš แƒ”แƒœแƒแƒ–แƒ” (แƒ›แƒแƒ’. Haskell), แƒฉแƒ•แƒ”แƒœแƒ˜ eDSL แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ—, แƒ’แƒกแƒฃแƒ แƒ— แƒ˜แƒก แƒ’แƒแƒฎแƒ“แƒ”แƒก แƒชแƒแƒšแƒ™แƒ” แƒ แƒฃแƒขแƒ˜แƒœแƒ TVM-แƒจแƒ˜ แƒ—แƒฃ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ–แƒ”.
  • แƒฐแƒแƒกแƒ™แƒ”แƒšแƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“, แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒขแƒ˜แƒžแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒฉแƒ•แƒ”แƒœแƒก eDSL-แƒจแƒ˜, แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒแƒขแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ›แƒแƒ”แƒšแƒ˜แƒก, แƒฎแƒแƒšแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒก แƒขแƒ˜แƒžแƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒแƒขแƒ˜แƒก แƒขแƒ˜แƒžแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฌแƒแƒ แƒ›แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.
  • แƒ™แƒแƒ“แƒก แƒแƒฅแƒ•แƒก แƒแƒœแƒแƒขแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ stacktype, แƒแƒฆแƒฌแƒ”แƒ แƒก แƒ›แƒแƒกแƒแƒšแƒแƒ“แƒœแƒ”แƒš แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒขแƒ˜แƒžแƒก แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒจแƒ˜. แƒกแƒแƒคแƒฃแƒšแƒ˜แƒก แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒจแƒ˜ แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ˜แƒงแƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒก eDSL-แƒจแƒ˜ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒ™แƒแƒ“แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ แƒ“แƒ แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒแƒœ แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒžแƒแƒ•แƒœแƒแƒจแƒ˜, แƒ—แƒฃ แƒ™แƒแƒ“แƒ˜ แƒจแƒ”แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒขแƒ˜แƒžแƒ˜. แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒแƒกแƒ”แƒ—แƒ˜ แƒแƒœแƒแƒขแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒแƒ  แƒ›แƒแƒแƒฎแƒ“แƒ”แƒœแƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ–แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก TVM แƒ™แƒแƒ“แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜.
  • แƒ”แƒก แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ  แƒ™แƒ•แƒ˜แƒ แƒแƒจแƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒžแƒ แƒแƒขแƒแƒขแƒ˜แƒžแƒ˜แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒžแƒ แƒแƒ”แƒฅแƒขแƒ–แƒ” แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ‘แƒ”แƒ•แƒ แƒ˜แƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒ. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ™แƒšแƒแƒกแƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ™แƒแƒ“แƒจแƒ˜, แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ“แƒ”แƒก.

แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ multisig แƒกแƒแƒคแƒฃแƒšแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ แƒฉแƒ•แƒ”แƒœแƒก eDSL-แƒ–แƒ”:

main :: IO ()
main = putText $ pretty $ declProgram procedures methods
  where
    procedures =
      [ ("recv_external", decl recvExternal)
      , ("recv_internal", decl recvInternal)
      ]
    methods =
      [ ("seqno", declMethod getSeqno)
      ]

data Storage = Storage
  { sCnt :: Word32
  , sPubKey :: PublicKey
  }

instance DecodeSlice Storage where
  type DecodeSliceFields Storage = [PublicKey, Word32]
  decodeFromSliceImpl = do
    decodeFromSliceImpl @Word32
    decodeFromSliceImpl @PublicKey

instance EncodeBuilder Storage where
  encodeToBuilder = do
    encodeToBuilder @Word32
    encodeToBuilder @PublicKey

data WalletError
  = SeqNoMismatch
  | SignatureMismatch
  deriving (Eq, Ord, Show, Generic)

instance Exception WalletError

instance Enum WalletError where
  toEnum 33 = SeqNoMismatch
  toEnum 34 = SignatureMismatch
  toEnum _ = error "Uknown MultiSigError id"

  fromEnum SeqNoMismatch = 33
  fromEnum SignatureMismatch = 34

recvInternal :: '[Slice] :-> '[]
recvInternal = drop

recvExternal :: '[Slice] :-> '[]
recvExternal = do
  decodeFromSlice @Signature
  dup
  preloadFromSlice @Word32
  stacktype @[Word32, Slice, Signature]
  -- cnt cs sign

  pushRoot
  decodeFromCell @Storage
  stacktype @[PublicKey, Word32, Word32, Slice, Signature]
  -- pk cnt' cnt cs sign

  xcpu @1 @2
  stacktype @[Word32, Word32, PublicKey, Word32, Slice, Signature]
  -- cnt cnt' pk cnt cs sign

  equalInt >> throwIfNot SeqNoMismatch

  push @2
  sliceHash
  stacktype @[Hash Slice, PublicKey, Word32, Slice, Signature]
  -- hash pk cnt cs sign

  xc2pu @0 @4 @4
  stacktype @[PublicKey, Signature, Hash Slice, Word32, Slice, PublicKey]
  -- pubk sign hash cnt cs pubk

  chkSignU
  stacktype @[Bool, Word32, Slice, PublicKey]
  -- ? cnt cs pubk

  throwIfNot SignatureMismatch
  accept

  swap
  decodeFromSlice @Word32
  nip

  dup
  srefs @Word8

  pushInt 0
  if IsEq
  then ignore
  else do
    decodeFromSlice @Word8
    decodeFromSlice @(Cell MessageObject)
    stacktype @[Slice, Cell MessageObject, Word8, Word32, PublicKey]
    xchg @2
    sendRawMsg
    stacktype @[Slice, Word32, PublicKey]

  endS
  inc

  encodeToCell @Storage
  popRoot

getSeqno :: '[] :-> '[Word32]
getSeqno = do
  pushRoot
  cToS
  preloadFromSlice @Word32

แƒฉแƒ•แƒ”แƒœแƒ˜ eDSL แƒ“แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒฎแƒ”แƒšแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒแƒœแƒ˜ แƒกแƒแƒคแƒฃแƒšแƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒฌแƒงแƒแƒ แƒแƒก แƒ™แƒแƒ“แƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒแƒฅ แƒ”แƒก แƒกแƒแƒชแƒแƒ•แƒ˜. แฒ“แƒ แƒ›แƒ”แƒขแƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒฃแƒชแƒฎแƒแƒ“แƒ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒšแƒ”แƒ’แƒ แƒ’แƒ”แƒแƒ แƒ’แƒ˜ แƒแƒ’แƒแƒžแƒแƒ•แƒ˜.

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜แƒกแƒ แƒ“แƒ TON-แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘

แƒกแƒแƒ”แƒ แƒ—แƒ แƒฏแƒแƒ›แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก 380 แƒกแƒแƒแƒ—แƒ˜ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ (แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก, แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒชแƒœแƒแƒ‘แƒ, แƒจแƒ”แƒฎแƒ•แƒ”แƒ“แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ). แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ แƒ›แƒ˜แƒ˜แƒฆแƒ แƒฎแƒฃแƒ—แƒ›แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ›แƒ: CTO, แƒ’แƒฃแƒœแƒ“แƒ˜แƒก แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜, แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒ˜แƒกแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ Haskell แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒžแƒแƒ•แƒœแƒ”แƒ— แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒกแƒจแƒ˜ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฃแƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ“, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฐแƒแƒ™แƒแƒ—แƒแƒœแƒ˜แƒก แƒกแƒฃแƒšแƒ˜, แƒ›แƒญแƒ˜แƒ“แƒ แƒ แƒ’แƒฃแƒœแƒ“แƒฃแƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ“แƒ แƒแƒฎแƒแƒšแƒ˜ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ”แƒ‘แƒ˜แƒก แƒแƒกแƒžแƒ”แƒฅแƒขแƒ”แƒ‘แƒจแƒ˜ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒฉแƒแƒซแƒ˜แƒ แƒ•แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ. แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฃแƒซแƒ˜แƒšแƒ แƒฆแƒแƒ›แƒ” แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒšแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒจแƒ˜ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒฌแƒ”แƒ•แƒแƒ“ แƒแƒœแƒแƒ–แƒฆแƒแƒฃแƒ แƒ“แƒ”แƒ‘แƒ แƒคแƒแƒกแƒ“แƒแƒฃแƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒ›แƒแƒ’แƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒแƒกแƒ”แƒ— แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ–แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ แƒ’แƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒญแƒ”แƒจแƒ›แƒแƒ แƒ˜แƒขแƒแƒ“ แƒฆแƒ˜แƒ แƒกแƒ”แƒฃแƒšแƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ“แƒ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒขแƒ”แƒฅแƒกแƒขแƒ˜ แƒ’แƒแƒœแƒ–แƒ”: แƒฉแƒ•แƒ”แƒœ แƒจแƒ—แƒแƒ‘แƒ”แƒญแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ แƒ›แƒแƒแƒฎแƒ“แƒ˜แƒœแƒ TON-แƒ˜แƒก แƒ’แƒฃแƒœแƒ“แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒฌแƒ”แƒฃแƒšแƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒ—. แƒ›แƒแƒ— แƒ›แƒแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒก แƒ แƒ—แƒฃแƒšแƒ˜, แƒšแƒแƒ›แƒแƒ–แƒ˜ แƒ“แƒ แƒ แƒแƒช แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜แƒ แƒ›แƒฃแƒจแƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒ’แƒ”แƒ‘แƒ. TON-แƒ›แƒ แƒ“แƒแƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ, แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒแƒšแƒ˜แƒ—. แƒ—แƒฃแƒ›แƒชแƒ, แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ”แƒก แƒ”แƒ™แƒแƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ“แƒ”แƒก, แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒจแƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ›แƒแƒงแƒแƒ‘แƒ—, แƒ แƒแƒ› แƒแƒฎแƒšแƒ แƒ•แƒแƒ แƒ— แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜.

แƒ—แƒฃ แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ•แƒšแƒแƒ• แƒ’แƒแƒฅแƒ•แƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒแƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ˜แƒ“แƒ”แƒ”แƒ‘แƒ˜, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— TON แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“, แƒ›แƒแƒ’แƒ•แƒฌแƒ”แƒ แƒ”แƒ— โ€” แƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ’แƒ˜แƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒ— แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒแƒก.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ