Skip to content
This repository
Browse code

Initial commit

  • Loading branch information...
commit daaafffed3f4f1c59d39a9ec6e7712b6cc4a55c5 0 parents
Alson Kemp authored

Showing 424 changed files with 61,494 additions and 0 deletions. Show diff stats Hide diff stats

  1. 6  App/Controllers/About.hs
  2. 6  App/Controllers/Develop.hs
  3. 6  App/Controllers/Download.hs
  4. 6  App/Controllers/Home.hs
  5. 6  App/Layouts/Default.hs
  6. 64  App/Layouts/oldDefault.hs
  7. 21  App/Views/About/Index.hs
  8. 43  App/Views/Develop/Index.hs
  9. 11  App/Views/Download/Index.hs
  10. 17  App/Views/Home/Index.hs
  11. 7  App/Views/Source.hs
  12. 23  Config/App.hs
  13. 41  Config/Master.hs
  14. 6  Config/Routes.hs
  15. 599  Config/mime.types
  16. 1  README
  17. 4  Setup.lhs
  18. 40  Turbinado/Controller.hs
  19. 32  Turbinado/Controller/Exception.hs
  20. 47  Turbinado/Controller/Monad.hs
  21. 38  Turbinado/Database/ORM/Generator.hs
  22. 230  Turbinado/Database/ORM/Output.hs
  23. 21  Turbinado/Database/ORM/PostgreSQL.hs
  24. 30  Turbinado/Environment.hs
  25. BIN  Turbinado/Environment/.ViewData.hs.swp
  26. 195  Turbinado/Environment/CodeStore.hs
  27. 133  Turbinado/Environment/Cookie.hs
  28. 5  Turbinado/Environment/Header.hs
  29. 40  Turbinado/Environment/Logger.hs
  30. 113  Turbinado/Environment/MimeTypes.hs
  31. 138  Turbinado/Environment/Request.hs
  32. 150  Turbinado/Environment/Response.hs
  33. 88  Turbinado/Environment/Routes.hs
  34. 132  Turbinado/Environment/Session.hs
  35. 64  Turbinado/Environment/Settings.hs
  36. 27  Turbinado/Environment/ViewData.hs
  37. 43  Turbinado/Layout.hs
  38. 175  Turbinado/Server.hs
  39. 42  Turbinado/Server/Exception.hs
  40. 44  Turbinado/Server/Handlers/ErrorHandler.hs
  41. 106  Turbinado/Server/Handlers/RequestHandler.hs
  42. 26  Turbinado/Server/Handlers/SessionHandler.hs
  43. 159  Turbinado/Server/Handlers/SessionHandlers/GenericDB.hs
  44. 30  Turbinado/Server/Handlers/SessionHandlers/GenericDB/SessionDBInfo.hs
  45. 68  Turbinado/Server/Handlers/SessionHandlers/GenericDB/SessionDBInfo/SessionData.hs
  46. 42  Turbinado/Server/Handlers/SessionHandlers/GenericDB/SessionDBInfo/Sessions.hs
  47. 17  Turbinado/Server/Handlers/SessionHandlers/PostgreSQL.hs.in
  48. 115  Turbinado/Server/Handlers/SessionHandlers/Simple.hs
  49. 25  Turbinado/Server/Network.hs
  50. 60  Turbinado/Server/StandardResponse.hs
  51. 42  Turbinado/Server/StaticContent.hs
  52. 7  Turbinado/Stubs/Common.hs
  53. 3  Turbinado/Stubs/Controller.hs
  54. 9  Turbinado/Stubs/Layout.hs
  55. 11  Turbinado/Stubs/View.hs
  56. 27  Turbinado/Utility/General.hs
  57. 110  Turbinado/View.hs
  58. 32  Turbinado/View/Exception.hs
  59. 132  Turbinado/View/HTML.hs
  60. 57  Turbinado/View/Monad.hs
  61. 129  Turbinado/View/XML.hs
  62. 78  Turbinado/View/XML/PCDATA.hs
  63. 215  Turbinado/View/XMLGenerator.hs
  64. 5  build
  65. 1  log/log
  66. 25  static/css/blueprintcss/ie.css
  67. 30  static/css/blueprintcss/print.css
  68. 251  static/css/blueprintcss/screen.css
  69. 3  static/css/extjs/css/README.txt
  70. 61  static/css/extjs/css/borders.css
  71. 111  static/css/extjs/css/box.css
  72. 161  static/css/extjs/css/button.css
  73. 55  static/css/extjs/css/combo.css
  74. 314  static/css/extjs/css/core.css
  75. 247  static/css/extjs/css/date-picker.css
  76. 75  static/css/extjs/css/dd.css
  77. 37  static/css/extjs/css/debug.css
  78. 69  static/css/extjs/css/dialog.css
  79. 66  static/css/extjs/css/editor.css
  80. 925  static/css/extjs/css/ext-all.css
  81. 552  static/css/extjs/css/form.css
  82. 554  static/css/extjs/css/grid.css
  83. 273  static/css/extjs/css/layout.css
  84. 142  static/css/extjs/css/menu.css
  85. 424  static/css/extjs/css/panel.css
  86. 43  static/css/extjs/css/progress.css
  87. 134  static/css/extjs/css/qtips.css
  88. 9  static/css/extjs/css/reset-min.css
  89. 9  static/css/extjs/css/reset.css
  90. 143  static/css/extjs/css/resizable.css
  91. 90  static/css/extjs/css/slider.css
  92. 358  static/css/extjs/css/tabs.css
  93. 183  static/css/extjs/css/toolbar.css
  94. 254  static/css/extjs/css/tree.css
  95. 208  static/css/extjs/css/window.css
  96. 415  static/css/extjs/css/xtheme-gray.css
  97. BIN  static/css/extjs/images/default/box/corners-blue.gif
  98. BIN  static/css/extjs/images/default/box/corners.gif
  99. BIN  static/css/extjs/images/default/box/l-blue.gif
  100. BIN  static/css/extjs/images/default/box/l.gif
  101. BIN  static/css/extjs/images/default/box/r-blue.gif
  102. BIN  static/css/extjs/images/default/box/r.gif
  103. BIN  static/css/extjs/images/default/box/tb-blue.gif
  104. BIN  static/css/extjs/images/default/box/tb.gif
  105. BIN  static/css/extjs/images/default/button/btn-arrow.gif
  106. BIN  static/css/extjs/images/default/button/btn-sprite.gif
  107. BIN  static/css/extjs/images/default/dd/drop-add.gif
  108. BIN  static/css/extjs/images/default/dd/drop-no.gif
  109. BIN  static/css/extjs/images/default/dd/drop-yes.gif
  110. BIN  static/css/extjs/images/default/editor/tb-sprite.gif
  111. BIN  static/css/extjs/images/default/form/checkbox.gif
  112. BIN  static/css/extjs/images/default/form/clear-trigger.gif
  113. BIN  static/css/extjs/images/default/form/clear-trigger.psd
  114. BIN  static/css/extjs/images/default/form/date-trigger.gif
  115. BIN  static/css/extjs/images/default/form/date-trigger.psd
  116. BIN  static/css/extjs/images/default/form/error-tip-corners.gif
  117. BIN  static/css/extjs/images/default/form/exclamation.gif
  118. BIN  static/css/extjs/images/default/form/radio.gif
  119. BIN  static/css/extjs/images/default/form/search-trigger.gif
  120. BIN  static/css/extjs/images/default/form/search-trigger.psd
  121. BIN  static/css/extjs/images/default/form/text-bg.gif
  122. BIN  static/css/extjs/images/default/form/trigger-tpl.gif
  123. BIN  static/css/extjs/images/default/form/trigger.gif
  124. BIN  static/css/extjs/images/default/form/trigger.psd
  125. BIN  static/css/extjs/images/default/gradient-bg.gif
  126. BIN  static/css/extjs/images/default/grid/arrow-left-white.gif
  127. BIN  static/css/extjs/images/default/grid/arrow-right-white.gif
  128. BIN  static/css/extjs/images/default/grid/col-move-bottom.gif
  129. BIN  static/css/extjs/images/default/grid/col-move-top.gif
  130. BIN  static/css/extjs/images/default/grid/columns.gif
  131. BIN  static/css/extjs/images/default/grid/dirty.gif
  132. BIN  static/css/extjs/images/default/grid/done.gif
  133. BIN  static/css/extjs/images/default/grid/drop-no.gif
  134. BIN  static/css/extjs/images/default/grid/drop-yes.gif
  135. BIN  static/css/extjs/images/default/grid/footer-bg.gif
  136. BIN  static/css/extjs/images/default/grid/grid-blue-hd.gif
  137. BIN  static/css/extjs/images/default/grid/grid-blue-split.gif
  138. BIN  static/css/extjs/images/default/grid/grid-hrow.gif
  139. BIN  static/css/extjs/images/default/grid/grid-loading.gif
  140. BIN  static/css/extjs/images/default/grid/grid-split.gif
  141. BIN  static/css/extjs/images/default/grid/grid-vista-hd.gif
  142. BIN  static/css/extjs/images/default/grid/grid3-hd-btn.gif
  143. BIN  static/css/extjs/images/default/grid/grid3-hrow-over.gif
  144. BIN  static/css/extjs/images/default/grid/grid3-hrow.gif
  145. BIN  static/css/extjs/images/default/grid/grid3-special-col-bg.gif
  146. BIN  static/css/extjs/images/default/grid/grid3-special-col-sel-bg.gif
  147. BIN  static/css/extjs/images/default/grid/group-by.gif
  148. BIN  static/css/extjs/images/default/grid/group-expand-sprite.gif
  149. BIN  static/css/extjs/images/default/grid/hd-pop.gif
  150. BIN  static/css/extjs/images/default/grid/hmenu-asc.gif
  151. BIN  static/css/extjs/images/default/grid/hmenu-desc.gif
  152. BIN  static/css/extjs/images/default/grid/hmenu-lock.gif
  153. BIN  static/css/extjs/images/default/grid/hmenu-lock.png
  154. BIN  static/css/extjs/images/default/grid/hmenu-unlock.gif
  155. BIN  static/css/extjs/images/default/grid/hmenu-unlock.png
  156. BIN  static/css/extjs/images/default/grid/invalid_line.gif
  157. BIN  static/css/extjs/images/default/grid/loading.gif
  158. BIN  static/css/extjs/images/default/grid/mso-hd.gif
  159. BIN  static/css/extjs/images/default/grid/nowait.gif
  160. BIN  static/css/extjs/images/default/grid/page-first-disabled.gif
  161. BIN  static/css/extjs/images/default/grid/page-first.gif
  162. BIN  static/css/extjs/images/default/grid/page-last-disabled.gif
  163. BIN  static/css/extjs/images/default/grid/page-last.gif
  164. BIN  static/css/extjs/images/default/grid/page-next-disabled.gif
  165. BIN  static/css/extjs/images/default/grid/page-next.gif
  166. BIN  static/css/extjs/images/default/grid/page-prev-disabled.gif
  167. BIN  static/css/extjs/images/default/grid/page-prev.gif
  168. BIN  static/css/extjs/images/default/grid/pick-button.gif
  169. BIN  static/css/extjs/images/default/grid/refresh.gif
  170. BIN  static/css/extjs/images/default/grid/row-check-sprite.gif
  171. BIN  static/css/extjs/images/default/grid/row-expand-sprite.gif
  172. BIN  static/css/extjs/images/default/grid/row-over.gif
  173. BIN  static/css/extjs/images/default/grid/row-sel.gif
  174. BIN  static/css/extjs/images/default/grid/sort_asc.gif
  175. BIN  static/css/extjs/images/default/grid/sort_desc.gif
  176. BIN  static/css/extjs/images/default/grid/wait.gif
  177. BIN  static/css/extjs/images/default/layout/collapse.gif
  178. BIN  static/css/extjs/images/default/layout/expand.gif
  179. BIN  static/css/extjs/images/default/layout/gradient-bg.gif
  180. BIN  static/css/extjs/images/default/layout/mini-bottom.gif
  181. BIN  static/css/extjs/images/default/layout/mini-left.gif
  182. BIN  static/css/extjs/images/default/layout/mini-right.gif
  183. BIN  static/css/extjs/images/default/layout/mini-top.gif
  184. BIN  static/css/extjs/images/default/layout/ns-collapse.gif
  185. BIN  static/css/extjs/images/default/layout/ns-expand.gif
  186. BIN  static/css/extjs/images/default/layout/panel-close.gif
  187. BIN  static/css/extjs/images/default/layout/panel-title-bg.gif
  188. BIN  static/css/extjs/images/default/layout/panel-title-light-bg.gif
  189. BIN  static/css/extjs/images/default/layout/stick.gif
  190. BIN  static/css/extjs/images/default/layout/stuck.gif
  191. BIN  static/css/extjs/images/default/layout/tab-close-on.gif
  192. BIN  static/css/extjs/images/default/layout/tab-close.gif
  193. BIN  static/css/extjs/images/default/menu/checked.gif
  194. BIN  static/css/extjs/images/default/menu/group-checked.gif
  195. BIN  static/css/extjs/images/default/menu/item-over.gif
  196. BIN  static/css/extjs/images/default/menu/menu-parent.gif
  197. BIN  static/css/extjs/images/default/menu/menu.gif
  198. BIN  static/css/extjs/images/default/menu/unchecked.gif
  199. BIN  static/css/extjs/images/default/panel/corners-sprite.gif
  200. BIN  static/css/extjs/images/default/panel/left-right.gif
  201. BIN  static/css/extjs/images/default/panel/light-hd.gif
  202. BIN  static/css/extjs/images/default/panel/tool-sprite-tpl.gif
  203. BIN  static/css/extjs/images/default/panel/tool-sprites.gif
  204. BIN  static/css/extjs/images/default/panel/tools-sprites-trans.gif
  205. BIN  static/css/extjs/images/default/panel/top-bottom.gif
  206. BIN  static/css/extjs/images/default/panel/top-bottom.png
  207. BIN  static/css/extjs/images/default/panel/white-corners-sprite.gif
  208. BIN  static/css/extjs/images/default/panel/white-left-right.gif
  209. BIN  static/css/extjs/images/default/panel/white-top-bottom.gif
  210. BIN  static/css/extjs/images/default/progress/progress-bg.gif
  211. BIN  static/css/extjs/images/default/qtip/bg.gif
  212. BIN  static/css/extjs/images/default/qtip/close.gif
  213. BIN  static/css/extjs/images/default/qtip/tip-sprite.gif
  214. BIN  static/css/extjs/images/default/s.gif
  215. BIN  static/css/extjs/images/default/shadow-c.png
  216. BIN  static/css/extjs/images/default/shadow-c.psd
  217. BIN  static/css/extjs/images/default/shadow-lr.png
  218. BIN  static/css/extjs/images/default/shadow.png
  219. BIN  static/css/extjs/images/default/shared/blue-loading.gif
  220. BIN  static/css/extjs/images/default/shared/calendar.gif
  221. BIN  static/css/extjs/images/default/shared/glass-bg.gif
  222. BIN  static/css/extjs/images/default/shared/hd-sprite.gif
  223. BIN  static/css/extjs/images/default/shared/large-loading.gif
  224. BIN  static/css/extjs/images/default/shared/left-btn.gif
  225. BIN  static/css/extjs/images/default/shared/loading-balls.gif
  226. BIN  static/css/extjs/images/default/shared/right-btn.gif
  227. BIN  static/css/extjs/images/default/shared/warning.gif
  228. BIN  static/css/extjs/images/default/sizer/e-handle-dark.gif
  229. BIN  static/css/extjs/images/default/sizer/e-handle.gif
  230. BIN  static/css/extjs/images/default/sizer/ne-handle-dark.gif
  231. BIN  static/css/extjs/images/default/sizer/ne-handle.gif
  232. BIN  static/css/extjs/images/default/sizer/nw-handle-dark.gif
  233. BIN  static/css/extjs/images/default/sizer/nw-handle.gif
  234. BIN  static/css/extjs/images/default/sizer/s-handle-dark.gif
  235. BIN  static/css/extjs/images/default/sizer/s-handle.gif
  236. BIN  static/css/extjs/images/default/sizer/se-handle-dark.gif
  237. BIN  static/css/extjs/images/default/sizer/se-handle.gif
  238. BIN  static/css/extjs/images/default/sizer/square.gif
  239. BIN  static/css/extjs/images/default/sizer/sw-handle-dark.gif
  240. BIN  static/css/extjs/images/default/sizer/sw-handle.gif
  241. BIN  static/css/extjs/images/default/slider/slider-bg.png
  242. BIN  static/css/extjs/images/default/slider/slider-thumb.png
  243. BIN  static/css/extjs/images/default/slider/slider-v-bg.png
  244. BIN  static/css/extjs/images/default/slider/slider-v-thumb.png
  245. BIN  static/css/extjs/images/default/tabs/scroll-left.gif
  246. BIN  static/css/extjs/images/default/tabs/scroll-right.gif
  247. BIN  static/css/extjs/images/default/tabs/scroller-bg.gif
  248. BIN  static/css/extjs/images/default/tabs/tab-btm-inactive-left-bg.gif
  249. BIN  static/css/extjs/images/default/tabs/tab-btm-inactive-right-bg.gif
  250. BIN  static/css/extjs/images/default/tabs/tab-btm-left-bg.gif
  251. BIN  static/css/extjs/images/default/tabs/tab-btm-right-bg.gif
  252. BIN  static/css/extjs/images/default/tabs/tab-close.gif
  253. BIN  static/css/extjs/images/default/tabs/tab-strip-bg.gif
  254. BIN  static/css/extjs/images/default/tabs/tab-strip-bg.png
  255. BIN  static/css/extjs/images/default/tabs/tab-strip-btm-bg.gif
  256. BIN  static/css/extjs/images/default/tabs/tabs-sprite.gif
  257. BIN  static/css/extjs/images/default/toolbar/bg.gif
  258. BIN  static/css/extjs/images/default/toolbar/btn-arrow-light.gif
  259. BIN  static/css/extjs/images/default/toolbar/btn-arrow.gif
  260. BIN  static/css/extjs/images/default/toolbar/btn-over-bg.gif
  261. BIN  static/css/extjs/images/default/toolbar/gray-bg.gif
  262. BIN  static/css/extjs/images/default/toolbar/tb-bg.gif
  263. BIN  static/css/extjs/images/default/toolbar/tb-btn-sprite.gif
  264. BIN  static/css/extjs/images/default/tree/arrows.gif
  265. BIN  static/css/extjs/images/default/tree/drop-add.gif
  266. BIN  static/css/extjs/images/default/tree/drop-between.gif
  267. BIN  static/css/extjs/images/default/tree/drop-no.gif
  268. BIN  static/css/extjs/images/default/tree/drop-over.gif
  269. BIN  static/css/extjs/images/default/tree/drop-under.gif
  270. BIN  static/css/extjs/images/default/tree/drop-yes.gif
  271. BIN  static/css/extjs/images/default/tree/elbow-end-minus-nl.gif
  272. BIN  static/css/extjs/images/default/tree/elbow-end-minus.gif
  273. BIN  static/css/extjs/images/default/tree/elbow-end-plus-nl.gif
  274. BIN  static/css/extjs/images/default/tree/elbow-end-plus.gif
  275. BIN  static/css/extjs/images/default/tree/elbow-end.gif
  276. BIN  static/css/extjs/images/default/tree/elbow-line.gif
  277. BIN  static/css/extjs/images/default/tree/elbow-minus-nl.gif
  278. BIN  static/css/extjs/images/default/tree/elbow-minus.gif
  279. BIN  static/css/extjs/images/default/tree/elbow-plus-nl.gif
  280. BIN  static/css/extjs/images/default/tree/elbow-plus.gif
  281. BIN  static/css/extjs/images/default/tree/elbow.gif
  282. BIN  static/css/extjs/images/default/tree/folder-open.gif
  283. BIN  static/css/extjs/images/default/tree/folder.gif
  284. BIN  static/css/extjs/images/default/tree/leaf.gif
  285. BIN  static/css/extjs/images/default/tree/loading.gif
  286. BIN  static/css/extjs/images/default/tree/s.gif
  287. BIN  static/css/extjs/images/default/window/icon-error.gif
  288. BIN  static/css/extjs/images/default/window/icon-info.gif
  289. BIN  static/css/extjs/images/default/window/icon-question.gif
  290. BIN  static/css/extjs/images/default/window/icon-warning.gif
  291. BIN  static/css/extjs/images/default/window/left-corners.png
  292. BIN  static/css/extjs/images/default/window/left-corners.psd
  293. BIN  static/css/extjs/images/default/window/left-right.png
  294. BIN  static/css/extjs/images/default/window/left-right.psd
  295. BIN  static/css/extjs/images/default/window/right-corners.png
  296. BIN  static/css/extjs/images/default/window/right-corners.psd
  297. BIN  static/css/extjs/images/default/window/top-bottom.png
  298. BIN  static/css/extjs/images/default/window/top-bottom.psd
  299. BIN  static/css/extjs/images/gray/button/btn-arrow.gif
  300. BIN  static/css/extjs/images/gray/button/btn-sprite.gif
  301. BIN  static/css/extjs/images/gray/gradient-bg.gif
  302. BIN  static/css/extjs/images/gray/panel/corners-sprite.gif
  303. BIN  static/css/extjs/images/gray/panel/left-right.gif
  304. BIN  static/css/extjs/images/gray/panel/light-hd.gif
  305. BIN  static/css/extjs/images/gray/panel/tool-sprite-tpl.gif
  306. BIN  static/css/extjs/images/gray/panel/tool-sprites.gif
  307. BIN  static/css/extjs/images/gray/panel/tools-sprites-trans.gif
  308. BIN  static/css/extjs/images/gray/panel/top-bottom.gif
  309. BIN  static/css/extjs/images/gray/panel/top-bottom.png
  310. BIN  static/css/extjs/images/gray/panel/white-corners-sprite.gif
  311. BIN  static/css/extjs/images/gray/panel/white-left-right.gif
  312. BIN  static/css/extjs/images/gray/panel/white-top-bottom.gif
  313. BIN  static/css/extjs/images/gray/qtip/bg.gif
  314. BIN  static/css/extjs/images/gray/qtip/close.gif
  315. BIN  static/css/extjs/images/gray/qtip/tip-sprite.gif
  316. BIN  static/css/extjs/images/gray/s.gif
  317. BIN  static/css/extjs/images/gray/tabs/scroll-left.gif
  318. BIN  static/css/extjs/images/gray/tabs/scroll-right.gif
  319. BIN  static/css/extjs/images/gray/tabs/scroller-bg.gif
  320. BIN  static/css/extjs/images/gray/tabs/tab-btm-inactive-left-bg.gif
  321. BIN  static/css/extjs/images/gray/tabs/tab-btm-inactive-right-bg.gif
  322. BIN  static/css/extjs/images/gray/tabs/tab-btm-left-bg.gif
  323. BIN  static/css/extjs/images/gray/tabs/tab-btm-right-bg.gif
  324. BIN  static/css/extjs/images/gray/tabs/tab-close.gif
  325. BIN  static/css/extjs/images/gray/tabs/tab-strip-bg.gif
  326. BIN  static/css/extjs/images/gray/tabs/tab-strip-bg.png
  327. BIN  static/css/extjs/images/gray/tabs/tab-strip-btm-bg.gif
  328. BIN  static/css/extjs/images/gray/tabs/tabs-sprite.gif
  329. BIN  static/css/extjs/images/gray/toolbar/bg.gif
  330. BIN  static/css/extjs/images/gray/toolbar/btn-arrow-light.gif
  331. BIN  static/css/extjs/images/gray/toolbar/btn-arrow.gif
  332. BIN  static/css/extjs/images/gray/toolbar/btn-over-bg.gif
  333. BIN  static/css/extjs/images/gray/toolbar/gray-bg.gif
  334. BIN  static/css/extjs/images/gray/toolbar/tb-bg.gif
  335. BIN  static/css/extjs/images/gray/toolbar/tb-btn-sprite.gif
  336. BIN  static/css/extjs/images/gray/window/icon-error.gif
  337. BIN  static/css/extjs/images/gray/window/icon-info.gif
  338. BIN  static/css/extjs/images/gray/window/icon-question.gif
  339. BIN  static/css/extjs/images/gray/window/icon-warning.gif
  340. BIN  static/css/extjs/images/gray/window/left-corners.png
  341. BIN  static/css/extjs/images/gray/window/left-corners.pspimage
  342. BIN  static/css/extjs/images/gray/window/left-right.png
  343. BIN  static/css/extjs/images/gray/window/right-corners.png
  344. BIN  static/css/extjs/images/gray/window/top-bottom.png
  345. BIN  static/css/extjs/images/vista/basic-dialog/bg-center.gif
  346. BIN  static/css/extjs/images/vista/basic-dialog/bg-left.gif
  347. BIN  static/css/extjs/images/vista/basic-dialog/bg-right.gif
  348. BIN  static/css/extjs/images/vista/basic-dialog/close.gif
  349. BIN  static/css/extjs/images/vista/basic-dialog/collapse.gif
  350. BIN  static/css/extjs/images/vista/basic-dialog/dlg-bg.gif
  351. BIN  static/css/extjs/images/vista/basic-dialog/e-handle.gif
  352. BIN  static/css/extjs/images/vista/basic-dialog/expand.gif
  353. BIN  static/css/extjs/images/vista/basic-dialog/hd-sprite.gif
  354. BIN  static/css/extjs/images/vista/basic-dialog/s-handle.gif
  355. BIN  static/css/extjs/images/vista/basic-dialog/se-handle.gif
  356. BIN  static/css/extjs/images/vista/basic-dialog/w-handle.gif
  357. BIN  static/css/extjs/images/vista/gradient-bg.gif
  358. BIN  static/css/extjs/images/vista/grid/grid-split.gif
  359. BIN  static/css/extjs/images/vista/grid/grid-vista-hd.gif
  360. BIN  static/css/extjs/images/vista/layout/collapse.gif
  361. BIN  static/css/extjs/images/vista/layout/expand.gif
  362. BIN  static/css/extjs/images/vista/layout/gradient-bg.gif
  363. BIN  static/css/extjs/images/vista/layout/ns-collapse.gif
  364. BIN  static/css/extjs/images/vista/layout/ns-expand.gif
  365. BIN  static/css/extjs/images/vista/layout/panel-close.gif
  366. BIN  static/css/extjs/images/vista/layout/panel-title-bg.gif
  367. BIN  static/css/extjs/images/vista/layout/panel-title-light-bg.gif
  368. BIN  static/css/extjs/images/vista/layout/stick.gif
  369. BIN  static/css/extjs/images/vista/layout/tab-close-on.gif
  370. BIN  static/css/extjs/images/vista/layout/tab-close.gif
  371. BIN  static/css/extjs/images/vista/qtip/bg.gif
  372. BIN  static/css/extjs/images/vista/qtip/tip-sprite.gif
  373. BIN  static/css/extjs/images/vista/s.gif
  374. BIN  static/css/extjs/images/vista/sizer/e-handle-dark.gif
  375. BIN  static/css/extjs/images/vista/sizer/e-handle.gif
  376. BIN  static/css/extjs/images/vista/sizer/ne-handle-dark.gif
  377. BIN  static/css/extjs/images/vista/sizer/ne-handle.gif
  378. BIN  static/css/extjs/images/vista/sizer/nw-handle-dark.gif
  379. BIN  static/css/extjs/images/vista/sizer/nw-handle.gif
  380. BIN  static/css/extjs/images/vista/sizer/s-handle-dark.gif
  381. BIN  static/css/extjs/images/vista/sizer/s-handle.gif
  382. BIN  static/css/extjs/images/vista/sizer/se-handle-dark.gif
  383. BIN  static/css/extjs/images/vista/sizer/se-handle.gif
  384. BIN  static/css/extjs/images/vista/sizer/sw-handle-dark.gif
  385. BIN  static/css/extjs/images/vista/sizer/sw-handle.gif
  386. BIN  static/css/extjs/images/vista/tabs/tab-btm-inactive-left-bg.gif
  387. BIN  static/css/extjs/images/vista/tabs/tab-btm-inactive-right-bg.gif
  388. BIN  static/css/extjs/images/vista/tabs/tab-btm-left-bg.gif
  389. BIN  static/css/extjs/images/vista/tabs/tab-btm-right-bg.gif
  390. BIN  static/css/extjs/images/vista/tabs/tab-sprite.gif
  391. BIN  static/css/extjs/images/vista/toolbar/gray-bg.gif
  392. BIN  static/css/extjs/images/vista/toolbar/tb-btn-sprite.gif
  393. 699  static/css/extjs/resources.jsb
  394. 34  static/css/turbinado.css
  395. BIN  static/images/1x1.gif
  396. BIN  static/images/about.png
  397. BIN  static/images/content_back.gif
  398. BIN  static/images/develop.png
  399. BIN  static/images/download.png
  400. BIN  static/images/shadow-left.gif
  401. BIN  static/images/shadow-left.png
  402. BIN  static/images/shadow-right.gif
  403. BIN  static/images/shadow-right.png
  404. BIN  static/images/shadow_left.gif
  405. BIN  static/images/shadow_left.old.gif
  406. BIN  static/images/shadow_right.gif
  407. BIN  static/images/shadow_right.old.gif
  408. BIN  static/images/turbinado.jpg
  409. 45  static/index.html
  410. 35,480  static/js/ext-all-debug.js
  411. 162  static/js/ext-all.js
  412. 5,736  static/js/ext-core-debug.js
  413. 19  static/js/ext-core.js
  414. 10  static/js/extjs/adapter/ext/ext-base.js
  415. 10  static/js/extjs/adapter/jquery/ext-jquery-adapter.js
  416. 3,408  static/js/extjs/adapter/jquery/jquery.js
  417. 1,122  static/js/extjs/adapter/prototype/effects.js
  418. 10  static/js/extjs/adapter/prototype/ext-prototype-adapter.js
  419. 4,221  static/js/extjs/adapter/prototype/prototype.js
  420. 58  static/js/extjs/adapter/prototype/scriptaculous.js
  421. 10  static/js/extjs/adapter/yui/ext-yui-adapter.js
  422. 17  static/js/extjs/adapter/yui/yui-utilities.js
  423. 0  tmp/.filemap
  424. 32  turbinado.cabal
