Document project scope

未关闭
#200 0 条评论 3 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
55/100
Issue 类型
文档
描述清晰度
基本清楚
活跃度
停滞
领域
documentation

调研方向

Start by reading the README and the discussion in issue #199. Document the project's scope, goals, anti-goals, and feature boundaries in a Project Scope section or a contributor documentation page, while preserving the guidance about the TryPureScript module and internal decisions such as iframe management.

由索引模型根据 Issue 内容生成。

描述

document me

In #199 we discussed the scope of Try PureScript -- what its goals are, what its goals should not be, what sorts of features are acceptable, and so on.

The gist of it was that Try PureScript is a single pane for editing PureScript code + a single pane for showing output (whether a rendered UI or console output), and that any features outside of writing PureScript from the package set should be provided via the TryPureScript module so they can be used in main.

I think this is useful to document within this library so that new contributors can understand the scope and purpose of this project and to therefore open better issues and pull requests.

Here are some pertinent quotes:


...the SPA needs of try-purs are very conservative, and I think that's a good thing.

I consider it an anti-goal to iterate on try-purs to the point of being an IDE in the browser, and that we should focus on it being a small-demo showcase and way to share quick snippets. Not that something like that should not exist somewhere, just that I don't think that should be the goal of the core team infrastructure. As an example, Ellie exists for elm, and is able to iterate independently and grow based upon the creator's vision for editing and sharing Elm code, which is separate from the language infrastructure's development. The official demo case for TypeScript is very conservative, and is basically only console logging.

Additionally, I also consider it in an anti-goal for try-purs to be a beacon example for modern SPA development in PureScript. That's not to say that Halogen or React are bad choices or the wrong choices, just that I do not consider that to be a contributing factor.

My personal criteria are:

  • It should build with stock tooling, and should not require npm dependencies and JS bundling step (we currently refer to global jQuery so we can load it from wherever).

  • It should not require significant or controversial architecture decisions, to reduce bike-shedding and make it more likely for a hypothetical PR to go through.

  • We should prioritize smaller bundles. We already have to ship a lot to load all the modules for running demos, so I think reducing as much overhead as possible in the actual application is desirable.

I consider "controversial architecture decisions" to largely mean fancy types like Run, Variant, Cofree, etc. That is, the goal is not to showcase all the fancy things you can do in PureScript, it should be very straightforward for someone to read, understand, and review.

I want to be clear that I don't necessarily consider Halogen or React to be immediately rejected on those terms, just that I think we should prioritize those points.

-- @natefaubion

Big 👍 to everything @natefaubion has said, especially the anti-goals.

-- @hdgarrood

I think the basic workflow for try-purs should stay as-is:

  • A single editor for PureScript code
  • A single pane to see the result

...I do not consider it in scope to include multiple modules, multiple language editors (HTML, CSS, and especially foreign modules), or anything outside of editing PureScript code. If we want to offer additional features, we should add them to the TryPurescript module so they can be invoked within main.

-- @natefaubion


I think this content can be trimmed a little and included in a "Project Scope" section in the readme. Alternately, we could create a new page of documentation meant for contributors, which both discusses some of the internal decisions (like how to manage the iframe) and also outlines the scope of features for the project.

主要语言
PureScript
星标
121
派生
51
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

purescript/trypurescript 的其他 Issue

查看 purescript/trypurescript 的全部 Issue

相似的 Issue

更多 Documentation Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。