|
From: | Adam Porter |
Subject: | Re: Improving Emacs' iCalendar support |
Date: | Sat, 19 Oct 2024 00:44:49 -0500 |
User-agent: | Mozilla Thunderbird |
Hi Richard,I don't have much to add to what's been said, but my first thought is that a robust iCal library would probably be most useful for importing and exporting between the iCal format, obviously. So I'd suggest that its API should help with transforming iCal data into other formats, probably by converting it into a simple Lisp data structure that other libraries could work with. And then, it should also provide a function to transform that data structure back into an iCal file.
Also, it would be good if it were designed to be extensible in case the standards receive updates, or in case vendor-specific functionality is needed by users.
So I'd suggest looking at the existing Emacs/Org applications that use iCal, and designing your API so that such applications would find it easy to use (not that it should directly imitate what already exists, unless such APIs are already ideal).
Finally, I'd suggest that you consider using structs as the primary internal data structure, because they provide setter and accessor functions, which are helpful to developers (e.g. they help catch some mistakes at compilation time). If you do, I've found it helpful to define an "etc" slot in various structs to which an alist or plist can be attached, which provides the ability for the structs to carry additional data that wasn't foreseen during its design.
--Adam
[Prev in Thread] | Current Thread | [Next in Thread] |