Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contributing to Crystal

Linda_pp
January 21, 2016

Contributing to Crystal

Contributing to being-developed language is so fun!

Linda_pp

January 21, 2016
Tweet

More Decks by Linda_pp

Other Decks in Programming

Transcript

  1. Crystal ͱ͸… • ݱࡏ 0.10.2 Ͱ։ൃதͷݴޠ • ഁյతมߋ͕ೖΓ·͘Γɼ·ͩ production ready

    Ͱ͸ͳ͍ʢ #1824 ʹͯ·ͨେ͖͍ม ߋ͕དྷͦ͏ʣ • ٯʹݴ͏ͱഁյతมߋΛ൐͏ఏҊͰ΋ൺֱ త؆୯ʹऔΓࠐ·ΕΔঢ়ଶ
  2. গ͚ͩ͠ 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
  3. Crystal ʹ contribute ͢Δํ๏ • ҰൠతͳϦϙδτϦͱಉ͡ • खݩͰमਖ਼ͯ͠ spec Λ࣮ߦͯ͠໰୊ແ͍ࣄΛ

    ֬ೝ͢Δ • ϓϧϦΫΛॻ͘ • େମ @asterite ͞ΜͷҰଘͰϚʔδʢυΩϡϝ ϯτमਖ਼΍؆୯ͳमਖ਼ͳΒ @jhass ͞Μ΋ʣ
  4. ஫ҙ఺ʢmakeʣ 1. ίϯύΠϥͷίʔυΛ͍͡Δ 2. make ͰίϯύΠϧ ← ෆద੾ͳίϯύΠϥAΛੜ ੒ʣ 3.

    1. ͷมߋ͕·͔ͣͬͨͷͰमਖ਼͢Δ 4. make ͰίϯύΠϧ ← ෆద੾ͳίϯύΠϥ A Λ ࢖ͬͯ৽ͨʹίϯύΠϥ B Λੜ੒ • ݁Ռͱͯ͠ग़དྷ্͕ͬͨίϯύΠϥ B ͸ਖ਼͠ ͘ಈ͔ͳ͍Մೳੑ͕͋Δ
  5. ·ͱΊ • ݴޠॲཧܥ͍͡Δͷ͸ָ͍͠ • Ͱ΋…ʢϋʔυϧ͕ʣ͓ߴ͍ΜͰ͠ΐ͏ʁ • Crystal ͳΒߴ͘ͳ͍ • Crystal

    ͳΒഁյతมߋͰ΋ؾܰʹϓϧϦΫͰ͖Δ • ΋ͪΖΜυΩϡϝϯτमਖ਼ͳͲ΋׻ܴ͞ΕΔ by ɹɹɹ@Linda_pp