[ Prev ] [ Index ] [ Next ]

Itm type parameter

Created Tuesday 18 November 2008

Status

Ready to be merged

Abstract

Allow more than 26 names for generic parameters

Means

Generic parameters instead of being one letter will be composed of:

Patch

diff -r 66ff74a91036 src/parser.li
--- a/src/parser.li	Sat Aug 30 21:52:37 2008 +0200
+++ b/src/parser.li	Sat Aug 30 21:57:17 2008 +0200
@@ -1513,6 +1513,7 @@
     + continue:BOOLEAN;
     + t,result:ITM_TYPE_MONO;    
     + old_pos,old_derive,sav_derive:INTEGER;
+    + type_parameter:BOOLEAN;
     
     (read_cap_identifier).if {            
       old_pos    := position;
@@ -1553,9 +1554,16 @@
 	(! read_character ']').if {
 	  warning_error (current_position,"Added ']'.");
 	}; // if
-      } else {	
-        // Simple type.	  
-        (name.count = 1).if {
+      } else {
+	type_parameter := TRUE;
+        // Simple type.
+	(name.lower+1).to (name.upper) do { i:INTEGER;
+	  name.item i.is_digit.if_false {
+	    type_parameter := FALSE;
+	  };
+	};
+        // (name.count = 1).if {
+	type_parameter.if {
           (style != NULL).if {
             string_tmp.copy "Style `";
             string_tmp.append style;

TODO

Make this information public in the reference manual

See also

Lisaac:Patches:2008:11:19


Backlinks: :Computer:Lisaac:Patches:2008:11:19 :Computer:Lisaac:Specs :Computer:Lisaac:Specs:Work In Progress:Libraries