[Haskell-beginners] Passing a file containing a list as an input

Tobias Brandt to_br at uni-bremen.de
Thu Jul 5 20:36:39 UTC 2018


  Hello Awsaf, 

you should probably look further into the topic of "IO in Haskell" and  
"Monads". Then you can use impure functions like readFile  
(http://hackage.haskell.org/package/base-4.11.1.0/docs/Prelude.html#v:readFile ) or getArgs (http://hackage.haskell.org/package/base-4.11.1.0/docs/System-Environment.html#v:getArgs). A naive solution might look like  
this: 
 
  module Main where
   
  import           System.Environment (getArgs)
   
  main = do
    (fileName:_) <- getArgs
    unsortedList <- read <$> readFile fileName
    let sorted = yourMergeSortFunction unsortedList
    print sorted -- maybe you like to print your sorted list

Best regards,
Tobias



----- Nachricht von Awsaf Rahman <awsafrahman1704 at gmail.com> ---------
     Datum: Thu, 5 Jul 2018 22:21:15 +0200
       Von: Awsaf Rahman <awsafrahman1704 at gmail.com>
Antwort an: The Haskell-Beginners Mailing List - Discussion of  
primarily beginner-level topics related to Haskell  
<beginners at haskell.org>
   Betreff: [Haskell-beginners] Passing a file containing a list as an input
        An: beginners at haskell.org

> Hello everyone!        
>    I am really struggling with Haskell I/O. 
>     
>    I have written a mergesort program and as an input to that  
> program I want to use a file containing a list of 1000 integers.  
> Let's say the contents of the file look like this
>     
>    [120, 400, 500 , 20, 100 ..] 
>     
>    How can I achieve that? I am trying to write a main function that  
> takes the file as an input and passes the list to my mergesort  
> function.. 
>     
>    Regards
>    Awsaf Rahman

----- Ende der Nachricht von Awsaf Rahman <awsafrahman1704 at gmail.com> -----
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20180705/bd9ee550/attachment.html>


More information about the Beginners mailing list