Fork me on GitHub
#clojure-poland
<
2021-06-29
>
greg11:06:38

Czy w PL są jakieś meetupy offline/online Clojurowe?

fenoloftaleina11:06:51

Offline w Krakowie był i może znowu będzie się dział w najbliższej przyszłości.

greg11:06:32

Kto je organizuje? Nagrywane są?

fenoloftaleina11:06:49

Był jeden online. Nie nagrywamy.

pithyless15:06:57

Meetupy w Krakowie napewno wrócą! Jak ktoś jest przyjezdny i chce się załapać to pisać śmiało na grupie (lub do mnie bezpośrednio). Szczególnie jak chcecie coś opowiedzieć, to pomożemy ogarnąć szczegóły i odpowiedni termin. ;)

pwojnowski12:06:59

A probowal ktos z was implementowac rozne algorytmy w Clojure? Ja mam z tym problem taki, ze rozne algo opieraja sie na tym, ze lokalnie zmieniaja dane (np. tablice/liste itp.) i dlatego maja swoje wlasciwosci O(x), a w Clojure praktycznie wszystko jest na wektorach, mapach i listach, ktore maja swoj narzut czasowy (niby wiele operacji jest near-constant O(log32 n), ale to nie to samo co O(1)) - pamieciowy pewnie tez, ale nie wiem jaki dokladnie. Ale to moze byc tylko moj problem. 😉

Piotr Roterski13:06:07

nie robiłem tego, ale możesz w implementacji spróbować użyć Transient Data Structures https://clojure.org/reference/transients które są mutowalnymi odpowiednikami clojurowych struktur danych - ciekawym ćwiczeniem byłoby później porównanie różnicy wydajności pomiędzy implementacjami z użyciem transients i bez

pithyless15:06:27

O jakich algorytmach mówimy? Ponieważ jak number-crunching to problem może nie jest O(1) tylko CPU vs GPU? https://neanderthal.uncomplicate.org/articles/benchmarks.html https://neanderthal.uncomplicate.org/articles/tutorial_opencl

ribelo19:06:25

nie ma problemu by użyć struktur javy, jeśli tylko chcesz

ribelo19:06:47

nawet więcej, java w clojure jest o wiele bardziej używalna niż java w javie

ribelo19:06:57

na ratunek przychodzi doto

pwojnowski07:06:34

Uzycie Transients na pewno pomaga, bo zapisy sa szybsze. Kiedys zaimplementowalem Insertion Sort w ten sposob: https://farenda.com/clojure/insertion-sort-in-clojure/ Chodzi mi wlasnie o takie algo jak sortowanie, grafy itp. Np. w sortowaniu jest duzo odczytow (i czasami zapisow), co zmienia zlozonosc obliczeniowa i jak sie o tym mysli, to nie jest standardowo O(n log_n) tylko dochodzi np. to, ze odczyty w wektorach sa log32 albo cos takiego. Moze to nie jest wielki problem i tylko ja to tak rozdmuchuje, a w praktyce, jak ktos potrzebuje super-wydajnosc, to uzywa np. tablicy albo struktur javy. Tak tylko pisze, bo moze cos zle rozumiem i moze ktos mnie poprawi. thinking-face

pithyless12:06:07

Jak ktoś jest zainteresowany tematem, to klasyka literatury jest "Purely Functional Data Structures" Chris Okasaki. Za to w "History of Clojure" (3.4.1 - Persistence and Immutability), Rich piszę czemu właśnie nie korzysta z tych struktur tylko z HAMTs. Jak ktoś nie czytał paper, to gorąco polecam; dobra lektura dla inżynierów w dokonywaniu odpowiednich kompromisów. https://download.clojure.org/papers/clojure-hopl-iv-final.pdf

👍 2
pithyless15:06:57

Meetupy w Krakowie napewno wrócą! Jak ktoś jest przyjezdny i chce się załapać to pisać śmiało na grupie (lub do mnie bezpośrednio). Szczególnie jak chcecie coś opowiedzieć, to pomożemy ogarnąć szczegóły i odpowiedni termin. ;)

ribelo19:06:31

jak tylko coś się będzie święcić to piszę się w ciemno @pithyless

👍 2
ribelo19:06:37

jakby nie było chętnych do pogadania o czymś, to mogę poopowiadać np o meanderze, choć w życiu o niczym nie opowiadałem

👍 9
greg19:06:56

Ja bym posłuchał

👍 2
ribelo19:06:20

właśnie CI odpowiadam w innym wątku ; )

Aleksander13:06:54

A coś większego z nim robiłeś?

ribelo16:06:16

meanderem? nie wiem kiedy zaczyna się coś większego

greg18:07:42

danzig wygląda zachęcająco. Podoba mi się to podejście z meanderem w makrach 👍

ribelo18:07:59

To proof of concept bardziej, choć sam używam I poprawiam na bieżąco

ribelo18:07:11

Jestem za słaby i absolutnie nie potrafię prowadzić projektów open source ale wierzę i liczę na to że ktoś mądrzejszy np podłapie koncept