SlideShare a Scribd company logo
1 of 25
Download to read offline
- D. A 0F )
) ( 1
H 9 C 4 4 9
About me
- D. A 0F )
About me
SNS
Twitter: @dbym4820
mail: aburatanitomoki@gmail.com
Facebook (Tomoki Aburatani)
Connpass: @tomabu
Github: dbym4820
- D. A 0F )
Interest
Common Lisp
Prolog
Elixir
PHP
Java
- D. A 0F )
Debian
Emacs
Firefox
Manga/Anime
Ontology
Conversation Agent
Lisp
(Kansai Lisp Users Group)
- D. A 0F )
Roles and Purposes
What is KLUG
A community that is formed together
people who interested in the programming
language named “Lisp”
Lisp
(Kansai Lisp Users Group)
- D. A 0F )
- D. A 0F )
Lisp
(Kansai Lisp Users Group)
Contact
- D. A 0F )
https://kansai-lisp-users.herokuapp.com/
/ 48
https://kansai-lisp-users.github.io/
2 4
Contact
- D. A 0F )
.4
https://www.facebook.com/groups/
1425860504132972/?ref=bookmarks
9
https://twitter.com/kansailispusers
4AA
https://kansai-lisp-useres.connpass.com/event/101484/
H) (
- D. A 0F )
Do you know Lisp ?
- D. A 0F )
Are you Lisp user?
Lisp is…
- D. A 0F )
✤ Full of parentheses
✤ Emacs(-Lisp)
✤ Out of order
✤ Academic usage only
…etc
Lisp is…
- D. A 0F )
✤ Full of parentheses
✤ Emacs
✤ Out of Order
✤ Academic usage only
…etc
Lisp in Recent Products
- D. A 0F ) ※Images are get from wikipedia
Lisp is
- D. A 0F )
Modern
Powerful
Beautiful
Language
- D. A 0F )
Is Lisp Difficult?
- D. A 0F )
Never!
Not at all!
- D. A 0F )
Lisp is very simple language
It is little bit difficult for novice
to learn because of
less opportunities to train
But
Introduce a Lisp Training Tool
“Lisp-Koans”
- D. A 0F )
Do you know
xx-Koans?
The Meaning of Koan
- D. A 0F )
1 7
Koan ( )
Wikipedia
The Meaning of Koan
- D. A 0F )
1 7
Koan ( )
Wikipedia
Drill
xx-Koans
- D. A 0F )
xx-Koans
- D. A 0F )
xx-Koans
- D. A 0F )
xx-Koans
- D. A 0F )
xx-Koans
- D. A 0F )
✤ Koan → ( )
✤ Mediation → ( )
✤ Thinking → ( )
✤ Expand awareness → ( )
✤ Enlightenment → ( )
Lisp-Koans
- D. A 0F ) https://github.com/google/lisp-koans
Lisp-Koans
- D. A 0F )
Common Lisp Koans is a language learning exercise in the same vein as the ruby
koans, python koans and others. It is a port of the prior koans with some
modifications to highlight lisp-specific features. Structured as ordered groups of
broken unit tests, the project guides the learner progressively through many
Common Lisp language features.
From Github
Common Lisp Koans Ruby-koans/Python-koans/
Lisp
CL
What is Common Lisp
- D. A 0F )
One of the Lisp dialect
✦ 1994 for ANSI Common Lisp
✦ Multi paradigm
✦ Static scope
✦ Dynamic development on REPL
What is Common Lisp
- D. A 0F )
Famous implementation
SBCL(Steal Bank Common Lisp)
CCL(Clozure CL)
ABCL(Armed Bear CL)
ACL(Alegro CL)
GCL(GNU CL)
ECL(Embeddable CL)
LispWorks
clisp
One of the Lisp dialect
What is Common Lisp
- D. A 0F )
Mediation Example
- D. A 0F )
Mediation Example
- D. A 0F )
- D. A 0F )
Feedback Example
- D. A 0F )
Feedback Example
Feedback Example
- D. A 0F )
Mediation
- D. A 0F )
Chapters of Lisp-Koan
- D. A 0F )
❖ arrays
❖ asserts
❖ atoms-vs-lists
❖ clos
❖ condition-handlers
❖ control-statements
❖ dice-project
❖ equality-distinctions
❖ evaluation
❖ extra-credit
❖ format
❖ functions
❖ hash-tables
❖ vectors
❖ variables-parameters-constants
❖ iteration
❖ lists
❖ loops
❖ macros
❖ mapcar-and-reduce
❖ multiple-values
❖ nil-false-empty
❖ scope-and-extent
❖ scoring-project
❖ special-forms
❖ strings
❖ structures
❖ threads
❖ triangle-project
❖ type-checking
- D. A 0F )
How to setup and use
Lisp-Koan
Setup Learning Environment
- D. A 0F )
Lisp-Koans is designed for Linux or MacOS
(It’s recommended to use virtual env software if you use windowssystem )
1. Download and setup HomeBrew or LinuxBrew
2. Install Roswell 3. Install fswatch
HomeBrew: https://brew.sh/ LinuxBrew: http://linuxbrew.sh/
brew install roswell brew install fswatch
5. Download Lisp-Koans
git clone https://github.com/google/lisp-koans.git
4. Making Path for Lisp Implementation
echo “export $PATH:$HOME/.roswell/impls/****/****/sbcl-bin/
1.4.4/bin”
Launch Lisp-koans (with file surveillance)
- D. A 0F )
MacOS: sh /path/to/lisp-koans/mediation-macos.sh
On Terminal Emulator
Linux: sh /path/to/lisp-koans/mediation-linux.sh
1. Launch lisp-koans surveilance agent
emacs /path/to/lisp-koans/koans/asserts.lsp
2. Open mediation target file with any text editor
(assert-true ___) → (assert-true t )
3. Edit(mediate) target file
TEST-TRUE-OR-FALSE requires more meditation
4. Check feedbacks
Mediation
- D. A 0F )
Mediation Example: format
- D. A 0F )
Mediation Example:extra-credit
- D. A 0F )
Impressions of Lisp-Koans
- D. A 0F )
It’s not good for absolute beginners
If they don’t know basic concept and syntax…
It’s not good for experts
There are not remarkable lessons for experts
It’s good for elementary learner
They can learn syntax and well-formed program in practical program
Less mediation codes
It’s not enough questions to understand CL. e.g.:
Information Sources of Common Lisp
- D. A 0F )
✦ Awesome-cl: https://awesome-cl.com/
✦ Quickdocs: http://quickdocs.org/
✦ Common Lisp Cookbook: http://cl-cookbook.sourceforge.net/
✦ LispHub: https://lisphub.jp/
✦ Common Lisp : http://ontolonomy.co.jp/books/
✦ Common Lisp Recipes: http://weitz.de/cl-recipes/
✦ Common Lisp
✦ Land of Lisp
Summary
- D. A 0F )
✤ Common Lisp is one of the direct of Lisp
✤ Common Lisp is not difficult at all
✤ Less good environment to learn Lisp
✤ Lisp-Koans is one of good learning material
✤ Lisp-Koans is designed for Elementary-Intermidiate level learners
✤ Not for absolute novice, not for advanced
✤ You can easily install lisp developing environment and Lisp-Koans
✤ Home(Linux)Brew→Roswell→SBCL
→fswatch
✤ Git→Lisp-Koans(Github)
Summary
- D. A 0F )
✤ Common Lisp is one of the direct of Lisp
✤ Common Lisp is not difficult at all
✤ Less good environment to learn Lisp
✤ Lisp-Koans is one of good learning material
✤ Lisp-Koans is designed for Elementary-Intermidiate level learners
✤ Not for absolute novice, not for advanced
✤ You can easily install lisp developing environment and Lisp-Koans
✤ Home(Linux)Brew→Roswell→SBCL
→fswatch
✤ Git→Lisp-Koans(Github)
Why don’t you dive into
the Lisp world with us?
- D. A 0F )

