home mail me! RSS (2.0) feed

Archive for July, 2006

Algebraic data types – a very brief introduction

An algebraic data type is a type defined via constructors that can subsequently – often in a functional language setting – be used in pattern matching. The typical example is (using Haskell syntax): [hilite,haskell]data IntStack = Empty | Cons Int IntStack[/hilite] One can view the type constructors (Cons and Empty above) as regular functions acting [...]

Am I just a soft estate developer?

A friend of mine – Yariv Sadan (whose blog is at http://yarivsblog.com) – suggested today that a lot of what is considered web development is essentially nothing else than an early stage of real estate development. That interesting thought led me to coin a term – at least relative the IT industry: Soft Estate. So, [...]

gen_hierarchy – injecting base classes in C++

Would you like to generate a hierarchy of types on the fly using C++? Well, at least on-the-compilation-fly… You could always use Andrei’s magnificent Loki library, or you could use my proposal, gen_hierarchy. In short, I allow for two distinct types of hierarchies: Spine-like, with the given types protruding as maximal elements on that spine. [...]

SOAP is dying – back to binary roots?

It seems like all RPC frameworks have an intrinsic halftime of seven years. Why do they decay so rapidly? Whatever the general case might be, it is quite clear that SOAP is dying the infamous Death by Over-Standardization, which is luring around the C++ corner as well – unfortunately. Who is the new emperor? Hardly [...]

Higher order Java

Are you not tired of writing those boring for loops, repeating virtually the same boiler plate “finder” or “accumulator” code over and over again? Are you also too afraid of those academic languages or simply enjoy actually getting paid for what you do, i.e., you are confined to Java? Well, I assume there are tons [...]

Win32gui: windows for expert C++ developers

Have you ever been frustrated with not being able to use full C++ while adhering to the MFC model? MFC is based on C with a “little bit of inheritance,” which is quite far from the expressivity in modern C++ use. A C++ expert expects RAII (resource acquisition is resource initialization) and to be able [...]

Hard to find good intermediate C++ books

Finding good books about C++ is hard; they often belong to one of four categories: Learn to program – too basic for people actually making money on this trade. However strange this might sound, there is a quite subtle difference between the DIY hobby programmer and the professional one. Ok, I know that most in [...]

Spirit: parsing without leaving C++

When diving down among the various parser generators and compiler tools around, there is another one – beside BNFC – that sticks out: Spirit. A template-oriented library that is part of the terrific Boost libraries (http://www.boost.org.) Whereas most tools rely on code generation, and even code generation generation (BNFC…), Spirit is a metaprogramming library that [...]

BNFC: language-agnostic parser generator generator

Parsing code is hard, and strictly limited to The Chosen Few. Right? No, wrong! I know you are aware of some compiler compilers or parser generators out there – i.e., frameworks that let you specify annotated grammar descriptions, often using a BNF (Backus Naur Form) kind of syntax. The most famous parser generator is Yacc, [...]

Swig: native interfacing for Java

First I was afraid, I was petrified. Kept thinking I could never live without a proper JNI reference manual by my side. But I spent so many nights thinking how to implement those native methods right. I grew strong, I learned how to carry on without a proper wrapper generator. But now Swig is back, [...]

Next entries »