TclOO Package

Hex Artifact Content
Login
Bounty program for improvements to Tcl and certain Tcl packages.

Artifact 4e588ad953e9b35481d9a7cd17f05babefe12006:

Wiki page [TclOO Package] by dkf 2016-09-17 13:58:57.
0000: 44 20 32 30 31 36 2d 30 39 2d 31 37 54 31 33 3a  D 2016-09-17T13:
0010: 35 38 3a 35 37 2e 36 32 30 0a 4c 20 54 63 6c 4f  58:57.620.L TclO
0020: 4f 5c 73 50 61 63 6b 61 67 65 0a 50 20 61 62 33  O\sPackage.P ab3
0030: 32 65 30 36 35 61 30 31 63 32 35 35 63 65 30 65  2e065a01c255ce0e
0040: 37 31 62 65 30 62 31 63 31 64 65 63 61 31 35 31  71be0b1c1deca151
0050: 30 36 32 35 31 0a 55 20 64 6b 66 0a 57 20 31 35  06251.U dkf.W 15
0060: 33 31 0a 54 68 65 20 54 63 6c 4f 4f 20 50 61 63  31.The TclOO Pac
0070: 6b 61 67 65 20 69 73 20 61 6e 20 69 6d 70 6c 65  kage is an imple
0080: 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 54 63 6c  mentation of Tcl
0090: 4f 4f 20 66 6f 72 20 54 63 6c 20 38 2e 35 2e 20  OO for Tcl 8.5. 
00a0: 49 74 20 61 6c 6c 6f 77 73 20 75 73 65 72 73 20  It allows users 
00b0: 74 6f 20 77 72 69 74 65 20 63 6f 64 65 20 61 67  to write code ag
00c0: 61 69 6e 73 74 20 54 63 6c 4f 4f 20 77 69 74 68  ainst TclOO with
00d0: 6f 75 74 20 75 73 69 6e 67 20 54 63 6c 20 38 2e  out using Tcl 8.
00e0: 36 2c 20 61 6e 64 20 6f 72 69 67 69 6e 61 6c 6c  6, and originall
00f0: 79 20 73 74 61 72 74 65 64 20 6f 75 74 20 61 73  y started out as
0100: 20 61 20 77 61 79 20 74 6f 20 70 72 6f 67 72 65   a way to progre
0110: 73 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ss implementatio
0120: 6e 20 6f 66 20 54 63 6c 4f 4f 20 77 69 74 68 6f  n of TclOO witho
0130: 75 74 20 62 65 69 6e 67 20 74 69 67 68 74 6c 79  ut being tightly
0140: 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 54 63   bound to the Tc
0150: 6c 20 63 6f 72 65 2e 20 54 68 65 20 69 6d 70 6c  l core. The impl
0160: 65 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 54 63  ementation in Tc
0170: 6c 20 38 2e 36 20 77 61 73 20 6c 61 74 65 72 20  l 8.6 was later 
0180: 64 65 76 65 6c 6f 70 65 64 20 66 72 6f 6d 20 74  developed from t
0190: 68 69 73 20 70 61 63 6b 61 67 65 27 73 20 73 6f  his package's so
01a0: 75 72 63 65 2e 0d 0a 0d 0a 3c 68 32 3e 56 65 72  urce.....<h2>Ver
01b0: 73 69 6f 6e 69 6e 67 3c 2f 68 32 3e 0d 0a 54 68  sioning</h2>..Th
01c0: 65 20 76 65 72 73 69 6f 6e 69 6e 67 20 6f 66 20  e versioning of 
01d0: 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 73 20  this package is 
01e0: 64 65 66 69 6e 65 64 20 62 79 20 74 68 69 73 20  defined by this 
01f0: 70 6f 6c 69 63 79 3a 20 65 61 63 68 20 6e 65 77  policy: each new
0200: 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 72 65 6c   development rel
0210: 65 61 73 65 20 6f 66 20 54 63 6c 20 38 2e 36 20  ease of Tcl 8.6 
0220: 77 69 6c 6c 20 63 6f 72 72 65 73 70 6f 6e 64 20  will correspond 
0230: 74 6f 20 61 6e 6f 74 68 65 72 20 73 74 65 70 20  to another step 
0240: 6f 6e 20 74 68 65 20 76 65 72 73 69 6f 6e 69 6e  on the versionin
0250: 67 20 6f 66 20 54 63 6c 4f 4f 20 74 6f 77 61 72  g of TclOO towar
0260: 64 73 20 31 2e 30 3b 20 54 63 6c 20 38 2e 36 2e  ds 1.0; Tcl 8.6.
0270: 30 20 77 69 6c 6c 20 62 65 20 6d 61 70 70 65 64  0 will be mapped
0280: 20 65 78 61 63 74 6c 79 20 74 6f 20 54 63 6c 4f   exactly to TclO
0290: 4f 20 31 2e 30 2e 20 54 63 6c 20 38 2e 36 62 31  O 1.0. Tcl 8.6b1
02a0: 20 63 6f 72 72 65 73 70 6f 6e 64 65 64 20 74 6f   corresponded to
02b0: 20 54 63 6c 4f 4f 20 30 2e 36 2e 0d 0a 0d 0a 3c   TclOO 0.6.....<
02c0: 68 32 3e 54 63 6c 20 53 63 72 69 70 74 20 49 6e  h2>Tcl Script In
02d0: 74 65 72 66 61 63 65 3c 2f 68 32 3e 0d 0a 3c 75  terface</h2>..<u
02e0: 6c 3e 0d 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d  l>..<li><a href=
02f0: 22 3f 6e 61 6d 65 3d 44 6f 63 3a 2b 69 6e 66 6f  "?name=Doc:+info
0300: 22 3e 3c 62 3e 69 6e 66 6f 3c 2f 62 3e 20 3c 69  "><b>info</b> <i
0310: 3e 28 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f 20  >(extensions to 
0320: 54 63 6c 20 63 6f 6d 6d 61 6e 64 29 3c 2f 69 3e  Tcl command)</i>
0330: 3c 2f 61 3e 0d 0a 3c 6c 69 3e 3c 61 20 68 72 65  </a>..<li><a hre
0340: 66 3d 22 3f 6e 61 6d 65 3d 44 6f 63 3a 2b 6d 79  f="?name=Doc:+my
0350: 22 3e 3c 62 3e 6d 79 3c 2f 62 3e 3c 2f 61 3e 0d  "><b>my</b></a>.
0360: 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 3f 6e  .<li><a href="?n
0370: 61 6d 65 3d 44 6f 63 3a 2b 6e 65 78 74 22 3e 3c  ame=Doc:+next"><
0380: 62 3e 6e 65 78 74 3c 2f 62 3e 20 61 6e 64 20 3c  b>next</b> and <
0390: 62 3e 6e 65 78 74 74 6f 3c 2f 62 3e 3c 2f 61 3e  b>nextto</b></a>
03a0: 0d 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 3f  ..<li><a href="?
03b0: 6e 61 6d 65 3d 44 6f 63 3a 2b 6f 6f 3a 3a 63 6c  name=Doc:+oo::cl
03c0: 61 73 73 22 3e 3c 62 3e 6f 6f 3a 3a 63 6c 61 73  ass"><b>oo::clas
03d0: 73 3c 2f 62 3e 3c 2f 61 3e 0d 0a 3c 6c 69 3e 3c  s</b></a>..<li><
03e0: 61 20 68 72 65 66 3d 22 3f 6e 61 6d 65 3d 44 6f  a href="?name=Do
03f0: 63 3a 2b 6f 6f 3a 3a 63 6f 70 79 22 3e 3c 62 3e  c:+oo::copy"><b>
0400: 6f 6f 3a 3a 63 6f 70 79 3c 2f 62 3e 3c 2f 61 3e  oo::copy</b></a>
0410: 0d 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 3f  ..<li><a href="?
0420: 6e 61 6d 65 3d 44 6f 63 3a 2b 6f 6f 3a 3a 64 65  name=Doc:+oo::de
0430: 66 69 6e 65 22 3e 3c 62 3e 6f 6f 3a 3a 64 65 66  fine"><b>oo::def
0440: 69 6e 65 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 6f  ine</b> and <b>o
0450: 6f 3a 3a 6f 62 6a 64 65 66 69 6e 65 3c 2f 62 3e  o::objdefine</b>
0460: 3c 2f 61 3e 0d 0a 3c 6c 69 3e 3c 61 20 68 72 65  </a>..<li><a hre
0470: 66 3d 22 3f 6e 61 6d 65 3d 44 6f 63 3a 2b 6f 6f  f="?name=Doc:+oo
0480: 3a 3a 6f 62 6a 65 63 74 22 3e 3c 62 3e 6f 6f 3a  ::object"><b>oo:
0490: 3a 6f 62 6a 65 63 74 3c 2f 62 3e 3c 2f 61 3e 0d  :object</b></a>.
04a0: 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 3f 6e  .<li><a href="?n
04b0: 61 6d 65 3d 44 6f 63 3a 2b 73 65 6c 66 22 3e 3c  ame=Doc:+self"><
04c0: 62 3e 73 65 6c 66 3c 2f 62 3e 3c 2f 61 3e 0d 0a  b>self</b></a>..
04d0: 3c 2f 75 6c 3e 0d 0a 3c 68 32 3e 54 63 6c 20 43  </ul>..<h2>Tcl C
04e0: 20 41 50 49 3c 2f 68 32 3e 0d 0a 3c 75 6c 3e 0d   API</h2>..<ul>.
04f0: 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 3f 6e  .<li><a href="?n
0500: 61 6d 65 3d 44 6f 63 3a 2b 54 63 6c 5f 43 6c 61  ame=Doc:+Tcl_Cla
0510: 73 73 22 3e 3c 62 3e 54 63 6c 5f 43 6c 61 73 73  ss"><b>Tcl_Class
0520: 3c 2f 62 3e 2c 20 3c 62 3e 54 63 6c 5f 4f 62 6a  </b>, <b>Tcl_Obj
0530: 65 63 74 3c 2f 62 3e 20 61 6e 64 20 73 75 70 70  ect</b> and supp
0540: 6f 72 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73  orting functions
0550: 20 66 6f 72 20 75 73 69 6e 67 20 6f 62 6a 65 63   for using objec
0560: 74 73 3c 2f 61 3e 0d 0a 3c 6c 69 3e 3c 61 20 68  ts</a>..<li><a h
0570: 72 65 66 3d 22 3f 6e 61 6d 65 3d 44 6f 63 3a 2b  ref="?name=Doc:+
0580: 54 63 6c 5f 4d 65 74 68 6f 64 22 3e 3c 62 3e 54  Tcl_Method"><b>T
0590: 63 6c 5f 4d 65 74 68 6f 64 3c 2f 62 3e 20 61 6e  cl_Method</b> an
05a0: 64 20 73 75 70 70 6f 72 74 69 6e 67 20 66 75 6e  d supporting fun
05b0: 63 74 69 6f 6e 73 20 66 6f 72 20 64 65 66 69 6e  ctions for defin
05c0: 69 6e 67 20 6f 62 6a 65 63 74 73 3c 2f 61 3e 0d  ing objects</a>.
05d0: 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 3f 6e  .<li><a href="?n
05e0: 61 6d 65 3d 44 6f 63 3a 2b 54 63 6c 5f 4f 4f 49  ame=Doc:+Tcl_OOI
05f0: 6e 69 74 53 74 75 62 73 22 3e 3c 62 3e 54 63 6c  nitStubs"><b>Tcl
0600: 5f 4f 4f 49 6e 69 74 53 74 75 62 73 3c 2f 62 3e  _OOInitStubs</b>
0610: 20 66 6f 72 20 69 6e 69 74 69 61 6c 69 73 69 6e   for initialisin
0620: 67 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20  g access to the 
0630: 43 20 41 50 49 20 66 72 6f 6d 20 61 6e 6f 74 68  C API from anoth
0640: 65 72 20 6c 6f 61 64 61 62 6c 65 20 70 61 63 6b  er loadable pack
0650: 61 67 65 3c 2f 61 3e 0d 0a 3c 2f 75 6c 3e 0a 5a  age</a>..</ul>.Z
0660: 20 33 38 30 36 39 32 33 65 36 30 34 35 35 32 30   3806923e6045520
0670: 36 38 65 36 33 30 32 62 31 38 37 36 31 33 38 65  68e6302b1876138e
0680: 66 0a                                            f.