@@ -243,6 +243,38 @@ tokio), all but a few worked out-of-the-box!
243
243
[ vulkan-renderer-prototype-video ] : https://www.youtube.com/watch?v=Ks_HQbejHE4
244
244
[ moltenvk ] : https://github.com/KhronosGroup/MoltenVK
245
245
246
+ ### [ Langcraft]
247
+
248
+ [ Langcraft] is the Minecraft LLVM target you've never wanted.
249
+
250
+ Langcraft started as a dare to the ` #lang-dev ` channel of the Rust
251
+ Community Discord to be able to parse Rust code in Minecraft.
252
+ Naturally, it grew into a full code generator that can translate
253
+ most LLVM IR to
254
+ [ Minecraft data packs] ( https://minecraft.gamepedia.com/Data_Pack ) ,
255
+ the game's deliberately-limited in-game scripting language. Langcraft
256
+ is entirely language independent, so any language with an LLVM-based
257
+ compiler can (with the right API bindings) run in Minecraft. Currently
258
+ bindings to both C and Rust exist. While not as visually impressive as
259
+ a redstone computer, Langcraft does stretch the bounds of the game quite
260
+ a bit, using jukeboxes for memory, armor stands to represent pointers,
261
+ and rearranging compiled code to make it run in the bounds of the data
262
+ packs' fixed instruction limit.
263
+
264
+ This is all, naturally, entirely useless. The project is also still
265
+ heavily work-in-progress and does not pretend to be stable, but it is
266
+ usable. A handwritten interpreter for a Rust-like language has already
267
+ been demonstrated running, and even more complex projects like [ CHIP-8
268
+ emulators] ( https://github.com/Dhole/chip8-rs.git ) function (albeit at
269
+ extremely slow speed).
270
+
271
+ You can watch a [ video of Rust interpreter running Fizzbuzz] [ langcraft-video ] :
272
+
273
+ [ ![ youtube preview] ( longcraft-video.jpeg )] [ langcraft-video ]
274
+
275
+ [ Langcraft ] : https://github.com/SuperTails/langcraft
276
+ [ langcraft-video ] : https://youtube.com/watch?v=Cx0w5Wn9pPU
277
+
246
278
## Popular Workgroup Issues in Github
247
279
248
280
<!-- Up to 10 links to interesting issues -->
0 commit comments