Author: user

Bringing the latest tech to the legal sector.

Real world Tagless Final: Akka-Http

So far in our series about Interpreter patterns, we have looked at the ideas behind Tagless Final and Free monads, and seen how powerful they can be for de-coupling our application code and abstracting our effect types. However, we haven’t really looked at how these patterns really fit into our application code. Tagless Final &…
Read more

An introduction to Free Monads

Free Monads solve the very same problem as Tagless Final but in a different way. Our goal is the same: we want to decouple or abstract the implementation details from the application code. If you recall our previous post, we did this by using expressions or functions that would be injected into our application code.…
Read more

An introduction to Tagless Final in Scala

When you are building any kind of non-trivial application, you will naturally find yourself needing to decouple your implementation details from your application. Loose coupling not only makes code easier to test but also makes it easier to switch implementations in the future or for different use cases. One pattern that is increasing in popularity…
Read more

2018 analytics for our Juriosity platform

At Basement Crowd, we launched Juriosity in Q2 of 2018 and we have seen significant uptake and use of the platform in our first launch year. As a directory, knowledge hub and self-publishing platform, Juriosity allows legal professionals and organisations to demonstrate their expertise, whilst members of the public can use Juriosity’s directory to source legal…
Read more

Scala, the Aux pattern & path dependent types

In our last post about Shapeless, we casually mentioned the Aux pattern was being used: L is a path dependent type on Generic[T], so we use the AUX pattern here so we can reference L Rather than just leaving that out there, with no explanation, we wanted to delve into that pattern a little deeper.…
Read more

Product design sprints: a methodology for champions or do they leave you out of puff?

Developing a new idea from scratch is always a challenge, be it an idea for a whole product or for a major new feature. Is your idea any good? Is it possible? How long will it take? How much will it cost? All of these are valid questions to be asking. A popular and effective…
Read more

Type class derivation with Shapeless: An introduction

You must be shapeless, formless, like water. At Basement Crowd we make use of Shapeless for a couple of problems – the most common use is for the automatic derivation of JSON de/serialisers for our APIs (spray-json-shapeless/circe), but it also comes into play for test data generation (scalacheck shapeless) and its polymorphic functions. This article…
Read more