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
Contributing to Crystal
Search
Linda_pp
January 21, 2016
Programming
540
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Contributing to Crystal
Contributing to being-developed language is so fun!
Linda_pp
January 21, 2016
More Decks by Linda_pp
See All by Linda_pp
actionlint の Linter 設計
rhysd
8
6.7k
ripgrep をライブラリとして使う
rhysd
0
790
port-monolith-to-wasm-for-chrome-extension
rhysd
0
590
Fuzzing Rust Text Editor
rhysd
1
3.1k
Vim compiled to WebAssembly
rhysd
5
2.4k
about-neovim-0.4.0-floating-window
rhysd
3
2.4k
reply.vim
rhysd
0
1.4k
Vim ported to WebAssembly (VimConf 2018)
rhysd
4
3.6k
go-selfupdate-github で ツールを自己アップデートする
rhysd
5
4.7k
Other Decks in Programming
See All in Programming
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
16k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
カツオ、ご期待ください
suneo3476
0
180
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
2
1.8k
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
370
contenteditable と日本語入力に向き合う
colorful12
0
190
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.1k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
170
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
210
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Google's AI Overviews - The New Search
badams
0
1.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Paper Plane
katiecoart
PRO
5
54k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
470
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
We Are The Robots
honzajavorek
0
400
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Transcript
Contributing to Crystal LT at ౦ژ Crystal ษڧձ #3 @Linda_pp
@rhysd
is:pr author:rhysd repo:manastech/crystal • Random::Mt19937 ࣮ • Array#transpose ࣮ •
ͦͷଞɼࡉ͔͍मਖ਼վળ • vim-crystal
Crystal ͱ… • ݱࡏ 0.10.2 Ͱ։ൃதͷݴޠ • ഁյతมߋ͕ೖΓ·͘Γɼ·ͩ production ready
Ͱͳ͍ʢ #1824 ʹͯ·ͨେ͖͍ม ߋ͕དྷͦ͏ʣ • ٯʹݴ͏ͱഁյతมߋΛ͏ఏҊͰൺֱ త؆୯ʹऔΓࠐ·ΕΔঢ়ଶ
ഁյతมߋͰൺֱత؆୯ʹ औΓࠐ·ΕΔ ޓੑʹनΘΕͣʹվળΛߟ͑ΒΕΔɽϓϧ ϦΫ࣌มߋͷྑ͠ѱ͠ʹूதͯٞ͠Ͱ͖ Δ ݴޠॲཧܥ͍͡Γ͍ͨʹͱָ͍ͬͯ͠ʂ
✌('ω'✌ )ࡾ✌('ω')✌ࡾ( ✌'ω')✌
গ͚ͩ͠ Crystal ͷίϯύΠϥʹ ͍ͭͯ • Crystal Ͱॻ͔Ε͍ͯΔʢself hostedʣ • AST
ͷఆٛʢ·ͣσʔλߏΛΔ͖ʣɹɹɹɹɹɹɹ crystal/src/compiler/crystal/semantic/ast.cr • LexerɼParser ͱͯૉͳ࣮ͰಡΈ͍͢ɽߏจΛՃɾ मਖ਼͍ͨ͠ͳΒ͜͜Λ͍͡Δɹɹɹɹɹɹɹɹɹɹɹɹɹ crystal/src/compiler/crystal/syntax • ίʔυੜ LLVM ͷ C binding Λݺͼग़͍ͯͬͯ͠Δ ʢLLVM IR Builder)ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ crystal/src/compiler/crystal/codegen
Crystal ʹ contribute ͢Δํ๏ • ҰൠతͳϦϙδτϦͱಉ͡ • खݩͰमਖ਼ͯ͠ spec Λ࣮ߦͯ͠ແ͍ࣄΛ
֬ೝ͢Δ • ϓϧϦΫΛॻ͘ • େମ @asterite ͞ΜͷҰଘͰϚʔδʢυΩϡϝ ϯτमਖ਼؆୯ͳमਖ਼ͳΒ @jhass ͞Μʣ
ҙʢmakeʣ • make (crystal/bin/crystal) ίϯύΠϧͨ͠ίϯύΠ ϥͰίϯύΠϧ͢Δ • ↓Ͳ͕͜·͍͔͔ͣΓ·͔͢ʁ 1. ίϯύΠϥͷίʔυΛ͍͡Δ
2. make ͰίϯύΠϧ 3. 1. ͷมߋ͕·͔ͣͬͨͷͰमਖ਼͢Δ 4. make ͰίϯύΠϧ
ҙʢmakeʣ 1. ίϯύΠϥͷίʔυΛ͍͡Δ 2. make ͰίϯύΠϧ ← ෆదͳίϯύΠϥAΛੜ ʣ 3.
1. ͷมߋ͕·͔ͣͬͨͷͰमਖ਼͢Δ 4. make ͰίϯύΠϧ ← ෆదͳίϯύΠϥ A Λ ͬͯ৽ͨʹίϯύΠϥ B Λੜ • ݁Ռͱͯ͠ग़དྷ্͕ͬͨίϯύΠϥ B ਖ਼͠ ͘ಈ͔ͳ͍Մೳੑ͕͋Δ
ͳΔ΄ͲΘ͔ΒΜ ϓϧϦΫϒϥϯνʹ push ͢Δલʹɼͻͱ· ͣ make clean ͔ͯ͠Β make ͯ͠ςετ͕
௨Δ͔֬ೝ͢Ε OK
·ͱΊ • ݴޠॲཧܥ͍͡Δͷָ͍͠ • Ͱ…ʢϋʔυϧ͕ʣ͓ߴ͍ΜͰ͠ΐ͏ʁ • Crystal ͳΒߴ͘ͳ͍ • Crystal
ͳΒഁյతมߋͰؾܰʹϓϧϦΫͰ͖Δ • ͪΖΜυΩϡϝϯτमਖ਼ͳͲܴ͞ΕΔ by ɹɹɹ@Linda_pp