Wikidata:Property proposal/dialect of (computer language)

From Wikidata
Jump to navigation Jump to search

dialect of

[edit]

Originally proposed at Wikidata:Property proposal/Creative work

Descriptioncomputer language of which an item with this property is a dialect. For human language dialects, use "dialect of" (P4913) instead.
Data typeItem
Domainprogramming language (Q9143)
Allowed valuesprogramming language (Q9143)
Example 1APLX (Q4653328) dialect of APL (Q296187)
Example 2Cython (Q975594) dialect of Python (Q28865)
Example 3Common Lisp (Q849146) dialect of Lisp (Q132874)
Planned useFor any item which is a dialect of a computer language, conversion from part of (P361) and instance of (P31) dialect (Q2458742)
See alsodialect of (P4913) for human language. dialect (Q2458742)

Motivation

[edit]

Currently computer language dialects are designed using a combination of instance of (P31) dialect (Q2458742) and part of (P361) "base language" or based on (P144) "base language". Worth noticing dialect (Q2458742) subclass of (P279) programming language (Q9143).


I see several issues with the current schema:

  1. A programming language can be (and some currently are) defined as instance of (P31) dialect (Q2458742) only.
  2. By defining a computer language as instance of (P31) dialect (Q2458742) we miss the most meaningful piece of information which is "which computer language this item is a dialect of"
  3. based on (P144) and part of (P361) are not specific enough.

In plain English, one would say "I program in a dialect of Python", "Scheme is a dialect of Lisp". On the other hand "I program in a dialect" or "Scheme is a dialect" seems to convey much less information. And statements such as "She's an expert in computer language dialects" have little meaning.

So alongside with this proposal, I suggest:

EDIT: "dialect of" could be instance of (P31) derivative work (P4969)

Sylvain Leroux (talk) 14:00, 12 April 2020 (UTC)[reply]

Discussion

[edit]

@FabC: based on (P144) convey the idea a language is an evolution of another, not just a variation. For example, C (Q15777) based on (P144) B (Q797302). Despite similarities in their syntax, I would hardly say than the C language is a dialect of B. I also saw influenced by (P737) sometimes used in a similar manner: B (Q797302) influenced by (P737) BCPL (Q810009).

However, in my understanding:

Sylvain Leroux (talk) 03:28, 13 April 2020 (UTC)[reply]

WikiProject Informatics has more than 50 participants and couldn't be pinged. Please post on the WikiProject's talk page instead. Visite fortuitement prolongée (talk) 19:57, 12 April 2020 (UTC)[reply]

@Tinker Bell: I wasn't aware of implementation of (P4428). From a quick look, it seems used to describe the relationship between a product and some language specification like in: Turbo C++ (Q1194352) implementation of (P4428) C++ (Q2407) or JScript (Q553514) implementation of (P4428) ECMAScript (Q259138). But I agree there is a thin blurred line here. Sylvain Leroux (talk) 03:46, 13 April 2020 (UTC)[reply]


There are no more contributions for a few days now, and the reception was positive, so I changed the property proposal to status=ready. Feel free to revert if that's was not the proper action to take. --Sylvain Leroux (talk) 13:05, 18 April 2020 (UTC)[reply]

I don't know if using of (P642) we can enforce the rule that a dialect of should only refer to instance of (P31)/subclass of (P279)* programming language (Q9143). But if we can, that would be an option @SilentSpike:.
However, we could have the same reasoning for implementation of (P4428) that could be replaced by instance of (P31) implementation (Q245962) of (P642) or even based on (P144) that could be replaced by instance of (P31) derivative work (P4969) of (P642). I also looked at the talk page for of (P642) and on Wikidata:Property_proposal/Archive/8#P642. From what I read there regarding the scope of P642, I still believe that a dedicated dialect of property would be the most meaningful way to express the corresponding relationship between two programming languages. --Sylvain Leroux (talk) 01:48, 19 April 2020 (UTC)[reply]
I forgot to mention in my previous comment I expressed some concern above regarding dialect (Q2458742). After rethinking about your suggestion SilentSpike (talkcontribslogs) I really have the feeling that in our context dialect (Q2458742) is meaningless by itself and only makes sense when used with a qualifier like in instance of (P31) dialect (Q2458742) of (P642). Or am I wrong? --Sylvain Leroux (talk) 12:55, 19 April 2020 (UTC)[reply]
Thanks @Tinker Bell:. I will review the concerned items this week. --Sylvain Leroux (talk) 08:04, 21 April 2020 (UTC)[reply]