[GSoC] 'Replace Runtime Hooks with Templates' progress and update thread
Dan Printzell
xwildn00bx at gmail.com
Tue May 28 10:47:03 UTC 2019
Hey everyone,
I have now started with my Google Summer of Code project, Replace
Runtime Hooks with Templates. A small recap on what my project is
about:
A lot of the language features depend on runtime hooks,
which in turn requires the TypeInfo class. This is a problem
for betterC code, as classes are not supported. Another
problem is that the current hooks can lie about their
safety. Both of these problems can be solved by moving
runtime hooks to use templates instead. This solves the
betterC issue 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 the type it works on.
This project will work on translating all the array hooks
from using the TypeInfo class to using templates.
The full proposal pdf and LaTeX files can be found in the
following
Github repo: [https://github.com/Vild/GSOC2019-Proposal]
This month
==========
As a warm-up project I have been working on learning about the
dmd and
druntime codebases by implementing more descriptive error
messages for
when a template hook is missing.
[https://github.com/dlang/dmd/pull/9839]
I have also read though, more in-depth, all of the previous hooks
conversion pull-requests to try and build up a mental picture of
all the
code their conversion touched, and their problems and solutions.
Next month
==========
Over the next four weeks I will translate following hooks:
Week 22-23:
- _d_arrayappend*
Week 24-25:
- _d_arraysetctor
- _d_arrayctor
- _d_arraycat*
The first two weeks will be allocated to only the _d_arrayappend*
functions as these are the first hooks I will be translating and
I will
also need to study and do two exams.
Blockers
========
So far I have not encountered any problems with the project.
More information about the Digitalmars-d
mailing list