How to generate random but valid source programs?

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

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

    Csmith, a random generator of C programs

  • Generating C programs that are random yet syntactically/semantically valid is a thorny problem. You’ll almost certainly want to build upon the work of the Csmith team (Csmith being designed exactly for use cases like these): https://github.com/csmith-project/csmith

  • ouroboros-network

    Specifications of network protocols and implementations of components running these protocols which support a family of Ouroboros Consesus protocols; the diffusion layer of the Cardano Node.

  • This is non trivial, you can check an example how we generate valid subset of Haskell to check that our implementation of orElse is corect: https://github.com/input-output-hk/ouroboros-network/blob/master/io-sim/test/Test/STM.hs

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS 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