Chicken Scheme 6.0

1 hour ago 2

핵심 시스템에 R7RS small 전체 모듈을 포함하고 문자열 내부 표현을 UTF-8로 전환해 완전한 Unicode 문자열을 지원함 기존 (chicken blob)을 R7RS 호환 (chicken bytevector) 로 교체했으며, blob 읽기 문법과 여러 u8vector 전용 입출력 절차를 제거함 프로세스 API가 PID 대신 process-object를 반환하고 파일 잠금이 flock(2) 기반으로 바뀌어 기존 코드의 수정이 필요한 호환성 변경이 다수 포함됨 FFI는 문자열과 심볼을 복사하지 않고 C 코드에 직접 전달하며, 복소수·C struct·union을 인자와 반환값으로 직접 사용할 수 있음 컴파일러의 클로저 재사용·공유 최적화와 configure 기반 빌드가 추가됐으며, Windows 빌드에는 POSIX 셸과 기본 명령줄 도구가 필요하고 zig cc도 지원함 R7RS와 Unicode 지원 R7RS small language에 명시된 모든 모듈을 핵심 시스템에서 사용할 수 있음 문자열 내부 표현이 UTF-8로 바뀌어 완전한 Unicode 문자열을 지원함 문자열의 locative 인덱스는 바이트가 아닌 코드 포인트를 기준으로 계산함 open-input-file과 open-output-file은 파일 인코딩을 받을 수 있으며, 기본값인 UTF-8과 Latin-1(ISO-8859-1)을 지원함 문자열과 확장 심볼의 16진수 이스케이프는 R7RS에 따라 ;로 끝나야 함 #ci와 #cs 읽기 문법은 제거됐으며 #!fold-case와 #!no-fold-case 마커를 사용해야 함 -r5rs-syntax 옵션은 -r7rs-syntax 로 이름이 바뀌었고 확장 심볼 문법 |...|은 비활성화하지 않음 Bytevector 전환 (chicken blob)은 R7RS 호환 연산을 제공하는 (chicken bytevector) 로 대체됨 bytevector는 SRFI-4 u8vector와 완전히 동등함 blob 문법 #${...}는 제거됐으며 #u8(...) 또는 #u8"..."를 사용해야 함 file-read, file-write, set-pseudo-random-seed!, random-bytes는 문자열을 받지 않고 bytevector 인자를 요구함 read-u8vector, read-u8vector!, write-u8vector는 제거됐으며 (chicken io)의 동등한 연산을 사용해야 함 (chicken io...

Read Entire Article