This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-07-22
Channels
- # beginners (20)
- # boot (5)
- # cider (14)
- # cljs-dev (15)
- # cljsrn (1)
- # clojure (81)
- # clojure-greece (7)
- # clojure-italy (17)
- # clojure-spec (5)
- # clojure-uk (15)
- # clojurescript (143)
- # data-science (1)
- # datomic (7)
- # defnpodcast (4)
- # docs (1)
- # figwheel-main (1)
- # fulcro (37)
- # graphql (1)
- # hoplon (3)
- # luminus (1)
- # reitit (5)
- # shadow-cljs (10)
- # spacemacs (5)
- # tools-deps (14)
- # vim (7)
Per voi che siete esperti di linguaggi - sto cercando di scegliere un formato intermedio, può essere bytecode o art, non deve essere un linguaggio per scrivere ma per controllare bachi/omissioni/correttezza. Praticamente dal nostro DSL dovrei convertire in questo linguaggio per poi convertire in Clojure. Mi è 🐋ta un idea malsana - tradurre direttamente in Clojure ma non so quanto i vari tool di analisi siano adatti. Il nostro DSL ha tipi + funzioni su tipi (tipo funzioni excel). Un'altra cosa che vorrei evitare è di riscrivermi un parser+interpreter. Per quello chiedevo di Dahl... Anyways, grazie!
Ottima domanda
Se il vostro DSL è Turing completo puoi già escludere Dhall in partenza
Se non lo è, allora è lo use-case perfetto per Dhall
Se ho capito bene il flow dovrebbe essere: DSL -> Dhall -> Typecheck+Execute Dhall -> eval Clojure
@nilrecurring si esatto
È in teoria Turing completo ma da quello che ho capito dhall limita la ricorsione
Che per noi è cosa buona :)
Anyways, qui ho quasi finito il compilatore, mi manca da finire il typechecker (+ debuggare tutto e controllare che sia effettivamente fedele alla spec) 😄
Posto gli updates su questa issue: https://github.com/f-f/dhall-clojure/issues/1
Oh grazie! Controllo li allora
Devo ancora capire se si tratta del linguaggio giusto ;)
Allora ti consiglio di partire da qua 🙂 http://hackage.haskell.org/package/dhall-1.16.1/docs/Dhall-Tutorial.html
O da qua: https://github.com/dhall-lang/dhall-lang/wiki/Getting-started%3A-Generate-JSON-or-YAML
In effetti il secondo link è parecchio migliore del primo
Ok grazie ancora