From fffd4ffd747fe46bb7849a874e4ae265b6eda54e Mon Sep 17 00:00:00 2001 From: Vibhav Pant Date: Mon, 13 Feb 2017 22:54:05 +0530 Subject: [PATCH] ; etc/TODO: Remove 'switch' item, as it is now implemented. --- etc/TODO | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/etc/TODO b/etc/TODO index fc442f93077..b102bdf35f0 100644 --- a/etc/TODO +++ b/etc/TODO @@ -35,20 +35,6 @@ Change src/bytecode.c so that calls from byte-code functions to byte-code functions don't go through Ffuncall/funcall_lambda/exec_byte_code but instead stay within exec_byte_code. -** Add new 'switch' byte-code -This byte-code would take one argument from the stack (the object to test) -and one argument from the constant-pool (a switch table, implemented as an -'eq' hash table) and would jump to the "label" contained in the hash table. - -Then add a 'case' special-form that can be compiled to this byte-code. -This would behave just like cl-case, but instead of expanding to cond+eq it -would be its own special form and would be compiled specially. - -Then change pcase to use 'case' when applicable. - -Then change the byte-compiler to recognize (cond ((eq x 'foo) bar) ...) -and turn it into a 'case' for more efficient execution. - ** Improve the byte-compiler to recognize immutable (lexical) bindings and get rid of them if they're used only once and/or they're bound to a constant expression. -- 2.39.2