Znalazłem w szafie zalegające książki, wszystkie w stanie jak nowe, chętnie sprzedam za ~60-70% ceny (niektore ceny amazon.pl są z czapy, więc lepiej sugerować się tymi z .com).

[tytuł - cena amazon.pl - cena amazon.com]

- Structure and Interpretation of Computer Programs Second Edition - Gerald Jay Sussman and Hal Abelson - 238zł - 49$
- An Introduction to Functional Programming Through Lambda Calculus - Greg Michaelson - 100zł - 26$
-
@Barok: Gdy rubel spadnie do 0,000000001 dolara to z łatwością można rozszerzyć skalę, tworząc kopię rejestru walut i zmieniając tam skalę dla USD do wielu miejsc po przecinku, a następnie korzystać z tego rejestru w obliczeniach. To jest use case giełdy wymiany walut, gdzie precyzja musi być większa niż określona jednostką zdawkową, np. centem czy groszem.

Przykład funkcji z mojego programu, która bierze sesję komunikacyjną (taka struktura asocjacyjna zawierająca m.in. pole
Cześć! Kilka dni temu wydałem pierwszą wersję biblioteki programistycznej Bankster dla języka #clojure. Jak wskazuje nazwa, służy ona do obsługi jednostek monetarnych i wartości pieniężnych. Można dodawać własne waluty i rejestry walut, a także wprowadzać tłumaczenia nazw i symboli zależne od ustawień językowych.

Początkowo miało mi to zająć 3 dni, a pochłonęło miesiąc. Pierwotnie chciałem korzystać z biblioteki Money od Clojurewerkz, która bazuje na javowej Joda Money. Niestety klasy w tej
Do składni idzie się szybko przyzwyczaić, to po prostu przeniesienie nawiasu, zamiast funkcja(a b) jest (funkcja a b).
Myślę, że ciężej przywyknąć do idiomów, że np. (seq x) sprawdza pustość, ale dla indeksowanych kolekcji lub z licznikiem elementów szybciej będzie (zero? (count x)). Jest też parę polimorficznych funkcji, jak conj, które zależnie od argumentu dają różne wyjścia, ale np. dla nil dają listę. Mi się Clojure podoba, bo ma clojure.spec i podobne.
mam trochę takie #przemyslenia dotyczące #programowanie a tak konkretnie to #programowaniefunkcyjne

temat jest mi bliski od dłuższego czasu. nie, nie czuję się ekspertem. ale jako że lubię eksperymentować napisałem kilka aplikacji w różnych językach funkcyjnych by "zobaczyć jak to będzie działać". myślę że sama nauka konceptów funkcyjnych pozwoliła mi inaczej pisać w językach imperatywnych. ale to truizmy.

kilka lat temu wydawało mi się, że #programowaniefunkcyjne przebija się do mainstreamu. miałem wrażenie, że
@secret_passenger: Dostawałem sporo faj nie wyglądających ofert z Monachium, Londynu, Holandii czasem Berlina, ale wszystko na miejscu, nawet częściowa praca zdalna (3 tyg. na miejscu, tydzień z domu) nie pasowała. Teraz jakoś mało ofert się pojawia i nic interesującego. Tylko jak mówiłem, sam nie szukam, opieram się na tym, co dostawałem.
@parmezan2004: ok. to ciekawe. ja w niszy Elixra np. widzę bardzo dużo ofert zdalnych, tak samo jak np. dla Rusta (tak, to nie jest fp). dziwi mnie zatem że Scala jest tak odmienna w tym temacie, ale może to wynika z nieco innej niszy w jakiej Scala zdobyła popularność? nie wiem.

w każdym razie mam nadzieję że teraz, szczególnie po zapowiedziach Zuckerberga, sytuacja zacznie zmieniać się na naszą korzyść.


Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach,
bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python. Ponadto jakieś ciekawe linki z tego
gatunku do takiego zestawienia.

Od dziś 25 linków + kilka libek, bo powyżej 45 to rzeczywiście przegięcie pały. :)



### Materiał tego zestawienia (wyróżnienie subiektywnie) ###

