Commit | Line | Data |
720accfe |
1 | <html> |
2 | <head> |
3 | <title>Moose - A postmodern object system for Perl 5</title> |
4 | <link rel="stylesheet" href="css/style.css" type="text/css" /> |
5 | <script language="javascript"> |
6 | function show_section (section_name) { |
7 | var el = document.getElementById(section_name); |
8 | if (el.style.display == 'none') { |
9 | el.style.display = 'block'; |
10 | } |
11 | else { |
12 | el.style.display = 'none'; |
13 | } |
14 | } |
15 | </script> |
16 | </head> |
17 | <body bgcolor="#EDDBB4" topmargin="0" leftmargin="0"> |
18 | |
b0d7fcc5 |
19 | <table cellspacing="0" cellpadding="0" border="0" align="center" width="600"> |
720accfe |
20 | <tr> |
21 | <td align="center"><img src="images/header.jpg" /></td> |
22 | </tr> |
23 | <tr> |
24 | <td bgcolor="#AB9974"> |
b0d7fcc5 |
25 | <table width="100%" cellspacing="0" cellpadding="0" border="0"><tr> |
720accfe |
26 | <td><img src="images/top_left.jpg" alt="" width="21" height="21" border="0" /></td> |
d719e844 |
27 | <td align="right"><img src="images/top_right.jpg" alt="" width="21" height="21" border="0" /></td> |
28 | </tr></table> |
29 | |
b0d7fcc5 |
30 | <div id="content"> |
31 | <p class="description"> |
720accfe |
32 | Moose is a <a target="_blank" href="http://www.perl.com/pub/a/1999/03/pm.html">postmodern |
33 | object system</a> for Perl 5 that takes the tedium out of writing object-oriented Perl. |
34 | It borrows all the best features from Perl 6, CLOS (LISP), Smalltalk, Java, BETA, OCaml, |
35 | Ruby and more, while still keeping true to its Perl 5 roots. |
36 | </p> |
b0d7fcc5 |
37 | <p class="description"> |
720accfe |
38 | Moose is <i>100% production ready</i> and in heavy use in a number of systems and growing every day. |
39 | Try it today! |
40 | </p> |
41 | <p> |
42 | <ul class="root_list"> |
d719e844 |
43 | |
b0d7fcc5 |
44 | <li><a class="list_header" onfocus="this.blur()" href="javascript:void(0)" onclick="show_section('download')">Download</a></li> |
720accfe |
45 | <ul class="sub_list" id="download"> |
46 | <li class="list_sub_header">CPAN</li> |
47 | <ul> |
b0d7fcc5 |
48 | <li><a target="_blank" href="http://search.cpan.org/dist/Moose/">Moose</a></li> |
d719e844 |
49 | <li><a target="_blank" href="http://search.cpan.org/dist/Task-Moose/">Task::Moose</a> - A collection of excellent Moose extensions</li> |
b0d7fcc5 |
50 | <li><a target="_blank" href="http://search.cpan.org/dist/Class-MOP/">Class::MOP</a> - The underlying meta object protocol on which Moose is built</li> |
51 | <li><a target="_blank" href="http://search.cpan.org/search?query=MooseX&mode=all">MooseX::*</a> - The Moose extensions</li> |
52 | <li><a target="_blank" href="http://cpants.perl.org/dist/used_by/Moose">CPAN Modules which use Moose</a></li> |
720accfe |
53 | </ul> |
756d8756 |
54 | <li class="list_sub_header">Git Repository</li> |
720accfe |
55 | <ul> |
756d8756 |
56 | <li>You can grab a copy of the Moose repository by typing: <tt>git clone git://jules.scsys.co.uk/gitmo/Moose.git</tt></li> |
b0d7fcc5 |
57 | <li><a target="_blank" href="https://jules.scsys.co.uk/gitweb/gitweb.cgi">GitWeb view</a></li> |
720accfe |
58 | </ul> |
59 | </ul> |
60 | |
b0d7fcc5 |
61 | <li><a class="list_header" onfocus="this.blur()" href="javascript:void(0)" onclick="show_section('support')">Support</a></li> |
720accfe |
62 | <ul class="sub_list" id="support"> |
63 | <li>#moose on irc.perl.org</li> |
64 | <li>Subscribe to <a href="mailto:moose-subscribe@perl.org">moose@perl.org</a>, or read the <a target="_blank" href="http://news.gmane.org/gmane.comp.lang.perl.moose">gmane archive</a></li> |
b0d7fcc5 |
65 | <li><a target="_blank" href="http://code2.0beta.co.uk/moose/svn/Moose-TM_bundle/trunk/">Moose TextMate Bundle</a></li> |
66 | <li><a target="_blank" href="http://users.ox.ac.uk/~oliver/data/files/moose-quick-ref.pdf">Moose Quick-Ref card</a></li> |
720accfe |
67 | </ul> |
d719e844 |
68 | |
b0d7fcc5 |
69 | <li><a class="list_header" onfocus="this.blur()" href="javascript:void(0)" onclick="show_section('articles')">Articles</a></li> |
720accfe |
70 | <ul class="sub_list" id="articles"> |
71 | |
bce7aa0f |
72 | <li class="list_sub_header">2009 Articles</li> |
73 | <ul> |
85b0f67d |
74 | <li><a target="_blank" href="http://www.dmclaughlin.com/2009/05/15/chained-accessors-in-moose/">David McLaughlin experiments with extending Moose for MooseX::ChainedAccessors</a></li> |
bce7aa0f |
75 | <li><a target="_blank" href="http://blog.sartak.org/2009/05/parameterized-roles.html">Shawn M Moore explains parameterized roles</a></li> |
d7cdbd7f |
76 | <li><a target="_blank" href="http://jjnapiorkowski.vox.com/library/post/top-ten-great-things-about-perl-moose-postmodern-object-system.html?_c=feed-atom">John Napiorkowski lists ten great things about Moose</a></li> |
85b0f67d |
77 | <li><a target="_blank" href="http://our.coldhardcode.com/jshirley/2009/05/another-reason-i-love-perl.html">Jay Shirley dotes on MooseX::MultiMethods</a></li> |
d281ddcf |
78 | <li><a target="_blank" href="http://www.modernperlbooks.com/mt/2009/05/perl-roles-versus-duck-typing.html">chromatic contrasts roles and duck-typing</a></li> |
79 | <li><a target="_blank" href="http://use.perl.org/~Ovid/journal/38885">Ovid discusses role problems and possible solutions</a></li> |
85b0f67d |
80 | <li><a target="_blank" href="http://samcrawley.wordpress.com/2009/05/03/getting-the-hang-of-moose-roles/">Sam Crawley summarizes his experience with roles</a></li> |
bce7aa0f |
81 | <li><a target="_blank" href="http://blog.sartak.org/2009/05/perl-critic-dynamic-moose.html">Shawn M Moore discusses Perl::Critic for Moose and linting with the MOP</a></li> |
85b0f67d |
82 | <li><a target="_blank" href="http://babyl.dyndns.org/techblog/2009/05/moose-attribute-meta-meddling.html">Yanick Champoux meddles with extending Moose attributes</a></li> |
d281ddcf |
83 | <li><a target="_blank" href="http://www.modernperlbooks.com/mt/2009/05/perl-roles-versus-inheritance.html">chromatic contrasts roles and inheritance</a></li> |
84 | <li><a target="_blank" href="http://use.perl.org/~Ovid/journal/38880">Ovid lists some best practices for role-based refactoring</a></li> |
bce7aa0f |
85 | <li><a target="_blank" href="http://chris.prather.org/perl/moose-dependencies-a-lurid-tale/">Chris Prather justifies each of Moose's dependencies</a></li> |
85b0f67d |
86 | <li><a target="_blank" href="http://zerothorder.blogspot.com/2009/04/chopping-proteins-with-moose.html">Bruno Vecchi praises Moose for making his protein analysis code easier</a></li> |
bce7aa0f |
87 | <li><a target="_blank" href="http://blog.sartak.org/2009/04/new-moose-warning-and-new-moose-critic.html">Shawn M Moore explains role composition and some bumps in the Moose design process</a></li> |
d281ddcf |
88 | <li><a target="_blank" href="http://use.perl.org/~Ovid/journal/38863">Ovid praises roles and their happy acceptance at the BBC</a></li> |
89 | <li><a target="_blank" href="http://perldition.org/articles/Implementing%20Typed%20Lexical%20Variables.pod">Florian Ragwitz walks through the marriage of MooseX::Types with Lexical::Types</a></li> |
90 | <li><a target="_blank" href="http://use.perl.org/~Ovid/journal/38862">Ovid eschews inheritance in favor of roles</a></li> |
91 | <li><a target="_blank" href="http://www.modernperlbooks.com/mt/2009/04/the-why-of-perl-roles.html">chromatic on The Why of Perl Roles</a></li> |
85b0f67d |
92 | <li><a target="_blank" href="http://chris.prather.org/why-moose-is-post-modern/">Chris Prather rationalizes Moose's "post modern" label</a></li> |
93 | <li><a target="_blank" href="http://jjnapiorkowski.vox.com/library/post/why-i-use-moose-perls-post-modern-object-system.html?_c=feed-atom">John Napiorkowski on why he uses Moose</a></li> |
d281ddcf |
94 | <li><a href="http://www.catalyzed.org/2009/04/catalyst-58-released.html">Tomas Doran interview about the new Moose-based Catalyst</a></li> |
95 | <li><a href="http://use.perl.org/~Ovid/journal/38785">Ovid praises role-based refactoring</a></li> |
dde0f6ad |
96 | <li><a target="_blank" href="http://blog.urth.org/2009/04/moose-docs-grant-wrap-up.html">Dave Rolsky's post-mortem on his Moose documentation grant</a> (<a href="http://www.perlfoundation.org/dave_rolsky_moose_docs">sponsored by the Perl Foundation</a>)</li> |
d7cdbd7f |
97 | <li><a target="_blank" href="http://blog.jrock.us/articles/Unshortening%20URLs%20with%20Modern%20Perl.pod">Jonathan Rockway uses many modern Moose extensions exemplifying Modern Perl</a></li> |
d281ddcf |
98 | <li><a target="_blank" href="http://use.perl.org/~acme/journal/38554?from=rss">Léon Brocard summarizes London.pm's "What is Moose and why is it the future?" meeting</a></li> |
bce7aa0f |
99 | </ul> |
100 | |
26e06906 |
101 | <li class="list_sub_header">2008 Articles</li> |
720accfe |
102 | <ul> |
d7cdbd7f |
103 | <li><a target="_blank" href="http://blog.jrock.us/articles/Liskov,%20Reuse,%20Inheritance,%20and%20Roles.pod">Jonathan Rockway discusses roles, inheritance, and Liskov's substitution principle</a></li> |
26e06906 |
104 | <li><a target="_blank" href="http://broadcast.oreilly.com/2008/11/beginners-introduction-to-obje.html">chomatic suggests Moose and Mouse in his Beginners Introduction to Object-Oriented Programming with Perl article</a></li> |
105 | <li><a target="_blank" href="http://hanekomu.at/blog/articles/20080924-1137-dissecting_the_moose.html">Marcel (hanekomu) Grünauer explores Moose in a series of articles</a></li> |
106 | <li><a target="_blank" href="http://www.slideshare.net/Tim.Bunce/perl-myths-200802-with-notes/">Tim Bunce's excellent Perl Myths talk gives a shout out to Moose</a></li> |
107 | <li><a target="_blank" href="http://trombik.mine.nu/~cherry/w/index.php/2008/03/22/1202/oop-with-moose">trombik writes an introduction to Moose in Japanese</a></li> |
108 | <li><a target="_blank" href="http://draegtun.wordpress.com/2008/03/12/doodling-with-moose-part-1/">Barry Walsh does an excellent comparison of Moose and Ruby (specifically the Doodle module)</a></li> |
720accfe |
109 | </ul> |
26e06906 |
110 | </li> |
111 | |
112 | |
113 | <li class="list_sub_header">2007 Articles</li> |
720accfe |
114 | <ul> |
26e06906 |
115 | <li><a target="_blank" href="http://blog.jrock.us/articles/Myth:%20Moose%20is%20an%20unnecessary%20dependency.pod">Jonathan Rockway discusses why Moose is a dependency worth having</a></li> |
116 | <li><a target="_blank" href="http://avatraxiom.livejournal.com/70947.html">Max Kanat-Alexander (of Bugzilla fame) has some nice things to say about Moose</a></li> |
117 | <li><a target="_blank" href="http://www.perl.com/pub/a/2007/12/06/soto-11.html?page=3">Larry mentioned Moose in 2007's State of the Onion speech</a></li> |
118 | <li>Matt Trout (of DBIx::Class and Catalyst fame) wrote a nice series of articles on designing Devel::REPL using Moose.</li> |
119 | <ul> |
120 | <li><a target="_blank" href="http://chainsawblues.vox.com/library/post/a-perl-read-excute-print-loop-repl.html">Writing a perl read-eval-print loop (REPL) - part 1</a></li> |
121 | <li><a target="_blank" href="http://chainsawblues.vox.com/library/post/writing-a-perl-read-eval-print-loop-repl---part-2.html">Writing a perl REPL part 2 - a history plugin</a></li> |
122 | <li><a target="_blank" href="http://chainsawblues.vox.com/library/post/writing-a-perl-repl-part-3---lexical-environments.html">Writing a perl REPL part 3 - lexical environments</a></li> |
123 | <li><a target="_blank" href="http://chainsawblues.vox.com/library/post/develrepl-part-4---script-options-rc-files-profiles-and-packaging.html">Devel::REPL part 4 - script options, rc files and profiles</a></li> |
124 | </ul> |
125 | <li><a target="_blank" href="http://foo-magazin.de/#d18">$foo Perl Magazine Winter 2007 has a Moose article</a></li> |
126 | <li>Randal Schwartz wrote a series of articles on Moose for Linux Magazine</li> |
127 | <ul> |
128 | <li><a target="_blank" href="http://www.stonehenge.com/merlyn/LinuxMag/col94.html">The Moose is Flying (part 1) (LinuxMag)</a></li> |
129 | <li><a target="_blank" href="http://www.stonehenge.com/merlyn/LinuxMag/col95.html">The Moose is Flying (part 2) (LinuxMag)</a></li> |
130 | </ul> |
720accfe |
131 | </ul> |
26e06906 |
132 | </li> |
133 | |
134 | <li class="list_sub_header">2006 Articles</li> |
135 | <ul> |
136 | <li><a target="_blank" href="http://www.oreillynet.com/onlamp/blog/2006/06/cpan_module_review_classmop.html">Class::MOP Review (OnLAMP)</a></li> |
137 | </ul> |
138 | </li> |
139 | |
720accfe |
140 | </ul> |
d719e844 |
141 | |
b0d7fcc5 |
142 | <li><a class="list_header" onfocus="this.blur()" href="javascript:void(0)" onclick="show_section('presentations')">Presentations</a></li> |
720accfe |
143 | <ul class="sub_list" id="presentations"> |
144 | |
138294a6 |
145 | <li class="list_sub_header">2009 Conferences</li> |
146 | <ul> |
61201a03 |
147 | <li><a target="_blank" href="http://sartak.org/talks/frozen-perl-2009/moose/">Shawn M Moore's Intro to Moose at Frozen Perl</a></li> |
138294a6 |
148 | </ul> |
149 | </li> |
150 | |
720accfe |
151 | <li class="list_sub_header">2008 Conferences</li> |
152 | <ul> |
61201a03 |
153 | <li><a target="_blank" href="hosted-presentations/2008/sunnavy-Beijing-Perl-Workshop.pdf">sunnavy's Moose talk at Beijing Perl Workshop</a></li> |
154 | <li><a target="_blank" href="hosted-presentations/2008/stevan-PPW/moose.xul">Stevan Little's Moose talk at Pittsburgh Perl Workshop</a></li> |
155 | <li><a target="_blank" href="hosted-presentations/2008/stevan-PPW/moose-manager.xul">Stevan Little's Manager's Guide to Moose at Pittsburgh Perl Workshop</a></li> |
156 | <li><a target="_blank" href="hosted-presentations/2008/stevan-OSCON/moose.xul">Stevan Little's Moose talk at OSCON</a></li> |
157 | <li><a target="_blank" href="hosted-presentations/2008/nothingmuch-NPW/practical_moose.html">Yuval Kogman's Practical Moose at Nordic Perl Workshop</a></li> |
158 | <li><a target="_blank" href="http://conferences.yapcasia.org/ya2008/talk/1017">Yuval Kogman's Practical Moose at YAPC::Asia (video)</a> <a href="hosted-presentations/2008/nothingmuch-YAPC-Asia/practical_moose.html">(slides)</a></li> |
159 | <li><a target="_blank" href="hosted-presentations/2008/stevan-YAPC-NA.pdf">Stevan Litt;e's Moose talk at YAPC::NA</a></li> |
160 | <li><a target="_blank" href="hosted-presentations/2008/nothingmuch-PTPW/practical_moose.html">Yuval Kogman's Practical Moose at Portuguese Perl Workshop</a></li> |
039a8adb |
161 | |
720accfe |
162 | </ul> |
163 | |
164 | <li class="list_sub_header">2007 Conferences</li> |
165 | <ul> |
61201a03 |
166 | <li><a target="_blank" href="hosted-presentations/2007/stevan-PPW/roles.xul">Stevan Little's Horizontal Reuse with Moose::Role at Pittsburgh Perl Workshop</a></li> |
167 | <li><a target="_blank" href="ppw_moose_slides/start.html">Stevan Little's Moose talk at Pittsburgh Perl Workshop</a></li> |
168 | <li><a target="_blank" href="hosted-presentations/2007/nothingmuch-YAPC-EU">Yuval Kogman's Object Meta Programming at YAPC::EU</a></li> |
169 | <li><a target="_blank" href="yapc_eu_2007_slides/start.html">Stevan Little's Moose talk at YAPC::EU</a></li> |
720accfe |
170 | </ul> |
171 | |
172 | <li class="list_sub_header">2006 Conferences</li> |
173 | <ul> |
61201a03 |
174 | <li><a target="_blank" href="http://utsl.gen.nz/talks/moose/start.html">Sam Vilain's Moose talk at OSDC Melbourne</a></li> |
175 | <li><a target="_blank" href="slides/start.html">Stevan Little's Moose talk at YAPC::NA</a></li> |
720accfe |
176 | </ul> |
177 | |
178 | <li class="list_sub_header">Perl Mongers Groups</li> |
179 | <ul> |
d281ddcf |
180 | <li><a target="_blank" href="http://www.slideshare.net/Ovid/refactoring-with-roles-1298185">Ovid's Refactoring with Roles at London.pm</a></li> |
d49c56de |
181 | <li><a target="_blank" href="http://www.weftsoar.net/~hdp/talk/meta-moose/slides/start.html">Hans Dieter Pearcey's Meta-Moose at PDX.pm</a></li> |
d281ddcf |
182 | <li><a target="_blank" href="http://www.bofh.org.uk/2009/05/13/london-pm-presentation">Piers Cawley's MooseX::Declare talk at London.pm (video)</a></li> |
61201a03 |
183 | <li><a target="_blank" href="http://www.slideshare.net/dtreder/moose-527243">Doug Treder's Moose talk at Seattle Perl Users Group</a></li> |
aeba60ce |
184 | <li><a target="_blank" href="http://www.slideshare.net/hakobe/moose">hakobe's Moose presentation at Kansai.pm</a></li> |
61201a03 |
185 | <li><a target="_blank" href="hosted-presentations/2008/notbenh-PDX.xul">Ben Hengst's Moose talk at PDX.pm</a> (<a target="_blank" href="http://pdxpm.podasp.com/archive.html">podcast</a>)</li> |
186 | <li><a target="_blank" href="http://chris.prather.org/talks/moose-intro-mpls/">Chris Prather's An Intro to Moose at Minneapolis Perl Mongers</a> |
187 | <li><a target="_blank" href="http://houston.pm.org/talks/2007talks/0704Talk/slides/start.html">Robert Boone's Moose talk at Houston.pm</a></li> |
188 | <li><a target="_blank" href="perl_ny_seminar_slides/start.html">Stevan Little's Moose talk at Perl Seminar, NY</a></li> |
720accfe |
189 | </ul> |
190 | |
191 | </ul> |
192 | |
b0d7fcc5 |
193 | <li><a class="list_header" onfocus="this.blur()" href="javascript:void(0)" onclick="show_section('misc')">Misc.</a></li> |
720accfe |
194 | <ul class="sub_list" id="misc"> |
195 | |
aeba60ce |
196 | <li><a target="_blank" href="http://www.ohloh.net/projects/moose">Moose on Ohloh</a></li> |
b0d7fcc5 |
197 | <li><a target="_blank" href="http://flickr.com/search/?w=all&q=moose+yapcna2006&m=tags">Moose@YAPC on Flickr</a></li> |
198 | <li><a target="_blank" href="http://www.perlmonks.org/index.pl?node_id=610130">Moose Poetry on PerlMonks</a></li> |
199 | <li><a target="_blank" href="images/class_mop_model.jpg">Class::MOP object model diagram</a></li> |
720accfe |
200 | |
201 | </ul> |
202 | </ul> |
203 | </p> |
204 | <br/> |
205 | <br/> |
206 | </div> |
207 | |
b0d7fcc5 |
208 | <table width="100%" cellspacing="0" cellpadding="0" border="0"><tr> |
720accfe |
209 | <td><img src="images/bottom_left.jpg" alt="" width="21" height="21" border="0" /></td> |
d719e844 |
210 | <td align="right"><img src="images/bottom_right.jpg" alt="" width="21" height="21" border="0" /></td> |
720accfe |
211 | </tr></table> |
212 | |
213 | </td> |
214 | </tr> |
215 | <tr> |
216 | <td> |
217 | <br/> |
b0d7fcc5 |
218 | <p class="copyright"> |
720accfe |
219 | Copyright © 2006 - 2008 Infinity Interactive |
220 | <br/><br/> |
221 | This library is free software; you can redistribute it <br/> |
222 | and/or modify it under the same terms as Perl itself. |
223 | </p> |
224 | <br/> |
225 | <br/> |
226 | <br/> |
227 | </td> |
228 | </tr> |
229 | </table> |
230 | </body> |
231 | </html> |
232 | |