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::
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.