---
title: "Datafun – Datalog를 일반화한 함수형 언어"
published: 2025-12-24T23:26:30.000Z
canonical: https://jeff.news/article/1216
---
# Datafun – Datalog를 일반화한 함수형 언어

Datalog를 일반화한 순수 함수형 언어 Datafun 소개. 반격자 위 단조 사상의 고정점을 선언적으로 계산하는 것이 핵심이며, 반순진 평가를 통한 성능 최적화 연구도 진행됨.

- Datafun은 Neel Krishnaswami와 함께 만든 순수(pure) 함수형 언어로, Datalog를 일반화한 것임
- 핵심 기능은 반격자(semilattice) 위의 단조 사상(monotone map)에 대한 고정점(fixed point)을 선언적으로 계산할 수 있다는 것임
- ICFP 2016 논문에서 처음 소개됐고, Strange Loop 2017에서도 발표된 바 있음
- POPL 2020 논문에서는 내부 루프를 점진화(incrementalizing)해 고정점을 더 빠르게 찾는 방법을 제시했는데, 이는 Datalog의 반순진 평가(seminaive evaluation)를 일반화한 것임
- Racket으로 약 60줄 만에 구현한 미니 버전도 있어서, 집합 컴프리헨션과 고정점을 포함하지만 단조성 검사나 반순진 평가는 빠져 있음
- 단조성을 더 유연하게 다루기 위한 모달 타입 시스템(modal type system) 연구도 진행했으나, 끝내 완성·출판되지 못함

## 핵심 포인트

- 반격자 위 단조 사상의 고정점을 선언적으로 계산
- POPL 2020에서 반순진 평가 일반화 논문 발표
- Racket으로 약 60줄 미니 구현 제공
- 모달 타입 시스템 연구는 미완성

## 인사이트

Datalog의 한계를 함수형 프로그래밍으로 확장하려는 학술적 시도로, 점진적 계산과 타입 시스템 연구가 병행되고 있음.
