ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???
Clojure,
???? ?? ????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
Clojure ? ?? ? ?? ???
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
Clojure ? ?? ? ?? ???
Java? ?? ???
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
chap16.
???? ????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
core.logic
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
1. ??? ? ?? ?? ??
2. ?? ?? ?? ??
3. ?? ??? ???? ??
4. ??
?, ?, ??????? ??? ????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???!
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
??? ? ? ????
https://www.jug.ch/events/slides/140225_Clojure_gix.pdf
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
Data is Code is Data
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???
vs.
???, ?????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???
Imperative Programming
The three keys needed...
logic key functional key imperative key
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???(?? ?????)
Logic Programming
Just one key is needed...
Magic
logic key
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???(?? ?????)
Logic Programming
Just one key is needed...
Magic
logic key
miniKanren
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
What is logic programming?
semantic elements
logic programming
querylogic
variable
free
grounded
knowledge
base
proposition
predicate
term
?nite
domains
constraints
deduction
depth-?rst
search
backtracking
uni?cationinduction
satisfying
assignment
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
abstract ... concrete
logic programming
query knowledge
base
deduction
satisfying
assignment
In which year was julia twice as old
clodette?
julia was born 2 years before clodette
julia was born in 1978
age 2 N, 0 ? age ? 120
year 2 N, 1978 ? age ? 2098
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
??? ?????..
joy.logic.planets
http://bit.ly/2g4cfvV
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
http://lanyrd.com/2012/euroclojure/stfyd/
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
Logic Variable
?q
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
Fact
(relation source target)
??? ?? ?? ??? ??? ?,
?? ??? ????..
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
??? ?
(run* [q]
(conso q [] [:a]))
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(conso q [] [:a]))
=> (:a)
??? ?
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero q [:a :b :c]))
??? ????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero q [:a :b :c]))
=> (:a :b :c)
??? ????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run 1 [q]
(membero q [:a :b :c]))
=> (:a)
??? ????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero :b [:a :b :c]))
?? ???
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero :b [:a :b :c]))
=> (_0)
?? ???
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero :b [:a :b :c])
(== q true))
=> (true)
???(unification)
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero q [:a :b :c])
(membero q [:b :c :d]))
??? ??????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero q [:a :b :c])
(membero q [:b :c :d]))
=> (:b :c)
??? ??????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero q [:a :b :c])
(membero :a [:b :c q]))
?? ?? ???
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
(run* [q]
(membero q [:a :b :c])
(membero :a [:b :c q]))
=> (:a)
?? ?? ???
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???? ????
??
???
???? ???
?? ? ??!
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???????
joy.logic.sdokufd
http://bit.ly/2eLT44W
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
???.. ??? ????
(????) ??????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
SELECT * FROM GEEKS WHERE GEEK_ID=0;
geed_id geek_name
0 Archimedes
Tuesday, 22 May 2012
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
Datomic
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
Datomic ????: Datalog
https://en.wikipedia.org/wiki/Datalog
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
Datalog
???? ??? ??/??
RDF ??? ?? ?????
? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
?????!
Facebook: @ksseono
Twitter: @SeonhoKim
Ad

Recommended

