Pyrex

Software screenshot:
Pyrex
Dettagli del software:
Versione: 0.9.9
Data di caricamento: 5 Jun 15
Sviluppatore: Greg Ewing
Licenza: Libero
Popolarità: 77

Rating: 4.0/5 (Total Votes: 2)

Pyrex è un linguaggio progettato per la creazione di moduli di estensione Python scritte in codice C.
E 'progettato per colmare il divario tra il bello, di alto livello, mondo facile da usare di Python e il disordinato, a basso livello mondo di C.
Per i tipi di base come numeri e stringhe questo non è troppo male, ma niente di più elaborato e siete in Python raccogliendo oggetti a parte con i / C chiamate API di Python, che richiede di essere meticoloso circa mantenere il numero di riferimento, controllo degli errori ad ogni passo e per la bonifica correttamente se qualcosa va storto

Cosa c'è di nuovo in questa versione:.

  • Alcune caratteristiche di interfacciamento con codice C ++ sono state introdotte in questa versione.
  • Pyrex luoghi non più catturati eccezioni nel stato di thread. Ciò garantisce che le eccezioni e traceback non fuoriuscire dal clausola except che li sorprese, a meno che non si fa qualcosa a garantirne la conservazione in modo esplicito.
  • Al momento, sarà, per impostazione predefinita, essere consentito un argomento a una funzione Python che viene dichiarato come un tipo di estensione a ricevere il valore None; per evitare questo, è necessario qualificare la dichiarazione argomento con 'no Nessuno'.
  • È ora possibile definire e tipo di estensione con gli attributi Python che non partecipano alla raccolta dei rifiuti ciclica, utilizzando una nuova opzione nogc.
  • size_t è ora un tipo built-in ed è il tipo restituito dall'operatore sizeof. Inoltre, le dimensioni dei size_t e Py_ssize_t vengono ora assunti come da qualche parte tra lungo e lungo tempo.
  • Le operazioni tra due tipi int dello stesso valore ora restituiscono un risultato senza segno se uno degli operandi è unsigned; se i ranghi differiscono, il risultato è lo stesso tipo dell'operando ampia classificato. Penso che questa sia la migliore approssimazione delle norme ANSI C che è possibile senza conoscere le esatte dimensioni dei tipi.
  • PyString_InternFromString è ora esposta sotto il nome cintern piuttosto che interno, perché non è una sostituzione completa per la funzione stagista Python (non in grado di gestire le stringhe contenenti byte nulli).
  • Il controllo di dimensioni che è stato precedentemente generato durante l'importazione di un tipo di estensione è stata disabilitata per il momento fino a quando riesco a pensare a qualcosa di meglio. E 'stato generando troppi falsi positivi, ad esempio da diverse versioni di NumPy.
  • L'opzione convenzione __fastcall chiamante viene ora supportato. Inoltre, Pyrex non presuppone che __cdecl è la Convenzione di default chiamando. Per essere considerati compatibili, due tipi di funzione devono essere dichiarati con la stessa convenzione di chiamata, o entrambi devono non specificarlo.
  • Come ho minacciato da qualche tempo, utilizzando __new__ come il nome del metodo di inizializzazione di un tipo di estensione è diventato un errore piuttosto che solo un avvertimento. In qualche futura versione, __new__ riemergerà con più semantica Python-like.

Limitazioni

non abbiamo trovato nulla

Programmi simili

Edge.js
Edge.js

9 Feb 16

Coco
Coco

5 Jun 15

scssphp
scssphp

10 Dec 15

IcedCoffeeScript
IcedCoffeeScript

1 Mar 15

Altri software di sviluppo Greg Ewing

Pyrex
Pyrex

3 Jun 15

Commenti a Pyrex

I commenti non trovato
Aggiungi commento
Accendere le immagini!
Ricerca per categoria