Analysis updated 2026-07-19 · repo last pushed 2019-03-18
Build a chatbot that understands when users type things like 'next Tuesday at 3pm' and turns it into a calendar event.
Create a virtual assistant that parses durations, distances, and currency amounts from free-text messages.
Add natural language date and time parsing to a scheduling or booking app backend.
Extract structured data like email addresses or physical quantities from messy user input.
| botpress/duckling | psibi/odbc-issue-49 | tchayen/lambda-chat | |
|---|---|---|---|
| Stars | 2 | 1 | 3 |
| Language | Haskell | Haskell | Haskell |
| Last pushed | 2019-03-18 | 2022-04-26 | 2018-03-18 |
| Maintenance | Dormant | Dormant | Dormant |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 1/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Written in Haskell, which requires familiarity with the Haskell toolchain and environment setup.
Duckling is a tool that helps software understand pieces of natural language text. When someone types "next Tuesday at 3pm" or "five kilometers," a computer sees only a string of characters. This project provides a system for identifying those phrases and converting them into structured data a calendar app or tracking tool can actually use. At a high level, it works by applying a set of composable, testable rules to incoming text. Instead of hard-coding logic to recognize every possible way someone might write a time or a distance, you build up small rules that can be combined. You string those rules together to evaluate whether an input string matches a pattern, then extract the meaningful information from it. The primary use case is chatbots and virtual assistants. If you are building a scheduling assistant, it needs to parse dates, times, and durations from free-text user messages. Someone might write "in a week," "tomorrow afternoon," or "July 4th." A developer would use this to recognize all those variations and turn them into standard dates that a backend database can process. The same logic applies to currency amounts, email addresses, or physical quantities. Notably, the project is written in Haskell, a programming language that enforces strict rules around data types and logic. That choice makes the system reliable and mathematically predictable when processing potentially messy text. The README itself doesn't go into further detail about specific setup or advanced features, but the core concept centers on providing a dependable foundation for language parsing.
Duckling is a tool that recognizes phrases like dates, times, distances, and amounts in everyday text and converts them into structured data software can actually use.
Mainly Haskell. The stack also includes Haskell.
Dormant — no commits in 2+ years (last push 2019-03-18).
No license information was provided in the explanation, so it is unclear what permissions you have.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.