-
-
Notifications
You must be signed in to change notification settings - Fork 84
/
limbo.scroll
145 lines (115 loc) · 3.68 KB
/
limbo.scroll
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
import ../code/conceptPage.scroll
id limbo
name Limbo
appeared 1995
creators Rob Pike
tags pl
website http://www.vitanuova.com/inferno/limbo.html
isOpenSource true
fileType text
documentation http://resibots.eu/limbo/
rosettaCode http://www.rosettacode.org/wiki/Category:Limbo
centralPackageRepositoryCount 0
country United States
originCommunity https://groups.google.com/g/inferno-os
helloWorldCollection Limbo
Hello World in Limbo.
Limbo is the programming language of the Inferno OS
(from Lucent Bell Labs).
implement Cmd;
include "sys.m";
include "draw.m";
Cmd : module {
init : fn (ctxt : ref Draw->Context, args : list of string);
};
init(nil : ref Draw->Context, nil : list of string)
{
sys := load Sys Sys->PATH;
sys->print("Hello World\n");
}
pygmentsHighlighter Limbo
filename inferno.py
fileExtensions b
rijuRepl https://riju.codes/limbo
example
implement Cmd;
include "sys.m";
include "draw.m";
Cmd : module {
init : fn (ctxt : ref Draw->Context, args : list of string);
};
init(nil : ref Draw->Context, nil : list of string)
{
sys := load Sys Sys->PATH;
sys->print("Hello, world!\n");
}
example
Lock: module
{
PATH: con "/dis/lib/lock.dis";
Semaphore: adt {
c: chan of int;
obtain: fn(nil: self ref Semaphore);
release: fn(nil: self ref Semaphore);
new: fn(): ref Semaphore;
};
init: fn();
};
leachim6 Limbo
filepath l/Limbo.b
fileExtensions b
example
implement Hello;
include "sys.m";
sys: Sys;
include "draw.m";
Hello: module
{
init: fn(ctxt: ref Draw->Context, argv: list of string);
};
init(ctxt: ref Draw->Context, argv: list of string)
{
sys = load Sys Sys->PATH;
sys->print("Hello World\n");
}
printToken sys->print
hasPrintDebugging true
hasSemanticIndentation false
wikipedia https://en.wikipedia.org/wiki/Limbo_(programming_language)
example
implement Command;
include "sys.m";
sys: Sys;
init(Context, nil: list of string)
{
sys = load Sys Sys->PATH;
print("Hello World!\n");
}
related c pascal csp alef newsqueak stackless-python go rust ada isbn
summary Limbo is a programming language for writing distributed systems and is the language used to write applications for the Inferno operating system. It was designed at Bell Labs by Sean Dorward, Phil Winterbottom, and Rob Pike. The Limbo compiler generates architecture-independent object code which is then interpreted by the Dis virtual machine or compiled just before runtime to improve performance. Therefore all Limbo applications are completely portable across all Inferno platforms. Limbo's approach to concurrency was inspired by Hoare's communicating sequential processes (CSP), as implemented and amended in Pike's earlier Newsqueak language and Winterbottom's Alef.
pageId 236298
dailyPageViews 73
created 2003
backlinksCount 119
revisionCount 138
appeared 1995
hopl https://hopl.info/showlanguage.prx?exp=2166
tiobe Limbo
githubBigQuery Limbo
repos 367
users 360
isbndb 3
year|publisher|title|authors|isbn13
2003|Wiley|Inferno Programming with Limbo|Stanley-Marbell, Phillip|9780470843529
1997|Academic P|Inferno Programming Using Limbo|Steven Breitstein|9780121298708
20141219|Emereo|Limbo 48 Success Secrets - 48 Most Asked Questions On Limbo - What You Need To Know|Howard Beck|9781488826153
githubLanguage Limbo
fileExtensions b m
trendingProjectsCount 0
type programming
aceMode text
tmScope none
repos 529
semanticScholar 1
year|title|doi|citations|influentialCitations|authors|paperId
1997|Programming in Limbo|10.1109/CMPCON.1997.584719|15|0|S. Dorward and R. Pike and P. Winterbottom|03c5c73f6c1fcd477a1ec80144fe1e14dbb9a2f5