Clojure è un linguaggio generico che supporta lo sviluppo interattivo che incoraggia uno stile di programmazione funzionale e semplifica la programmazione multithread.
Quando guardano i decoratori di Python qualcuno ha fatto la dichiarazione, che sono potenti come le macro di Lisp (in particolare Clojure). Guardando gli esempi forniti in PEP 318, mi sembra che siano solo un modo fantasioso di usare semplici funzioni di ordine superiore in Lisp: def attrs(**kwds): def decorate(f): …
Sono nuovo di Clojure. Riesco a capire il codice che scrivo ma diventa troppo difficile capirlo in seguito. Diventa difficile abbinare le parentesi. Quali sono le convenzioni generiche da seguire riguardo alle convenzioni di denominazione e al rientro in varie situazioni? Ad esempio, ho scritto un esempio di destrutturazione per …
Sono abbastanza nuovo nel mondo Clojure. Apprezzo il fatto che si abbia un facile accesso a tutte le librerie Java tramite le funzionalità di interoperabilità di Clojure, ma mi chiedevo quanto Clojure si trovi sulle sue gambe. Naturalmente ci sono alcune piattaforme, come Android, in cui l'interoperabilità con Java sarà …
Quali sono le differenze chiave tra la corrispondenza dei modelli in queste due lingue? Non mi riferisco alla sintassi, ma alla capacità, ai dettagli di implementazione, alla gamma di casi d'uso e alle necessità. Le applicazioni Scala (ad es. Lift and Play) parlano con orgoglio delle abilità di adattamento dei …
Alla fine come FP ha fatto, alla fine, tutti i nostri programmi sono strutturati. Cioè, non importa quanto li facciamo puri o funzionali: sono sempre tradotti in assemblaggio, quindi ciò che scorre dietro le cappe sono istruzioni, stati e loop. Stiamo emulando FP. Come noob dell'hardware, la mia domanda è: …
Sto cercando di imparare Lisp e guardando tutte le Lisp là fuori e le loro differenze. Vedo che in alcune implementazioni di Scheme, puoi usare parentesi quadre in modo intercambiabile con parentesi tonde per leggibilità, quindi poiché sono trattate allo stesso modo, suppongo che siano ancora solo espressioni S come …
Ho sentito che le macro Clojure sono più facili da scrivere ma non affidabili come le macro igieniche di Racket. La mia domanda ha 2 parti: In che cosa gensymdifferisce dalle macro igieniche? Cosa forniscono le macro Racket che Clojure non ha? (che si tratti di sicurezza, componibilità o altro)
Sono uno studente universitario del terzo anno in un programma di ingegneria del software e ho portato l'idea di leggere SICP a un consulente per ottenere una comprensione più profonda e fondamentale dei principi alla base di tutto questo software che progettiamo. Suggerì di non imparare Scheme per completare il …
Ho letto delle biblioteche che le persone hanno scritto per linguaggi come Java e C # che fanno uso della tessitura del codice byte per fare cose come intercettare chiamate di funzioni, inserire codice di registrazione, ecc. Ho anche letto su macro Lisp / Clojure in un cercare di capire …
Per quanto ho capito, sia Scala che Clojure sono stati progettati come nuove lingue dipende dalla JVM e si integrano facilmente con il codice Java, nel senso che consentono di utilizzare le classi Java all'interno del codice Scala e Clojure. A partire da Java 8 (e forse anche più fortemente …
Ho provato a valutare un'espressione Clojure con funzioni stenografiche nidificate oggi, e non me lo ha permesso. L'espressione era: (#(+ % (#(+ % (* % %)) %)) 5) ; sorry for the eye bleed L'output è stato: IllegalStateException Nested #()s are not allowed clojure.lang.LispReader$FnReader.invoke (LispReader.java:630) ...and a bunch of other …
Ho fatto molta codifica di autoapprendimento, ho avuto qualche esperienza con i modelli di programmazione parallela: attori, memoria transazionale software, flusso di dati. Quando sto provando ad applicare queste architetture alla vita reale - in un'applicazione Web ad alto carico - qualsiasi modello non supporta la durabilità e la persistenza …
Uno dei principali vantaggi della memoria transazionale del software che viene sempre menzionato è la componibilità e la modularità. Frammenti diversi possono essere combinati per produrre componenti più grandi. Nei programmi basati su lock, spesso non è così. Sto cercando un semplice esempio che illustra questo con il codice attuale. …
Stai cercando di imparare Clojure e non puoi fare a meno di sentirti continuamente informato su come Clojure sia tutto basato su dati immutabili. Ma puoi ridefinire facilmente una variabile usando defgiusto? Capisco che gli sviluppatori Clojure lo evitino, ma potresti evitare di cambiare le variabili in qualsiasi lingua lo …
Secondo il principio di Separazione comando-query , oltre a Pensare nei dati e DDD con presentazioni Clojure, si dovrebbero separare gli effetti collaterali (modificando il mondo) da calcoli e decisioni, in modo che sia più facile capire e testare entrambe le parti. Questo lascia una domanda senza risposta: dove relativamente …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.