림보(프로그래밍 언어)

Limbo (programming language)
림보
패러다임동시
설계자 도워드, 필 윈터보텀, 롭 파이크
개발자 랩스 / 비타 누오바 홀딩스
처음 등장한1995년, 27년(연간)
타이핑 분야강한.
OS지옥
면허증.GNU GPL v2, tarball의 림보 서브폴더에 있는 Notice를 참조하십시오.
웹 사이트www.vitanuova.com/inferno/limbo.html
주요 구현
가상 시스템 분리
영향을 받다
C, Pascal, CSP, Alef, Newsquek
영향받은
스택리스 Python, Go, Rust

림보는 분산 시스템 작성용 프로그래밍 언어이며 Inferno 운영 체제용 응용 프로그램 작성에 사용되는 언어입니다.이것은 Bell Labs에서 Sean Dorward, Phil Winterbottom 및 Rob [1]Pike에 의해 디자인되었습니다.

림보 컴파일러는 아키텍처의존하지 않는 오브젝트 코드를 생성합니다.이 코드는 Dis 가상 머신에 의해 해석되거나 런타임 직전에 컴파일되어 성능을 향상시킵니다.따라서 모든 림보 애플리케이션은 모든 Inferno 플랫폼에서 완벽하게 휴대할 수 있습니다.

동시성에 대한 Limbo의 접근 방식은 Hoare의 통신 순차 프로세스(CSP)에서 영감을 받아 Pike의 초기 Newsqueak 언어와 Winterbottom의 Alef에서 구현 및 수정되었습니다.

언어 기능

림보는 다음 기능을 지원합니다.

가상 머신

Limbo 코드를 실행하는 Dis 가상 머신은 CISC와 같은 VM으로 프로세스 간의 산술, 제어 흐름, 데이터 모션, 프로세스 생성, 동기화 및 통신, 코드 모듈 로드 및 상위 데이터 유형(문자열, 어레이, 목록 및 통신 채널)[2]에 대한 지침을 제공합니다.또한 순환 데이터에는 [3]참조 카운트와 실시간 가비지 수집기를 혼합하여 사용합니다.

Dis의 디자인 측면은 오리지널 BeBox에 사용된 AT&T Hobbit 마이크로프로세서에서 영감을 받았습니다.

림보는 다음과 같이 Ada 스타일의 정의를 사용합니다.

 이름. := 유형 가치;  이름 0,이름 1 : 유형 = 가치;  이름 2,이름 3 : 유형;  이름 2 = 가치; 

안녕 세계

 시행하다 명령어;    포함하다 "sys.m";      시스템: 시스템;    포함하다 "그림.m";   포함하다 "sh.m";    초기화(제로: 레퍼런스 그리다->맥락, 제로: 목록.  스트링)  {      시스템 = 장전 시스템 시스템->경로.;      시스템->인쇄물(헬로 월드!\n");  } 

책들

제3판의 인페르노 운영체제와 림보 프로그래밍 언어는 교과서 인페르노 프로그래밍 with 림보에 기술되어 있다. ISBN0-470-84352-7 (Chichester: John Wiley & Sons, 2003), Phillip Stanley-Marbell.또 다른 교과서 The Inferno Programming Book: Martin Atkins, Charles Forsys, Rob Pike 및 Howard Trickey의 Inferno Distributed System 프로그래밍 입문서는 시작되었지만 공개되지는 않았습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Inferno Application Programming". vitanuova. vitanuova. Retrieved January 26, 2021.
  2. ^ "Dis Virtual Machine Specification". Vita Nuova. 2000. Retrieved 2 February 2015.
  3. ^ Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF). {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)

외부 링크