Fork me on GitHub
#clojure-italy
<
2019-12-17
>
reborg08:12:13

Buon Lisp!

Andrea Imparato12:12:15

buon lisp a tutti!

alan14:12:37

Non riesco a capire come fare per fare l'override del pretty-print di cider. In sostanza se faccio println di un ->DATASET tutto abbastanza ok.

(defrecord DATASET [id cols data])

(defmethod print-method DATASET [v ^.Writer w]
  (let [id (:id v)
        cols (:cols v)
        data (conj (vec (take 5 (:data v))) \u2026)]
    (pr {:id id :cols cols :data data})))
; {:id RangeIndex(start=0, stop=20, step=1), :cols unnamed, :data [0 1 2 3 4 …]}
Ma se semplicemente valuto lo stesso record nella REPL di cider mi torna a risolvere tutta la lazyseq in :data

andrea.crotti15:12:09

eh mi sa che e' u problema conosciuto

andrea.crotti15:12:23

anche se a me sembra funzionare al momento

andrea.crotti15:12:33

ma magari non ho capito bene cosa fai, screenshot?

alan15:12:00

Ho un record tipo {:id 1 :cols 3 :data (range 50)} dove in :data ci possono essere potenzialmente anche milioni di valori. Siccome è una lazy-seq vorrei evitare di realizzarla completamente se non richiesto e soprattutto di scassare REPL a destra e a manca. L'unica soluzione che mi è venuta in mente è cambiare il metodo di print del record

andrea.crotti15:12:59

se usi pprint invece di pr aiuta?

alan15:12:07

Nope, cioé cambia (println (myrecord)), ma se faccio myrecord nella REPL cider mi becco la solita rappresentazione

andrea.crotti15:12:47

ah cmq abbiamo un applicazione fullstack clojure che sta diventando un pachiderma

andrea.crotti15:12:15

si comincia a far fatica a lavorarci, qualche truccone per vedere cosa si mangia tutte le risorse?

andrea.crotti15:12:54

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
ClojureScript                  142           3505            529          18433
Sass                            62           3379            288          11320
Clojure                         87           1413            194          10304
ClojureC                       121            895             74           5168

andrea.crotti15:12:04

e' grossetta in effetti pero' ce la dovremmo fare ancora

andrea.crotti15:12:10

eh si stavo giusto provando con quello

andrea.crotti16:12:18

ci sta mettendo 60 anni a aprire la clojure application

andrea.crotti16:12:48

mbp con 16GB di ram e sembra che sto usando un pentium 3 con 512 MB

andrea.crotti16:12:38

in questi momenti mi viene voglia di provare Rust 😄