2012-09-15 9 views
8

Sto convertendo diversi moduli da OCaml a F #. Per cacciare i bug e verificare alcune delle più sottili differenze, sto eseguendo entrambe le versioni contro lo stesso test case allo stesso tempo.Conversione da OCaml a F #: Esiste un IDE OCaml con debug della GUI come Visual Studio

Per F # sto usando il debugger di Visual Studio e per OCaml sto usando ocamldebug. Poiché Visual Studio è una GUI e ocamldebug è una riga di comando, fare i confronti richiede più attenzione rispetto alla scansione visiva avanti e indietro.

Mi chiedevo se c'è un IDE OCAMl che supporta un debugger della GUI con stepping mentre mostra la linea di origine evidenziata e la finestra separata per visualizzare i valori.

EDIT

ho fatto un po 'più alla ricerca dopo che Jack ha postato una risposta e poi ricordato il motivo per cui non ho sceglierne uno a pochi mesi fa, quando ho fatto questo.

Le ragioni sto passando su quelli che trovo e stare con gli strumenti della riga di comando OCaml sono

  1. Gli strumenti della riga di comando vengono con il compilatore, in modo che siano in corso e il lavoro. C'è qualche documentazione sugli strumenti, ma onestamente ho dovuto passare qualche ora a scrivere il mio manuale ocamldebug con esempi per diventare abile con ocamldebug.

  2. Si basano su EMACS. Non è EMACS, ma io; Odio solo il modo in cui funziona. Inoltre tutti gli strumenti che funzionano con EMACS ho scoperto che sono solo wrapper attorno a ocamldebug. Quindi niente ha guadagnato, ma più memorizzazione dei comandi. Nota: EMACS è attivamente mantenuto e aggiornato.

  3. Si basano su Eclipse. Ho usato Eclipse molto per lavorare con ANTLR, ma creo solo un sistema ogni pochi anni e ho delle note molto buone su di esso, quindi vale il mio tempo. Una volta ottenuto il funzionamento di Eclipse per un'importante versione di ANTLR, non lo aggiorno di nuovo per anni. Per il poco tempo che ho in programma di eseguire il debug di OCaml, il costo è troppo alto. Nota: Eclipse è attivamente mantenuto e aggiornato.

  4. Non eseguono il debug. Poiché ci sono così pochi strumenti GUI per OCaml, anche un editor avanzato è un vantaggio per alcuni. Non per me in questo momento.

  5. L'attrezzo/plug-in non è stato aggiornato da alcuni anni.

Questo non è un down di OCaml, solo i dettagli come li trovo. Non ho problemi con OCaml, vorrei solo essere più produttivo con esso.

+3

Trovo inappropriato questo uso del post del blog "Rise and Fall of OCaml". Prima di tutto, gli strumenti che si menzionano (Eclipse, ecc.) Sono sempre stati usati da una minoranza della comunità e quindi non si sforzano, non vedo una chiara tendenza delle persone a smettere di mantenere gli strumenti (ci sono stati mezzi morti mezzi morti progetti su tutto il Caml Hump per quanto posso ricordare). In secondo luogo, l'autore del blog ha o ha avuto un interesse commerciale per le persone che si spostano su F #: nonostante la brillantezza tecnica dell'autore e alcuni punti positivi, questo post è parziale; diffonderlo favorisce il FUD. – gasche

+0

"l'autore del blog ha o ha avuto interessi commerciali nelle persone che si spostano in F #". Mi dispiace ma è un'assurdità completa. Siamo stati pesantemente investiti in OCaml con numerosi prodotti commerciali basati su OCaml in vendita e in cantiere. Abbiamo avuto un forte incentivo a continuare con OCaml e lo abbiamo fatto per tutto il tempo che abbiamo potuto, ma è diventato sempre meno commercialmente redditizio, quindi siamo stati costretti a lasciar perdere. –

+0

Di interesse: [Motivo] (http://facebook.github.io/reason/index.html#reason) –

risposta

3

Impossibile trovare un debugger di GUI OCaml con la stessa capacità di Visual Studio che utilizza F # che soddisfa i miei requisiti.

Se qualcuno ne trova uno o ne crea uno e lo pubblica come risposta, li accolgo volentieri.

4

Penso che molte persone stiano usando il debugger di OCaml (ocamldebug) da dentro emacs (vedere la parte inferiore di quella pagina per i dettagli).

Non so se supporta il debug (ancora), ma lo TypeRex OCaml Programming Studio sembra un progetto interessante.

Infine, ci sono alcuni vecchi plugin non salvati di Eclipse che è possibile provare (ad es., Camelia), anche se sospetto che siano stati marciti per troppo tempo per essere di grande utilità a questo punto.

+0

Ho dato un'occhiata al sito web TypeRex e non ho trovato alcun riferimento al debug. –

+0

Ho dato un'occhiata al sito web Camelia ed è un wrapper della GUI attorno a ocamldebug. Devono darti una linea di comando per usare ocamldebug per sfruttarne appieno la potenza. Ho dato a Camelia una rapida installazione e aspetto, ma non ha funzionato in modo intuitivo, quindi l'ho disinstallato. –

+0

+1 per sforzo, ma non posso accettarlo come risposta. –

2

Mi chiedevo se esiste un IDE OCAMl che supporta un debugger della GUI con stepping mentre mostra la linea di origine evidenziata e la finestra separata per visualizzare i valori.

sto appena tornando in OCaml e Linux ora, dopo una pausa di quattro anni, ma, lo scorso ho guardato, Linux ha avuto molto povere librerie GUI e OCaml avuto molto scarsa interoperabilità, in modo che nessuno abbia mai avuto molto lontano scrittura non applicazioni GUI banali in OCaml.

+0

Provato con Haskell alcuni anni fa, ma è troppo puro, ora guardando sia OCaml che F # (entrambi sono più pratici) per scrivere un'app GUI multipiattaforma che userebbe il C-lib di terze parti per un certo numero di crunch. Considerando che hai usato OCaml, passerai a F # e ora 'tornerai in OCaml e Linux' (io uso Debian x86_64), quale lingua consiglieresti? *oggi* ? (Preferirei continuare a usare * una * lingua e chiamare semplicemente C-lib di terze parti richieste e lib di GUI richieste tramite lablgtk o GTK #. Non voglio farlo in C (++) e sono pronto per scambia alcune prestazioni per l'utilizzo del linguaggio FP. :-) Qualche suggerimento? – gour

+1

Consiglierei F # a mani basse. OCaml è ancora una lingua degli anni '90. –

+0

Grazie. Significa molto per me. ;) – gour