애플리케이션의 의도를 간결하고 일관된 문법으로 표현하는 프로그래밍 언어.
토파즈 살펴보기
먼저 토파즈가 어떤 언어이고 어디에 알맞은지 확인하세요. 이어서 학습 경로를 따라가고, 문법을 찾아보고, 알맞은 도구와 실행 대상을 고르세요.
지금 실행하면 아래와 같은 결과를 얻습니다.
function clean(words: Array<string>) -> Array<string> {
return filter(words, (w: string) => w != "")
}
function shout(words: Array<string>) -> Array<string> {
return map(words, (w: string) => w + "!")
}
let line = ["one", "", "way", "", "to", "say", "it"]
|> clean
|> shout
print("{line}")[one!, way!, to!, say!, it!]
같은 뜻을 여러 방식으로 쓰지 않아 코드가 읽기 쉽고 명확합니다.
한글, 키릴 문자, 이모지 등 도메인의 용어를 코드에 그대로 사용합니다.
사람과 코드 생성 도구가 동일한 문법을 공유하며 동일한 검증을 거칩니다.
SQL, 셸, 경로 템플릿이 텍스트 원문과 변수가 들어갈 자리를 안전하게 구분하여 보존합니다.
사람을 위한 명세서이자, 컴퓨터가 실행하는 코드.
토파즈는 애플리케이션의 의도를 간결하게 표현하는 유니코드 우선 언어입니다. 사람과 코드 생성 도구가 같은 문법을 사용하며, 작성한 프로그램을 바로 실행하거나 Rust·Python·웹 산출물로 만들 수 있습니다.
철학 읽기 →function discount(customer: { tier: string, years: int }) -> float {
return match customer {
case { tier: "vip", years } if years > 5 => 0.3
case { tier: "vip" } => 0.2
case { years } if years > 1 => 0.1
case _ => 0.0
}
}
print("{discount({ tier: "vip", years: 7 })}")
print("{discount({ tier: "new", years: 0 })}")0.3 0.0
let result = concurrent {
answer: 6 * 7
status: "ready"
}
defer print("cleaned up")
print("{result.answer} {result.status}")42 ready cleaned up
function fibonacci(n: int) -> int {
return match n {
case 0 => 0
case 1 => 1
case _ => fibonacci(n - 1) + fibonacci(n - 2)
}
}
let series = map(0..<10, fibonacci)
print("{series}")[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
function clean(words: Array<string>) -> Array<string> {
return filter(words, (w: string) => w != "")
}
function shout(words: Array<string>) -> Array<string> {
return map(words, (w: string) => w + "!")
}
let line = ["one", "", "way", "", "to", "say", "it"]
|> clean
|> shout
print("{line}")[one!, way!, to!, say!, it!]
function 인사하기(이름: string) -> string {
return "안녕하세요, {이름}님!"
}
print(인사하기("토파즈"))안녕하세요, 토파즈님!
function greet(name: string) -> string {
return "Hello, {name}!"
}
print(greet("Topaz"))Hello, Topaz!
function привет(имя: string) -> string {
return "Привет, {имя}!"
}
print(привет("Топаз"))Привет, Топаз!
의도는 당신이 쓰고, 컴파일러는 Rust와 Python을 만든다.
사용 가능 — 예제 816개 검사
사용 가능 — 다중 파일 프로그램 지원
사용 가능 — 이 페이지의 모든 프로그램 실행
사용 가능 — Rust 소스 및 네이티브 바이너리 생성
사용 가능 — Python 소스 및 런타임 지원 파일 생성
사용 가능 — 누락 없는 match 패턴 검사