packages feed

chu2-2012.11.18: src/Chu2/Handler/SnapServer.agda

module Chu2.Handler.SnapServer where

open import Chu2 using (Handler; RawHandler; rawHandlerToHandler; RawMiddleware)

private 
  postulate
    Integer : Set
    onPort_run : Integer → RawHandler

{-# BUILTIN       INTEGER Integer #-}
{-# COMPILED_TYPE Integer Integer #-}

{-# IMPORT Chu2.Handler.SnapServerFFI #-}
{-# COMPILED onPort_run Chu2.Handler.SnapServerFFI.onPort_run #-}

open import Data.Nat using (ℕ)

primitive
  primNatToInteger : ℕ -> Integer

open import Function using (_$_; id)

on-port_run :  ℕ → Handler
on-port_run port = 
  let port-i = primNatToInteger port
  in
  rawHandlerToHandler (onPort_run port-i)