ไทยแลงThailang · v0.1.0 preview

เขียนเป็นไทย· รันได้ทุกที่

WRITE IN THAI / COMPILE TO JS, WASM, NATIVE

Thailang คือภาษาโปรแกรมมิงที่ใช้ คำสงวนภาษาไทย มีระบบชนิดข้อมูลแบบ TypeScript คอมไพเลอร์เขียนด้วย Rust คอมไพล์เป็น JavaScript และ WebAssembly ได้แล้ววันนี้ ใช้เครื่องมือเดิมที่คุ้นเคย กับภาษาที่อ่านออกตั้งแต่บรรทัดแรก

41
Thai keywords
Rust
compiler core
2
backends live
MIT
licensed

ลองเขียนดู · try a sample

โค้ดที่อ่านออกทันที

ทุกคำสงวนเป็นภาษาไทย โครงสร้างไวยากรณ์คล้าย TypeScript เลือกแท็บด้านบนเพื่อดูว่า Thailang คอมไพล์ออกมาเป็นอะไร แล้วกด Run เพื่อรันจริงใน browser ผ่าน WebAssembly

สวัสดี.thhello world
output · ผลลัพธ์compiled to js · ready
กด Run หรือ ⌘↵ เพื่อเรียกใช้โปรแกรม
cmd   $ thailang run สวัสดี.th
time --  ·  lines 2  ·  target js

ทำไม Thailang · why

ภาษาไทย กับ
toolchain ที่คุ้นเคย

Thailang คือคอมไพเลอร์เต็มรูปแบบที่เขียนด้วย Rust มีระบบชนิดข้อมูลแบบยืดหยุ่น คอมไพล์เป็น JavaScript และ WebAssembly ได้แล้ววันนี้ และกำลังเตรียมรองรับ native ผ่าน LLVM ทั้งหมดนี้เพื่อให้นักพัฒนาคนไทยเขียนโค้ดด้วยภาษาของตัวเองได้ โดยยังใช้เครื่องมือเดิมที่คุ้นเคย

01rustc · compiled

คอมไพเลอร์เต็มรูปแบบactually compiled

เขียนด้วย Rust คอมไพล์เป็น JavaScript และ WebAssembly ได้แล้ววันนี้ กำลังเตรียมออก native binary ผ่าน LLVM ทุกขั้นตอนของการแปลงเกิดขึ้นก่อนรันจริง

02let x: int

Type-safe แบบเลือกได้gradually typed

ประกาศชนิดเมื่อจำเป็น ให้ compiler ช่วย infer ตอนที่ไม่ต้องการ รองรับ union types และ type narrowing เต็มรูปแบบ

03ให้ ชื่อ

อ่านเป็นไทยreads in Thai

คำสงวน stdlib และข้อความ error เป็นภาษาไทยทั้งหมด ตั้งชื่อตัวแปรเป็นไทยได้ เพราะ JavaScript รองรับ Unicode อยู่แล้ว

04node | wasm

รันได้ทุกที่runs anywhere

ทำงานได้บน Node, browser และ edge runtime ที่ไหนรัน JavaScript หรือ WebAssembly ได้ ที่นั่นรัน Thailang ได้ ซอร์สเดียว หลายเป้าหมาย

ดรรชนีคำสงวน · keyword index

41 คำ ที่เปลี่ยน
วิธีคุณเขียนโปรแกรม

ทุกคำที่สงวนไว้สำหรับไวยากรณ์ Thailang กดที่หมวดด้านล่างเพื่อกรอง หรือเลื่อนดูแบบละเอียด

01ให้hailetCORE
02คงที่khongthiconstCORE
03สูตรsutfunctionCORE
04ส่งกลับsongklapreturnCORE
05ถ้าthaifCONTROL
06ไม่ก็maikorelse ifCONTROL
07ไม่งั้นmaingaelseCONTROL
08ระหว่างที่rawangthiwhileCONTROL
09วนwonforCONTROL
10แต่ละtaelafor-eachCONTROL
11ในnaiinCONTROL
12หยุดyutbreakCONTROL
13ข้ามkhamcontinueCONTROL
14เลือกlueakswitchCONTROL
15กรณีkoranicaseCONTROL
16เริ่มต้นroemtondefaultCONTROL
17ตัวเลขtualeknumberTYPE
18จำนวนเต็มchamnuanthemintTYPE
19ข้อความkhokhwamstringTYPE
20ถูกผิดthukphitbooleanTYPE
21ทั่วไปthuapaianyTYPE
22ไม่ส่งกลับmaisongklapvoidTYPE
23ชุดchutarrayTYPE
24คู่khumapTYPE
25โครงkhrongstructTYPE
26เป็นpenisTYPE
27ถูกthuktrueLOGIC
28ผิดphitfalseLOGIC
29ว่างwangnullLOGIC
30และlae&&LOGIC
31หรือrue||LOGIC
32ไม่ใช่maichai!LOGIC
33รอrorawaitASYNC
34ขนานkhananasyncASYNC
35ลองlongtryERROR
36จับjapcatchERROR
37สุดท้ายsutthaifinallyERROR
38ฟ้องfongthrowERROR
39นำเข้าnamkhaoimportMODULE
40ส่งออกsongokexportMODULE
41จากchakfromMODULE

โค้ดควรอ่านออก
ตั้งแต่ บรรทัดแรก

Code should read the way you think. In your own language, from line one.