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
APL (programming language)
(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!
=== Optimised bytecode === Weak typing in APL means that a name may reference an array (of any datatype), a function or an operator. In general, the interpreter cannot know in advance which form it will be and must therefore perform analysis, syntax checking etc. at run-time.<ref>{{cite journal |last1=Strawn |first1=George O. |date=March 1977 |title=Does APL really need run-time parsing? |journal=Software: Practice and Experience |volume=7 |issue=2 |pages=193β200 |doi=10.1002/spe.4380070207 |s2cid=1463012}}</ref> However, in certain circumstances, it is possible to deduce in advance what type a name is expected to reference and then generate [[bytecode]] which can be executed with reduced run-time overhead. This bytecode can also be optimised using compilation techniques such as [[constant folding]] or [[common subexpression elimination]].<ref name="DyalogCompiler">{{cite web|title=Compiler User Guide|url=http://docs.dyalog.com/16.0/Compiler%20User%20Guide.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://docs.dyalog.com/16.0/Compiler%20User%20Guide.pdf |archive-date=2022-10-09 |url-status=live |website=www.dyalog.com|publisher=Dyalog Ltd.|access-date=May 7, 2018}}</ref> The interpreter will execute the bytecode when present and when any assumptions which have been made are met. Dyalog APL includes support for optimised bytecode.<ref name="DyalogCompiler"/>
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)