6  App/Controllers/About.hs
... ...
@@ -0,0 +1,6 @@
  1
+module About (index) where
  2
+
  3
+index :: Controller ()
  4
+index = return () 
  5
+
  6
+
6  App/Controllers/Develop.hs
... ...
@@ -0,0 +1,6 @@
  1
+module Develop (index) where
  2
+
  3
+index :: Controller ()
  4
+index = return () 
  5
+
  6
+
6  App/Controllers/Download.hs
... ...
@@ -0,0 +1,6 @@
  1
+module Download (index) where
  2
+
  3
+index :: Controller ()
  4
+index = return () 
  5
+
  6
+
6  App/Controllers/Home.hs
... ...
@@ -0,0 +1,6 @@
  1
+module Home (index) where
  2
+
  3
+index :: Controller ()
  4
+index = return () :: Controller ()
  5
+
  6
+
6  App/Layouts/Default.hs
... ...
@@ -0,0 +1,6 @@
  1
+module Default (page) where
  2
+
  3
+-- This is for XML, so doesn't do anything but insert the page
  4
+page :: View XML
  5
+page = insertView
  6
+
64  App/Layouts/oldDefault.hs
... ...
@@ -0,0 +1,64 @@
  1
+module Default (page) where
  2
+import qualified Network.URI as URI
  3
