For various professional and personal reasons progress on Semprola has been rather slow this year. But I
have had quite a productive spurt of work in the last month as I have been noticing the
connections between my work so far and some of the ideas in semiotics. This came about as I was looking for a replacement for the term 'reference' that I had been
using to refer to a key type of data-structure that refers to other data-structure(s) in a
possibly non-trivial way. My use of the term 'reference' is at odds with the way that philosophers use it (e.g. the sense/reference distinction) and I was increasingly unhappy with the way that I was using it. In comparison the semiotic term 'signifier' gives a much better indication of what these data-structures are for and how they are being used.
In particular I had been looking at the issues that arise as various different audiences use these
signifiers (e.g. the author of the program, the computer agent running the
program and then the user using the program). Semiotics seems to have an appropriate lexicon with which to talk about the way that the same signifying data-structure can have different meanings in different contexts and potentially change meaning over time.
I'm in the process of reading two books on semiotics at
the moment the first of which is a general introductory
book on “Semiotics:
The Basics“ and the second is a PhD thesis where someone has already looked
at the "Semotics
of Programming". Once I've completed this reading I hope to finally
finalise the terminology that I'm using and get back to completing the syntax
of Semprola.
And, while to some this may seem like a classically
unnecessary detour into something interesting but not essential to the project,
for me this choice of core terminology is absolutely crucial as it will inform
how I develop some of the context-aware features of Semprola (one of the last major conceptual things on my to-do list) and it will also colour everything I write about Semprola (although
I know that most users will not be [initially] interested in this link with semiotics so it will certainly not be in the foreground!).
A more minor interest in getting the terminology right (and finalised) is that
I already have some re-organising of the underlying VM code that I need to do
and when I do this I want to strip out the pervasive use of the term
'reference' and replace it with the 'right' term that I am more confident I
will stick with. And I'm now fairly certain that 'signifier' is the right term.