diff --git a/doc/tutorial/music/Music.gf b/doc/tutorial/music/Music.gf new file mode 100644 index 000000000..23defb7a6 --- /dev/null +++ b/doc/tutorial/music/Music.gf @@ -0,0 +1,12 @@ + abstract Music = { + + flags startcat=Kind ; + + cat + Kind ; + Property ; + fun + PropKind : Kind -> Property -> Kind ; + Song : Kind ; + American : Property ; +} \ No newline at end of file diff --git a/doc/tutorial/music/MusicEng.gf b/doc/tutorial/music/MusicEng.gf new file mode 100644 index 000000000..c85915254 --- /dev/null +++ b/doc/tutorial/music/MusicEng.gf @@ -0,0 +1,7 @@ +--# -path=.:present:api:prelude + + concrete MusicEng of Music = MusicEng0 - [PropKind] ** + open SyntaxEng in { + lin + PropKind k p = mkCN k (mkRS (mkRCl which_RP (mkVP p))) ; + } diff --git a/doc/tutorial/music/MusicEng0.gf b/doc/tutorial/music/MusicEng0.gf new file mode 100644 index 000000000..088444e38 --- /dev/null +++ b/doc/tutorial/music/MusicEng0.gf @@ -0,0 +1,3 @@ + concrete MusicEng0 of Music = MusicI with + (Syntax = SyntaxEng), + (MusicLex = MusicLexEng) ; diff --git a/doc/tutorial/music/MusicFin.gf b/doc/tutorial/music/MusicFin.gf new file mode 100644 index 000000000..2ced47d78 --- /dev/null +++ b/doc/tutorial/music/MusicFin.gf @@ -0,0 +1,5 @@ +--# -path=.:present:prelude + + concrete MusicFin of Music = MusicI with + (Syntax = SyntaxFin), + (MusicLex = MusicLexFin) ; diff --git a/doc/tutorial/music/MusicFre.gf b/doc/tutorial/music/MusicFre.gf new file mode 100644 index 000000000..69e85a119 --- /dev/null +++ b/doc/tutorial/music/MusicFre.gf @@ -0,0 +1,6 @@ +--# -path=.:present:prelude + + + concrete MusicFre of Music = MusicI with + (Syntax = SyntaxFre), + (MusicLex = MusicLexFre) ; diff --git a/doc/tutorial/music/MusicGer.gf b/doc/tutorial/music/MusicGer.gf new file mode 100644 index 000000000..75621a25a --- /dev/null +++ b/doc/tutorial/music/MusicGer.gf @@ -0,0 +1,6 @@ +--# -path=.:present:api:prelude + + concrete MusicGer of Music = MusicI with + (Syntax = SyntaxGer), + (MusicLex = MusicLexGer) ; + diff --git a/doc/tutorial/music/MusicI.gf b/doc/tutorial/music/MusicI.gf new file mode 100644 index 000000000..54a6a6c37 --- /dev/null +++ b/doc/tutorial/music/MusicI.gf @@ -0,0 +1,9 @@ + incomplete concrete MusicI of Music = open Syntax, MusicLex in { + lincat + Kind = CN ; + Property = AP ; + lin + PropKind k p = mkCN p k ; + Song = mkCN song_N ; + American = mkAP american_A ; + } diff --git a/doc/tutorial/music/MusicLex.gf b/doc/tutorial/music/MusicLex.gf new file mode 100644 index 000000000..87a670698 --- /dev/null +++ b/doc/tutorial/music/MusicLex.gf @@ -0,0 +1,5 @@ + abstract MusicLex = Cat ** { + fun + song_N : N ; + american_A : A ; + } diff --git a/doc/tutorial/music/MusicLexEng.gf b/doc/tutorial/music/MusicLexEng.gf new file mode 100644 index 000000000..8aef6b6c5 --- /dev/null +++ b/doc/tutorial/music/MusicLexEng.gf @@ -0,0 +1,5 @@ + concrete MusicLexEng of MusicLex = CatEng ** open ParadigmsEng in { + lin + song_N = mkN "song" "songs" ; + american_A = mkA "American" ; + } \ No newline at end of file diff --git a/doc/tutorial/music/MusicLexFin.gf b/doc/tutorial/music/MusicLexFin.gf new file mode 100644 index 000000000..8082ab6f6 --- /dev/null +++ b/doc/tutorial/music/MusicLexFin.gf @@ -0,0 +1,7 @@ + concrete MusicLexFin of MusicLex = + CatFin ** open ParadigmsFin in { + lin + song_N = regN "kappale" ; ---- mkN + american_A = regA "amerikkalainen" ; ---- mkA + } + diff --git a/doc/tutorial/music/MusicLexFre.gf b/doc/tutorial/music/MusicLexFre.gf new file mode 100644 index 000000000..e09368a5c --- /dev/null +++ b/doc/tutorial/music/MusicLexFre.gf @@ -0,0 +1,6 @@ + concrete MusicLexFre of MusicLex = CatFre ** open ParadigmsFre in { + + lin + song_N = mkN "chanson" feminine ; + american_A = mkA "américain" ; + } diff --git a/doc/tutorial/music/MusicLexGer.gf b/doc/tutorial/music/MusicLexGer.gf new file mode 100644 index 000000000..8d0974a77 --- /dev/null +++ b/doc/tutorial/music/MusicLexGer.gf @@ -0,0 +1,6 @@ + concrete MusicLexGer of MusicLex = + CatGer ** open ParadigmsGer in { + lin + song_N = mkN "Lied" "Lieder" neuter ; + american_A = mkA "amerikanisch" ; + }