Ponylang è un nuovo linguaggio che è privo di blocco e privo di datarace. La mia impressione è che per fare ciò, Ponylang guarda la frase "se due thread possono vedere lo stesso oggetto, quindi scrive deve proibire qualsiasi altra operazione da un altro thread", e usa un sistema di tipi per far rispettare i vari casi speciali. Ad esempio, esiste un descrittore di tipi che dice "nessun altro thread può vedere questo oggetto" e uno che dice "questo riferimento è di sola lettura" e vari altri. Devo ammettere che la mia comprensione di questo è piuttosto scarsa, e la documentazione di ponylang è a corto di esempi.Quali costrutti non sono possibili usando il modello senza serratura di Ponylang?
La mia domanda è: ci sono operazioni possibili con un linguaggio basato su lock che non sono del tutto traducibili nel sistema basato sul tipo di Ponylang? Inoltre, ci sono operazioni simili che non sono traducibili nei costrutti efficienti nel ponylang?
Sembra "troppo ampio" per lo stack overflow per me. IMO, puoi avere solo due di "deadlock-free", "race-free" e "shared". –