When programming, you may struggle to find coherent meaningful names and types, given conflicting alternatives, metaphors and styles suggested by many previous APIs in many languages or by scientific literature. Or you may just pick the first thing that comes to mind.
-
Show this thread
-
Now the big problem isn't that programmers make imperfect choices, especially as they are pressed for time, and develop their infrastructure before they have experience using it. The big problem is that usually no one is responsible for fixing mistakes afterwards.
1 reply 1 retweet 2 likesShow this thread -
APIs tend to be cast in stone shortly after they are born. Development infrastructure has precious little support for gracefully evolving APIs, supporting yet phasing out old versions, detecting usage of deprecated features, automatically refactoring from old style to new style…
2 replies 0 retweets 2 likesShow this thread -
Replying to @Ngnghm
How would that support look like? Emitting a warning when the deprecated function is called SBCL style?
1 reply 0 retweets 0 likes -
Replying to @PuercoPop
Google developed tools that fit in its monorepo: beyond automatic reformatting to style standards and warning for missing documentation, user-defined rules not just for linting, but also for automated refactoring suggestions that reviewers could mandate with a click.
1 reply 0 retweets 0 likes -
Replying to @Ngnghm @PuercoPop
ASDF recently acquired macros to issue version-based style-warnings, warnings then errors when using deprecated functions. People can't complain anymore they aren't warned when bad interfaces are being deprecated. Instead, they complain in advance about the deprecation.
1 reply 1 retweet 0 likes -
Replying to @Ngnghm @PuercoPop
An improvement would be the macro suggesting a valid replacement form, instead of just referring the user to the documentation.
1 reply 0 retweets 0 likes
But interesting cases are non-local, at which point you really want module-wide macro-expansion control in the style of PLT Racket. Or, further, repository-wide cross-file analysis with caller and callee tracking.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!