Skip to content

Commit 00eb8c2

Browse files
authored
Merge pull request #52 from healeycodes/post-lisp-bytecode
add bytecode compiler post
2 parents ccdf1ba + b18df3d commit 00eb8c2

File tree

4 files changed

+354
-24
lines changed

4 files changed

+354
-24
lines changed

.github/workflows/e2e.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
build:
11-
runs-on: ubuntu-latest
11+
runs-on: ubuntu-22.04
1212

1313
strategy:
1414
matrix:

data/posts.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export const popularPosts = [
77

88
// Starred posts (not in any specific order)
99
export const postStars = [
10-
"generating-mazes",
10+
"compiling-lisp-to-bytecode-and-running-it",
1111
"making-python-less-random",
1212
"lisp-compiler-optimizations",
1313
"lisp-to-javascript-compiler",

data/projects.ts

Lines changed: 37 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
export default [
22
{
3-
name: "andoma",
4-
link: "https://github.com/healeycodes/andoma",
5-
desc: "A chess engine with alpha-beta pruning, piece-square tables, and move ordering.",
6-
to: "/building-my-own-chess-engine",
3+
name: "lisp-to-js",
4+
link: "https://github.com/healeycodes/lisp-to-js",
5+
desc:
6+
"An optimizing compiler for a Lisp variant. Compiles and executes byte code in a VM. Can also output JavaScript.",
7+
to: "/compiling-lisp-to-bytecode-and-running-it",
78
},
89
{
910
name: "nodots",
1011
link: "https://github.com/healeycodes/nodots-lang",
11-
desc: "A small programming language with an interpreter, a profiler, and a WebAssembly compiler.",
12+
desc:
13+
"A small programming language with an interpreter, a profiler, and a WebAssembly compiler.",
1214
to: "/a-custom-webassembly-compiler",
1315
},
1416
{
@@ -18,10 +20,11 @@ export default [
1820
to: "/making-a-text-editor-with-a-game-engine",
1921
},
2022
{
21-
name: "lisp-to-js",
22-
link: "https://github.com/healeycodes/lisp-to-js",
23-
desc: "A Lisp-to-JavaScript optimizing compiler written in Rust. Supports a variant of Little Lisp.",
24-
to: "/lisp-to-javascript-compiler",
23+
name: "andoma",
24+
link: "https://github.com/healeycodes/andoma",
25+
desc:
26+
"A chess engine with alpha-beta pruning, piece-square tables, and move ordering.",
27+
to: "/building-my-own-chess-engine",
2528
},
2629
{
2730
name: "jar",
@@ -50,19 +53,22 @@ export default [
5053
{
5154
name: "golfcart",
5255
link: "https://github.com/healeycodes/golfcart",
53-
desc: "A minimal programming language inspired by Ink, JavaScript, and Python.",
56+
desc:
57+
"A minimal programming language inspired by Ink, JavaScript, and Python.",
5458
to: "/creating-the-golfcart-programming-language",
5559
},
5660
{
5761
name: "unrandom",
5862
link: "https://github.com/healeycodes/unrandom",
59-
desc: "Intercept and modify getrandom syscalls from a process (x86-64 Linux).",
63+
desc:
64+
"Intercept and modify getrandom syscalls from a process (x86-64 Linux).",
6065
to: "/making-python-less-random",
6166
},
6267
{
6368
name: "bitcask-lite",
6469
link: "https://github.com/healeycodes/bitcask-lite",
65-
desc: "A log-structured hash table database. Speedy K/V store for datasets larger than memory.",
70+
desc:
71+
"A log-structured hash table database. Speedy K/V store for datasets larger than memory.",
6672
to: "/implementing-bitcask-a-log-structured-hash-table",
6773
},
6874
{
@@ -79,7 +85,8 @@ export default [
7985
{
8086
name: "crane-search",
8187
link: "https://github.com/healeycodes/crane-search",
82-
desc: "A full-text WebAssembly search engine for static websites. Build, index, and fly.",
88+
desc:
89+
"A full-text WebAssembly search engine for static websites. Build, index, and fly.",
8390
to: "/webassembly-search-tools-for-static-websites",
8491
},
8592
{
@@ -91,14 +98,15 @@ export default [
9198
{
9299
name: "niceware",
93100
link: "https://github.com/healeycodes/niceware",
94-
desc: "Generate or convert random bytes into passphrases. A Rust port of niceware.",
101+
desc:
102+
"Generate or convert random bytes into passphrases. A Rust port of niceware.",
95103
to: "/porting-niceware-to-rust",
96104
},
97105
{
98106
name: "dm-multiplayer",
99107
link: "https://github.com/healeycodes/dm-multiplayer",
100108
desc: "A game prototype for a 2D arena shooter.",
101-
to: "/2d-multiplayer-from-scratch"
109+
to: "/2d-multiplayer-from-scratch",
102110
},
103111
{
104112
name: "deno-script-sandbox",
@@ -161,7 +169,8 @@ export default [
161169
{
162170
name: "hoot-language",
163171
link: "https://github.com/healeycodes/hoot-language",
164-
desc: "A general-purpose interpreted scripting language with an event loop.",
172+
desc:
173+
"A general-purpose interpreted scripting language with an event loop.",
165174
},
166175
{
167176
name: "deno-isolate-web-request",
@@ -177,7 +186,8 @@ export default [
177186
name: "in-memory-cache-over-http",
178187
link: "https://github.com/healeycodes/in-memory-cache-over-http",
179188
desc: "An in-memory LRU cache server.",
180-
to: "/go/tutorial/beginners/showdev/2019/10/21/cloning-memcached-with-go.html",
189+
to:
190+
"/go/tutorial/beginners/showdev/2019/10/21/cloning-memcached-with-go.html",
181191
},
182192
{
183193
name: "healeycodes.com",
@@ -217,7 +227,8 @@ export default [
217227
{
218228
name: "gatsby-serverless-comments",
219229
link: "https://github.com/healeycodes/gatsby-serverless-comments",
220-
desc: "Use Netlify serverless functions to add commenting to a static website.",
230+
desc:
231+
"Use Netlify serverless functions to add commenting to a static website.",
221232
to: "/adding-comments-to-gatsby-with-netlify-and-github",
222233
},
223234
{
@@ -229,7 +240,8 @@ export default [
229240
{
230241
name: "markov-chain-generator",
231242
link: "https://github.com/healeycodes/markov-chain-generator",
232-
desc: "Build and consume Markov chain models to generate random realistic text.",
243+
desc:
244+
"Build and consume Markov chain models to generate random realistic text.",
233245
to: "/generating-text-with-markov-chains",
234246
},
235247
{
@@ -240,7 +252,8 @@ export default [
240252
{
241253
name: "country-borders",
242254
link: "https://github.com/healeycodes/country-borders",
243-
desc: "Calculating the path between two countries with the least border crossings.",
255+
desc:
256+
"Calculating the path between two countries with the least border crossings.",
244257
to: "/practical-intro-to-graphs",
245258
},
246259
{
@@ -252,13 +265,15 @@ export default [
252265
{
253266
name: "dev-article-analysis",
254267
link: "https://github.com/healeycodes/dev-article-analysis",
255-
desc: "A website that graphs textual statistics from a DEV user's articles.",
268+
desc:
269+
"A website that graphs textual statistics from a DEV user's articles.",
256270
to: "/dev-article-analysis",
257271
},
258272
{
259273
name: "conways-game-of-life",
260274
link: "https://github.com/healeycodes/conways-game-of-life",
261275
desc: "A classic algorithm implemented visually with Ebiten.",
262-
to: "/beginners/go/showdev/opensource/2019/10/02/my-first-golang-program.html",
276+
to:
277+
"/beginners/go/showdev/opensource/2019/10/02/my-first-golang-program.html",
263278
},
264279
];

0 commit comments

Comments
 (0)