All Projects → scala-hamsters → Hamsters

scala-hamsters / Hamsters

Licence: apache-2.0
A mini Scala utility library

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to Hamsters

Swift Validated
🛂 A result type that accumulates multiple errors.
Stars: ✭ 350 (+19.86%)
Mutual labels:  error-handling, validation, functional-programming
Deal
Design by contract for Python with static checker and tests' generation.
Stars: ✭ 164 (-43.84%)
Mutual labels:  validation, functional-programming
Poica
🧮 A research programming language on top of C macros
Stars: ✭ 231 (-20.89%)
Mutual labels:  error-handling, functional-programming
Deep Waters
🔥Deep Waters is an easy-to-compose functional validation system for javascript developers 🔥
Stars: ✭ 188 (-35.62%)
Mutual labels:  validation, functional-programming
Bash Oo Framework
Bash Infinity is a modern standard library / framework / boilerplate for Bash
Stars: ✭ 5,247 (+1696.92%)
Mutual labels:  error-handling, functional-programming
Vue Formulate
⚡️ The easiest way to build forms with Vue.
Stars: ✭ 1,947 (+566.78%)
Mutual labels:  error-handling, validation
Fluentresults
A generalised Result object implementation for .NET/C#
Stars: ✭ 266 (-8.9%)
Mutual labels:  error-handling, validation
Faux Pas
A library that simplifies error handling for Functional Programming in Java
Stars: ✭ 100 (-65.75%)
Mutual labels:  error-handling, functional-programming
Framework
Strongly-typed JavaScript object with support for validation and error handling.
Stars: ✭ 136 (-53.42%)
Mutual labels:  error-handling, validation
validator
💯Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
Stars: ✭ 9,721 (+3229.11%)
Mutual labels:  validation, error-handling
Swiftrex
Swift + Redux + (Combine|RxSwift|ReactiveSwift) -> SwiftRex
Stars: ✭ 267 (-8.56%)
Mutual labels:  functional-programming
Golang Tutorials
Go Tutorials - Let's get our hands really dirty by writing a lot of Golang code
Stars: ✭ 277 (-5.14%)
Mutual labels:  functional-programming
Scala With Cats
Source code for Scala with Cats
Stars: ✭ 283 (-3.08%)
Mutual labels:  functional-programming
Javascript For Everyone
A step by step guide to learn JavaScript and programming
Stars: ✭ 285 (-2.4%)
Mutual labels:  functional-programming
Forms
📝 Generating, validating and processing secure forms in PHP. Handy API, fully customizable, server & client side validation and mature design.
Stars: ✭ 272 (-6.85%)
Mutual labels:  validation
Furo
A clean customizable documentation theme for Sphinx
Stars: ✭ 267 (-8.56%)
Mutual labels:  minimal
Sentry Miniapp
Sentry 小程序/小游戏 SDK:用于小程序/小游戏平台的 Sentry SDK(目前支持微信、字节跳动、支付宝、钉钉、QQ、百度小程序,微信、QQ 小游戏)
Stars: ✭ 269 (-7.88%)
Mutual labels:  error-handling
Haskell Study Startup
Launch your own Haskell study group. Now.
Stars: ✭ 269 (-7.88%)
Mutual labels:  functional-programming
Mobile App
See your city's air pollution measured in daily cigarettes. iOS/Android.
Stars: ✭ 291 (-0.34%)
Mutual labels:  functional-programming
Eslint Plugin Functional
ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
Stars: ✭ 282 (-3.42%)
Mutual labels:  functional-programming

= Hamsters :release-version: 3.1.0 ifndef::env-github[:icons: font] ifdef::env-github[] :outfilesuffix: .adoc :note-caption: 📎 endif::[]

image:https://travis-ci.org/scala-hamsters/hamsters.svg?branch=master["Build Status", link="https://travis-ci.org/scala-hamsters/hamsters"]

A mini Scala utility library. Compatible with functional programming beginners. For the JVM and Scala.js.

It may help you understand how to use - and how to implement (looking at the code) - some popular functional programming features. Il also provides some useful utilities.

Hamsters "full" lib is compatible with Scala 2.11 and 2.12. Some parts of the lib, that are not relying on Scala Meta macros are compatible with 2.13 and extracted in https://github.com/scala-hamsters[their own repository].

image::https://raw.githubusercontent.com/scala-hamsters/hamsters/gh-pages/hamsters.jpg[Hamster logo,width=150]

Currently, Hamsters supports :

  • Data validation
  • Default values for options (orEmpty)
  • Enum typeclass
  • Future Squash (simplifications for nested types)
  • HLists
  • Lens
  • mapN
  • Memoization
  • Monad transformers
  • NonEmptyList
  • Retry
  • Sealed traits children listing
  • Show (better toString)
  • Union types

== Documentation

https://github.com/scala-hamsters/hamsters/tree/{release-version}/docs[Hamsters {release-version} documentation]

== Install as dependency

[source,scala,subs="verbatim,attributes"]

libraryDependencies ++= Seq( "io.github.scala-hamsters" %% "hamsters" % "{release-version}" )

For Scala.js :

[source,scala,subs="verbatim,attributes"]

libraryDependencies ++= Seq( "io.github.scala-hamsters" %%% "hamsters" % "{release-version}" )

== Extensions

See https://github.com/scala-hamsters/hamsters-extensions[hamsters-extensions] for more information.

== Scaladoc

You can find the API documentation https://static.javadoc.io/io.github.scala-hamsters/hamsters_2.12/{release-version}/io/github/hamsters/index.html[here].

== Special thanks

To https://github.com/laurencebeillaux[Laurence Beillaux] who created the Hamsters logo.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].