Come programmare in Ante
Introduzione
Ante è un linguaggio di sistema compilato che si concentra sulla fornitura di un'estrema estensibilità attraverso l'uso di un'API di compilazione. Usando tale API, le estensioni del compilatore possono essere create all'interno del programma stesso, consentendo l'aggiunta di un garbage collector, sistema di proprietà, ltri automatici, ecc, il tutto in una normale libreria senza richiedere alcuna modifica al compilatore stesso. Ante fornisce soluzioni di alto livello come l'interpolazione delle stringhe, i puntatori intelligenti e la corrispondenza dei modelli, pur mantenendo la capacità di interagire a un livello inferiore se necessario. A seguire sarà illustrato come programmare in Ante.
Occorrente
- Computer
- Connessione Internet
Creare il plugin
Il linguaggio Ante può essere riassunto come un linguaggio multi-paradigma che si concentra sulla leggibilità e sulla sicurezza di default, senza sacrificare la velocità. Questo approccio si presta ad un linguaggio compilato con un accurato sistema di tipi, che è esattamente quello che è l'attuale implementazione di Ante (fatta con llvm). La meta-programmazione in Ante si ottiene utilizzando l'API del compilatore. Il processo assomiglia alla creazione di un plug-in del compilatore, solo che il plugin viene creato all'interno dell'unità di compilazione del programma di compilazione e non fa parte del compilatore stesso.
Importare il programma
Con questo approccio, Ante spera di ottenere l'estensibilità consentendo agli utenti di implementare le proprie funzionalità che altrimenti si baserebbero su progettisti di linguaggi per implementare. Estendendo l'API del compilatore, un programmatore può aggiungere cose come un garbage collector o un sistema di proprietà alla lingua. Come tutti i moduli, devono essere importati manualmente in un programma, in modo che non interferiscano con i moduli che non li importano.
Ante ha attualmente piena compatibilità con e da codice C, anche se sto valutando l'implementazione del nome mangling.
Compilare le funzioni
Attualmente, questo è solo pseudo-implementato dal sistema del modulo, in cui una funzione può essere dedotta dal suo modulo controllando il primo tipo di parametro. Questo approccio consente a C di chiamare le funzioni di Ante, ma le funzioni con nomi simili devono differire nel loro primo parametro e nel modulo dichiarato. Queste funzioni sono compilate su Str_print, i32_print, ecc, ma possono essere chiamate con print "test str" dove il compilatore sa che c'è A. No global print function, e B. "test str" è di tipo Str, quindi la funzione è dedotta per essere stampata dal modulo Str. Un subreddit / r / Ante.
Consigli
- Ante fornisce soluzioni di alto livello come l'interpolazione delle stringhe, i puntatori intelligenti e la corrispondenza dei modelli, pur mantenendo la capacità di interagire a un livello inferiore se necessario