More Related Content

What's hot

Neural Architectures for Named Entity Recognition
Neural Architectures for Named Entity RecognitionNeural Architectures for Named Entity Recognition
Neural Architectures for Named Entity RecognitionRrubaa Panchendrarajan
 
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...DaeHyun Sung
 
Dependency Parsing-based QA System for RDF and SPARQL
Dependency Parsing-based QA System for RDF and SPARQLDependency Parsing-based QA System for RDF and SPARQL
Dependency Parsing-based QA System for RDF and SPARQLFariz Darari
 
Building Blocks for Accessing Multilingual Data: CLDR
Building Blocks for Accessing Multilingual Data: CLDRBuilding Blocks for Accessing Multilingual Data: CLDR
Building Blocks for Accessing Multilingual Data: CLDRSteven R. Loomis
 
NumPy and SciPy for Data Mining and Data Analysis Including iPython, SciKits,...
NumPy and SciPy for Data Mining and Data Analysis Including iPython, SciKits,...NumPy and SciPy for Data Mining and Data Analysis Including iPython, SciKits,...
NumPy and SciPy for Data Mining and Data Analysis Including iPython, SciKits,...Ryan Rosario
 
NABU - Multilingual Graph-based Neural RDF Verbalizer
NABU - Multilingual Graph-based Neural RDF VerbalizerNABU - Multilingual Graph-based Neural RDF Verbalizer
NABU - Multilingual Graph-based Neural RDF VerbalizerDiegoMoussallem
 
