Skip to content

ROADMAP #21

@alexveden

Description

@alexveden

CEX core (cex.h) currently in pre-stable stage, after 3rd refactoring of the language eventually I happy how it feels, I don't expect to add many breaking changes. Unless, I have to, because some unpredictable issues or use cases I couldn't have thought. New core features are possible, let me know in the discussions if core lacks some functionality.

Maybe the build system would be a subject of evolving behavior, currently it's hard to predict all use cases people might have.

CEX lib in the alpha stage, expect all sorts of breaking behavior, currently it's a pile of code.

Road to 1.0

I do expect to release 1.0 within 1-2 years range, after refining keys aspects of the core:

  • Build system is easy enough for simple cases and customizable for complex cases
  • CEX core has 100% unit test coverage
  • CEX core extensively covered by fuzz tests
  • Higher end embedded systems are possible (maybe not arduino, but ESP32)
  • Using of most popular libs doesn't lead to name collisions, and CEX have tools to mitigate and works around them

After release, CEX core should become stable foundation layer years ahead.

What's needed

  • I'm going to add unit test tooling: code coverage support, unit test mocks generation, fuzz testing capabilities (for deterministic simulation testing), maybe special mock namespace, test memory allocator. Probably as CEX lib.
  • JSON parser / application configs / reader-writer + serializer-deserializer which generates code for structs in automatic fashion. Maybe it's for cex.h or lib, I haven't decided yet.
  • I don't want to take obligation to develop new stdlib for CEX from scratch, maybe it's possible to think about library of wrappers, or port some important and commonly used stuff into CEX lib. Currently, it remains vague idea.

How to contribute

  • Please have fun with experimenting on your projects first, and report everything weird that bugs you
  • I accept PRs with bug fixes, but always provide unit tests
  • I always open for more unit tests with edge cases or fuzz tests
  • If you want to add new feature, please open a discussion

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions