diff --git a/package-lock.json b/package-lock.json index 5611456..8b3d197 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,11 +11,11 @@ "vue": "^3.4.29" }, "devDependencies": { - "@traptitech/markdown-it-katex": "^3.6.0", "@tsconfig/node20": "^20.1.4", "@types/node": "^20.14.5", "@unhead/vue": "^1.9.16", "@vitejs/plugin-vue": "^5.0.5", + "@vscode/markdown-it-katex": "^1.1.0", "@vue/language-server": "^2.0.26", "@vue/tsconfig": "^0.5.1", "@vue/typescript-plugin": "^2.0.26", @@ -821,15 +821,6 @@ "win32" ] }, - "node_modules/@traptitech/markdown-it-katex": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@traptitech/markdown-it-katex/-/markdown-it-katex-3.6.0.tgz", - "integrity": "sha512-CnJzTWxsgLGXFdSrWRaGz7GZ1kUUi8g3E9HzJmeveX1YwVJavrKYqysktfHZQsujdnRqV5O7g8FPKEA/aeTkOQ==", - "dev": true, - "dependencies": { - "katex": "^0.16.0" - } - }, "node_modules/@tsconfig/node20": { "version": "20.1.4", "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.4.tgz", @@ -1048,6 +1039,15 @@ "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", "dev": true }, + "node_modules/@vscode/markdown-it-katex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vscode/markdown-it-katex/-/markdown-it-katex-1.1.0.tgz", + "integrity": "sha512-9cF2eJpsJOEs2V1cCAoJW/boKz9GQQLvZhNvI030K90z6ZE9lRGc9hDVvKut8zdFO2ObjwylPXXXVYvTdP2O2Q==", + "dev": true, + "dependencies": { + "katex": "^0.16.4" + } + }, "node_modules/@vue/compiler-core": { "version": "3.4.31", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.31.tgz", diff --git a/package.json b/package.json index 288dcb6..a732055 100644 --- a/package.json +++ b/package.json @@ -14,11 +14,11 @@ "vue": "^3.4.29" }, "devDependencies": { - "@traptitech/markdown-it-katex": "^3.6.0", "@tsconfig/node20": "^20.1.4", "@types/node": "^20.14.5", "@unhead/vue": "^1.9.16", "@vitejs/plugin-vue": "^5.0.5", + "@vscode/markdown-it-katex": "^1.1.0", "@vue/language-server": "^2.0.26", "@vue/tsconfig": "^0.5.1", "@vue/typescript-plugin": "^2.0.26", diff --git a/src/posts/haskell-and-logic.md b/src/posts/haskell-and-logic.md index 81c14f4..0cc1814 100644 --- a/src/posts/haskell-and-logic.md +++ b/src/posts/haskell-and-logic.md @@ -74,18 +74,18 @@ proof2 (a, f) = f a I strongly encourage you to play around with this on your own, coming up with some propositions and proving them by hand and using Haskell. The table below gives an overview of the translation from logic to Haskell. -
Logic | Haskell |
---|---|
Proposition | Type |
Proof | Term (element of type) |
Atom | Type variable |
$\top$ | Type with a known term |
$\bot$ | Type with no terms |
$P \land Q$ | (P, Q) |
$P \lor Q$ | Either P Q |
$P \to Q$ | P -> Q |
$\lnot P$ | P -> EmptyType |