Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
test.check + core.logic: Generating the tests. ...
Search
Nicolás Berger
July 08, 2015
Programming
43
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
test.check + core.logic: Generating the tests. And the solutions.
Nicolás Berger
July 08, 2015
More Decks by Nicolás Berger
See All by Nicolás Berger
[ES] Introducción a om.next - Clojure User Group Buenos Aires
nberger
0
75
test.check + core.logic: Generating the tests. And the solutions. [pt-BR]
nberger
0
41
Other Decks in Programming
See All in Programming
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
890
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
130
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
2.6k
AIの中の人になってみる
htkym
0
170
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
190
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
480
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
110
Building an Out-of-Order CPU
latte72
1
740
スマート反転とウェブアクセシビリティ
camiha
0
170
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
140
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
680
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
How GitHub (no longer) Works
holman
316
150k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
Art, The Web, and Tiny UX
lynnandtonic
304
22k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
Thoughts on Productivity
jonyablonski
76
5.4k
Facilitating Awesome Meetings
lara
57
7.1k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Deep Space Network (abreviated)
tonyrice
0
300
Transcript
Meetup Clojure Buenos Aires Test.check + core.logic Generating the tests,
and the solutions Nicolás Berger @nicoberger
Core.logic • miniKanren implementation: “an embedded DSL for logic programming”
• “kanren”: “relation” in japanese • Declarative programming→ WHAT not HOW “Separate the search algorithm from the logical construction”
Demo core.logic
test.check • Property-based testing • Generate → Run → Shrink
• Generate: random generators, use existing or combine to create new ones • Run: Assert properties for every input • Shrink: Find a smaller input that still fails Do not write the tests. Generate them!
Demo core.logic + test.check
Exemplos de core.logic • Puzzles (sudoku, who owns the zebra?)
• Genealogic tree • Knapsack • Malware & threat analysis (threatgrid) • Static code analyzer (kibit) • Type inferencer (lambda calculus)
Links / Referencias • John Hughes - Testing the Hard
Stuff and Staying Sane https://www.youtube.com/watch?v=zi0rHwfiX1Q • David Nolen https://skillsmatter.com/skillscasts/3553-the-refined-clojurist • Zebra puzzle: https://github.com/swannodette/logic-tutorial#zebras • https://github.com/jonase/kibit • https://github.com/frenchy64/Logic-Starter/wiki • http://minikanren.org/ • http://yellerapp.com/posts/2015-04-13-effective-test-check.html • http://www.philandstuff.com/slides/2014/euroclojure.html • http://blog.guillermowinkler.com/blog/2015/04/12/verifying-state-machine-behavior-us ing-test-dot-check/ • http://stackoverflow.com/questions/28467011/what-are-the-main-technical-difference s-between-prolog-and-minikanren-with-resp
Thanks! Nicolás Berger @nicoberger