admin

Title: Embracing Modern C++ Safely Authors: John Laos, Vittorio Romeo, Rostislav Khlebnikov, and Alisdair Meredith Publisher: Pearson Education, Inc. Year: 2022 C++ is a complex language. Fortunately, we have several good books (and other online material) for programmers at various levels. A few weeks ago, I had reviewed and recommended “Beautiful C++”, book suitable for […]

Title: Art of Repertorisation: Rediscovering Old & Forgotten Repertories Author: Dr.Gaurang Gaikwad Publisher: Dr.Gaurang Gaikwad Year: 2021 This is Dr.Gaurang Gaikwad’s latest book, published last year. As the title suggests, this is about the “Art” of repertorisation. Although there are several books on repertories and repertorisation, the author’s unique contribution lies in discussing multiple repertories, […]

Title: Decoding Mental Rubrics Authors: Dr.Gaurang Gaikwad and Dr. Rameez Chougle Publisher: Dr.Gaurang Gaikwad Year: 2019 (Latest reprint: 2022) Dr.Gaurang Gaikwad is a popular homeopath from Mumbai with a busy practice. This book, co-authored with his Late brother Dr.Rameez Chougle, is a compilation of many important mental rubrics that appear in different repertories and reference books, […]

One of the common questions when starting to study the container abstractions in C++20 is “Should I use std::array or std::vector?”. The correct answer is “use what is best suited for the current situation”. That is not good enough, obviously. In this short article, I will try to answer this question based on the intrinsic nature […]

Introduced in C++20, std::span is a light-weight abstraction that provides a convenient view into a collection of contiguous elements. Note that it is not enough for the elements to be logically contiguous, but they must be contiguous in memory too. Thus, span will work with C-style arrays, C++ vectors and arrays. It will obviously not work with […]

Title: Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code Authors: J.Guy Davidson, Kate Gregory Publisher: Pearson Education Year: 2022 My earliest introduction to C++ guidelines was through Scott Meyers’ excellent book Effective C++ that first appeared in 1992. After programming in C++ for around 3 years at that point, the book […]
![C++20 [[no_unique_address]] Attribute C++20 [[no_unique_address]] Attribute](http://i0.wp.com/www.rangakrish.com/wp-content/uploads/2022/06/code1.jpg?resize=675%2C240&ssl=1)
The [[no_unique_address]] attribute was introduced in C++20 to give a compiler the freedom to optimise memory allocation of a struct/class when it contains a subobject that does not have any members. The other requirement is that the subobject should not be a static member of the enclosing struct/class. Let us start with the basics first. […]

In a series of articles written earlier, I had shown how it is possible to model Definite Clause Grammars (DCG) in LispWorks Lisp (Enterprise Edition). We use defgrammar in Common Prolog (available as part of KnowledgeWorks package) to define our grammar rules. Here is a toy English grammar represented using defgrammar: This corresponds to the following Prolog […]

Lisp is known to be a highly dynamic language, where functions are first-class objects. It is possible to define and undefine functions on the fly as well as attach hooks to existing functions. These are in addition to the ability to pass functions as parameters to other functions and returning a function as the result of […]

A close relative of mine teaches Maths to school students in different Grades. During a casual chat some time ago, he mentioned that he was trying to adopt an automated approach to selecting assignment problems based on each student’s performance so far. Obviously, there are many ways in which this can be done, but he […]
Recent Comments