+import qualified Network.HTTP as HTTP
  4
+
  5
+page :: View XML
  6
+page =     <html>
  7
+             <head>
  8
+              <% styleSheet "extjs/css/ext-all" "screen"%>
  9
+              <% styleSheet "turbinado" "screen"%>
  10
+
  11
+              <% javaScript "extjs/adapter/ext/ext-base" %>
  12
+              <% javaScript "ext-all" %>
  13
+              <% googleAnalytics "UA-6158816-1" %>
  14
+
  15
+              <script type="text/javascript">
  16
+              Ext.onReady(function(){
  17
+                var tabs = new Ext.TabPanel({
  18
+                  renderTo: 'content-block',
  19
+                  //width:450,
  20
+                  activeTab: 0,
  21
+                  frame:true,
  22
+                  autoHeight: true,
  23
+                  autoWidth: true,
  24
+                  layout: 'fit',
  25
+                  defaults:{autoHeight: true},
  26
+                  items:[
  27
+                     {autoLoad: '/Home/Index.xml',     title: 'Home'}
  28
+                   , {autoLoad: '/Develop/Index.xml',  title: 'Develop'}
  29
+                   , {autoLoad: '/Tutorial/Index.xml', title: 'Tutorial'}
  30
+                   , {autoLoad: '/Code/Index.xml',     title: 'Code'}
  31
+                   ]
  32
+                });
  33
+              });
  34
