For this project, as suggested by @Adrian_Prantl, I intend to post a weekly progress report every Monday, summarizing what I've done in the last week, and what I intend to do on the current one. I believe that keeping our communication in the open will be useful in involving the community in the project, keeping myself accountable, and hopefully as a reference for future GSOC students.
This first week, I worked in getting to know LLDB better by:
- Reading LLDB's architecture page.
- Following tutorials on using LLDB as a user (I've already used LLDB of course, but I started learning it a bit more in-depth).
- Reading about name mangling and Swift's type metadata.
- Getting all enabled LLDB tests to run (and pass) on my machine.
- Exploring LLDB's API through python scripting.
Overall I think my progress in the first week was alright, but not great. My main problem was that I didn't have a clear goal. Because of that, I bounced around a lot between different resources, and I couldn't measure how much I actually got done.
@Adrian_Prantl and @vedantk, I'd like to ask you guys if for this week you could give me a specific task that would help me understand LLDB better. Maybe an issue that is related to my project? Or any other task where I can measure my progress more easily. I think I'll learn more by having a clear objective of what I should do.
For now, my plans for the week are to continue exploring LLDB's API through python scripting, but, of course, these plans are open to change after your suggestions.