SPARQL and the Open Linked Data initiative
SPARQL and the Open Linked Data initiativeSPARQL and the Open Linked Data initiative
SPARQL and the Open Linked Data initiativeFulvio Corno
 
Creating R Packages
Creating R PackagesCreating R Packages
Creating R Packagesjalle6
 
LISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesLISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesDominic Graefen
 
ICANN 50: IDN Root Zone LGR Generation Panels Workshop
ICANN 50: IDN Root Zone LGR Generation Panels WorkshopICANN 50: IDN Root Zone LGR Generation Panels Workshop
ICANN 50: IDN Root Zone LGR Generation Panels WorkshopICANN
 
C++11 Was Only the Beginning
C++11 Was Only the BeginningC++11 Was Only the Beginning
C++11 Was Only the BeginningMateusz Pusz
 

What's hot (16)

Neural Architectures for Named Entity Recognition
Neural Architectures for Named Entity RecognitionNeural Architectures for Named Entity Recognition
Neural Architectures for Named Entity Recognition
 
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
 
Dependency Parsing-based QA System for RDF and SPARQL
Dependency Parsing-based QA System for RDF and SPARQLDependency Parsing-based QA System for RDF and SPARQL
Dependency Parsing-based QA System for RDF and SPARQL
 
Building Blocks for Accessing Multilingual Data: CLDR
Building Blocks for Accessing Multilingual Data: CLDRBuilding Blocks for Accessing Multilingual Data: CLDR
Building Blocks for Accessing Multilingual Data: CLDR
 
Practical NLP with Lisp
Practical NLP with LispPractical NLP with Lisp
Practical NLP with Lisp
 
Programming in hack
Programming in hackProgramming in hack
Programming in hack
 
NumPy and SciPy for Data Mining and Data Analysis Including iPython, SciKits,...
NumPy and SciPy for Data Mining and Data Analysis Including iPython, SciKits,...NumPy and SciPy for Data Mining and Data Analysis Including iPython, SciKits,...
NumPy and SciPy for Data Mining and Data Analysis Including iPython, SciKits,...
 