+              </script>
  35
+             </head>
  36
+             <body>
  37
+               <div class="wrapper">
  38
+                 <div class="title"> 
  39
+                   <h1 style="display: inline">Turbinado</h1> 
  40
+                   <h2 style="display: inline">web sugar</h2> 
  41
+                 </div>
  42
+                 <hr />
  43
+                 <div class="container">
  44
+                   <div id="content-block" class="content-block">
  45
+                   </div>
  46
+                 </div>
  47
+                 <hr id="hr-footer" />
  48
+                 <div class="footer">
  49
+                   Footer
  50
+                 </div>
  51
+               </div>
  52
+             </body>
  53
+           </html>
  54
+
  55
+anchorWithImage :: String -> String -> View XML
  56
+anchorWithImage l i = <a href=l>
  57
+                        <img src=i height="100" />
  58
+                      </a>
  59
+
  60
+anchorWithText :: String -> String -> View XML
  61
+anchorWithText l t = <a href=l>
  62
+                       <% t %>
  63
+                     </a>
  64
+
21  App/Views/About/Index.hs
... ...
@@ -0,0 +1,21 @@
  1
+onRender =  <div>
  2
+              <h2>Features</h2>
  3
+              <p>Turbinado gives you all of the benefits of coding in Haskell and adds:</p>
  4
+              <ul class="standard-list">
  5
+                <li> Automagic recompilation of Layouts, Pages and Controls; </li>
  6
+                <li> A database <% anchorTag "http://en.wikipedia.org/wiki/Object-relational_mapping" "ORM" %> to make database interaction (especially with PostgreSQL) joyful; </li>
  7
+                <li> A rich set of tags to make designing pages simpler;. </li>
  8
+              </ul>
  9
+
  10
+              <h2>... On The Backs of Giants ... </h2>
  11
+              <p>Turbinado wouldn't be possible without the original work of the following people:</p>
  12
+              <ul class="standard-list">
  13
