Skip to content

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

Open
@mandrean

Description

@mandrean
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 () }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions