4 ms·
Citation or examples would indeed be desirable. I can't even be convinced that "...there is only one way to write something."
by delinka 9y ago
Citation or examples would indeed be desirable. I can't even be convinced that "...there is only one way to write something."
- a_humean 9y agoWell a common example of something that can't be copyrighted in most jurisdictions is lists of things. For example the recipe list for a chocolate cake can't be copyrighted, but the manner it is presented in a cookbook (flavour text, images, typesetting) can. Copyright protects the expression of ideas rather than the idea itself. You can claim copyright to the film 'The Breakfast club', but you cannot make a copyright claim to 1980s teenage rite of passage themes. So if there is a very limited form in which an idea cannot be expressed (a three line for loop), then it probably falls into that category of not copyright-able. -IANAL
- thephyber 9y ago> Well a common example of something that can't be copyrighted in most jurisdictions is lists of things. Collections of things are copyrightable (in at least some jurisdictions). A recent legal case was brought recently by some sports stats website who sued scrapers. They didn't "own" the stats (any sports viewer could have built the collection independently), but they owned that specific aggregation. I imagine the same is for collections such as map data. Also IANAL
- majewsky 9y ago> ...there is only one way to write something There are several such examples in functional programming languages. Consider the Haskell function `map`, that takes a function and a list, and applies the function to each element of the list: map :: (a -> b) -> [a] -> [b] Keep in mind that this function is pure, so you cannot get any values into the function from outside via side effects. So if you have a call like `map f []` (i.e. the list of input values of type `a` is empty), there are no values of type `a` anywhere that you can use, hence you cannot call the function `f`, and hence you cannot have any values of type `b` either. Therefore, literally the only possible result is map f [] = [] By a similar argument, you can see that the alternative case for non-empty lists can only be map f (x:xs) = (f x) : (map f xs) Source: https://wiki.haskell.org/Typeclassopedia#Laws https://wiki.haskell.org/Typeclassopedia#Laws (contains a citation to the relevant paper by Philip Wadler)