FreeLang v9 표준 라이브러리 (stdlib)

FreeLang v9는 실무 개발에 필요한 30개 이상의 표준 모듈을 포함합니다.

모듈 목록

핵심 (Core)

  • core - 기본 함수 (map, filter, reduce, etc.)
  • types - 타입 검사 및 변환
  • collections - 벡터, 맵, 리스트 조작

파일 I/O

  • file - 파일 읽기/쓰기
  • path - 경로 조작
  • fs - 파일시스템 (디렉토리, 권한)

네트워킹

  • net - 소켓 통신
  • http - HTTP 클라이언트/서버
  • ws - WebSocket 지원

데이터베이스

  • db - SQLite 쿼리
  • sql - SQL 빌더
  • migration - 마이그레이션 관리

암호화 & 보안

  • crypto - 해싱, 암호화
  • jwt - JWT 토큰
  • auth - 인증 헬퍼

날짜/시간

  • time - 시간 조작
  • date - 날짜 처리
  • timezone - 시간대 변환

데이터 분석

  • table - 데이터프레임 조작
  • stats - 통계 계산
  • plot - 시각화 (ASCII/SVG)

테스트 & 모니터링

  • test - 테스트 프레임워크
  • coverage - 커버리지 측정
  • observe - 메트릭/로깅/모니터링

마이크로서비스

  • service - 서비스 정의
  • queue - 메시지 큐
  • circuit - Circuit Breaker
  • rpc - RPC 통신

웹 프레임워크

  • flnext - 웹 프레임워크
  • middleware - 미들웨어 패턴
  • validation - 입력 검증

AI 기능

  • ai-core - AI 블록
  • memory - 메모리 관리
  • reasoning - 추론 도구

주요 함수 예제

file 모듈

(file/read "path/to/file.txt")
(file/write "path/to/file.txt" "content")
(file/exists? "path/to/file.txt")
(file/delete "path/to/file.txt")

http 모듈

(http/get "https://api.example.com/users")
(http/post "https://api.example.com/users"
  {:body {...} :headers {...}})
(http/server {:port 3000 :routes [...]})

db 모듈

(db/open "sqlite:app.db")
(db/query "SELECT * FROM users WHERE id = ?" [1])
(db/execute "INSERT INTO users (name) VALUES (?)" ["John"])

stats 모듈

(stats/mean [1 2 3 4 5])        ; → 3
(stats/median [1 2 3 4 5])      ; → 3
(stats/stddev [1 2 3 4 5])      ; → √2
(stats/correlation x-values y-values)

test 모듈

(deftest "should add numbers"
  (assert (= (+ 1 2) 3)))

(run-tests)
(get-coverage)

모듈 import

; 전체 모듈 import
(import http)
(http/get "...")

; 특정 함수만 import
(import [file :only [read write]])

; 별칭 사용
(import [http :as h])
(h/get "...")

다음 단계


상세 API 문서: https://github.com/kimjindol2025/freelang-v9/tree/master/docs/api