Python programming l2
Python programming l2Python programming l2
Python programming l2
 
NABU - Multilingual Graph-based Neural RDF Verbalizer
NABU - Multilingual Graph-based Neural RDF VerbalizerNABU - Multilingual Graph-based Neural RDF Verbalizer
NABU - Multilingual Graph-based Neural RDF Verbalizer
 
SPARQL and the Open Linked Data initiative
SPARQL and the Open Linked Data initiativeSPARQL and the Open Linked Data initiative
SPARQL and the Open Linked Data initiative
 
Introduction to R software, by Leire ibaibarriaga
Introduction to R software, by Leire ibaibarriaga Introduction to R software, by Leire ibaibarriaga
Introduction to R software, by Leire ibaibarriaga
 
Creating R Packages
Creating R PackagesCreating R Packages
Creating R Packages
 
OOPS Advanced
OOPS AdvancedOOPS Advanced
OOPS Advanced
 
LISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love ParanthesesLISP: How I Learned To Stop Worrying And Love Parantheses
LISP: How I Learned To Stop Worrying And Love Parantheses
 
ICANN 50: IDN Root Zone LGR Generation Panels Workshop
ICANN 50: IDN Root Zone LGR Generation Panels WorkshopICANN 50: IDN Root Zone LGR Generation Panels Workshop
ICANN 50: IDN Root Zone LGR Generation Panels Workshop
 
C++11 Was Only the Beginning
C++11 Was Only the BeginningC++11 Was Only the Beginning
C++11 Was Only the Beginning
 

Similar to Devfest kyoto2018 Lisp-Koans

Lisp, An Introduction.ppt
Lisp, An Introduction.pptLisp, An Introduction.ppt
Lisp, An Introduction.pptLuis Soza
 
LDAP : Theory and OpenLDAP implementation
LDAP : Theory and OpenLDAP implementationLDAP : Theory and OpenLDAP implementation
LDAP : Theory and OpenLDAP implementationOpen Source School
 
FISL XIV - The ELF File Format and the Linux Loader
FISL XIV - The ELF File Format and the Linux LoaderFISL XIV - The ELF File Format and the Linux Loader
FISL XIV - The ELF File Format and the Linux LoaderJohn Tortugo
 
Redesigning Common Lisp
Redesigning Common LispRedesigning Common Lisp
Redesigning Common Lispfukamachi
 
ADL Efforts Overview - xAPI Camp - Andy Johnson
ADL Efforts Overview - xAPI Camp - Andy JohnsonADL Efforts Overview - xAPI Camp - Andy Johnson
ADL Efforts Overview - xAPI Camp - Andy JohnsonAaron Silvers
 
Stuff we do with OSS in libraries (Bergen, 2009)
Stuff we do with OSS in libraries (Bergen, 2009)Stuff we do with OSS in libraries (Bergen, 2009)
Stuff we do with OSS in libraries (Bergen, 2009)Nicolas Morin
 
Switching from lispstat to r
Switching from lispstat to rSwitching from lispstat to r
Switching from lispstat to rAjay Ohri
 
Embrace dynamic PHP
Embrace dynamic PHPEmbrace dynamic PHP
Embrace dynamic PHPPaul Houle
 
A brief introduction to lisp language
A brief introduction to lisp languageA brief introduction to lisp language
A brief introduction to lisp languageDavid Gu
 
Open Source .NET
Open Source .NETOpen Source .NET
Open Source .NETOnyxfish
 
A Comparison Between Python APIs For RDF Processing
A Comparison Between Python APIs For RDF ProcessingA Comparison Between Python APIs For RDF Processing
A Comparison Between Python APIs For RDF Processinglucianb
 
LF_APIStrat17_Don't Repeat Yourself - Your API is Your Documentation
LF_APIStrat17_Don't Repeat Yourself - Your API is Your DocumentationLF_APIStrat17_Don't Repeat Yourself - Your API is Your Documentation
LF_APIStrat17_Don't Repeat Yourself - Your API is Your DocumentationLF_APIStrat
 
