200 lines
9.2 KiB
Text
200 lines
9.2 KiB
Text
|
(article
|
|||
|
(h1 "beginning work on LATL")
|
|||
|
(p
|
|||
|
"a little introduction to a project i started thinking about in early 2020,
|
|||
|
as i was learning how to do web development and wanted to try my hand at
|
|||
|
combining some hobbies.")
|
|||
|
(section
|
|||
|
(hgroup
|
|||
|
(h2 "what even is this?")
|
|||
|
(p (em "of linguistics and hubris."))
|
|||
|
(hr))
|
|||
|
(p
|
|||
|
"so, when i was a wee little child, i discovered language. i was one of
|
|||
|
those kids who picked up reading real quick (like before i could form
|
|||
|
memories) and just have always been fascinated by what those words and
|
|||
|
symbols do. like, most wee little children discover language, but some
|
|||
|
wee little children get given the lord of the rings when they're ten or
|
|||
|
something and get into the narrative and the characters, sure. but
|
|||
|
those appendices.... there's .. a language here? called quenya? and
|
|||
|
this tolkien guy just made this up? "
|
|||
|
(small "this is not in fact how i talked as a child, just go with me."))
|
|||
|
(p
|
|||
|
"so, i did the precocious kid thing and said to myself \"if this dead
|
|||
|
british weirdo (who's like really into the concept of royalty) can
|
|||
|
make a whole new language, then surely i can to.\"")
|
|||
|
(p
|
|||
|
"i did not, in fact, make a language. i made a relex of the language i
|
|||
|
already spoke (my own peculiar idiolect of u.s. english,) but we all
|
|||
|
gotta start somewhere." )
|
|||
|
(p
|
|||
|
"for a long time the internet to me was mostly "
|
|||
|
(a ((href "https://listserv.brown.edu/archives/conlang.html"))
|
|||
|
"the brown university conlang listserv.")
|
|||
|
" here i learned about different phonology, what the heck
|
|||
|
morphosyntactic alignment is, diachronicity and how different
|
|||
|
languages can be related. i got exposed to awkwords and sca2 (tools
|
|||
|
for generating words and modeling changes to those words.) but i
|
|||
|
never interacted with ppl much. i was a kid and the ppl in there
|
|||
|
really knew their stuff, and i never much felt comfy with the idea
|
|||
|
of being just "
|
|||
|
(em "in public") " on the internet like that.")
|
|||
|
(p
|
|||
|
"anyway i got better at making languages and learning about how
|
|||
|
language works, and it's just been a (at times more consistent, at
|
|||
|
times less) hobby of mine for most of my life.")
|
|||
|
(p
|
|||
|
"flash forward to a few years ago, i'm working on a language that has
|
|||
|
turned into the passion project that i've spend the majority of my
|
|||
|
conlanging on and i'm getting frustrated with my tools. i want to do
|
|||
|
more complex, phonological-feature-aware, sound change rules; i want
|
|||
|
a tighter feedback loop; i want to see how a derivational pattern at
|
|||
|
one stage in a parent form of a language branches out or collapses
|
|||
|
into different derivational patterns in a child language.")
|
|||
|
(p
|
|||
|
"all was not well in my conlanging.")
|
|||
|
(p
|
|||
|
"i would need to " (strong "do some programming."))
|
|||
|
(p
|
|||
|
"the thing is, i had just learned javascript. (it was a tech bootcamp.
|
|||
|
someday i'll talk about my ~feelings~ about ~that~, but not here, not
|
|||
|
now.) i had built a few little toy web apps, and i was not ready to
|
|||
|
execute on a vision for a multi-purpose conlanging tool that was
|
|||
|
beginning to take shape in my head.")
|
|||
|
(p "i tried anyway.")
|
|||
|
(p "and i made "
|
|||
|
(a ((href "settled/1"))
|
|||
|
"a bad first draft of a sound change tool."))
|
|||
|
(p
|
|||
|
"there's an ebnf grammar in that project somewhere! the hubris i
|
|||
|
had then, to think i could make a little javascript-backed
|
|||
|
language tool with all of the bells and whistles i needed! with
|
|||
|
the knowledge that i had then! (or more accurately, didn't have)")
|
|||
|
(br)
|
|||
|
(p "but now..."))
|
|||
|
(section
|
|||
|
(hgroup
|
|||
|
(h2 "reviving this project")
|
|||
|
(p (em "whatcha gonna do sorrel?"))
|
|||
|
(hr))
|
|||
|
(p "i'm still not ready.")
|
|||
|
(p
|
|||
|
"but at least, today i'm forgoing bells and whistles for
|
|||
|
execution models. core abstractions. experience using "
|
|||
|
(a ((href "https://racket-lang.org"))
|
|||
|
"a (programming) language-oriented programming language")
|
|||
|
" maybe. there's a lot to think about.")
|
|||
|
(p
|
|||
|
"so, i'm going to try reviving this project. or, more accurately,
|
|||
|
reimagining this project. from the little sound change tool that
|
|||
|
was merely an unusably buggy iteration on tools that other
|
|||
|
conlangers had executed better, to a more robust environment for
|
|||
|
conlanging. one which gives language nerds the power to solve
|
|||
|
all of their language nerding problems in one runtime, with an
|
|||
|
extensible and reflective interface. and which is written in such
|
|||
|
a way, with the appropriate abstractions, that lanuage nerdy
|
|||
|
hackers can hack their own tools on top of it.")
|
|||
|
(p
|
|||
|
"and i'm going to be doing "
|
|||
|
(a ((href "https://www.recurse.com/"))
|
|||
|
"a hecking hacking retreat")
|
|||
|
" about it. i'll spend some full-time programming days making a
|
|||
|
goofy little thing for goofy little language nerds surrounded by
|
|||
|
goofy programming nerds doing whatever rad things they happen
|
|||
|
to be getting up to when i happen to be there.")
|
|||
|
(p
|
|||
|
"like many of the communities i am a part of, i am a quiet part of
|
|||
|
the conlanging community. so, we'll see how this goes. maybe it
|
|||
|
is only ever something of interest to me and the conlangers i
|
|||
|
interact with in meatspace. maybe it only teaches me some things
|
|||
|
about designing and building a tool of the type that i'm designing
|
|||
|
and building. hoooopefully it is helpful in a way to other
|
|||
|
conlangers such that it evolves beyond what i could do on
|
|||
|
my own (cause i ain't no whiz kid 10x programmer.)")
|
|||
|
(p
|
|||
|
"but that's all me getting ahead of myself (as is often my wont.)
|
|||
|
first! to pack for the trip!"))
|
|||
|
(section
|
|||
|
(hgroup
|
|||
|
(h2 "packing for the trip")
|
|||
|
(p (em "a biggg heap of things to expand"))
|
|||
|
(hr))
|
|||
|
(p
|
|||
|
"i'm just gonna fly right through these. there's going to be a lot
|
|||
|
to read up on, to explore, to think and talk through, before it
|
|||
|
gets time to prototyping and to building a workable tool. so,
|
|||
|
here's the very start of the thinking-in-public. each of these
|
|||
|
little thoughts is going to get at least it's own writeup (if not
|
|||
|
several) and i'll update with additional sections and links to
|
|||
|
the writeups as i go.")
|
|||
|
(section
|
|||
|
(h3 "notes on the goals")
|
|||
|
(p
|
|||
|
"it's good to have goals! to define what it even is yr tring to
|
|||
|
do. so here's my attempt. my goal is to create a foss+ working
|
|||
|
runtime that *can* serve as a singular tool for conlangers with
|
|||
|
some basic programming capacity. it should be linguistically
|
|||
|
*theory neutral* to the extant that such a thing is possible.
|
|||
|
it should allow for the definition of all relevant structures
|
|||
|
of a language *in code* and support the construction of grammars,
|
|||
|
dictionaries, text documents and (stretch goal) non-programmer
|
|||
|
friendly tools *from code*. it should support phonological,
|
|||
|
lexical, syntactic, morphological, semantic, etc transformations
|
|||
|
across different 'epochs' be they diachronic or synchronic.
|
|||
|
these transformations should work on transformations, ie
|
|||
|
morphological transformations should themselves be transformed
|
|||
|
by phonological transformations. users of the tool should be
|
|||
|
able to edit their work and see the consequences of their changes
|
|||
|
quickly. hopefully, this can all happen on the web, i guess,
|
|||
|
cause ppl like using their browser as the everything app. ")
|
|||
|
(section
|
|||
|
(h3 "notes on existing tools")
|
|||
|
(p
|
|||
|
"i'm going to talk a bunch about existing tools made by
|
|||
|
conlangers or made for professional linguists and used by
|
|||
|
conlangers or just yr regular old spreedsheets and such. i'm
|
|||
|
going to be doing some research about how conlangers do their
|
|||
|
conlanging, lest this truly be a just-for-me type project."))
|
|||
|
(section
|
|||
|
(h3 "notes on primitives")
|
|||
|
(p
|
|||
|
"i think some interesting things start to bubble out of some of
|
|||
|
those goals up there. like the idea of supporting a bunch of
|
|||
|
different kinds of transformations that should themselves be
|
|||
|
transformable. the primitives we're working with have to work
|
|||
|
below the level of \"lexeme\" or \"phoneme\" to have something
|
|||
|
abstract that can apply to both. i'm not going to get into
|
|||
|
specifics even a little bit at this point-you'll have to stay
|
|||
|
tuned for more.")))
|
|||
|
(section
|
|||
|
(h3 "notes on execution model")
|
|||
|
(p
|
|||
|
"this is going to be some crunchy computer language stuff. i'm
|
|||
|
going to make some arguments for some things that (it is my
|
|||
|
belief) fall out of these goals. things like dynamic typing.
|
|||
|
things like reflectivity (this is sooo important it gets its
|
|||
|
own section.) things like lazy evaluation (because languages
|
|||
|
are big and sometimes you only want to look at a subset of a
|
|||
|
language.) means of combination: propositions.")
|
|||
|
(section
|
|||
|
(h3 "notes on reflectivity and interaction"))
|
|||
|
(section
|
|||
|
(h3 "notes on portability"))
|
|||
|
(section
|
|||
|
(h3 "notes on the substratum (racket?)")))
|
|||
|
(section
|
|||
|
(hgroup
|
|||
|
(h2 "about the name")
|
|||
|
(p (em "it's pronouced ˈlæ.ɾɫ̩"))
|
|||
|
(hr))
|
|||
|
(p
|
|||
|
"i don't know dude, naming things is hard. it's a working name,
|
|||
|
it works good as an extension. "
|
|||
|
(code "my-conlang.latl") "anyone?")
|
|||
|
(p
|
|||
|
"i also just like syllabic laterals? they sound neat to me. the
|
|||
|
official initialism is _l_inguistic _a_nalytic _t_ransformation
|
|||
|
_l_anguage, but it also double entendres to _l_ower _a_nterior
|
|||
|
_t_emporal _l_obe, so that's just kind of fun.")
|
|||
|
(p "maybe it'll have a different name some day, idk"))))
|