bow-swift / bow

🏹 Bow is a cross-platform library for Typed Functional Programming in Swift
https://bow-swift.io
Other
643 stars 32 forks source link

Updates for 2022 #670

Open denizdogan opened 1 year ago

denizdogan commented 1 year ago

Related issues

665

Goal

Update the project for 2022.

Implementation details

Testing details

I use swift test instead of a test plan.

Notes

Formatting

I want to format the entire code base using some formatter after we're done here, but that should be a last step before everything else is discussed and approved. Ideally, I want the indentation to be 2 spaces, instead of 4, and target 80 columns instead of 120+ as it is right now.

Documentation and Nef

I'm having trouble building/updating the documentation using Nef.

~/C/bow ❯❯❯ nef compile --project Documentation.app
Getting playgrounds in MacOS ✓
Getting pages in playground Quick start ✓
    • Processing page Getting started ✓
    • Processing page Modules ✓
    • Processing page Resources ✓
Getting pages in playground FP concepts ✓
    • Processing page Glossary ✓
    • Processing page Functions vs Procedures ✓
    • Processing page Higher Kinded Types ✓
    • Processing page Type classes ✓
    • Processing page Data types ✓
    • Processing page Rank-N polymorphism ✓
Getting pages in playground Composition ✓
    • Processing page Composition Overview ✓
    • Processing page Composing functions ✓
    • Processing page Combining values of the same type ✓
    • Processing page Transforming data ✓
    • Processing page Lifting values to an effect ✓
    • Processing page Combining independent computations ✓
    • Processing page Sequencing dependent computations ✓
    • Processing page Transforming multiple effects ✓
Getting pages in playground Dependency management ✓
    • Processing page Dependency management Overview ✓
    • Processing page Partial application ✓
    • Processing page Constructor-based dependency injection ✓
    • Processing page Reader ✓
    • Processing page Side-effectful dependency management ✓
Getting pages in playground Patterns ✓
    • Processing page Error handling ✓
    • Processing page Monad comprehensions ✓
    • Processing page Tail recursion ✓
    • Processing page State-based computations ✓
    • Processing page Polymorphic programs ✓
Getting pages in playground Optics ✓
    • Processing page Optics Overview ✓
    • Processing page Writing your own optics ✓
    • Processing page Automatic derivation ✓
    • Processing page Composition ✓
Getting pages in playground Effects ✓
    • Processing page Effects Overview ✓
    • Processing page Suspending side effects ✓
    • Processing page Manipulating side effects ✓
    • Processing page Handling errors ✓
    • Processing page Concurrency ✓
    • Processing page Running side effects ✓
    • Processing page Retrying and repeating effects ✓
    • Processing page Handling resources ✓
    • Processing page Foundation extensions ✓
Getting pages in playground Testing ✓
    • Processing page Testing Overview ✓
    • Processing page Testing type class instances ✓
    • Processing page Testing side effectful code ✓
Getting pages in playground Integrations ✓
    • Processing page RxSwift streams ✓
Getting pages in playground Legal ✓
    • Processing page Credits ✓
    • Processing page License ✓
[hangs forever]