Skalpel: a type error slicer for standard ML

Vincent Rahli, Joseph Brian Wells, John Pirie, Fairouz Kamareddine

Research output: Contribution to journalArticlepeer-review

11 Citations (Scopus)


Compilers for languages with type inference algorithms produce confusing type error messages and give a single error location which is often far away from the real location of the type error. Attempts at solving this problem 1) fail to include the multiple program points which make up the type error, 2) often report tree fragments which do not correspond to any place in the user program, and 3) give incorrect type information/diagnosis which can be highly confusing. We present Skalpel, a type error slicing tool which solves these problems by giving the programmer all and only the information involved with a type error to significantly aid in diagnosis and repair of type errors. Skalpel consists of a sophisticated new constraint generator which is linear in size and a new constraint solver which is terminating.

Original languageEnglish
Pages (from-to)197-213
Number of pages17
JournalElectronic Notes in Theoretical Computer Science
Publication statusPublished - 24 Apr 2015


  • Automated error diagnosis
  • Automated type inference
  • Improved error reports

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)


Dive into the research topics of 'Skalpel: a type error slicer for standard ML'. Together they form a unique fingerprint.

Cite this