์๋ ํ์ธ์! ๊ทธ๋ฆฌ๊ณ ์ด ํ๋ฅญํ ํ๋ก์ ํธ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. https://github.com/ballercat/walt ์ ๋ํด ๋ฌป์ต๋๋ค.
์ด๋ ์ชฝ์ ์ ํํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ํต์ฌ ์ฐจ์ด์ ์ ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น?
์๋
ํ์ธ์ @ emil14 ,
walt ๊ทธ๊ฒ์ ๋ด๊ฐ ์์ ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ๊ฐ๋ฅํ ํ ๊ฐ๊น๊ฒ ๋ฒ์ญ๋๋ ์ฃผ์ ๋ชฉํ๊ฐ์๋ wat
๋ณด๋ค ๋์ ์์ค์ ๊ตฌ๋ฌธ ์คํ์ฒ๋ผ ๋ณด์
๋๋ค : https://github.com/ballercat/walt/issues/11
์ฃผ์ ์ฐจ์ด์ :
1) ๋ ์ผ์ฐ ํ์ด๋ AssemblyScript . ์ฒซ ๋ฒ์งธ ํ๋กํ ํ์
์ ์ฐธ์กฐํ์ญ์์ค.
2) AS๋ ๊ด๋ฒ์ํ '์์'์ ์๋ฅผ ์ง์ํฉ๋๋ค-๋ฌผ๋ก i8, u8, i16, u16 ๋ฐ i32 / u32, i64 / u64. walt
๋ ์๋ช
๋์ง ์์ ์ ํ์์ด i32 ๋ฐ i64 ๋ง ๊ด๋ฆฌ ํ ์
3) AS๋ typescript
์ํผ ์ธํธ์ด๋ฉฐ javascript
๋ฅผ ํตํด tsc
javascript
์ฝ๊ฒ ํธ๋์ค ํ์ผ๋ฉ๋๋ค. walt
์๋ flow
์ ์ ์ฌํ ๊ตฌ๋ฌธ์ด ์์ง๋ง ์์ ํ ํธํ๋์ง ์๋ ๊ฒ ๊ฐ๊ณ ์์ํ js ๋ก์ ๋ฒ์ญ ๊ฐ๋ฅ์ฑ์ด ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
4) AS์๋ ๋ฐํ์์ด ์์ต๋๋ค : Array
, ArrayBuffer
, ํ์ํ ๋ ๋ฐฐ์ด, String
, Map/Set
, Symbol
, ๋ค์ดํฐ๋ธ Math
, ์ฐ์ฐ์ instanceof
๋ฑ. walt
์๋ ๋ฌธ์์ด๊ณผ ๋ฐฐ์ด์ ๋ํ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ด ์์ต๋๋ค.
5) AS ์ง์ Generics.
6) AS์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ค์ ๋ก ํ ํ ๋น์ ์ธ ๊ฐ์ง ์ ํ : arena
, tlsf
๋ฐ buddy
. ๋ํ Garbage Collector์ ๋ํ ์์
์ด ์์ต๋๋ค. walt
์ (๋) ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ์ง ์์์ต๋๋ค.
7) AS๋ ๋ง์ ์์ ์ ๋ฒค์น ๋งํฌ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ํ wasmBoy๋ผ๋ ๊ฑฐ๋ํ๊ณ ์ฑ๊ณต์ ์ธ ํ๋ก์ ํธ ์
๋๋ค.
8) ์ฌ๋ฌ ํ๋ ์ด ๊ทธ๋ผ์ด๋์์ ์ง์๋๋ AS : WebAssembly Studio ๋ฐ Assembleash .
9) AS๋ binaryen
์ด์์ผ๋ก ์ํํ๊ฒ ๋น๋๋์ด emscripten ์์ฑ์์ ๋ง์ ํจ์ค๋ก ๋น ๋ฅธ ์ฝ๋ ์์ฑ๊ณผ ๋งค์ฐ ์ค๋งํธ ํ ์ต์ ํ๋ฅผ ์ ๊ณตํฉ๋๋ค. walt
์ (๋) ๋ฐ๋ ์ฝ๋ ์ ๊ฑฐ ์๋ ์ ํํ ๋ด์ฅ ์ต์ ํ๋ฅผ ์ ๊ณตํ์ง ์์์ต๋๋ค.
์ด์ด, wasmBoy @MaxGraey ๋ฅผ ์ธ๊ธ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๐
๊ฐ์ฌํฉ๋๋ค. AssemblyScript
๊ฐ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์
์ ๋น๋ํ๋ ๋ฐ ๋ ๋์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์ @ emil14 ,
walt ๊ทธ๊ฒ์ ๋ด๊ฐ ์์ ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ๊ฐ๋ฅํ ํ ๊ฐ๊น๊ฒ ๋ฒ์ญ๋๋ ์ฃผ์ ๋ชฉํ๊ฐ์๋
wat
๋ณด๋ค ๋์ ์์ค์ ๊ตฌ๋ฌธ ์คํ์ฒ๋ผ ๋ณด์ ๋๋ค : https://github.com/ballercat/walt/issues/11์ฃผ์ ์ฐจ์ด์ :
1) ๋ ์ผ์ฐ ํ์ด๋ AssemblyScript . ์ฒซ ๋ฒ์งธ ํ๋กํ ํ์ ์ ์ฐธ์กฐํ์ญ์์ค.
2) AS๋ ๊ด๋ฒ์ํ '์์'์ ์๋ฅผ ์ง์ํฉ๋๋ค-๋ฌผ๋ก i8, u8, i16, u16 ๋ฐ i32 / u32, i64 / u64.
walt
๋ ์๋ช ๋์ง ์์ ์ ํ์์ด i32 ๋ฐ i64 ๋ง ๊ด๋ฆฌ ํ ์3) AS๋
typescript
์ํผ ์ธํธ์ด๋ฉฐjavascript
๋ฅผ ํตํดtsc
javascript
์ฝ๊ฒ ํธ๋์ค ํ์ผ๋ฉ๋๋ค.walt
์๋flow
์ ์ ์ฌํ ๊ตฌ๋ฌธ์ด ์์ง๋ง ์์ ํ ํธํ๋์ง ์๋ ๊ฒ ๊ฐ๊ณ ์์ํ js ๋ก์ ๋ฒ์ญ ๊ฐ๋ฅ์ฑ์ด ์๋์ง ํ์คํ์ง ์์ต๋๋ค.4) AS์๋ ๋ฐํ์์ด ์์ต๋๋ค :
Array
,ArrayBuffer
, ํ์ํ ๋ ๋ฐฐ์ด,String
,Map/Set
,Symbol
, ๋ค์ดํฐ๋ธMath
, ์ฐ์ฐ์instanceof
๋ฑ.walt
์๋ ๋ฌธ์์ด๊ณผ ๋ฐฐ์ด์ ๋ํ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ด ์์ต๋๋ค.5) AS ์ง์ Generics.
6) AS์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ค์ ๋ก ํ ํ ๋น์ ์ธ ๊ฐ์ง ์ ํ :
arena
,tlsf
๋ฐbuddy
. ๋ํ Garbage Collector์ ๋ํ ์์ ์ด ์์ต๋๋ค.walt
์ (๋) ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ์ง ์์์ต๋๋ค.7) AS๋ ๋ง์ ์์ ์ ๋ฒค์น ๋งํฌ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ํ wasmBoy๋ผ๋ ๊ฑฐ๋ํ๊ณ ์ฑ๊ณต์ ์ธ ํ๋ก์ ํธ ์ ๋๋ค.
8) ์ฌ๋ฌ ํ๋ ์ด ๊ทธ๋ผ์ด๋์์ ์ง์๋๋ AS : WebAssembly Studio ๋ฐ Assembleash .
9) AS๋
binaryen
์ด์์ผ๋ก ์ํํ๊ฒ ๋น๋๋์ด emscripten ์์ฑ์์ ๋ง์ ํจ์ค๋ก ๋น ๋ฅธ ์ฝ๋ ์์ฑ๊ณผ ๋งค์ฐ ์ค๋งํธ ํ ์ต์ ํ๋ฅผ ์ ๊ณตํฉ๋๋ค.walt
์ (๋) ๋ฐ๋ ์ฝ๋ ์ ๊ฑฐ ์๋ ์ ํํ ๋ด์ฅ ์ต์ ํ๋ฅผ ์ ๊ณตํ์ง ์์์ต๋๋ค.