# SWIG-4.0 Documentation

Last update : SWIG-4.0.0 (in progress)

## Sections

### SWIG Core Documentation

- Preface
- Introduction
- Getting started on Windows
- Scripting
- SWIG Basics (Read this!)
- SWIG and C++
- SWIG and C++11
- SWIG and C++14
- SWIG and C++17
- The SWIG preprocessor
- The SWIG library
- Argument handling
- Typemaps
- Customization features
- Contracts
- Variable length arguments
- Doxygen documentation comments
- Warning messages
- Working with Modules
- Using SWIG with ccache

### Supported Language Modules Documentation

- Android support
- C# support
- D support
- Go support
- Guile support
- Java support
- Javascript support
- Lua support
- Octave support
- Perl5 support
- PHP support
- Python support
- R support
- Ruby support
- Scilab support
- Tcl support

### Experimental Language Modules Documentation

- MzScheme/Racket support
- OCaml support

### Developer Documentation

- Extending SWIG