.. _technical_notes: Technical Notes =============== Technical Notes describe in-progress language features that are not yet stable enough to be in the language specification. Additionally, a Technical Note can describe implementation details that can be ignored by most Chapel programmers. Base Language Features ---------------------- .. toctree:: :maxdepth: 1 Associative Set Operations Avoiding Array Element Initialization with noinit Error Handling Modes and Prototype Modules First-class Procedures in Chapel Including Sub-Modules from Separate Files main() Functions
Module Search Paths Operator Methods The 'manage' Statement Attributes Interfaces Function-static Variables Remote Variables Initializers and Generic Programming ------------------------------------ .. toctree:: :maxdepth: 1 Forwarding Methods Calls The ‘init=’ Method Invoking Initializers with a Generic Instantiation Partial Instantiations Throwing Initializers Parallel Language Features -------------------------- .. toctree:: :maxdepth: 1 Domain Map Standard Interface The ‘local’ keyword Querying a Local Subdomain Reduce Intents Runtime Support for Atomics The 'foreach' Loop GPU Programming Interoperability ---------------- .. toctree:: :maxdepth: 1 C Interoperability Calling Chapel Code from Other Languages Fortran Interoperability Using the Chapel Allocator from C IO ----- .. toctree:: :maxdepth: 1 IO Serializers and Deserializers Compiler Features ----------------- .. toctree:: :maxdepth: 1 Checking for Nil Dereferences Checking Overload Sets Checking Variable Lifetimes Compiler Driver Mode Editions LLVM Support Variables to Detect Compilation Configuration Tool Details ------------ .. toctree:: :maxdepth: 1 Protocol Buffers Support - Generated Chapel Code Performance Optimization ------------------------ .. toctree:: :maxdepth: 1 Optimizing Performance of Chapel Programs