Stuff to get done before CppNow

CppNow is quickly approaching in 2 month!

We will likely see people interested in beman coming to checkout the projects and individual libraries during CppNow.

(I have also submitted a proposal to talk about beman libraries at CppNow! So hope that helps with our publicity if it gets accepted!)

I think it make sense for us to have a beman TODO list!

To kick start, I think it will be a good idea to:

  • Update our website
  • Resolve Bemanproject/beman issues - #3 by Jeff-Garland
  • Have some documentation on how to navigate the project (maybe a blog/ doc on the new website!)
  • Refine README across beman libraries with a focus on how to play with a library quickly (via devcontainer/ compiler explore)
  • Form a list of good first contributor issues and libraries we are interested in implementing or adopting
2 Likes

I am going to try to get a 1.0.0 release of boost.optional soon, and by soon I hope well before CppNow. I think the major outstanding bit is making sure it’s packagable and hopefully actually packaged.

I’d like to have better docs, but the library wording might serve in the interim. Not in raw LaTeX, of course.

I would like to see this issue closed:

Now that Exemplar is using find_package, it’s realistic to get it packaged in some form by then.

I know @river also had some ease of use concerns. It would be good to get folks to try out Conan and vcpkg workflows to see if either or both meet their expectations. Otherwise, it should be reasonable to iterate on other dependency management workflows.

1 Like

Yeah I also wish we have quick playgrounds for all libraries. I hope we can either have a resolution on if current solution (have apt install libgtest-dev before preset) satisfy ease-of-use or we restore some way to one-click setup.

If we’re planning on having Library in a Week tasks that include making new libraries, we should have a good enough new project workflow nailed down.

I would expect someone willing to contribute a new Beman libraries should be able to get from nothing to a “hello world” library in an hour (ideally a lot less).

If the technology is based on Exemplar, I would expect all CI and testing should work fine out of the box, docs on building should be fine, etc.

1 Like

If someone wants a fun but possibly controversial idea, I would love to see the C++ standard provide a sensible main function. Maybe:

void std::main(std::span<std::string_view> argv) {
  [[maybe_unused]] argv;
  std::print("Hello, world!");
}

This could be implemented without language features, and it could be delivered as a library (see gtest_main), so a proof-of-concept as a Beman project is doable.

Bonus points: Provide the environment variables as a second parameter the way Linux does. I’m personally less confident of the parameter type for that offhand, though.

We decided in today’s Beman sync to use this thread to also centralize tasks for newcomers.

You can creata issues in various repos (e.g., website/, exemplar/, infra/, etc), you can use any labels or git projects, but in the end please post a link here.

With respect to changing how main works, SG16 just got done spending an hour and a half arguing about the std::arguments proposal P3474R0, which resulted in Corentin writing a whole new paper P3672R0 just to stake down a position about the encoding concerns involved. I think the amount of controversy around this probably exceeds the amount of fun, at least until P3474 has a stable design that we can tell someone to try implementing-- and even then, doing so correctly in a cross-platform way isn’t easy.

1 Like

See Eddie’s comment…

I will have an proposal for std::environment that people can work if they want. Linux isn’t particularly great bc it’s via cstdlib – which is a race condition nightmare in MT apps.

1 Like

Tasks that can be done at “Library in a week” for the website

  1. Integrate Discourse support - Integrate Discourse comment feature for blog posts · Issue #25 · bemanproject/website · GitHub
  2. Integrate NYC Hackathon mock-up layout for Main page - Build website layout PoC for front page from NYC mockup · Issue #34 · bemanproject/website · GitHub

I also support creating docs for beman.optional - Create docs for beman.optional · Issue #120 · bemanproject/optional · GitHub

CC: @Jeff-Garland , as per discussion in Create a bucket of issues for newcomers @ C++Now · Issue #20 · bemanproject/website · GitHub. Have fun!

1 Like