Skip to content

Commit 635a282

Browse files
sudo-pandavgvassilev
authored andcommitted
Update Baidyanath's project
1 parent d1f5d5e commit 635a282

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

_data/contributors.yml

+21-3
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,33 @@
7373
info: 'Utilize second order derivatives from Clad in ROOT'
7474
7575
education: "B. Tech in Computer Science and Engg., Manipal Institute of Technology, Manipal, India"
76+
current: 1
77+
info: "Improving Cling Reflection for Scripting Languages"
7678
description: |
79+
Cling has basic facilities to make queries about the C++ code that it has seen/collected so far.
80+
These lookups assume, however, that the caller knows what it is looking for and the information
81+
returned, although exact, usually only makes sense within C++ and is thus often too specific to
82+
be used as-is. A scripting language, such as Python, that wants to make use of such lookups by
83+
name, is forced to loop over all possible entities (classes, functions, templates, enums, …)
84+
to find a match. This is inefficient. Furthermore, many lookups will be multi-stage: a function,
85+
but which overload? A template, but which instantiation? A typedef, of what? The current
86+
mechanism forces the scripting language to provide a type-based match, even where C++ makes
87+
distinctions (e.g. pointer v.s. reference) that do not exist in the scripting language. This,
88+
too, makes lookups very inefficient. The returned information, once a match is found, is exact,
89+
but because of its specificity, requires the caller to figure out C++ concepts that have no
90+
meaning in the scripting language. E.g., there is no reason for Python to consider an implicitly
91+
instantiated function template different from an explicitly instantiated one.
92+
mentors: Wim Lavrijsen, Vassil Vassilev
93+
past_projects: 1
94+
past_info: "Utilize second order derivatives from Clad in ROOT"
95+
past_description: |
7796
ROOT is a framework for data processing, born at CERN, at the heart of the research on high-energy physics.
7897
ROOT has a clang-based C++ interpreter Cling and integrates with the automatic differentiation plugin Clad
7998
to enable flexible automatic differentiation facility. TFormula is a ROOT class which bridges compiled and
8099
interpreted code. This project aims to add second order derivative support in TFormula using clad::hessian.
81100
The PR that added support for gradients in ROOT is taken as a reference and can be accessed here.
82-
proposal: /assets/docs/Baidyanath_Kundu_Proposal_2021.pdf
83-
mentors: Vassil Vassilev, Ioana Ifrim
84-
current: 1
101+
past_proposal: /assets/docs/Baidyanath_Kundu_Proposal_2021.pdf
102+
past_mentors: Vassil Vassilev, Ioana Ifrim
85103

86104
- name: Purva Chaudhari
87105
info: "Enhance the incremental compilation error recovery in clang and clang-repl"

0 commit comments

Comments
 (0)