Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Optimizing compiler
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Functional language optimizations === Although many of these also apply to non-functional languages, they either originate in or are particularly critical in [[functional language]]s such as [[Lisp programming language|Lisp]] and [[ML programming language|ML]]. ;[[Tail-call optimization]]: A function call consumes stack space and involves some overhead related to parameter passing and flushing the instruction cache. [[Tail recursion|Tail-recursive]] algorithms can be converted to [[iteration]] through a process called tail-recursion elimination or tail-call optimization. ;[[Deforestation (computer science)|Deforestation]] ([[data structure]] fusion): In languages where it is common for a sequence of transformations to be applied to a list, deforestation attempts to remove the construction of intermediate data structures. ;[[Partial evaluation]]: Computations that produce the same output regardless of the dynamic input at runtime can be evaluated at compile time.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)