+                <li> <% anchorTag "http://www.cs.chalmers.se/~d00nibro/" "Niklas Broberg" %> for Haskell Server Pages, the HSP Runtime, Haskell Source Extensions and Haskell Regular Expressions</li>
  14
+                <li> <% anchorTag "http://www.cse.unsw.edu.au/~dons/hs-plugins/" "Don Stewart" %> for hs-plugins </li>
  15
+                <li> <% anchorTag "http://www.cs.chalmers.se/~bringert/projects.html" "Bjorn Bringert" %> for HTTP </li>
  16
+                <li> <% anchorTag "http://software.complete.org/software/projects/show/hdbc" "John Goerzen" %> for Haskell Database Connectivity.</li>
  17
+                <li> <% anchorTag "http://software.complete.org/software/projects/show/hdbc" "John Goerzen" %> for Haskell Database Connectivity.</li>
  18
+
  19
+              </ul>
  20
+              
  21
+            </div>
43  App/Views/Develop/Index.hs
... ...
@@ -0,0 +1,43 @@
  1
+module Index (page) where
  2
+
  3
+page :: View XML
  4
+page     =  <div>
  5
+              <h2>! Windows</h2>
  6
+              <p>This software doesn't work on Windows.  Linux/Unix only at this point.</p>
  7
+              
  8
+              <h2>Darcs</h2>
  9
+              <p> The <em>darcs</em> repo is at <% anchorTag "http://darcs.turbinado.org" "darcs.turbinado.org" %>.  Send commits to maintainer@turbinado.org</p>
  10
+              
  11
+              <h2>Dependencies</h2>
  12
+              <p>You'll need the following:</p>
  13
+              <ul class="standard-list">
  14
+                <li><% anchorTag "http://www.haskell.org/ghc" "GHC" %>
  15
+                  <em> (darcs) </em>
  16
+                </li>
  17
+
  18
+                <li><% anchorTag "http://code.haskell.org/HSP/haskell-src-exts/" "haskell-src-exts" %>
  19
+                  <em> (darcs) </em>
  20
+                </li>
  21
+
  22
+                <li><% anchorTag "http://code.haskell.org/HSP/harp/" "harp" %>
  23
+                  <em> (darcs) </em>
  24
+                </li>
  25
+
  26
+                <li><% anchorTag "http://git.complete.org/hslogger" "hslogger" %>
  27
+                  <em> (git) </em>
  28
+                </li>
  29
+
  30
+                <li><% anchorTag "http://code.haskell.org/HSP/hsx/" "hsx" %>
  31
+                  <em> (darcs) </em>
  32
+                </li>
  33
+
  34
+                <li><% anchorTag "http://code.haskell.org/hs-plugins" "hs-plugins" %>
  35
+                  <em> (darcs) </em>
  36
+                </li>
  37
+
  38
+                <li><% anchorTag "http://code.haskell.org/http" "http" %>
  39
+                  <em> (darcs) </em>
  40
+                </li>
  41
+
  42
+              </ul>
  43
+            </div>
11  App/Views/Download/Index.hs
... ...
@@ -0,0 +1,11 @@
  1
+module Index (page) where
  2
+
  3
+page :: View XML
  4
+page = <div>
  5
+         <h2>DANGER WILL ROBINSON</h2>
  6
+         <p>Developers only at this point!</p>
  7
+         <p>That said, we're looking for help.  Interested?  Check out the 
  8
+           <% anchorTag "/Develop" "Development" %> section. Grab the code, look it over and tell us 
  9
+           how you would improve it.
  10
+         </p>
  11
+       </div>
17  App/Views/Home/Index.hs
... ...
@@ -0,0 +1,17 @@
  1
+module Index (page) where
  2
+
  3
+import System.Time
  4
+
  5
+page :: View XML
  6
+page =  <div>
  7
+              <h2>Turbinado?</h2>
  8
+              <div style="float:right">
  9
+                <img src="http://upload.wikimedia.org/wikipedia/en/thumb/0/0e/TurbinadoSugar.jpg/757px-TurbinadoSugar.jpg" width="300" /> 
  10
+              </div>
  11
+              <p> <a href="http://en.wikipedia.org/wiki/Turbinado">Turbinado</a> is that yummy, not-so-refined sugar.
  12
+              Sounds like Haskell... Sounds like this framework...</p>
  13
+              <p> Turbinado is also an easy-to-use web application framework for Haskell.</p>
  14
+
  15
+              <h2>Why</h2>
  16
+              <p>Haskell has no easy-to-use web framework.  Turbinado is an effort to build one by lazily stealing the best ideas from <% anchorTag "www.rubyonrails.org" "Ruby On Rails" %>, <% anchorTag "www.asp.net" "ASP.NET" %>, etc.</p>
  17
+            </div>
7  App/Views/Source.hs
... ...
@@ -0,0 +1,7 @@
  1
+import System.Time
  2
+
  3
+onRender =  <div>
  4
+              <pre>
  5
+                
  6
+              </pre>
  7
+            </div>
23  Config/App.hs
... ...
@@ -0,0 +1,23 @@
  1
+module Config.App where
  2
+
  3
+import System.Log.Logger
  4
+
  5
+----------------------------------------------------------------
  6
+-- Environment settings
  7
+----------------------------------------------------------------
  8
+applicationPath = ""
  9
+applicationHost = "localhost:8080"
  10
+
  11
+----------------------------------------------------------------
  12
+-- RequestHandler Filter List additions
  13
+----------------------------------------------------------------
  14
+customPreFilters  = []
  15
+customPostFilters = []
  16
+
  17
+
  18
+----------------------------------------------------------------
  19
+-- Logging
  20
+----------------------------------------------------------------
  21
+logLevel = DEBUG -- DEBUG < INFO < NOTICE < WARNING < ERROR < CRITICAL < ALERT < EMERGENCY 
  22
+
  23
+
41  Config/Master.hs
... ...
@@ -0,0 +1,41 @@
  1
+module Config.Master (
  2
+        module Config.Master,
  3
+        module Config.App,
  4
+        Turbinado.Server.Handlers.SessionHandlers.Simple.getSessionHandler
  5
+        ) where
  6
+
  7
+import Turbinado.Server.Handlers.SessionHandlers.Simple
  8
+import Config.App
  9
+
  10
+----------------------------------------------------------------
  11
+-- Arguments to the make system used in the Dynamic Loader
  12
+----------------------------------------------------------------
  13
+
  14
+compileArgs =
  15
+        [ "-fglasgow-exts"
  16
+        , "-fallow-overlapping-instances"
  17
+        , "-fallow-undecidable-instances"
  18
+        , "-F", "-pgmFtrhsx"
  19
+        , "-fno-warn-overlapping-patterns" 
  20
+        ] ++ (map ("-i"++) searchDirs)
  21
+
  22
+mUserPkgConf = [""]
  23
+
  24
+----------------------------------------------------------------
  25
+-- Paths
  26
+----------------------------------------------------------------
  27
+
  28
+viewDir        = "App/Views"
  29
+viewStub       = "Turbinado/Stubs/View.hs"
  30
+layoutDir      = "App/Layouts"
  31
+layoutStub     = "Turbinado/Stubs/Layout.hs"
  32
+controllerDir  = "App/Controllers"
  33
+controllerStub = "Turbinado/Stubs/Controller.hs"
  34
+
  35
+configDir = "Config"
  36
+searchDirs = [viewDir, layoutDir, controllerDir, rootDir, configDir, compiledDir]
  37
+
  38
+staticDirs = ["static", "tmp/cache"]
  39
+compiledDir = "tmp/compiled"
  40
+
  41
+rootDir = "./"
6  Config/Routes.hs
... ...
@@ -0,0 +1,6 @@
  1
+module Config.Routes where
  2
+
  3
+routes = [ "/:controller/:action.:format"
  4
+         , "/:controller/:action"
  5
+         , "/:controller"
  6
+         ]
599  Config/mime.types
... ...
@@ -0,0 +1,599 @@
  1
+# This is a comment. I love comments.
  2
+
  3
+# This file controls what Internet media types are sent to the client for
  4
+# given file extension(s).  Sending the correct media type to the client
  5
+# is important so they know how to handle the content of the file.
  6
+# Extra types can either be added here or by using an AddType directive
  7
+# in your config files. For more information about Internet media types,
  8
+# please read RFC 2045, 2046, 2047, 2048, and 2077.  The Internet media type
  9
+# registry is at <http://www.iana.org/assignments/media-types/>.
  10
+
  11
+# MIME type			Extensions
  12
+application/activemessage
  13
+application/andrew-inset	ez
  14
+application/applefile
  15
+application/atom+xml		atom
  16
+application/atomicmail
  17
+application/batch-smtp
  18
+application/beep+xml
  19
+application/cals-1840
  20
+application/cnrp+xml
  21
+application/commonground
  22
+application/cpl+xml
  23
