Abstrakcyjna ilustracja walut i konfiguracji Bankstera

Pieniądze są jednym z obszarów, w których drobne niedopowiedzenia potrafią wytworzyć dług technologiczny szybciej niż inny fragment dziedziny zastosowań. Nie dlatego, że „finanse są trudne”, lecz dlatego, że przeciętny kod lubi „udawać”, iż temat jest prosty. Bankster to próba zrobienia tej rzeczy dobrze.

Historia biblioteki phone-number


Numery telefoniczne w Clojure


Grafika przedstawiająca naziemne anteny radarowe

Analiza i sprawdzanie poprawności numerów telefonicznych nie są zadaniami trywialnymi, a samodzielne utrzymywanie setek reguł uwzględniających zmieniające się sposoby numeracji w różnych regionach świata byłoby syzyfową pracą. Istnieją jednak projekty wolnego oprogramowania, które zawierają odpowiednie funkcje i na bieżąco aktualizowane zestawy reguł. Jedno z takich wolnodostępnych narzędzi postanowiłem włączyć do ekosystemu Clojure, a tu spróbuję przy okazji scharakteryzować również sam język na przykładzie opisów ważniejszych części tworzonej biblioteki.

Poczytaj mi Clojure, cz.  6


Powiązania i przestrzenie nazw


Grafika

Powiązania pozwalają identyfikować pamięciowe obiekty, z których korzystamy w programach (nadawać im stałe tożsamości), a przestrzenie nazw umożliwiają zarządzanie widocznością i kapsułkowanie fragmentów kodu źródłowego. W tym odcinku dowiemy się, jak rozumieć te mechanizmy w Clojure i jak ich używać.