v0.2.0 - Basic CLI Scaffolding
This release lays the foundation for building CLI applications in NeoHaskell using an Elm-inspired architecture. It introduces a basic scaffolding for CLI apps and significantly expands the core library functionality.
Key Features
-
CLI Application Architecture:
- Introduced a
Platform
module that provides an Elm-like architecture for CLI apps - Added
Command
andHtml
modules to support this architecture - Implemented a main event loop and rendering system using the
brick
library
- Introduced a
-
Enhanced Core Library:
- Added
Channel
,Var
, andConcurrentVar
modules for improved concurrency support - Introduced
AsyncIO
for asynchronous operations - Expanded
Array
module with new functions likeflatMap
andforEach
- Added
Version
module with parsing and quasiquoting capabilities
- Added
-
Improved Type System:
- Introduced
Unknown
type for dynamic typing scenarios - Added
Record
module for working with extensible records
- Introduced
-
New Modules:
Json
andYaml
modules for data serialization and deserializationOptionsParser
module for CLI argument parsingConsole
module with debugging capabilities
-
Trait System Enhancements:
- Reorganized and expanded trait modules (e.g.,
Appendable
,Applicable
,Combinable
) - Introduced
ToText
trait for consistent string conversion
- Reorganized and expanded trait modules (e.g.,
-
Project Structure:
- Restructured the project layout for better organization
- Added a basic project configuration file (
project.yaml
)
-
Development Environment:
- Updated
devenv.nix
for an improved development setup - Added CodeRabbit configuration for code review automation
- Updated
Breaking Changes
- Significant changes to the core library structure and module names
- Altered behavior of some existing functions to align with the new architecture
Notes
This release focuses on establishing the foundational architecture for NeoHaskell CLI applications. While it introduces many new features, it's important to note that the API is still in flux and may undergo further changes in future releases.