├── .gitignore ├── LICENSE ├── README.md ├── exercises ├── Makefile ├── package.yaml ├── src │ ├── Ex01StaticString │ │ ├── StaticString.hs │ │ ├── data.yml │ │ ├── reference.js │ │ └── test.js │ ├── Ex02Echo │ │ ├── Echo.hs │ │ ├── data.yml │ │ ├── reference.js │ │ └── test.js │ ├── Ex03CaseMatch │ │ ├── CaseMatch.hs │ │ ├── data.yml │ │ ├── reference.js │ │ └── test.js │ ├── Ex04StringManipulation │ │ ├── StringManipulation.hs │ │ ├── data.yml │ │ ├── reference.js │ │ └── test.js │ ├── Ex05OnoffSwitch │ │ ├── OnoffSwitch.hs │ │ ├── data.yml │ │ ├── reference.js │ │ └── test.js │ ├── Ex06Counter │ │ ├── Counter.hs │ │ ├── data.yml │ │ ├── reference.js │ │ └── test.js │ ├── Ex07ShoppingCart │ │ ├── ShoppingCart.hs │ │ ├── data.yml │ │ ├── reference.js │ │ └── test.js │ ├── Ex08ShoppingCartV2 │ │ ├── ShoppingCartV2.hs │ │ ├── data.yml │ │ ├── reference.js │ │ └── test.js │ ├── Main.hs │ └── TodoMVC │ │ ├── Backend.hs │ │ ├── Core.hs │ │ ├── HTTP.hs │ │ ├── Input.hs │ │ └── js │ │ ├── Backend.js │ │ ├── Core.js │ │ ├── HTTP.js │ │ ├── package.json │ │ └── yarn.lock ├── stack.yaml └── test │ ├── bundle-frontend │ ├── fix-hackage-links.js │ ├── index.html │ ├── index.js │ ├── logo-wide.png │ ├── logo.png │ ├── package-lock.json │ ├── package.json │ ├── process-html.js │ ├── run-tests │ ├── template.html │ ├── test-runner-browser.js │ ├── test-runner-node.js │ └── test-runner.js └── library ├── package.yaml ├── src └── Zero │ └── Server.hs ├── stack.yaml ├── stack.yaml.lock └── zero-bullshit.cabal /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/README.md -------------------------------------------------------------------------------- /exercises/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/Makefile -------------------------------------------------------------------------------- /exercises/package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/package.yaml -------------------------------------------------------------------------------- /exercises/src/Ex01StaticString/StaticString.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex01StaticString/StaticString.hs -------------------------------------------------------------------------------- /exercises/src/Ex01StaticString/data.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex01StaticString/data.yml -------------------------------------------------------------------------------- /exercises/src/Ex01StaticString/reference.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex01StaticString/reference.js -------------------------------------------------------------------------------- /exercises/src/Ex01StaticString/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex01StaticString/test.js -------------------------------------------------------------------------------- /exercises/src/Ex02Echo/Echo.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex02Echo/Echo.hs -------------------------------------------------------------------------------- /exercises/src/Ex02Echo/data.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex02Echo/data.yml -------------------------------------------------------------------------------- /exercises/src/Ex02Echo/reference.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex02Echo/reference.js -------------------------------------------------------------------------------- /exercises/src/Ex02Echo/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex02Echo/test.js -------------------------------------------------------------------------------- /exercises/src/Ex03CaseMatch/CaseMatch.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex03CaseMatch/CaseMatch.hs -------------------------------------------------------------------------------- /exercises/src/Ex03CaseMatch/data.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex03CaseMatch/data.yml -------------------------------------------------------------------------------- /exercises/src/Ex03CaseMatch/reference.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex03CaseMatch/reference.js -------------------------------------------------------------------------------- /exercises/src/Ex03CaseMatch/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex03CaseMatch/test.js -------------------------------------------------------------------------------- /exercises/src/Ex04StringManipulation/StringManipulation.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex04StringManipulation/StringManipulation.hs -------------------------------------------------------------------------------- /exercises/src/Ex04StringManipulation/data.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex04StringManipulation/data.yml -------------------------------------------------------------------------------- /exercises/src/Ex04StringManipulation/reference.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex04StringManipulation/reference.js -------------------------------------------------------------------------------- /exercises/src/Ex04StringManipulation/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex04StringManipulation/test.js -------------------------------------------------------------------------------- /exercises/src/Ex05OnoffSwitch/OnoffSwitch.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex05OnoffSwitch/OnoffSwitch.hs -------------------------------------------------------------------------------- /exercises/src/Ex05OnoffSwitch/data.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex05OnoffSwitch/data.yml -------------------------------------------------------------------------------- /exercises/src/Ex05OnoffSwitch/reference.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex05OnoffSwitch/reference.js -------------------------------------------------------------------------------- /exercises/src/Ex05OnoffSwitch/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex05OnoffSwitch/test.js -------------------------------------------------------------------------------- /exercises/src/Ex06Counter/Counter.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex06Counter/Counter.hs -------------------------------------------------------------------------------- /exercises/src/Ex06Counter/data.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex06Counter/data.yml -------------------------------------------------------------------------------- /exercises/src/Ex06Counter/reference.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex06Counter/reference.js -------------------------------------------------------------------------------- /exercises/src/Ex06Counter/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex06Counter/test.js -------------------------------------------------------------------------------- /exercises/src/Ex07ShoppingCart/ShoppingCart.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex07ShoppingCart/ShoppingCart.hs -------------------------------------------------------------------------------- /exercises/src/Ex07ShoppingCart/data.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex07ShoppingCart/data.yml -------------------------------------------------------------------------------- /exercises/src/Ex07ShoppingCart/reference.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex07ShoppingCart/reference.js -------------------------------------------------------------------------------- /exercises/src/Ex07ShoppingCart/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex07ShoppingCart/test.js -------------------------------------------------------------------------------- /exercises/src/Ex08ShoppingCartV2/ShoppingCartV2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex08ShoppingCartV2/ShoppingCartV2.hs -------------------------------------------------------------------------------- /exercises/src/Ex08ShoppingCartV2/data.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex08ShoppingCartV2/data.yml -------------------------------------------------------------------------------- /exercises/src/Ex08ShoppingCartV2/reference.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex08ShoppingCartV2/reference.js -------------------------------------------------------------------------------- /exercises/src/Ex08ShoppingCartV2/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Ex08ShoppingCartV2/test.js -------------------------------------------------------------------------------- /exercises/src/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/Main.hs -------------------------------------------------------------------------------- /exercises/src/TodoMVC/Backend.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/Backend.hs -------------------------------------------------------------------------------- /exercises/src/TodoMVC/Core.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/Core.hs -------------------------------------------------------------------------------- /exercises/src/TodoMVC/HTTP.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/HTTP.hs -------------------------------------------------------------------------------- /exercises/src/TodoMVC/Input.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/Input.hs -------------------------------------------------------------------------------- /exercises/src/TodoMVC/js/Backend.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/js/Backend.js -------------------------------------------------------------------------------- /exercises/src/TodoMVC/js/Core.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/js/Core.js -------------------------------------------------------------------------------- /exercises/src/TodoMVC/js/HTTP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/js/HTTP.js -------------------------------------------------------------------------------- /exercises/src/TodoMVC/js/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/js/package.json -------------------------------------------------------------------------------- /exercises/src/TodoMVC/js/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/src/TodoMVC/js/yarn.lock -------------------------------------------------------------------------------- /exercises/stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/stack.yaml -------------------------------------------------------------------------------- /exercises/test/bundle-frontend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/bundle-frontend -------------------------------------------------------------------------------- /exercises/test/fix-hackage-links.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/fix-hackage-links.js -------------------------------------------------------------------------------- /exercises/test/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/index.html -------------------------------------------------------------------------------- /exercises/test/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/index.js -------------------------------------------------------------------------------- /exercises/test/logo-wide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/logo-wide.png -------------------------------------------------------------------------------- /exercises/test/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/logo.png -------------------------------------------------------------------------------- /exercises/test/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/package-lock.json -------------------------------------------------------------------------------- /exercises/test/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/package.json -------------------------------------------------------------------------------- /exercises/test/process-html.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/process-html.js -------------------------------------------------------------------------------- /exercises/test/run-tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/run-tests -------------------------------------------------------------------------------- /exercises/test/template.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/template.html -------------------------------------------------------------------------------- /exercises/test/test-runner-browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/test-runner-browser.js -------------------------------------------------------------------------------- /exercises/test/test-runner-node.js: -------------------------------------------------------------------------------- 1 | 2 | require('./test-runner.js')(process.env.EXERCISE) 3 | -------------------------------------------------------------------------------- /exercises/test/test-runner.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/exercises/test/test-runner.js -------------------------------------------------------------------------------- /library/package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/library/package.yaml -------------------------------------------------------------------------------- /library/src/Zero/Server.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/library/src/Zero/Server.hs -------------------------------------------------------------------------------- /library/stack.yaml: -------------------------------------------------------------------------------- 1 | resolver: lts-13.16 2 | -------------------------------------------------------------------------------- /library/stack.yaml.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/library/stack.yaml.lock -------------------------------------------------------------------------------- /library/zero-bullshit.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpacaaa/zero-bs-haskell/HEAD/library/zero-bullshit.cabal --------------------------------------------------------------------------------