Sto progettando un linguaggio e mi chiedo quale carattere (o stringa) usare per rappresentare quel qualcosa è un attributo di qualcos'altro.
In tutte le lingue che ho usato, questo è fatto con un punto - my_class_instance.attribute
.
Tuttavia, in questa lingua, voglio avere quello che di solito sono i metodi come zucchero sintattico per le normali funzioni, in questo modo:
x.f(y, z).g(a, b).h(p, q)
è la stessa cosa di
x = f(x, y, z)
x = g(x, a, b)
x = h(x, p, q)
Tuttavia, se uso anche .
per mostrare che un attributo appartiene a una classe, penso che diventi confuso, quindi sto cercando un altro simbolo a tale scopo (o un'altra soluzione).
Attualmente sto pensando che dovrei usare l'apostrofo - instance'attribute
- che mostra la proprietà in modo chiaro, ma significa che non può essere usato per le stringhe, l'apice - instance'attribute
- un tipo di aspetto come un apostrofo, che è buono nel senso che mostra proprietà, ma cattivo nel senso che potrebbe essere scambiato per uno, ed è meno tipizzato, e quindi è probabile che sia più lento da digitare (e mancante da alcune tastiere).
In alternativa, ci sono dei simboli che potrei sostituire con il punto utilizzato per la funzione di ricerca della funzione inplace syntatic sugar con?