Domanda

Sto cercando una versione di Scheme o anche LISP che posso usare per recuperare alcune abilità di sviluppo di Lisp perse. Alcune funzionalità web sarebbero belle ma non essenziali.

Ho esaminato gli schemi Plt e MIT e, sebbene entrambi sembrino piuttosto buoni, il Plt sembra essere più ricco di funzionalità. Ho anche esaminato le implementazioni di Lisp ma tutto sembra abbastanza costoso.

Preferisco implementazioni gratuite / economiche in quanto è molto probabile che si tratti di una programmazione occasionale per hobby. Quali consigli vorresti avere?

È stato utile?

Soluzione

Andrei con la racchetta. Potrebbe non essere veloce come SBCL, ma ha librerie e documentazione eccellenti, nonché un ambiente integrato progettato per farti sviluppare ed eseguire i programmi Schema direttamente dal gate. Quello che mi piace davvero dell'IDE di Racket, DrRacket, è quello che non devi fare & # 8212; non devi imparare Emacs, non devi imparare SLIME, non devi preoccuparti di dare la caccia librerie di terze parti, poiché praticamente tutte le librerie destinate a Racket sono disponibili in pacchetti . Tutto sommato, riduce davvero la curva di apprendimento e ti consente di concentrarti sul compito attuale: scrivere un ottimo codice.

Inoltre, viene fornito con un web server se vuoi creare Racket- siti web alimentati (che sto attualmente esaminando).

Altri suggerimenti

Ho fatto un bel po 'di sperimentazione con questo.

