Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,506 events total
2021-07-26 00:17:19 <janus> gotta have them clicks ;)
2021-07-26 00:17:33 <dsal> Fused Effects, but no lens?
2021-07-26 00:17:53 hiruji joins (~hiruji@user/hiruji)
2021-07-26 00:17:56 LukeHoersten joins (~LukeHoers@user/lukehoersten)
2021-07-26 00:18:06 <janus> arkanoid: if you search for "thesis" here you'll find a couple: https://wiki.haskell.org/Research_papers/Domain_specific_languages
2021-07-26 00:19:01 <arkanoid> janus: Prof Moggis got his phd in 1988, the paper is from 1991. Can't say anything about his phd as the italian academic system introduced obrigatory publishing of phd only in 2010
2021-07-26 00:19:56 <janus> oh well, i'll stop searching. but it is nice to know that Clash was developed in a master's thesis. gotta try it one day, i really liked Bluespec...
2021-07-26 00:20:14 <dsal> there's that talk about the type safe regex stuff that was really cool and went through some of the process.
2021-07-26 00:20:35 <arkanoid> what's Clash?
2021-07-26 00:20:47 <janus> it's a DSL for describing hardware, but embedded in haskell
2021-07-26 00:21:07 <janus> so kinda like VHDL or Verilog, but with better typing
2021-07-26 00:21:50 <arkanoid> whoa1
2021-07-26 00:22:11 <janus> pretty cool, yeah
2021-07-26 00:22:32 <arkanoid> https://github.com/gergoerdi/clash-spaceinvaders :D
2021-07-26 00:23:10 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Ping timeout: 265 seconds)
2021-07-26 00:24:56 delYsid parts (~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
2021-07-26 00:25:34 Kaipi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-26 00:25:35 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-07-26 00:26:34 × doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
2021-07-26 00:27:23 <arkanoid> dsal: thanks for the title, smells like domain driven design?
2021-07-26 00:27:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-26 00:28:06 <janus> arkanoid: maybe you know the blog series "24 days of haskell extensions" by ollie charles. but i stumbled over this commentary by Lennart Augustsson which provides some commentary : http://augustss.blogspot.com/
2021-07-26 00:29:16 LukeHoersten joins (~LukeHoers@user/lukehoersten)
2021-07-26 00:29:16 <janus> you can see how Augustsson explains that RankNTypes is an old idea with a bit of history
2021-07-26 00:29:45 × slice quits (~slice@user/slice) (Quit: zzz)
2021-07-26 00:30:32 soft-warm joins (~soft-warm@2600:8801:db01:8f0:cb97:ae6d:d0f6:751e)
2021-07-26 00:31:15 <arkanoid> thanks. Yeah I've found this blog before but it didn't catch my attention more than other resources, but it was before understanding at least the very basics of haskell
2021-07-26 00:35:02 euouae joins (~euouae@user/euouae)
2021-07-26 00:35:21 <euouae> Hello I am trying to install Haskell on this macOS
2021-07-26 00:35:35 <euouae> I thought there was a Haskell platform I could install, but apparently not, was it discontinued?
2021-07-26 00:36:32 <geekosaur> it was
2021-07-26 00:37:01 <arkanoid> euouae: I'm a new haskell user and I've started by using stack https://docs.haskellstack.org/en/stable/README/
2021-07-26 00:37:07 <euouae> Great, thank you
2021-07-26 00:37:08 <geekosaur> generally the best way to start is to use ghcup to install ghc, then install stuff as needed in cabal or stack projects
2021-07-26 00:37:30 <euouae> arkanoid: nice! What's your goal?
2021-07-26 00:37:43 <euouae> arkanoid: I learned Haskell out of curiosity but I'm finding it very useful lately
2021-07-26 00:38:03 <euouae> "learned" means I learned some basics :P
2021-07-26 00:38:28 <arkanoid> I want to improve my generally programming abilities by understanding how haskell tackles complexity. I'm an imperative programmer on my daily job
2021-07-26 00:40:30 <euouae> Can you make ghcup use the XDG spec?
2021-07-26 00:41:41 <euouae> arkanoid: nice, so you're not going for a specific library or tool then?
2021-07-26 00:42:34 <euouae> never mind I read the script, there's GHCUP_USE_XDG_DIRS
2021-07-26 00:43:33 <Axman6> euouae: https://www.haskell.org/downloads/ is probably the most up to date documentation. IMO I would start with installing ghcup
2021-07-26 00:43:47 <arkanoid> not yet. I mean. Quickcheck is interesting
2021-07-26 00:43:57 × Deide quits (~Deide@user/deide) (Ping timeout: 265 seconds)
2021-07-26 00:44:24 <euouae> Axman6, thank you
2021-07-26 00:45:14 <Axman6> stack is also not a bad iption for someone getting started, it removes a bit of the need to know about how to use cabal
2021-07-26 00:45:51 <Axman6> option*
2021-07-26 00:46:01 <Axman6> an installing ghcup can also install stack
2021-07-26 00:46:31 <janus> arkanoid: you should check out hedgehog too, it is not based so much on the lawless typeclass
2021-07-26 00:50:04 <arkanoid> may I ask you what do you mean by lawless typeclass?
2021-07-26 00:50:05 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-26 00:50:14 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-26 00:50:21 × nate3 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-26 00:50:35 <Axman6> arkanoid: IMO, Haskell is excellent for handling complexity - abstractions can be simple and powerful, and refactoring in
2021-07-26 00:51:15 <Axman6> haskell is a joy most of the time - refactor fealessly (as long as you follow a few simple rules that prevent introduced errors showin gup, like using wildcard patterns in case statements etc.)
2021-07-26 00:51:55 <janus> arkanoid: here is an example of some typeclass laws: https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Functor.html#t:Functor
2021-07-26 00:52:12 <Axman6> Refactoring large code bases is enerally done by: make the change you know you need to make, then follw the errors until it compiles again, and this is much more likely to result in working code than most other languages
2021-07-26 00:52:45 <janus> arkanoid: sometimes it is hard to choose a canonical instance, i think this is why there is no Monoid Integer for example, they would have to choose either multiplication or addition
2021-07-26 00:53:36 <janus> arkanoid: but regarding testing, it is pretty common to want a specific distribution. so that is one argument against Arbitrary from QuickCheck, you'd have to choose a canonical distribution
2021-07-26 00:54:40 <janus> arkanoid: another argument could be that it would make you put the Arbitrary instances in the module with the code you want to test, to avoid orphan instances. but a lot of people prefer having the testing code in a separate directory tree
2021-07-26 00:55:34 <janus> i dunno if these are the universally recognized reasons, and of course there are many different opinions on this, and probably QuickCheck works great for a lot of people. i just thought you'd be interested in checking out hedgehog too
2021-07-26 00:56:55 × chomwitt quits (~chomwitt@ppp-94-67-193-120.home.otenet.gr) (Remote host closed the connection)
2021-07-26 00:57:08 <janus> dunno if my answer was too indirect, i can try again...
2021-07-26 00:58:27 <arkanoid> I have to admit that I hardly grasped the meaning, but I've saved it for the future
2021-07-26 00:58:42 <janus> arkanoid: do you know what orphan instances are?
2021-07-26 00:59:45 <arkanoid> reading just now
2021-07-26 01:00:24 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-26 01:01:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-26 01:02:15 <Axman6> It can take a while before you run into the issues with quickcheck, I think https://www.youtube.com/watch?v=boBD1qhCQ94 might cover some of them, though
2021-07-26 01:02:40 <Axman6> I think there's also another good lambdajam talk about tge benefits of hedgehog, and usually quickcheck is introduced first
2021-07-26 01:03:08 <Axman6> actually, https://www.youtube.com/watch?v=AIv_9T0xKEo might be a better place to to start
2021-07-26 01:04:50 <arkanoid> thanks! A lot of material to grok in a single day, and actually I've exausted my batteries and need some sleep now
2021-07-26 01:05:03 <dsal> I've still never tried hedgehog. You can get pretty far with qc
2021-07-26 01:05:11 <arkanoid> I'd like to thank you for the help and for the hints
2021-07-26 01:05:16 <janus> good night
2021-07-26 01:06:20 lavaman joins (~lavaman@98.38.249.169)
2021-07-26 01:10:52 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-26 01:11:05 <janus> wow, that last Axman6 talk has graphs of the generator combinators. that should totally be in the docs like with reanimate, so useful
2021-07-26 01:11:37 <Axman6> PR's welcome :P
2021-07-26 01:11:54 xff0x joins (~xff0x@2001:1a81:523c:b300:f2c1:fc0d:e213:d303)
2021-07-26 01:13:35 × Atum_ quits (~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-07-26 01:14:04 <janus> i'll take a stab at it. those diagrams are too simple to be copyrightable
2021-07-26 01:14:33 nate3 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 01:15:36 × xff0x_ quits (~xff0x@port-92-195-69-103.dynamic.as20676.net) (Ping timeout: 268 seconds)
2021-07-26 01:15:46 khumba joins (~khumba@user/khumba)
2021-07-26 01:19:50 × nate3 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-26 01:20:51 __xor joins (~xor@74.215.232.67)
2021-07-26 01:22:14 × _xor quits (~xor@74.215.232.67) (Ping timeout: 255 seconds)
2021-07-26 01:23:37 × cjb quits (~cjb@user/cjb) (Ping timeout: 256 seconds)
2021-07-26 01:26:23 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-26 01:27:22 cjb joins (~cjb@user/cjb)
2021-07-26 01:29:20 nate3 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-26 01:29:26 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-26 01:34:12 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-26 01:34:12 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-26 01:34:19 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-26 01:35:20 <euouae> How can I get all 01 sequences of length n in Haskell?
2021-07-26 01:36:00 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-26 01:36:15 <Axman6> > replicateM 10 "01"
2021-07-26 01:36:17 <lambdabot> ["0000000000","0000000001","0000000010","0000000011","0000000100","000000010...

All times are in UTC.