Slide 1

Slide 1 text

@THE_UHOOI ࠷ݹͷؔ਺ܕݴޠʮLISPʯ͜ͱ͸͡Ί 2024/07/14(೔) ਆࢁ.swift

Slide 2

Slide 2 text

એ఻ᶃ: NEOVIM × SWIFTͷهࣄΛدߘ͠·ͨ͠

Slide 3

Slide 3 text

એ఻ᶄ: IOSDC JAPAN 2024ʹొஃ͠·͢

Slide 4

Slide 4 text

஫ҙ ▸ Swift΍iOSΞϓϦ։ൃͱҰ੾ؔ܎͋Γ·ͤΜ ▸ ΈΜͳ͕Θ͔Βͳ͍࿩Λ͠·͢ ▸ Ωʔϫʔυ͚ͩͰ΋֮͑ͯؼͬͯ΋Β͑ͨΒ޾͍Ͱ͢

Slide 5

Slide 5 text

LISPΛฉ͍ͨ͜ͱ͕ ͋Δਓʙʁ🙋

Slide 6

Slide 6 text

LISPΛ৮ͬͨ͜ͱ͕ ͋Δਓʙʁ🙋

Slide 7

Slide 7 text

ࢲ͸·ͩLISPΛ৮ͬͨ͜ͱ͕ ͋Γ·ͤΜ🥹

Slide 8

Slide 8 text

ʮLISPʯͱ͸ʁ ▸ ੈքॳͷؔ਺ܕݴޠ ▸ ࣮ଶ͸ؔ਺ܕݴޠͷಛ௃Λඋ͑ͨखଓ͖ܕݴޠʢΒ͍͠ʣ ▸ 1958೥ʹJohn McCarthyʢδϣϯɾϚοΧʔγʔʣ͕ੜΈग़ͨ͠ ▸ ʮLISt Processing languageʯͷུ

Slide 9

Slide 9 text

LISPͷํݴ

Slide 10

Slide 10 text

LISPͷओͳํݴʢ3ͭʣ ▸ Common Lisp ▸ Scheme ▸ Emacs Lisp

Slide 11

Slide 11 text

LISP͕࢖ΘΕ͍ͯΔͱ͜Ζ ▸ tree-sitterͷύʔαʢSchemeʣ ▸ EmacsͷઃఆϑΝΠϧʢEmacs Lispʣ ͜ͷ2ͭΛॻ͚ΔΑ͏ʹͳΓ͍ͨͷ͕ LISPΛֶͿϞνϕͰ͢ʂ

Slide 12

Slide 12 text

LISPͷจ๏ʢগ͚ͩ͠ʣ - ATOMʢΞτϜʣ ▸ AtomʢΞτϜʣ ▸ ࠷খ୯Ґ ▸ ྫ: 1, ਆࢁ

Slide 13

Slide 13 text

LISPͷจ๏ʢগ͚ͩ͠ʣ - LISTʢϦετʣ ▸ ListʢϦετʣ ▸ ΞτϜΛ૊Έ߹ΘͤͯϦετΛ࡞Δ ▸ ΞτϜΛؙΧοίͰׅΔ ▸ ྫ1: (7 14 ਆࢁ) ▸ Ϧετ΋ϦετͷཁૉʹͳΔ ▸ ྫ2: ((7 (14 15)) ਆࢁ)

Slide 14

Slide 14 text

LISPϑΝΠϧͷྫʢTREE-SITTERύʔαʣ ; Definitions (clazz (identifier) @local.definition) (typeAlias (identifier) @local.definition) (classMethod (methodHeader (identifier)) @local.definition) tree-sitter-pkl/queries/locals.scm

Slide 15

Slide 15 text

Φεεϝͷॻ੶΍αΠτ ॻ੶ ▸ ʰॳΊͯͷਓͷͨΊͷLISPʱ ▸ ոจॻ ▸ ʰLand of Lispʱ ▸ ͓ͦΒ͘ոจॻͰ͸ͳ͍

Slide 16

Slide 16 text

Φεεϝͷॻ੶΍αΠτ αΠτ ▸ Lispͷਅ࣮ ▸ http://www.aoky.net/articles/leon_bambrick/lisp_truth.htm ▸ ոจॻ ▸ ී௨ͷ΍ͭΒͷ্Λߦ͚ ▸ https://practical-scheme.net/trans/beating-the-averages-j.html ▸ ոจॻ

Slide 17

Slide 17 text

͓·͚ VIM-JPͷSLACKʹೖΖ͏ ▸ ΤϯδχΞͷָԂ ▸ Φεεϝνϟϯωϧ ▸ #lang-swift ▸ #times-uhooi

Slide 18

Slide 18 text

͓·͚ VIM-JPͷSLACKʹೖΖ͏ ▸ ઌि͔ΒϥδΦ͕࢝·ͬͨ ▸ https://audee.jp/program/show/300008578

Slide 19

Slide 19 text

ҰॹʹLISP΍EMACSΛษڧ͠·ͤΜ͔ʁ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