aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes/iftc
diff options
context:
space:
mode:
authorGlenn Morris2014-10-15 00:07:29 -0700
committerGlenn Morris2014-10-15 00:07:29 -0700
commit12e8ede75cc09a665455609bbb3006f0896c52af (patch)
tree79a59d62ffcc40aad1b9cf15ba0a64ea91674f8e /admin/notes/iftc
parent0b298692909debe108be77e9d357b49816bafb16 (diff)
downloademacs-12e8ede75cc09a665455609bbb3006f0896c52af.tar.gz
emacs-12e8ede75cc09a665455609bbb3006f0896c52af.zip
Remove some admin/notes files
* admin/notes/lel-TODO: Remove. This has not turned out to be a useful way to get things documented. * admin/notes/exit-value, admin/notes/iftc: Remove. These don't seem to have any particular relationship to Emacs development.
Diffstat (limited to 'admin/notes/iftc')
-rw-r--r--admin/notes/iftc26
1 files changed, 0 insertions, 26 deletions
diff --git a/admin/notes/iftc b/admin/notes/iftc
deleted file mode 100644
index 983b1486685..00000000000
--- a/admin/notes/iftc
+++ /dev/null
@@ -1,26 +0,0 @@
1Iso-Functional Type Contour
2
3
4This is a term coined to describe "column int->float" change approach, and can
5be used whenever low-level types need to change (hopefully not often!) but the
6meanings of the values (whose type has changed) do not.
7
8The premise is that changing a low-level type potentially means lots of code
9needs to be changed as well, and the question is how to do this incrementally,
10which is the preferred way to change things.
11
12Say LOW and HIGH are C functions:
13
14 int LOW (void) { return 1; }
15 void HIGH (void) { int value = LOW (); }
16
17We want to convert LOW to return float, so we cast HIGH usage:
18
19 float LOW (void) { return 1.0; }
20 void HIGH (void) { int value = (int) LOW (); } /* iftc */
21
22The comment /* iftc */ is used to mark this type of casting to differentiate
23it from other casting. We commit the changes and can now go about modifying
24LOW and HIGH separately. When HIGH is ready to handle the type change, the
25cast can be removed.
26