Git Product home page Git Product logo

utilid's Introduction

utiliD

A D library with absolutely no dependencies intended for boostrapping the D compiler, D runtime, and other libraries or for bare-metal systems programming.

I'm still working out the precise vision for this library, so bear with me as I will likely change my mind often until something concrete emerges.

The Rules

  1. No dependencies whatsoever.
  2. No dynamic heap memory allocation. Dynamic stack memory allocation is ok, but could probably be avoided too.
  3. All code must be @safe, nothrow, @nogc, and compilable with -dip1000.

Help Wanted

I am much too busy trying to fix problems with the D compiler and I'm not going to be able to work on this much in the near future. If you like the general idea of this library, please help. Also, I don't have much experience with Phobos, so I will need help choosing what to take from existing D implementations and what to leave.

Tasks

CI Infrastruction

We need to set up a CI that can test pull requests, verify coverage, documentation, etc... across multiple platforms and architecture. That would accelerate any future progress and is considered the highest priority right now.

Software Building Blocks

Many implementations will eventually be lowered to a few basic software building blocks that copy or compare memory. Therefore it would be great to have such low-level software building blocks in this library as long as they adhere to The Rules. Candidates include memcpy, memset, and memcmp. Beware, though. This is D; not C. We want idiomatic D implementations that leverage the power of D's excellent design by introspections capabilities. See memcpyD for a proof of concept.

Copy Existing D Implementations

This library could reasonably take quite a few implementations from phobos and druntime (e.g. std.meta, std.traits, and much more) as long as they adhere to The Rules, but I want to be careful not to repeat the mistakes of the past. Therefore, I prefer only copying over those implementations that are considered high quality right now.

utilid's People

Contributors

jinshil avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.