summaryrefslogtreecommitdiff
path: root/miniany/doc/bootstrapping.miraheze.org_wiki_Main_Page.txt
blob: a486d66c0cc1eeb39ce0dfea2f67a80fef7ad6d4 (plain)
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
   #[1]Edit [2]bootstrapping (en) [3]bootstrapping Atom feed

   [4]Jump to content
   [X]

   Toggle sidebar [5]bootstrapping
   [6]Search
   ____________________ Search Go

     * [7]Create account
     * [8]Log in

   [ ] Personal tools
     * [9]Dark mode
     * [10]Create account
     * [11]Log in

   Pages for logged out editors [12]learn more
     * [13]Contributions
     * [14]Talk

   Navigation
     * [15]Main page
     * [16]Recent changes
     * [17]Random page
     * [18]Help about MediaWiki

   Tools
     * [19]What links here
     * [20]Related changes
     * [21]Special pages
     * [22]Printable version
     * [23]Permanent link
     * [24]Page information
     * [25]Get shortened URL
     * [26]Cite this page

   [ ]

Contents

   (BUTTON) move to sidebar (BUTTON) hide
     * Beginning
     * 1Welcome to the bootstrapping wiki!

     2Topics

     3Groups



   4Helpful Links

   Toggle the table of contents

   [ ] Toggle the table of contents

Main Page

     * [27]Main Page
     * [28]Discussion

   [ ] English

     * [29]Read
     * [30]Edit
     * [31]View history

   [ ] More
     * [32]Read
     * [33]Edit
     * [34]View history

   From bootstrapping

Welcome to the bootstrapping wiki![[35]edit]

   This wiki is about bootstrapping, i.e., building up compilers and
   interpreters and tools from nothing.

   To use an analogy from the world of food production:

     "Recipe for yogurt: Add yogurt to milk." - Anon.

   In simple technical terms:

     Bootstrapping is about building a compiler using tools smaller than
     itself, as opposed to building a compiler using an already built
     version of itself. The problem with the second is: Where did that
     prebuilt binary come from?

   The short sci-fi story [36]Coding Machines (Lawrence Kesteloot, January
   2009) has bootstrapping as a theme.

   Also see the homepage of [37]the Bootstrappable project, which has
   pointers to a mailing list and IRC channel.

Topics[[38]edit]

   Current topics being considered include:
     * [39]mes by janneke, [40]repo
     * [41]live-bootstrap by fossy and stikonas, [42]repo
     * [43]stage0 by Jeremiah Orians, [44]repo
     * [45]Boot2Now by Rick Masters, [46]repo
     * [47]Coquillage by bms_
     * [48]Aesop by unmatched-paren
     * [49]Descent principle
     * [50]The Semantics Assignment Problem
     * [51]Self-Extension
     * [52]Self-Hosting
     * [53]Build Systems
     * [54]Build Inputs
     * [55]C compilers
     * [56]Below C Level
     * [57]Boostrapping Specific Languages
     * [58]Investigate
     * [59]Projects List
     * [60]Documents
     * [61]Forth

   Other ideas that have been considered are listed on the dedicated
   [62]Past Research page. There is also a list of [63]discarded options
   and why.

Groups[[64]edit]

   The [65]Groups page has links related to various areas of interest
   including:
     * Karger-Thompson Attack
     * Ubiquitous Implementations
     * Small C Compilers
     * Grammars, Parsing, and Term Rewriting
     * Virtual Machines, Instruction Sets
     * CPU's for Bootstrapping
     * Minimal Operating Systems
     * Biology / Other?

