in-progress (#5)
All checks were successful
ci/woodpecker/push/build-and-deploy Pipeline was successful

Reviewed-on: #5
Co-authored-by: sorrel <git@sorrel.dev>
Co-committed-by: sorrel <git@sorrel.dev>
This commit is contained in:
sorrel 2024-01-25 21:41:03 +00:00 committed by sorrel
parent 7a0172ae64
commit 2f7fc40901
15 changed files with 120 additions and 6 deletions

View file

@ -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!")))

View file

@ -1,4 +1,5 @@
title,link,summary,published,updated 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, 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, 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, contact,https://oxaliq.net/contact,how to talk to me,2024-01-18T22:21:26,

1 title link summary published updated
2 feature-change-applier https://oxaliq.net/settled/1 a first attempt at a conlanging tool 2024-01-25T16:26:10
3 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
4 now https://oxaliq.net/now what the author of this site is up to (not computer things) 2024-01-18T22:22:03
5 contact https://oxaliq.net/contact how to talk to me 2024-01-18T22:21:26

View file

@ -1 +1,2 @@
id,headline,description,history-> id,headline,description,history->
1,feature-change-applier,a first attempt at a conlanging tool,2024-01-25T16:26:10
1 id headline description history->
2 1 feature-change-applier a first attempt at a conlanging tool 2024-01-25T16:26:10

View file

@ -1,5 +1,6 @@
tags,-> tags,->
about,root/now,root/contact,root/very-earnest-disclaimer,root/this,root/about about,root/now,root/contact,root/very-earnest-disclaimer,root/this,root/about
latl,unsettled/1 latl,unsettled/1
conlang,unsettled/1 conlang,settled/1,unsettled/1
programming-language,unsettled/1 programming-language,unsettled/1
tool,settled/1
1 tags,->
2 about,root/now,root/contact,root/very-earnest-disclaimer,root/this,root/about
3 latl,unsettled/1
4 conlang,unsettled/1 conlang,settled/1,unsettled/1
5 programming-language,unsettled/1
6 tool,settled/1

View file

View file

@ -1 +1 @@
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>λ.oxaliq.net</title><link rel="self" href="https://oxaliq.net/feed.atom"/><updated>2024-01-18T22:39:00</updated><author><name>sorrel</name></author><id>https://oxaliq.net</id><entry><title>beginning latl</title><link href="https://oxaliq.net/unsettled/1"/><id>https://oxaliq.net/unsettled/1</id><content src="https://oxaliq.net/unsettled/1" type="text/html"></content><summary>beginning the process of thinking through an environment for conlanging and other language shenanigans</summary><published>2024-01-18T22:39:00</published><updated></updated></entry><entry><title>now</title><link href="https://oxaliq.net/now"/><id>https://oxaliq.net/now</id><content src="https://oxaliq.net/now" type="text/html"></content><summary>what the author of this site is up to (not computer things)</summary><published>2024-01-18T22:22:03</published><updated></updated></entry><entry><title>contact</title><link href="https://oxaliq.net/contact"/><id>https://oxaliq.net/contact</id><content src="https://oxaliq.net/contact" type="text/html"></content><summary>how to talk to me</summary><published>2024-01-18T22:21:26</published><updated></updated></entry><entry><title>very earnest disclaimer</title><link href="https://oxaliq.net/very-earnest-disclaimer"/><id>https://oxaliq.net/very-earnest-disclaimer</id><content src="https://oxaliq.net/very-earnest-disclaimer" type="text/html"></content><summary>being earnest in the streets</summary><published>2024-01-18T22:20:50</published><updated></updated></entry><entry><title>this</title><link href="https://oxaliq.net/this"/><id>https://oxaliq.net/this</id><content src="https://oxaliq.net/this" type="text/html"></content><summary>the site this bitch made</summary><published>2024-01-18T22:19:43</published><updated></updated></entry><entry><title>about</title><link href="https://oxaliq.net/about"/><id>https://oxaliq.net/about</id><content src="https://oxaliq.net/about" type="text/html"></content><summary>about the bitch who made this site</summary><published>2024-01-18T21:56:45</published><updated></updated></entry></feed> <?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>λ.oxaliq.net</title><link rel="self" href="https://oxaliq.net/feed.atom"/><updated>2024-01-25T16:26:10</updated><author><name>sorrel</name></author><id>https://oxaliq.net</id><entry><title>feature-change-applier</title><link href="https://oxaliq.net/settled/1"/><id>https://oxaliq.net/settled/1</id><content src="https://oxaliq.net/settled/1" type="text/html"></content><summary>a first attempt at a conlanging tool</summary><published>2024-01-25T16:26:10</published><updated></updated></entry><entry><title>beginning latl</title><link href="https://oxaliq.net/unsettled/1"/><id>https://oxaliq.net/unsettled/1</id><content src="https://oxaliq.net/unsettled/1" type="text/html"></content><summary>beginning the process of thinking through an environment for conlanging and other language shenanigans</summary><published>2024-01-18T22:39:00</published><updated></updated></entry><entry><title>now</title><link href="https://oxaliq.net/now"/><id>https://oxaliq.net/now</id><content src="https://oxaliq.net/now" type="text/html"></content><summary>what the author of this site is up to (not computer things)</summary><published>2024-01-18T22:22:03</published><updated></updated></entry><entry><title>contact</title><link href="https://oxaliq.net/contact"/><id>https://oxaliq.net/contact</id><content src="https://oxaliq.net/contact" type="text/html"></content><summary>how to talk to me</summary><published>2024-01-18T22:21:26</published><updated></updated></entry><entry><title>very earnest disclaimer</title><link href="https://oxaliq.net/very-earnest-disclaimer"/><id>https://oxaliq.net/very-earnest-disclaimer</id><content src="https://oxaliq.net/very-earnest-disclaimer" type="text/html"></content><summary>being earnest in the streets</summary><published>2024-01-18T22:20:50</published><updated></updated></entry><entry><title>this</title><link href="https://oxaliq.net/this"/><id>https://oxaliq.net/this</id><content src="https://oxaliq.net/this" type="text/html"></content><summary>the site this bitch made</summary><published>2024-01-18T22:19:43</published><updated></updated></entry><entry><title>about</title><link href="https://oxaliq.net/about"/><id>https://oxaliq.net/about</id><content src="https://oxaliq.net/about" type="text/html"></content><summary>about the bitch who made this site</summary><published>2024-01-18T21:56:45</published><updated></updated></entry></feed>

1
source/settled/1.scm Normal file

File diff suppressed because one or more lines are too long

View file

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

View file

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

View file

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

1
source/tagged/tool.scm Normal file
View file

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -145,3 +145,12 @@ li.tag-item {
margin: 0 6; margin: 0 6;
} }
img {
width: 96%;
margin: 2%;
border-color: var(--foreground-color);
border-style: solid;
border-width: 2px;
border-radius: 2px;
}