From 2f7fc40901b010d1ada49c0da624f0bb6b2fafaf Mon Sep 17 00:00:00 2001 From: sorrel Date: Thu, 25 Jan 2024 21:41:03 +0000 Subject: [PATCH] in-progress (#5) Reviewed-on: https://git.bunk.computer/oxaliq/oxaliq.net/pulls/5 Co-authored-by: sorrel Co-committed-by: sorrel --- archive/feature-change-applier.scm | 100 ++++++++++++++++++ data/atom.csv | 1 + data/settled.csv | 1 + data/tagged.csv | 5 +- .../documentation-driven-development.scm | 0 in-progress/latl-primitives.scm | 0 in-progress/syntax-considered-harmful.scm | 0 source/feed.atom | 2 +- source/settled/1.scm | 1 + source/settled/index.scm | 2 +- source/tagged/conlang.scm | 2 +- source/tagged/index.scm | 2 +- source/tagged/tool.scm | 1 + static/img/settled/1/fca.jpg | Bin 0 -> 45291 bytes static/style/styles.css | 9 ++ 15 files changed, 120 insertions(+), 6 deletions(-) create mode 100644 archive/feature-change-applier.scm create mode 100644 in-progress/documentation-driven-development.scm create mode 100644 in-progress/latl-primitives.scm create mode 100644 in-progress/syntax-considered-harmful.scm create mode 100644 source/settled/1.scm create mode 100644 source/tagged/tool.scm create mode 100644 static/img/settled/1/fca.jpg diff --git a/archive/feature-change-applier.scm b/archive/feature-change-applier.scm new file mode 100644 index 0000000..e9397ec --- /dev/null +++ b/archive/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/data/atom.csv b/data/atom.csv index e022ca0..8aa6e33 100644 --- a/data/atom.csv +++ b/data/atom.csv @@ -1,4 +1,5 @@ title,link,summary,published,updated +feature-change-applier,https://oxaliq.net/settled/1,a first attempt at a conlanging tool,2024-01-25T16:26:10, beginning latl,https://oxaliq.net/unsettled/1,beginning the process of thinking through an environment for conlanging and other language shenanigans,2024-01-18T22:39:00, now,https://oxaliq.net/now,what the author of this site is up to (not computer things),2024-01-18T22:22:03, contact,https://oxaliq.net/contact,how to talk to me,2024-01-18T22:21:26, diff --git a/data/settled.csv b/data/settled.csv index c545860..a5e731c 100644 --- a/data/settled.csv +++ b/data/settled.csv @@ -1 +1,2 @@ id,headline,description,history-> +1,feature-change-applier,a first attempt at a conlanging tool,2024-01-25T16:26:10 \ No newline at end of file diff --git a/data/tagged.csv b/data/tagged.csv index 971be52..b8ba424 100644 --- a/data/tagged.csv +++ b/data/tagged.csv @@ -1,5 +1,6 @@ tags,-> about,root/now,root/contact,root/very-earnest-disclaimer,root/this,root/about latl,unsettled/1 -conlang,unsettled/1 -programming-language,unsettled/1 \ No newline at end of file +conlang,settled/1,unsettled/1 +programming-language,unsettled/1 +tool,settled/1 \ No newline at end of file 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/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/source/feed.atom b/source/feed.atom index 9002d21..1de0b70 100644 --- a/source/feed.atom +++ b/source/feed.atom @@ -1 +1 @@ -λ.oxaliq.net2024-01-18T22:39:00sorrelhttps://oxaliq.netbeginning latlhttps://oxaliq.net/unsettled/1beginning the process of thinking through an environment for conlanging and other language shenanigans2024-01-18T22:39:00nowhttps://oxaliq.net/nowwhat the author of this site is up to (not computer things)2024-01-18T22:22:03contacthttps://oxaliq.net/contacthow to talk to me2024-01-18T22:21:26very earnest disclaimerhttps://oxaliq.net/very-earnest-disclaimerbeing earnest in the streets2024-01-18T22:20:50thishttps://oxaliq.net/thisthe site this bitch made2024-01-18T22:19:43abouthttps://oxaliq.net/aboutabout the bitch who made this site2024-01-18T21:56:45 \ No newline at end of file +λ.oxaliq.net2024-01-25T16:26:10sorrelhttps://oxaliq.netfeature-change-applierhttps://oxaliq.net/settled/1a first attempt at a conlanging tool2024-01-25T16:26:10beginning latlhttps://oxaliq.net/unsettled/1beginning the process of thinking through an environment for conlanging and other language shenanigans2024-01-18T22:39:00nowhttps://oxaliq.net/nowwhat the author of this site is up to (not computer things)2024-01-18T22:22:03contacthttps://oxaliq.net/contacthow to talk to me2024-01-18T22:21:26very earnest disclaimerhttps://oxaliq.net/very-earnest-disclaimerbeing earnest in the streets2024-01-18T22:20:50thishttps://oxaliq.net/thisthe site this bitch made2024-01-18T22:19:43abouthttps://oxaliq.net/aboutabout the bitch who made this site2024-01-18T21:56:45 \ No newline at end of file diff --git a/source/settled/1.scm b/source/settled/1.scm new file mode 100644 index 0000000..45b5377 --- /dev/null +++ b/source/settled/1.scm @@ -0,0 +1 @@ +'(body (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\n 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\n are labeled sections. 'proto language lexicon' is a text\n field with nonsense weirds. 'phonetic features' is a list\n of binary values shuch as '+ back' / '- back' and\n characters representing associated sounds like 'a / u / ɯ'\n / 'ə', 'epoch 1' is a text field with a list of phonetic\n rules such as\n '[+ occlusive - nasal]>[+ occlusive + nasal]/n_.' and\n buttons to 'Remove epoch 1' or 'Add Epoch'. 'modeling\n options' is a single selected radio button labeled\n 'Default output' with buttons labeled 'Run Changes' and\n 'Clear Output'. 'Results of Run' is a list headed 'epoch\n 1' and containing newline separated words 'annɯ anat ant\n annɯ tʰa nnɯ"))) (h3 "an unfinished project") (p "some background on conlanging and my interst in conlanging software\n 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\n applier: a software tool that takes as input a list of lexical items\n in a language and a list of sound change rules and produces as\n output a new list of lexical items resulting from the application of\n each rule to each of the lexical items in the input. more info about\n 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\n the typical sound change applier: through feature-based rules, and\n 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\n distinguish different phonemes. [+/- nasal] is the distinguishing\n feature in the minimal pair of phones [n][d]. the processing of\n multiple rule sets is accomplished in this project via the notion\n of an 'epoch.' at least one epoch must be defined, which takes as\n its input the initial lexicon. any additional epochs must have\n their input lexicons configured by the user, but they will default\n to running in sequence. what this allows is for 'snapshots' of\n lexicons between suites of rules (analogous to 'intermediate'\n phases in historical linguistics, such as old english>middle\n english>early modern english>modern english.) this also allows for\n comparisons of different rule sets or the simulation of sound\n changes across a family of related languages (analogous to vulgar\n latin>italo-western, vulgar-latin>eastern romance, vulgar\n latin>southern romance)") (p "both of these additional features are present, although the app is\n 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\n write web apps and so i used the tools that i knew a few years ago.\n this means that it's javascript! specifically, a react app, where\n all the fun processing stuff happens via the react hooks useReducer\n 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\n larger suite of tools i hoped to create. the language part never got\n very far--writing a language is hard! writing a language when you've\n 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\n project")) (p "this project isn't done! and it never will be!"))) (footer (a ((href "https://git.bunk.computer/oxaliq/oxaliq.net/src/branch/main/source/settled1.scm")) "view source") (hr) (section (h5 "tagged") (ul ((class "tag-list")) (li ((class "tag-item")) (span ((class "hx-target")) (a ((href "/tagged/conlang") (hx-get "/hx/tagged/conlang") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "conlang"))) (li ((class "tag-item")) (span ((class "hx-target")) (a ((href "/tagged/tool") (hx-get "/hx/tagged/tool") (hx-target "closest span.hx-target") (hx-swap "innerHTML")) "tool"))))) (hr) (p ((class "doc-history")) (small "published: 2024-01-25T16:26:10")) (p ((class "license-info")) (small (a ((href "static/license/license.txt")) "license"))))) \ No newline at end of file diff --git a/source/settled/index.scm b/source/settled/index.scm index 8e1ef4d..6df340d 100644 --- a/source/settled/index.scm +++ b/source/settled/index.scm @@ -1 +1 @@ -'(article (hgroup (h1 "settled* thoughts") (p (em "*-ish, something like a portfolio of projects"))) (h3 "the thoughts") (p "there's nothing here yet")) \ No newline at end of file +'(article (hgroup (h1 "settled* thoughts") (p (em "*-ish, something like a portfolio of projects"))) (h3 "the thoughts") (div ((class "post-preview")) (h4 "feature-change-applier") (p "a first attempt at a conlanging tool") (a ((href "/settled/1")) "go! to feature-change-applier page"))) \ No newline at end of file diff --git a/source/tagged/conlang.scm b/source/tagged/conlang.scm index 0898022..24701a2 100644 --- a/source/tagged/conlang.scm +++ b/source/tagged/conlang.scm @@ -1 +1 @@ -'(article (hgroup (h1 "stuff what's tagged like " (em "#conlang")) (p (em "everything (or maybe just some things) i've ever said about " (strong "#conlang")))) (h3 "the thoughts") (div ((class "post-preview")) (h4 "beginning latl") (p "beginning the process of thinking through an environment for conlanging and other language shenanigans") (a ((href "1")) "go! to beginning latl page"))) \ No newline at end of file +'(article (hgroup (h1 "stuff what's tagged like " (em "#conlang")) (p (em "everything (or maybe just some things) i've ever said about " (strong "#conlang")))) (h3 "the thoughts") (div ((class "post-preview")) (h4 "feature-change-applier") (p "a first attempt at a conlanging tool") (a ((href "1")) "go! to feature-change-applier page")) (div ((class "post-preview")) (h4 "beginning latl") (p "beginning the process of thinking through an environment for conlanging and other language shenanigans") (a ((href "1")) "go! to beginning latl page"))) \ No newline at end of file diff --git a/source/tagged/index.scm b/source/tagged/index.scm index 739c5cb..9a463d1 100644 --- a/source/tagged/index.scm +++ b/source/tagged/index.scm @@ -1 +1 @@ -'(article (hgroup (h1 "all the tags") (p (em "a categorical mess for your perusal"))) (h3 "the thoughts") (div ((class "post-preview")) (h4 "about") (p "posts about about") (a ((href "/tagged/about")) "go! to about page")) (div ((class "post-preview")) (h4 "latl") (p "posts about latl") (a ((href "/tagged/latl")) "go! to latl page")) (div ((class "post-preview")) (h4 "conlang") (p "posts about conlang") (a ((href "/tagged/conlang")) "go! to conlang page")) (div ((class "post-preview")) (h4 "programming-language") (p "posts about programming-language") (a ((href "/tagged/programming-language")) "go! to programming-language page"))) \ No newline at end of file +'(article (hgroup (h1 "all the tags") (p (em "a categorical mess for your perusal"))) (h3 "the thoughts") (div ((class "post-preview")) (h4 "about") (p "posts about about") (a ((href "/tagged/about")) "go! to about page")) (div ((class "post-preview")) (h4 "latl") (p "posts about latl") (a ((href "/tagged/latl")) "go! to latl page")) (div ((class "post-preview")) (h4 "conlang") (p "posts about conlang") (a ((href "/tagged/conlang")) "go! to conlang page")) (div ((class "post-preview")) (h4 "programming-language") (p "posts about programming-language") (a ((href "/tagged/programming-language")) "go! to programming-language page")) (div ((class "post-preview")) (h4 "tool") (p "posts about tool") (a ((href "/tagged/tool")) "go! to tool page"))) \ No newline at end of file diff --git a/source/tagged/tool.scm b/source/tagged/tool.scm new file mode 100644 index 0000000..37095da --- /dev/null +++ b/source/tagged/tool.scm @@ -0,0 +1 @@ +'(article (hgroup (h1 "stuff what's tagged like " (em "#tool")) (p (em "everything (or maybe just some things) i've ever said about " (strong "#tool")))) (h3 "the thoughts") (div ((class "post-preview")) (h4 "feature-change-applier") (p "a first attempt at a conlanging tool") (a ((href "1")) "go! to feature-change-applier page"))) \ No newline at end of file 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; +} +