2015-11-25 07:41:26 +0000ircbrowse(~chrisdone@unaffiliated/chrisdone)
2015-11-25 07:41:48 +0000 <ircbrowse> :)
2015-11-25 07:44:06 +0000 <cocreature> alanz: we should probably add the logs to the topic now that we have them
2015-11-25 07:44:10 +0000 <cocreature> http://ircbrowse.net/haskell-ide-engine
2015-11-25 07:44:36 +0000 <alanz> cool, I asked for them, got no ack though
2015-11-25 07:44:49 +0000 <mgsloan> alanz: Yeah, I re-pinged chris on that
2015-11-25 07:44:53 +0000 <cocreature> I just saw the bot join the channel :)
2015-11-25 07:45:01 +0000 https://github.com/haskell/haskell-ide-engine. Still not an IDE. | Logs at http://ircbrowse.net/haskell-ide-engine | POC Hierarchical menus in emacs https://i.imgur.com/n7M9ye2.png
2015-11-25 07:45:41 +0000 <mgsloan> Yay, now I can continue procrastinating on getting irssi on a server somewhere
2015-11-25 07:48:10 +0000 <alanz> mgsloan, thanks.
2015-11-25 07:48:36 +0000 <alanz> btw, I am focusing on GHC right now, you will see I have slowed down
2015-11-25 07:48:54 +0000 <alanz> But this looks cool: https://github.com/simonmar/ghc/commits/prof-ghci
2015-11-25 07:49:58 +0000 <mgsloan> Yeah, I saw that he's going with the support-both approach, which is good
2015-11-25 07:51:21 +0000 <alanz> And will hopefully sort out our stdio problem. And backport to 7.10.2
2015-11-25 07:53:41 +0000 <alanz> cocreature, is the emacs side usable yet?
2015-11-25 07:54:07 +0000 <cocreature> alanz: not really, we need to figure out a way to decide what information should be presented to the user
2015-11-25 07:54:33 +0000 <cocreature> ideally I'd like to have this as generic as possible, but I suppose we could start by hardcoding it for ghc-mod or something like that
2015-11-25 07:54:44 +0000 <alanz> ok. I was just thinking, we need to somehow create comands you can call in elisp. hie-base-plugins, e.g
2015-11-25 07:54:44 +0000 <cocreature> currently I just print the complete response
2015-11-25 07:55:16 +0000 <cocreature> I’m not quite sure what you mean by that
2015-11-25 07:55:24 +0000 <alanz> cocreature, my preferred way of doing stuff is to first do something concrete, then generalise. Otherwise you do not really know what you need to do
2015-11-25 07:55:34 +0000 <cocreature> yeah
2015-11-25 07:55:52 +0000 <alanz> I mean we generate elisp bindings for the plugin commands that come in
2015-11-25 07:56:19 +0000 <alanz> in the form hie-<plugin-name>-<plugin-command>
2015-11-25 07:56:27 +0000 <alanz> Is that possible?
2015-11-25 07:56:43 +0000 <alanz> so we don't have to only do it via the menu
2015-11-25 07:57:03 +0000 <cocreature> I don’t think you can generate top level functions dynamically
2015-11-25 07:57:19 +0000 <cocreature> by plan was to have a single entry point which gets the plugin and the command as a string
2015-11-25 07:57:38 +0000 <alanz> ok
2015-11-25 07:58:58 +0000 <cocreature> what exactly is simon working on it that branch?
2015-11-25 07:59:29 +0000 <alanz> http://emacs.stackexchange.com/questions/10121/how-can-i-create-multiple-defuns-by-looping-through…
2015-11-25 08:00:31 +0000 <alanz> simon's branch is to break out the eval/interpret part of ghci into a separate process, which then has its own stdio and talks to the host process via a protocol
2015-11-25 08:00:38 +0000 <cocreature> ah nice
2015-11-25 08:00:41 +0000 <alanz> i.e. exactly what we need
2015-11-25 08:00:55 +0000 <cocreature> thanks for the emacs link, I’ll take a look at it later
2015-11-25 08:01:07 +0000 <cocreature> still busy waking up :)
2015-11-25 08:01:13 +0000 <alanz> ok. I think it would be useful to be able to do that.
2015-11-25 08:01:20 +0000 <cocreature> definitely
2015-11-25 08:01:20 +0000 <alanz> And I have 2 hours on you, I think
2015-11-25 08:02:24 +0000 <cocreature> it’s 9am here
2015-11-25 08:02:30 +0000 <cocreature> but I’m a student, so 9am is early :)
2015-11-25 08:04:44 +0000 <alanz> :)
2015-11-25 08:04:58 +0000 <alanz> 10am here, fwiw
2015-11-25 08:05:19 +0000 <mgsloan> You've *gotta* be able to generate top level functions, elisp is so darn dynamic. But y'all would know better than me, I don't know elisp very well
2015-11-25 08:08:58 +0000 <alanz> I'm sure it must be possible
2015-11-25 08:09:41 +0000 <alanz> and then the hie stuff can become first class elisp citizens, with docs and all. Potentially.
2015-11-25 08:09:59 +0000 <alanz> But I can see us perhaps having to cache that stuff.
2015-11-25 08:10:12 +0000 <cocreature> the menu is cached already
2015-11-25 08:11:09 +0000 <alanz> great
2015-11-25 08:12:56 +0000 <alanz> My elisp fu is very weak, and I don't have enough time to dive into it in detail
2015-11-25 08:13:07 +0000 <alanz> unfortunately
2015-11-25 08:24:08 +0000 <cocreature> no sane haskell programmer wants to touch elisp if he doesn’t have to :)
2015-11-25 08:24:49 +0000mgsloan(~mgsloan@172.56.42.133) (Ping timeout: 265 seconds)
2015-11-25 08:31:15 +0000kritzcreek(uid114400@gateway/web/irccloud.com/x-bgamlyomdhuqyrmm)
2015-11-25 09:58:05 +0000 <alanz> have we had a sudden spike on stars on the repo? Sure we were on 125 earlier today, now 142
2015-11-25 09:59:58 +0000 <alanz> Evolution of haskell-ide-engine (Gource Visualization) : https://www.youtube.com/watch?v=F5l4X-YVQ-g
2015-11-25 10:27:51 +0000 <cocreature> gource always looks fun
2015-11-25 10:28:09 +0000GitHub58- [13haskell-ide-engine] 15tobiasgwaaler pushed 1 new commit to 06detect-plugin-param-name-collisions: 02http://git.io/vBCdh
2015-11-25 10:28:09 +0000GitHub58- 13haskell-ide-engine/06detect-plugin-param-name-collisions 14eb32bf6 15Tobias Gulbrandsen Waaler: move more files to PluginUtilsSpec
2015-11-25 10:39:15 +0000 <cocreature> hm defining functions dynamically seems to be harder than that stackexchange question suggested
2015-11-25 10:49:35 +0000 <cocreature> alright, I have a terrible poc
2015-11-25 10:49:39 +0000 <cocreature> but it works
2015-11-25 10:53:30 +0000 <alanz> great
2015-11-25 10:54:00 +0000 <alanz> Once you have something that works, you can focus on making it "better"
2015-11-25 10:54:04 +0000 <cocreature> yep
2015-11-25 11:18:26 +0000 <cocreature> gracjan: are you against using dash.el in the emacs mode? imho it makes the code a lot cleaner if you can just use stuff like -mapcat instead of reimplementing it yourself
2015-11-25 11:18:49 +0000 <cocreature> and every second package already depends on it, so I don’t think the dependency is a problem
2015-11-25 11:25:13 +0000 <gracjan> cocreature: fycheck did depend on dash.el, then dependency was removed
2015-11-25 11:25:37 +0000 <gracjan> I’m not strictly agaist, but it add yet another layer for a possible contributor to learn about
2015-11-25 11:26:43 +0000 <cocreature> that’s not true
2015-11-25 11:26:52 +0000 <cocreature> they removed it for most stuff but they still depend on it
2015-11-25 11:26:57 +0000 <cocreature> see https://github.com/flycheck/flycheck/blob/master/flycheck.el#L12
2015-11-25 11:27:37 +0000 <cocreature> also I think dash.el does the opposite: it makes the code a lot easier to read which makes it easier for contributors
2015-11-25 11:28:24 +0000 <cocreature> haskell programmers are used to a lot of list combinator functions, so I don’t think that they scare anybody away
2015-11-25 11:39:17 +0000 <cocreature> here’s a comparsion http://lpaste.net/145936 the top is the version without dash.el and the bottom the one with dash.el
2015-11-25 11:39:28 +0000 <cocreature> imho the latter is significantly less noisy and easier to read
2015-11-25 11:50:39 +0000 <alanz> It is less noisy and easier to read. Can't comment on dependency issues though
2015-11-25 12:06:58 +0000GitHub90- [13haskell-ide-engine] 15cocreature opened pull request #99: Create elisp functions for all commands (06master...06elisp-commands) 02http://git.io/vBWzY
2015-11-25 12:26:11 +0000alexbiehl(~user@gw01.novomind.com)
2015-11-25 12:56:56 +0000eriksensei(~Adium@546B12FD.cm-12-4a.dynamic.ziggo.nl)
2015-11-25 12:57:38 +0000fgaz(~fgaz@host18-33-dynamic.244-95-r.retail.telecomitalia.it)
2015-11-25 13:27:10 +0000alexbiehl(~user@gw01.novomind.com) (Remote host closed the connection)
2015-11-25 13:29:49 +0000fgaz(~fgaz@host18-33-dynamic.244-95-r.retail.telecomitalia.it) (Remote host closed the connection)
2015-11-25 13:30:04 +0000fgaz(~fgaz@host18-33-dynamic.244-95-r.retail.telecomitalia.it)
2015-11-25 13:48:13 +0000fgaz_(~fgaz@5.90.10.103)
2015-11-25 13:48:53 +0000fgazGuest52571
2015-11-25 13:48:56 +0000 <gracjan> cocreature: nice idea
2015-11-25 13:49:18 +0000 <cocreature> gracjan: blame alanz for the idea, I only implemented it :)
2015-11-25 13:49:47 +0000 <gracjan> unorthodox, but cool
2015-11-25 13:49:52 +0000fgaz_fga
2015-11-25 13:49:52 +0000 <gracjan> can I merge it already?
2015-11-25 13:49:58 +0000fgafgaz
2015-11-25 13:50:01 +0000 <alanz> this is called collective development. We all work together to make good stuff
2015-11-25 13:50:02 +0000 <cocreature> it’s finished from my side
2015-11-25 13:50:11 +0000 <cocreature> alanz: :)
2015-11-25 13:50:15 +0000 <gracjan> merged
2015-11-25 13:50:22 +0000 <gracjan> I agree with ‘hie’ prefix
2015-11-25 13:50:27 +0000GitHub119- [13haskell-ide-engine] 15gracjan closed pull request #99: Create elisp functions for all commands (06master...06elisp-commands) 02http://git.io/vBWzY
2015-11-25 13:50:28 +0000GitHub125- [13haskell-ide-engine] 15gracjan pushed 2 new commits to 06master: 02http://git.io/vBleK
2015-11-25 13:50:28 +0000GitHub125- 13haskell-ide-engine/06master 14a11875d 15Moritz Kiefer: Create elisp functions for all commands