Idris is een pure functionele programmeertaal met afhankelijke typen, optionele luie evaluatie en functies zoals totaliteitscontrole. Idris kan worden gebruikt als bewijsassistent, maar is ontworpen als een programmeertaal voor algemene doeleinden, vergelijkbaar met Haskell.
Het Idris-typesysteem is vergelijkbaar met dat van Agda. De bewijzen zijn vergelijkbaar met die van Coq. Idris heeft zoals Coq tactieken. Dit zijn procedures die gebruikers kunnen oproepen om stellingen helpen te bewijzen. Vergeleken met Agda en Coq geeft Idris prioriteit aan het beheer van neveneffecten en ondersteuning voor ingebedde domeinspecifieke talen. Idris compileert naar C en JavaScript. Er zijn codegeneratoren van derden voor andere platforms, waaronder Java Virtual Machine (JVM), Common Intermediate Language (CIL) en LLVM.
Idris is vernoemd naar een zingende draak uit het Britse kindertelevisieprogramma Ivor the Engine uit de jaren 1970.