Helpful Links[[66]edit]

     * [67]AIM-039.pdf The first self hosted lisp
     * [68]lambda-the-ultimate thread asking for info on bootstrapping
     * [69]awesome-compilers github list with a lot of information (copy
       the relevant parts to this wiki)
     * [70]Tombstone diagram
     * [71]bootstrappable a community hub for bootstrapping, with mailing
       list.
     * [72]bootstrappable mailing list
     * [73]yabfc - Generating-executable-files-from-scratch
     * [74]ELF visualization
     * [75]Cfront - converts C++ to C; developed by Bjarne Stroustrup.
     * [76]How do I install all of the GNU C Library project libraries
       that I just built
     * [77]Formal Compiler Verification with ACL2 - proving a compiler
       correct with ACL2 and discussion about correctness and self
       compiling.

   Retrieved from
   "[78]https://bootstrapping.miraheze.org/wiki/Main_Page?oldid=448"

   Cookies help us deliver our services. By using our services, you agree
   to our use of cookies.
   [79]More information (OK) OK

     * This page was last edited on 7 September 2023, at 10:18.
     * Content is available under Creative Commons Attribution-ShareAlike
       4.0 International (CC BY-SA 4.0) unless otherwise noted.

     * [80]Privacy policy
     * [81]About bootstrapping
     * [82]Disclaimers
     * [83]Mobile view
     * [84]Terms of Use
     * [85]Donate to Miraheze

     * [86]Hosted by Miraheze [87]Powered by MediaWiki
     * [88]Creative Commons Attribution-ShareAlike 4.0 International (CC
       BY-SA 4.0)

