With richer information in dependent types, Idris can do things other languages can’t:
• Find more errors at compile time
• Prove, or disprove, that certain elements of your program are correct—including input parameter checking
• Provide powerful editing, with much more sophisticated completion than
you can get in traditional languages
you might have noticed that nil or null values represent a significant percentage of all bugs. These bugs are so prevalent that Tony Hoare referred to null references as a billion-dollar mistake.3
Type classes allow the representation of increasingly specialized types.
• The language is strongly typed.
• Type classes allow parameterized polymorphism.
• We laid the foundation for exploring dependent types in Day 2.
With richer information in dependent types, Idris can do things other languages can’t:
• Find more errors at compile time • Prove, or disprove, that certain elements of your program are correct—including input parameter checking • Provide powerful editing, with much more sophisticated completion than you can get in traditional languages
you might have noticed that nil or null values represent a significant percentage of all bugs. These bugs are so prevalent that Tony Hoare referred to null references as a billion-dollar mistake.3
Type classes allow the representation of increasingly specialized types.
• The language is strongly typed. • Type classes allow parameterized polymorphism. • We laid the foundation for exploring dependent types in Day 2.