The StreamIO 펑터
The StreamIO 펑터
선택적인 StreamIO 펑터는 임의의 프리미티브 I/O 구현 위에 스트림 I/O 계층을 만드는 방법을 제공해요. 예를 들어 정수 쌍에 대한 리더·라이터 구현이 주어지면, 정수 쌍의 스트림을 정의할 수 있어요. 펑터는 밑에 깔린 PrimIO 구조와 Buffer 구조를 인자로 받아, 그 위에 버퍼링된 함수형 스트림 I/O 인터페이스(STREAM_IO 시그니처)를 구성해 돌려줘요.
출처: 문서
본문
시놉시스 (Synopsis)
functor StreamIO ( ... ) : STREAM_IO (* OPTIONAL *)
설명 (Description)
structure PrimIO : PRIM_IO
밑에 깔린 프리미티브 I/O 구조예요. 이 구조가 요소 타입, 리더·라이터, 읽기·쓰기 프리미티브를 정의해요. StreamIO 펑터는 이 연산들을 버퍼링과 결합해 스트림 추상화를 만들어요. 일반적으로는 밑에 깔린 구현이 이미 버퍼링을 하는 경우 그대로 사용되지만, 그렇지 않으면 펑터가 내부 버퍼 관리를 담당해요.
val someElem : PrimIO.elem
버퍼 배열을 초기화하는 데 사용하는 임의의 요소 값이에요. 새 입력·출력 버퍼를 만들 때 이 값으로 채워 초기화해요. 어떤 요소든 될 수 있고 실제 콘텐츠로 쓰이는 값은 아니며, 단지 버퍼 공간을 안전한 값으로 채우기 위한 자리표시자예요.