Leveraging a blazing-fast runtime: a (new) Go backend for PureScript

News #12:

Finally done with the existing official tests for each module. They are all green now. :green_circle:


E.g. tests are passing for gopurs-arrays (Go-FFIed mirror of purescript-arrays). Of course, the PureScript code does not need to change, in your project(s). The signatures of all functions has been kept intact. The single thing that changes is the lib source in spago.yaml (e.g. Data.Array will target gopurs-arrays, not purescript-arrays).

I’m going to go back through them now and improve their coverage, by adding non-official tests. But the bulk of this looong work is behind me.

List of validated modules
  1. gopurs-argonaut-core

  2. gopurs-arrays

  3. gopurs-assert

  4. gopurs-avar

  5. gopurs-catenable-lists

  6. gopurs-console

  7. gopurs-datetime

  8. gopurs-effect

  9. gopurs-enums

  10. gopurs-exceptions

  11. gopurs-foldable-traversable

  12. gopurs-foreign

  13. gopurs-foreign-object

  14. gopurs-free

  15. gopurs-functions

  16. gopurs-integers

  17. gopurs-js-bigints

  18. gopurs-js-date

  19. gopurs-js-promise

  20. gopurs-js-promise-aff

  21. gopurs-js-uri

  22. gopurs-lazy

  23. gopurs-node-buffer

  24. gopurs-node-event-emitter

  25. gopurs-node-fs

  26. gopurs-node-http

  27. gopurs-node-net

  28. gopurs-node-path

  29. gopurs-node-process

  30. gopurs-node-streams

  31. gopurs-now

  32. gopurs-nullable

  33. gopurs-numbers

  34. gopurs-ordered-collections

  35. gopurs-partial

  36. gopurs-prelude

  37. gopurs-quickcheck

  38. gopurs-random

  39. gopurs-record

  40. gopurs-refs

  41. gopurs-run

  42. gopurs-simple-json

  43. gopurs-spec

  44. gopurs-st

  45. gopurs-strings

  46. gopurs-strings-extra

  47. gopurs-unfoldable

  48. gopurs-unsafe-coerce

  49. gopurs-uuid

  50. gopurs-variant

  51. gopurs-yoga-json

Of course, other modules will be supported in the future (feel free to open a PR if needed).