You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add modern badges (CI, PyPI, Python version, License)
- Add 'What's New in 1.0' section highlighting modernization
- Update install instructions to include uv
OSlash (Ø) is a library for learning and understanding functional programming in Python 3.12+. It re-implements
6
9
concepts from [Learn You a Haskell for Great Good!](http://learnyouahaskell.com/) using Python with modern type annotations. OSlash unifies
7
10
functional and object-oriented paradigms by grouping related functions within classes. Objects are never used
8
11
for storing values or mutable data; data exists only within function closures.
9
12
13
+
## ✨ What's New in 1.0
14
+
15
+
**OSlash 1.0 is a complete modernization** for Python 3.12+:
16
+
17
+
-**Modern Type System**: Fully type-checked with Pyright in strict mode
18
+
-**PEP 695 Syntax**: Clean type parameters (`class Maybe[T]:` instead of `Generic[T]`)
19
+
-**Modern Tooling**: Built with uv, formatted with ruff, validated with pre-commit hooks
20
+
-**Production Status**: Stable release ready for educational use
21
+
10
22
**Type Safety**: OSlash is fully type-checked with Pyright in strict mode, providing excellent IDE support and catching errors at development time. It leverages Python 3.12's PEP 695 type parameter syntax for clean, ergonomic generic types.
11
23
12
24
OSlash is intended to be a tutorial. For practical functional programming in Python in production environments you
@@ -15,7 +27,11 @@ should use [Expression](https://github.com/dbrattli/Expression) instead.
15
27
## Install
16
28
17
29
```bash
18
-
> pip3 install oslash
30
+
# Using pip
31
+
pip install oslash
32
+
33
+
# Or using uv (recommended)
34
+
uv add oslash
19
35
```
20
36
21
37
The project currently contains implementations for:
0 commit comments