https://medium.com/better-programming/understanding-best-practice-python-tooling-by-comparing-popular-project-templates-6eba49229106 - #python
Które toole stosować w programowaniu
Kilka dni temu miałem okazję wystąpić na konferencji Security Case Study z podcastem na żywo. Poza artystycznym wstępem mówiłem o bieżących wydarzeniach w IT Sec (m.in. luce w Eximie, pozwie zbiorowym przeciwko FB), a także o Wujku Bobie i Clojure). Zapraszam do posłuchania:

https://randomseed.pl/pod/randompress/019/

#itsecurity #clojure #security #securitycasestudy #podcast #podcasty #wiadomosci #randompress #randomseed
Miał ktoś doświadczenie w programowaniu w Clojure albo innym Lispie? Zainteresował mnie w nim REPL i całkowiecie inne podejście niż reszta języków ze składnią opartą na { }. A połączenie JVM z JS poprzez ClojureScript wydaje się ultimate rozwiązaniem pod WebDev.
#programowanie #clojure
via Wykop Mobilny (Android)
  • 1
@ascalon: w przypadku vscode jest plugin o nazwie Calva, podobało mi się, że dowolna funkcja może być przetestowana przez repl z poziomu pluginu i wyświetlana obok kodu. W przypadku Clojurescript polecałbym rozejrzeć nad shadowcljs, który by spełniał zadanie jako narzędzie do budowania. Shadowcljs miał bardzo ok wsparcie dla ekosystemu npm w porównaniu do innych rozwiązań, kiedy ostatnio go używałem.
via Wykop Mobilny (Android)
  • 1
@ascalon: jak instalujesz pakiety? edytujesz config? jeśli tak to w większości powinieneś działać raczej na layerach.

Emacs odinstalowuje pakiety tylko jak czegoś nie ma w konfiguracji.

#!$%@? mnie takie wstawki jak "śmierdziel Stallman" i cała reszta głupot. nie chcesz - nie korzystaj. po co pisać takie głupoty? nikt Cię nie zmusza do Emacsa. używaj czego Ci wygodnie używać.

natomiast ewidentnie robisz coś źle. ja nigdy nie trafiłem na takie problemy jak
#clojure #biblioteka #spec #prefix #suffix #infix #substring #deps #programowaniefunkcyjne

Popełniłem małą bibliotekę do Clojure na własny użytek, bo potrzebowałem szybkiego listowania przedrostków, wrostków i przyrostków w łańcuchach znakowych + paru innych funkcji.

Przy okazji funkcje są wyposażone w specyfikacje z użyciem spec i testy (z użyciem Midje), a zależności określone w deps.edn:

* źródła: https://github.com/randomseed-io/smangler
* dokumentacja: https://randomseed.io/software/smangler/
* CI: https://circleci.com/gh/randomseed-io/smangler
#ufik78news #javascript #programowanie a dziś wyjątkowo też #python #go #rust oraz #clojure

00. Link - Functional JavaScript: What are higher-order functions, and why should anyone care?

01. Link - New Intl APIs in JavaScript

02. Link - Design patterns in Node.js: a practical guide

03. Link - Lightweight Node.js version switching

04. Link - I’ve spent 5 years writing a JavaScript framework on my own.

05. Link - One Program Written in
ufik78 - #ufik78news #javascript #programowanie a dziś wyjątkowo też #python #go #rus...

źródło: comment_cZ8hBk71XrXSo94JHK5sgMeYpungoVef.jpg

Pobierz
@Formbi: w Clojure trzeba specjalnie ustawiać kod i wołać recur, bo JVM nie obsługuje automatycznego wykrywania rekurencji ogonowej. No i tak, jak @bohater napisał, nie każdy problem da się rozwiązać rekurencją ogonową. Czasem wtedy da się dwoma lub kilkoma funkcjami, które się nawzajem wywołują – dla takich zastosowań w Clojure jest funkcja trampoline, ona też sprawia, że nie są odkładane ramki powrotu, ale nie od razu, tylko po zakończeniu wywołania zależnego.