+application/cybercash
  24
+application/dca-rft
  25
+application/dec-dx
  26
+application/dvcs
  27
+application/edi-consent
  28
+application/edifact
  29
+application/edi-x12
  30
+application/eshop
  31
+application/font-tdpfr
  32
+application/http
  33
+application/hyperstudio
  34
+application/iges
  35
+application/index
  36
+application/index.cmd
  37
+application/index.obj
  38
+application/index.response
  39
+application/index.vnd
  40
+application/iotp
  41
+application/ipp
  42
+application/isup
  43
+application/mac-binhex40	hqx
  44
+application/mac-compactpro	cpt
  45
+application/macwriteii
  46
+application/marc
  47
+application/mathematica
  48
+application/mathml+xml		mathml
  49
+application/msword		doc
  50
+application/news-message-id
  51
+application/news-transmission
  52
+application/ocsp-request
  53
+application/ocsp-response
  54
+application/octet-stream	bin dms lha lzh exe class so dll dmg
  55
+application/oda			oda
  56
+application/ogg			ogg
  57
+application/parityfec
  58
+application/pdf			pdf
  59
+application/pgp-encrypted
  60
+application/pgp-keys
  61
+application/pgp-signature
  62
+application/pkcs10
  63
+application/pkcs7-mime
  64
+application/pkcs7-signature
  65
+application/pkix-cert
  66
+application/pkix-crl
  67
+application/pkixcmp
  68
+application/postscript		ai eps ps
  69
+application/prs.alvestrand.titrax-sheet
  70
+application/prs.cww
  71
+application/prs.nprend
  72
+application/prs.plucker
  73
+application/qsig
  74
+application/rdf+xml		rdf
  75
+application/reginfo+xml
  76
+application/remote-printing
  77
+application/riscos
  78
+application/rtf
  79
+application/sdp
  80
+application/set-payment
  81
+application/set-payment-initiation
  82
+application/set-registration
  83
+application/set-registration-initiation
  84
+application/sgml
  85
+application/sgml-open-catalog
  86
+application/sieve
  87
+application/slate
  88
+application/smil		smi smil
  89
+application/srgs		gram
  90
+application/srgs+xml		grxml
  91
+application/timestamp-query
  92
+application/timestamp-reply
  93
+application/tve-trigger
  94
+application/vemmi
  95
+application/vnd.3gpp.pic-bw-large
  96
+application/vnd.3gpp.pic-bw-small
  97
+application/vnd.3gpp.pic-bw-var
  98
+application/vnd.3gpp.sms
  99
+application/vnd.3m.post-it-notes
  100
+application/vnd.accpac.simply.aso
  101
+application/vnd.accpac.simply.imp
  102
+application/vnd.acucobol
  103
+application/vnd.acucorp
  104
+application/vnd.adobe.xfdf
  105
+application/vnd.aether.imp
  106
+application/vnd.amiga.ami
  107
+application/vnd.anser-web-certificate-issue-initiation
  108
+application/vnd.anser-web-funds-transfer-initiation
  109
+application/vnd.audiograph
  110
+application/vnd.blueice.multipass
  111
+application/vnd.bmi
  112
+application/vnd.businessobjects
  113
+application/vnd.canon-cpdl
  114
+application/vnd.canon-lips
  115
+application/vnd.cinderella
  116
+application/vnd.claymore
  117
+application/vnd.commerce-battelle
  118
+application/vnd.commonspace
  119
+application/vnd.contact.cmsg
  120
+application/vnd.cosmocaller
  121
+application/vnd.criticaltools.wbs+xml
  122
+application/vnd.ctc-posml
  123
+application/vnd.cups-postscript
  124
+application/vnd.cups-raster
  125
+application/vnd.cups-raw
  126
+application/vnd.curl
  127
+application/vnd.cybank
  128
+application/vnd.data-vision.rdz
  129
+application/vnd.dna
  130
+application/vnd.dpgraph
  131
+application/vnd.dreamfactory
  132
+application/vnd.dxr
  133
+application/vnd.ecdis-update
  134
+application/vnd.ecowin.chart
  135
+application/vnd.ecowin.filerequest
  136
+application/vnd.ecowin.fileupdate
  137
+application/vnd.ecowin.series
  138
+application/vnd.ecowin.seriesrequest
  139
+application/vnd.ecowin.seriesupdate
  140
+application/vnd.enliven
  141
+application/vnd.epson.esf
  142
+application/vnd.epson.msf
  143
+application/vnd.epson.quickanime
  144
+application/vnd.epson.salt
  145
+application/vnd.epson.ssf
  146
+application/vnd.ericsson.quickcall
  147
+application/vnd.eudora.data
  148
+application/vnd.fdf
  149
+application/vnd.ffsns
  150
+application/vnd.fints
  151
+application/vnd.flographit
  152
+application/vnd.framemaker
  153
+application/vnd.fsc.weblaunch
  154
+application/vnd.fujitsu.oasys
  155
+application/vnd.fujitsu.oasys2
  156
+application/vnd.fujitsu.oasys3
  157
+application/vnd.fujitsu.oasysgp
  158
+application/vnd.fujitsu.oasysprs
  159
+application/vnd.fujixerox.ddd
  160
+application/vnd.fujixerox.docuworks
  161
+application/vnd.fujixerox.docuworks.binder
  162
+application/vnd.fut-misnet
  163
+application/vnd.grafeq
  164
+application/vnd.groove-account
  165
+application/vnd.groove-help
  166
+application/vnd.groove-identity-message
  167
+application/vnd.groove-injector
  168
+application/vnd.groove-tool-message
  169
+application/vnd.groove-tool-template
  170
+application/vnd.groove-vcard
  171
+application/vnd.hbci
  172
+application/vnd.hhe.lesson-player
  173
+application/vnd.hp-hpgl
  174
+application/vnd.hp-hpid
  175
+application/vnd.hp-hps
  176
+application/vnd.hp-pcl
  177
+application/vnd.hp-pclxl
  178
+application/vnd.httphone
  179
+application/vnd.hzn-3d-crossword
  180
+application/vnd.ibm.afplinedata
  181
+application/vnd.ibm.electronic-media
  182
+application/vnd.ibm.minipay
  183
+application/vnd.ibm.modcap
  184
+application/vnd.ibm.rights-management
  185
+application/vnd.ibm.secure-container
  186
+application/vnd.informix-visionary
  187
+application/vnd.intercon.formnet
  188
+application/vnd.intertrust.digibox
  189
+application/vnd.intertrust.nncp
  190
+application/vnd.intu.qbo
  191
+application/vnd.intu.qfx
  192
+application/vnd.irepository.package+xml
  193
+application/vnd.is-xpr
  194
+application/vnd.japannet-directory-service
  195
+application/vnd.japannet-jpnstore-wakeup
  196
+application/vnd.japannet-payment-wakeup
  197
+application/vnd.japannet-registration
  198
+application/vnd.japannet-registration-wakeup
  199
+application/vnd.japannet-setstore-wakeup
  200
+application/vnd.japannet-verification
  201
+application/vnd.japannet-verification-wakeup
  202
+application/vnd.jisp
  203
+application/vnd.kde.karbon
  204
+application/vnd.kde.kchart
  205
+application/vnd.kde.kformula
  206
+application/vnd.kde.kivio
  207
+application/vnd.kde.kontour
  208
+application/vnd.kde.kpresenter
  209
+application/vnd.kde.kspread
  210
+application/vnd.kde.kword
  211
+application/vnd.kenameaapp
  212
+application/vnd.koan
  213
+application/vnd.liberty-request+xml
  214
+application/vnd.llamagraphics.life-balance.desktop
  215
+application/vnd.llamagraphics.life-balance.exchange+xml
  216
+application/vnd.lotus-1-2-3
  217
+application/vnd.lotus-approach
  218
+application/vnd.lotus-freelance
  219
+application/vnd.lotus-notes
  220
+application/vnd.lotus-organizer
  221
+application/vnd.lotus-screencam
  222
+application/vnd.lotus-wordpro
  223
+application/vnd.mcd
  224
+application/vnd.mediastation.cdkey
  225
+application/vnd.meridian-slingshot
  226
+application/vnd.micrografx.flo
  227
+application/vnd.micrografx.igx
  228
+application/vnd.mif		mif
  229
+application/vnd.minisoft-hp3000-save
  230
+application/vnd.mitsubishi.misty-guard.trustweb
  231
+application/vnd.mobius.daf
  232
+application/vnd.mobius.dis
  233
+application/vnd.mobius.mbk
  234
+application/vnd.mobius.mqy
  235
+application/vnd.mobius.msl
  236
+application/vnd.mobius.plc
  237
+application/vnd.mobius.txf
  238
+application/vnd.mophun.application
  239
+application/vnd.mophun.certificate
  240
+application/vnd.motorola.flexsuite
  241
+application/vnd.motorola.flexsuite.adsi
  242
