Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-03-16 02:25:25 <koz> If you mean 'dependency manager', then it's extremely YMMV.
2021-03-16 02:25:30 <qih> koz: Misterm, whatever ...
2021-03-16 02:25:32 <qih> 8-)
2021-03-16 02:25:35 <qih> OK
2021-03-16 02:25:46 <koz> Stack has a whole bunch of its own eccentricities, as does Cabal, both have documentation issues out the wazoo.
2021-03-16 02:26:00 <qih> Are all the packages available on either of the Dependency Managers?
2021-03-16 02:26:02 <koz> I prefer Cabal because I find Stack unnecessary; others disagree for reasons I fail to understand.
2021-03-16 02:26:18 <koz> qih: Yes - anything from Hackage can be had on either one, and both support local and git-hosted repos.
2021-03-16 02:26:18 × esp32_prog quits (~esp32_pro@185.254.75.51) (Ping timeout: 245 seconds)
2021-03-16 02:26:24 heatsink joins (~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-16 02:26:40 Guest11557 joins (~ccallahan@185.163.110.108)
2021-03-16 02:26:54 <qih> OK that's neat ...weeeeeell, I'll try Cabal this time. Hi btw, how's things *up* there?
2021-03-16 02:27:02 × _bin quits (~bin@2600:1700:10a1:38d0:a1bb:96d6:a6dd:43f2) (Ping timeout: 264 seconds)
2021-03-16 02:27:55 <Squarism> im looking for something to model "business processes" that has a mapping to a direct graph as an image. Like BPMN or Petri-nets. Anyone know if there is lib for this or other alternative that fullfills the requirement of having visual representation.
2021-03-16 02:28:12 <Squarism> diected graph*
2021-03-16 02:28:19 <koz> Squarism: Most graph-related libraries don't really deal with 'visual representations'.
2021-03-16 02:28:39 _bin joins (~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net)
2021-03-16 02:28:57 <Squarism> i can roll that part on my own. I mainly want the non visual part working well.
2021-03-16 02:29:05 <koz> Since visual representations of graphs are a surprisingly hard problem in themselves (read the graphviz docs if you wanna see just how tricky it can be).
2021-03-16 02:29:09 <qih> koz: https://medium.com/@edmundnoble/cabal-or-stack-25886c0ac74f <- clear as mud 8-)
2021-03-16 02:29:34 <koz> If you want the _non_ visual part working well, there's a few options. I favour http://hackage.haskell.org/package/algebraic-graphs
2021-03-16 02:29:40 <koz> Whether it does the things you specifically want depends.
2021-03-16 02:29:42 <Squarism> koz, these wont be too complicated so I think graphviz would do for me.
2021-03-16 02:30:04 <koz> Squarism: graphvis is an executable that draws graphs.
2021-03-16 02:30:11 <Squarism> i know
2021-03-16 02:30:40 <koz> The point is, there's lots of heuristics for layout, and even with those, graphvis's own language needs some assistance often.
2021-03-16 02:31:13 <koz> qih: Basically, in 2021, I would argue 'just pick whichever one offends you less'.
2021-03-16 02:31:13 <Squarism> my graphs vill have max 12ish nodes.
2021-03-16 02:31:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Ping timeout: 264 seconds)
2021-03-16 02:31:30 <koz> Squarism: Ah, well, in that case algebraic-graphs will be fine.
2021-03-16 02:32:05 <koz> I fall on the side of Cabal because you need to understand Cabal files either way; with Stack, you gotta learn about a lot of _other_ stuff too.
2021-03-16 02:32:14 <koz> (none of which IMHO is remotely relevant in 2021)
2021-03-16 02:32:33 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 245 seconds)
2021-03-16 02:33:08 <qih> koz: OK, Stack it is then for some other needs, but I'll RTFM on Cabal too.
2021-03-16 02:33:54 × urodna_ quits (~urodna@unaffiliated/urodna) (Quit: urodna_)
2021-03-16 02:35:21 tanner_ joins (~tanner@216.106.138.184)
2021-03-16 02:38:05 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-16 02:39:55 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
2021-03-16 02:40:13 <qih> Using the GHCI REPL; :help shows help but how do you paginate it? :help | less does not work, nor 'more' or 'page'
2021-03-16 02:42:16 × alx741 quits (~alx741@181.196.68.64) (Quit: alx741)
2021-03-16 02:42:52 × xff0x quits (~xff0x@2001:1a81:52b7:0:8b9f:ee81:7bdc:f7e8) (Ping timeout: 260 seconds)
2021-03-16 02:43:02 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-16 02:44:22 xff0x joins (~xff0x@2001:1a81:52ee:e100:698d:4b25:a12b:af32)
2021-03-16 02:46:09 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 264 seconds)
2021-03-16 02:46:38 mrus[m] joins (mrusmatrix@gateway/shell/matrix.org/x-welevbbwwrngbnao)
2021-03-16 02:48:52 jrqc joins (~rofl@96.78.87.197)
2021-03-16 02:51:52 × vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-03-16 02:52:44 × augnun quits (~augnun@2804:14c:658b:41bb:2619:95b9:b021:720c) (Quit: WeeChat 3.1)
2021-03-16 02:55:22 vgtw joins (~vgtw@gateway/tor-sasl/vgtw)
2021-03-16 02:55:34 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-03-16 02:57:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-03-16 03:02:20 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 265 seconds)
2021-03-16 03:02:22 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-03-16 03:02:43 solidus-river joins (~mike@174.127.249.180)
2021-03-16 03:03:43 <solidus-river> hey all, i'm just starting to use haskell for real world things and i've come across something i think should be dead easy but has my brain in a twister
2021-03-16 03:04:08 <solidus-river> i'm looking to map putStrLn over a list of strings that i got from IO actions
2021-03-16 03:04:12 <solidus-river> some function like
2021-03-16 03:04:25 <solidus-river> (a -> IO ()) -> IO [a] -> IO ()
2021-03-16 03:05:17 <solidus-river> mapM_ was what i went to initially, I think i can write it in do syntax but that seems wrong for a line that should be a simple map or somthing similar
2021-03-16 03:05:59 × chrisdotcode quits (~chrisdotc@unaffiliated/chrisdotcode) (Quit: rip)
2021-03-16 03:06:35 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-16 03:06:35 finn_elija is now known as Guest21269
2021-03-16 03:06:35 FinnElija is now known as finn_elija
2021-03-16 03:06:35 <siraben> solidus-river: mapM_ is what you want
2021-03-16 03:06:55 <solidus-river> i can't make the compiler happy with it :(
2021-03-16 03:06:56 <siraben> think of it like "for each"
2021-03-16 03:07:04 DTZUZU_ joins (~DTZUZO@207.81.119.43)
2021-03-16 03:07:07 <siraben> could you do a paste of your code?
2021-03-16 03:07:27 <siraben> if your have a lit of strings that you got from IO, then you may have to `fmap` it as well
2021-03-16 03:07:30 <siraben> or bind it first
2021-03-16 03:08:09 qih does 'stack install hakyll' and cannot believe how much it is loading up an 8 Core AMD64 o_0
2021-03-16 03:08:50 <solidus-river> getting it, i'm using zmq so its a bit convoluted, getting a minimum paste up
2021-03-16 03:09:37 × Guest21269 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-16 03:09:40 × DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 256 seconds)
2021-03-16 03:10:52 × finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
2021-03-16 03:11:16 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-16 03:11:16 FinnElija is now known as finn_elija
2021-03-16 03:11:41 <qih> Taking off your Capitals, alwys feels better, am I right?
2021-03-16 03:11:48 <solidus-river> https://paste.tomsmeding.com/Xzocy8WA
2021-03-16 03:13:02 <siraben> `logger logger = fmap (mapM_ putStrLn) (receiveMulti logger)`
2021-03-16 03:13:03 <siraben> should do it
2021-03-16 03:13:17 <siraben> also, using the same name for the function and argument is confusing
2021-03-16 03:13:28 <siraben> `logger l = mapM_ (unpack . putStrLn) (receiveMulti l)`
2021-03-16 03:14:12 shachaf_ is now known as shachaf
2021-03-16 03:15:03 Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2021-03-16 03:15:17 <solidus-river> thanks! I had an error where unpack goes to [Char] not String but thats a different issue
2021-03-16 03:15:32 <siraben> do you need unpack?
2021-03-16 03:15:41 <solidus-river> i hope this gets more intuitive pretty quick, the fmap in front is a mental backflip for me but i can understand it after seeing it
2021-03-16 03:16:02 <solidus-river> I found ByteString has its own exported putStrLn funcs
2021-03-16 03:16:21 <siraben> Ah, but unpack is for turning a bytestring into text
2021-03-16 03:16:30 <siraben> `logger l = mapM_ B.putStrLn (receiveMulti l)`
2021-03-16 03:18:22 <siraben> bytestring into String*
2021-03-16 03:18:22 <solidus-river> aye, i put a forever on there too, this should collapse once i figure out conduit-zeromq4 to something more readable
2021-03-16 03:18:55 <solidus-river> never had more fun getting my hands dirty with a new project. :) its a scary, but fun leap into haskell land
2021-03-16 03:18:57 <siraben> solidus-river: also, [Char] = String in haskell
2021-03-16 03:19:07 <siraben> (that's why String is a bad string type)
2021-03-16 03:19:07 <solidus-river> i'm sure i'm really messing up some perf with the bytestring vs text vs String stuff
2021-03-16 03:19:28 <solidus-river> are packed ByteStrings from string literals null terminated in haskell?
2021-03-16 03:19:41 <siraben> you might want to see the criterion library to benchmark haskell programs, it was eye opening for me to see how slow String was
2021-03-16 03:19:44 <solidus-river> or where would i find things like that

All times are in UTC.