Presentation of OpenNLP
Presentation of OpenNLPPresentation of OpenNLP
Presentation of OpenNLPRobert Viseur
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxRogue Wave Software
 
OWL: Yet to arrive on the Web of Data?
OWL: Yet to arrive on the Web of Data?OWL: Yet to arrive on the Web of Data?
OWL: Yet to arrive on the Web of Data?Aidan Hogan
 

Similar to Devfest kyoto2018 Lisp-Koans (20)

intro.ppt
intro.pptintro.ppt
intro.ppt
 
intro.ppt
intro.pptintro.ppt
intro.ppt
 
Lisp, An Introduction.ppt
Lisp, An Introduction.pptLisp, An Introduction.ppt
Lisp, An Introduction.ppt
 
LDAP : Theory and OpenLDAP implementation
LDAP : Theory and OpenLDAP implementationLDAP : Theory and OpenLDAP implementation
LDAP : Theory and OpenLDAP implementation
 
FISL XIV - The ELF File Format and the Linux Loader
FISL XIV - The ELF File Format and the Linux LoaderFISL XIV - The ELF File Format and the Linux Loader
FISL XIV - The ELF File Format and the Linux Loader
 
Redesigning Common Lisp
Redesigning Common LispRedesigning Common Lisp
Redesigning Common Lisp
 
Lisp
LispLisp
Lisp
 
ADL Efforts Overview - xAPI Camp - Andy Johnson
ADL Efforts Overview - xAPI Camp - Andy JohnsonADL Efforts Overview - xAPI Camp - Andy Johnson
ADL Efforts Overview - xAPI Camp - Andy Johnson
 
Stuff we do with OSS in libraries (Bergen, 2009)
Stuff we do with OSS in libraries (Bergen, 2009)Stuff we do with OSS in libraries (Bergen, 2009)
Stuff we do with OSS in libraries (Bergen, 2009)
 
Switching from lispstat to r
Switching from lispstat to rSwitching from lispstat to r
Switching from lispstat to r
 
Embrace dynamic PHP
Embrace dynamic PHPEmbrace dynamic PHP
Embrace dynamic PHP
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 
A brief introduction to lisp language
A brief introduction to lisp languageA brief introduction to lisp language
A brief introduction to lisp language
 
Open Source .NET
Open Source .NETOpen Source .NET
Open Source .NET
 
A Comparison Between Python APIs For RDF Processing
A Comparison Between Python APIs For RDF ProcessingA Comparison Between Python APIs For RDF Processing
A Comparison Between Python APIs For RDF Processing
 
OOoCon Lpod
OOoCon LpodOOoCon Lpod
OOoCon Lpod
 
LF_APIStrat17_Don't Repeat Yourself - Your API is Your Documentation
LF_APIStrat17_Don't Repeat Yourself - Your API is Your DocumentationLF_APIStrat17_Don't Repeat Yourself - Your API is Your Documentation
LF_APIStrat17_Don't Repeat Yourself - Your API is Your Documentation
 
Presentation of OpenNLP
Presentation of OpenNLPPresentation of OpenNLP
Presentation of OpenNLP
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to Linux
 
OWL: Yet to arrive on the Web of Data?
OWL: Yet to arrive on the Web of Data?OWL: Yet to arrive on the Web of Data?
OWL: Yet to arrive on the Web of Data?
 

Recently uploaded

DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleCeline George
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 

Recently uploaded (20)

DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP Module
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 

