{{위키데이터 속성 추적}}
{{Infobox programming language
 |name = 림보<br />Limbo
 |logo =
 |paradigm = [[병행 컴퓨팅|병행]]
 |year = {{시작 날짜와 나이|1995}}
 |designer = 션 도워드(Sean Dorward), 필 윈터바텀(Phil Winterbottom), [[롭 파이크]]
 |developer = [[벨 연구소]] / 비타 누오바 홀딩스
 |discontinued = 
 |ver layout = 
 |latest_release_version =
 |latest_release_date =
 |typing = 스트롱(Strong)
 |implementations = [[디스 가상 머신]]
 |dialects =
 |influenced_by = [[C (프로그래밍 언어)|C]], [[파스칼 (프로그래밍 언어)|Pascal]], [[커뮤니케이팅 시퀜셜 프로세스|CSP]], [[알레프|Alef]], [[Newsqueak]]
 |influenced = [[Stackless Python]], [[Go (프로그래밍 언어)|Go]], [[러스트 (프로그래밍 언어)|Rust]]
 |operating_system = [[인페르노 (운영 체제)|Inferno]]
 |license = [[GNU GPL]] v2, see NOTICE in limbo subfolder of the tarball
 |website = {{URL|http://www.vitanuova.com/inferno/limbo.html}}
}}

'''림보'''(Limbo)는 [[인페르노 (운영체제)|인페르노 운영 체제]]를 위한 [[응용 소프트웨어]]를 개발하기 위해 사용되는 언어이자 분산 시스템을 개발하기 위한 [[프로그래밍 언어]]이다. 션 도워드, 필 윈터바텀, [[롭 파이크]]에 의해 [[벨 연구소]]에서 설계되었다.<ref>{{웹 인용|url=http://www.vitanuova.com/inferno/limbo.html |title=Inferno Application Programming |website= vitanuova |publisher= vitanuova |access-date=January 26, 2021}}</ref>

림보 [[컴파일러]]는 [[컴퓨터 구조]] 독립 [[목적 파일]]을 생성하며 이후 [[디스 가상 머신]]에 의해 해석되거나 성능 개선을 위해 런타임 직전에 컴파일된다. 그러므로 모든 림보 애플리케이션들은 모든 인페르노 플랫폼상에서 이식이 가능하다.

림보의 병행 패러다임 접근 방식은 [[토니 호어]]의 [[커뮤니케이팅 시퀜셜 프로세스]](CSP)의 영향을 받았다.

== 언어 기능 ==
* [[모듈성 (프로그래밍)|모듈식 프로그래밍]]
* [[병행 컴퓨팅|병행 프로그래밍]]
* 컴파일 및 런타임 시의 강력한 [[자료형 체계|자료형 검사]]
* 타입 채널을 경유한 [[프로세스 간 통신]]
* 자동 [[쓰레기 수집 (컴퓨터 과학)|쓰레기 수집]]
* 단순 [[추상 자료형]]

== 예시 ==
림보는 [[에이다 (프로그래밍 언어)|에이다]] 스타일의 정의를 사용한다:

<syntaxhighlight lang="limbo">
 name := type value;
 name0,name1 : type = value;
 name2,name3 : type;
 name2 = value;
</syntaxhighlight>

=== Hello world ===
<syntaxhighlight lang="limbo">
 implement Command;

 include "sys.m";
     sys: Sys;

 include "draw.m";

 include "sh.m";

 init(nil: ref Draw->Context, nil: list of string)
 {
     sys = load Sys Sys->PATH;
     sys->print("Hello World!\n");
 }
</syntaxhighlight>

== 같이 보기 ==
* [[인페르노 (운영체제)]]
* [[플랜 9 (운영체제)]]
* [[Go (프로그래밍 언어)]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [http://www.vitanuova.com/inferno/limbo.html Vita Nuova page on Limbo]
* [http://doc.cat-v.org/inferno/4th_edition/limbo_language/descent A Descent into Limbo] by [[Brian Kernighan]]
* [http://doc.cat-v.org/inferno/4th_edition/limbo_language/limbo The Limbo Programming Language] by [[Dennis M. Ritchie]] and [http://doc.cat-v.org/inferno/4th_edition/limbo_language/addendum Addendum] by Vita Nuova.
* [https://web.archive.org/web/20081011054044/http://www.gemusehaken.org/ipwl/ Inferno Programming with Limbo] by [[Phillip Stanley-Marbell]]
* [http://swtch.com/~rsc/thread/ Threaded programming in the Bell Labs CSP style]
* {{인용 | url = https://bitbucket.org/inferno-os/inferno-os/src/62ae0f75aa714c7bab5e714fcf90f4026b7ba911/limbo/?at=default | title = Dis source code | access-date = 2022-10-29 | archive-date = 2017-09-21 | archive-url = https://web.archive.org/web/20170921095053/https://bitbucket.org/inferno-os/inferno-os/src/62ae0f75aa714c7bab5e714fcf90f4026b7ba911/limbo/?at=default | url-status =  }}
* {{인용| url = http://www.vitanuova.com/inferno/papers/hotchips.html | title = The design of the Inferno virtual machine | publisher = Vita nuova}}.
* {{인용| publisher = Cat V | title = Inferno | edition = 4th | contribution = Dis VM design | url = http://doc.cat-v.org/inferno/4th_edition/dis_VM_design}}.
* {{인용| publisher = Cat V | title = Inferno | edition = 4th | contribution = Dis VM specification | url = http://doc.cat-v.org/inferno/4th_edition/dis_VM_specification}}.

{{롭 파이크}}
{{전거 통제}}

[[분류:C 프로그래밍 언어 계열]]
[[분류:병행 프로그래밍 언어]]
[[분류:자유 컴파일러와 인터프리터]]
[[분류:가상 머신]]