Comments (3)
Added a j/plus
API comment.
from clojure.java-time.
Should plus
be commutative though? What do you think should be the laws of algebra involving all of the date-times, intervals and periods?
Currently the API follows the Java object model where the date/time always comes first when a period/duration is added/subtracted. In Java this happens naturally due to the placement of methods. In Clojure we can do as we like. However, date-times and durations are different types - it's not obvious that operations including both should be commutative. Maybe the plus
/minus
naming could be changed to something like add-duration
or extend
to clear up the behaviour (although I quite like plus
), what do you think?
from clojure.java-time.
To be honest, I didn't really give it much thought so I cannot answer your questions properly. It's very well possible that the current state of affairs is the best one. It was just not really intuitive for me (at first, I even started searching in a completely different direction), and I didn't find any previous discussions on the matter.
If all is fine as it is, the issue can be closed and left just as a documentation for someone with a similar concern.
from clojure.java-time.
Related Issues (20)
- `zoned-date-time` with a single argument does not use `java-time.clock/make` HOT 1
- Canadian locale doesn't support AM/PM? HOT 1
- Instant < Interval breaks transitivity
- `not-{before,after}?` broken for equal arguments that need coercion
- t/> comparison and t/plus arithmetic support for java.sql.Timestamp HOT 1
- Fix java.time's brittleness
- Millisecond information for `java.sql.Time` is lost when converting to/from `LocalTime` HOT 1
- Unix timestamp conversion HOT 1
- Various properties gone missing in 0.3.3 HOT 7
- 0.3.3 - Year formatted wrongly on date roll ? HOT 3
- Consider Removing clj-tuple HOT 2
- Minor Clojure 1.11 Alpha 4 compatibility issue HOT 1
- Cut new release for Clojure 1.11 compat? HOT 23
- PriorityQueue class not found in babashka HOT 1
- Babashka Support HOT 1
- Type conversion graph is dependent on evaluation order HOT 1
- Deprecate single segment ns HOT 4
- Things like `java-time[.api]/truncate-to` do not work correctly when underlying protocol is extended HOT 5
- Case bug in https://github.com/dm3/clojure.java-time/blob/master/src/java_time/format.clj#L32 HOT 1
- `not-after?` not semantically equivalent to `<=` despite documentation implying otherwise HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clojure.java-time.