Commit Graph
11 Commits
Author SHA1 Message Date
a6ddc03aa6 Generics goals (#24)
The "generics" feature of Carbon is a large design effort that needs to be broken up into manageable steps. The first thing we need is a high-level goals document. The goals here reflect the desirable properties that we have discovered as part of considering several alternative generics designs:

-   Use cases:
    -   Generic programming
    -   Upgrade path from C++ abstract interfaces
    -   Dependency injection
     -   Generics instead of open overloading and ADL
-   Performance
-   Better compiler experience
-   Encapsulation
-   Predictability
-   Dispatch control
-   Upgrade path from templates
-   Coherence
-   No novel name lookup
-   Learn from others
-   Interfaces are nominal
-   Interop and evolution
-   Bridge for C++ customization points

Goals are summarized in [this presentation](https://docs.google.com/presentation/d/12yGyu5Pvdag7CJp-_yLVkmbhyvuRIilBTNlkO0LKaHo/edit?usp=sharing&resourcekey=0-JB9yrUO4-6J8-zzGhnIyNg).

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>
Co-authored-by: Matthew Riley <mdriley@gmail.com>
Co-authored-by: austern <austern@google.com>
Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com>
2021-04-23 17:19:23 -07:00
Jon Meow 33360a30bc Shift new proposal setup to the new process. (#468) 2021-04-19 16:43:01 -07:00
Jon Meow d60389babd Stop generating decisions into the proposal index (#462) 2021-04-14 15:14:43 -07:00
josh11b 160c5d06d3 Update new_proposal script with --branch-start-point (#450)
* Allow configuration of start point.

* Use git switch --create.

* Maybe fix string type.

* Fix wrong flag.

* Add --dry_run flag.

* Not sure if this is needed.

* Dry run should be safe even with uncommitted changes.

* Remove side effects with --dry_run.

* Checkpoint progress.

* Make `dry_run` parameter optional so tests pass.

* Implement suggestions from code review.

* Checkpoint progress.

* Remove new dry_run_pr_number option.

* Rename --start_point to --branch_start_point.
2021-04-12 19:46:33 -07:00
Chandler Carruth 21917095a3 Add a parameter to fix a failing python test. (#303)
This fixes a python test failure for me.
2021-02-26 09:18:19 -08:00
Jon Meow c2f8e382d0 Add links to new proposals (#283) 2021-02-23 15:42:23 -08:00
Jon Meow ef6505a624 Get rid of the website symlink forest (#234) 2020-12-29 17:34:08 -08:00
Jon Meow 1e8930e21b Bazelify the jekyll handling. (#230)
- Shift some things around to adjust to being in bazel.
- Add separate build/serve/publish scripts for use by bazel (not set up for direct execution, but bazel requires +x).
- Fix some tests I noticed not running unittest.main as a result of the switch.
- Move md files into filegroups for build reuse.
- Disable automatic site publishing (now `bazel run //website/jekyll:publish`)

Site publishing seems like it'd be too much trouble to keep automated... The C++ toolchain essentially needs to be set up due to the repo config, along with syncing the LLVM submodules, etc. That seems a bit annoying to do on each run of the publish-docs action, and not something I really want to maintain. If we get a CI, we can focus on it more there, but this feels like it'd just be a one-off to maintain as a github workflow.
2020-12-29 15:15:24 -08:00
Jon Meow d76f8a1eff Bazel-ify most of the Python scripts. (#229) 2020-12-28 16:37:55 -08:00
Jon Meow f2d48f1bd0 Move the jekyll sidebar to a python script for consistent generation. (#205)
One implication here is that both proposals/README.md and the website should use basically the same format for their proposal lists. Another subtle change is that the website sidebar was previously sorted by *filename*, and is now sorted by *title*, which seems better because it's something that readers can see.

Enumerating why files change:

- gen_sidebar.py is the centerpiece, with a couple helpful functions for re-use elsewhere
- Delete the old sidebar html includes
- Modify the Makefile to handle gen_sidebar.py reasonably well (let's be honest... I'm not great at Makefiles)
- Move proposal listing out to its own file (proposals.py) for re-use
- Add a few PYTHONPATH things + `__init__.py` files to get modules importing correctly (may be a better way at this, I've hit a wall though).
2020-12-04 08:26:25 -08:00
Jon Meow cc4211442f Merge carbon-project-tools back into carbon-lang (#203)
As proposed at https://forums.carbon-lang.dev/t/merged-repo-structure/174:

- carbon-lang:/src/jekyll -> carbon-lang:/website/jekyll
- carbon-lang:/src/scripts -> carbon-lang:/proposals/scripts
- carbon-project-tools:/firebase -> carbon-lang:/website/firebase
- carbon-project-tools:/github -> carbon-lang:/github
2020-12-02 09:53:14 -08:00