림보(프로그래밍 언어)
Limbo (programming language)패러다임 | 동시 |
---|---|
설계자 | 션 도워드, 필 윈터보텀, 롭 파이크 |
개발자 | 벨 랩스 / 비타 누오바 홀딩스 |
처음 등장한 | 전 |
타이핑 분야 | 강한. |
OS | 지옥 |
면허증. | GNU GPL v2, tarball의 림보 서브폴더에 있는 Notice를 참조하십시오. |
웹 사이트 | www |
주요 구현 | |
가상 시스템 분리 | |
영향을 받다 | |
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 프로그래밍 입문서는 시작되었지만 공개되지는 않았습니다.
「 」를 참조해 주세요.
- 인페르노 운영 체제
- 림보의 전신인 알레프
- Bell Labs의 플랜9
- Go(프로그래밍 언어), Google의 유사한 언어
- AT&T Hobbit, Dis VM에 영감을 준 프로세서 아키텍처
레퍼런스
- ^ "Inferno Application Programming". vitanuova. vitanuova. Retrieved January 26, 2021.
- ^ "Dis Virtual Machine Specification". Vita Nuova. 2000. Retrieved 2 February 2015.
- ^ Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF).
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말)
외부 링크
- 림보의 Vita Nuova 페이지
- Brian Kernighan의 림보로의 강림
- 데니스 M의 림보 프로그래밍 언어. 비타 누오바의 리치와 부록.
- Phillip Stanley-Marbell의 림보와 함께 한 Inferno 프로그래밍
- Bell Labs CSP 스타일의 스레드 프로그래밍
- Dis source code
- 를 클릭합니다The design of the Inferno virtual machine, Vita nuova.
- 를 클릭합니다"Dis VM design", Inferno (4th ed.), Cat V.
- 를 클릭합니다"Dis VM specification", Inferno (4th ed.), Cat V.