Vanessa McHale
  • The Logic of Testing

    by Vanessa McHale | Computer Science

    Testing is widespread in programming, but correctness in programming is mostly assured by construction. Testing prods a "black box"; this is appealing in that libraries are presented to users as black boxes, but, as we shall see, it is limited in what it can accomplish for deep logical reasons.

  • Functional Compilers That Stand Toe-to-toe With C's Object Files: a Manifesto

    by Vanessa McHale | Computer Science

    There are some ways that functional programming languages still lack when compared to C; in particular they fail to export their constructs for use in other languages.

  • Extracting Compiler Version from Compiled Binaries Using Jacinda

    by Vanessa McHale | Jacinda

    Compilers and linkers put their own version information in ELF binaries; we can inspect with readelf on the .comment section, to wit:

  • Three Languages

    by Vanessa McHale | PL Nihilism

    One PL nihilism is "all languages are the same." This is not so—general-purpose languages have converged on procedures, but languages that differ nontrivially are used in computing.

  • Better Vim Tags With Jacinda

    by Vanessa McHale | Jacinda

    Universal ctags points the cursor to line numbers rather than the actual definition (as language servers do). Vim uses ex (:h Ex-mode) commands as destinations. We want to generate call cursor(line,col) for each identifier.