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
June 25, 2015
Programming
41
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. [pt-BR]
#clojure #core.logic #test.check
Nicolás Berger
June 25, 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.
nberger
0
43
Other Decks in Programming
See All in Programming
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
32k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
930
Next.js: The final boss of Web Performance
guaca
0
260
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
600
R8 の設定見直しでアプリサイズ削減
andpad
0
220
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
すこし踏み込む CancellationToken
htkym
2
1.7k
ActionController meets Protocol Buffers
sorah
0
530
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Building AI with AI
inesmontani
PRO
1
1.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
A better future with KSS
kneath
240
18k
RailsConf 2023
tenderlove
30
1.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Designing for Timeless Needs
cassininazir
1
530
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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? :)