oxaliq.net/in-progress/beginning-latl.txt

199 lines
9.2 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(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"))))