Overview
Syllabus
Intro
Myself working on language support infrastructure
What's IDE-friendly? Basic support
An IDE needs to recognize...
By single file's content: violations
Determine syntactic construction
1.1. Syntax scrambled by templating/macros
1.2. Syntax depending on non-local information
1.3. Complicated parsing
1.4. Slow parsing
1.5. Syntactic ambiguities on incomplete code
What's declared?
2.1. Declaring by call
22. Declaring by compiler plugin
Which names are referenced?
Which names are referenced: implicit calls
3. Which names are referenced: Java lambdas
Resolve hints: where to look for declarations
Resolve hints: ideal (Haskell)
4. Resolve hints: Java
4. Resolve hints: local type inference
4. Resolve hints: return type inference
constraints to boost your creativity!
IDE-friendly and people-friendly
Taught by
Java