Logs: freenode/#haskell
| 2021-05-11 04:26:06 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 2021-05-11 04:26:14 | × | dolio quits (~dolio@haskell/developer/dolio) (Ping timeout: 246 seconds) |
| 2021-05-11 04:26:31 | <minoru_shiraeesh> | how about another problem: a lot of code with no documentation that you don't know how to approach |
| 2021-05-11 04:26:41 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection) |
| 2021-05-11 04:27:08 | <Axman6> | is that a question? |
| 2021-05-11 04:27:27 | <minoru_shiraeesh> | when you don't know where is the beginning and where is the end |
| 2021-05-11 04:27:56 | <Iceland_jack> | minoru_shiraeesh: When faced with such a problem, I start by heavily adding type annotations |
| 2021-05-11 04:27:57 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-05-11 04:27:58 | <Axman6> | then you read is more carefully. this is a very vague "question" |
| 2021-05-11 04:28:08 | <Axman6> | it* |
| 2021-05-11 04:28:33 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds) |
| 2021-05-11 04:28:37 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 2021-05-11 04:28:48 | <Iceland_jack> | Familiarizing myself with the types in general |
| 2021-05-11 04:29:21 | <minoru_shiraeesh> | it happened to me several times. people just spit out a giant mountain of code and expect you to figure out what's going on |
| 2021-05-11 04:29:37 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Read error: Connection reset by peer) |
| 2021-05-11 04:30:16 | <minoru_shiraeesh> | of course you're going to figure it out eventually, but following the same logic we could create square wheels |
| 2021-05-11 04:30:30 | <minoru_shiraeesh> | you just push it harder and it will move eventually, right? |
| 2021-05-11 04:31:21 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 2021-05-11 04:31:31 | → | Guest81 joins (~textual@cpe-108-185-120-135.socal.res.rr.com) |
| 2021-05-11 04:31:56 | <Guest81> | Hello. I know ghcup + cabal is the recommended/popular way, but I'm going through the Haskell from first principles book which uses Stack. I've heard there could be issues with installing both ghcup and stack. Is that true? Or is it generally safe? Or is it trivial to replace stack with cabal for that book? |
| 2021-05-11 04:32:33 | × | husixu quits (~husixu@137.132.117.40) (Ping timeout: 240 seconds) |
| 2021-05-11 04:32:38 | <Axman6> | I find that it's very rare that it really is just a mountain of code without any organisation - one of your first goals should be to figure out where the entry point to the code is, if it is a program - this is often "main". |
| 2021-05-11 04:33:02 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 2021-05-11 04:33:32 | <Axman6> | Guest81: it's definitely "safe" to have both, they won't do any damage to each other, and if the tutorial is using stack, it might be a good idea to just use it, and later learn how to do the same things using cabal isntead |
| 2021-05-11 04:33:45 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2021-05-11 04:35:25 | <minoru_shiraeesh> | maybe the lack experience played a role, but the square wheels example still applies |
| 2021-05-11 04:35:27 | <Guest81> | Axman6: I guess my big concern is that I understand they both install ghc. |
| 2021-05-11 04:35:50 | <Axman6> | yes, they will both intall ghc, though you can make stack use the ghc installed by ghcup |
| 2021-05-11 04:36:19 | <minoru_shiraeesh> | and sometimes abstractions make it hard to follow the logic starting from main |
| 2021-05-11 04:37:04 | <minoru_shiraeesh> | you start from main, stumble across several interfaces and then there are like 20 implementations of those interfaces in the project |
| 2021-05-11 04:37:28 | <Axman6> | minoru_shiraeesh: these are very vague statements, we can definitely help you if you have something more concrete, but for any given piece of code, the methods you'll use to navigate it are likely to be different - do you have some specific code ytou are strugling with? |
| 2021-05-11 04:38:31 | <minoru_shiraeesh> | I was just adding to the discussion of bad code |
| 2021-05-11 04:39:38 | <Axman6> | tools like Haskell language server help a lot with that particular problem, becauxe you can find out which types are actually being used for a given piece of code |
| 2021-05-11 04:40:03 | <minoru_shiraeesh> | spitting out a giant mountain of code without making it clear how to approach it - I think it also may be considered bad code |
| 2021-05-11 04:41:35 | <Axman6> | The project I'm working on has over 300k lines of code, it takes months to get a good idea of how the system works. this is true of any sufficiently complex codebase and part of learning to program is being able to deal with complexity and start to put the pieces together yourself, and develop ways to explore which efficiently answer your questions |
| 2021-05-11 04:42:23 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 2021-05-11 04:42:40 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 252 seconds) |
| 2021-05-11 04:44:02 | × | Feuermagier quits (~Feuermagi@213.178.26.41) (Quit: Leaving) |
| 2021-05-11 04:44:10 | <Axman6> | pretty much by definition, all code bases become domain specific languages for the problem they exist to solve, and learning that language is a big part of the job |
| 2021-05-11 04:44:21 | → | zaquest joins (~notzaques@5.128.210.178) |
| 2021-05-11 04:44:49 | → | Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
| 2021-05-11 04:44:52 | → | delonte joins (415f295b@gateway/web/cgi-irc/kiwiirc.com/ip.65.95.41.91) |
| 2021-05-11 04:44:58 | × | Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Remote host closed the connection) |
| 2021-05-11 04:44:58 | <minoru_shiraeesh> | Axman6: I think we're talking about different things, unless you're defending creating undocumented mess |
| 2021-05-11 04:45:26 | × | carlomagno1 quits (~cararell@148.87.23.11) (Quit: Leaving.) |
| 2021-05-11 04:45:28 | <Axman6> | what makes something an undocumented mess though? |
| 2021-05-11 04:46:11 | <minoru_shiraeesh> | giant files with collections of things |
| 2021-05-11 04:46:21 | × | drbean_ quits (~drbean@TC210-63-209-99.static.apol.com.tw) (Ping timeout: 265 seconds) |
| 2021-05-11 04:46:34 | <Axman6> | what if the things are related? what if they are necessarily complex? |
| 2021-05-11 04:46:43 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 2021-05-11 04:46:44 | <minoru_shiraeesh> | and no documentation, no guide on how to navigate through it |
| 2021-05-11 04:47:02 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-ovwhwsshlhgdvfva) (Quit: Connection closed for inactivity) |
| 2021-05-11 04:47:26 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2021-05-11 04:47:28 | → | falafel joins (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) |
| 2021-05-11 04:47:28 | → | drbean_ joins (~drbean@TC210-63-209-90.static.apol.com.tw) |
| 2021-05-11 04:48:27 | → | Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
| 2021-05-11 04:48:36 | <minoru_shiraeesh> | I expect a sane project to provide a description: here is the core, here are components, the core works like this, components work like this |
| 2021-05-11 04:49:21 | <Axman6> | that only gets you so far in a large enough system though. you at some point need to know where you would expect to find the answers |
| 2021-05-11 04:49:24 | × | alx741 quits (~alx741@186.178.109.110) (Quit: alx741) |
| 2021-05-11 04:49:59 | <minoru_shiraeesh> | not having a description is a sign of overly optimising costs, trying to squeeze every last drop of productivity from every coder |
| 2021-05-11 04:49:59 | → | Tops21 joins (~Tobias@dyndsl-095-033-090-210.ewe-ip-backbone.de) |
| 2021-05-11 04:50:08 | <minoru_shiraeesh> | bad companies do that |
| 2021-05-11 04:50:09 | ← | delonte parts (415f295b@gateway/web/cgi-irc/kiwiirc.com/ip.65.95.41.91) () |
| 2021-05-11 04:50:34 | <minoru_shiraeesh> | they overly optimise and it becomes counter-productive |
| 2021-05-11 04:51:02 | <minoru_shiraeesh> | like "you want to document this thing? we don't have budget for that. go work on those tickets" |
| 2021-05-11 04:51:19 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 252 seconds) |
| 2021-05-11 04:51:28 | <Axman6> | There are ways to document a system which don't include writing comments for everything though - having a common language between the specification and the code is one particularly good way to do that |
| 2021-05-11 04:51:57 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
| 2021-05-11 04:52:26 | × | Tops2 quits (~Tobias@dyndsl-095-033-094-242.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
| 2021-05-11 04:52:33 | <Axman6> | Like, the system I'm working on, the documentation is written before the code (and updated when discrepencies are found that require it) |
| 2021-05-11 04:53:43 | → | mayleesia joins (~mayleesia@x4dbf5e45.dyn.telefonica.de) |
| 2021-05-11 04:53:43 | × | minoru_shiraeesh quits (~shiraeesh@109.166.58.80) (Remote host closed the connection) |
| 2021-05-11 04:53:53 | × | puke quits (~vroom@217.138.252.196) (Quit: puke) |
| 2021-05-11 04:54:00 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 2021-05-11 04:54:03 | → | minoru_shiraeesh joins (~shiraeesh@109.166.58.80) |
| 2021-05-11 04:54:18 | → | mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au) |
| 2021-05-11 04:55:45 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 2021-05-11 04:55:45 | × | hyiltiz quits (~quassel@31.220.5.250) (Changing host) |
| 2021-05-11 04:55:45 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 2021-05-11 05:01:37 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Quit: ChaiTRex) |
| 2021-05-11 05:02:21 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 2021-05-11 05:02:27 | → | drbean- joins (~drbean@TC210-63-209-65.static.apol.com.tw) |
| 2021-05-11 05:03:52 | → | oxide joins (~lambda@unaffiliated/mclaren) |
| 2021-05-11 05:04:33 | × | drbean_ quits (~drbean@TC210-63-209-90.static.apol.com.tw) (Ping timeout: 260 seconds) |
| 2021-05-11 05:05:04 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 2021-05-11 05:05:57 | hackage | pantry 0.5.2 - Content addressable Haskell package management https://hackage.haskell.org/package/pantry-0.5.2 (MichaelSnoyman) |
| 2021-05-11 05:08:55 | × | falafel quits (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) (Ping timeout: 276 seconds) |
| 2021-05-11 05:10:59 | mayleesia | is now known as maylees |
| 2021-05-11 05:11:06 | maylees | is now known as maylee |
| 2021-05-11 05:11:28 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 2021-05-11 05:12:11 | × | dorkside quits (~tdbgamer@208.190.197.222) (Ping timeout: 240 seconds) |
| 2021-05-11 05:13:06 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
| 2021-05-11 05:13:22 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 2021-05-11 05:16:12 | × | Iceland_jack quits (~user@95.147.45.92) (Ping timeout: 268 seconds) |
| 2021-05-11 05:16:41 | × | mjrosenb quits (~mrosenbe@nyc.schrodinger.com) (Ping timeout: 260 seconds) |
| 2021-05-11 05:17:26 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
| 2021-05-11 05:17:27 | × | kireguy quits (~kireguy@185.204.1.185) (Remote host closed the connection) |
| 2021-05-11 05:18:10 | → | husixu joins (~husixu@137.132.117.40) |
| 2021-05-11 05:18:11 | → | mjrosenb joins (~mrosenbe@nyc.schrodinger.com) |
| 2021-05-11 05:19:52 | × | bollu quits (~bollu@139.59.46.74) (Remote host closed the connection) |
All times are in UTC.