base package

기본 패키지

나루 위키
둘러보기로 가기 검색하러 가기

기본 패키지런타임이 기본적으로 제공해야 하는 패키지이다.

기본 패키지는 naru로 시작하는 패키지 경로를 사용한다는 점과, 사용자 입장에서 항상 사용할 수 있다고 기대할 수 있다는 점에서 표준 패키지와 유사하지만, 런타임이 바로 제공하지 않고 외부 라이브러리 등으로 만들 수 있는 표준 패키지와는 달리 기본 패키지는 런타임이 항상 제공해야 한다. 즉 관리 책임이 커뮤니티가 아닌 구현체에게 있다. 물론 나루 구현체는 내부적으로 기본 패키지의 구현에 다른 라이브러리를 사용할 수는 있다.

목록

이름 설명
naru core 모든 나루 코드가 기본으로 use하게 되는 패키지. 핵심 타입을 제공한다.
naru lang 나루의 언어 기능을 지원하기 위한 패키지.

논의

보통 "표준 라이브러리"는 언어의 근간을 이루는 기능과 대부분의 사용자가 널리 사용하지만 언어의 근간은 아닌 기능 두 부분으로 크게 나눌 수 있다. 두 부분은 변경 속도 면에서 차이가 큰데, 이를 하나의 프레임워크로 관리하려는 시도는 한계가 있다(예를 들어 파이썬의 거대한 "표준 라이브러리"는 두 부분을 모두 포함하나, 후자는 오늘날 짐이 된다는 평가가 대부분이다). 따라서 똑같은 패키지 경로를 사용하더라도 관리 주체를 분리하여 후자의 발전이 지체되는 상황을 막기 위하여 표준 패키지로부터 기본 패키지를 분리하였다.

? 기본 패키지와 표준 패키지의 경계선은 무엇인가? 기록/2019-05-25에서 권한 또는 서약에 영향을 받는지의 여부를 기준으로 해야 한다는 얘기가 있었다. (disjukr, kroisse)