Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: native_client_sdk/src/doc/reference/ideas.rst

Issue 909383002: NaCl docs: add project ideas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Expand. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « native_client_sdk/src/doc/faq.rst ('k') | native_client_sdk/src/doc/sitemap.rst » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 .. _ideas:
2
3 =================
4 Contributor Ideas
5 =================
6
7 .. contents::
8 :local:
9 :backlinks: none
10 :depth: 3
11
12 Contributing? Me‽
13 =================
14
15 NaCl and PNaCl are very big projects: they expose an entire operating system to
16 developers, interact with all of the Web platform, and deal with compilers
17 extensively to allow code written in essentially any programming language to
18 execute on a variety of CPU architectures. This can be daunting when trying to
19 figure out how to contribute to the open-source project! This page tries to make
20 contributing easier by listing project ideas by broad area of interest, and
21 detailing the required experience and expectations for each idea.
22
23 This isn't meant to constrain contributions! If you have ideas that aren't on
24 this page please contact the native-client-discuss_ mailing list.
25
26 If you like an idea on this page and would like to get started, contact the
27 native-client-discuss_ mailing list so that we can help you find a mentor.
28
29 .. _native-client-discuss: https://groups.google.com/group/native-client-discuss
30
31 Ideas
32 =====
33
34 We've separated contributor ideas into broad areas of interest:
35
36 * **Ports** encompass all the code that *uses* the PNaCl platform. Put simply,
37 the point of ports is to make existing open-source code work.
38 * **Programming languages** sometimes involves compiler work, and sometimes
39 requires getting an interpreter and its APIs to work well within the Web
40 platform.
41 * **LLVM and PNaCl** requires compiler work: PNaCl is based on the LLVM
42 toolchain, and most of the work in this area would occur in the upstream LLVM
43 repository.
44 * **NaCl** mostly deals with low-level systems work and security.
45
46
47 ..
48 Adding a proposal to this document should follow this format:
49 Project: *project title*
50 Brief explanation: *brief description*
51 Expected results: *how do we evaluate the project's success?*
52 Knowledge Prerequisite: *programming languages, CS topics, ...*
53 Mentor: *one or multiple, their roles in this project*
54 The above list is inspired by the Google Summer of Code guidelines, and the
55 KDE project list.
56
57 Ports
58 -----
59
60
61 Languages
62 ---------
63
64 PNaCl already has support for C and C++, and virtual machines such as
65 JavaScript, Lua, Python and Ruby. We'd like to support more languages, either by
66 having these languages target LLVM bitcode or by making sure that the language
67 virtual machine's APIs work well on the Web platform.
68
69 Rust
70 ^^^^
71
72 * **Project:** Support the Rust programming languages
73 * **Brief explanation:** The Rust_ programming language uses LLVM. The aim of
74 this project is to allow it to deliver PNaCl ``.pexe`` files.
75 * **Expected results:** The Rust test suite passes within the browser. How to
76 use Rust to target PNaCl is well documented and easy to do.
77 * **Knowledge Prerequisite:** Compilers, LLVM.
78 * **Mentor:** Ben Smith.
79
80 .. _Rust: http://www.rust-lang.org
81
82 Haskell
83 ^^^^^^^
84
85 * **Project:** Support the Haskell programming language
86 * **Brief explanation:** GHC_ targets LLVM. The aim of this project is to allow
87 it to deliver PNaCl ``.pexe`` files. One interesting difficulty will be to
88 ensure that tail call optimization occurs properly in all targets.
89 * **Expected results:** The Haskell test suite passes within the browser. How to
90 use Haskell to target PNaCl is well documented and easy to do.
91 * **Knowledge Prerequisite:** Compilers, LLVM.
92 * **Mentor:** Ben Smith.
93
94 .. _GHC:
95 http://www.haskell.org/ghc/docs/latest/html/users_guide/code-generators.html
96
97 Julia
98 ^^^^^
99
100 * **Project:** Support the Julia programming language
101 * **Brief explanation:** Julia_ targets LLVM, but it does so through LLVM's
102 Just-in-Time compiler which PNaCl doens't support. The aim of this project is
103 to allow it to deliver PNaCl ``.pexe`` files.
104 * **Expected results:** The Julia test suite passes within the browser. How to
105 use Julia to target PNaCl is well documented and easy to do.
106 * **Knowledge Prerequisite:** Compilers, LLVM.
107 * **Mentor:** Ben Smith.
108
109 .. _Julia: http://julialang.org
110
111 Scala
112 ^^^^^
113
114 * **Project:** Support the Scala programming language
115 * **Brief explanation:** The aim of this project is to allow Scala_ to deliver
116 PNaCl ``.pexe`` files.
117 * **Expected results:** The Scala test suite passes within the browser. How to
118 use Scala to target PNaCl is well documented and easy to do.
119 * **Knowledge Prerequisite:** Compilers.
120 * **Mentor:** Ben Smith.
121
122 .. _Scala: http://www.scala-lang.org
123
124 Mono
125 ^^^^
126
127 * **Project:** Support C# running inside Mono
128 * **Brief explanation:** C# is traditionally a Just-in-Time compiled language,
129 the aim of this project is to be able to run C# code withing Mono_ while
130 compiling ahead-of-time.
131 * **Expected results:** The Mono test suite passes within the browser. How to
132 use Mono to target PNaCl is well documented and easy to do.
133 * **Knowledge Prerequisite:** Compilers.
134 * **Mentor:** Ben Smith.
135
136 .. _Mono: http://www.mono-project.com
137
jvoung (off chromium) 2015/02/11 18:53:45 elm-lang
JF 2015/02/11 23:30:15 Done.
138 LLVM and PNaCl
139 --------------
140
jvoung (off chromium) 2015/02/11 18:53:45 Some sandbox-related optimizations? E.g., compiler
JF 2015/02/11 23:30:15 Done.
141
142 NaCl
143 ----
OLDNEW
« no previous file with comments | « native_client_sdk/src/doc/faq.rst ('k') | native_client_sdk/src/doc/sitemap.rst » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698