Repository navigation
Releases: sejunch/hanlang
Releases · sejunch/hanlang
Release list
한랭 0.1.0
한랭의 첫 공개판. 조사가 인자 이름표가 되는 한글 프로그래밍 언어로, 컴파일러는 한랭으로 짜여 있고(셀프호스팅) x86-64 기계어로 컴파일한다.
가와 나를 더하다 란 { 가 + 나를 돌려주다. }
(3과 4를 더하다)를 말하다.
설치 (리눅스 x86-64)
아래 hanlang-0.1.0-linux-x86_64.tar.gz 를 받아 풀고:
bin/han examples/demo.han # 컴파일하고 바로 실행
bin/hanc 프로그램.han -o 프로그램 # 실행 파일 만들기
필요한 건 gcc 뿐. 창(X11·Xft)·GPU(Vulkan)·소리(ALSA)·인터넷 요청(libcurl)은 그 기능을 쓰는 프로그램만 링크한다.
소스로 빌드하려면 make (bootstrap/hanc.s 를 gcc 로 링크 — 다른 컴파일러가 필요 없음).
들어 있는 것
- 언어: 정수·소수·문자·목록·격자·사전·묶음(구조체)·벡터, 흐름 따라 바뀌는 타입, 다형 함수(템플릿식), 함수 값·이름 없는 함수, 전역·지역 변수,
값에 따라 { }, 이름공간 있는 불러오기 - 실패 처리:
해보다 { } 안 되면 (까닭) { }— 실행 오류도 전부 잡힘 - 스레드:
(인자를 F로 따로 부르다)·기다리다·나눠 부르다· 잠금. GC 가 여러 스레드를 같이 훑음 - 창·게임: 그리기, 실시간 키·마우스, 누르고 있는 키, 마우스 가두기(1인칭), 크기 바뀌는 창, 삼각형·픽셀로 3D
- GPU: 한랭 함수를 그대로 SPIR-V 로 번역해 Vulkan 에서 수십만 번 동시에 — 결과를 창에 바로 그리기(
그려내다) - 소리: 소수 목록 표본이나 wav 를
소리내다.(겹쳐 틀기),lib/소리.han으로 합성 - 표준 라이브러리 18개 (전부 한랭): 수학·목록·문자·정렬·통계·격자·분수·큰수·힙·표(CSV)·시간·정규식·그래프·요청(https)·입체(3D)·GPU·GPU32·소리
- 낮은 수준:
낮은수준을 쓰다.파일에서 메모리·C 함수 — 런타임 대부분이 한랭으로 짜여 있음 - 오류 메시지: 한국어로, 소스 줄 +
^캐럿 + 고치는 법 - VS Code 확장: 문법 색칠, 오류 밑줄, 실행 버튼, 디버거(멈춤점·한 줄씩·변수), 자동완성
예제
examples/게임/ — 빛구슬사냥(1인칭 총 게임, GPU 레이 트레이싱·점광원·효과음), 구슬굴리기(3D), 상자모으기, 모양채우기
examples/GPU/ — 만델브로, 광선추적