This document aims to provide reasoning why config.json contains the "tags" it contains.
-
paradigm/declarative: implied byparadigm/functional. -
paradigm/functional: "purely functional" is Haskell's middle name. -
paradigm/imperative: even though Haskell is «the world's finest imperative programming language», the style is not prevalent. Unless you countdo-notation. -
paradigm/logic: possible through DSL's, but not inherently supported. (Ignoring type class resolution.) -
paradigm/object_oriented: N/A -
paradigm/procedural: this would implyparadigm/imperative.
-
typing/static: types are checked at compile time. -
typing/dynamic: types are erased at compile time and hence not available at run time. -
typing/strong: as opposed to this term, types in Haskell are unambiguous. -
typing/weak: seetyping/strong.
-
execution_mode/compiled: this is the norm. -
execution_mode/interpreted: while possible (runghc), this is not the norm.
-
platform/windows: entirely normal. -
platform/mac: entirely normal. -
platform/linux: entirely normal. -
platform/ios: unsure whether it has been done, so: no. -
platform/android: has been done, but is not the norm. -
platform/web: has been done, but is not the norm.
-
runtime/standalone_executable: the default. -
runtime/language_specific: 🤷 (of course it has – but is that notable?) -
runtime/clr: no support. -
runtime/jvm: no support. -
runtime/beam: no support. -
runtime/wasmtime: no support, but work is being done towards compiling Haskell to Wasm.
-
used_for/artificial_intelligence: -
used_for/backends: -
used_for/cross_platform_development: -
used_for/embedded_systems: the large runtime and the garbage collection make this an ill fit. -
used_for/financial_systems: Haskell is popular with banks and crypto (Cardano) folk. -
used_for/frontends: -
used_for/games: -
used_for/guis: -
used_for/mobile: too rarely. -
used_for/robotics: -
used_for/scientific_calculations: work is being done to make this nice, but it's not there yet. -
used_for/scripts: very possible, but uncommon. -
used_for/web_development: