Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
test.check + core.logic: Generating the tests. ...
Search
Nicolás Berger
June 25, 2015
Programming
0
40
test.check + core.logic: Generating the tests. And the solutions. [pt-BR]
#clojure #core.logic #test.check
Nicolás Berger
June 25, 2015
Tweet
Share
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
74
test.check + core.logic: Generating the tests. And the solutions.
nberger
0
41
Other Decks in Programming
See All in Programming
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.4k
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
9
1.2k
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
320
Go コードベースの構成と AI コンテキスト定義
andpad
0
120
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
110
チームをチームにするEM
hitode909
0
330
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
110
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
これならできる!個人開発のすゝめ
tinykitten
PRO
0
100
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
How GitHub (no longer) Works
holman
316
140k
Navigating Team Friction
lara
191
16k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Designing Experiences People Love
moore
143
24k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Cult of Friendly URLs
andyhume
79
6.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
The Pragmatic Product Professional
lauravandoore
37
7.1k
The Language of Interfaces
destraynor
162
25k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Transcript
Meetup clj-sp Test.check + core.logic Gerando os testes. E as
soluções Nicolás Berger @nicoberger Buzzlabs
Core.logic • Implementação do miniKanren: “an embedded DSL for logic
programming” • “kanren”: “relação” em japonês • Programação declarativa → WHAT not HOW “Separate the search algorithm from the logical construction”
Demo core.logic
test.check • Já geramos as soluções, vamos gerar os testes
• Property-based testing • Generate → Run → Shrink Do not write the tests. Generate them!
Demo core.logic + test.check
Exemplos de core.logic • Puzzles (sudoku, who owns the zebra?)
• Árvore genealógica • 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
Perguntas? :)