Popularity
2.9
Stable
Activity
0.0
Stable
3
2
0
Monthly Downloads: 5
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags:
Web
Latest version: v0.0.2
menshen alternatives and similar packages
Based on the "Web" category.
Alternatively, view menshen alternatives based on common mentions on social networks and blogs.
-
servant
Servant is a Haskell DSL for describing, serving, querying, mocking, documenting web applications and more! -
swagger-petstore
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
haskell-bitmex-rest
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
neuron
Future-proof note-taking and publishing based on Zettelkasten (superseded by Emanote: https://github.com/srid/emanote) -
tagsoup
Haskell library for parsing and extracting information from (possibly malformed) HTML/XML documents -
keera-hails-reactive-htmldom
Keera Hails: Haskell on Rails - Reactive Programming Framework for Interactive Haskell applications -
ghcjs-dom
Make Document Object Model (DOM) apps that run in any browser and natively using WebKitGtk -
ghcjs-base
base library for GHCJS for JavaScript interaction and marshalling, used by higher level libraries like JSC
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
Promo
www.influxdata.com

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of menshen or a related project?
README
menshen
{-# LANGUAGE RecordWildCards #-}
module Main where
import Data.Menshen
data Body = Body
{ name :: String
, age :: Int
} deriving Show
verifyBody :: Validator Body
verifyBody = vcvt $ Body{..} -> Body
<$> name ?: mark "name" . pattern "^[a-z]{3,6}$"
<*> age ?: mark "age" . minInt 1 . maxInt 150
makeBody :: String -> Int -> Either String Body
makeBody name age = Body{..} ?: verifyBody
main = do
print $ makeBody "daniel" 15