산술식을 이진 트리로 변환하는 자료구조 과제에서 출발해, C로 graphLang이라는 언어와 그래프 축약 엔진을 구현함 덧셈과 뺄셈을 개별 연산으로 처리하는 대신 함수 적용으로 일반화하고, 변수와 함수 모두 이름으로 조회할 수 있는 값으로 취급함 사용자 정의 함수는 C 함수 포인터가 아니라 매개변수와 본문 트리를 가진 클로저 노드로 표현해, 다른 함수에 전달하거나 반환하고 단계적으로 평가할 수 있게 함 고정 크기 아레나의 용량 한계를 청크 할당기로 해결하고, 표시 후 쓸기(mark-and-sweep) GC를 추가해 fib(40)의 메모리 사용량을 12GB 이상에서 약 1.7MB로 줄임 메모리 문제를 해결한 뒤에도 fib(40) 계산에는 6분이 걸렸으며, 실행을 멈추는 GC와 지수 시간 피보나치 계산 때문에 성능 개선 과제가 남음 산술식 트리에서 함수 적용으로 graphLang은 산술식을 이진 트리로 변환하는 과제에서 출발했으며, 며칠 뒤에는 C로 클로저, 가비지 컬렉터, 사용자 정의 메모리 할당기, REPL, FFI까지 구현한 프로젝트가 됨 최초 과제는 1 + 1 + 1을 이진 트리로 평가해 3을 얻는 것이었음 연산자를 루트로, 두 피연산자를 자식으로 배치함 (+ (+ 1 1) 1)에서 안쪽 덧셈을 먼저 평가해 (+ 2 1)로 줄이고, 마지막으로 3을 얻음 처음에는 표현식의 합 타입(sum type) 에 Add, Sub, Mul, Div, Val을 별도 변형으로 둘 수 있다고 생각함 네 산술 연산은 모두 Expr × Expr → Expr이라는 동일한 형태를 가짐 이를 Expr ::= Func Expr Expr | Val로 일반화하면 평가기는 함수가 무엇을 하는지 대신 어떻게 적용하는지만 알면 됨 변수는 해시 테이블에서 이름을 조회해 Expr을 얻는 방식으로 추가함 C에는 내장 해시 테이블이 없어 How to implement a hash table (in C)를 참고해 직접 구현함 표현식에 Var를 추가해, 변수를 평가한 결과도 함수에 전달할 수 있게 함 C 노드 표현과 아레나 할당기 초기 Node 구조체는 left, right 포인터와 정수 리터럴 또는 변수/함수 이름을 담는 공용체, LITERAL/VAR/FUNC 타입 태그로 구성함 64비트 시스템을 가정한 노드 크기는 32바이트였음 자식 포인터 두 개가 16바이트, 데이터 공용체가 8바이트, 타입이 4바이트, 패딩이 4바이트를 차지함 1+1에는 연산자 노드...
1+1이 필요했는데 함수형 프로그래밍 언어를 만들었다
1 hour ago
2
Related
Show GN: herdr web ui - 폰이나 브라우저에서 herdr 사용하는 플러그인
1 hour ago
1
지난번 우리 가족이 기술로 대체되었을 때
1 hour ago
1
Tesla, 적자에 가까워지며 약 45조원 신용한도 확보
1 hour ago
1
Bloomberg Terminal의 간략한 역사
2 hours ago
1
Gemini 4 Argon
2 hours ago
1
SQL 쿼리 빌더의 두 가지 유형
3 hours ago
1
유가가 급등하면 그 돈은 어디로 갈까?
3 hours ago
3
허풍 없는 지속 가능한 에너지(2008)
4 hours ago
2
Tips
click
Trending
Popular
네팔 홍수 버티고 명소된 ‘기적의 초록집’…집주인이 밝힌 비밀은
3 weeks ago
82
돈·생명·게임·식량 독점…‘더 커뮤니티2’ 살벌한 생존 구조 (더 커뮤니티2)
3 weeks ago
66
베스티 ‘연애의 조건’, 13년 만에 역주행…글로벌 차트까지 접수
3 weeks ago
64
이란 前대통령 “명예롭게 전쟁 끝내야” 종전 국민투표 제안
3 weeks ago
60
‘아시아 프로야구 최강팀 가리자’ 2026 APBC, 11월 12~15일 도쿄돔서 열린다
3 weeks ago
60
24세 유명 먹방 인플루언서 돌연 사망…3일 전 건강 이상 고백
3 weeks ago
54
"소비자와 직접 만날 공간 필요 … AI·헬스케어·교육 기업, 오피스 수요 넘쳐"
3 weeks ago
51
Product Engineer의 가능성과 조건: 대규모 예산이 투입되는 프로젝트에서 확인하다
3 weeks ago
50
넘어진 뒤 엑스레이는 정상인데 손목이 계속 아프다면… ‘주상골 골절’을 놓치는 이유
4 weeks ago
50
© Clint's Theme Park 2026. All rights are reserved










English (US) ·