Clozure Common Lisp (n & # 233; e Open MCL) è di gran lunga il più veloce ; 25-30 percento più veloce del prossimo concorrente sul mio Mac Mini Intel.

Schema MIT funziona abbastanza bene su un Mac. Penso che alla fine l'ho compilato da solo, ma ci sono binari in quel sito. Lo schema PLT è anche bello, e forse un po 'meglio integrato nel mondo Mac. (Lo schema PLT è ora noto come Racket , ma non l'ho ancora sperimentato dopo la modifica. )

Sono un grande fan di Clojure, SBCL e Clozure CL. Sono tutti fantastici, ma sono anche eccessivi se tutto ciò che vuoi fare è rinfrescare le tue costolette di Lisping. Tutti richiedono quantità assurde di ricerca di informazioni, ricerca nella mailing list, installazione di pacchetti, aggiramento di irc, ecc.

Dr Scheme si installa e si avvia. Ho finito i primi 3 capitoli della SICP quattro anni e mezzo fa usando il Dr Scheme. Niente era più profondo della definizione di un valutatore dello schema in sé. Una volta che avrai capito che avrai molta più pazienza per i fratelli della forza industriale.

Per Scheme, DrRacket è fantastico (incluso in Racket ).

Per Common Lisp, Ready Lisp è fantastico. Un singolo dmg con SBCL, Aquamacs e Slime pronti all'uso.

Dal sito Web:

  

Ready Lisp è un'associazione di diversi popolari pacchetti Common Lisp in particolare per Mac OS X, tra cui: Aquamacs, SBCL e SLIME. Una volta scaricato, avrai un unico pacchetto di applicazioni che puoi fare doppio clic su & # 8212; e ritrovati in un REPL Common Lisp completamente configurato.

     

È l'ideale per gli utenti di OS X che vogliono provare la bellezza di Common Lisp con un minimo di seccatura. Potrebbe anche essere utilizzato dagli insegnanti per offrire agli studenti Mac un ambiente Common Lisp gratuito e completo da portare a casa con loro.   Requisiti

     

La versione corrente di Ready Lisp è 20090127 e richiede Mac OS X 10.5 (Leopard).

     

Include le seguenti versioni del software componente:

Aquamacs  1.6
SBCL    1.0.24
SLIME   2009-01-23
CL-FAD  0.6.2
CL-PPCRE    2.0.1
LOCAL-TIME  0.9.3
SERIES  2.2.10
CL HyperSpec    7.0
paredit.el  20
redshank.el     1
cldoc.el    1.16

Ho appena iniziato a giocare con Clojure . Apparentemente ha un bel framework web e si compila in bytecode JVM.

Uso anche DrScheme abbastanza. È un IDE semplice ma utile.

A seconda di come definisci " Lisp " ;, Clojure può adattarsi al conto. Funziona su OS X bene (funziona ovunque su JVM). Ha funzionalità web ed è gratuito.

Ha anche il vantaggio di essere nuovo, fresco e divertente da usare. Potrebbe essere l'ideale per la programmazione di hobby. È facile scrivere app Web o app GUI (usando Java Swing o anche Qt).

Non l'ho usato da solo, ma Steel Bank Common Lisp ha ricevuto alcuni segnali positivi su reddit. È open source e gratuito, quindi il prezzo è giusto per la programmazione di un hobby.

In passato, ho avuto GNU Common Lisp in esecuzione sul mio macbook pro.

Se stai cercando Scheme puoi dare un'occhiata al JazzScheme appena rilasciato.

Consiglio Racket ai nuovi arrivati, poiché fornisce uno dei migliori IDE per i principianti dello Scheme (o meglio, i principianti della programmazione che usano Scheme, o meglio, si fanno strada attraverso HtDP).

http://racket-lang.org/

Un'altra opzione, per le persone che sono più interessate a un piccolo sistema Scheme per modificarlo da soli o leggere il suo codice sorgente, è Larceny Scheme, che è di interesse in gran parte perché il suo compilatore JIT, Twobit, è implementato interamente in Scheme.

http://www.larcenists.org/


Aggiornamento: Inoltre, Chez Scheme è stato recentemente di provenienza aperta:

https://github.com/cisco/ChezScheme

(Potrebbe non essere "piccolo" come Larceny, ma ha un compilatore di ottimizzazione molto aggressivo.)

Potresti voler dare un'occhiata a l'Associazione degli utenti Lisp o Common Lisp Wiki per vedere cosa c'è. Mi sono costituito con Steel Bank Common Lisp ed Emacs, ma finora ci ho fatto poco.

Se stai solo programmando un hobby, LispWorks ha una versione gratuita e personale che è abbastanza potente e sofisticata. Il problema più grande è un limite di tempo di esecuzione di diverse ore. Quindi, non dovrai scrivere server in esecuzione da molto tempo, ma ciò non significa che non sia uno strumento utile.

CLISP funziona su quasi tutto, ed è piuttosto carino, in realtà non fa discussioni. (Importante se vuoi scrivere un vero server, ma come ci hanno mostrato PHP e Perl, Apache + [insert language] è una piattaforma molto praticabile.)

Ultimamente mi sono posto la stessa domanda. Avendo usato DrScheme su OS X sarebbe stata la mia prima scelta di distribuzione Scheme per qualsiasi piattaforma. IDE molto bello, funzionalità di debug e un buon set di librerie / framework (incluso un bellissimo toolkit GUI che "funziona solo ... anche su Mac" ;-))

Tuttavia, ora sto cercando un ambiente altrettanto confortevole per Common Lisp. È arrivato a CCL (OpenMCL) contro SBCL. SBCL sembra essere la scelta popolare ma ho letto che su OS X non supporta il threading. (È davvero un problema?). Clozure CL, d'altra parte, vanta un buon supporto per thread nativi, obcj-bridge, ecc ...

Sto trovando CCL un po 'strano, ma ci continuerò per un po' - Sembra ancora la scelta logica per l'integrazione.

Uso Emacs 23 (creato dal sorgente usando --with-ns) e Slime come ambiente e questo funziona bene per me. : -)

Ho scoperto che Chicken funziona bene per Scheme ed è disponibile tramite homebrew.

brew install chicken

La maggior parte del codice di SICP funziona con piccole modifiche.

Utilizza Racket . Sono molto contento!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top