Blogs (27) >>
ICFP 2017
Sun 3 - Sat 9 September 2017 Oxford, United Kingdom
Sat 9 Sep 2017 15:55 - 16:20 at L2 - CUFP Talks 5

As difficult to maintain legacy code bases proliferate within an organisation, tackling them head on often requires a substantial engineering investment without any guarantee of success.

We examine such a code base from within our own organisation - a large, stateful, object orientated .NET API for distributed computation with little type-safety.

It became apparent that idiomatic use of this library encouraged bad coding practices amongst its users, making it harder to make meaningful improvements to the API, and cementing its position as a legacy component.

When faced with this problem, we eschewed a big rewrite or major refactor in favour of abstracting over the problematic design with a declarative, type-safe facade written in F#.

This talk explores the significant advantages this approach offered to both the library’s end-users and its development team - immediately preventing further accumulation of problematic user code, and establishing a better conceptual model for the library’s functionality while laying a pathway for the ultimate replacement of the legacy implementation.

Sat 9 Sep

15:30 - 16:20: CUFP 2017 - CUFP Talks 5 at L2
cufp-2017-talks150496380000015:30 - 15:55
cufp-2017-talks150496530000015:55 - 16:20