~/talk

Digging for Fold: Synthesis-Aided API Discovery for Haskell

links:none on file
name:Zheng Guo
links:none on file
links:none on file
slides:none on file

A synthesis-backed search called Hoogle Plus indexes popular Haskell libraries and synthesizes compositions that match either a provided type or inferred types from input/output tests using a lattice-based generalization algorithm; it filters out useless results via property-based testing with SmallCheck and generates distinguishing examples and docs for each candidate. A 30-person study shows it boosts snippet completion by 51% increase and reduces median solve time (completed tasks) by about 15 seconds overall, larger on some tasks.

AI-written summary · about

  1. 0:00Intro
  2. 0:12Programmers don't want to repeat code themselves
  3. 0:23API Discovery Problem
  4. 0:36Haskell makes this harder
  5. 0:59Haskell has Hoogle
  6. 1:36Running Example
  7. 3:36Outline
  8. 4:11Specifying dedup Type Query
  9. 4:37Challenge: How to infer likely type specifications
  10. 4:58Searching for a type
  11. 5:26Search or a type
  12. 5:41Search for a type
  13. 5:58Filtering types
  14. 7:04Ranking Types
  15. 7:14Types from Tests
  16. 7:45Filtering Programs Type Query
  17. 8:35Filtering Programs - Smallcheck
  18. 8:50Filtering Programs - Hoogle+
  19. 9:12Filtered Search
  20. 9:37Without aid
  21. 9:59Hoogle+'s UI
  22. 11:01User Study
  23. 11:3830 Participants
  24. 12:02Task Flow
  25. 12:44What is a task?
  26. 13:57How did users give their specification?
  27. 14:44Specification among novices
  28. 15:16Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.