diff --git a/Documentation.app/Contents/MacOS/Patterns.playground/Pages/Creating nested components.xcplaygroundpage/Contents.swift b/Documentation.app/Contents/MacOS/Patterns.playground/Pages/Creating nested components.xcplaygroundpage/Contents.swift index 4a21c9e..b7681ce 100644 --- a/Documentation.app/Contents/MacOS/Patterns.playground/Pages/Creating nested components.xcplaygroundpage/Contents.swift +++ b/Documentation.app/Contents/MacOS/Patterns.playground/Pages/Creating nested components.xcplaygroundpage/Contents.swift @@ -4,11 +4,13 @@ title: Creating nested components */ // nef:end +// nef:begin:hidden import SwiftUI import Bow import BowEffects import BowOptics import BowArch +// nef:end /*: # Creating nested components diff --git a/README.md b/README.md index ae856ff..2eb2af4 100644 --- a/README.md +++ b/README.md @@ -6,16 +6,20 @@ -Gitter +Gitter + +

-# 🏹 Bow Arch 🏛 +Welcome to Bow Arch! **Bow Arch** is a library to [architect applications in pure Functional Programming](https://arch.bow-swift.io/docs/quick-start/getting-started/), based on the notion of [Comonadic User Interfaces](https://arch.bow-swift.io/docs/background/comonadic-uis/). Please, refer to the [project website](https://arch.bow-swift.io) for extensive documentation. +  + ## 👩‍🏫 Principles 🎨 **View as a function of state**: Using SwiftUI, we can create user interfaces in a declarative manner, that are a representation of a given state. The library goes even further and promotes the creation of views that are based on immutable state. @@ -30,6 +34,8 @@ 🧮 **Mathematical background**: Bow Arch is based on concepts from Category Theory, which brings soundness to the reasoning we can do about our code. Nonetheless, the API of the library hides the complexity of these concepts and users do not need to be experts in this topic to use the library in their applications. +  + ## 💻 How to get it Bow Arch is available through Swift Package Manager, integrated in Xcode. You only need to use the repository URL on GitHub and the version or branch you would like to use. Alternatively, you can describe this dependency in your `Package.swift` file by adding the line: @@ -38,6 +44,8 @@ Bow Arch is available through Swift Package Manager, integrated in Xcode. You on .package(url: "https://github.com/bow-swift/bow-arch.git", from: "{version}") ``` +  + ## 👨‍💻 Usage Bow Arch lets you architect your application in terms of components that can be reused across applications. Let's go over what you need to create in order to build a stepper component. @@ -137,11 +145,15 @@ Components already conform to SwuiftUI `View`, so they can be used as part of ot let controller = UIHostingController(rootView: stepperComponent) ``` +  + ## 👏 Acknowledgements We want to thank [Arthur Xavier](https://github.com/arthurxavierx/purescript-comonad-rss/blob/master/RealWorldAppComonadicUI.pdf), [Phil Freeman](https://functorial.com/the-future-is-comonadic/main.pdf), and [Edward Kmett](https://hackage.haskell.org/package/comonad), for their previous work on Comonads and Comonadic UIs in the PureScript and Haskell languages. Their work has inspired the creation of this library. -# ⚖️ License +  + +## ⚖️ License Copyright (C) 2020 The Bow Authors