Introducing NeoHaskell v0.3.0: Triggers, Actions, and Services

RMAG news

We’re thrilled to announce the release of NeoHaskell v0.3.0! This version brings significant enhancements to our event-driven architecture, making it even more powerful and flexible. The key improvements in this release focus on the introduction of triggers, renaming of core concepts for clarity, and further refinements.

From Commands to Actions: A Clearer Mental Model

In our ongoing effort to make NeoHaskell more intuitive, we’ve renamed the Command concept to Action. This change better reflects the nature of these operations as side effects that can be tracked and managed within our architecture.

Introducing Triggers: Unlocking a World of Possibilities

The introduction of triggers in v0.3.0 is a game-changer for NeoHaskell applications. Triggers provide a powerful and flexible way to handle asynchronous events and background processes, opening up a vast array of possibilities for your projects.

Let’s start with a simple example – a time-based trigger:

tickTrigger =
Time.triggerEveryMilliseconds 1000 (_ -> Tick)

This minimal trigger fires a Tick event every 1000 milliseconds. But don’t let its simplicity fool you – this is just the tip of the iceberg!

With the trigger system in place, NeoHaskell is now poised to support a wide range of exciting applications:

HTTP Servers: Imagine creating triggers that respond to incoming HTTP requests, allowing you to build full-fledged web applications.

Chat Bots: Whether it’s Discord, Telegram, or Slack, you could create triggers that listen for and respond to chat messages in real-time.

IoT Applications: Set up triggers to handle data streams from IoT devices, enabling you to build sophisticated monitoring and control systems.

Database Listeners: Create triggers that react to database changes, perfect for building reactive data processing pipelines.

File System Watchers: Monitor file system events and trigger actions when files are created, modified, or deleted.

The possibilities are virtually endless. Whether you’re building a simple CLI tool or a complex distributed system, triggers provide the foundation for handling real-world events in a clean, functional manner.

From Platform to Service: A More Focused Runtime

We’ve refined our core runtime concept, renaming Platform to Service. This change reflects a more focused approach to managing your application’s lifecycle and event handling. Service is a much narrower concept that is much better understood by everyone. And it also opens up the possibility of executing multiple of those in a single application.

Get Involved

We’re excited to see what the community builds with NeoHaskell v0.3.0! Here’s how you can get started:

Check out our GitHub repository for the latest code
Join our Discord community to discuss ideas and get help

Your feedback and contributions are crucial as we continue to evolve NeoHaskell. Let’s work together to create a more accessible and powerful development experience!

Happy coding!

Nick

Please follow and like us:
Pin Share