4 ms·
(As I understand it) monkey-patch means to modify code in runtime. I thought the naming was relevant because by adding ‘@monkey.patch’ to an unimplemented funct
by JackHopkins 3y ago
(As I understand it) monkey-patch means to modify code in runtime. I thought the naming was relevant because by adding ‘@monkey.patch’ to an unimplemented function, this library gives it an implementation at runtime.
- bb88 3y agoI feel like you're hijacking a term at least 15 to maybe 20 years old though. It's kind of a brilliant marketing idea, but you're just confounding the vocabulary. It's not to say this isn't a fucking great idea (because it is!). But you know, just don't piss in the community well. Further, PostgreSQL means one and only one thing. But Monkey Patch means 2 now, apparently! For reference: Here's the google ngram viewer link for "monkey patch" from 2000 to 2019. https://books.google.com/ngrams/graph?content=monkey+patch&year_start=2000&year_end=2019&corpus=en-2019&smoothing=0 https://books.google.com/ngrams/graph?content=monkey+patch&y...
- JackHopkins 3y agoThe specific package name on GitHub and PyPi is ‘monkeypatch.py’ for the avoidance of doubt!
- bb88 3y agoThat's a distinction without a difference...
- vqbd 3y agoThe problem isn't accidentally downloading the wrong package. How am I supposed to talk about this package? I regularly use monkeypatching (the existing meaning) to prototype out concepts. "I monkey patch dot pied this function"? Cause that doesn't seem to be the name used everywhere. Why not name it something like Gorillapatch? Gorillas are stronger than monkeys as a slogan or whatever. The core issue is how am I supposed to talk about regular monkeypatching and your library in the same sentence.
- JackHopkins 3y agoThis is a solid point, at the end of the day creating confusion with the name wasn't the goal in any way as there already are 100s of (often overlapping) terms floating around in this scene. I appreciate the critique and we'll have a think over this. If you have any other naming ideas, would love to hear them!
- pbronez 3y agoMaybe keep the “Monkey” and work around that? MonkeySeeDo —> it sees what you’re doing and does it better CutMonkey —> it’s a monkey patch that’s cut weight to lean fighting trim TypeMonkey —> it uses types to intelligently monkey patch your code MonkeyZipper —> monkey patches that compresses your code MonkeyModels —> monkey patches your models Learning Monkey —> learns how to improve your Large Models Branching out from there… SimianStudy —> it’s a monkey patch that learns PyStill —> it distills your Python functions AutoSqueeze —> automatically squeezes your AI code into efficient implications
- OJFord 3y agoI guess. I think of it more like overriding an existing thing with another for a given scope/time/test, whereas this is providing an implementation for a thing which exists only as a stub. Maybe it 'counts', I'm not meaning to be picky about the term, my point is more like even if this works by monkeypatching, I wouldn't personally use the term for the product which does something else by those means, if that makes sense? MonkeyLLM or MonkAIpatch or something, sure. The other comment with a 'list comprehension' example puts it well I think. (Seeing as you asked for name suggestions elsewhere, I think I prefer the 'stub' theme: Stubby, StubAI, Stubmonkey if you like monkeys/wanted an easier logo, something like that.)
- JackHopkins 3y agoI do get the point and the difference from the classical monkey-patching. I like the stub ideas though!