Knowledge (XXG)

Template talk:Data types

Source đź“ť

22: 130: 71: 53: 562:
in the language itself (the cute toy implementation using lambdas notwithstanding). And you're being a bit inconsistent. Complex, interval, and rational are in the template, yet as you yourself say, they too are special cases of record; so your reasoning for not including cons cell doesn't quite make sense to me. Not that I think complex and friends should be removed from the template. --
588:
built-in constructs like "record", "array", "reference", that a programmer can use to define other types. Obviously a type that is built-in in one language may be a library type in other; the concept can be defined only relative to a certain set of languages. We must require "bona-fide" languages because weird languages may have very weird data types.
603:
implementation of the S-expression type. There are other implementations, for example replacing N successive cons-cells by an array with N+1 pointers (N CARs and the last CDR). Admittedly these alternative implementations are not very popular, but they have been serioulsy proposed. Moreover, in pure
561:
I would say that the cons cell is a particularly notable special-case of a record. Lisp and some other languages lack a pointer datatype, but make up for this by having cons cells and create all composite datatypes out of just the humble cons cell, which is fundamental/primitive and cannot be created
607:
But I am getting tired of this discussion. I do not intend to edit this template any more; I have more productive ways to spend my time. Unfortunately "datatypology" is one of those "philosophical" disciplines where the object of study is mosty in the people's head: one invents arbitrary categories
587:
of significant programming languages". It must be limited to "built-in" types because otherwise the set is infinite. The types must be provided by the "specification" because the types used in the "implementation" of those languages is also potentially infinte. The "datatype definition tools" are
591:
So, coming to the questions: Complex and rational should be listed because there are languages that provide built-in support for them in the syntax, not merely as a library module (including FORTRAN IV, which did not even have records). Intervals are more questionable but they are built-in for
595:
Finally, on cons cell versus S-expressions: the main data type of LISP is definitely the S-expression. S-expressions are not the same as lists of other languages for many reasons. For instance atoms are a subtype of S-expresions; the CAR and CDR are restricted to have the same data type; the
151: 608:
or viewpoints and then spends all the time trying to fit reality into them. Is the tomato a fruit or vegetable? Is Pluto a planet? Are viruses alive? Should integers be viewed as objects? I have wasted enough time already in my life with that sort of inanities... All the best, --
519:"Cons cell" is not a data type. It is a special case of record (like complex, interval, rational, and infinitly many more), or like the nodes of a linked list. Jus as "node of lined list" does not deserve an article, a "cons cell" does not either. Besides the 744:
is actually defined using a type constructor (the arrow), so it's not clear that it qualifies as primitive, although this type constructor is built-in with special meaning; but then so are other type constructors like * in
546:
Ok, then I would likewise hold that sexprs are just a particular language-specific physical representation of record and thus don't deserve to be in the list. They're a serialization representation, not a unique data type.
389:
concept, and should not be confused with the mathematical concepts that they (try to) emulate, nor the internal representation (encodings and data strcutures) that are used to implement them. Thus, for example,
453:
access to the subject). It would also make this navbox hard to maintain. On the other hand, given its low profile, this navbox can probably be included in almost every article in the "Data types" category.
175: 315: 433:
I propose that this template only lists only the most common data types and "top-level" articles, leaving the specialized versions to be accessed through them. So, for example,
232: 170: 604:
LISP one cannot have circular lists; that constraint comes naturally with S-expressions, but if cons-cell were the primitive type, then it would be a rather artificial one.
861: 866: 499:, and perhaps Common lisp. I recall at least one language where streams (there called "channels" were built-in types; owe you a reference to that. All the best, -- 871: 87: 277: 687:
But real numbers is a mathematical concept, not a data type. Let's not mix the worlds. No programming language implements a 'real number' data type.
445:. Trying to list all data types that have ever been used in any programming language would make the list too big and turn it into a duplicte of the 116: 78: 58: 251: 596:
semantics of 'eq' implies that an S-expression can have sharing in both the car and cdr, and it may terminate with an atom other than NIL; etc.
223: 340: 576:
I am striving to find a consitent rationale for this navbox, but connfess that it still eludes me. The best I can think of is: it is about "
669:
Yes, but it's a unique/distinct flavor of number. One could equally argue that floating-point and fixed-point are mere implementations of
204: 777: 834:
data types should be included in this template? Perhaps that depends on the underlying page being present? But the subpage on
296: 261: 142: 33: 717:
8-) would be much better spent editing the data type articles themselves --- some are ina very sorry state. All the best, --
491:
I am not convinced either that they deserve to be mentioned in the template. However, Exception was a built-in data type in
185: 306: 86:
related articles on Knowledge (XXG). If you would like to participate, please visit the project page, where you can join
753: 843: 271: 800: 773: 639: 496: 438: 419: 699: 395: 333: 427: 242: 39: 781: 750: 403: 839: 722: 659: 613: 536: 504: 462: 426:. Admittedly, the dividing line between data types and data strcutures is often blurred, but there is a 741: 678: 567: 552: 481: 161: 737: 446: 442: 816: 647: 523:
article is more about the cons function than the data type. The main built-in LISP data type is
718: 655: 609: 532: 500: 458: 378:
This bottom-style navbox template is intended to organize the articles about computer science
651: 287: 635: 434: 407: 213: 83: 674: 563: 548: 477: 415: 769: 643: 129: 152:
Requested articles/Applied arts and sciences/Computer science, computing, and Internet
855: 812: 631: 746: 524: 670: 399: 476:
I find the classification of Stream and Exception as datatypes questionable. --
847: 820: 785: 758: 726: 682: 663: 617: 571: 556: 540: 508: 485: 466: 705:
However, the work spent on editing navboxes (-8 and fighting about whether a
835: 831: 714: 528: 379: 194: 70: 52: 492: 437:
should not be listed directly; readers can get to it either through the
423: 749:. We need to look for some refs for terminology; always a big hassle. 702:. If we have to expand this navbox, that may be a good way to do it. 706: 710: 391: 520: 796: 270:
Find pictures for the biographies of computer scientists (see
15: 398:
is both a data type in many languages and a data strcuture.
449:
page, frustrating the very purpose of the navbox (provide a
599:
The cons cell is a record type that is used internally in
583:
data types and datatype definition tools provided by the
410:
is an abstract data type or abstract data structure that
732:
We need a better categorization for the stuff in "other"
82:, a collaborative effort to improve the coverage of 626:
Bignum is not a data type, but a variant of integer
592:
Mathematica at least, with standard arithmetic ops.
799:because previous links were imprecise compared to 176:Computer science articles needing expert attention 740:, but that article seems hotly contested. Also, 531:, and should be listed as such. All the best, -- 418:is one possible representation of the data type 32:does not require a rating on Knowledge (XXG)'s 316:WikiProject Computer science/Unreferenced BLPs 472:Correctness of including Stream and Exception 8: 96:Knowledge (XXG):WikiProject Computer science 233:Computer science articles without infoboxes 171:Computer science articles needing attention 137:Here are some tasks awaiting attention: 111: 47: 862:Template-Class Computer science articles 515:Cons cell is not a fundamental data type 422:which is an emulation of a mathematical 867:NA-importance Computer science articles 49: 838:should suffice in the interim? HTH. 872:WikiProject Computer science articles 99:Template:WikiProject Computer science 76:This template is within the scope of 21: 19: 7: 630:Bignum is not a distinct type; like 414:a data type in some languages. Also 803:. It is wrong to keep silent about 38:It is of interest to the following 698:Check the navbox at the bottom of 252:Timeline of computing 2020–present 14: 278:Computing articles needing images 128: 69: 51: 20: 736:Intuitively, some of those are 1: 848:16:04, 23 November 2018 (UTC) 332:Tag all relevant articles in 90:and see a list of open tasks. 341:WikiProject Computer science 117:WikiProject Computer science 79:WikiProject Computer science 759:05:18, 18 August 2009 (UTC) 406:are data structures, while 394:is a mathematical concept; 272:List of computer scientists 888: 801:Template:Information units 640:integer (computer science) 439:integer (computer science) 420:integer (computer science) 821:11:43, 19 July 2016 (UTC) 786:18:47, 26 June 2013 (UTC) 700:carbon monoxide poisoning 396:record (computer science) 334:Category:Computer science 110: 102:Computer science articles 64: 46: 809:Template talk:Data types 791:Abstractions over bit(s) 727:18:35, 10 May 2009 (UTC) 683:01:57, 11 May 2009 (UTC) 664:17:33, 10 May 2009 (UTC) 654:, etc. All the best, -- 618:03:37, 11 May 2009 (UTC) 572:23:39, 10 May 2009 (UTC) 557:23:30, 10 May 2009 (UTC) 541:17:30, 10 May 2009 (UTC) 509:17:13, 10 May 2009 (UTC) 486:03:52, 10 May 2009 (UTC) 428:Template:Data structures 336:and sub-categories with 467:15:44, 9 May 2009 (UTC) 404:Tree (computer science) 830:Just wondered whether 795:I left single link to 430:for data strcutures. 297:Computer science stubs 443:"Data types" category 768:Template is missing 742:first-class function 738:primitive data types 638:, it is a flavor of 387:programming language 115:Things you can help 805:platform-dependency 694:Multi-tiered navbox 836:digital timestamps 648:rational data type 374:Template rationale 34:content assessment 840:RobbieIanMorrison 756: 441:, or through the 385:Data types are a 371: 370: 367: 366: 363: 362: 359: 358: 355: 354: 879: 754: 642:--- and also of 636:unsigned integer 457:All the best, -- 435:unsigned integer 408:list (computing) 345: 339: 214:Computer science 143:Article requests 132: 125: 124: 112: 104: 103: 100: 97: 94: 93:Computer science 84:Computer science 73: 66: 65: 59:Computer science 55: 48: 25: 24: 23: 16: 887: 886: 882: 881: 880: 878: 877: 876: 852: 851: 828: 793: 766: 734: 696: 628: 517: 474: 416:twos complement 376: 351: 348: 343: 337: 325:Project-related 320: 301: 282: 256: 237: 218: 199: 180: 156: 101: 98: 95: 92: 91: 12: 11: 5: 885: 883: 875: 874: 869: 864: 854: 853: 827: 824: 792: 789: 770:inductive type 765: 764:Missing types. 762: 733: 730: 695: 692: 691: 690: 689: 688: 644:floating point 627: 624: 623: 622: 621: 620: 605: 597: 593: 589: 559: 516: 513: 512: 511: 473: 470: 375: 372: 369: 368: 365: 364: 361: 360: 357: 356: 353: 352: 350: 349: 347: 346: 329: 321: 319: 318: 312: 302: 300: 299: 293: 283: 281: 280: 275: 267: 257: 255: 254: 248: 238: 236: 235: 229: 219: 217: 216: 210: 200: 198: 197: 191: 181: 179: 178: 173: 167: 157: 155: 154: 148: 136: 134: 133: 121: 120: 108: 107: 105: 88:the discussion 74: 62: 61: 56: 44: 43: 37: 26: 13: 10: 9: 6: 4: 3: 2: 884: 873: 870: 868: 865: 863: 860: 859: 857: 850: 849: 845: 841: 837: 833: 825: 823: 822: 818: 814: 810: 806: 802: 798: 790: 788: 787: 783: 779: 778:99.153.64.179 775: 774:equality type 771: 763: 761: 760: 757: 752: 748: 743: 739: 731: 729: 728: 724: 720: 716: 712: 708: 703: 701: 693: 686: 685: 684: 680: 676: 672: 668: 667: 666: 665: 661: 657: 653: 649: 645: 641: 637: 633: 632:short integer 625: 619: 615: 611: 606: 602: 598: 594: 590: 586: 585:specification 582: 579: 575: 574: 573: 569: 565: 560: 558: 554: 550: 545: 544: 543: 542: 538: 534: 530: 526: 522: 514: 510: 506: 502: 498: 494: 490: 489: 488: 487: 483: 479: 471: 469: 468: 464: 460: 455: 452: 448: 444: 440: 436: 431: 429: 425: 421: 417: 413: 409: 405: 401: 397: 393: 388: 383: 381: 373: 342: 335: 331: 330: 328: 326: 322: 317: 314: 313: 311: 309: 308: 303: 298: 295: 294: 292: 290: 289: 284: 279: 276: 273: 269: 268: 266: 264: 263: 258: 253: 250: 249: 247: 245: 244: 239: 234: 231: 230: 228: 226: 225: 220: 215: 212: 211: 209: 207: 206: 201: 196: 193: 192: 190: 188: 187: 182: 177: 174: 172: 169: 168: 166: 164: 163: 158: 153: 150: 149: 147: 145: 144: 139: 138: 135: 131: 127: 126: 123: 122: 118: 114: 113: 109: 106: 89: 85: 81: 80: 75: 72: 68: 67: 63: 60: 57: 54: 50: 45: 41: 35: 31: 27: 18: 17: 829: 808: 804: 794: 767: 747:product type 735: 719:Jorge Stolfi 704: 697: 671:Real numbers 656:Jorge Stolfi 629: 610:Jorge Stolfi 600: 584: 580: 577: 533:Jorge Stolfi 525:S-expression 518: 501:Jorge Stolfi 475: 459:Jorge Stolfi 456: 450: 432: 411: 386: 384: 377: 324: 323: 307:Unreferenced 305: 304: 286: 285: 260: 259: 241: 240: 222: 221: 203: 202: 184: 183: 160: 159: 141: 140: 77: 40:WikiProjects 29: 400:Linked list 856:Categories 675:Cybercobra 564:Cybercobra 549:Cybercobra 478:Cybercobra 451:structured 380:data types 832:timestamp 826:Timestamp 715:vegetable 529:cons cell 195:Computing 813:Ushkin N 581:built-in 493:Modula-3 447:category 243:Maintain 186:Copyedit 30:template 652:interva 424:integer 224:Infobox 162:Cleanup 707:tomato 527:, not 495:, and 412:may be 205:Expand 36:scale. 713:or a 711:fruit 709:is a 392:tuple 288:Stubs 262:Photo 119:with: 28:This 844:talk 817:talk 782:talk 772:and 755:ping 751:Pcap 723:talk 679:talk 673:. -- 660:talk 634:and 614:talk 578:main 568:talk 553:talk 537:talk 521:cons 505:talk 482:talk 463:talk 402:and 807:at 797:bit 601:one 497:Ada 382:. 858:: 846:) 819:) 811:. 784:) 776:. 725:) 681:) 662:) 650:, 646:, 616:) 570:) 555:) 547:-- 539:) 507:) 484:) 465:) 344:}} 338:{{ 842:( 815:( 780:( 721:( 677:( 658:( 612:( 566:( 551:( 535:( 503:( 480:( 461:( 327:: 310:: 291:: 274:) 265:: 246:: 227:: 208:: 189:: 165:: 146:: 42::

Index

content assessment
WikiProjects
WikiProject icon
Computer science
WikiProject icon
WikiProject Computer science
Computer science
the discussion
WikiProject Computer science

Article requests
Requested articles/Applied arts and sciences/Computer science, computing, and Internet
Cleanup
Computer science articles needing attention
Computer science articles needing expert attention
Copyedit
Computing
Expand
Computer science
Infobox
Computer science articles without infoboxes
Maintain
Timeline of computing 2020–present
Photo
List of computer scientists
Computing articles needing images
Stubs
Computer science stubs
Unreferenced
WikiProject Computer science/Unreferenced BLPs

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