Wikifunctions:Type proposals
This page is to discuss and decide on proposals for new Types, and for changing existing ones.
Before proposing, you should familiarize yourself with the Function model.
Types are currently being created by Wikifunctions staff. Over time these rights will be handed over to the community.
Proposals for new types to be created
Implementation in progress
- Wikifunctions:Type proposals/Wikidata based types
- Wikifunctions:Type proposals/Wikidata lexeme senses
In discussion
- Wikifunctions:Type proposals/complex128
- Wikifunctions:Type proposals/Kleenean
- Wikifunctions:Type proposals/RGBA color
- Wikifunctions:Type proposals/SI units
- Wikifunctions:Type proposals/Timezone
- Wikifunctions:Type proposals/Moment in time
- Wikifunctions:Type proposals/French tenses
- Wikifunctions:Type proposals/French subjects (as in, the subject of a sentence)
Being prepared
Stalled
- Wikifunctions:Type proposals/Typed string
- Wikifunctions:Type proposals/Wikidata value
- Wikifunctions:Type proposals/Wikidata string-based value
- Wikifunctions:Type proposals/bytes
- Wikifunctions:Type proposals/Percentage
Something to think about
- Wikifunctions:Type proposals/Context
- Wikifunctions:Type proposals/Multilingual gloss
- Wikifunctions:Type proposals/Alphabet
- Wikifunctions:Type proposals/Bengali month
- Wikifunctions:Type proposals/Imperial Units
- Wikifunctions:Type proposals/Currency
- Symbol and expression (as in a computer algebra system) - currently no idea yet
Wikidata integration
(These are just the types we will need that are not listed somewhere else)
- Wikidata qualifier
- Wikidata Data type
- Wikidata sitelink
- Unknown value
- Entity schema
"Heavy" data
Heavy data is those that can be more than 1.5MB (where medium data are between 60KB and 1.5MB). This includes most real-world files (jpg, mp3, pdf, zip, exe) and raw forms of data containing in such files (e.g. 1024*768 RGB image has 2359296 bytes in raw form). Wikifunctions currently have limited support for medium data and little support for heavy data (and neither support file uploading for computation). See Wikifunctions:Type_proposals/bytes#Uses for more information.
- Image (raster): basically, a 2D or 3D array of number (though we do need a type to represent both the array and image mode)
- Audio and signal: basically, one number (sampling rate) and one or more (1D) arrays of number, one per channel (though we do need a type to represent all of them)
- Video: audio plus series of image
Unclear necessity / probably unnecessary
- Multidimensional array: can be represented as list of lists, but a dedicated edit interface would be nice (and way to enforce an array not to be jagged)
- Typed tuple: can be represented as nested Typed pair (Z882)
- Set: use list instead
- Multiset: use list instead
- Multimap: use list of Typed pair (Z882) instead (see also simple map Typed Map (Z883))
Types that have already been Implemented
- Wikifunctions:Type proposals/Natural number
- Wikifunctions:Type_proposals/Gregorian calendar month
- Wikifunctions:Type proposals/Sign
- Wikifunctions:Type proposals/Igbo calendar month
- Wikifunctions:Type proposals/Integer
- Wikifunctions:Type proposals/Day of the week
- Wikifunctions:Type proposals/Gregorian era
- Wikifunctions:Type proposals/Rational number
- Wikifunctions:Type proposals/Gregorian year
- Wikifunctions:Type proposals/Day of Roman year
- Wikifunctions:Type proposals/Gregorian calendar date
- Wikifunctions:Type proposals/float64