├── .gitignore ├── Makefile ├── README.md ├── data └── program.dat ├── html ├── base64.js ├── index.html └── main.js └── implementations ├── asterius ├── .gitignore ├── Driver.wasm ├── base64.js ├── build.sh ├── files.js ├── index.html ├── index.js ├── package.yaml ├── src │ ├── Driver.hs │ ├── Hardware │ │ └── MOS6502 │ │ │ └── Emu.hs │ └── main.hs ├── stack.yaml ├── stack.yaml.lock └── top.js ├── clean ├── .gitignore ├── README.md ├── nitrile-lock.json ├── nitrile.yml └── src │ ├── mos6502.icl │ └── mos6502.js ├── ghc-js ├── .gitignore ├── base64.js ├── build.sh ├── files.js ├── index.html ├── src │ ├── Driver.hs │ ├── Hardware │ │ └── MOS6502 │ │ │ └── Emu.hs │ └── main.hs └── top.js ├── ghc-wasm ├── .gitignore ├── base64.js ├── build.sh ├── driver.js ├── files.js ├── index.html ├── index.js ├── package.yaml ├── src │ ├── Driver.hs │ ├── Hardware │ │ └── MOS6502 │ │ │ └── Emu.hs │ └── main.hs ├── stack.yaml ├── stack.yaml.lock └── top.js ├── idris2 ├── .gitignore ├── fp-perf-mos6502-idris2.ipkg └── src │ ├── Control │ └── Monad │ │ └── IO │ │ └── Fast.idr │ ├── Data │ ├── Array │ │ └── Fast.idr │ └── Bits │ │ └── Fast.idr │ ├── Hardware │ └── MOS6502 │ │ └── Emu.idr │ └── Main.idr ├── js └── mos6502.js ├── purescript ├── .gitignore ├── package-lock.json ├── package.json ├── packages.dhall ├── spago.dhall └── src │ ├── Hardware │ └── MOS6502 │ │ └── Emu.purs │ ├── Main.js │ └── Main.purs └── rescript ├── .gitignore ├── bsconfig.json ├── package-lock.json ├── package.json └── src ├── Int16.re ├── Int16.rei ├── Int8.re ├── Int8.rei ├── MOS6502.re ├── MOS6502.rei ├── Main.res ├── Main.resi └── dune /.gitignore: -------------------------------------------------------------------------------- 1 | /_build 2 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/README.md -------------------------------------------------------------------------------- /data/program.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/data/program.dat -------------------------------------------------------------------------------- /html/base64.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/html/base64.js -------------------------------------------------------------------------------- /html/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/html/index.html -------------------------------------------------------------------------------- /html/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/html/main.js -------------------------------------------------------------------------------- /implementations/asterius/.gitignore: -------------------------------------------------------------------------------- 1 | /*.cabal 2 | /_build 3 | -------------------------------------------------------------------------------- /implementations/asterius/Driver.wasm: -------------------------------------------------------------------------------- 1 | _build/Driver.wasm -------------------------------------------------------------------------------- /implementations/asterius/base64.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/base64.js -------------------------------------------------------------------------------- /implementations/asterius/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/build.sh -------------------------------------------------------------------------------- /implementations/asterius/files.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/files.js -------------------------------------------------------------------------------- /implementations/asterius/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/index.html -------------------------------------------------------------------------------- /implementations/asterius/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/index.js -------------------------------------------------------------------------------- /implementations/asterius/package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/package.yaml -------------------------------------------------------------------------------- /implementations/asterius/src/Driver.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/src/Driver.hs -------------------------------------------------------------------------------- /implementations/asterius/src/Hardware/MOS6502/Emu.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/src/Hardware/MOS6502/Emu.hs -------------------------------------------------------------------------------- /implementations/asterius/src/main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/src/main.hs -------------------------------------------------------------------------------- /implementations/asterius/stack.yaml: -------------------------------------------------------------------------------- 1 | resolver: lts-18.24 2 | 3 | packages: 4 | - '.' 5 | -------------------------------------------------------------------------------- /implementations/asterius/stack.yaml.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/stack.yaml.lock -------------------------------------------------------------------------------- /implementations/asterius/top.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/asterius/top.js -------------------------------------------------------------------------------- /implementations/clean/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/clean/.gitignore -------------------------------------------------------------------------------- /implementations/clean/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/clean/README.md -------------------------------------------------------------------------------- /implementations/clean/nitrile-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/clean/nitrile-lock.json -------------------------------------------------------------------------------- /implementations/clean/nitrile.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/clean/nitrile.yml -------------------------------------------------------------------------------- /implementations/clean/src/mos6502.icl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/clean/src/mos6502.icl -------------------------------------------------------------------------------- /implementations/clean/src/mos6502.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/clean/src/mos6502.js -------------------------------------------------------------------------------- /implementations/ghc-js/.gitignore: -------------------------------------------------------------------------------- 1 | /*.cabal 2 | /_build 3 | -------------------------------------------------------------------------------- /implementations/ghc-js/base64.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-js/base64.js -------------------------------------------------------------------------------- /implementations/ghc-js/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-js/build.sh -------------------------------------------------------------------------------- /implementations/ghc-js/files.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-js/files.js -------------------------------------------------------------------------------- /implementations/ghc-js/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-js/index.html -------------------------------------------------------------------------------- /implementations/ghc-js/src/Driver.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-js/src/Driver.hs -------------------------------------------------------------------------------- /implementations/ghc-js/src/Hardware/MOS6502/Emu.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-js/src/Hardware/MOS6502/Emu.hs -------------------------------------------------------------------------------- /implementations/ghc-js/src/main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-js/src/main.hs -------------------------------------------------------------------------------- /implementations/ghc-js/top.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-js/top.js -------------------------------------------------------------------------------- /implementations/ghc-wasm/.gitignore: -------------------------------------------------------------------------------- 1 | /*.cabal 2 | /_build 3 | -------------------------------------------------------------------------------- /implementations/ghc-wasm/base64.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/base64.js -------------------------------------------------------------------------------- /implementations/ghc-wasm/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/build.sh -------------------------------------------------------------------------------- /implementations/ghc-wasm/driver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/driver.js -------------------------------------------------------------------------------- /implementations/ghc-wasm/files.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/files.js -------------------------------------------------------------------------------- /implementations/ghc-wasm/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/index.html -------------------------------------------------------------------------------- /implementations/ghc-wasm/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/index.js -------------------------------------------------------------------------------- /implementations/ghc-wasm/package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/package.yaml -------------------------------------------------------------------------------- /implementations/ghc-wasm/src/Driver.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/src/Driver.hs -------------------------------------------------------------------------------- /implementations/ghc-wasm/src/Hardware/MOS6502/Emu.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/src/Hardware/MOS6502/Emu.hs -------------------------------------------------------------------------------- /implementations/ghc-wasm/src/main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/src/main.hs -------------------------------------------------------------------------------- /implementations/ghc-wasm/stack.yaml: -------------------------------------------------------------------------------- 1 | resolver: lts-18.24 2 | 3 | packages: 4 | - '.' 5 | -------------------------------------------------------------------------------- /implementations/ghc-wasm/stack.yaml.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/stack.yaml.lock -------------------------------------------------------------------------------- /implementations/ghc-wasm/top.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/ghc-wasm/top.js -------------------------------------------------------------------------------- /implementations/idris2/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /implementations/idris2/fp-perf-mos6502-idris2.ipkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/idris2/fp-perf-mos6502-idris2.ipkg -------------------------------------------------------------------------------- /implementations/idris2/src/Control/Monad/IO/Fast.idr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/idris2/src/Control/Monad/IO/Fast.idr -------------------------------------------------------------------------------- /implementations/idris2/src/Data/Array/Fast.idr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/idris2/src/Data/Array/Fast.idr -------------------------------------------------------------------------------- /implementations/idris2/src/Data/Bits/Fast.idr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/idris2/src/Data/Bits/Fast.idr -------------------------------------------------------------------------------- /implementations/idris2/src/Hardware/MOS6502/Emu.idr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/idris2/src/Hardware/MOS6502/Emu.idr -------------------------------------------------------------------------------- /implementations/idris2/src/Main.idr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/idris2/src/Main.idr -------------------------------------------------------------------------------- /implementations/js/mos6502.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/js/mos6502.js -------------------------------------------------------------------------------- /implementations/purescript/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | output 3 | .spago 4 | -------------------------------------------------------------------------------- /implementations/purescript/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/purescript/package-lock.json -------------------------------------------------------------------------------- /implementations/purescript/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/purescript/package.json -------------------------------------------------------------------------------- /implementations/purescript/packages.dhall: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/purescript/packages.dhall -------------------------------------------------------------------------------- /implementations/purescript/spago.dhall: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/purescript/spago.dhall -------------------------------------------------------------------------------- /implementations/purescript/src/Hardware/MOS6502/Emu.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/purescript/src/Hardware/MOS6502/Emu.purs -------------------------------------------------------------------------------- /implementations/purescript/src/Main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/purescript/src/Main.js -------------------------------------------------------------------------------- /implementations/purescript/src/Main.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/purescript/src/Main.purs -------------------------------------------------------------------------------- /implementations/rescript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /lib/ 3 | .bsb.lock 4 | .merlin 5 | 6 | /src/*.bs.js 7 | -------------------------------------------------------------------------------- /implementations/rescript/bsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/bsconfig.json -------------------------------------------------------------------------------- /implementations/rescript/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/package-lock.json -------------------------------------------------------------------------------- /implementations/rescript/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/package.json -------------------------------------------------------------------------------- /implementations/rescript/src/Int16.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/Int16.re -------------------------------------------------------------------------------- /implementations/rescript/src/Int16.rei: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/Int16.rei -------------------------------------------------------------------------------- /implementations/rescript/src/Int8.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/Int8.re -------------------------------------------------------------------------------- /implementations/rescript/src/Int8.rei: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/Int8.rei -------------------------------------------------------------------------------- /implementations/rescript/src/MOS6502.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/MOS6502.re -------------------------------------------------------------------------------- /implementations/rescript/src/MOS6502.rei: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/MOS6502.rei -------------------------------------------------------------------------------- /implementations/rescript/src/Main.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/Main.res -------------------------------------------------------------------------------- /implementations/rescript/src/Main.resi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/Main.resi -------------------------------------------------------------------------------- /implementations/rescript/src/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gergoerdi/functional-mos6502-web-performance/HEAD/implementations/rescript/src/dune --------------------------------------------------------------------------------