Send Beginners mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1. Re:  Config data (Mike Houghton)


----------------------------------------------------------------------

Message: 1
Date: Sat, 13 Jun 2015 08:25:05 +0100
From: Mike Houghton <[email protected]>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <[email protected]>
Subject: Re: [Haskell-beginners] Config data
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8


Hi,

My primary uses case was to set username/passord and server details for an 
emailing module.
Using some of the ideas in this email chain  I?ve written a small module at  
https://github.com/mike-k-houghton/AppConfig 
I hope someone might find it useful.


Thanks




> On 6 Jun 2015, at 21:14, Rein Henrichs <[email protected]> wrote:
> 
> Can we please not suggest "not recommended" solutions (that most of us 
> probably wouldn't use) without at least providing a recommended alternative?
> 
> You can parse the config file into a record and then either pass it as an 
> argument wherever it is needed or use Reader (or ReaderT) to make it more 
> implicit.
> On Sat, Jun 6, 2015 at 12:16 PM Sumit Sahrawat, Maths & Computing, IIT (BHU) 
> <[email protected]> wrote:
> Yeah, sorry I missed the last line on my first read.
> 
> The link I gave you also explains how to achieve the same functionality as 
> global variables without using them.
> The unsafePerformIO hack works, but for small modules it's much more helpful 
> to do it safely.
> 
> On 7 June 2015 at 00:37, mike h <[email protected]> wrote:
> Global state is an option - thanks. Didn't think Haskell allowed this.
> 
> Having three modules may be more logical but doesn't it just put the same 
> problem into the new module?
> 
> Thanks
> 
> 
> 
> On Saturday, 6 June 2015, 19:43, Mike Houghton <[email protected]> 
> wrote:
> 
> 
> Hi,
> 
> I?ve haskell files  parser.hs and email.hs
> email.hs is a module imported into parser and parser has the main.
> 
> email has various passwords and server names needed to connect and send 
> email. I want to have those details in a config file and read it  in at start 
> - using say config module.  I?m ok with this part but the practicality of 
> doing it eludes me... 
> 
> It seems to me that email module can either get the config details itself or 
> be told them by parser. If email wants to get them how would it do this? It 
> does not have a main that gets run so can?t load a config file.(can it ??)
> 
> However parser can load the config in its main and then tell mail what the 
> values are but how would mail save them? 
> 
> Of course I could chanage the signatures of the email send/receive functions 
> in mail  to take the connection details but that seems wrong.
> 
> Thanks
> 
> Mike
> 
> 
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> 
> 
> 
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> 
> 
> 
> 
> -- 
> Regards
> 
> Sumit Sahrawat
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners



------------------------------

Subject: Digest Footer

_______________________________________________
Beginners mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

End of Beginners Digest, Vol 84, Issue 21
*****************************************

Reply via email to