git @ Cat's Eye Technologies Chrysoberyl / f004d49
Add entry for Fountain to Languages article. Chris Pressey 1 year, 11 months ago
2 changed file(s) with 37 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
30513051 * reference: true
30523052 * license: Unknown License
30533053 * host-language: [Python][]
3054
3055 ### Fountain
3056
3057 * type: Meta-language
3058 * inception-date: 2023
3059 * genre: Experimental language
3060 * development-stage: unfinished
3061 * paradigms: Metalanguage
3062 * reference-distribution: [Fountain distribution](https://catseye.tc/distribution/Fountain_distribution)
3063
3064 Sample program:
3065
3066 Goal ::=
3067 <. a = 0 .> { "a" <. a += 1 .> } <. a = n .>
3068 <. b = 0 .> { "b" <. b += 1 .> } <. b = n .>
3069 <. c = 0 .> { "c" <. c += 1 .> } <. c = n .>
3070 ;
3071
3072 Fountain is a grammar formalism capable of expressing context-sensitive languages (CSLs),
3073 and supporting both efficient parsing *and* efficient generation of strings
3074 in to those languages.
3075
3076 The example grammar above both parses and generates strings of
3077 the classic CSL `a`^_n_ `b`^_n_ `c`^_n_. In both directions it
3078 operates deterministically, and thus efficiently, guided by the
3079 interspersed semantic constraints.
3080
3081 #### Reference Implementation: fountain
3082
3083 * license: Unknown license
3084 * host-language: [Haskell][]
3085 * implementation-type: parser, generator
30543086
30553087 - - - -
30563088
15641564 "revision": "0.0",
15651565 "url": "https://catseye.tc/distfiles/fountain-0.1.zip",
15661566 "version": "0.1"
1567 },
1568 {
1569 "revision": "0.0",
1570 "url": "https://catseye.tc/distfiles/fountain-0.2.zip",
1571 "version": "0.2"
15671572 }
15681573 ],
15691574 "reponame": "Fountain",