; etc/TODO: Remove 'switch' item, as it is now implemented.
This commit is contained in:
parent
271dcf8652
commit
fffd4ffd74
1 changed files with 0 additions and 14 deletions
14
etc/TODO
14
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.
|
||||
|
|
Loading…
Add table
Reference in a new issue