+application/vnd.motorola.flexsuite.fis
  243
+application/vnd.motorola.flexsuite.gotap
  244
+application/vnd.motorola.flexsuite.kmr
  245
+application/vnd.motorola.flexsuite.ttc
  246
+application/vnd.motorola.flexsuite.wem
  247
+application/vnd.mozilla.xul+xml	xul
  248
+application/vnd.ms-artgalry
  249
+application/vnd.ms-asf
  250
+application/vnd.ms-excel	xls
  251
+application/vnd.ms-lrm
  252
+application/vnd.ms-powerpoint	ppt
  253
+application/vnd.ms-project
  254
+application/vnd.ms-tnef
  255
+application/vnd.ms-works
  256
+application/vnd.ms-wpl
  257
+application/vnd.mseq
  258
+application/vnd.msign
  259
+application/vnd.music-niff
  260
+application/vnd.musician
  261
+application/vnd.netfpx
  262
+application/vnd.noblenet-directory
  263
+application/vnd.noblenet-sealer
  264
+application/vnd.noblenet-web
  265
+application/vnd.novadigm.edm
  266
+application/vnd.novadigm.edx
  267
+application/vnd.novadigm.ext
  268
+application/vnd.obn
  269
+application/vnd.osa.netdeploy
  270
+application/vnd.palm
  271
+application/vnd.pg.format
  272
+application/vnd.pg.osasli
  273
+application/vnd.powerbuilder6
  274
+application/vnd.powerbuilder6-s
  275
+application/vnd.powerbuilder7
  276
+application/vnd.powerbuilder7-s
  277
+application/vnd.powerbuilder75
  278
+application/vnd.powerbuilder75-s
  279
+application/vnd.previewsystems.box
  280
+application/vnd.publishare-delta-tree
  281
+application/vnd.pvi.ptid1
  282
+application/vnd.pwg-multiplexed
  283
+application/vnd.pwg-xhtml-print+xml
  284
+application/vnd.quark.quarkxpress
  285
+application/vnd.rapid
  286
+application/vnd.rn-realmedia	rm
  287
+application/vnd.s3sms
  288
+application/vnd.sealed.net
  289
+application/vnd.seemail
  290
+application/vnd.shana.informed.formdata
  291
+application/vnd.shana.informed.formtemplate
  292
+application/vnd.shana.informed.interchange
  293
+application/vnd.shana.informed.package
  294
+application/vnd.smaf
  295
+application/vnd.sss-cod
  296
+application/vnd.sss-dtf
  297
+application/vnd.sss-ntf
  298
+application/vnd.street-stream
  299
+application/vnd.svd
  300
+application/vnd.swiftview-ics
  301
+application/vnd.triscape.mxs
  302
+application/vnd.trueapp
  303
+application/vnd.truedoc
  304
+application/vnd.ufdl
  305
+application/vnd.uplanet.alert
  306
+application/vnd.uplanet.alert-wbxml
  307
+application/vnd.uplanet.bearer-choice
  308
+application/vnd.uplanet.bearer-choice-wbxml
  309
+application/vnd.uplanet.cacheop
  310
+application/vnd.uplanet.cacheop-wbxml
  311
+application/vnd.uplanet.channel
  312
+application/vnd.uplanet.channel-wbxml
  313
+application/vnd.uplanet.list
  314
+application/vnd.uplanet.list-wbxml
  315
+application/vnd.uplanet.listcmd
  316
+application/vnd.uplanet.listcmd-wbxml
  317
+application/vnd.uplanet.signal
  318
+application/vnd.vcx
  319
+application/vnd.vectorworks
  320
+application/vnd.vidsoft.vidconference
  321
+application/vnd.visio
  322
+application/vnd.visionary
  323
+application/vnd.vividence.scriptfile
  324
+application/vnd.vsf
  325
+application/vnd.wap.sic
  326
+application/vnd.wap.slc
  327
+application/vnd.wap.wbxml	wbxml
  328
+application/vnd.wap.wmlc	wmlc
  329
+application/vnd.wap.wmlscriptc	wmlsc
  330
+application/vnd.webturbo
  331
+application/vnd.wrq-hp3000-labelled
  332
+application/vnd.wt.stf
  333
+application/vnd.wv.csp+wbxml
  334
+application/vnd.xara
  335
+application/vnd.xfdl
  336
+application/vnd.yamaha.hv-dic
  337
+application/vnd.yamaha.hv-script
  338
+application/vnd.yamaha.hv-voice
  339
+application/vnd.yellowriver-custom-menu
  340
+application/voicexml+xml	vxml
  341
+application/watcherinfo+xml
  342
+application/whoispp-query
  343
+application/whoispp-response
  344
+application/wita
  345
+application/wordperfect5.1
  346
+application/x-bcpio		bcpio
  347
+application/x-cdlink		vcd
  348
+application/x-chess-pgn		pgn
  349
+application/x-compress
  350
+application/x-cpio		cpio
  351
+application/x-csh		csh
  352
+application/x-director		dcr dir dxr
  353
+application/x-dvi		dvi
  354
+application/x-futuresplash	spl
  355
+application/x-gtar		gtar
  356
+application/x-gzip
  357
+application/x-hdf		hdf
  358
+application/x-javascript	js
  359
+application/x-java-jnlp-file	jnlp
  360
+application/x-koan		skp skd skt skm
  361
+application/x-latex		latex
  362
+application/x-netcdf		nc cdf
  363
+application/x-sh		sh
  364
+application/x-shar		shar
  365
+application/x-shockwave-flash	swf
  366
+application/x-stuffit		sit
  367
+application/x-sv4cpio		sv4cpio
  368
+application/x-sv4crc		sv4crc
  369
+application/x-tar		tar
  370
+application/x-tcl		tcl
  371
+application/x-tex		tex
  372
+application/x-texinfo		texinfo texi
  373
+application/x-troff		t tr roff
  374
+application/x-troff-man		man
  375
+application/x-troff-me		me
  376
+application/x-troff-ms		ms
  377
+application/x-ustar		ustar
  378
+application/x-wais-source	src
  379
+application/x400-bp
  380
+application/xhtml+xml		xhtml xht
  381
+application/xslt+xml		xslt
  382
+application/xml			xml xsl
  383
+application/xml-dtd		dtd
  384
+application/xml-external-parsed-entity
  385
+application/zip			zip
  386
+audio/32kadpcm
  387
+audio/amr
  388
+audio/amr-wb
  389
+audio/basic			au snd
  390
+audio/cn
  391
+audio/dat12
  392
+audio/dsr-es201108
  393
+audio/dvi4
  394
+audio/evrc
  395
+audio/evrc0
  396
+audio/g722
  397
+audio/g.722.1
  398
+audio/g723
  399
+audio/g726-16
  400
+audio/g726-24
  401
+audio/g726-32
  402
+audio/g726-40
  403
+audio/g728
  404
+audio/g729
  405
+audio/g729D
  406
+audio/g729E
  407
+audio/gsm
  408
+audio/gsm-efr
  409
+audio/l8
  410
+audio/l16
  411
+audio/l20
  412
+audio/l24
  413
+audio/lpc
  414
+audio/midi			mid midi kar
  415
+audio/mpa
  416
+audio/mpa-robust
  417
+audio/mp4a-latm			m4a m4p
  418
+audio/mpeg			mpga mp2 mp3
  419
+audio/parityfec
  420
+audio/pcma
  421
+audio/pcmu
  422
+audio/prs.sid
  423
+audio/qcelp
  424
+audio/red
  425
+audio/smv
  426
+audio/smv0
  427
+audio/telephone-event
  428
+audio/tone
  429
+audio/vdvi
  430
+audio/vnd.3gpp.iufp
  431
+audio/vnd.cisco.nse
  432
+audio/vnd.cns.anp1
  433
+audio/vnd.cns.inf1
  434
+audio/vnd.digital-winds
  435
+audio/vnd.everad.plj
  436
+audio/vnd.lucent.voice
  437
+audio/vnd.nortel.vbk
  438
+audio/vnd.nuera.ecelp4800
  439
+audio/vnd.nuera.ecelp7470
  440
+audio/vnd.nuera.ecelp9600
  441
+audio/vnd.octel.sbc
  442
+audio/vnd.qcelp
  443
+audio/vnd.rhetorex.32kadpcm
  444
+audio/vnd.vmx.cvsd
  445
+audio/x-aiff			aif aiff aifc
  446
+audio/x-alaw-basic
  447
+audio/x-mpegurl			m3u
  448
+audio/x-pn-realaudio		ram ra
  449
+audio/x-pn-realaudio-plugin
  450
+audio/x-wav			wav
  451
+chemical/x-pdb			pdb
  452
+chemical/x-xyz			xyz
  453
+image/bmp			bmp
  454
+image/cgm			cgm
  455
+image/g3fax
  456
