git.iko.soy/rowtype-yoga/purslint
on main help sign in
Remove Go backend, keep JavaScript only

Go was 4-13x slower than Node.js for the CLI and 2-8x slower for the LSP. V8's JIT handles functional code patterns much better than the Go runtime. ๐Ÿ’˜ Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>

commit9a929d434ad335fe3a8883739c8ca2a4a4faf6a6 authorMark <mark.eibes@gmail.com> dateSun 25 Jan 2026, 19:29 (8 months ago) parent12820de
6 files changed+2โˆ’87
.gitignore+2โˆ’14 go.modโˆ’17 go.sumโˆ’8 purescript-native/ffi_loader.goโˆ’30 purescript-native/go.modโˆ’12 purescript-native/go.sumโˆ’6
.gitignore+2โˆ’14
@@ -3,26 +3,14 @@ bower_components/
33node_modules/
44.pulp-cache/
55output/
6โˆ’output-es/
6+output-*/
77generated-docs/
88.psc-package/
99.psc*
1010.purs*
1111.psa*
1212.spago
13โˆ’
14โˆ’# Go build artifacts
15โˆ’main_cli.go
16โˆ’main_lsp.go
17โˆ’test_main.go
18โˆ’debug_main.go
19โˆ’
20โˆ’# Binaries (root level only)
21โˆ’/purelint
22โˆ’/purelint-lsp
23โˆ’/test-runner
24โˆ’/debug-runner
25โˆ’/Main
13+package-lock.json
2614
2715# Zed extension build
2816zed-extension/target/
go.moddeletedโˆ’17
@@ -1,17 +0,0 @@
1โˆ’module project.localhost/example
2โˆ’
3โˆ’go 1.23.2
4โˆ’
5โˆ’replace project.localhost/purescript-native/ffi-loader => ./purescript-native
6โˆ’
7โˆ’replace project.localhost/purescript-native/output => ./output
8โˆ’
9โˆ’replace github.com/i-am-the-slime/go-ffi => /Users/mark/Developer/go-ffi
10โˆ’
11โˆ’require (
12โˆ’ github.com/dlclark/regexp2 v1.4.0 // indirect
13โˆ’ github.com/i-am-the-slime/go-ffi v0.0.0-20250107191809-8aebdb8aad2e // indirect
14โˆ’ github.com/purescript-native/go-runtime v0.1.2 // indirect
15โˆ’ project.localhost/purescript-native/ffi-loader v0.0.0-00010101000000-000000000000 // indirect
16โˆ’ project.localhost/purescript-native/output v0.0.0-00010101000000-000000000000 // indirect
17โˆ’)
go.sumdeletedโˆ’8
@@ -1,8 +0,0 @@
1โˆ’github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E=
2โˆ’github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
3โˆ’github.com/i-am-the-slime/go-ffi v0.0.0-20250107191809-8aebdb8aad2e h1:1XdE49AEa1EpmMPOVMqY7jVaqGUssrdHuSz6gY4LYP0=
4โˆ’github.com/i-am-the-slime/go-ffi v0.0.0-20250107191809-8aebdb8aad2e/go.mod h1:G20T9FXpgn6M3s1pnXDAOTwAXKQgDwl/uhMLfo5h6PA=
5โˆ’github.com/joprice/purescript-native-go-ffi v0.0.0-20230319170919-df001aa880fd/go.mod h1:1TvaJdjRUFHRmoLQ5QvpR1pnivyd7eBjNA+j1PuktBM=
6โˆ’github.com/purescript-native/go-runtime v0.1.0/go.mod h1:Pl7TR9c9Al8GMlY/R2D7joWjlQuTiB9eBN2a9aXd6GQ=
7โˆ’github.com/purescript-native/go-runtime v0.1.2 h1:vxVmLXojzc6nkP29qMxHmEd6iwolF309yP/FskRY88Y=
8โˆ’github.com/purescript-native/go-runtime v0.1.2/go.mod h1:Pl7TR9c9Al8GMlY/R2D7joWjlQuTiB9eBN2a9aXd6GQ=
purescript-native/ffi_loader.godeletedโˆ’30
@@ -1,30 +0,0 @@
1โˆ’package ffi_loader
2โˆ’
3โˆ’// Load PureScript standard library FFI packages. Comment out the ones you don't need for
4โˆ’// faster/smaller builds.
5โˆ’
6โˆ’import (
7โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-arrays"
8โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-console"
9โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-effect"
10โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-enums"
11โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-exceptions"
12โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-foldable-traversable"
13โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-foreign"
14โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-foreign-object"
15โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-functions"
16โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-integers"
17โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-lazy"
18โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-lsp"
19โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-math"
20โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-node-fs"
21โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-node-process"
22โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-partial"
23โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-prelude"
24โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-refs"
25โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-simple-json"
26โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-st"
27โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-strings"
28โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-unfoldable"
29โˆ’ _ "github.com/i-am-the-slime/go-ffi/purescript-unsafe-coerce"
30โˆ’)
purescript-native/go.moddeletedโˆ’12
@@ -1,12 +0,0 @@
1โˆ’module project.localhost/purescript-native/ffi-loader
2โˆ’
3โˆ’go 1.23.2
4โˆ’
5โˆ’require github.com/i-am-the-slime/go-ffi v0.0.0-20250107191809-8aebdb8aad2e
6โˆ’
7โˆ’require (
8โˆ’ github.com/dlclark/regexp2 v1.4.0 // indirect
9โˆ’ github.com/purescript-native/go-runtime v0.1.2 // indirect
10โˆ’)
11โˆ’
12โˆ’replace github.com/i-am-the-slime/go-ffi => /Users/mark/Developer/go-ffi
purescript-native/go.sumdeletedโˆ’6
@@ -1,6 +0,0 @@
1โˆ’github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E=
2โˆ’github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
3โˆ’github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
4โˆ’github.com/purescript-native/go-runtime v0.1.0/go.mod h1:Pl7TR9c9Al8GMlY/R2D7joWjlQuTiB9eBN2a9aXd6GQ=
5โˆ’github.com/purescript-native/go-runtime v0.1.2 h1:vxVmLXojzc6nkP29qMxHmEd6iwolF309yP/FskRY88Y=
6โˆ’github.com/purescript-native/go-runtime v0.1.2/go.mod h1:Pl7TR9c9Al8GMlY/R2D7joWjlQuTiB9eBN2a9aXd6GQ=