12 ms·
In concatenative programming languages, composition is the default, and it makes point-free code much easier to write. In Factor, for example, you could write y
by evincarofautumn 12y ago
In concatenative programming languages, composition is the default, and it makes point-free code much easier to write. In Factor, for example, you could write your example as:
: inexact-matches ( x y -- n )
[ matches ] [ exact-matches ] 2bi - ;
That is, run both “matches” and “exact-matches” on both inputs, then take the difference of the results. If Haskell had functions of multiple parameters and results, 2bi’s type would look like this:
(a, b, ((a, b) -> c), ((a, b) -> d)) -> (c, d)