juliaapproximation / domainsetscore.jl Goto Github PK
View Code? Open in Web Editor NEWAn interface package for working with domains as continuous sets of elements
License: MIT License
An interface package for working with domains as continuous sets of elements
License: MIT License
DomainSetsCore.jl/src/DomainSetsCore.jl
Line 82 in 4bd09eb
cfr JuliaMath/IntervalSets.jl#170 (comment)
I'd argue the contract is different for types inheriting from Domain
and types implementing the domain interface.
One difference is ownership. The DomainSets
package can't provide untyped fallback definitions, even if they make sense, for functions defined elsewhere. It can define untyped fallback definitions for functions specifically defined for domains (which, currently, is typically reflected in the name of the function). In the latter case, specifying the type of an object expected to be a domain to be ::Domain
can be replaced by a call to checkdomain
on the argument to catch any user errors.
In general it can define fallbacks only for arguments of type DomainRef
, since we own that type. By inheriting from Domain{T}
, a type opts-in to such fallback behaviour, without requiring its users to sprinkle their codes with DomainRef
for statements that make complete sense without.
Unless I missed some kind of mechanism, not having an optional common supertype implies DomainRef
's all over the place or being restricted to functions that are used only specifically in the context of DomainSets
(i.e. being less generic).
The package is meant to:
(i) define a Domain type that can be used as supertype of continuous sets
(ii) define an interface for domains (to make it easy for other types to behave as domains and interact with each other while being developed independently)
Any suggestions welcome!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.