Open in app

Sign In

Write

Sign In

doma
doma

15 Followers

Home

About

Published in CodeX

·Sep 3, 2021

Type system innovation propagation

TL;DR Incorporation of established programming language theory approaches is desired by mainstream language designers. The fashion in which parametric polymorphism has enabled generics in Java and Go demonstrates this. Go with generics has the potential to solve the expression problem. C++ has got it right straight away and work has been…

Programming

11 min read

Type system innovation propagation
Type system innovation propagation
Programming

11 min read


Aug 26, 2021

Why type systems matter

TL;DR Computer programmers expect their language environments to reject bad programs. It’s largely done with lightweight formal methods. Runtime monitoring (the thing that tells you that undefined is not a funciton) is an example of such a formal method. A type system is also an example of such a formal method. …

Startup

11 min read

Why type systems matter
Why type systems matter
Startup

11 min read


Published in CodeX

·Apr 9, 2021

Don’t fear the shell

Published on Fri, Apr 09, 2021, by doma team, working from Bristol, UK. TL;DR When to resort to shell scripts: Portability is important Problem at hand is compact File system interaction Command-line program automation When to search for an alternative Extensibility is required Coding mission-critical stuff Shell scripting is dangerous, use…

Programming

6 min read

Don’t fear the shell
Don’t fear the shell
Programming

6 min read


Published in CodeX

·Mar 30, 2021

Parser combinators in Rust

Published on Tue, Mar 30, 2021 by doma team, working from Bristol, UK. TL;DR Don’t use regular expressions for parsing Parser combinators are a way to construct composable computations with higher-order functions Parser combinators are easy to use to get results quickly They are sufficient for 99% of pragmatic uses, falling…

Rust

8 min read

Parser combinators in Rust
Parser combinators in Rust
Rust

8 min read


Mar 18, 2021

Pattern matching in Rust and other imperative languages

TL;DR Rust Rust is an imperative language that has the most pattern-related language facilities Rust has both shallow destructuring and deep destructuring if let matching form can be utilised to alleviate Rust’s lack of multiple-head functions JavaScript JavaScript has a lot of pattern-related language features: Position-based destructuring for arrays and key-based for objects …

Programming

7 min read

Pattern matching in Rust and other imperative languages
Pattern matching in Rust and other imperative languages
Programming

7 min read


Mar 10, 2021

The best hex editor that you have never heard of

From CSV to XML to JSON, humans sure love their structured data. Computers like it too. If you think about it, X86 assembly is not much more than a structured data format. So is true for ELF, dwarf, protobuf… PNGs, JPEGs and even MySQL database files are all structured binary…

Programming

5 min read

The best hex editor that you have never heard of
The best hex editor that you have never heard of
Programming

5 min read

doma

doma

15 Followers

Educate, explore and empower. Concisely. Doma.dev

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech