diff --git a/acl.cool/site/draft/deriving-appfun.dj b/acl.cool/site/draft/deriving-appfun.dj index 6cc2c15..24d517b 100644 --- a/acl.cool/site/draft/deriving-appfun.dj +++ b/acl.cool/site/draft/deriving-appfun.dj @@ -41,4 +41,8 @@ end It turns out that there are multiple ways to implement the derivation functors--- also multiple ways to implement a particular monad ---and they don't all behave the same, which means it's hard to predict whether the more-general, derived implementations are the "natural" ones that you expected to get without _ad hoc_ testing, which obviously rather defeats the point of "free". -[^falsehood]: Unsurprisingly, I lied. You have to buy a `Monad` first. \ No newline at end of file +On the other hand, the derivations here can be performed pretty mechanically, with little insight, by following the types in much the same way one might mechanically prove a simple proposition. So it _is_ a relatively low-effort and low-investment activity. + +TODO: explain functors and `with type`. + +[^falsehood]: Unsurprisingly, that's a lie. You have to buy a `Monad` first. \ No newline at end of file diff --git a/acl.cool/site/draft/nomad.dj b/acl.cool/site/draft/nomad.dj index 4ab490b..ab41bf4 100644 --- a/acl.cool/site/draft/nomad.dj +++ b/acl.cool/site/draft/nomad.dj @@ -42,7 +42,7 @@ Let us finally now consider `bind`. `bind` is the driving force behind monads, p [^physical]: Of course, we say that `list` _simulates_ nondeterminism for the same reason that we say physical computers simulate turning machines: both are constrained by the resource limitations of physical reality and thus strictly weaker than the theoretical devices they seem to emulate. -[^choice]: A "choice" is between two or more options; if there's just one option, you don't have a choice. +[^choice]: A choice is between two or more options; if there's just one option, `x`, there's no choice. [^alpha]: Pronounced "alpha tee". diff --git a/css/fonts.css b/css/fonts.css index 7d99561..c15956a 100644 --- a/css/fonts.css +++ b/css/fonts.css @@ -110,6 +110,20 @@ font-style: italic; } +@font-face { + font-family: 'Mono'; + src: url('../assets/fonts/JuliaMono/JuliaMono_Light.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} + +@font-face { + font-family: 'Mono'; + src: url('../assets/fonts/JuliaMono/JuliaMono_LightItalic.ttf') format('truetype'); + font-weight: 300; + font-style: italic; +} + @font-face { font-family: 'Mono'; src: url('../assets/fonts/JuliaMono/JuliaMono_Regular.ttf') format('truetype'); diff --git a/css/looks.css b/css/looks.css index 7f1db8f..9b784f2 100644 --- a/css/looks.css +++ b/css/looks.css @@ -97,7 +97,7 @@ a:visited { .footnote-ref sup { font-size: 0.7em; - /* font-weight: bold; */ + font-style: normal; } .footnote-ref sup::before { diff --git a/ytheleus.org/site/index.dj b/ytheleus.org/site/index.dj index eeeb1ee..aba5e49 100644 --- a/ytheleus.org/site/index.dj +++ b/ytheleus.org/site/index.dj @@ -2,7 +2,7 @@ You're at ytheleus.org, home page of the [Ytheleus](yth-name) programming language! -This is not implemented yet; Ytheleus does not *does not hi* exist. With that out of the way, here are my vague ideas of what it should be: +This is not implemented yet; Ytheleus does not exist. With that out of the way, here are my vague ideas of what it should be: + It's Andreas Rossberg's 1ML, but computationally pure. + The implementation uses dynamic superinstructions for interpretation and compiles either via "Compiling without continuations", if I decide not to put first-class multiple-resumption continuations in the lanugage, or with CPS, otherwise. \ No newline at end of file