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

Unified 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 side-by-side diff with in-line comments
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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: native_client_sdk/src/doc/reference/ideas.rst
diff --git a/native_client_sdk/src/doc/reference/ideas.rst b/native_client_sdk/src/doc/reference/ideas.rst
new file mode 100644
index 0000000000000000000000000000000000000000..5b66d601894cac0cd2ee9595456d0228676d8b7c
--- /dev/null
+++ b/native_client_sdk/src/doc/reference/ideas.rst
@@ -0,0 +1,143 @@
+.. _ideas:
+
+=================
+Contributor Ideas
+=================
+
+.. contents::
+ :local:
+ :backlinks: none
+ :depth: 3
+
+Contributing? Me‽
+=================
+
+NaCl and PNaCl are very big projects: they expose an entire operating system to
+developers, interact with all of the Web platform, and deal with compilers
+extensively to allow code written in essentially any programming language to
+execute on a variety of CPU architectures. This can be daunting when trying to
+figure out how to contribute to the open-source project! This page tries to make
+contributing easier by listing project ideas by broad area of interest, and
+detailing the required experience and expectations for each idea.
+
+This isn't meant to constrain contributions! If you have ideas that aren't on
+this page please contact the native-client-discuss_ mailing list.
+
+If you like an idea on this page and would like to get started, contact the
+native-client-discuss_ mailing list so that we can help you find a mentor.
+
+.. _native-client-discuss: https://groups.google.com/group/native-client-discuss
+
+Ideas
+=====
+
+We've separated contributor ideas into broad areas of interest:
+
+* **Ports** encompass all the code that *uses* the PNaCl platform. Put simply,
+ the point of ports is to make existing open-source code work.
+* **Programming languages** sometimes involves compiler work, and sometimes
+ requires getting an interpreter and its APIs to work well within the Web
+ platform.
+* **LLVM and PNaCl** requires compiler work: PNaCl is based on the LLVM
+ toolchain, and most of the work in this area would occur in the upstream LLVM
+ repository.
+* **NaCl** mostly deals with low-level systems work and security.
+
+
+..
+ Adding a proposal to this document should follow this format:
+ Project: *project title*
+ Brief explanation: *brief description*
+ Expected results: *how do we evaluate the project's success?*
+ Knowledge Prerequisite: *programming languages, CS topics, ...*
+ Mentor: *one or multiple, their roles in this project*
+ The above list is inspired by the Google Summer of Code guidelines, and the
+ KDE project list.
+
+Ports
+-----
+
+
+Languages
+---------
+
+PNaCl already has support for C and C++, and virtual machines such as
+JavaScript, Lua, Python and Ruby. We'd like to support more languages, either by
+having these languages target LLVM bitcode or by making sure that the language
+virtual machine's APIs work well on the Web platform.
+
+Rust
+^^^^
+
+* **Project:** Support the Rust programming languages
+* **Brief explanation:** The Rust_ programming language uses LLVM. The aim of
+ this project is to allow it to deliver PNaCl ``.pexe`` files.
+* **Expected results:** The Rust test suite passes within the browser. How to
+ use Rust to target PNaCl is well documented and easy to do.
+* **Knowledge Prerequisite:** Compilers, LLVM.
+* **Mentor:** Ben Smith.
+
+.. _Rust: http://www.rust-lang.org
+
+Haskell
+^^^^^^^
+
+* **Project:** Support the Haskell programming language
+* **Brief explanation:** GHC_ targets LLVM. The aim of this project is to allow
+ it to deliver PNaCl ``.pexe`` files. One interesting difficulty will be to
+ ensure that tail call optimization occurs properly in all targets.
+* **Expected results:** The Haskell test suite passes within the browser. How to
+ use Haskell to target PNaCl is well documented and easy to do.
+* **Knowledge Prerequisite:** Compilers, LLVM.
+* **Mentor:** Ben Smith.
+
+.. _GHC:
+ http://www.haskell.org/ghc/docs/latest/html/users_guide/code-generators.html
+
+Julia
+^^^^^
+
+* **Project:** Support the Julia programming language
+* **Brief explanation:** Julia_ targets LLVM, but it does so through LLVM's
+ Just-in-Time compiler which PNaCl doens't support. The aim of this project is
+ to allow it to deliver PNaCl ``.pexe`` files.
+* **Expected results:** The Julia test suite passes within the browser. How to
+ use Julia to target PNaCl is well documented and easy to do.
+* **Knowledge Prerequisite:** Compilers, LLVM.
+* **Mentor:** Ben Smith.
+
+.. _Julia: http://julialang.org
+
+Scala
+^^^^^
+
+* **Project:** Support the Scala programming language
+* **Brief explanation:** The aim of this project is to allow Scala_ to deliver
+ PNaCl ``.pexe`` files.
+* **Expected results:** The Scala test suite passes within the browser. How to
+ use Scala to target PNaCl is well documented and easy to do.
+* **Knowledge Prerequisite:** Compilers.
+* **Mentor:** Ben Smith.
+
+.. _Scala: http://www.scala-lang.org
+
+Mono
+^^^^
+
+* **Project:** Support C# running inside Mono
+* **Brief explanation:** C# is traditionally a Just-in-Time compiled language,
+ the aim of this project is to be able to run C# code withing Mono_ while
+ compiling ahead-of-time.
+* **Expected results:** The Mono test suite passes within the browser. How to
+ use Mono to target PNaCl is well documented and easy to do.
+* **Knowledge Prerequisite:** Compilers.
+* **Mentor:** Ben Smith.
+
+.. _Mono: http://www.mono-project.com
+
jvoung (off chromium) 2015/02/11 18:53:45 elm-lang
JF 2015/02/11 23:30:15 Done.
+LLVM and PNaCl
+--------------
+
jvoung (off chromium) 2015/02/11 18:53:45 Some sandbox-related optimizations? E.g., compiler
JF 2015/02/11 23:30:15 Done.
+
+NaCl
+----
« 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