From 130f36989d8d57d0d46b530d11eefcba84ee7a99 Mon Sep 17 00:00:00 2001 From: sorrel Date: Tue, 23 Jan 2024 17:17:57 -0500 Subject: [PATCH] stub a few things; finish fca writeup --- .../documentation-driven-development.scm | 0 in-progress/feature-change-applier.scm | 100 ++++++++++++++++++ in-progress/latl-primitives.scm | 0 in-progress/syntax-considered-harmful.scm | 0 static/img/settled/1/fca.jpg | Bin 0 -> 45291 bytes static/style/styles.css | 9 ++ 6 files changed, 109 insertions(+) create mode 100644 in-progress/documentation-driven-development.scm create mode 100644 in-progress/feature-change-applier.scm create mode 100644 in-progress/latl-primitives.scm create mode 100644 in-progress/syntax-considered-harmful.scm create mode 100644 static/img/settled/1/fca.jpg diff --git a/in-progress/documentation-driven-development.scm b/in-progress/documentation-driven-development.scm new file mode 100644 index 0000000..e69de29 diff --git a/in-progress/feature-change-applier.scm b/in-progress/feature-change-applier.scm new file mode 100644 index 0000000..e9397ec --- /dev/null +++ b/in-progress/feature-change-applier.scm @@ -0,0 +1,100 @@ +(article + (hgroup + (h1 "feature change applier") + (p (em "a first attempt at a conlanging tool"))) + (section + (hgroup + (h2 "what is this?") + (p + (em + "a tool for conlanging: a feature-based sound-change applier + capable of applying multiple sets of rules at once.")) + (hr)) + (p + "you can try it out here: " + (a ((href "https://sorrelbri.github.io/feature-change-applier/")) + "feature change applier app")) + (img ((src "/static/img/settled/1/fca.jpg") + (alt "an image of Feature Change Applier application. visible + are labeled sections. 'proto language lexicon' is a text + field with nonsense weirds. 'phonetic features' is a list + of binary values shuch as '+ back' / '- back' and + characters representing associated sounds like 'a / u / ɯ' + / 'ə', 'epoch 1' is a text field with a list of phonetic + rules such as + '[+ occlusive - nasal]>[+ occlusive + nasal]/n_.' and + buttons to 'Remove epoch 1' or 'Add Epoch'. 'modeling + options' is a single selected radio button labeled + 'Default output' with buttons labeled 'Run Changes' and + 'Clear Output'. 'Results of Run' is a list headed 'epoch + 1' and containing newline separated words 'annɯ anat ant + annɯ tʰa nnɯ"))) + (h3 "an unfinished project") + (p + "some background on conlanging and my interst in conlanging software + can be found in this " + (a ((href "/unsettled/1")) + "introductory post about conlanging software")) + (p + "this project was initially intended to function as a sound change + applier: a software tool that takes as input a list of lexical items + in a language and a list of sound change rules and produces as + output a new list of lexical items resulting from the application of + each rule to each of the lexical items in the input. more info about + sound change appliers will be available: " + (a ((href "/unsettled/?")) + "[pending] review of existing conlanging tools")) + (p + "there are two ways in which i sought to extend the functionality of + the typical sound change applier: through feature-based rules, and + through the processing of multiple rule sets at one time. " + (a ((href "https://en.wikipedia.org/wiki/Distinctive_feature")) + "phonological features") + " are proposed binary attributes of phonology that can be used to + distinguish different phonemes. [+/- nasal] is the distinguishing + feature in the minimal pair of phones [n][d]. the processing of + multiple rule sets is accomplished in this project via the notion + of an 'epoch.' at least one epoch must be defined, which takes as + its input the initial lexicon. any additional epochs must have + their input lexicons configured by the user, but they will default + to running in sequence. what this allows is for 'snapshots' of + lexicons between suites of rules (analogous to 'intermediate' + phases in historical linguistics, such as old english>middle + english>early modern english>modern english.) this also allows for + comparisons of different rule sets or the simulation of sound + changes across a family of related languages (analogous to vulgar + latin>italo-western, vulgar-latin>eastern romance, vulgar + latin>southern romance)") + (p + "both of these additional features are present, although the app is + quite buggy and unreliable")) + (section + (hgroup + (h2 "how does it work?") + (p (em "i'll tell you what i remember")) + (hr)) + (p + "i made this a few years ago, right after i first learning how to + write web apps and so i used the tools that i knew a few years ago. + this means that it's javascript! specifically, a react app, where + all the fun processing stuff happens via the react hooks useReducer + pattern. " + (a + ((href + "https://github.com/sorrelbri/feature-change-applier/tree/sj_latl/src/reducers" + )) "all of the reducers are here")) + (p + "at the end of my meaningful work on the project, i started using a " + (a ((href "https://nearley.js.org/")) + "javascript earley parser called nearley") + " as i started conceptualizing the tool as just one component in a + larger suite of tools i hoped to create. the language part never got + very far--writing a language is hard! writing a language when you've + not had significant programming experience is hard! ill advised? " + (a + ((href + "https://github.com/sorrelbri/feature-change-applier/blob/sj_latl/src/utils/latl/grammar.ne")) + "there's the start of something like an ebnf grammar for the + project")) + (p + "this project isn't done! and it never will be!"))) \ No newline at end of file diff --git a/in-progress/latl-primitives.scm b/in-progress/latl-primitives.scm new file mode 100644 index 0000000..e69de29 diff --git a/in-progress/syntax-considered-harmful.scm b/in-progress/syntax-considered-harmful.scm new file mode 100644 index 0000000..e69de29 diff --git a/static/img/settled/1/fca.jpg b/static/img/settled/1/fca.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e2d9354c0cc3d56ba0512bfcad4ff266ad64f8c5 GIT binary patch literal 45291 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 literal 0 HcmV?d00001 diff --git a/static/style/styles.css b/static/style/styles.css index 3c076bb..f9a3a1d 100644 --- a/static/style/styles.css +++ b/static/style/styles.css @@ -145,3 +145,12 @@ li.tag-item { margin: 0 6; } +img { + width: 96%; + margin: 2%; + border-color: var(--foreground-color); + border-style: solid; + border-width: 2px; + border-radius: 2px; +} +