M.E:J      !"#$%&' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ABCDEFGHINone1A list of all possible keys used in the GLFW API. A Map from J/ to the externals created for every single key. Creating the K of a L from J to M from a L of . Making a L from J to sink from a L of .NoneKA datatype that houses two values of a given type. It is provided with a Ny instance so that, when used with number types it can function similarly (though not exactly) to a mathematical vector.Maps over both values in the 8Performs operations on the matching fields of the other .Displaying the . The default for the .   None -Creating the external for the mouse position. 4Getting the signal from the mouse position external. 2Getting the sink from the mouse position external.    None 7A list of all mouse buttons available via the GLFW api. A map from O' to externals created for every button. Creating the K of a L from O to M from a L of . Making a L from O to sink from a L of .    None Converting a P to a QNone  Representing a Color using four PG representing reg, green, blue, and the alpha mask respectively. The P*s are in a range from 0-1, representing R s from 0-255.<Changes the current OpenGL context's rendering color to the  specified.A synonym for the  constructor.Constructing a  from 3 P$s, defaulting the alpha mask to 1.0. Creating a  from 4 Rs. The ints, similarly to s represent red, green, blue, and the alpha mask respectively. The ints should be in the range of 0-255. (Note:  is functionally equivalent (and also equivalent in source code) to calling color4f with each of its arguments divided by 255.)Constructing a  from 3 R$s, defaulting the alpha mask to 255.The color black.The color white. The color red.!The color green."The color blue. !" !" !"  !"None#Rendering a point.$Rendering a rectangle.%Rendering a square.#$%#$%#$%#$%None !"#$%None&A function to be ran on a  ?'s render function to provide a bit of a framework around it.&&&&  Safe-Inferred'#Driving a network created with the  # function and a function such as  .'''' None(A container around 1 and K ,+ so that one needn't pass around a tuple.,>A container for all of the states themselves. It is used as a K , in the (> (which is necessary to use it within Elerea's FRP network).1aA wrapper around the sinks for the mouse position, the key states, and the mouse button states.6 Making an (% filled with all necessary externals.79Creating a callback to update the mouse position's state.84Creating a callback to update the keyboard's states.98Creating a callback to update the mouse buttons' states.()*+,-./0123456789[STJUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~O()*+,-./012345678912345,-./0()*+6789()*+,-./0123456789 None:%The class which is to be used in the  function. ;: provides the API to update on every tick (purely), an <( provides the API to render every frame.=<A synonym to make the update function more self-documenting.:;<=:;<==:;<:;<= None> Given an r indicating whether or not the program should close, it either returns the delta time since the last call, or a -, indicating that the program should close.>>>> None?)Creating a network to be used with the   function.????None@TA datatype to configure the window settings when creating an OpenGL context using  in the engine.GThe default for @ getWindowWidth = 640 getWindowHeight = 480 getWindowFullscreen = False getWindowResizeable = False getWindowTitle = "Spice Application" @ABCDEFGH@ABCDEFG @ABCDEFGH@ABCDEFGHNoneIBStarting the spice engine with the parameters prescribed in the @. It updates and renders the :5 automatically so all you need to to is set up the @+ and make a datatype with an instance of :.IIIINonehSTJUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~O()*+,-./0123456789:;<=@ABCDEFGI !"##$%&'()*+,-./012345  6 6 7 8 9 9 : ; < = = > ? @ A B C D  E F G  HHIJKLMNOPQRSTUVWXYZ[\]^PQ_YZ`abcYZdPQePQfPQgPQhPQiPQjPQkPQlPQmPQnPQoPQpPQqPQrPQsPQtPQuPQvPQwPQxPQyPQzPQ{PQ|PQ}PQ~PQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQPQfPQPQPQPQVW\\ spice-0.1.2.1FRP.Spice.Input.KeyboardFRP.Spice.Math.VectorFRP.Spice.Input.MousePositionFRP.Spice.Input.MouseFRP.Spice.Graphics.UtilsFRP.Spice.Graphics.ColorFRP.Spice.Graphics.GeometryFRP.Spice.Engine.RenderWrapperFRP.Spice.Engine.DriverFRP.Spice.InputFRP.Spice.GameFRP.Spice.Engine.RunInputFRP.Spice.Engine.NetworkFRP.Spice.ConfigFRP.Spice.EngineFRP.Spice.GraphicsGame makeNetworkrunInput startEngine driveNetwork FRP.Spicekeys externalssignalssinksVector$fFunctorVector $fNumVector $fShowVector$fDefaultVectorbuttons$fOrdMouseButtontoglColorgetRedgetGreengetBluegetAlpha bindColorcolor4fcolor3fcolor4icolor3iblackwhiteredgreenblue renderPointrenderRectangle renderSquare renderWrapperInputContainergetSinksgetInputInput mousePositionkeyboardmouseSinksmousePositionSinks keyboardSinks mouseSinksmakeInputContainermakeMousePositionCallbackmakeKeyboardCallbackmakeMouseCallbackupdaterender DeltaTime WindowConfiggetWindowWidthgetWindowHeightgetWindowFullscreengetWindowResizablegetWindowTitledefaultWindowConfig$fDefaultWindowConfig GLFW-0.5.2.2Graphics.UI.GLFWKeyelerea-2.7.0.2FRP.Elerea.ParamSignalcontainers-0.5.5.1 Data.Map.BaseMapghc-prim GHC.TypesBoolbaseGHC.NumNum MouseButtonFloatOpenGLRaw-1.5.0.0#Graphics.Rendering.OpenGL.Raw.TypesGLfloatIntCharKey SpecialKeyUNKNOWNESCF1F2F3F4F5F6F7F8F9F10F11F12F13F14F15F16F17F18F19F20F21F22F23F24F25UPDOWNLEFTRIGHTLSHIFTRSHIFTLCTRLRCTRLLALTRALTTABENTER BACKSPACEINSERTDELPAGEUPPAGEDOWNHOMEENDKP_0KP_1KP_2KP_3KP_4KP_5KP_6KP_7KP_8KP_9 KP_DIVIDE KP_MULTIPLY KP_SUBTRACTKP_ADD KP_DECIMALKP_EQUALKP_ENTER ButtonLeft ButtonRight ButtonMiddleButtonNo! GHC.IORefIORef Data.MaybeNothing