-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Milestone
Description
For historic reasons — variables were the only nodes that had blob entries — we had [verb]Blobentry instead of [verb]VariableBlobentry. In a call on NavAbility/NavAbilitySDK.jl#298, @dehann said that should no longer be the case. I couldn't find the decision written down, so opening this issue to formalize it and avoid any possible miscommunication. After looking at the implementation, I agree.
The reason to not have addBlobentry! == addVariableBlobentry!:
- Julia’s multiple dispatch allows generic
addBlobentry!(node, entry)to work, but other languages may not support this pattern; explicit names likeaddVariableBlobentry!are encouraged for multi-language use. - We can export
addVariableBlobentry!for API stability and clarity, while keepingaddBlobentry!public for advanced Julia users (see discussion). - This separation helps avoid accidental misuse, especially with by-reference mutations.
- Variables do not receive special treatment; applying the same explicit naming pattern (e.g.,
getFactorBlobentry,getVariableBlobentry) across all node types makes the API more consistent and intuitive for users.
The same logic will be implemented in [verb]Bloblet[!] (although, no deprecation is needed as it is new functions).