Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Perl6 ecosystem
Search
Shoichi Kaji
March 03, 2018
Programming
1
1.4k
Perl6 ecosystem
YAPC::Okinawa 2018 ONNASON 03/03
Shoichi Kaji
March 03, 2018
Tweet
Share
More Decks by Shoichi Kaji
See All by Shoichi Kaji
Parallel::Pipesの紹介
skaji
2
890
宿泊予約サイトにおける検索と料金計算の両立
skaji
2
3.8k
昔のGo, 今のGo ~比較, ソート編~
skaji
0
230
Perl Quiz
skaji
0
140
cpm at PerlCon 2019
skaji
0
110
Perl5 Package Manager
skaji
0
720
Internal of cpm
skaji
0
620
How to execute external programs in Perl
skaji
3
650
Writing Perl with w0rp/ale
skaji
0
2.3k
Other Decks in Programming
See All in Programming
【TSkaigi 2025】これは型破り?型安全? 真実はいつもひとつ!(じゃないかもしれない)TypeScript クイズ〜〜〜〜!!!!!
kimitashoichi
1
300
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
150
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
460
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
6
1.3k
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
4
500
型安全RESTで爆速プロトタイピング – Hono RPC実践
tacke_jp
0
110
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
250
Step up the performance game with Spring Boot and Project Leyden
mhalbritter
0
170
TypeScript LSP の今までとこれから
quramy
1
450
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
170
RubyKaigiで得られる10の価値 〜Ruby話を聞くことだけが RubyKaigiじゃない〜
tomohiko9090
0
130
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
460
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Language of Interfaces
destraynor
158
25k
Adopting Sorbet at Scale
ufuk
77
9.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
It's Worth the Effort
3n
184
28k
Speed Design
sergeychernyshev
30
980
Balancing Empowerment & Direction
lara
1
100
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.4k
Scaling GitHub
holman
459
140k
Transcript
Perl6ͷecosystem Shoichi Kaji
Me • Shoichi Kaji • CPAN, github: skaji • Perl5:
cpm • Perl6: mi6
͡Ίʹ • 2015ΫϦεϚε Perl6ϦϦʔε • ຊͰtokuhirom͞Μ͕த৺ͱͳΓ Plack cloneͰ͋ΔCrustΛ࡞ͬͨΓͯ͠Γ্͕ͬͨ • ϦϦʔε͔Β23ϲ݄ܦա
• ண࣮ʹ҆ఆੑɺ͕վળ͖ͯͨ͠ • ecosystem·ΘΓมԽɻࠓ͜͜Λհ͍ͨ͠
Contents • ecosystemͱ? • ecosystem: Perl5 • ecosystem: ϦϦʔε࣌ͷPerl6 •
ecosystem: ࠓͷPerl6 • Perl6 moduleͷΦʔαϦϯά • ·ͱΊ • Perl6 ecosystemͷࠓޙ
ecosystemͱ? • ͜͜Ͱʮ࠶ར༻ՄೳͳϓϩάϥϜͷɺΠϯετʔϧͷΈʯͱ ͢Δ • PerlͰʮ࠶ར༻ՄೳͳϓϩάϥϜʯͱmoduleɺͦ͘͠ΕΛ·ͱ ΊͨdistributionͰ͋Δ • ecosystemͷதͰҎԼʹண͢Δ •
ॴ • index • installer
Perl5 • ॴ • CPAN (via PAUSE) • Index •
02packages.details.txt created by PAUSE • cpanmetadb • metacpan • installer • CPAN.pm, CPANPLUS, cpanminus
ϦϦʔε࣌ͷPerl6 • ॴ • github • index • https://github.com/perl6/ecosystem ͷMETA.list
PRͰՃ • installer • panda
ࠓͷPerl6 • ॴ • CPAN (via PAUSE) • index •
App::ecogen • installer • zef
ࠓͷPerl6 - PAUSE • CPANʹPerl5 distribution͋ΔͷͰɺ୯७ʹPerl6 distributionupload͢Δͱ໊લ͕িಥͯ͠͠·͏ɻͲ͏͢Δ͔ • PAUSEʹdistribution͕upload͞Εͨͱ͖ •
META6.jsonΛؚΉ߹ɺPerl6 distributionͱஅ • ͦͷͱ͖ɺࣗಈతʹ S/SK/SKAJI/Perl6/ ҎԼʹஔ • ࠓͷͱ͜ΖɺPerl6σΟϨΫϦҎԼʹஔ͢ΔҎ֎ɺ ಛผͳૢ࡞͍ͯ͠ͳ͍
ࠓͷPerl6 - App::ecogen • ఆظతʹCPANΛrsyncͯ͠ Perl6 distributionͷindexΛ࡞͍ͬͯΔ • ڧ͍:)
ࠓͷPerl6 - zef • A module installer by Nick Logan
(ugexe) • Perl6ͷfeatureΛ;ΜͩΜʹͬͨ ͷߴ͍module installer • rakudoͷbugͷworkaround͕ ݁ߏೖ͍ͬͯΔҹ:)
Perl6 moduleͷΦʔαϦϯά • ecosystemΘ͔ͬͨɻͰͲ͏ͬͯ Perl6 moduleΛॻ͍͍͔ͯ͘ • mi6 • Minilla/Dist::Milla
clone • Now it has "release" command that uploads distributions to CPAN!
Perl6 moduleͷΦʔαϦϯά › mi6 new Your::Module # hack, hack, hack!
› cd Your::Module; vim lib/Your/Module.pm › mi6 release ==> Release distribution to CPAN There are 11 steps: * Step 1. CheckChanges * Step 2. CheckOrigin * Step 3. CheckUntrackedFiles * Step 4. BumpVersion * Step 5. RegenerateFiles * Step 6. DistTest * Step 7. MakeDist * Step 8. UploadToCPAN * Step 9. RewriteChanges * Step10. GitCommit * Step11. CreateGitTag distributionͷ εέϧτϯ࡞͔Β CPANͷupload·Ͱ Ͱ͖Δ
·ͱΊ • ࠓͷPerl6ͷecosystemԼه3͔ͭΒͳΔ • CPAN (via PAUSE) • App::ecogen •
zef • mi6Λ͏͜ͱͰ؆୯ʹPerl6 moduleͷ ΦʔαϦϯάɺCPANͷupload͕Ͱ͖Δ
Perl6 ecosystemͷࠓޙ • PAUSEͰindex࡞? • Ұ࣌ظFROGGS͞Μ͕PAUSEʹPerl6 moduleઐ༻ͷ ॲཧΛ࣮͠Α͏ͱ͍ͯͨ͠ɻͦΕ͕ਐΉ͔ • CPAN
Testersͱͷ࿈ܞ? • Perl Toolchain Summit 2017Ͱগ͠ਐల͕͋ͬͨ • MetaCPANͱͷ࿈ܞ?