Devfest kyoto2018 Lisp-Koans

  • 1. - D. A 0F ) ) ( 1 H 9 C 4 4 9 About me - D. A 0F )
  • 2. About me SNS Twitter: @dbym4820 mail: aburatanitomoki@gmail.com Facebook (Tomoki Aburatani) Connpass: @tomabu Github: dbym4820 - D. A 0F ) Interest Common Lisp Prolog Elixir PHP Java - D. A 0F ) Debian Emacs Firefox Manga/Anime Ontology Conversation Agent
  • 3. Lisp (Kansai Lisp Users Group) - D. A 0F ) Roles and Purposes What is KLUG A community that is formed together people who interested in the programming language named “Lisp” Lisp (Kansai Lisp Users Group) - D. A 0F )
  • 4. - D. A 0F ) Lisp (Kansai Lisp Users Group) Contact - D. A 0F ) https://kansai-lisp-users.herokuapp.com/ / 48 https://kansai-lisp-users.github.io/ 2 4
  • 5. Contact - D. A 0F ) .4 https://www.facebook.com/groups/ 1425860504132972/?ref=bookmarks 9 https://twitter.com/kansailispusers 4AA https://kansai-lisp-useres.connpass.com/event/101484/ H) (
  • 6. - D. A 0F ) Do you know Lisp ? - D. A 0F ) Are you Lisp user?
  • 7. Lisp is… - D. A 0F ) ✤ Full of parentheses ✤ Emacs(-Lisp) ✤ Out of order ✤ Academic usage only …etc Lisp is… - D. A 0F ) ✤ Full of parentheses ✤ Emacs ✤ Out of Order ✤ Academic usage only …etc
  • 8. Lisp in Recent Products - D. A 0F ) ※Images are get from wikipedia Lisp is - D. A 0F ) Modern Powerful Beautiful Language
  • 9. - D. A 0F ) Is Lisp Difficult? - D. A 0F ) Never! Not at all!
  • 10. - D. A 0F ) Lisp is very simple language It is little bit difficult for novice to learn because of less opportunities to train But Introduce a Lisp Training Tool “Lisp-Koans” - D. A 0F ) Do you know xx-Koans?
  • 11. The Meaning of Koan - D. A 0F ) 1 7 Koan ( ) Wikipedia The Meaning of Koan - D. A 0F ) 1 7 Koan ( ) Wikipedia Drill
  • 12. xx-Koans - D. A 0F ) xx-Koans - D. A 0F )
  • 13. xx-Koans - D. A 0F ) xx-Koans - D. A 0F )
  • 14. xx-Koans - D. A 0F ) ✤ Koan → ( ) ✤ Mediation → ( ) ✤ Thinking → ( ) ✤ Expand awareness → ( ) ✤ Enlightenment → ( ) Lisp-Koans - D. A 0F ) https://github.com/google/lisp-koans
  • 15. Lisp-Koans - D. A 0F ) Common Lisp Koans is a language learning exercise in the same vein as the ruby koans, python koans and others. It is a port of the prior koans with some modifications to highlight lisp-specific features. Structured as ordered groups of broken unit tests, the project guides the learner progressively through many Common Lisp language features. From Github Common Lisp Koans Ruby-koans/Python-koans/ Lisp CL What is Common Lisp - D. A 0F ) One of the Lisp dialect ✦ 1994 for ANSI Common Lisp ✦ Multi paradigm ✦ Static scope ✦ Dynamic development on REPL
  • 16. What is Common Lisp - D. A 0F ) Famous implementation SBCL(Steal Bank Common Lisp) CCL(Clozure CL) ABCL(Armed Bear CL) ACL(Alegro CL) GCL(GNU CL) ECL(Embeddable CL) LispWorks clisp One of the Lisp dialect What is Common Lisp - D. A 0F )
  • 17. Mediation Example - D. A 0F ) Mediation Example - D. A 0F )
  • 18. - D. A 0F ) Feedback Example - D. A 0F ) Feedback Example
  • 19. Feedback Example - D. A 0F ) Mediation - D. A 0F )
  • 20. Chapters of Lisp-Koan - D. A 0F ) ❖ arrays ❖ asserts ❖ atoms-vs-lists ❖ clos ❖ condition-handlers ❖ control-statements ❖ dice-project ❖ equality-distinctions ❖ evaluation ❖ extra-credit ❖ format ❖ functions ❖ hash-tables ❖ vectors ❖ variables-parameters-constants ❖ iteration ❖ lists ❖ loops ❖ macros ❖ mapcar-and-reduce ❖ multiple-values ❖ nil-false-empty ❖ scope-and-extent ❖ scoring-project ❖ special-forms ❖ strings ❖ structures ❖ threads ❖ triangle-project ❖ type-checking - D. A 0F ) How to setup and use Lisp-Koan
  • 21. Setup Learning Environment - D. A 0F ) Lisp-Koans is designed for Linux or MacOS (It’s recommended to use virtual env software if you use windowssystem ) 1. Download and setup HomeBrew or LinuxBrew 2. Install Roswell 3. Install fswatch HomeBrew: https://brew.sh/ LinuxBrew: http://linuxbrew.sh/ brew install roswell brew install fswatch 5. Download Lisp-Koans git clone https://github.com/google/lisp-koans.git 4. Making Path for Lisp Implementation echo “export $PATH:$HOME/.roswell/impls/****/****/sbcl-bin/ 1.4.4/bin” Launch Lisp-koans (with file surveillance) - D. A 0F ) MacOS: sh /path/to/lisp-koans/mediation-macos.sh On Terminal Emulator Linux: sh /path/to/lisp-koans/mediation-linux.sh 1. Launch lisp-koans surveilance agent emacs /path/to/lisp-koans/koans/asserts.lsp 2. Open mediation target file with any text editor (assert-true ___) → (assert-true t ) 3. Edit(mediate) target file TEST-TRUE-OR-FALSE requires more meditation 4. Check feedbacks
  • 22. Mediation - D. A 0F ) Mediation Example: format - D. A 0F )
  • 23. Mediation Example:extra-credit - D. A 0F ) Impressions of Lisp-Koans - D. A 0F ) It’s not good for absolute beginners If they don’t know basic concept and syntax… It’s not good for experts There are not remarkable lessons for experts It’s good for elementary learner They can learn syntax and well-formed program in practical program Less mediation codes It’s not enough questions to understand CL. e.g.:
  • 24. Information Sources of Common Lisp - D. A 0F ) ✦ Awesome-cl: https://awesome-cl.com/ ✦ Quickdocs: http://quickdocs.org/ ✦ Common Lisp Cookbook: http://cl-cookbook.sourceforge.net/ ✦ LispHub: https://lisphub.jp/ ✦ Common Lisp : http://ontolonomy.co.jp/books/ ✦ Common Lisp Recipes: http://weitz.de/cl-recipes/ ✦ Common Lisp ✦ Land of Lisp Summary - D. A 0F ) ✤ Common Lisp is one of the direct of Lisp ✤ Common Lisp is not difficult at all ✤ Less good environment to learn Lisp ✤ Lisp-Koans is one of good learning material ✤ Lisp-Koans is designed for Elementary-Intermidiate level learners ✤ Not for absolute novice, not for advanced ✤ You can easily install lisp developing environment and Lisp-Koans ✤ Home(Linux)Brew→Roswell→SBCL →fswatch ✤ Git→Lisp-Koans(Github)
  • 25. Summary - D. A 0F ) ✤ Common Lisp is one of the direct of Lisp ✤ Common Lisp is not difficult at all ✤ Less good environment to learn Lisp ✤ Lisp-Koans is one of good learning material ✤ Lisp-Koans is designed for Elementary-Intermidiate level learners ✤ Not for absolute novice, not for advanced ✤ You can easily install lisp developing environment and Lisp-Koans ✤ Home(Linux)Brew→Roswell→SBCL →fswatch ✤ Git→Lisp-Koans(Github) Why don’t you dive into the Lisp world with us? - D. A 0F )