References

   Visible links:
   1. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit
   2. https://bootstrapping.miraheze.org/w/opensearch_desc.php
   3. https://bootstrapping.miraheze.org/wiki/Special:RecentChanges?feed=atom
   4. https://bootstrapping.miraheze.org/wiki/Main_Page#bodyContent
   5. https://bootstrapping.miraheze.org/wiki/Main_Page
   6. https://bootstrapping.miraheze.org/wiki/Special:Search
   7. https://bootstrapping.miraheze.org/wiki/Special:CreateAccount?returnto=Main+Page
   8. https://bootstrapping.miraheze.org/wiki/Special:UserLogin?returnto=Main+Page
   9. https://bootstrapping.miraheze.org/wiki/Main_Page
  10. https://bootstrapping.miraheze.org/wiki/Special:CreateAccount?returnto=Main+Page
  11. https://bootstrapping.miraheze.org/wiki/Special:UserLogin?returnto=Main+Page
  12. https://bootstrapping.miraheze.org/wiki/Help:Introduction
  13. https://bootstrapping.miraheze.org/wiki/Special:MyContributions
  14. https://bootstrapping.miraheze.org/wiki/Special:MyTalk
  15. https://bootstrapping.miraheze.org/wiki/Main_Page
  16. https://bootstrapping.miraheze.org/wiki/Special:RecentChanges
  17. https://bootstrapping.miraheze.org/wiki/Special:Random
  18. https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents
  19. https://bootstrapping.miraheze.org/wiki/Special:WhatLinksHere/Main_Page
  20. https://bootstrapping.miraheze.org/wiki/Special:RecentChangesLinked/Main_Page
  21. https://bootstrapping.miraheze.org/wiki/Special:SpecialPages
  22. javascript:print();
  23. https://bootstrapping.miraheze.org/wiki/Main_Page?oldid=448
  24. https://bootstrapping.miraheze.org/wiki/Main_Page?action=info
  25. https://bootstrapping.miraheze.org/wiki/Special:UrlShortener?url=https%3A%2F%2Fbootstrapping.miraheze.org%2Fwiki%2FMain_Page
  26. https://bootstrapping.miraheze.org/wiki/Special:CiteThisPage?page=Main_Page&id=448&wpFormIdentifier=titleform
  27. https://bootstrapping.miraheze.org/wiki/Main_Page
  28. https://bootstrapping.miraheze.org/wiki/Talk:Main_Page
  29. https://bootstrapping.miraheze.org/wiki/Main_Page
  30. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit
  31. https://bootstrapping.miraheze.org/wiki/Main_Page?action=history
  32. https://bootstrapping.miraheze.org/wiki/Main_Page
  33. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit
  34. https://bootstrapping.miraheze.org/wiki/Main_Page?action=history
  35. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit&section=1
  36. https://www.teamten.com/lawrence/writings/coding-machines/
  37. https://bootstrappable.org/
  38. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit&section=2
  39. https://bootstrapping.miraheze.org/wiki/Mes
  40. https://gitlab.com/janneke/mes
  41. https://bootstrapping.miraheze.org/wiki/Live-bootstrap
  42. https://github.com/fosslinux/live-bootstrap
  43. https://bootstrapping.miraheze.org/wiki/Stage0
  44. https://git.savannah.nongnu.org/cgit/stage0.git/
  45. https://bootstrapping.miraheze.org/wiki/Boot2Now
  46. https://github.com/ironmeld/boot2now
  47. https://bootstrapping.miraheze.org/wiki/Coquillage
  48. https://bootstrapping.miraheze.org/wiki/Aesop
  49. https://bootstrapping.miraheze.org/wiki/Descent_principle
  50. https://bootstrapping.miraheze.org/wiki/The_Semantics_Assignment_Problem
  51. https://bootstrapping.miraheze.org/wiki/Self-Extension
  52. https://bootstrapping.miraheze.org/wiki/Self-Hosting
  53. https://bootstrapping.miraheze.org/wiki/Build_Systems
  54. https://bootstrapping.miraheze.org/wiki/Build_Inputs
  55. https://bootstrapping.miraheze.org/wiki/C_compilers
  56. https://bootstrapping.miraheze.org/wiki/Below_C_Level
  57. https://bootstrapping.miraheze.org/wiki/Boostrapping_Specific_Languages
  58. https://bootstrapping.miraheze.org/wiki/Investigate
  59. https://bootstrapping.miraheze.org/wiki/Projects_List
  60. https://bootstrapping.miraheze.org/wiki/Documents
  61. https://bootstrapping.miraheze.org/wiki/Forth
  62. https://bootstrapping.miraheze.org/wiki/Past_Research
  63. https://bootstrapping.miraheze.org/wiki/Discarded_options_and_why
  64. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit&section=3
  65. https://bootstrapping.miraheze.org/wiki/Groups
  66. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit&section=4
  67. ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-039.pdf
  68. http://lambda-the-ultimate.org/node/3678
  69. https://github.com/aalhour/awesome-compilers
  70. https://en.wikipedia.org/wiki/Tombstone_diagram
  71. http://bootstrappable.org/
  72. https://www.freelists.org/archive/bootstrappable/
  73. https://github.com/cameronswinoga/yabfc/wiki/Generating-executable-files-from-scratch
  74. http://i.imgur.com/xMyblyM.png
  75. https://en.wikipedia.org/wiki/Cfront
  76. https://sourceware.org/glibc/wiki/FAQ#How_do_I_install_all_of_the_GNU_C_Library_project_libraries_that_I_just_built.3F
  77. http://ssw.jku.at/General/Staff/TW/FormCompilerVerificationACL2.pdf
  78. https://bootstrapping.miraheze.org/wiki/Main_Page?oldid=448
  79. https://meta.miraheze.org/wiki/Special:MyLanguage/Privacy_Policy#4._Cookies
  80. https://meta.miraheze.org/wiki/Special:MyLanguage/Privacy_Policy
  81. https://bootstrapping.miraheze.org/wiki/bootstrapping:About
  82. https://bootstrapping.miraheze.org/wiki/bootstrapping:General_disclaimer
  83. https://bootstrapping.miraheze.org/wiki/Main_Page?mobileaction=toggle_view_mobile
  84. https://meta.miraheze.org/wiki/Special:MyLanguage/Terms_of_Use
  85. https://meta.miraheze.org/wiki/Special:MyLanguage/Donate
  86. https://meta.miraheze.org/wiki/Special:MyLanguage/Miraheze
  87. https://www.mediawiki.org/
  88. https://creativecommons.org/licenses/by-sa/4.0/

   Hidden links:
  90. https://bootstrapping.miraheze.org/wiki/Main_Page
  91. https://bootstrapping.miraheze.org/wiki/Main_Page#Welcome_to_the_bootstrapping_wiki!
  92. https://bootstrapping.miraheze.org/wiki/Main_Page#Topics
  93. https://bootstrapping.miraheze.org/wiki/Main_Page#Groups
  94. https://bootstrapping.miraheze.org/wiki/Main_Page#Helpful_Links