No description
Find a file
2024-03-05 17:44:55 +08:00
.github fixes testing branches 2024-03-05 17:44:55 +08:00
src/fusion fix int set construction (#105) 2022-12-10 07:33:02 +01:00
tests fixes fusion tests (#104) 2022-11-22 11:26:34 +08:00
.gitattributes add .gitattributes to avoid changelog conflicts 2020-10-08 11:48:40 -07:00
.gitignore add tests for btreetables 2020-05-08 08:59:27 +02:00
changelog.md Add jsxmlhttprequest (#57) 2021-01-05 18:55:57 -08:00
fusion.nimble bump version 2022-12-18 10:18:11 +08:00
license.txt added compat.nim include file 2020-05-04 08:57:15 +02:00
readme.md remove a point which might not hold true 2021-03-12 08:38:02 +01:00

Nim Fusion

Docs: https://nim-lang.github.io/fusion/theindex.html

Fusion contains Nim modules that are to be bundled with the Nim installation in order to give us something like the "Nim distribution". Fusion fullfills multiple purposes:

  • It contains candidates for inclusion into the stdlib. However these modules only move into the stdlib if it makes sense to maintain them with the rest of the core of Nim and currently I cannot imagine why that ever would need to be the case.
  • Fusion has a broader perspective about what is considered useful. For example an HTML parser or a simple UI library that doesn't support every OS that Nim itself supports is acceptable for Fusion.
  • Fusion aims to be an immutable code repository, once a module is included it stays. Like Nim itself, Fusion uses a .since annotation. New modules which contain few procs are preferred over larger modules that have more procs.
  • Fusion is also a Nimble package and it is compatible with Nim version 1 as well as the latest Nim.

Fusion is for now an idea about how to grow Nim's ecosystem without the pain points of more traditional approaches. Time will tell if the idea is a good one.