Racket (formalmente PLT Scheme) è un linguaggio di programmazione innovativa che si basa su una ricca tradizione pratica e accademica.
Disegnare le foto o creare un server Web da zero. Racket include entrambe le batterie e di un ambiente di programmazione, in modo da iniziare!
Fai crescere il tuo programma
Modalità interattiva di racchetta incoraggia la sperimentazione, e gli script veloci facilmente comporre in sistemi più grandi. Piccoli script e grandi impianti, sia di prestazioni da codice nativo compilazione JIT. Quando un sistema diventa troppo grande da tenere in testa, è possibile aggiungere i tipi statici.
Fai crescere la tua lingua
Estendere Racket ogni volta che è necessario. Plasmarlo per soddisfare meglio i vostri compiti senza sacrificare l'interoperabilità con le librerie esistenti e senza dover modificare la catena di strumento. Quando meno è di più, è possibile rimuovere le parti di una lingua o di ricominciare e costruire una nuova.
Fai crescere la tua abilità
Che tu sia appena agli inizi, vogliono sapere di più sulle applicazioni linguaggio di programmazione o modelli, cercando di espandere i propri orizzonti, o pronto a tuffarsi nella ricerca, Racket può aiutare a diventare un miglior programmatore e System Builder.
Cosa c'è di nuovo in questa versione:
- nucleo repo
- Il gestore di pacchetto supporta a riferimenti diretti alla repository Git via & quot; git: // [...] & quot ;, & quot; http: // [...] .git & quot ;, e & quot; https: // . [...] git & quot; URL. (In precedenza, erano supportate solo riferimenti a GitHub.)
- Una scelta --clone per raco conf installare o aggiornare raco pkg facilita lo sviluppo del pacchetto basato su Git. Se un pacchetto X ha una fonte repository Git, installazione e l'aggiornamento del pacchetto tira dal repository in modalità di sola lettura. Utilizzando aggiornamento raco pkg --clone X passa l'installazione locale per un checkout repository che è adatto per modificare l'implementazione del pacchetto, l'emissione di richieste di tirare, spingere i cambiamenti, e così via.
- Uso raco aggiornamento pkg --lookup X passa il pacchetto di nuovo la modalità di installazione predefinita.
- DrRacket
- La sua sintassi di controllo on-line funziona con contenuto grafico.
- La maggiore disponibilità di BlueBox di DrRacket, compreso il metodo e le informazioni del costruttore.
- Il & quot; Aprire Richiede Percorso & quot; voce di menu supporta & quot; .. & quot; in percorsi relativi.
- dati
- Dati Aggiunto / enumerare, una libreria che supporta l'enumerazione efficiente di strutture di dati
- redex
- Il suo centro redex-controllo utilizza i dati (oltre al caso) enumerazione per cercare di trovare contro-esempi.
- La sua funzione di generare termine accetta argomenti aggiuntivi per riportare il & quot; i & quot; membro esimo di un modello utilizzando dati / enumerare (il che significa che supporta in modo efficiente grandi valori di & quot; i & quot;).
- La collezione comprende esempi 1993 big-step semantica pigri di Launchbury.
- HTDP
- 2htdp / di immagine può essere costruito su curve di Bezier, invece di solo linee rette (vedi la documentazione per tirato-punto).
- 2htdp / astrazione è una teachpack per docenti e studenti che desiderano utilizzare per / * loop, match, definire tipo e tipo-cases in ISL ISL e +.
- 2htdp / universo possono essere esportati tramite meccanismo di creazione del file eseguibile DrRacket e si comportano correttamente quando eseguito in modo indipendente.
- tipizzato-racchetta li>
- Racket digitato DrRacket mostra tooltip che mostrano i tipi di espressioni. Le descrizioni comandi vengono visualizzati anche per errori di tipo.
- contratti carichi Racket digitati generati. Questo riduce l'utilizzo della memoria e il tempo di avvio per i programmi Racket tipizzati.
- Racket digitate ha migliorato il supporto per le strutture prefabbricate, semafori futuri e canali asincrone.
- Racket digitato capisce quando due variabili diverse si riferiscono alla stessa cosa, e aggiorna i tipi di conseguenza. Questo migliora in particolare il controllo dei tipi di macro come la partita.
poligono
programmi
solo quando necessario
Cosa c'è di nuovo nella versione 5.93:
- Risolto un problema di concorrenza di basso livello con la libreria GUI per Mac OS X, che particolarmente colpito a 32 bit si basa;
- Fixed lanciatori basati GRacket (come `drracket`) in un impianto in stile Unix;
- Ampliato l'elenco delle versioni della libreria OpenSSL riconosciuti;
- piccoli problemi CSS fissi e incoerenze (relativi alla v5.3.6) nel nuovo stile scarabocchio come quello usato dalla documentazione Racket;
- Aggiunto il numero di versione di nuovo al & quot; racchetta & quot; directory all'interno del bundle distribuzione dei sorgenti.
Cosa c'è di nuovo nella versione 5.92:
- Racket 5.92 ha un nuovo sistema di pacchetti, tra cui un catalogo di centinaia di pacchetti già disponibili. Si prega di visitare http://pkgs.racket-lang.org/ per una panoramica dei pacchetti.
- Le versioni recenti inclusi il & quot; beta & quot; versioni del sistema di pacchetti. Racchetta versione 5.92 include numerosi miglioramenti suggeriti da queste esperienze preliminari:
- Un pacchetto è trattata come una singola collezione di default, così è ancora più facile da usare un repository Github come un pacchetto. Iniziate subito: http://docs.racket-lang.org/pkg/getting-started.html
- DrRacket include una nuova interfaccia grafica di gestione dei pacchetti, disponibile tramite il File | Package Manager ... voce di menu. L'interfaccia grafica è disponibile come programma autonomo tramite il & quot anche, gui-pkg-manager & quot; pacchetto.
- La distribuzione Racket principale è stato separato in circa 200 pacchetti. Il programma di installazione Racket combina il sistema di base con le versioni bundle di questi pacchetti.
- In alternativa, è possibile ora installare una distribuzione Racket minimo --- che è circa 1/10 delle dimensioni di distribuzione principale --- e aggiungere solo i pacchetti di cui avete bisogno.
- Installazione pacchetto supporta pacchetti precompilati che includono compilati bytecode e la documentazione resa, pacchetti significato possono essere installati rapidamente quando le versioni costruite sono disponibili. Tutti i pacchetti nella distribuzione principale sono disponibili in pre-costruito forma.
- Ulteriori miglioramenti sono in cantiere, in particolare tra cui documentazione del pacchetto sul sito web del pacchetto-catalogo.
- COMPATIBILITÀ. NOTA: PLANET, il sistema dei pacchetti Racket precedente, resterà in vigore per il prossimo futuro, ma ci aspettiamo tutto il lavoro pacchetto di spostare al nuovo sistema
- Al di là del sistema dei pacchetti, questa versione porta un certo numero di altre modifiche:
- documentazione HTML di racchetta ha una nuova e migliorata aspetto, grazie a Matteo Butterick.
- La documentazione include una guida di stile, & quot; Come programmare Racket & quot; http://docs.racket-lang.org/style/
- compilatore JIT di Racket supporta l'architettura ARM.
- Racket supporta la modalità di visualizzazione del Mac Retina.
- Le prestazioni del compilatore Typed Racket migliorato del 50% su alcuni programmi digitati; per esempio, vedere http://bit.ly/1d0Ye4z
- Il profiler fornisce una nuova modalità che utilizza la libreria errortrace per la produzione di profili a grana fine.
- Un nuovo report del profiler contratto quanto i programmi di trascorrere del tempo i contratti di controllo, e che i contratti sono più costosi.
- Le operazioni matematiche / export di libreria flonum veloce precisione 105-bit.
- Controlla sintassi gestisce identificatori generati, in particolare quelle introdotte dalla struct (ad esempio selettori di campo) e Redex (ad esempio, E_1, E_2)
- 2htdp / batch io include funzioni per trattare con HTML / XML in file e siti web come X-espressioni più vantaggiosa per le applicazioni web-based attraversamenti grafico.
- Il `gen: set 'interfaccia generica estende le operazioni di set per lavorare su tipi definiti dall'utente che applicano metodi stabiliti, così come su altri set-come tipi built-in, come ad esempio gli elenchi .
- Pitti supportano la conversione in formato SVG.
- Sotto Unix, Racchetta fornisce le voci del desktop (file .desktop) per i suoi eseguibili grafiche.
Cosa c'è di nuovo nella versione 5.3.6:.
- Racket v5.3.6 è una versione di bugfix
- Si elimina gli errori da v5.3.5 che le persone hanno trovato durante l'estate.
Cosa c'è di nuovo nella versione 5.3.5:
- Si tratta di un rilascio per un fine particolare per abbinare la arrivo di & quot; Realm of Racket & quot; nelle librerie. Racket v5.3.5 aggiunge un singolo collezione regno alla versione v5.3.4. La nuova collezione contiene il codice sorgente che i lettori del Regno possono voler usare per gli esperimenti.
Cosa c'è di nuovo nella versione 5.3.4:
- Extflonums (80-bit numeri in virgola mobile) sono supportati su alcune piattaforme x86 / x86_64 - tra cui Windows, e incluse le piattaforme dove Racket è compilato per utilizzare le istruzioni SSE per l'aritmetica flonum. Grazie a Michael Filonenko.
- OS X:. DrRacket e tutte le altre applicazioni sono ora firmati con una chiave ufficiale
- Tally Maze:. un nuovo gioco basato una enumerazione di labirinti 2d
- Il Coach Optimization, un plugin DrRacket, è stato spostato dalla distribuzione Racket al repository di pacchetti Racket. Installarlo con:. Raco pkg install ottimizzazione-allenatore
- Redex: define-union-lingua ora unisce produzioni quando lingue definiscono gli stessi simboli non terminali. Grazie a William Bowman.
- La libreria SRFI / 19 è ora compatibile con il tipo di struttura di data esportato da racchetta / base.
Cosa c'è di nuovo nella versione 5.3.3:
- Questo è un bug-fix release per affrontare una difetto in DrRacket v5.3.2 per quanto riguarda le interazioni tra la finestra del profilo e la colorazione della sintassi.
Cosa c'è di nuovo nella versione 5.3.2:
- core Biblioteche:
- La nuova libreria matematica fornisce funzioni e strutture di dati per lavorare con i numeri e le collezioni di numeri. Le funzioni includono non elementari (come gamma, zeta, W di Lambert), di teoria dei numeri (fattorizzazione, aritmetica modulare), algebra lineare (aritmetica, decomposizioni) e statistiche (valori previsti, statistiche d'ordine, binning). Strutture dati includono bigfloats precisione arbitraria, distribuzioni di probabilità, e array multidimensionali.
- I nuovi / estragga, lima / untgz e file / biblioteche decomprimere file di supporto disimballaggio formati di archivio ampiamente utilizzati.
- Il nuovo-richiedere pigro modulo permette ai programmi di ritardare il carico e di istanze di moduli helper fino al momento dell'utilizzo.
- La nuova biblioteca di dati / vettore di bit fornisce un'implementazione di vettori di bit (una sequenza mutabile di booleani) sostenere popcount.
- La racchetta / biblioteca generico permette di specificare implementazioni del metodo di default per i tipi di dati di base.
- la libreria OpenSSL in grado di verificare i nomi degli host e utilizzare certificati del sistema operativo per verificare i certificati.
- Pacchetto:
- Un nuovo sistema pacchetto è in versione beta. Questo sistema sarà il successore di Planet. Differisce notevolmente da quest'ultima. Per ulteriori informazioni, si prega di leggere la documentazione a http://docs.racket-lang.org/planet2/ ed elencare i pacchetti sul nuovo indice in https://pkg.racket-lang.org/.
- Il comando test raco supporta testing per collezione e confezione, oltre a da di directory e file, con le opzioni -c e -p.
- Biblioteche insegnamento:
- batch io: le funzioni di lettura e scrittura lavorare su stile Unix standard input e output .
- DrRacket:
- GUI DrRacket è più reattivo.
- La modalità di inserimento automatico parentesi è migliorata.
- Scribble:
- Scarabocchio rende i file in formato Markdown attraverso il flag della riga di comando --markdown. Uso Esempio caso:. Genera documentazione ospitato su GitHub o BitBucket
- Documentazione riferimento incrociato è memorizzato in un database SQLite3, il che significa che SQLite3 è necessario per costruire la documentazione Racket su macchine Unix / Linux (ma SQLite3 è incluso nelle distribuzioni Racchetta per Windows e Mac OS X).
- Utilizzo di un database per le informazioni cross-reference riduce in modo significativo l'impatto iniziale di DrRacket, poiché DrRacket non ha più bisogno di caricare tutte le informazioni dei riferimenti incrociati.
- Racket digitato:
- programmi Racket digitato possono richiedere trama / digitato per disegnare trame. List- e funzioni accettando-vector accettano sequenze generali.
- Racket digitato supporta delimitati continuazione e marchio continuazione operatori di Racket.
- Redex:
- Aggiunto il maggiore sostegno per definire-giudizio-forma, compresa la generazione casuale per giudizi e la visualizzazione delle sentenze ben formati.
- Deprecation:
- sono stati rimossi in questa versione le seguenti ...
- lo strumento da riga di comando del pianeta; uso raco pianeta invece.
- La seguente è stato deprecato e verrà rimosso nella versione agosto 2013 ...
- biblioteca mzlib / Class100; utilizzare racchetta / classe, invece.
Sistema
informazioni
Cosa c'è di nuovo nella versione 5.3.1:
- Racket:
- I dispacci di forma caso di caratteri, fixnums, simboli e parole chiave in tempo logaritmico. (Grazie a Jon Zeppieri.)
- La nuova biblioteca racchetta / formato offre nuove e migliorate funzioni di stringhe di formattazione.
- di registrazione includono il supporto migliorato il filtraggio in base al nome di un logger. Una nuova forma di definire-logger semplifica l'uso di registratori di nome. Forme come log-debug ora supportano formattazione di stringhe.
- Il per ora moduli supportano #: break e #:. clausole finali
- La nuova variabile PLTCOMPILEDROOTS ambiente configura il percorso di ricerca per bytecode compilato.
- DrRacket:
- Controlla sintassi ora riassume la documentazione (ad esempio, le caselle blu) per l'identificatore del punto di inserimento nell'angolo in alto a destra della finestra di definizioni.
- Controlla sintassi ora gira continuamente per i programmi che dichiarano la loro lingua all'interno dell'origine. Questa modalità è stata disponibile per alcune delle versioni precedenti, ma ora abilitato per impostazione predefinita.
- DrRacket può controllo ortografico costanti di stringa (attivare questa nel menu Modifica).
- Racket digitato:
- tipizzato Racket interpreta il tipo Qualsiasi come un contratto diverso. Questo potrebbe segnalare errori dinamici in alcuni programmi / senza tipo esistenti tipizzati misto. La correzione normale è di sostituire l'uso di qualsiasi con più tipi specifici.
- NaN è incluso in tutti i tipi in virgola mobile di tipizzato Racket, il che rende i tipi in virgola mobile precisione più facile da usare.
- Racket digitato supporta un'operazione di fusione con il supporto per i tipi di ordine superiore.
- Racket digitato fornisce: query di tipo / args e: query di tipo / risultato utilità per esplorare i tipi al REPL .
- Varie:
- La collezione offre funzioni di compatibilità da parenti Racket, come defmacro e liste mutevoli. Queste caratteristiche sono fornite per facilitare il porting del codice a Racket. Evitarli nella moderna codice Racket.
- Immagini dei widget fornite dalla libreria Racket GUI sono incluse nella documentazione. (Grazie a Diogo F. S. Ramos.)
- FrTime è stato portato su racket #lang. (Grazie a Patrick Mahoney.)
- Deprecation:
- La seguente è stato deprecato e verrà rimosso nella versione Gennaio 2013:
- lo strumento da riga di comando del pianeta; uso raco pianeta invece.
- La seguente è stato deprecato e verrà rimosso nella versione agosto 2013:
- biblioteca mzlib / Class100; utilizzare racchetta / classe, invece.
Strumenti
Cosa c'è di nuovo nella versione 5.2.1:
- Questa versione aggiunge un incremento delle prestazioni di matcher di Redex, un migliorato & quot; trama & quot; biblioteca, trame di bell'aspetto, doppio asse personalizzabile zecche / trasformazioni, istogrammi in pila, e campi vettoriali 3D.
- I miglioramenti delle prestazioni includono l'utilizzo epoll () / kqueue (), cross-modulo inline, e l'utilizzo di SSE per le operazioni in virgola mobile JIT-compilato.
- Le stringhe letterali, espressioni regolari, ecc sono internato.
- DrRacket utilizza icone componibili ray-tracing, e tipizzati Racket consente errori di tipo personalizzazione nelle macro.
- & quot; 2htdp / universo & quot; sostiene un game pad gestore chiave sperimentale.
- Il & quot; db & quot; biblioteca ora supporta le transazioni nidificate e gli array PostgreSQL.
I commenti non trovato