+image/gif			gif
  457
+image/ief			ief
  458
+image/jpeg			jpeg jpg jpe
  459
+image/jp2			jp2
  460
+image/naplps
  461
+image/pict			pict pic pct
  462
+image/png			png
  463
+image/prs.btif
  464
+image/prs.pti
  465
+image/svg+xml			svg
  466
+image/t38
  467
+image/tiff			tiff tif
  468
+image/tiff-fx
  469
+image/vnd.cns.inf2
  470
+image/vnd.djvu			djvu djv
  471
+image/vnd.dwg
  472
+image/vnd.dxf
  473
+image/vnd.fastbidsheet
  474
+image/vnd.fpx
  475
+image/vnd.fst
  476
+image/vnd.fujixerox.edmics-mmr
  477
+image/vnd.fujixerox.edmics-rlc
  478
+image/vnd.globalgraphics.pgb
  479
+image/vnd.mix
  480
+image/vnd.ms-modi
  481
+image/vnd.net-fpx
  482
+image/vnd.svf
  483
+image/vnd.wap.wbmp		wbmp
  484
+image/vnd.xiff
  485
+image/x-cmu-raster		ras
  486
+image/x-macpaint		pntg pnt mac
  487
+image/x-icon			ico
  488
+image/x-portable-anymap		pnm
  489
+image/x-portable-bitmap		pbm
  490
+image/x-portable-graymap	pgm
  491
+image/x-portable-pixmap		ppm
  492
+image/x-quicktime		qtif qti
  493
+image/x-rgb			rgb
  494
+image/x-xbitmap			xbm
  495
+image/x-xpixmap			xpm
  496
+image/x-xwindowdump		xwd
  497
+message/delivery-status
  498
+message/disposition-notification
  499
+message/external-body
  500
+message/http
  501
+message/news
  502
+message/partial
  503
+message/rfc822
  504
+message/s-http
  505
+message/sip
  506
+message/sipfrag
  507
+model/iges			igs iges
  508
+model/mesh			msh mesh silo
  509
+model/vnd.dwf
  510
+model/vnd.flatland.3dml
  511
+model/vnd.gdl
  512
+model/vnd.gs-gdl
  513
+model/vnd.gtw
  514
+model/vnd.mts
  515
+model/vnd.parasolid.transmit.binary
  516
+model/vnd.parasolid.transmit.text
  517
+model/vnd.vtu
  518
+model/vrml			wrl vrml
  519
+multipart/alternative
  520
+multipart/appledouble
  521
+multipart/byteranges
  522
+multipart/digest
  523
+multipart/encrypted
  524
+multipart/form-data
  525
+multipart/header-set
  526
+multipart/mixed
  527
+multipart/parallel
  528
+multipart/related
  529
+multipart/report
  530
+multipart/signed
  531
+multipart/voice-message
  532
+text/calendar			ics ifb
  533
+text/css			css
  534
+text/directory
  535
+text/enriched
  536
+text/html			html htm
  537
+text/parityfec
  538
+text/plain			asc txt
  539
+text/prs.lines.tag
  540
+text/rfc822-headers
  541
+text/richtext			rtx
  542
+text/rtf			rtf
  543
+text/sgml			sgml sgm
  544
+text/t140
  545
+text/tab-separated-values	tsv
  546
+text/uri-list
  547
+text/vnd.abc
  548
+text/vnd.curl
  549
+text/vnd.dmclientscript
  550
+text/vnd.fly
  551
+text/vnd.fmi.flexstor
  552
+text/vnd.in3d.3dml
  553
+text/vnd.in3d.spot
  554
+text/vnd.iptc.nitf
  555
+text/vnd.iptc.newsml
  556
+text/vnd.latex-z
  557
+text/vnd.motorola.reflex
  558
+text/vnd.ms-mediapackage
  559
+text/vnd.net2phone.commcenter.command
  560
+text/vnd.sun.j2me.app-descriptor
  561
+text/vnd.wap.si
  562
+text/vnd.wap.sl
  563
+text/vnd.wap.wml		wml
  564
+text/vnd.wap.wmlscript		wmls
  565
+text/x-setext			etx
  566
+text/xml
  567
+text/xml-external-parsed-entity
  568
+video/bmpeg
  569
+video/bt656
  570
+video/celb
  571
+video/dv
  572
+video/h261
  573
+video/h263
  574
+video/h263-1998
  575
+video/h263-2000
  576
+video/jpeg
  577
+video/mp1s
  578
+video/mp2p
  579
+video/mp2t
  580
+video/mp4			mp4
  581
+video/mp4v-es
  582
+video/mpv
  583
+video/mpeg			mpeg mpg mpe
  584
+video/nv
  585
+video/parityfec
  586
+video/pointer
  587
+video/quicktime			qt mov
  588
+video/smpte292m
  589
+video/vnd.fvt
  590
+video/vnd.motorola.video
  591
+video/vnd.motorola.videop
  592
+video/vnd.mpegurl		mxu m4u
  593
+video/vnd.nokia.interleaved-multimedia
  594
+video/vnd.objectvideo
  595
+video/vnd.vivo
  596
+video/x-dv			dv dif
  597
+video/x-msvideo			avi
  598
+video/x-sgi-movie		movie
  599
+x-conference/x-cooltalk		ice
1  README
... ...
@@ -0,0 +1 @@
  1
+Turbinado is a stab at producing a Rails-ish MVC web framework for Haskell.  A very early stab...
4  Setup.lhs
... ...
@@ -0,0 +1,4 @@
  1
+#! /usr/bin/env runhaskell
  2
+
  3
+> import Distribution.Simple
  4
+> main = defaultMain
40  Turbinado/Controller.hs
... ...
@@ -0,0 +1,40 @@
  1
+module Turbinado.Controller (
  2
+        getEnvironment,
  3
+        evalController,
  4
+        -- limited export from Turbinado.Controller.Monad
  5
+        Controller,
  6
+        runController,
  7
+        -- * Functions
  8
+        doIO, catch,
  9
+
  10
+        module Turbinado.Environment,
  11
+        module Turbinado.Environment.CodeStore,
  12
+        module Turbinado.Environment.Request,
  13
+        module Turbinado.Environment.Response,
  14
+        ) where
  15
+
  16
+import Control.Exception (catchDyn)
  17
+import Control.Monad
  18
+import Control.Monad.State
  19
+import Control.Monad.Trans (MonadIO(..))
  20
+import qualified Network.HTTP as HTTP
  21
+import Prelude hiding (catch)
  22
+
  23
+import Turbinado.Environment
  24
+import Turbinado.Environment.Request
  25
+import Turbinado.Environment.Response
  26
+import Turbinado.Controller.Monad
  27
+import Turbinado.Environment.CodeStore
  28
+import Turbinado.Utility.General
  29
+
  30
+
  31
+evalController :: Controller () -> EnvironmentFilter
  32
+evalController p e = runController p e
  33
+
  34
+
  35
+--
  36
+-- * Environment functions
  37
+--
  38
+
  39
+getEnvironment :: Controller Environment
  40
+getEnvironment = get
32  Turbinado/Controller/Exception.hs
... ...
@@ -0,0 +1,32 @@
  1
+{-# OPTIONS -fglasgow-exts #-}
  2
+-----------------------------------------------------------------------------
  3
+-- |
  4
+-- Module      :  Turbinado.Exception
  5
+-- Copyright   :  (c) Niklas Broberg 2008
  6
+-- License     :  BSD-style (see the file LICENSE.txt)
  7
+-- 
  8
+-- Maintainer  :  Niklas Broberg, nibro@cs.chalmers.se
  9
+-- Stability   :  experimental
  10
+-- Portability :  needs dynamic exceptions and deriving Typeable
  11
+--
  12
+-- Defines a datatype for runtime exceptions that may arise during
  13
+-- the evaluation of a Turbinado page.
  14
+-----------------------------------------------------------------------------
  15
+module Turbinado.Controller.Exception (
  16
+	Exception(..),
  17
+	throwController
  18
+	) where
  19
+
  20
+import Data.Typeable
  21
+import Control.Exception (throwDyn)
  22
+
  23
+data Exception
  24
+	=  ParameterLookupFailed String	-- ^ User tried to do an irrefutable parameter lookup
  25
+					-- that failed.
  26
+	-- | ... I'm sure there should be more exceptions, we'll add them when we get to them.
  27
+ deriving (Eq, Show, Typeable)
  28
+
  29
+-- Internal funcion that throws a dynamic exception particular to Turbinado.
  30
+throwController :: Exception -> a
  31
+throwController = throwDyn
  32
+
47  Turbinado/Controller/Monad.hs
... ...
@@ -0,0 +1,47 @@
  1
+module Turbinado.Controller.Monad (
  2
+        -- * The 'Controller' Monad
  3
+        Controller,
  4
+        runController,
  5
+        -- * Functions
  6
+        doIO, catch