HN user

Bambo

491 karma

From the UK!

Posts52
Comments19
View on HN
news.ycombinator.com 2y ago

Ask HN: What are your top 3 coolest software engineering tools?

Bambo
2pts1
github.com 3y ago

C++ Embedded template library – Heap free STL

Bambo
2pts0
cppcheck.sourceforge.io 3y ago

Show HN: Cppcheck – A tool for static code analysis

Bambo
2pts0
www.gnu.org 3y ago

Show HN: GNU Indent – CLI code formatting

Bambo
5pts3
news.ycombinator.com 3y ago

Ask HN: What happened to Modula-2 style modules?

Bambo
2pts1
nappgui.com 4y ago

Show HN: NAppGUI – A Cross platform C GUI library

Bambo
4pts0
github.com 5y ago

Show HN: Embedded Ring Buffer C++98

Bambo
26pts37
news.ycombinator.com 5y ago

Ask HN: Is memory fragmentation with C still an issue?

Bambo
1pts2
github.com 5y ago

Show HN: Doxy2plantuml - A tool to generate PlantUML from doxygen XML

Bambo
4pts0
github.com 5y ago

Show HN: Design by Contract (tm) – C++

Bambo
6pts6
github.com 5y ago

Hy – a Python based Lisp dialiect

Bambo
12pts1
www.planimeter.org 6y ago

Grid – A Lua Game Engine

Bambo
177pts77
github.com 6y ago

Show HN: I started making OOP design patterns learning C++

Bambo
2pts0
github.com 6y ago

Easy 3D Framework for C#

Bambo
3pts0
github.com 6y ago

Pico is a spartan framework that allows you to write websites in C++ and C

Bambo
3pts0
play.google.com 6y ago

My first real app release, check it out

Bambo
1pts0
github.com 6y ago

Show HN: Super Simple JavaScript Graphics

Bambo
2pts0
github.com 6y ago

Satellite communications open source code

Bambo
2pts0
github.com 6y ago

Show HN: Open-Source Satellite Software

Bambo
2pts0
github.com 7y ago

A tiny vector2 library written in assembly.

Bambo
2pts0
news.ycombinator.com 9y ago

Show HN: WindowsFormsGraphics – Simple2D graphics for C# in 2 files

Bambo
2pts0
github.com 9y ago

Show HN: Qwook, a lightweight framework to draw from Node.js

Bambo
4pts0
vulkan-tutorial.com 10y ago

Vulkan Tutorial

Bambo
258pts87
github.com 11y ago

Show HN: Work Clocker – Program to keep track of your time worked

Bambo
2pts0
twitter.com 12y ago

Show HN: Technobabblebot - Twitter bot to scrape news

Bambo
1pts0
github.com 12y ago

Show HN: Passport-Steam - Steam (OpenID) auth for Node.js/Passport

Bambo
2pts0
github.com 12y ago

Show HN: Reconnecting Websockets (Javascript)

Bambo
2pts0
github.com 12y ago

Show HN: Countdown – Twitter bot which tweets answers to the Countdown TV show

Bambo
67pts23
github.com 12y ago

Show HN: Knwl.js - Scan through text for data that may be of interest

Bambo
43pts14
github.com 12y ago

Show HN: NetLua – Completely managed .NET Lua

Bambo
61pts18

You can't implement the assertions at compile time since they are predicates evaluated at runtime. This is also why it is a performance hit on the code. I chose to use C-style macros because it is easier to debug than templates.

Yes OLD stores the value of the variable before the execution of the DO.

This is because all of the virtual methods that have been overriden are visited in order to gather their assertions, but not execute their DO(). So while the assertions are being collected it also collects OLD() values which then can be tested at the called virtual method in its ENSURE() clause.

OLD is a complicated mechanism to implement in C++ because it requires saving current variables at the same time deferring the code to be executed.

Using the OLD() and ENSURE() (along with the other) clauses together, is described as subcontracting where subclasses "require less" and "ensure more", given in the https://en.wikipedia.org/wiki/Object-Oriented_Software_Const... (first edition).