Fetching the latest programs, projects, and workspace data.
Fast code, fast.
Showing 5 of 5 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Prateek Nayak
<p>This project aims at bringing native dataframes to D Programming Language. The main task would be to implement a dataframe which supports multi-indexing, column binary operations, grouping and data aggregation. Along with the dataframe will also come functionality to parse data from and write data to a CSV file without any hassle.</p>
Mentors: Student: Eduard Staniloiu
<p>Automated C/C++ header generation from D files</p>
Mentors: Student: Dan Printzell
<p>D’s betterC mode is an important tool to be able to use D on bare-metal and embedded platforms. By disabling, for example the class support, the compiles does not need to as many runtime functions and types to be implemented for the code to compile and link. This makes the life of a bare-metal developer much easier.</p> <p>But there is a catch! A lot of the language features runtime hooks, which in turn requires the TypeInfo class to be able to function. One way of solving both of these problems is by moving runtime hooks to use templates instead. This solves the betterC by removing the dependency of classes (the TypeInfo class), and it solves the safety issue because now the compiler will have all the information about the hook and it can verify it itself and not just trust that the runtime developer remembered to mark the hook correctly.</p> <p>This proposal will work on translating all the array hooks from using the TypeInfo class to templates.</p>
Mentors: Student: Stefanos Baziotis
<p>An effort to decouple D from the C standard library.</p>
Mentors: Student: lesderid
<p>Currently, D’s built-in data structures (arrays and associative arrays) and Phobos collections (e.g. <code>std.container.rbtree</code>) rely on garbage collection. This has a number of issues, including the inability to use them when compiling with <code>-betterC</code>, GC pauses, and memory usage being nondeterministic.</p> <p>The goal of this project is to implement <code>@nogc @safe</code> versions of common data structures through the use of reference counting for memory management. Reference counting is already being used with success by other systems programming languages (such as C++) for the same purpose. With recent work by Eduard Staniloiu on <a href="https://github.com/dlang/druntime/pull/2608" target="_blank"><code>__RefCount</code></a>, an official implementation of these collections can be added to D’s standard runtime.</p>