? 5? Lisp ??? - ??? ???? ?? ???? ??
? 5? Lisp ??? - ??? ???? ?? ???? ??
NAVER D2
?
? 5? Lisp ??? - Graphics Programming in Clojure
? 5? Lisp ??? - Graphics Programming in Clojure
NAVER D2
?
??? ????? ?? ?? Clojure
??? ????? ?? ?? Clojure
Eunmin Kim
?
Re frame
Re frame
Sang-Kyu Park
?
Dragon: A Distributed Object Storage at Yahoo! JAPAN (WebDB Forum 2017)
Dragon: A Distributed Object Storage at Yahoo! JAPAN (WebDB Forum 2017)
³Û²¹³ó´Ç´Ç!¥Ç¥Ù¥í¥Ã¥Ñ©`¥Í¥Ã¥È¥ï©`¥¯
?
Dragon: A Distributed Object Storage at Yahoo! JAPAN (WebDB Forum 2017 / E...
Dragon: A Distributed Object Storage at Yahoo! JAPAN (WebDB Forum 2017 / E...
³Û²¹³ó´Ç´Ç!¥Ç¥Ù¥í¥Ã¥Ñ©`¥Í¥Ã¥È¥ï©`¥¯
?
Zeppelin and Open Source Ecosystem and Silicon Valley
Zeppelin and Open Source Ecosystem and Silicon Valley
Dataya Nolja
?
???? ????? ????(???? ????) @ Soscon2019
???? ????? ????(???? ????) @ Soscon2019
chioh song
?
2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
?
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
?
Artificial Intelligence, Data and Competition ¨C SCHREPEL ¨C June 2024 OECD dis...
Artificial Intelligence, Data and Competition ¨C SCHREPEL ¨C June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
?
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
?
2024 State of Marketing Report ¨C by Hubspot
2024 State of Marketing Report ¨C by Hubspot
Marius Sescu
?
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
?
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
?
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
?
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
?
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
?
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
?
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
?
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
?
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
?
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
?
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
?
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
?
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
?
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
?
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
?

More Related Content

Featured (20)

2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
?
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
?
Artificial Intelligence, Data and Competition ¨C SCHREPEL ¨C June 2024 OECD dis...
Artificial Intelligence, Data and Competition ¨C SCHREPEL ¨C June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
?
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
?
2024 State of Marketing Report ¨C by Hubspot
2024 State of Marketing Report ¨C by Hubspot
Marius Sescu
?
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
?
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
?
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
?
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
?
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
?
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
?
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
?
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
?
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
?
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
?
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
?
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
?
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
?
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
?
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
?
2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
?
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
?
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
?
2024 State of Marketing Report ¨C by Hubspot
2024 State of Marketing Report ¨C by Hubspot
Marius Sescu
?
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
?
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
?
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
?
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
?
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
?
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
?
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
?
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
?
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
?
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
?
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
?
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
?

core.logic (Clojure)

  • 1. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ??? Clojure, ???? ?? ????
  • 2. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 Clojure ? ?? ? ?? ???
  • 3. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 Clojure ? ?? ? ?? ??? Java? ?? ???
  • 4. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 chap16. ???? ????
  • 5. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 core.logic
  • 6. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
  • 7. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
  • 8. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 1. ??? ? ?? ?? ?? 2. ?? ?? ?? ?? 3. ?? ??? ???? ?? 4. ?? ?, ?, ??????? ??? ????
  • 9. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ????
  • 10. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ???!
  • 11. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ??? ? ? ???? https://www.jug.ch/events/slides/140225_Clojure_gix.pdf
  • 12. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 Data is Code is Data
  • 13. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ??? vs. ???, ?????
  • 14. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ??? Imperative Programming The three keys needed... logic key functional key imperative key
  • 15. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ???
  • 16. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ???(?? ?????) Logic Programming Just one key is needed... Magic logic key
  • 17. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ???(?? ?????) Logic Programming Just one key is needed... Magic logic key miniKanren
  • 18. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
  • 19. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 What is logic programming? semantic elements logic programming querylogic variable free grounded knowledge base proposition predicate term ?nite domains constraints deduction depth-?rst search backtracking uni?cationinduction satisfying assignment
  • 20. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 abstract ... concrete logic programming query knowledge base deduction satisfying assignment In which year was julia twice as old clodette? julia was born 2 years before clodette julia was born in 1978 age 2 N, 0 ? age ? 120 year 2 N, 1978 ? age ? 2098
  • 21. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ??? ?????.. joy.logic.planets http://bit.ly/2g4cfvV
  • 22. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
  • 23. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 http://lanyrd.com/2012/euroclojure/stfyd/
  • 24. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 Logic Variable ?q
  • 25. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 Fact (relation source target) ??? ?? ?? ??? ??? ?, ?? ??? ????..
  • 26. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ??? ? (run* [q] (conso q [] [:a]))
  • 27. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (conso q [] [:a])) => (:a) ??? ?
  • 28. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero q [:a :b :c])) ??? ????
  • 29. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero q [:a :b :c])) => (:a :b :c) ??? ????
  • 30. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run 1 [q] (membero q [:a :b :c])) => (:a) ??? ????
  • 31. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero :b [:a :b :c])) ?? ???
  • 32. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero :b [:a :b :c])) => (_0) ?? ???
  • 33. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero :b [:a :b :c]) (== q true)) => (true) ???(unification)
  • 34. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero q [:a :b :c]) (membero q [:b :c :d])) ??? ??????
  • 35. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero q [:a :b :c]) (membero q [:b :c :d])) => (:b :c) ??? ??????
  • 36. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero q [:a :b :c]) (membero :a [:b :c q])) ?? ?? ???
  • 37. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 (run* [q] (membero q [:a :b :c]) (membero :a [:b :c q])) => (:a) ?? ?? ???
  • 38. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ???? ???? ?? ??? ???? ??? ?? ? ??!
  • 39. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ??????? joy.logic.sdokufd http://bit.ly/2eLT44W
  • 40. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ???.. ??? ???? (????) ??????
  • 41. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 SELECT * FROM GEEKS WHERE GEEK_ID=0; geed_id geek_name 0 Archimedes Tuesday, 22 May 2012
  • 42. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12
  • 43. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 Datomic
  • 44. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 Datomic ????: Datalog https://en.wikipedia.org/wiki/Datalog
  • 45. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 Datalog ???? ??? ??/?? RDF ??? ?? ?????
  • 46. ? 5? Lisp seminar @D2 STARTUP FACTORY, 2016.11.12 ?????! Facebook: @ksseono Twitter: @SeonhoKim