Open paviad opened 1 year ago
I also have made an Antlr4 parser - I think it is better, easier to reason about the parsing (and also to maintain/modify)
@minichma There are 2 different aspects mentioned:
How to deal with this issue?
Ad 1) I'm really not the right one to comment on that as it is strongly tied to the future strategy of this project. At this time I feel that addressing existing issues would be a number one priority and is enough work for a while. So adding new features would not be too helpful for that as someone will have to work on it and, more notably, maintain it in the future. But this could also be maintained in a separate repo. @paviad would it be an option for you to publish this as an independent package in a separate repo?
Ad 2) Are we talking about a parser for the new feature (natural language) or for ical.net as a whole. @paviad I assume the first, right? Then its tied to 1. The ical.net parser seems to be rather stable, but if an alternative existed in the form of a PR, I would assume it would be welcome.
Can I use the name Ical.Net.NaturalLanguage ?
@paviad The name would be fine - maybe a bit long. Sth. shorter like ICal.Net.Phrases
...? This was a co-pilot suggestion :)
If you like, we can create the repo under ical-org
(GitHub organization) to strengthen the "brand" with you as maintainer or admin.
@minichma
I feel that addressing existing issues would be a number one priority and is enough work for a while
Fully agree
the future strategy of this project
Making ICal.Net the best in class for dot net - in terms of usability, performance and RFC compliance / compatibility
Making ICal.Net the best in class for dot net - in terms of usability, performance and RFC compliance / compatibility
Great mission statement! Should be added to the readme.
Maybe you could leverage this library for generating natural language from a cron expression: https://github.com/Humanizr/Humanizer
I have a complete NL solution, but we can talk about extending it to more grammars later.
A very desirable feature of this library, and which exists in similar libraries in other languages (e.g. Typescript's Equivalent is the ability to serialize and deserialize to and from natural language, for example:
Every day at 10, 12 and 17
should deserialize intoFREQ=DAILY;BYHOUR=10,12,17
and vice versa.
I think this should be implemented as a separate (and optional) NuGet package.