swagger-api/swagger-codegen

[Haskell] README.md instructions don't work OOTB

Open

#5,101 opened on Mar 17, 2017

View on GitHub
 (3 comments) (0 reactions) (0 assignees)HTML (12,701 stars) (5,474 forks)batch import
Feature: DocumentationServer: Haskellhelp wanted

Description

Description

The example instructions for creating a client and a server in README.md don't work OOTB. Not for client nor server.

Swagger-codegen version

v2.2.2 or latest master, doesn't matter.

Swagger declaration file content or url

Tried with both a large/complex company-private Swagger, and the Petstore sample: sh ./bin/haskell-servant-petstore.sh cd samples/server/petstore/haskell-servant

Same results either way.

Steps to reproduce
  1. git clone https://github.com/swagger-api/swagger-codegen && cd swagger-codegen
  2. git checkout origin master && git pull origin master --rebase
  3. mvn clean package
  4. sh ./bin/haskell-servant-petstore.sh
  5. cd samples/server/petstore/haskell-servant
  6. stack install
  7. Create a Main.hs file and try to import/use the generated client or server using the example code from the README.md, i.e:
{-# LANGUAGE RecordWildCards #-}

module Main where

import SwaggerPetstore.API

main :: IO ()
main = do
  SwaggerPetstoreBackend{..} <- createSwaggerPetstoreClient (ServerConfig "localhost" 8080)
  return ()
Results
Main.hs:9:33:
    Couldn't match expected type ‘ServerConfig
                                  -> IO (SwaggerPetstoreBackend t0)’
                with actual type ‘SwaggerPetstoreBackend SwaggerPetstoreClient’
    The function ‘createSwaggerPetstoreClient’
    is applied to one argument,
    but its type ‘SwaggerPetstoreBackend SwaggerPetstoreClient’
    has none
    In a stmt of a 'do' block:
      SwaggerPetstoreBackend {..} <- createSwaggerPetstoreClient
                                       (ServerConfig "localhost" 8080)
    In the expression:
      do { SwaggerPetstoreBackend {..} <- createSwaggerPetstoreClient
                                            (ServerConfig "localhost" 8080);
           return () }

Contributor guide

[Haskell] README.md instructions don't work OOTB · swagger-api/swagger-codegen#5101 | Good First Issue