How to define module API toward other modules, taking into account submodules?

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • wasp

    The fastest way to develop full-stack web apps with React & Node.js.

  • Btw if it helps, here is the specific codebase that forced me to start thinking about this: https://github.com/wasp-lang/wasp/tree/master/waspc/src . Right now I am working on https://github.com/wasp-lang/wasp/pull/300, and there is quite some structure being introduced. I care about "Analyzer.Evaluator.Evaluation" module hinding its internals. I also care about "Analyzer.Evaluator" hiding its internals, and I also care about "Analyzer" hiding its internals. Same goes for "Analyzer.Evaluator.TH" and its substructure, and so on. For now the best solution I see is throwing in a lot of "Internal"s there, which I don't particularly love because it is not enforced + updating the name of the module is tedious (rename file, rename all occurences, and also now all names are getting pretty long -> e.g. Analyzer.Evaluator.Evaluation.TypedExpr.Combinators now becomes Analyzer.Evaluator.Internal.Evaluation.Internal.TypedExpr.Combinators).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts