Perl 6 - the future is here, just unevenly distributed

IRC log for #darcs, 2016-03-10

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:41 fr33domlover hey Heffalump! do you have some time to go over my patches to 'ssh' and tell me what you think? I want to continue making changes but I fear I'll get too far from your version and you won't be able to apply just the parts you want :P
00:41 fr33domlover so I prefer to know which ones you like/don't like etc.
00:42 fr33domlover either way the changes break API so i feel free to break more and it will need a new major version
00:42 fr33domlover darcsden is the only user in hackage anyway so i assume breaking API a bit isn't an issue?
00:45 aristid_ joined #darcs
00:49 siel joined #darcs
00:49 Heffalump joined #darcs
00:49 siel joined #darcs
00:49 theone- joined #darcs
00:59 sm darcsden doesn't mind
01:42 mizu_no__ joined #darcs
01:46 Big_G joined #darcs
02:47 ilbot3 joined #darcs
02:47 Topic for #darcs is now http://darcs.net/ | logs: http://irclog.perlgeek.de/darcs/ | darcs 2.10.3 is out http://darcs.net/Releases/2.10
03:58 castlelore joined #darcs
04:34 JRHaigh joined #darcs
05:04 notdan joined #darcs
05:46 theone- joined #darcs
06:08 theone- joined #darcs
07:10 castlelore joined #darcs
08:43 ggherdov` joined #darcs
08:50 aristid joined #darcs
09:01 gal_bolle joined #darcs
09:10 Heffalump fr33domlover: oh yes, thanks for the reminder
09:10 Heffalump I'll try to do it this evening
10:10 fr33domlover Heffalump, as a side note, you can see my new code in action at http://hub.darcs.net/fr33domlover/vervis/browse/src/Vervis/Ssh.hs
10:11 fr33domlover that monad transformer thing ended up being very useful, I added DB connection pool and logging etc. thanks to the ability to build a monad stack
10:29 inhortte joined #darcs
12:20 mizu_no_oto joined #darcs
12:59 mizu_no_oto joined #darcs
13:35 sm fr33domlover: to ssh ?
13:37 Big_G joined #darcs
13:41 fr33domlover sm, no, to my own code
13:41 sm ah
13:41 fr33domlover but my 'ssh' patches support using an arbitrary MonadIO transformer
13:42 fr33domlover so all of that is easily possible now
17:55 alexei___ joined #darcs
19:02 Riastradh joined #darcs
20:38 Heffalump fr33domlover: couple of intial comments
20:39 Heffalump you introduce two monad type parameters, m and n. Do you have a use case for m and n being different types?
20:41 Heffalump secondly, having m as a parameter to the actual state being passed around feels a bit awkward. I've seen it elsewhere, but it feels like it might life more complicated. For example it would make it harder to write something of type SessionT m1 n a -> SessionT m2 n a
20:43 fr33domlover Heffalump, the params are like that because it's requied, the session monad type depends on the channel so it has to specify both m and n. I made them separate types because e.g. what if you want to use a DB in a channel but not in the session or vice versa
20:44 fr33domlover on the other hand, you can always run a monad inside the request handler... hmmmm
20:47 Heffalump yeah, I can see why you did it that way - I'd probably have started with something similar
20:47 Heffalump I feel a bit uncomfortable with the result. I think it really stems from the way SessionConfig and SessionState embed actions themselves
20:49 Heffalump anyway, I think I can live with it if you want to stick with this, but I reserve the right to refactor again later
20:49 fr33domlover Heffalump, to be honest, I'm not even sure this MonadIO thing is needed - you can have authorize and handleRequest both run in IO and simply run any monads they want /inside/ that. I just added the MonadIO thing because in the general case it makes a difference (e.g. what if authorize detects a user ID in the DB and passes it somehow to the channel)
20:50 fr33domlover I want to refactor the thing too :P
20:50 fr33domlover I wish we had more uses cases, but we hardly have library users to suggest them :-/
20:51 Heffalump hmm, yeah, scAuthorize is most likely to benefit from being overloaded
20:51 fr33domlover I'm planning to make the following change: in authorize, you don't just return a boolean but can also save some data in the session state so that the channel can access it
20:52 fr33domlover (such as the user ID from the DB detected when authenticating etc.)
20:52 fr33domlover so the whole MonadIO thing has potential to be useful
20:53 Heffalump ok
20:54 Heffalump let me know when you're ready to merge, I guess it needs a major version bump then (especially given the Network renaming)
20:54 fr33domlover Heffalump, do the tests build on your system?
20:54 fr33domlover i still have that weird bug with the linker
20:55 Heffalump yeah
20:55 Heffalump I checked them after you mentioned it
20:57 fr33domlover i'll make some polishing and i'll tell you when i feel it looks better :) otherwise i suppose you can merge if you wish, especially if you don't plan to release yet
20:58 fr33domlover e.g. i'll also replace the manual use of Writer with Data.Binary.Put
20:58 Heffalump I'd rather get a release out once we do merge, after you've made whatever collection of breaking changes you want.
20:58 fr33domlover ok then, i'll tell you when i'm done with the polishing
20:58 Heffalump hmm, pointfree might end up with a conflict too, but I guess it's inevitable than one of you will
21:00 fr33domlover my changes are easy to adapt to, i hope :P just update the imports and use some liftIO for the monads
21:00 fr33domlover but if you'll need me to adapt my code to his, plz tell me and i will
21:01 fr33domlover (i'm not sure about the darcs side of that but i suppose #darcs is the place to ask...)
21:03 inhortte joined #darcs
23:44 mizu_no__ joined #darcs

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary