(* Main -- main entry point Copyright (C) 2013 Benjamin Barenblat This file is a part of 6.947. 6.947 is is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6.947 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with 6.947. If not, see . *) open Styles structure Forum = Forum.Make(struct fun generic (pageName : option string) (content : xbody) : page = Template.generic pageName {Menu.header (make [#Forum] ())} {content} end) val forum = Forum.main fun main () = return (Template.generic None {Menu.header (make [#Main] ())}

Like 6.115, 6.947 is a chance to remember why you came to mit: to learn and to build. Whereas 6.115 focuses on constructing digital systems from compositions of discrete integrated circuits, however, we’ll be focusing on functional programming – constructing software systems from compositions of discrete mathematical functions. Prepare to leave behind everything you've ever known about programming and enter a world of functors, combinators, and monads; a world without borders or boundaries; a world where anything is possible.

)