suffix-data.scm 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. ;;;
  2. ;;; My work on common prefixes, using the record type provided
  3. ;;; by libsuffix
  4. ;;;
  5. ;;; Copyright 2016 Jason K. MacDuffie
  6. ;;; License: GPLv3+
  7. ;;;
  8. (import (scheme base)
  9. (scheme load))
  10. (load "./libsuffix.scm")
  11. (define prefixes
  12. '("a" "ab" "ad" "co" "com" "con" "contra" "de" "di" "dis"
  13. "e" "em" "en" "ex" "im" "in" "o" "ob" "per" "pre" "pro"
  14. "re" "se" "su" "sub" "tra" "trans"))
  15. (define prefixes-2
  16. '("ante" "auto" "counter" "enter" "extra" "inter" "intro" "out"
  17. "retro" "super" "sur"))
  18. (define suffixes-data
  19. ;; List of known suffixes. Need at least 4 prefixes
  20. '((act
  21. ("co" "en" "ex" "pre" "re")
  22. ("act"))
  23. (cant
  24. ("de" "dis" "in" "re")
  25. ("cant" "cantation"))
  26. (cede
  27. ("a" "con" "ex" "pre" "pro" "re" "se" "su")
  28. ("cede" "cess" "ceed" "cession"))
  29. (cept
  30. ("a" "con" "contra" "de" "dis" "ex" "in" "per" "pre"
  31. "re")
  32. ("cept" "ception"))
  33. (cide
  34. ("con" "de" "in" "pre")
  35. ("cide" "cision"))
  36. (clude
  37. ("con" "ex" "in" "o" "pre" "se")
  38. ("clude"))
  39. (code
  40. ("de" "en" "pre" "re" "sub")
  41. ("code"))
  42. (crete
  43. ("a" "con" "dis" "ex" "se")
  44. ("crete"))
  45. (cur
  46. ("con" "ex" "in" "o" "re")
  47. ("cur" "cursion"))
  48. (duce
  49. ("ab" "ad" "con" "de" "e" "in" "pro" "re" "se" "sub"
  50. "tra" "trans")
  51. ("duce"))
  52. (face
  53. ("de" "e" "en" "pre" "re")
  54. ("face"))
  55. (fect
  56. ("a" "con" "de" "e" "in" "per" "re" "trans")
  57. ("fect"))
  58. (ference
  59. ("con" "de" "di" "in" "pre" "re" "trans")
  60. ("ference"))
  61. (fine
  62. ("a" "con" "de" "re")
  63. ("fine"))
  64. (flate
  65. ("con" "de" "in" "re" "su")
  66. ("flate" "flation"))
  67. (form
  68. ("con" "de" "in" "per" "pre" "re" "trans")
  69. ("form"))
  70. (fuse
  71. ("con" "de" "di" "e" "in" "per" "pro" "re" "su"
  72. "trans")
  73. ("fuse"))
  74. (gestion
  75. ("con" "di" "e" "in" "su")
  76. ("gestion"))
  77. (gress
  78. ("a" "con" "di" "e" "in" "pro" "re" "trans")
  79. ("gress"))
  80. (ject
  81. ("ab" "ad" "de" "dis" "e" "in" "ob" "pro" "re" "sub"
  82. "tra")
  83. ("ject" "jective"))
  84. (join
  85. ("ad" "co" "con" "dis" "en" "re" "sub")
  86. ("join"))
  87. (junction
  88. ("ad" "con" "dis" "in" "sub")
  89. ("junction"))
  90. (lapse
  91. ("co" "e" "pro" "re")
  92. ("lapse"))
  93. (late
  94. ("ab" "co" "de" "di" "e" "ob" "pre" "pro" "re" "sub"
  95. "trans")
  96. ("late"))
  97. (literate
  98. ("a" "ob" "pre" "sub" "trans")
  99. ("literate"))
  100. (lude
  101. ("a" "co" "de" "e" "pre")
  102. ("lude"))
  103. (mend
  104. ("a" "co" "e" "re")
  105. ("mend"))
  106. (place
  107. ("dis" "em" "pre" "re")
  108. ("place"))
  109. (plete
  110. ("com" "de" "ex" "im" "re" "su")
  111. ("plete" "plement"))
  112. (plication
  113. ("a" "com" "ex" "im" "re" "su")
  114. ("plication"))
  115. (port
  116. ("a" "com" "de" "dis" "ex" "im" "re" "trans")
  117. ("port"))
  118. (pose
  119. ("a" "com" "de" "dis" "ex" "im" "o" "pro" "re" "su"
  120. "trans")
  121. ("pose"))
  122. (quest
  123. ("a" "con" "in" "re")
  124. ("quest"))
  125. (quire
  126. ("a" "en" "in" "re")
  127. ("quire"))
  128. (scribe
  129. ("a" "ad" "co" "con" "de" "in" "pre" "pro" "re" "sub"
  130. "trans")
  131. ("scribe" "script"))
  132. (sent
  133. ("a" "ab" "con" "dis" "pre" "re")
  134. ("sent"))
  135. (sert
  136. ("a" "de" "ex" "in")
  137. ("sert"))
  138. (set
  139. ("a" "co" "in" "re" "sub")
  140. ("set"))
  141. (serve
  142. ("con" "de" "dis" "ob" "pre" "re" "sub")
  143. ("serve"))
  144. (side
  145. ("a" "in" "re" "sub")
  146. ("side"))
  147. (sign
  148. ("a" "co" "con" "de" "en" "re")
  149. ("sign"))
  150. (solution
  151. ("ab" "dis" "ex" "re")
  152. ("solution"))
  153. (sort
  154. ("a" "con" "pre" "re")
  155. ("sort"))
  156. (spect
  157. ("a" "in" "pro" "re" "su")
  158. ("spect"))
  159. (spire
  160. ("a" "con" "in" "per" "re" "su" "trans")
  161. ("spire"))
  162. (stant
  163. ("con" "dis" "in" "sub")
  164. ("stant" "stance"))
  165. (struct
  166. ("con" "de" "in" "ob" "re")
  167. ("struct"))
  168. (tain
  169. ("a" "ab" "con" "de" "ob" "per" "re" "su")
  170. ("tain" "stain"))
  171. (tent
  172. ("a" "ab" "con" "de" "dis" "ex" "in" "pre" "re")
  173. ("tent" "tension" "tention"))
  174. (tract
  175. ("a" "ab" "con" "de" "dis" "ex" "pro" "re" "sub")
  176. ("tract"))
  177. (train
  178. ("de" "dis" "en" "pre" "re")
  179. ("train"))
  180. (test
  181. ("a" "con" "de" "ob" "pre" "pro" "re" "sub")
  182. ("test"))
  183. (vention
  184. ("con" "contra" "in" "pre" "sub")
  185. ("vention"))
  186. (verse
  187. ("a" "ad" "co" "con" "contra" "di" "e" "in" "ob"
  188. "per" "re" "sub" "trans" "tra")
  189. ("verse" "vert"))
  190. (vious
  191. ("de" "en" "ob" "per" "pre")
  192. ("vious"))))
  193. (set! suffixes
  194. (map list->suffix suffixes-data))