
| General Articles | |
|---|---|
|
Apr 10, 2002
|
Introduction to the RTG style of programming. |
|
Apr 9, 2002
|
Generating Random Indices. How do you pick K random elements from an array of N elements? |
|
Nov 12, 2001
|
C++ Trivia 1 |
|
Aug 20, 2001
|
An elegant implementation of an N log N sort (heap sort) in C++. |
|
Nov 19, 2000
|
Explicit specification of side effects. |
|
Oct 31, 2000
|
A summary of ways to pass an argument to a function |
|
Sep 25, 2000
|
Properties of C++ operator "." We notice that operator "." is special in C and C++. |
|
Sep 06, 2000
|
An efficient implementation
of dynamic_cast<> We describe how C++ operator dynamic_cast<> can be implemented. We also present "operator" guid_cast<>, which can be implemented by hand. |
|
Sep 01, 2000
|
Function-classes in C++. |
|
Aug 24, 2000
|
|
|
Aug 7, 2000
|
|
|
July 09, 2000
|
Avoid passing extra data to a recursive function |
|
June 10, 2000
|
|
| Self-Similar | |
|---|---|
|
Mar 9, 2002
|
Constructor and destructor are simple object states; Other nested and parallel states can be added. |
|
Dec 12, 2001
|
Consider bugs like returning a reference to a local variable, or storing a temporary pointer inside a function. These can be addressed with Lifespan specification. |
|
Nov 26, 2001
|
C is a language which has existed for about 30 years, and in that time changed very little compared to number of versions of, say, Microsoft Word formats. It follows that a programming language is the best file format. |
|
Nov 12, 2001
|
|
|
Mar 31, 2001
|
|
|
Mar 28, 2001
|
Choosing function call syntax |
|
Oct 31, 2000
|
Language syntax, implicit information,
and the program editor |
|
Oct 29, 2000
|
The case for move constructor We propose to add a "move constructor(a,b)" to replace the common sequence "copy-constructor(a,b), destructor(a)" |
|
Sep 29, 2000
|
Expressions and anti-expressions
(modeling exceptions, return's, etc). |
|
Sep 04, 2000
|
Describing types with
interfaces |
|
Aug 29, 2000
|
Duality of templates
and interfaces We notice that a C++ template really specifies an interface. Given this interface, a template or a pure virtual class can be automatically generated. The "template" results in more bytes of faster code, whereas interface results in less bytes of slower code. Thus the choice between templates and interfaces is framed as an optimization issue. |
|
Aug 12, 2000
|
Lambda functions in C++ |
| Language Research Resources |
|---|
| A comprehensive list of links is maintained by Mark Leone at CMU |
| Pliant is a fairly advanced meta-extensible language. |
| Basic Issues in Floating Point Arithmetic and Error Analysis |
| www.self-similar.com |
e-mail: alexei at self-similar.com
|
© 2002 Alexei Lebedev
|