emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/admin/notes/iftc [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/admin/notes/iftc [lexbind]
Date: Tue, 14 Oct 2003 18:59:21 -0400

Index: emacs/admin/notes/iftc
diff -c /dev/null emacs/admin/notes/iftc:1.1.2.1
*** /dev/null   Tue Oct 14 18:59:21 2003
--- emacs/admin/notes/iftc      Tue Oct 14 18:59:19 2003
***************
*** 0 ****
--- 1,27 ----
+ Iso-Functional Type Contour
+ 
+ 
+ This is a term coined to describe "column int->float" change approach, and can
+ be used whenever low-level types need to change (hopefully not often!) but the
+ meanings of the values (whose type has changed) do not.
+ 
+ The premise is that changing a low-level type potentially means lots of code
+ needs to be changed as well, and the question is how to do this incrementally,
+ which is the preferred way to change things.
+ 
+ Say LOW and HIGH are C functions:
+ 
+   int LOW (void) { return 1; }
+   void HIGH (void) { int value = LOW (); }
+ 
+ We want to convert LOW to return float, so we cast HIGH usage:
+ 
+   float LOW (void) { return 1.0; }
+   void HIGH (void) { int value = (int) LOW (); }  /* iftc */
+ 
+ The comment /* iftc */ is used to mark this type of casting to differentiate
+ it from other casting.  We commit the changes and can now go about modifying
+ LOW and HIGH separately.  When HIGH is ready to handle the type change, the
+ cast can be removed.
+ 
+ ;;; arch-tag: 3309cc41-5d59-421b-b7be-c94b04083bb5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]