-
Couldn't load subscription status.
- Fork 0
Description
AutoHotkey's #Include mechanism does not provide any namespacing. This means that anything tempus.ahk puts in the global namespace has the potential for collision. Moreover, AutoHotkey is largely not case-sensitive, meaning a variable declared like date := ... or time := ... can collide with the Date class or Time class, which currently lives inside the global namespace.
What we might consider doing is nesting everything inside of a single class. Say, Tempus. Then Date becomes Tempus.Date, Time becomes Tempus.Time, and so on.
Alternatively, we might consider just namespacing the civil types in a Civil class, since I think Date and Time are really the biggest potential causes of collisions. Moreover, it could potentially be a way to further promote the use of Zoned / Timestamp over the civil types.