Logs on 2022-01-15 (liberachat/#haskell)
| 00:00:49 | × | xsperry quits (~xs@user/xsperry) (Ping timeout: 256 seconds) |
| 00:01:33 | × | jespada quits (~jespada@87.74.36.188) (Ping timeout: 256 seconds) |
| 00:01:33 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 00:02:19 | <EvanR> | so it's just like a shorthand class |
| 00:02:46 | <monochrom> | MonadRWS is one of those "aliases" so you don't have to spell out "(MonadState ..., MonadWriter..., MonadReader...) |
| 00:02:50 | <monochrom> | Yeah |
| 00:03:33 | → | jespada joins (~jespada@87.74.36.188) |
| 00:03:34 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 00:03:56 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection) |
| 00:04:20 | → | wmacmil joins (~wmacmil@83-233-165-97.cust.bredband2.com) |
| 00:04:23 | <Inst> | oh, so that's how you do typeclass aliases in Haskell |
| 00:04:37 | → | neurocyte091709 joins (~neurocyte@IP-212232084012.dynamic.medianet-world.de) |
| 00:04:37 | × | neurocyte091709 quits (~neurocyte@IP-212232084012.dynamic.medianet-world.de) (Changing host) |
| 00:04:37 | → | neurocyte091709 joins (~neurocyte@user/neurocyte) |
| 00:04:37 | <monochrom> | When the constraint takes 70 columns, people start asking tough questions like "how do I indent a multi-line type sig" and have style guide wars :) |
| 00:05:20 | → | texasmynsted joins (~texasmyns@99.96.221.112) |
| 00:05:45 | <Inst> | class Monad m => Join m where |
| 00:06:36 | × | neurocyte09170 quits (~neurocyte@user/neurocyte) (Ping timeout: 250 seconds) |
| 00:07:56 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection) |
| 00:08:20 | → | wmacmil joins (~wmacmil@83-233-165-97.cust.bredband2.com) |
| 00:08:37 | <hpc> | that's why i make it 30 columns |
| 00:09:04 | <hpc> | when the question is "how do i break a meaningful identifier across two lines" programming becomes much more fun |
| 00:09:14 | <monochrom> | hahaha |
| 00:09:47 | <hpc> | someone should make a programming language that has end-of-line hyphenation |
| 00:10:18 | <geekosaur> | long since done. there was a continuation column on old keypunch cards |
| 00:10:23 | <hpc> | also make it not whitespace-sensitive |
| 00:10:29 | <hpc> | then you don't have to worry about formatting your code in latex |
| 00:10:34 | <geekosaur> | now you're talking fortran |
| 00:11:22 | <geekosaur> | where "DO 10 I = 1. 10" does something you did not intend |
| 00:11:26 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection) |
| 00:11:57 | → | wmacmil joins (~wmacmil@83-233-165-97.cust.bredband2.com) |
| 00:12:56 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection) |
| 00:13:27 | → | wmacmil joins (~wmacmil@83-233-165-97.cust.bredband2.com) |
| 00:14:27 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection) |
| 00:14:53 | → | wmacmil joins (~wmacmil@83-233-165-97.cust.bredband2.com) |
| 00:15:01 | × | euandreh quits (~euandreh@2804:14c:33:9fe5:877b:86ff:8e37:7e9b) (Ping timeout: 240 seconds) |
| 00:19:38 | → | alx741 joins (~alx741@157.100.93.160) |
| 00:20:36 | <hpc> | there's an ID 10 T joke in there somewhere |
| 00:23:16 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 00:24:52 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 00:28:30 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 00:29:17 | × | biog quits (~user1@static.39.160.132.142.clients.your-server.de) (Quit: ZZZzzz…) |
| 00:30:27 | <EvanR> | > sort "DO 10 I = 1. 10" |
| 00:30:29 | <lambdabot> | " .00111=DIO" |
| 00:30:49 | <EvanR> | or a bad dick joke |
| 00:32:26 | <geekosaur> | why did I initially misread that as "bad dad joke"? |
| 00:32:53 | × | fjmorazan quits (~quassel@user/fjmorazan) (Quit: fjmorazan) |
| 00:33:06 | <EvanR> | a bat dad joke would be better |
| 00:33:23 | → | fjmorazan joins (~quassel@user/fjmorazan) |
| 00:41:42 | → | alx741 joins (~alx741@157.100.93.160) |
| 00:42:36 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 00:44:05 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 00:44:56 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection) |
| 00:45:45 | → | wmacmil joins (~wmacmil@83-233-165-97.cust.bredband2.com) |
| 00:46:54 | × | Inst quits (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 250 seconds) |
| 00:47:56 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection) |
| 00:48:21 | → | wmacmil joins (~wmacmil@83-233-165-97.cust.bredband2.com) |
| 00:49:37 | → | biog joins (~user1@static.39.160.132.142.clients.your-server.de) |
| 00:49:56 | → | mvk joins (~mvk@2607:fea8:5cdd:f000::55f8) |
| 00:50:48 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 00:50:55 | → | mud joins (~mud@user/kadoban) |
| 00:53:37 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection) |
| 00:53:48 | → | wmacmil joins (~wmacmil@83-233-165-97.cust.bredband2.com) |
| 00:59:47 | → | DNH joins (~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) |
| 01:00:37 | × | jgeerds_ quits (~jgeerds@55d4af63.access.ecotel.net) (Ping timeout: 240 seconds) |
| 01:03:07 | × | simpleauthority quits (~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in) |
| 01:03:39 | → | notzmv joins (~zmv@user/notzmv) |
| 01:03:55 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:04:37 | → | simpleauthority joins (~simpleaut@user/simpleauthority) |
| 01:05:27 | → | khumba joins (~khumba@user/khumba) |
| 01:07:09 | → | Inst joins (~delicacie@2601:6c4:4080:3f80:f860:6cdd:6a70:803a) |
| 01:08:07 | × | wmacmil quits (~wmacmil@83-233-165-97.cust.bredband2.com) (Quit: Leaving) |
| 01:08:18 | × | slack1256 quits (~slack1256@191.126.99.209) (Remote host closed the connection) |
| 01:09:14 | → | alx741 joins (~alx741@157.100.93.160) |
| 01:10:22 | → | xsperry joins (~xs@user/xsperry) |
| 01:12:23 | → | euandreh joins (~euandreh@2804:14c:33:9fe5:dbd9:529d:8dc9:86b3) |
| 01:15:31 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 01:15:31 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 01:15:31 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:17:56 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 01:21:08 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 250 seconds) |
| 01:22:20 | × | DNH quits (~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:22:20 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 01:24:41 | × | xsperry quits (~xs@user/xsperry) (Ping timeout: 256 seconds) |
| 01:27:13 | <EvanR> | so if I have a big expr whose type has 1 type variable in ghci |
| 01:27:43 | <EvanR> | and I can't evaluate it until I choose a type that has a Monoid instance |
| 01:27:54 | <EvanR> | and I have type applications enabled |
| 01:28:51 | → | xsperry joins (~xs@user/xsperry) |
| 01:29:02 | <EvanR> | nvm I'll just look up the type applications cyclopedia |
| 01:29:43 | <EvanR> | k it only works on functions |
| 01:30:23 | → | teehemkay__ joins (sid14792@id-14792.lymington.irccloud.com) |
| 01:30:25 | → | caasih_ joins (sid13241@id-13241.ilkley.irccloud.com) |
| 01:30:25 | → | FragByte_ joins (~christian@user/fragbyte) |
| 01:30:25 | → | b20n_ joins (sid115913@id-115913.uxbridge.irccloud.com) |
| 01:30:25 | → | rtpg_ joins (sid443069@id-443069.ilkley.irccloud.com) |
| 01:30:26 | → | wallymathieu_ joins (uid533252@id-533252.uxbridge.irccloud.com) |
| 01:30:26 | → | davetapley_ joins (sid666@id-666.uxbridge.irccloud.com) |
| 01:30:26 | → | pjlsergeant_ joins (sid143467@id-143467.hampstead.irccloud.com) |
| 01:30:26 | → | degraafk_ joins (sid71464@id-71464.lymington.irccloud.com) |
| 01:30:26 | → | tnks_ joins (sid412124@id-412124.helmsley.irccloud.com) |
| 01:30:28 | → | ehamberg_ joins (sid18208@id-18208.hampstead.irccloud.com) |
| 01:30:28 | → | mcfilib_ joins (sid302703@user/mcfilib) |
| 01:30:28 | → | pepeiborra_ joins (sid443799@id-443799.ilkley.irccloud.com) |
| 01:30:29 | → | lightandlight_ joins (sid135476@id-135476.helmsley.irccloud.com) |
| 01:30:29 | → | edmundnoble_ joins (sid229620@id-229620.helmsley.irccloud.com) |
| 01:30:31 | → | _0x47__ joins (sid508683@id-508683.tinside.irccloud.com) |
| 01:30:59 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 01:31:49 | → | MasseR4 joins (~MasseR@51.15.143.128) |
| 01:32:01 | → | lisq_ joins (~quassel@lis.moe) |
| 01:32:16 | → | cpape`` joins (~user@2a01:4f9:c010:632d::1) |
| 01:32:42 | → | ajb joins (~ajb@cupid.whatbox.ca) |
| 01:32:44 | → | loonycyborg_ joins (~loonycybo@chantal.wesnoth.org) |
| 01:32:47 | → | haskl[error] joins (~haskl@user/haskl) |
| 01:32:49 | → | vjok1 joins (~vjoki@2a00:d880:3:1::fea1:9ae) |
| 01:32:50 | → | codedmart joins (codedmart@2600:3c01::f03c:92ff:fefe:8511) |
| 01:32:52 | → | dragestil_ joins (~znc@user/dragestil) |
| 01:33:18 | × | xb0o2 quits (~xb0o2@user/xb0o2) (Quit: Client closed) |
| 01:33:20 | → | nonzen_ joins (~nonzen@user/nonzen) |
| 01:34:06 | → | Arsen_ joins (arsen@managarm/dev/Arsen) |
| 01:34:30 | → | riatre joins (~quassel@2001:310:6000:f::5198:1) |
| 01:34:40 | → | bah_ joins (~bah@l1.tel) |
| 01:34:53 | → | Guest4269 joins (~mal@ns2.wyrd.be) |
| 01:35:02 | → | AWizzArd_ joins (~code@gehrels.uberspace.de) |
| 01:35:03 | → | hpc_ joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 01:35:24 | → | kronicma1 joins (user73386@neotame.csclub.uwaterloo.ca) |
| 01:35:30 | → | some02 joins (~cat@h-98-128-128-173.A351.priv.bahnhof.se) |
| 01:36:35 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 256 seconds) |
| 01:36:55 | → | uroboros joins (~ouroboros@user/ouroboros) |
| 01:37:51 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 01:37:53 | × | dhil quits (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 256 seconds) |
| 01:38:52 | → | PHO`_ joins (~pho@akari.cielonegro.org) |
| 01:39:04 | × | caasih quits (sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | lightandlight quits (sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | teehemkay quits (sid14792@id-14792.lymington.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | pjlsergeant quits (sid143467@id-143467.hampstead.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | mcfilib quits (sid302703@user/mcfilib) (Ping timeout: 240 seconds) |
| 01:39:04 | × | b20n quits (sid115913@id-115913.uxbridge.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | ehamberg quits (sid18208@id-18208.hampstead.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | pepeiborra quits (sid443799@id-443799.ilkley.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | PHO` quits (~pho@akari.cielonegro.org) (Ping timeout: 240 seconds) |
| 01:39:04 | × | vjoki quits (~vjoki@2a00:d880:3:1::fea1:9ae) (Ping timeout: 240 seconds) |
| 01:39:04 | × | _0x47_ quits (sid508683@id-508683.tinside.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | codedmart_ quits (codedmart@2600:3c01::f03c:92ff:fefe:8511) (Ping timeout: 240 seconds) |
| 01:39:04 | × | degraafk quits (sid71464@id-71464.lymington.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | davetapley quits (sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | edmundnoble quits (sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | tnks quits (sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | rtpg quits (sid443069@id-443069.ilkley.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | wallymathieu quits (uid533252@id-533252.uxbridge.irccloud.com) (Ping timeout: 240 seconds) |
| 01:39:04 | × | APic quits (apic@apic.name) (Ping timeout: 240 seconds) |
| 01:39:04 | × | lisq quits (~quassel@lis.moe) (Ping timeout: 240 seconds) |
| 01:39:04 | × | loonycyborg quits (~loonycybo@wesnoth/developer/loonycyborg) (Ping timeout: 240 seconds) |
| 01:39:04 | × | jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 240 seconds) |
| 01:39:04 | × | haskl quits (~haskl@user/haskl) (Ping timeout: 240 seconds) |
| 01:39:04 | × | ajb_ quits (~ajb@cupid.whatbox.ca) (Ping timeout: 240 seconds) |
| 01:39:04 | × | bah quits (~bah@l1.tel) (Ping timeout: 240 seconds) |
| 01:39:04 | × | domcornloan quits (~mike@user/feetwind) (Ping timeout: 240 seconds) |
| 01:39:05 | × | cpape` quits (~user@2a01:4f9:c010:632d::1) (Ping timeout: 240 seconds) |
| 01:39:05 | × | FragByte quits (~christian@user/fragbyte) (Ping timeout: 240 seconds) |
| 01:39:05 | × | ParsaAlizadeh[m] quits (~lizadehma@2001:470:69fc:105::1:65a4) (Ping timeout: 240 seconds) |
| 01:39:05 | × | AWizzArd quits (~code@gehrels.uberspace.de) (Ping timeout: 240 seconds) |
| 01:39:05 | × | Deide quits (~deide@user/deide) (Ping timeout: 240 seconds) |
| 01:39:05 | × | jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Ping timeout: 240 seconds) |
| 01:39:05 | × | smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Ping timeout: 240 seconds) |
| 01:39:05 | × | fcortesi quits (~fcortesi@2001:470:69fc:105::f3a9) (Ping timeout: 240 seconds) |
| 01:39:05 | × | justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Ping timeout: 240 seconds) |
| 01:39:05 | × | fgaz quits (~fgaz@2001:470:69fc:105::842) (Ping timeout: 240 seconds) |
| 01:39:05 | × | Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Ping timeout: 240 seconds) |
| 01:39:05 | × | Arathorn quits (~arathorn@2001:470:69fc:105::1f) (Ping timeout: 240 seconds) |
| 01:39:05 | × | |beowulf| quits (1000@sourcemage/mage/beowulf) (Ping timeout: 240 seconds) |
| 01:39:05 | × | ouroboros quits (~ouroboros@user/ouroboros) (Ping timeout: 240 seconds) |
| 01:39:05 | × | lieven quits (~mal@ns2.wyrd.be) (Ping timeout: 240 seconds) |
| 01:39:05 | × | smunix quits (~smunix@static.26.70.12.49.clients.your-server.de) (Ping timeout: 240 seconds) |
| 01:39:05 | × | tureba quits (~tureba@tureba.org) (Ping timeout: 240 seconds) |
| 01:39:05 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 240 seconds) |
| 01:39:05 | × | guibou quits (~guibou@mail.fmap.fr) (Ping timeout: 240 seconds) |
| 01:39:05 | × | kronicmage quits (user75299@neotame.csclub.uwaterloo.ca) (Ping timeout: 240 seconds) |
| 01:39:05 | × | Arsen quits (arsen@managarm/dev/Arsen) (Ping timeout: 240 seconds) |
| 01:39:05 | × | riatre_ quits (~quassel@2001:310:6000:f::5198:1) (Ping timeout: 240 seconds) |
| 01:39:05 | × | dragestil quits (~znc@user/dragestil) (Ping timeout: 240 seconds) |
| 01:39:05 | × | MasseR quits (~MasseR@51.15.143.128) (Ping timeout: 240 seconds) |
| 01:39:05 | × | cocreature quits (~moritz@2a03:b0c0:3:d0::c8:f001) (Ping timeout: 240 seconds) |
| 01:39:05 | × | martin02 quits (~silas@2001:4ca0:0:fe00:0:5efe:a96:1bc1) (Ping timeout: 240 seconds) |
| 01:39:05 | × | Flow quits (~none@gentoo/developer/flow) (Ping timeout: 240 seconds) |
| 01:39:05 | × | mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 240 seconds) |
| 01:39:06 | × | nonzen quits (~nonzen@user/nonzen) (Ping timeout: 240 seconds) |
| 01:39:06 | × | sudden quits (~cat@user/sudden) (Ping timeout: 240 seconds) |
| 01:39:06 | × | alp quits (~alp@mail.fmap.fr) (Ping timeout: 240 seconds) |
| 01:39:06 | pjlsergeant_ | is now known as pjlsergeant |
| 01:39:06 | teehemkay__ | is now known as teehemkay |
| 01:39:06 | b20n_ | is now known as b20n |
| 01:39:06 | vjok1 | is now known as vjoki |
| 01:39:06 | degraafk_ | is now known as degraafk |
| 01:39:06 | tnks_ | is now known as tnks |
| 01:39:06 | caasih_ | is now known as caasih |
| 01:39:06 | lightandlight_ | is now known as lightandlight |
| 01:39:06 | ehamberg_ | is now known as ehamberg |
| 01:39:06 | pepeiborra_ | is now known as pepeiborra |
| 01:39:06 | mcfilib_ | is now known as mcfilib |
| 01:39:06 | FragByte_ | is now known as FragByte |
| 01:39:06 | _0x47__ | is now known as _0x47_ |
| 01:39:06 | edmundnoble_ | is now known as edmundnoble |
| 01:39:06 | dragestil_ | is now known as dragestil |
| 01:39:06 | davetapley_ | is now known as davetapley |
| 01:39:06 | rtpg_ | is now known as rtpg |
| 01:39:06 | wallymathieu_ | is now known as wallymathieu |
| 01:39:07 | uroboros | is now known as ouroboros |
| 01:39:07 | MasseR4 | is now known as MasseR |
| 01:39:17 | × | lisq_ quits (~quassel@lis.moe) (Quit: lisq_) |
| 01:39:30 | → | lisq joins (~quassel@lis.moe) |
| 01:40:52 | → | alx741 joins (~alx741@157.100.93.160) |
| 01:42:15 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds) |
| 01:42:49 | × | hpc_ quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 256 seconds) |
| 01:43:31 | → | APic joins (apic@apic.name) |
| 01:44:20 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 01:44:42 | AWizzArd_ | is now known as AWizzArd |
| 01:45:00 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 01:45:19 | × | AWizzArd quits (~code@gehrels.uberspace.de) (Changing host) |
| 01:45:19 | → | AWizzArd joins (~code@user/awizzard) |
| 01:45:21 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 01:45:46 | × | xsperry quits (~xs@user/xsperry) () |
| 01:45:58 | → | martin02 joins (~silas@141.84.69.76) |
| 01:46:00 | → | xcmw joins (~textual@2603-6011-2200-f103-41a9-a2d8-3ebe-048b.res6.spectrum.com) |
| 01:46:02 | → | |beowulf| joins (1000@gabilgathol.bandrate.org) |
| 01:46:14 | → | domcornloan joins (~mike@user/feetwind) |
| 01:46:18 | → | cocreature joins (~moritz@2a03:b0c0:3:d0::c8:f001) |
| 01:46:22 | → | xsperry joins (~xs@user/xsperry) |
| 01:46:26 | |beowulf| | is now known as Guest8449 |
| 01:46:54 | → | tureba joins (~tureba@tureba.org) |
| 01:47:03 | → | Flow joins (~none@gentoo/developer/flow) |
| 01:47:31 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
| 01:47:35 | → | jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae) |
| 01:47:55 | × | jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 256 seconds) |
| 01:48:50 | → | justosophy[m] joins (~justosoph@2001:470:69fc:105::572f) |
| 01:49:09 | → | Deide joins (~deide@user/deide) |
| 01:49:16 | → | smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32) |
| 01:49:21 | → | Artem[m] joins (~artemtype@2001:470:69fc:105::75b) |
| 01:49:24 | → | Arathorn joins (~arathorn@2001:470:69fc:105::1f) |
| 01:49:29 | → | jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 01:49:31 | → | Jing joins (~hedgehog@115.207.57.60) |
| 01:49:40 | → | fcortesi joins (~fcortesi@2001:470:69fc:105::f3a9) |
| 01:50:07 | × | Jing quits (~hedgehog@115.207.57.60) (Client Quit) |
| 01:50:35 | → | ParsaAlizadeh[m] joins (~lizadehma@2001:470:69fc:105::1:65a4) |
| 01:50:56 | → | fgaz joins (~fgaz@2001:470:69fc:105::842) |
| 01:52:05 | → | vysn joins (~vysn@user/vysn) |
| 01:55:33 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 01:56:01 | <xcmw> | Is there a comprehensive explanation of how HLS works? |
| 01:56:28 | <xcmw> | Not how to use HLS, but how it is designed. |
| 01:56:38 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 02:00:30 | <ephemient> | % ([] @(), [] @Char) -- EvanR: TypeApplications isn't just for functions |
| 02:00:30 | <yahb> | ephemient: ([],"") |
| 02:00:52 | <EvanR> | :t ('c', []) |
| 02:00:53 | <lambdabot> | (Char, [a]) |
| 02:01:00 | <EvanR> | % :t ('c', []) |
| 02:01:00 | <yahb> | EvanR: (Char, [a]) |
| 02:01:15 | <EvanR> | % :t ('c', []) @Int |
| 02:01:15 | <yahb> | EvanR: ; <interactive>:1:1: error:; * Cannot apply expression of type `(Char, [a0])'; to a visible type argument `Int'; * In the expression: ('c', []) @Int |
| 02:01:29 | <EvanR> | was my problem |
| 02:02:11 | <EvanR> | however, [] *is* a function right? xD |
| 02:02:23 | <EvanR> | oh, no |
| 02:03:37 | × | euandreh quits (~euandreh@2804:14c:33:9fe5:dbd9:529d:8dc9:86b3) (Ping timeout: 240 seconds) |
| 02:04:02 | <ephemient> | > (('c',[]) :: forall a. (Char, [a])) @Int |
| 02:04:03 | <lambdabot> | <hint>:1:37: error: parse error on input ‘@’ |
| 02:04:10 | <ephemient> | % (('c',[]) :: forall a. (Char, [a])) @Int |
| 02:04:10 | <yahb> | ephemient: ('c',[]) |
| 02:04:34 | <EvanR> | oh dang... so there is a difference between |
| 02:04:43 | <EvanR> | (Char,[a]) and forall a . (Char, [a]) |
| 02:05:01 | <ephemient> | the bad thing about typeapplications is it's sensitive to how the type is spelled |
| 02:06:03 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 02:08:45 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 02:09:20 | → | califax- joins (~califax@user/califx) |
| 02:13:00 | × | califax quits (~califax@user/califx) (Ping timeout: 276 seconds) |
| 02:13:00 | califax- | is now known as califax |
| 02:14:04 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 02:14:18 | → | califax joins (~califax@user/califx) |
| 02:14:22 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 02:14:33 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 02:18:03 | → | euandreh joins (~euandreh@2804:14c:33:9fe5:e9b8:ca94:422e:6f77) |
| 02:18:15 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:18:34 | × | kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:19:41 | × | mmhat quits (~mmh@55d4708c.access.ecotel.net) (Quit: WeeChat 3.4) |
| 02:21:09 | × | burnsidesLlama quits (~burnsides@dhcp168-039.wadham.ox.ac.uk) (Remote host closed the connection) |
| 02:21:41 | → | burnsidesLlama joins (~burnsides@client-8-70.eduroam.oxuni.org.uk) |
| 02:22:40 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
| 02:22:40 | × | mikoto-chan quits (~mikoto-ch@194.157.16.89) (Ping timeout: 250 seconds) |
| 02:25:43 | → | neurocyte0917099 joins (~neurocyte@IP-185189140032.dynamic.medianet-world.de) |
| 02:25:43 | × | neurocyte0917099 quits (~neurocyte@IP-185189140032.dynamic.medianet-world.de) (Changing host) |
| 02:25:43 | → | neurocyte0917099 joins (~neurocyte@user/neurocyte) |
| 02:26:02 | × | burnsidesLlama quits (~burnsides@client-8-70.eduroam.oxuni.org.uk) (Ping timeout: 240 seconds) |
| 02:26:08 | × | xff0x quits (~xff0x@2001:1a81:5253:5900:d5e3:e4eb:c9c5:42b2) (Ping timeout: 250 seconds) |
| 02:26:33 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:26:57 | × | Inst quits (~delicacie@2601:6c4:4080:3f80:f860:6cdd:6a70:803a) (Ping timeout: 240 seconds) |
| 02:27:37 | × | neurocyte091709 quits (~neurocyte@user/neurocyte) (Ping timeout: 240 seconds) |
| 02:27:37 | neurocyte0917099 | is now known as neurocyte091709 |
| 02:28:05 | → | xff0x joins (~xff0x@2001:1a81:5294:3100:2847:70a9:c956:fedc) |
| 02:28:17 | × | n3rdy1 quits (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds) |
| 02:28:32 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Remote host closed the connection) |
| 02:29:12 | → | Inst joins (~delicacie@2601:6c4:4080:3f80:6950:167e:fc87:eed1) |
| 02:31:04 | → | vonfry joins (~user@113.74.134.52) |
| 02:32:59 | × | Topsi quits (~Tobias@dyndsl-095-033-018-101.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 02:36:13 | × | kn07_ quits (~kn07_@86.121.166.134) (Quit: Leaving) |
| 02:49:59 | → | SummerSonw joins (~The_viole@203.77.49.232) |
| 02:50:38 | <Inst> | wow, activating no implicit prelude is fun |
| 02:51:06 | × | biog quits (~user1@static.39.160.132.142.clients.your-server.de) (Quit: ZZZzzz…) |
| 02:52:43 | → | biog joins (~user1@static.39.160.132.142.clients.your-server.de) |
| 02:53:49 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 02:56:02 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
| 02:57:32 | × | biog quits (~user1@static.39.160.132.142.clients.your-server.de) (Ping timeout: 240 seconds) |
| 02:57:47 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 02:57:57 | × | waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds) |
| 02:58:58 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 03:02:00 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 03:07:25 | × | wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 240 seconds) |
| 03:07:47 | → | wagle joins (~wagle@quassel.wagle.io) |
| 03:08:26 | <EvanR> | without Prelude how can you write Haskell Poetry |
| 03:09:33 | → | n3rdy1 joins (~n3rdy1@2600:1700:4570:3480::41) |
| 03:12:48 | × | Kaipi quits (~Kaiepi@156.34.47.253) (Read error: Connection reset by peer) |
| 03:12:50 | → | Merfont joins (~Kaiepi@156.34.47.253) |
| 03:14:27 | × | Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
| 03:16:26 | × | Merfont quits (~Kaiepi@156.34.47.253) (Remote host closed the connection) |
| 03:16:34 | → | stiell_ joins (~stiell@gateway/tor-sasl/stiell) |
| 03:16:55 | → | Merfont joins (~Kaiepi@156.34.47.253) |
| 03:20:36 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 276 seconds) |
| 03:22:56 | → | jeremyn joins (~jeremyn@098-147-212-046.res.spectrum.com) |
| 03:23:45 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 03:29:45 | → | Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
| 03:31:12 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
| 03:32:11 | × | khumba quits (~khumba@user/khumba) () |
| 03:32:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:32:53 | × | mud quits (~mud@user/kadoban) (Remote host closed the connection) |
| 03:36:46 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
| 03:38:30 | × | td_ quits (~td@94.134.91.30) (Ping timeout: 250 seconds) |
| 03:40:25 | → | td_ joins (~td@muedsl-82-207-238-062.citykom.de) |
| 03:49:54 | → | pavonia joins (~user@user/siracusa) |
| 03:50:34 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.3) |
| 03:51:16 | → | vysn joins (~vysn@user/vysn) |
| 03:51:49 | × | vysn quits (~vysn@user/vysn) (Client Quit) |
| 03:55:54 | → | mud joins (~mud@user/kadoban) |
| 03:58:16 | × | xcmw quits (~textual@2603-6011-2200-f103-41a9-a2d8-3ebe-048b.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 04:00:44 | → | yauhsien_ joins (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) |
| 04:00:44 | × | yauhsien quits (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Read error: Connection reset by peer) |
| 04:05:06 | → | vysn joins (~vysn@user/vysn) |
| 04:07:09 | → | abrantesasf joins (abrantesas@gateway/vpn/protonvpn/abrantesasf) |
| 04:08:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 04:10:52 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 04:12:30 | × | vonfry quits (~user@113.74.134.52) (Remote host closed the connection) |
| 04:13:09 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 04:13:10 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Quit: Leaving) |
| 04:13:37 | × | n3rdy1 quits (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds) |
| 04:19:57 | × | vglfr quits (~vglfr@46.96.174.100) (Ping timeout: 256 seconds) |
| 04:28:50 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:e879:d91e:f7ac:a5c4) |
| 04:28:55 | × | shapr quits (~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b) (Remote host closed the connection) |
| 04:29:08 | → | shapr joins (~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b) |
| 04:38:25 | × | abrantesasf quits (abrantesas@gateway/vpn/protonvpn/abrantesasf) (Remote host closed the connection) |
| 04:44:32 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 04:56:36 | × | shapr quits (~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b) (Remote host closed the connection) |
| 04:56:49 | → | shapr joins (~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b) |
| 05:00:07 | → | random_ joins (~random@185.219.68.251) |
| 05:00:22 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 05:03:01 | × | random__ quits (~random@185.219.68.251) (Ping timeout: 256 seconds) |
| 05:03:55 | → | spaceseller joins (~spacesell@31.147.205.13) |
| 05:05:15 | × | spaceseller quits (~spacesell@31.147.205.13) (Remote host closed the connection) |
| 05:06:32 | → | ksqsf joins (~user@2001:da8:d800:611:4986:699c:1eb2:95ac) |
| 05:19:02 | × | swistak quits (~swistak@185.21.216.141) (Ping timeout: 250 seconds) |
| 05:19:15 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 05:25:17 | × | jrm quits (~jrm@156.34.249.199) (Ping timeout: 240 seconds) |
| 05:25:38 | → | random__ joins (~random@185.219.68.251) |
| 05:28:31 | × | random_ quits (~random@185.219.68.251) (Ping timeout: 256 seconds) |
| 05:28:49 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:31:07 | → | swistak joins (~swistak@185.21.216.141) |
| 05:33:37 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 05:39:24 | × | cheater quits (~Username@user/cheater) (Ping timeout: 250 seconds) |
| 05:42:54 | → | cheater joins (~Username@user/cheater) |
| 05:44:40 | × | yauhsien_ quits (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 05:45:13 | → | yauhsien joins (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) |
| 05:45:58 | → | fef joins (~thedawn@user/thedawn) |
| 05:47:47 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds) |
| 05:54:23 | × | fef quits (~thedawn@user/thedawn) (Quit: Leaving) |
| 05:55:10 | × | yauhsien quits (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 05:55:14 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 05:55:43 | → | yauhsien joins (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) |
| 06:00:12 | × | yauhsien quits (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
| 06:00:45 | → | yauhsien joins (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) |
| 06:03:17 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 06:05:37 | → | random_ joins (~random@185.219.68.251) |
| 06:08:02 | × | random__ quits (~random@185.219.68.251) (Ping timeout: 240 seconds) |
| 06:13:57 | → | antony joins (~The_viole@203.77.49.232) |
| 06:15:01 | × | antony quits (~The_viole@203.77.49.232) (Client Quit) |
| 06:17:32 | × | SummerSonw quits (~The_viole@203.77.49.232) (Ping timeout: 240 seconds) |
| 06:18:49 | × | drdo quits (~drdo@144.172.69.89) (Quit: Ping timeout (120 seconds)) |
| 06:19:06 | → | drdo joins (~drdo@roach0.drdo.eu) |
| 06:20:00 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 06:21:20 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 06:26:20 | × | yauhsien quits (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 06:26:52 | → | yauhsien joins (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) |
| 06:32:51 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:e879:d91e:f7ac:a5c4) (Remote host closed the connection) |
| 06:33:41 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:8996:1172:d4fe:5f94) |
| 06:34:37 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
| 06:35:24 | × | yauhsien quits (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 06:39:17 | × | Techcable quits (~Techcable@168.235.93.147) (Ping timeout: 240 seconds) |
| 06:39:38 | × | ksqsf quits (~user@2001:da8:d800:611:4986:699c:1eb2:95ac) (Ping timeout: 250 seconds) |
| 06:46:29 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 07:01:33 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 07:02:36 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 07:04:57 | × | yaroot quits (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (Ping timeout: 240 seconds) |
| 07:05:32 | → | yaroot joins (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) |
| 07:11:09 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 07:11:09 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 07:11:09 | → | wroathe joins (~wroathe@user/wroathe) |
| 07:12:08 | → | random__ joins (~random@185.219.68.251) |
| 07:14:19 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 07:14:44 | × | random_ quits (~random@185.219.68.251) (Ping timeout: 250 seconds) |
| 07:15:32 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 07:15:36 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 07:15:46 | × | bollu quits (~bollu@159.65.151.13) (Quit: Ping timeout (120 seconds)) |
| 07:16:07 | → | bollu joins (~bollu@159.65.151.13) |
| 07:18:02 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 07:19:05 | × | raym quits (~raym@user/raym) (Remote host closed the connection) |
| 07:19:24 | → | raym joins (~raym@user/raym) |
| 07:25:51 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 07:27:44 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 07:28:29 | × | akurilin_ quits (uid322841@id-322841.ilkley.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:28:32 | → | jeremyn_ joins (~jeremyn@098-147-212-046.res.spectrum.com) |
| 07:29:25 | × | pieguy128_ quits (~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-56.dsl.bell.ca) (Ping timeout: 240 seconds) |
| 07:29:54 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 07:31:07 | → | random_ joins (~random@185.219.68.251) |
| 07:31:29 | × | jeremyn quits (~jeremyn@098-147-212-046.res.spectrum.com) (Ping timeout: 256 seconds) |
| 07:32:47 | → | Constraintegic joins (~DundiDund@ppp-212-114-229-145.dynamic.mnet-online.de) |
| 07:33:45 | × | random__ quits (~random@185.219.68.251) (Ping timeout: 256 seconds) |
| 07:33:57 | × | shapr quits (~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b) (Ping timeout: 240 seconds) |
| 07:35:27 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds) |
| 07:38:28 | → | img joins (~img@user/img) |
| 07:38:54 | → | vglfr joins (~vglfr@88.155.50.55) |
| 07:43:31 | → | pieguy128 joins (~pieguy128@bras-base-mtrlpq5031w-grc-46-67-70-100-204.dsl.bell.ca) |
| 07:46:53 | × | jeremyn_ quits (~jeremyn@098-147-212-046.res.spectrum.com) (Quit: Leaving) |
| 07:47:41 | → | Deep-Thought joins (~quantum@2001:8003:7937:cf01:485e:bf6c:57df:1e44) |
| 07:48:19 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 07:49:36 | ← | Deep-Thought parts (~quantum@2001:8003:7937:cf01:485e:bf6c:57df:1e44) (Leaving) |
| 07:55:39 | → | max22- joins (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) |
| 07:57:30 | × | nunggu quits (~q@gateway/tor-sasl/nunggu) (Ping timeout: 276 seconds) |
| 07:58:18 | → | lavaman joins (~lavaman@98.38.249.169) |
| 07:59:30 | × | phma quits (~phma@host-67-44-209-85.hnremote.net) (Read error: Connection reset by peer) |
| 08:01:00 | → | phma joins (phma@2001:5b0:215a:8eb8:a1f:83c7:e862:533e) |
| 08:01:42 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:8996:1172:d4fe:5f94) (Remote host closed the connection) |
| 08:02:32 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 08:04:37 | → | nunggu joins (~q@gateway/tor-sasl/nunggu) |
| 08:08:57 | → | Techcable joins (~Techcable@168.235.93.147) |
| 08:11:51 | → | yauhsien joins (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) |
| 08:20:12 | → | bastelfreak joins (~bastelfre@basteles-bastelknecht.bastelfreak.org) |
| 08:24:49 | × | Techcable quits (~Techcable@168.235.93.147) (Remote host closed the connection) |
| 08:29:21 | → | Techcable joins (~Techcable@168.235.93.147) |
| 08:34:19 | → | `2jt joins (~jtomas@10.red-83-58-228.dynamicip.rima-tde.net) |
| 08:35:26 | Arsen_ | is now known as Arsen |
| 08:38:42 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 08:46:57 | → | notzmv joins (~zmv@user/notzmv) |
| 08:48:43 | → | zincy joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) |
| 08:53:55 | → | a6a45081-2b83 joins (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) |
| 08:56:53 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds) |
| 09:00:17 | × | AlainJourez[m] quits (~sherekahn@2001:470:69fc:105::1:4a71) (Quit: You have been kicked for being idle) |
| 09:00:17 | × | Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (Quit: You have been kicked for being idle) |
| 09:00:19 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 09:01:45 | → | ouestbillie joins (~gallup@80.194.85.249) |
| 09:01:45 | × | ouestbillie quits (~gallup@80.194.85.249) (Client Quit) |
| 09:02:29 | → | ksqsf joins (~user@134.209.106.31) |
| 09:05:26 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 09:07:02 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 09:07:14 | → | _ht joins (~quassel@82-168-34-160.fixed.kpn.net) |
| 09:08:16 | → | mastarija joins (~mastarija@2a05:4f46:e0e:5000:9df5:6d4:ee5d:cc89) |
| 09:11:27 | × | mastarija quits (~mastarija@2a05:4f46:e0e:5000:9df5:6d4:ee5d:cc89) (Client Quit) |
| 09:11:47 | × | kaph quits (~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
| 09:12:25 | → | atwm joins (~atwm@19-193-28-81.ftth.cust.kwaoo.net) |
| 09:14:51 | × | nunggu quits (~q@gateway/tor-sasl/nunggu) (Ping timeout: 276 seconds) |
| 09:15:02 | × | pieguy128 quits (~pieguy128@bras-base-mtrlpq5031w-grc-46-67-70-100-204.dsl.bell.ca) (Ping timeout: 240 seconds) |
| 09:15:40 | × | atwm quits (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Remote host closed the connection) |
| 09:16:21 | → | nunggu joins (~q@gateway/tor-sasl/nunggu) |
| 09:17:39 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 09:17:39 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 09:17:42 | allbery_b | is now known as geekosaur |
| 09:17:56 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 09:18:37 | → | atwm joins (~atwm@19-193-28-81.ftth.cust.kwaoo.net) |
| 09:18:39 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 09:19:09 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds) |
| 09:20:52 | → | qeqeqw joins (~qeqeqw3@2001:861:3a04:e320:31ea:a59b:1c06:51f4) |
| 09:22:04 | → | da39a3ee5e6b4b0d joins (~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) |
| 09:23:04 | × | da39a3ee5e6b4b0d quits (~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) (Client Quit) |
| 09:25:27 | → | da39a3ee5e6b4b0d joins (~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) |
| 09:27:11 | → | pieguy128 joins (~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-218.dsl.bell.ca) |
| 09:30:48 | × | ksqsf quits (~user@134.209.106.31) (Ping timeout: 250 seconds) |
| 09:31:30 | × | da39a3ee5e6b4b0d quits (~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:31:53 | → | da39a3ee5e6b4b0d joins (~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) |
| 09:33:06 | → | atwm__ joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net) |
| 09:34:11 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 09:34:33 | × | atwm__ quits (~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Client Quit) |
| 09:35:34 | × | pieguy128 quits (~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-218.dsl.bell.ca) (Ping timeout: 250 seconds) |
| 09:35:49 | → | atwm49 joins (~atwm@2606:54c0:2780:c0::40:16) |
| 09:36:25 | × | atwm quits (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Quit: Palaver https://palaverapp.com) |
| 09:36:42 | atwm49 | is now known as atwm |
| 09:37:18 | × | da39a3ee5e6b4b0d quits (~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) (Ping timeout: 250 seconds) |
| 09:37:27 | → | pieguy128 joins (~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-130.dsl.bell.ca) |
| 09:37:28 | × | atwm quits (~atwm@2606:54c0:2780:c0::40:16) (Client Quit) |
| 09:37:49 | → | atwm joins (~atwm@2606:54c0:2780:c0::40:16) |
| 09:38:25 | × | emad quits (~emad@102.42.146.250) (Ping timeout: 256 seconds) |
| 09:38:43 | × | atwm quits (~atwm@2606:54c0:2780:c0::40:16) (Client Quit) |
| 09:39:58 | → | atwm joins (~atwm@19-193-28-81.ftth.cust.kwaoo.net) |
| 09:42:17 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 252 seconds) |
| 09:49:24 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 09:50:58 | → | chomwitt joins (~chomwitt@2a02:587:dc0b:200:12c3:7bff:fe6d:d374) |
| 09:52:00 | → | Swahili joins (~Swahili@a95-94-208-187.cpe.netcabo.pt) |
| 09:55:31 | dunj3_ | is now known as dunj3 |
| 09:56:48 | × | pieguy128 quits (~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-130.dsl.bell.ca) (Ping timeout: 250 seconds) |
| 09:57:16 | → | coot joins (~coot@89-64-85-93.dynamic.chello.pl) |
| 10:00:42 | → | Jing joins (~hedgehog@240e:390:7c53:a7e1:dc72:6181:1705:c2cc) |
| 10:03:55 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 10:04:32 | → | mmhat joins (~mmh@55d4d469.access.ecotel.net) |
| 10:04:36 | × | sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 250 seconds) |
| 10:05:23 | × | a6a45081-2b83 quits (~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Remote host closed the connection) |
| 10:06:00 | → | kspalaiologos joins (~kspalaiol@user/kspalaiologos) |
| 10:17:37 | → | sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca) |
| 10:19:48 | → | euouae joins (~euouae@user/euouae) |
| 10:20:22 | <euouae> | tomsmeding that was an interesting video explaining finger trees! (https://www.youtube.com/watch?v=ip92VMpf_-A) the only part I didn't understand was the explanation of O(1) amortization |
| 10:21:07 | <euouae> | the only example of amortization I understand (from wikipedia) is of dynamic arrays that double their size when needed; it's an O(n) operation required every n steps and thus an average of O(1) (amortized) |
| 10:21:51 | <euouae> | perhaps the paper explains that part better, I should look into it |
| 10:22:49 | <tomsmeding> | euouae: I didn't watch the video, only read the paper at some point; I'm not sure I got the amortisation argument either, but I don't remember well. The paper is well-written though, so perhaps worth a look. |
| 10:25:56 | <euouae> | got it, thanks |
| 10:30:32 | × | vglfr quits (~vglfr@88.155.50.55) (Ping timeout: 240 seconds) |
| 10:30:54 | × | zer0bitz quits (~zer0bitz@2001:2003:f444:a000:8153:e826:3459:f646) (Read error: Connection reset by peer) |
| 10:35:48 | × | qeqeqw quits (~qeqeqw3@2001:861:3a04:e320:31ea:a59b:1c06:51f4) (Ping timeout: 250 seconds) |
| 10:39:45 | × | zeikuzeta quits (~zeta@2a01cb0c04a54500f006e2422b3c8b06.ipv6.abo.wanadoo.fr) (Quit: WeeChat 3.4) |
| 10:40:08 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds) |
| 10:40:33 | → | epolanski joins (uid312403@id-312403.helmsley.irccloud.com) |
| 10:41:12 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 10:42:02 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 240 seconds) |
| 10:50:34 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 10:51:35 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 10:52:54 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 10:53:34 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 10:54:11 | → | DNH joins (~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) |
| 10:55:01 | × | LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
| 10:55:10 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 10:55:19 | → | vglfr joins (~vglfr@88.155.50.55) |
| 10:55:29 | × | phma quits (phma@2001:5b0:215a:8eb8:a1f:83c7:e862:533e) (Read error: Connection reset by peer) |
| 10:56:54 | → | phma joins (phma@2001:5b0:2172:f858:cd4e:e80c:6117:de1e) |
| 10:57:27 | → | LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao) |
| 11:01:24 | → | alx741 joins (~alx741@157.100.93.160) |
| 11:02:00 | → | kuribas joins (~user@ptr-25vy0i98u111h07lsuf.18120a2.ip6.access.telenet.be) |
| 11:03:52 | → | pretty_d1 joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:04:32 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds) |
| 11:10:24 | × | pretty_d1 quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
| 11:11:19 | → | cosimone joins (~user@93-44-186-112.ip98.fastwebnet.it) |
| 11:11:34 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:16:53 | → | dhil joins (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) |
| 11:17:53 | → | toastloop joins (~toastloop@user/toastloop) |
| 11:21:36 | <kuribas> | I made a parser combinator in clojure, but without limiting backtracking. |
| 11:21:51 | <kuribas> | Wouldn't that be only a problem if the language is ambiguous? |
| 11:22:36 | × | teddyc quits (theodorc@cassarossa.samfundet.no) (Quit: WeeChat 2.3) |
| 11:23:39 | <tomsmeding> | isn't the reason backtracking is avoided at all, usually just performance? |
| 11:23:53 | <tomsmeding> | not having to keep track of where to backtrack to lowers the constant factor |
| 11:24:09 | <kuribas> | well, combinatory explosion is a performance problem. |
| 11:24:18 | <tomsmeding> | assuming the semantics of the parser doesn't change :p |
| 11:24:35 | <tomsmeding> | like, if you parser actually _uses_ backtracking, then you can't just remove support for backtracking from your parser framework |
| 11:25:08 | <tomsmeding> | my first statement was about parser framework implementations, not parsers |
| 11:25:55 | <kuribas> | to get backtracking you need to explicitly enable it with the "try" combinator. |
| 11:26:03 | <tomsmeding> | so, parsec style? |
| 11:26:08 | <tomsmeding> | sounds good |
| 11:27:06 | <kuribas> | no, my parser doesn't need try... |
| 11:27:12 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 11:27:21 | <kuribas> | it will backtrack on "choice". |
| 11:27:37 | × | mvk quits (~mvk@2607:fea8:5cdd:f000::55f8) (Ping timeout: 240 seconds) |
| 11:28:21 | → | emad joins (~emad@156.214.182.157) |
| 11:28:25 | × | toastloop quits (~toastloop@user/toastloop) (Quit: Leaving) |
| 11:28:54 | <kuribas> | tomsmeding: right, I made a framework for parsers in clojure. |
| 11:29:01 | <kuribas> | then implemented a parser on top of it. |
| 11:29:14 | <kuribas> | as I found the existing parsers in clojure quite poor. |
| 11:29:27 | × | kspalaiologos quits (~kspalaiol@user/kspalaiologos) (Quit: Leaving) |
| 11:29:35 | <kuribas> | dispite multiple sources claiming "instaparse is the best parser library of any language". :-P |
| 11:29:44 | <euouae> | nice |
| 11:29:54 | <kuribas> | makes me wonder what clojure guys smoke :-P |
| 11:32:51 | → | qeqeqw joins (~qeqeqw3@2001:861:3a04:e320:31ea:a59b:1c06:51f4) |
| 11:33:26 | → | teddyc joins (theodorc@cassarossa.samfundet.no) |
| 11:35:37 | → | MajorBiscuit joins (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) |
| 11:35:53 | <tomsmeding> | kuribas: re your original question about ambiguous languages: there are non-ambiguous languages where you nevertheless need unlimited lookahead (i.e. backtracking) in order to parse them correctly |
| 11:36:24 | <kuribas> | are they pathological? |
| 11:36:28 | <geekosaur> | isn't haskell one of them these days? |
| 11:37:03 | <tomsmeding> | kuribas: haskell, c++ :p |
| 11:37:16 | <tomsmeding> | some might call c++ pathological |
| 11:37:35 | <tomsmeding> | also English |
| 11:37:35 | <kuribas> | I would definitely call c++ pathological :) |
| 11:39:02 | → | echoreply joins (~echoreply@45.32.163.16) |
| 11:39:22 | <tomsmeding> | wouldn't those clojure people just be monolingual |
| 11:39:24 | × | MajorBiscuit quits (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Client Quit) |
| 11:39:46 | <tomsmeding> | if you don't know better, then what you know is by definition the best |
| 11:40:54 | <kuribas> | maybe they worked with some complicated parser generator in another language. |
| 11:41:17 | <euouae> | or just marketing |
| 11:41:24 | <euouae> | no.1 ... no.1 what? |
| 11:41:41 | <tomsmeding> | "Improved design!" |
| 11:42:27 | → | toastloop joins (~toastloop@user/toastloop) |
| 11:42:28 | × | toastloop quits (~toastloop@user/toastloop) (Excess Flood) |
| 11:42:31 | → | SummerSonw joins (~The_viole@203.77.49.232) |
| 11:45:04 | <Swahili> | Q: Getting started, trying to install Brittany code formatter and it complains about dependency versions. For example "ghc-8.10.7 from stack configuration does not match >=9.0.1 && <9.1". How to install an older version of Brittany so that is compatible to my stack? I've just installed everything through the recommended "ghcup". Thank you! |
| 11:45:41 | <tomsmeding> | Swahili: how area you trying to install brittany? |
| 11:45:47 | <tomsmeding> | s/area/are/ |
| 11:46:02 | <Swahili> | tomsmeding: thanks for looking! Via the cli, on macOS as in> stack install brittany |
| 11:46:30 | <Swahili> | https://paste.sh/Tj9CrCkD#kebgByX4GxDlXCDe8FpPUGBf |
| 11:47:28 | <tomsmeding> | seems brittany is not in the stackage repositories, so stack pulls it from hackage directly, and doesn't make an effort to select a working version or something |
| 11:47:35 | <Swahili> | I'd like to stay in ghc version 8.x, as that's what I got by default; and based in my experience, I rather have something stable when learning. |
| 11:47:37 | × | neurocyte091709 quits (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds) |
| 11:48:14 | <tomsmeding> | Swahili: what is the resolver in your ~/.stack/global-project/stack.yaml ? |
| 11:48:21 | × | max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 250 seconds) |
| 11:48:28 | <geekosaur> | 9.0.2 is stable at this point, but yes, 8.10.7 is still the recommended version |
| 11:48:35 | <Swahili> | tomsmeding: resolver: lts-18.21 |
| 11:49:08 | <Swahili> | geekosaur: thanks for mentioning! For a beginner, I'll stick with 8.x, to avoid having to troubleshoot, just in case. |
| 11:49:26 | <gentauro> | finally got the `HLS` + `emacs` combo to work once again (Y) -> https://imgur.com/a/FidqNbA (Apparently it's no longer enough to just to install: `lsp-mode`, `lsp-ui` and `lsp-haskell`) |
| 11:50:13 | <geekosaur> | stack install brittany-0.13.1.2 ? |
| 11:50:22 | <Swahili> | geekosaur: I'll try ;) |
| 11:50:23 | tomsmeding | was typing the same as geekosaur |
| 11:50:25 | → | neurocyte091709 joins (~neurocyte@IP-185189140032.dynamic.medianet-world.de) |
| 11:50:25 | × | neurocyte091709 quits (~neurocyte@IP-185189140032.dynamic.medianet-world.de) (Changing host) |
| 11:50:25 | → | neurocyte091709 joins (~neurocyte@user/neurocyte) |
| 11:50:29 | <geekosaur> | (later versions dropped support for ghc < 9.0) |
| 11:51:15 | <gentauro> | geekosaur: I had issues with `brittany` (not found on `stackage`). What's the deal with that package? |
| 11:51:17 | <Swahili> | @geekosaur @tomsmeding got an error https://paste.sh/l2UrUoa3#Gl7vuRdePjGKbzTKY_j2LdbF |
| 11:51:17 | <lambdabot> | Unknown command, try @list |
| 11:51:33 | <euouae> | gentauro I think for me it works out of the box using doom-emacs |
| 11:51:46 | <euouae> | I could be wrong |
| 11:51:46 | <Swahili> | I'll add the suggested line to the stack.yaml |
| 11:51:50 | <gentauro> | euouae: hmmmm |
| 11:51:51 | <tomsmeding> | Swahili: try adding two lines to that .stack/global-project/stack.yaml file: 'extra-deps:' and '- data-tree-print-0.1.0.2@sha256:d845e99f322df70e0c06d6743bf80336f5918d5423498528beb0593a2afc1703,1620' |
| 11:52:15 | <tomsmeding> | gentauro: what issues? :p |
| 11:52:31 | <gentauro> | tomsmeding: like "not existing" :P |
| 11:52:31 | <tomsmeding> | it's indeed not on stackage, so stack just pulls the newest version from hackage, which predictably fails |
| 11:52:40 | <gentauro> | xD |
| 11:52:40 | <tomsmeding> | that's an issue with stackage, not brittany |
| 11:52:42 | <tomsmeding> | use cabal :p |
| 11:53:03 | <geekosaur> | gentauro, the onkly issues I know of with brittany are (a) not in stackage (b) dropped support got ghc < 9 in recent versions (0.14 +) |
| 11:53:25 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:53:30 | <Swahili> | tomsmeding: geekosaur going to run it again, here's my stack.yaml https://paste.sh/VdNbhWBP#nAH_9tnqgbeKeTCCHvviSqsM |
| 11:53:51 | <Swahili> | By the way, ghcup installed cabal, if this is solved by using cabal package manager I can do that? |
| 11:53:56 | <tomsmeding> | Swahili: don't need the indent before the - ; if it breaks, try removing the indent |
| 11:54:13 | <geekosaur> | this is part of why I don't like stack, as soon as something isn't in stackage you get to jump through hoops |
| 11:54:22 | <gentauro> | geekosaur: that could be. I'm still on `version 8.10.7` |
| 11:54:39 | <tomsmeding> | Swahili: well 'cabal install brittany' will work, but will build it using your ghcup-installed ghc, not your stack-installed ghc |
| 11:54:53 | <geekosaur> | cabal should automatically pick an older version after seeing the base constraint |
| 11:55:16 | <tomsmeding> | also cabal and stack both cache already-built libraries, but separately, so from a disk usage (and compile time) standpoint, you might want to choose one and stick with that |
| 11:55:23 | <tomsmeding> | otherwise, should work |
| 11:56:15 | <Swahili> | tomsmeding: Ok :) The command is running, seems to be compiling> stack install brittany-0.13.1.2 |
| 11:56:25 | <tomsmeding> | cool |
| 11:57:21 | <Swahili> | I kept the version that I've been recommended. I'd like to understand why and how, so I'm installing the 0.13.1.2 because that's the version that supports ghc 8.x? |
| 11:57:28 | <geekosaur> | yes |
| 11:57:42 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds) |
| 11:57:44 | <geekosaur> | they just dropped support for everything else in 0.14 and later |
| 11:57:50 | <geekosaur> | ghc9 only |
| 11:58:06 | <geekosaur> | I thought that was pretty abrupt but I'm not the brittany maintainer |
| 11:59:06 | <Swahili> | geekosaur: Ok :) Where did you people get the 0.13.1.2 version from? The repo https://github.com/lspitzner/brittany/releases ? Or a better place to check dependencies? |
| 11:59:16 | <tomsmeding> | @hackage brittany |
| 11:59:16 | <lambdabot> | https://hackage.haskell.org/package/brittany |
| 11:59:32 | <geekosaur> | then click back in the version list at the upper right |
| 11:59:34 | <Swahili> | Thank you very much! |
| 11:59:57 | <geekosaur> | escepot I knew already to look at the last in the 0.13 series because I saw the announcement for 0.14 that support for ghc < 9 had been dropped |
| 11:59:57 | <tomsmeding> | (per version you see the 'base' version range, which is the relevant thing here) |
| 12:00:06 | → | lavaman joins (~lavaman@98.38.249.169) |
| 12:00:36 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
| 12:00:38 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 12:01:17 | <Swahili> | The installation process went well it seems, I'll now test. I'm also helping a friend, who's a math teacher to learn haskell, my worries is the troubleshooting around the dev experience. He never coded before but he is into math, so I think he has way more advantages then I do when learning haskell. Hope it goes well! |
| 12:04:01 | × | atwm quits (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 12:04:38 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
| 12:05:07 | × | wre^ quits (~wre@wsip-98-188-242-61.mc.at.cox.net) (Remote host closed the connection) |
| 12:08:11 | → | atwm joins (~atwm@19-193-28-81.ftth.cust.kwaoo.net) |
| 12:08:34 | × | atwm quits (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Client Quit) |
| 12:08:58 | × | neurocyte091709 quits (~neurocyte@user/neurocyte) (Ping timeout: 250 seconds) |
| 12:09:40 | <kuribas> | the dev environment is the least pleasant part of haskell. |
| 12:10:16 | <kuribas> | off any language actually, but there is just much less $$$ in tooling in haskell. |
| 12:11:00 | → | neurocyte091709 joins (~neurocyte@IP-185189140032.dynamic.medianet-world.de) |
| 12:11:00 | × | neurocyte091709 quits (~neurocyte@IP-185189140032.dynamic.medianet-world.de) (Changing host) |
| 12:11:00 | → | neurocyte091709 joins (~neurocyte@user/neurocyte) |
| 12:11:13 | <euouae> | Myself I found it very nice |
| 12:11:24 | <kuribas> | the tooling? |
| 12:11:39 | <euouae> | Haddock is awesome, great unit testing, cabal and stack work nice, of course unstable abi is scary |
| 12:11:54 | <euouae> | I don't know, yeah I thought it's nice |
| 12:11:57 | <kuribas> | euouae: those are fine. |
| 12:12:07 | <Swahili> | kuribas: that makes sense, it's a pity though. |
| 12:12:16 | <euouae> | OK I don't know what you mean then kuribas |
| 12:12:30 | <geekosaur> | yeh, my biggest issue with haskell is how fast the language changes |
| 12:12:35 | <kuribas> | euouae: until you get into a problem. |
| 12:12:40 | <geekosaur> | tolling is okay but then I don';t ask much of it |
| 12:12:57 | <geekosaur> | don't much like IDEs tossing bling in my face all the time, so |
| 12:13:03 | <kuribas> | geekosaur: you mean extensions? |
| 12:13:33 | <geekosaur> | more than just extensions. TypeApplications even when turned off changes parsing a bit (look up how it interacts with as-patterns) |
| 12:14:12 | <geekosaur> | and in 9.x there's a wholesale change in parsing that more or less requires spaces between tokens, because every extension had had its own way of dealing with conflicts like that as-pattern one |
| 12:14:21 | <geekosaur> | or bang patterns or negation or … |
| 12:14:41 | <Swahili> | My first impression is that Hlint, doesn't seem to catch everything; For example, I created a hello-world.hs file and wrote some gibberish like> 34hdsjhj43hjewds..+44 and it's fine, no hints. Is that valid syntax? |
| 12:15:11 | <geekosaur> | hlint is not a syntax engine, it is a semantic engine |
| 12:15:32 | <geekosaur> | if it doesn';t understand it, it just assumes an extension it doesn;t know is in play and goes silent |
| 12:15:35 | <maerwald[m]> | geekosaur: well, we probably going to break base for less interesting reasons than GHC extensions :p |
| 12:15:55 | <maerwald[m]> | Stability seems of low concern in general |
| 12:18:18 | <Swahili> | geekosaur: thought linters did a bit more work and checked the syntax too. |
| 12:18:57 | <euouae> | what's the point of checking haskell syntax though? |
| 12:19:00 | <Swahili> | geekosaur: guess that's more of a language server job |
| 12:19:00 | <geekosaur> | Swahili, linters do check some syntax since they need to know what they're looking at. but syntax is sometimes a wobbly thing, especially in Haskell |
| 12:19:17 | <geekosaur> | we have so many extensions that change syntax |
| 12:19:26 | <Swahili> | Yeh, seems to be better just integrated the language servia in vscode, via an addon |
| 12:24:19 | <xerox> | anybody knows what's :: in this context? https://i.imgur.com/fDDJ9R0.png |
| 12:25:04 | <xerox> | if Γ entails M:A, then what |
| 12:25:17 | <euouae> | why not give more context? |
| 12:28:17 | × | coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 12:28:51 | <tomsmeding> | xerox: probably list cons |
| 12:28:59 | → | meer joins (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) |
| 12:29:06 | <tomsmeding> | hm, that makes no sense with the types |
| 12:29:17 | <tomsmeding> | oh, a type ascription |
| 12:29:18 | <xerox> | oh I get it, it's part of the simply typed lambda calculus they have defined |
| 12:29:23 | <Swahili> | Q: What's the most popular code formatter for Haskell? I've assumed Brittany because of google, but I have not investigated yet. Looking at the Haskell language server document, there are others such as the default ormolu (not sure if I have it installed). Is there a convention in the haskell community? |
| 12:29:24 | <xerox> | indeed |
| 12:29:27 | <tomsmeding> | % :t 4 :: Int -- xerox |
| 12:29:27 | <yahb> | tomsmeding: Int |
| 12:29:36 | <xerox> | 'M :: A' is the thing of type A |
| 12:29:39 | <xerox> | well spotted |
| 12:29:48 | <euouae> | Swahili some don't like to format their code with a formatter |
| 12:29:52 | <tomsmeding> | Swahili: there is no most popular |
| 12:29:53 | <maerwald[m]> | Swahili: no |
| 12:30:02 | <tomsmeding> | and some have this opinion https://twitter.com/comerijn/status/1257804634833420292 |
| 12:30:17 | <Swahili> | Lol :) |
| 12:30:30 | <xerox> | tab key and space key are extremely popular |
| 12:30:49 | <tomsmeding> | tab key mostly used to insert a bunch of spaces |
| 12:31:06 | xerox | nods |
| 12:31:17 | × | Inst quits (~delicacie@2601:6c4:4080:3f80:6950:167e:fc87:eed1) (Ping timeout: 240 seconds) |
| 12:31:27 | <Swahili> | The tweet makes sense, I must say. But when working with other people, is a bit complicated. It's ok to have a convention. Thanks for the suggestions! |
| 12:31:51 | <euouae> | In big projects there should be some document outlining the style, e.g. like the linux kernel |
| 12:32:33 | <maerwald[m]> | Swahili: consistency in formatting helping reading speed of code is a nonsense tale |
| 12:32:42 | <euouae> | but even there they're not strict about it, as the ideas involved are complicated and presentation is more important than consistency |
| 12:33:39 | <Swahili> | indeed |
| 12:33:40 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 12:34:32 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
| 12:35:14 | → | coot joins (~coot@89-64-85-93.dynamic.chello.pl) |
| 12:35:47 | × | meer quits (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds) |
| 12:40:26 | × | coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 12:41:08 | Guest4269 | is now known as mal |
| 12:41:13 | mal | is now known as Guest2660 |
| 12:43:52 | <Swahili> | Sorry about the tabs vs space, but quickly... change my editor to turn tabs to spaces, is that ok? just found this http://urchin.earth.li/~ian/style/haskell.html |
| 12:45:18 | Guest2660 | is now known as lieven |
| 12:45:39 | → | jrm joins (~jrm@156.34.173.250) |
| 12:45:41 | <yushyin> | Swahili: spaces are preferred in haskell source code, so it's ok |
| 12:45:47 | → | Tuplanolla joins (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) |
| 12:45:56 | <Swahili> | yushyin: awesome! |
| 12:48:31 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 12:49:50 | → | rusrushal13 joins (~rusrushal@2409:4056:2005:3f65:c712:45d0:4f32:57a0) |
| 12:51:32 | × | Constraintegic quits (~DundiDund@ppp-212-114-229-145.dynamic.mnet-online.de) (Ping timeout: 240 seconds) |
| 12:52:05 | → | max22- joins (~maxime@2a01cb0883359800f2c7b6135c65b0c9.ipv6.abo.wanadoo.fr) |
| 12:59:56 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 13:02:54 | × | qeqeqw quits (~qeqeqw3@2001:861:3a04:e320:31ea:a59b:1c06:51f4) (Quit: Leaving) |
| 13:04:38 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 13:06:32 | × | max22- quits (~maxime@2a01cb0883359800f2c7b6135c65b0c9.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
| 13:09:13 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 13:09:23 | → | LimeGolem joins (~LimeGolem@82.40.121.143) |
| 13:10:12 | × | DNH quits (~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:12:08 | <Swahili> | Q: What's the workflow like when writing Haskell, I'm thinking about how to get output by watching the source files, compiling and running automatically. Are there tools around this or is this something I need to do own my own? Or in other words, how do you people do? |
| 13:12:40 | <polyphem> | Swahili: ghcid |
| 13:12:53 | <Swahili> | polyphem: nice! thanks for suggesting, I'll check now! |
| 13:14:10 | <Swahili> | Doing this without much thought, so I did> stack install ghcid |
| 13:14:45 | <Swahili> | the reason is that I've done so, for other packages. Which then means, that if I want to use ghcid, I can only do so, if I execute my code by running the stack command?! |
| 13:15:44 | <Swahili> | Interesting, its added into my PATH. So, I run the ghcid locally. |
| 13:16:14 | <Swahili> | So, what exactly is stack tooling for? Thought is a sort of sandbox. |
| 13:17:08 | <geekosaur> | it's moe than a sandbox. the real point of stack is integration with stackage, which is a curated collection of packages known to work together with a specific ghc version |
| 13:17:13 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 13:17:28 | <geekosaur> | so if you stick to stackage for everything then it all Just Works™ |
| 13:18:10 | <geekosaur> | but things start to fall apart as soon as you need something outside of stackage (not counting your own local packages, which presumably you will write to work with the same stackage snapshot) |
| 13:18:30 | <Swahili> | geekosaur: thank you! So, effectively, I should then run ghcid in stack, even though I have it in my local environment. From what I can tell, that'd be> stack exec ghcid foobar.hs |
| 13:18:40 | <geekosaur> | stack exec ghcid ... |
| 13:19:01 | <polyphem> | if you stack install a executable (ghcid) it gets added to your users path and you can use it |
| 13:19:09 | <Swahili> | Althougy, I could do so by running locally> ghcid foobar.hs, but this could fail if theres need for some weird dependency chain etc. In Stack everything should just work! |
| 13:19:27 | <Swahili> | Is this correct, did I get it right? |
| 13:20:47 | <geekosaur> | stack holds all its builds inside itslef, so if you just run ghcid it probably won't be able to build your package. that's what "stack exec" is for, it'll expose the package database stack uses to build your program(s) |
| 13:21:06 | <Swahili> | Thank you :) |
| 13:21:31 | <geekosaur> | part of the sandboxing aspect of stack (and cabal) |
| 13:22:16 | <geekosaur> | stack and cabal take roughly opposite approaches to what and how they sandbox, but both do sandbooxing so you don;t run into problems with multiple projects that have different dependency requirements |
| 13:23:22 | <Swahili> | Why does stack maintainers decide to add to the user path, the stack installs, if the stack sandboxing would avoid common issues? |
| 13:23:32 | <Swahili> | As a nice to have? |
| 13:24:01 | <Swahili> | Suppose that things such as a code formatter, can be useful not just inside the stack environment. Is that it? |
| 13:25:12 | <geekosaur> | yes. plus if all you need is an executable (like ghcid or brittany) then it's pretty silly to add its whole build plan to yours |
| 13:25:31 | <Swahili> | geekosaur: thank you! |
| 13:25:35 | <geekosaur> | so "export" the executable and then you can use it wherever |
| 13:29:08 | → | __monty__ joins (~toonn@user/toonn) |
| 13:32:41 | → | thcp joins (~thadeu_de@189.34.167.124) |
| 13:33:07 | × | LimeGolem quits (~LimeGolem@82.40.121.143) (Quit: Client closed) |
| 13:33:38 | → | dsrt^ joins (~dsrt@wsip-98-188-242-61.mc.at.cox.net) |
| 13:38:48 | × | thcp quits (~thadeu_de@189.34.167.124) (Quit: leaving) |
| 13:40:34 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
| 13:41:49 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 13:51:05 | → | thcp joins (~thadeu_de@189.34.167.124) |
| 13:52:18 | × | thcp quits (~thadeu_de@189.34.167.124) (Quit: leaving) |
| 13:52:43 | → | thcp joins (~thadeu_de@189.34.167.124) |
| 13:52:46 | → | LimeGolem joins (~LimeGolem@82.40.121.143) |
| 13:59:38 | × | thcp quits (~thadeu_de@189.34.167.124) (Quit: leaving) |
| 14:00:37 | → | thcp joins (~thadeu_de@189.34.167.124) |
| 14:02:32 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 240 seconds) |
| 14:05:02 | × | SummerSonw quits (~The_viole@203.77.49.232) (Ping timeout: 240 seconds) |
| 14:05:54 | → | da39a3ee5e6b4b0d joins (~textual@2403:6200:8876:d87e:60ce:1d28:e735:a5fe) |
| 14:06:12 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 14:06:50 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 14:11:00 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 14:11:23 | × | rusrushal13 quits (~rusrushal@2409:4056:2005:3f65:c712:45d0:4f32:57a0) (Ping timeout: 256 seconds) |
| 14:13:28 | × | da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:d87e:60ce:1d28:e735:a5fe) (Quit: Textual IRC Client: www.textualapp.com) |
| 14:13:34 | → | biog joins (~user1@static.39.160.132.142.clients.your-server.de) |
| 14:14:38 | × | neurocyte091709 quits (~neurocyte@user/neurocyte) (Ping timeout: 250 seconds) |
| 14:17:20 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 14:19:20 | → | neurocyte091709 joins (~neurocyte@IP-185189140032.dynamic.medianet-world.de) |
| 14:19:20 | × | neurocyte091709 quits (~neurocyte@IP-185189140032.dynamic.medianet-world.de) (Changing host) |
| 14:19:20 | → | neurocyte091709 joins (~neurocyte@user/neurocyte) |
| 14:19:26 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 14:23:33 | <lechner> | Hi, is ScottyT here a type or a type class, please? https://hackage.haskell.org/package/scotty-0.12/docs/Web-Scotty-Trans.html#v:scottyT |
| 14:24:00 | <geekosaur> | a type |
| 14:24:25 | <geekosaur> | typeclasses are declared with "class", not with "::" |
| 14:25:01 | <geekosaur> | (more correctly with "data" but you'd have to click the "Source" link to see that) |
| 14:25:36 | <lechner> | Is this part of it a type class? (before the =>) (Monad m, MonadIO n) |
| 14:25:47 | <geekosaur> | yes |
| 14:27:05 | <hpc> | and for completeness, scottyT (what was linked) is a function |
| 14:27:14 | <hpc> | click on ScottyT in the type to get its definition |
| 14:27:31 | <hpc> | :P |
| 14:29:06 | <lechner> | what about this scottyT? https://hackage.haskell.org/package/scotty-0.12/docs/Web-Scotty-Internal-Types.html#t:ScottyT |
| 14:29:28 | <hpc> | yep, that's the type |
| 14:29:39 | <hpc> | identifiers in haskell are case-sensitive, so scottyT and ScottyT are very different things |
| 14:29:47 | <lechner> | whoops |
| 14:30:34 | <lechner> | is the lower-case scottyT an "instance"? |
| 14:30:52 | <geekosaur> | it's just a function |
| 14:31:28 | <geekosaur> | instances are declared with "instance" and don't have names;p they have types |
| 14:31:40 | <geekosaur> | s/p// |
| 14:31:53 | <lechner> | can the scottyT function name be reused for other type classes? |
| 14:32:00 | <geekosaur> | no |
| 14:32:13 | <hpc> | scottyT or ScottyT? |
| 14:32:23 | <lechner> | what is the point of the constraint? |
| 14:32:29 | <lechner> | scottyT |
| 14:32:32 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 240 seconds) |
| 14:32:53 | <geekosaur> | it's not even a method, just an ordinary funxtion (see https://hackage.haskell.org/package/scotty-0.12/docs/src/Web.Scotty.Trans.html#scottyT) |
| 14:33:02 | <hpc> | (Monad m, MonadIO n) lets m and n be polymorphic, but you can still use (>>=) and liftIO and such in that function |
| 14:33:04 | <geekosaur> | s/x/c/ |
| 14:33:27 | <hpc> | like if i wrote foo :: Num a => a -> a |
| 14:33:33 | <hpc> | a could be Int, Double, whatever |
| 14:33:38 | <hpc> | as long as it's number-y |
| 14:33:44 | <lechner> | no worries about typos please. i have bigger issues |
| 14:33:53 | <hpc> | and in the definition of foo i get to use addition and such |
| 14:34:18 | <hpc> | but i can't use something like floor, which would be valid if it was Double but not if it was Int |
| 14:34:21 | <hpc> | :t floor |
| 14:34:22 | <lambdabot> | (RealFrac a, Integral b) => a -> b |
| 14:34:25 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 14:34:44 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 14:35:06 | <hpc> | so you can use whatever m you want, as long as there's "instance Monad ThatParticularM" somewhere else |
| 14:36:20 | <geekosaur> | "i have bigger issues" perhaps explain your issue instead of trying to work up to it form the bottom? |
| 14:36:27 | <geekosaur> | *from |
| 14:37:51 | → | SummerSonw joins (~The_viole@203.77.49.232) |
| 14:39:45 | <lechner> | well, aside from my struggles of nomenclature, I would like to add hasql database operations to this scotty router (line 39) https://paste.tomsmeding.com/jaEOaCLj |
| 14:41:10 | <lechner> | i'm staring at this https://bendyworks.com/blog/authentication-via-haskell |
| 14:41:31 | → | Ruit joins (~textual@c-69-248-83-247.hsd1.nj.comcast.net) |
| 14:43:44 | <lechner> | i think i have to pass in an (open?) connection via scottyT |
| 14:44:41 | <lechner> | this is for my open-source website lintian.debian.org |
| 14:44:42 | → | zer0bitz joins (~zer0bitz@2001:2003:f444:a000:5143:664b:aeb1:9527) |
| 14:45:05 | × | Ruit quits (~textual@c-69-248-83-247.hsd1.nj.comcast.net) (Client Quit) |
| 14:47:32 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 14:53:32 | × | Swahili quits (~Swahili@a95-94-208-187.cpe.netcabo.pt) (Remote host closed the connection) |
| 14:54:51 | <euouae> | lechner e.g. you can go here, https://hackage.haskell.org/package/scotty-0.12 and type `s` followed by `scottyT` to see what it is |
| 14:57:59 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 14:57:59 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 14:57:59 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:58:26 | <euouae> | lechner, and maybe this example will help you, https://github.com/err0r500/realworld-app-simple-haskell |
| 14:59:04 | × | euouae quits (~euouae@user/euouae) (Quit: ) |
| 14:59:39 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 14:59:58 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 15:02:57 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 15:04:39 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
| 15:05:00 | × | some02 quits (~cat@h-98-128-128-173.A351.priv.bahnhof.se) (Changing host) |
| 15:05:00 | → | some02 joins (~cat@user/sudden) |
| 15:05:13 | some02 | is now known as sudden |
| 15:05:27 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 15:06:36 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 15:07:07 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 15:07:54 | → | DNH joins (~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) |
| 15:09:44 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 15:09:53 | → | mbuf joins (~Shakthi@122.178.176.76) |
| 15:11:51 | → | fef joins (~thedawn@user/thedawn) |
| 15:14:26 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 15:14:26 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 15:14:26 | → | wroathe joins (~wroathe@user/wroathe) |
| 15:15:32 | × | cosimone quits (~user@93-44-186-112.ip98.fastwebnet.it) (Remote host closed the connection) |
| 15:16:42 | <polyphem> | i am writing this library, and have some typeclasses wich capture interfaces of components that should work together, now i want to add logging with co-log, that is written in final-tagless style , so i think i will "convert" my classes also to final-tagless style to use co-log. In final-taglass libraries should one provide a "default Monad/MonadT to that takes default config environment" ? |
| 15:19:48 | <polyphem> | i guess so |
| 15:21:00 | <geekosaur> | lechner, re passing in a datanbase connection, note that "n" is different from "m", and it's part of the "result". "scottyT" effectively runs within some other monad "n" which is presumably your database's monad |
| 15:21:17 | × | LimeGolem quits (~LimeGolem@82.40.121.143) (Quit: Client closed) |
| 15:21:57 | <geekosaur> | and the only constraint it places on that monad is "MonadIO" so that it can do web I/O |
| 15:22:11 | × | epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:23:34 | × | yauhsien quits (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 15:24:38 | → | yauhsien joins (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) |
| 15:29:45 | × | yauhsien quits (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 15:30:11 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 15:30:30 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 15:35:15 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
| 15:36:58 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 15:37:04 | → | yauhsien joins (~yauhsien@61-231-24-192.dynamic-ip.hinet.net) |
| 15:38:37 | × | FragByte quits (~christian@user/fragbyte) (Quit: Quit) |
| 15:39:32 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 15:40:27 | → | FragByte joins (~christian@user/fragbyte) |
| 15:42:31 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 15:49:01 | <lechner> | yeah, i'm slowy starting to understand those monad connections. what is it called please when the contexts intersect (which is presumably different from the simpler liftIO)? |
| 15:51:03 | <lechner> | or does liftIO also operate on a generic IO monad that was passed in? |
| 15:51:22 | <EvanR> | :t liftIO |
| 15:51:23 | <lambdabot> | MonadIO m => IO a -> m a |
| 15:51:41 | <EvanR> | it lifts an io action into m |
| 15:51:43 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 15:52:38 | <EvanR> | MonadIO monads use IO at some level so it's possible, but may be inconvenient to do manually |
| 15:52:51 | <geekosaur> | the class MonadIO denotes a monad that can lift I/O actions through a monad stack if IO is the base monad, using the "liftIO" function |
| 15:53:22 | <geekosaur> | you would otherwise need to chain "lift" functions together to reach it |
| 15:54:19 | <janus> | how do i search my codebase for ToJSON/FromJSON instances that would have been derivable (without relying on Generic)? |
| 15:54:44 | × | FragByte quits (~christian@user/fragbyte) (Quit: Quit) |
| 15:56:34 | <lechner> | Once someone said to me derisively that in Haskell everything is a monad but, pure parts aside, that's not even correct, is it? Isn't all effectfull programming based on IO (or MonadIO)? |
| 15:58:09 | <geekosaur> | correct, most things are not monads. IO is a monad and thereby mo9st things that use IO are monads or related to monads in some sense, but it's worth keeping in mind that monads are not special. IO is special because it is IO, not because it is a monad |
| 15:58:37 | <geekosaur> | the sole point of IO being a monad is that the monad makes it easier to keep IO actions in the order you wrote them |
| 15:58:58 | <lechner> | yeah i'd like to read that paper |
| 15:58:59 | <geekosaur> | that is, the IO monad instanceenforces sequencing |
| 15:59:18 | <lechner> | was that wadler? |
| 15:59:20 | → | FragByte joins (~christian@user/fragbyte) |
| 15:59:30 | → | xkuru joins (~xkuru@user/xkuru) |
| 15:59:55 | <geekosaur> | not sure which paper you're talking about |
| 16:00:25 | <lechner> | nvm, i think they are from the 1960s |
| 16:00:35 | <geekosaur> | if it's related to monads in Haskell it's probably Wadler; if it's related to monads in programming it may be Møggi |
| 16:01:41 | <lechner> | is there a paper that originally proposed monads as a theoretically sound way to separate effects from pure programming? |
| 16:02:13 | <geekosaur> | that would probably be Møggi |
| 16:02:31 | <geekosaur> | but I couldn't point you to a specific paper |
| 16:03:24 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds) |
| 16:03:45 | <geekosaur> | hm, might be wadler after all. there's only 3 monads with "non-pure" effects in Haskell: IO, ST, STM. all other monads are pure |
| 16:03:45 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 16:03:58 | <geekosaur> | and can be done with pure code, just less conveniently |
| 16:05:45 | <lechner> | are they called pure merely because they cause no effects? imposing an order on execution is still pure? |
| 16:05:59 | <lechner> | or can be? |
| 16:06:26 | <lechner> | ST is for state? |
| 16:07:57 | → | epolanski joins (uid312403@id-312403.helmsley.irccloud.com) |
| 16:08:11 | <EvanR> | a pure function corresponds to a function from math, is always gives the same answers and doesn't depend on invisible context like the clock |
| 16:08:29 | <EvanR> | the word pure has leaked out and all kinds of stuff i haskell is called pure by analogy |
| 16:08:41 | <lechner> | maybe i should read this https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.52.3656&rep=rep1&type=pdf |
| 16:08:50 | <lechner> | state in haskell |
| 16:09:23 | <geekosaur> | ST is a "state thread", it can hide mutability from other pure computations as long as the final result is pure |
| 16:09:55 | <geekosaur> | states are independent of each other, pure code, and mutable code (i.e. IO) |
| 16:09:55 | <lechner> | the amount of thought that went into haskell is simply remarkable |
| 16:11:00 | <EvanR> | yeah secretly using mutable variables in a pure function was not new, but ST uses the type system to make that sound and have it safely fit into haskell |
| 16:11:57 | → | shapr joins (~user@2601:7c0:c37c:46d0:fdf3:f0cd:30b3:4860) |
| 16:13:33 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
| 16:14:13 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 16:16:30 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 16:17:54 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 16:18:00 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
| 16:20:43 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 16:21:50 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) |
| 16:22:13 | × | kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 16:23:43 | → | hololeap joins (~hololeap@user/hololeap) |
| 16:23:47 | <thcp> | \help |
| 16:24:11 | <thcp> | this.quit |
| 16:24:19 | <thcp> | \HELP |
| 16:24:27 | <geekosaur> | "/quit" |
| 16:24:33 | × | thcp quits (~thadeu_de@189.34.167.124) (Quit: leaving) |
| 16:24:43 | <lagash> | Someone's new to IRC.. |
| 16:29:18 | <EvanR> | IRC: still a classic |
| 16:34:56 | <maerwald> | windows IRC |
| 16:36:06 | <EvanR> | C:λProgram Files |
| 16:37:25 | → | max22- joins (~maxime@2a01cb08833598008919a79e2385461f.ipv6.abo.wanadoo.fr) |
| 16:37:58 | → | briandaed joins (~root@185.234.208.208.r.toneticgroup.pl) |
| 16:38:36 | → | cosimone` joins (~user@93-44-186-112.ip98.fastwebnet.it) |
| 16:39:48 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds) |
| 16:42:12 | <hololeap> | does anyone here have any experience using sodium and reflex in a pure haskell context (not ghcjs)? how do they compare? |
| 16:43:39 | <briandaed> | isn't sodium dead? |
| 16:44:13 | <hololeap> | oh, yeah I guess it is |
| 16:44:19 | <briandaed> | :) |
| 16:45:03 | <EvanR> | is it? |
| 16:45:26 | <hololeap> | well, last commit was almost two years ago |
| 16:45:54 | <geekosaur> | lechner, re imposing an order on execution vs. purity, all you need to do is establish a data dependency: "this function depends on the output from that function" |
| 16:45:58 | <geekosaur> | which is 100% pure |
| 16:46:07 | <hololeap> | last commit in the haskell subdirectory is 7 years ago |
| 16:46:09 | <briandaed> | not sure which sodium we are talking about, in reflex context assumed https://hackage.haskell.org/package/sodium |
| 16:46:23 | <hololeap> | right, https://github.com/SodiumFRP/sodium |
| 16:47:05 | <briandaed> | not sure if it was rebranded or incorporated in some other project, assumed dead, maybe too fast |
| 16:47:33 | <EvanR> | there's a forum here where they discuss C# and Scala and I'm confuse |
| 16:48:10 | <`2jt> | Hi, when learning the very basics on 3d, which haskell package for practicing purpose would you suggest? Opengl seems to be the most popular on hackage, but it was last updated in 2019. |
| 16:48:22 | <hololeap> | I was told there was some kind of limitation with reflex in respect to concurrency/parallelism, and that a different style of FRP would overcome this limitation. another library was mentioned, but I don't remember what it was |
| 16:48:59 | <EvanR> | wires? |
| 16:49:08 | <geekosaur> | `2jt, when was the last change to the opengl standard? |
| 16:49:26 | <briandaed> | `2jt you have two options, opengl - crossplatform industry standard or directx tightl bound to ms platforms to which I believe Haskell has no bindings |
| 16:50:17 | <hololeap> | that doesn't ring a bell |
| 16:50:20 | <geekosaur> | the opengl package just wraps the standard opengl primitives, and I am pretty sure those have not changed. and the wrapping is automated and the bugs have been worked out long since, so the only time the package changes is when a new opengl standard has been released |
| 16:50:31 | × | smorgasbord quits (buggy@user/smorgasbord) (Quit: WeeChat 3.3) |
| 16:50:42 | <briandaed> | geekosaur is right https://www.khronos.org/opengl/wiki/History_of_OpenGL it's 2017 |
| 16:51:15 | <`2jt> | What is the difference then between OpenGl and OpenGLRaw, binding vs raw binding? |
| 16:51:42 | <hololeap> | maybe it was dunai |
| 16:51:54 | <EvanR> | OpenGL came first, then ed made `gl' which was just the API directly binded, then OpenGLRaw caught up with their own |
| 16:52:04 | → | Topsi joins (~Tobias@dyndsl-095-033-090-163.ewe-ip-backbone.de) |
| 16:52:14 | <EvanR> | I only used `gl' and it's great |
| 16:53:02 | × | SummerSonw quits (~The_viole@203.77.49.232) (Ping timeout: 240 seconds) |
| 16:53:27 | <hololeap> | there's also gpipe-glfw. I haven't used any of these, but I did look at that one. it seemed advanced |
| 16:53:42 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 16:53:59 | <geekosaur> | OpenGLRaw is the lowest level binding, it just wraps stuff directly and doesn't pretend to be Haskell. OpenGL is a mroe Haskelly interface |
| 16:54:18 | <EvanR> | as haskell as it could attempt to be I guess... |
| 16:54:24 | <geekosaur> | well, yes |
| 16:54:48 | → | mud joins (~mud@user/kadoban) |
| 16:55:03 | → | zaquest joins (~notzaques@5.130.79.72) |
| 16:55:25 | <`2jt> | :) thank you |
| 16:59:42 | <EvanR> | >Haskell - deprecated in favour of Heinrich Apfelmus's Reactive Banana (sodium README) |
| 16:59:53 | <EvanR> | R.I.P. |
| 17:00:10 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds) |
| 17:00:19 | <EvanR> | reactive banana still holding the championship after all this time |
| 17:01:06 | <briandaed> | hats off |
| 17:01:37 | × | sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 240 seconds) |
| 17:01:49 | <EvanR> | haha "deprecated in favor of" |
| 17:02:13 | <EvanR> | like, egyptian president stepping down or something |
| 17:02:29 | <hololeap> | Haskell: deprecated in favor of javascript |
| 17:02:52 | <hololeap> | move along, folks |
| 17:03:33 | <briandaed> | no way, ..., but when I started my "career" it was only browser language, then node happened... who knows |
| 17:04:03 | <hololeap> | we know when to admit defeat |
| 17:05:14 | → | thcp_ joins (~thadeu_de@189.34.167.124) |
| 17:06:04 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 17:06:40 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 17:08:09 | → | coot joins (~coot@89-64-85-93.dynamic.chello.pl) |
| 17:10:20 | → | zebrag joins (~chris@user/zebrag) |
| 17:11:01 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
| 17:16:48 | × | random_ quits (~random@185.219.68.251) (Remote host closed the connection) |
| 17:17:07 | → | random_ joins (~random@185.219.68.251) |
| 17:20:35 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 17:20:40 | <polyphem> | how can i use bracket in a function of type: MonadIO m => m () ? |
| 17:21:55 | <peutri> | there's got to be an adjusted prelude for that somewhere |
| 17:22:12 | <geekosaur> | sounds like MonadBaseControl to me |
| 17:22:25 | <geekosaur> | needs more than just a MonadIO Prelude |
| 17:22:32 | <briandaed> | wouldn't liftIO be enough? |
| 17:23:09 | <peutri> | no, base.bracket expects IO arguments, which liftIO doesn't give you |
| 17:23:57 | <geekosaur> | and you can't just "copy" the contents of the other monads (what do you do with State, for a simple example? and it's worse if it's something like a database connection) |
| 17:24:37 | <geekosaur> | MonadBaseControl deals with this, at the price of complexity (there being no simple ways to deal with this) |
| 17:24:54 | <polyphem> | its actually mor complicatetd, function is really : MonadIO m => a -> (a -> m ()) -> m () |
| 17:25:19 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 17:25:27 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 17:25:36 | <polyphem> | hmm |
| 17:27:06 | → | Constraintegic joins (~DundiDund@ppp-212-114-229-145.dynamic.mnet-online.de) |
| 17:27:20 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 17:27:42 | <polyphem> | i tired to mess around with UnliftIO.Exception's bracket but cant get it to work , and its strange because i previously generalized the function from IO to m , sprinkling liftIOs around |
| 17:30:43 | → | yehoshua[m] joins (~yehoshuay@2001:470:69fc:105::1:593f) |
| 17:31:48 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds) |
| 17:32:14 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 17:32:25 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 17:32:39 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 17:33:27 | <EvanR> | is there a MonadFoo class for doing brackets that your thing should be implementing |
| 17:33:28 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 17:33:37 | <EvanR> | like, MonadCatch ? |
| 17:34:23 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 17:34:28 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 17:35:10 | <polyphem> | EvanR: dont think so |
| 17:35:42 | × | fef quits (~thedawn@user/thedawn) (Remote host closed the connection) |
| 17:35:53 | <EvanR> | MonadError doesn't have it, but this thing MonadMask in `exceptions' package does |
| 17:36:01 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 17:36:10 | → | fef joins (~thedawn@user/thedawn) |
| 17:36:54 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:39:09 | <polyphem> | MonadBaseControl/MonadMask/MonadUnliftIO all have a suitable bracket ... hmm |
| 17:39:45 | <EvanR> | the doc for MonadBaseControl claims that it can save and restore the state of the base monad |
| 17:40:12 | <EvanR> | paraphrasing, but, how does that work with IO xD |
| 17:40:33 | <maerwald> | backup your hard drive to amazon S3 |
| 17:40:52 | <maerwald> | and make a snapshot of the internet |
| 17:40:58 | × | coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 17:41:08 | → | random__ joins (~random@185.219.68.251) |
| 17:41:14 | <EvanR> | ah no... it's the state of the not-base that it saves |
| 17:41:41 | <geekosaur> | right, it;s bracket that i ssupposed to deal with the base |
| 17:41:50 | <geekosaur> | MBC has to deal with the stuff bracket can't |
| 17:43:30 | × | random_ quits (~random@185.219.68.251) (Ping timeout: 250 seconds) |
| 17:43:49 | <polyphem> | i get that moving from IO to MonadIO m as monad i can have the user pass in arbitrary monad stacks that introduce state wich i dont know nothing about and i need to preserve |
| 17:45:32 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 17:45:52 | × | DNH quits (~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:46:39 | <EvanR> | preserve in an intermediate broken state due to error, reset back to what it was before bracket, something else? |
| 17:46:57 | <geekosaur> | whatever the instance determines |
| 17:47:28 | <geekosaur> | a database monad might fr example rollback a transaction |
| 17:49:32 | <polyphem> | its a cacheing system written by me the function is "withCache" and i use bracket to initialize and shut down the Cache and |
| 17:50:08 | <maerwald> | MonadBaseControl is where functional programming started to suck |
| 17:51:02 | <polyphem> | i dont even know if i need to generalize it to a m monad instead of letting it run in IO cause ultimatly its run from main to provide a cache for the inner user IO |
| 17:51:26 | <EvanR> | I was going to say, it's starting to look complicated enough to make haskell appealing to IT, and the barns & noble tech section |
| 17:51:55 | → | alx741 joins (~alx741@157.100.93.160) |
| 17:51:56 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 17:53:18 | <EvanR> | polyphem, https://pbs.twimg.com/media/C8QejJ1VoAAQgDE.jpg |
| 17:54:04 | <polyphem> | hahaha, thats me , there, right now .... nice one |
| 17:54:18 | → | DNH joins (~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) |
| 17:55:10 | × | Jing quits (~hedgehog@240e:390:7c53:a7e1:dc72:6181:1705:c2cc) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:55:10 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 17:55:40 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 17:56:21 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
| 17:59:23 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 18:00:03 | × | dhil quits (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Quit: Leaving) |
| 18:01:12 | × | dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 18:02:13 | → | lavaman joins (~lavaman@98.38.249.169) |
| 18:04:44 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds) |
| 18:05:43 | <thcp_> | https://pbs.twimg.com/media/C8QejJ1VoAAQgDE.jpg |
| 18:06:43 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 18:07:34 | <geekosaur> | yes? |
| 18:07:50 | × | kuribas quits (~user@ptr-25vy0i98u111h07lsuf.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 18:08:03 | <hpc> | not shown: unsafePerformIO . newIORef |
| 18:08:15 | → | johnw joins (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) |
| 18:09:56 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
| 18:10:02 | → | dolio joins (~dolio@130.44.130.54) |
| 18:10:54 | → | econo joins (uid147250@user/econo) |
| 18:12:20 | → | Ruit joins (~textual@c-69-248-83-247.hsd1.nj.comcast.net) |
| 18:13:17 | Ruit | is now known as ShmoSeph |
| 18:13:18 | → | alx741 joins (~alx741@157.100.93.160) |
| 18:13:57 | <zero> | i destilled a recurrent annoyance of mine and am curious about good ways to avoid it. say i have something like the function `f` but i want to avoid all that code duplication, doing something like `g`. how can i make it work (or work around it) ? https://paste.jrvieira.com/1642270216022 |
| 18:14:46 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 18:14:58 | → | deadmarshal joins (~deadmarsh@95.38.231.124) |
| 18:16:11 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds) |
| 18:17:51 | → | meer joins (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) |
| 18:18:25 | → | jgeerds_ joins (~jgeerds@55d4af63.access.ecotel.net) |
| 18:18:30 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:18:39 | × | mbuf quits (~Shakthi@122.178.176.76) (Quit: Leaving) |
| 18:20:25 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 18:20:47 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 18:21:51 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 18:22:15 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 18:23:29 | <zero> | a and b need to be [Int] and [I] depending on x < 3. would RankNTypes be of any help? |
| 18:23:47 | <dolio> | zero: There are multiple ways, depending on the details. |
| 18:24:18 | <dolio> | Oh wait. Your example is more complicated than I thought. |
| 18:24:31 | <dsal> | Is the difference just `f` vs. `id`/ |
| 18:24:57 | <dsal> | Oh, no, I see. |
| 18:25:03 | <geekosaur> | if the type is changing that sounds awfully dependent to me |
| 18:25:04 | → | n3rdy1 joins (~n3rdy1@2600:1700:4570:3480::41) |
| 18:25:12 | <d34df00d> | Nothing awful about that! |
| 18:26:00 | <dsal> | It might be awful. It depends. |
| 18:27:32 | <zero> | hmm :/ |
| 18:27:37 | → | random_ joins (~random@185.219.68.251) |
| 18:27:54 | <dsal> | You might be best off leaving the code clear. |
| 18:28:08 | × | euandreh quits (~euandreh@2804:14c:33:9fe5:e9b8:ca94:422e:6f77) (Ping timeout: 250 seconds) |
| 18:28:47 | <zero> | well this is the simplest i could express it, in a real world scenario f gets very messy |
| 18:29:00 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 250 seconds) |
| 18:30:02 | × | random__ quits (~random@185.219.68.251) (Ping timeout: 240 seconds) |
| 18:31:08 | <dsal> | You could do something like `(fx,fxs) = if x < 3 then (f,id) else (id,f)` |
| 18:31:27 | <dolio> | zero: You can do it with an existential type. |
| 18:32:39 | <dolio> | I think the duplication is kind of illusory, though. |
| 18:33:26 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 18:34:40 | × | jgeerds_ quits (~jgeerds@55d4af63.access.ecotel.net) (Remote host closed the connection) |
| 18:35:28 | <dolio> | Basically you need `data T = forall e. T [e] ([e] -> [I])`. Then you define a value of T based on x<3. |
| 18:35:52 | <dolio> | When x<3 you use `T (f xs) id` and otherwise `T xs f`. |
| 18:38:03 | <zero> | i see. i agree that's messy |
| 18:38:39 | <zero> | dsal: how exaclty would that work? |
| 18:38:55 | <dolio> | You could avoid the additional type by defining an auxiliary polymorphic function. |
| 18:39:15 | → | alx741 joins (~alx741@157.100.93.160) |
| 18:39:42 | <dsal> | zero: I'm not actually trying it, but your two branches seem to differ by where the function is applied. So that would let you define which function applies in each branch at once. |
| 18:39:44 | <dolio> | `g (f xs) id` when x<3, and `g xs f` otherwise. |
| 18:43:08 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 18:43:22 | × | defanor quits (~defanor@tart.uberspace.net) (Quit: .) |
| 18:43:47 | <zero> | i see. thanks |
| 18:44:01 | → | defanor joins (~defanor@tart.uberspace.net) |
| 18:44:25 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 18:45:25 | <zero> | i prefer to keep it simple then |
| 18:47:12 | → | arctor joins (~arctor@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) |
| 18:48:13 | <arctor> | whats the theorem (i cant remember) about where the monad and the applicative dont commute? |
| 18:49:17 | <arctor> | so then you have to specialise the applicative in traverse to just be state for lazyness to work... |
| 18:49:27 | × | thcp_ quits (~thadeu_de@189.34.167.124) (Quit: Lost terminal) |
| 18:49:46 | <arctor> | i think it was something to do with when the tail is wrapped in a monad |
| 18:51:14 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 18:51:18 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:53:05 | <arctor> | the bit i have trouble remembering is how you have to pass the constructor into the applicative, and if this has the monad which doesnt commute with the arbitrary applicative, then you have to get to the end of the traversal to reconstruct everything, but if you can commute the applicative (like when its just state) through the monad, then you can |
| 18:53:05 | <arctor> | kind of reconstruct it in a way that allows lazyness to work |
| 18:53:45 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 18:54:38 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 18:55:30 | → | waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
| 18:55:46 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 18:56:12 | <arctor> | i think i saw a derivation of it somewhere, but without being able to see the code its difficult to understand |
| 18:56:31 | → | kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
| 18:58:19 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 18:58:38 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 18:58:45 | <arctor> | maybe someone knows how to write a traversable instance for ListT (done right) without the superclass constraint that gives a function over its instances to commute the applicative with the monad |
| 18:59:15 | <arctor> | which guarantees lazyness, such as for infinite streams, or when the monad is IO and its a blocking request |
| 19:00:23 | × | deadmarshal quits (~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds) |
| 19:00:38 | → | alx741 joins (~alx741@157.100.93.160) |
| 19:01:25 | × | max22- quits (~maxime@2a01cb08833598008919a79e2385461f.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
| 19:01:52 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Remote host closed the connection) |
| 19:03:10 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
| 19:03:13 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
| 19:03:51 | × | arctor quits (~arctor@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Client closed) |
| 19:04:55 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 19:09:34 | → | fresheyeball joins (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) |
| 19:09:34 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 19:11:24 | → | xb0o2 joins (~xb0o2@user/xb0o2) |
| 19:14:17 | × | n3rdy1 quits (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds) |
| 19:15:10 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:17:08 | → | random__ joins (~random@185.219.68.251) |
| 19:19:42 | × | random_ quits (~random@185.219.68.251) (Ping timeout: 250 seconds) |
| 19:26:35 | → | alx741 joins (~alx741@157.100.93.160) |
| 19:27:23 | → | n3rdy1 joins (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
| 19:28:48 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 19:30:40 | → | pieguy128 joins (~pieguy128@bras-base-mtrlpq5031w-grc-43-67-70-144-105.dsl.bell.ca) |
| 19:31:44 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 19:32:34 | <lechner> | Hi, which module exports the "session" in this line, please? https://github.com/nikita-volkov/hasql-tutorial1/blob/master/library/HasqlTutorial1/Transaction.hs#L14 |
| 19:38:18 | → | max22- joins (~maxime@2a01cb0883359800fd5419c5ccb7ba8b.ipv6.abo.wanadoo.fr) |
| 19:40:22 | <EvanR> | one of those 4, perhaps the one called Session xD |
| 19:40:52 | <EvanR> | if you don't see it, note modules can re-export entire other modules |
| 19:41:10 | <pavonia> | But it's a qualified import |
| 19:41:29 | <EvanR> | SO IT IS |
| 19:42:29 | <pavonia> | Can you use non-qualified identifiers from qualified imports? |
| 19:42:58 | <geekosaur> | no |
| 19:43:07 | <EvanR> | no it must be from one of the other 2 |
| 19:43:08 | <geekosaur> | you'd have to import separately unqualified |
| 19:43:33 | <geekosaur> | they use a different Prelude nbut I'd be surprised if it's there |
| 19:44:05 | → | euandreh joins (~euandreh@2804:14c:33:9fe5:16af:8d6b:42b4:6731) |
| 19:45:29 | <pavonia> | And the 4th one seems to be this module https://hackage.haskell.org/package/hasql-transaction-1.0.1.1/docs/Hasql-Transaction.html |
| 19:47:03 | → | alx741 joins (~alx741@157.100.93.160) |
| 19:47:21 | <pavonia> | lechner: Have you tried loading this example into GHCi and asking it about that function? |
| 19:48:41 | <byorgey> | looks to me like 'session' comes from an older version of the hasql-transaction library: https://hackage.haskell.org/package/hasql-transaction-0.10.0.3/docs/Hasql-Transaction.html#v:session |
| 19:48:50 | → | ville joins (~ville@user/ville) |
| 19:49:00 | <byorgey> | but it's not there in hasql-transaction >= 1 |
| 19:49:13 | geekosaur | was wondering if it was bitrot |
| 19:50:02 | <byorgey> | that tutorial was last changed in 2019 with a commit that says "move to version 0.10" |
| 19:50:42 | <byorgey> | strangely, that commit was made on the exact same day that version 1 of hasql-transaction was uploaded |
| 19:50:59 | <ville> | howdy. any recommendations for project-based haskell books for some half-hearted learning? the result should be some sort of functional program in the end which might keep me more motivated than a more theoretical one |
| 19:51:13 | <geekosaur> | real world haskell? |
| 19:51:13 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 19:51:46 | <geekosaur> | available online; a little dated but if you use the online version and read the comments you'll get the necessary updates |
| 19:52:20 | <geekosaur> | @where rwh |
| 19:52:20 | <lambdabot> | http://www.realworldhaskell.org/blog/ http://book.realworldhaskell.org/read/ |
| 19:53:17 | <ville> | thanks. that seems like a potential book. any others? |
| 19:53:55 | <geekosaur> | I can't think of any off the top of my headm although I think these's some that have you write a calculator as the "final project" |
| 19:54:10 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 19:54:13 | <geekosaur> | @where books |
| 19:54:13 | <lambdabot> | https://www.extrema.is/articles/haskell-books, see also @where LYAH, RWH, YAHT, SOE, HR, PIH, TFwH, wikibook, PCPH, HPFFP, HTAC, TwT, FoP, PFAD, WYAH, non-haskell-books |
| 19:54:26 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 19:54:29 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 19:55:06 | <geekosaur> | hm, DOE is also a little dated I think but you get to use and extend a library that makes music |
| 19:55:13 | <geekosaur> | er, SOE |
| 19:55:24 | <geekosaur> | I think that';s the one at least |
| 19:55:29 | <geekosaur> | @where SOE |
| 19:55:29 | <lambdabot> | "The Haskell School of Expression: Learning Functional Programming through Multimedia" by Paul Hudak in 2000 at <http://www.cs.yale.edu/homes/hudak/SOE/>,<http://haskell.org/soe/> [broken] |
| 19:55:34 | <geekosaur> | yep |
| 19:56:34 | <geekosaur> | no online version though unles there are illicit copies floating around somewhere |
| 19:56:51 | <briandaed> | ville take look at this list also https://www.extrema.is/articles/haskell-books |
| 19:58:16 | × | Merfont quits (~Kaiepi@156.34.47.253) (Remote host closed the connection) |
| 19:58:43 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 19:58:55 | <ville> | ok that's a big list. going to take a moment to see what kind of book each is |
| 19:59:14 | → | Pickchea joins (~private@user/pickchea) |
| 20:00:01 | → | vicfred joins (~vicfred@user/vicfred) |
| 20:00:09 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
| 20:00:27 | → | ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
| 20:01:07 | <ville> | for haskell how relevant is a book from say before-2010 these days? |
| 20:02:14 | <geekosaur> | the language itself has changed only a little. libraries have changed a lot but I think you can still get ghc 6.6 and libraries for it, which would insulate you from most of it |
| 20:03:32 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:03:33 | <briandaed> | ville can you provide more details on what you are going to implement? |
| 20:03:39 | <geekosaur> | (sadly ghcup won't help you there, it doesn't go back far enough to avoid the biggest changes) |
| 20:03:52 | × | ph88 quits (~ph88@2a02:8109:9e00:71d0::7e04) (Quit: Leaving) |
| 20:04:01 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds) |
| 20:04:12 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 20:04:18 | <maerwald> | ghc 6.6 will likely not work on a modern linux distro anyway |
| 20:04:24 | <maerwald> | even 7.10 stopped working on latest ubuntu |
| 20:04:34 | <EvanR> | a time machine can only travel back to the time of the first time machines principle |
| 20:04:59 | × | ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
| 20:05:12 | × | juhp quits (~juhp@128.106.188.82) (Ping timeout: 250 seconds) |
| 20:05:28 | <ville> | briandaed: oh i am not going to implement anything really. just looking at haskell as something to waste some evenings on. hence "half-hearted learning" |
| 20:07:01 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 20:07:37 | → | juhp joins (~juhp@128.106.188.82) |
| 20:07:58 | <briandaed> | ville then I think Hutton may be best, concise and good for learning althought I wouldn't say it's project-based |
| 20:08:32 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 20:09:35 | → | alx741 joins (~alx741@157.100.93.160) |
| 20:09:38 | <ville> | programming in haskell? |
| 20:09:45 | <briandaed> | ville yeah |
| 20:10:16 | <EvanR> | what about write yourself a scheme in 24 hours or whatsitcalled |
| 20:11:05 | <briandaed> | unfortunately didn't read any of theses but read good reviews about 1st of them |
| 20:12:57 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 20:13:30 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection) |
| 20:13:39 | × | fresheyeball quits (~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
| 20:13:45 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) |
| 20:15:01 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 20:16:00 | → | coot joins (~coot@89-64-85-93.dynamic.chello.pl) |
| 20:16:10 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 20:16:35 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 20:16:35 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 20:16:35 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:17:02 | × | vglfr quits (~vglfr@88.155.50.55) (Ping timeout: 240 seconds) |
| 20:19:20 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 20:20:30 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 20:21:01 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 20:22:21 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Read error: Connection reset by peer) |
| 20:22:23 | <ville> | well i'll got some previewing to do. thanks |
| 20:22:25 | ← | ville parts (~ville@user/ville) () |
| 20:22:30 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 20:28:17 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds) |
| 20:28:54 | × | fef quits (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
| 20:29:41 | → | alx741 joins (~alx741@157.100.93.160) |
| 20:31:22 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 20:31:39 | <zero> | half-hearted haskell will waste you more than just some evenings |
| 20:32:02 | × | meer quits (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 240 seconds) |
| 20:35:44 | → | kaph joins (~kaph@net-2-47-208-144.cust.vodafonedsl.it) |
| 20:36:05 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
| 20:41:25 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 20:45:46 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:49:38 | → | alx741 joins (~alx741@157.100.93.160) |
| 20:53:50 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 20:54:48 | × | ShmoSeph quits (~textual@c-69-248-83-247.hsd1.nj.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:55:40 | → | Ruit joins (~textual@c-69-248-83-247.hsd1.nj.comcast.net) |
| 20:58:47 | → | mahene[m] joins (~mahenemat@2001:470:69fc:105::1:6a93) |
| 21:00:32 | × | wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection) |
| 21:00:49 | → | wyrd joins (~wyrd@gateway/tor-sasl/wyrd) |
| 21:06:05 | × | coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 21:08:22 | → | Pickchea joins (~private@user/pickchea) |
| 21:09:12 | × | Ruit quits (~textual@c-69-248-83-247.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
| 21:10:34 | → | alx741 joins (~alx741@157.100.93.160) |
| 21:14:10 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 21:14:31 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:14:51 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 21:17:04 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 21:20:33 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
| 21:20:36 | × | iteratee_ quits (~kyle@162.218.222.107) (Read error: Connection reset by peer) |
| 21:21:04 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 21:21:56 | → | iteratee joins (~kyle@162.218.222.107) |
| 21:22:28 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 21:23:22 | × | xb0o2 quits (~xb0o2@user/xb0o2) (Quit: Client closed) |
| 21:23:31 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 21:25:02 | × | Topsi quits (~Tobias@dyndsl-095-033-090-163.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 21:25:22 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
| 21:26:35 | → | hueso joins (~root@user/hueso) |
| 21:32:11 | → | alx741 joins (~alx741@157.100.93.160) |
| 21:33:36 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:34:55 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 21:38:00 | × | cosimone` quits (~user@93-44-186-112.ip98.fastwebnet.it) (Remote host closed the connection) |
| 21:38:22 | → | val-host joins (~val-host@2a02:2f0f:9108:b00:6891:37fc:a7bd:3738) |
| 21:38:59 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 21:41:35 | × | _ht quits (~quassel@82-168-34-160.fixed.kpn.net) (Remote host closed the connection) |
| 21:42:25 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 21:42:25 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 21:42:25 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:45:18 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 21:48:44 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection) |
| 21:49:07 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) |
| 21:49:12 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
| 21:53:23 | → | alx741 joins (~alx741@157.100.93.160) |
| 21:54:28 | → | burnsidesLlama joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 21:57:49 | → | burnside_ joins (~burnsides@dhcp168-012.wadham.ox.ac.uk) |
| 21:58:22 | × | burnsidesLlama quits (~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection) |
| 22:02:52 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:04:49 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 22:10:46 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
| 22:15:29 | × | `2jt quits (~jtomas@10.red-83-58-228.dynamicip.rima-tde.net) (Ping timeout: 256 seconds) |
| 22:22:56 | → | alx741 joins (~alx741@157.100.93.160) |
| 22:23:41 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection) |
| 22:23:43 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 22:24:51 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 22:25:21 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1)) |
| 22:26:04 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Remote host closed the connection) |
| 22:26:04 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 22:26:28 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 250 seconds) |
| 22:26:54 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 22:28:12 | × | val-host quits (~val-host@2a02:2f0f:9108:b00:6891:37fc:a7bd:3738) (Ping timeout: 250 seconds) |
| 22:29:27 | → | meer joins (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) |
| 22:32:46 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 22:34:42 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 250 seconds) |
| 22:37:18 | → | ensyde joins (~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7) |
| 22:37:23 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 22:39:47 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 22:42:52 | → | hueso joins (~root@user/hueso) |
| 22:42:57 | → | alx741 joins (~alx741@157.100.93.160) |
| 22:46:20 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 22:51:14 | × | briandaed quits (~root@185.234.208.208.r.toneticgroup.pl) (Quit: leaving) |
| 22:57:11 | → | oldsk00l joins (~znc@ec2-18-185-18-199.eu-central-1.compute.amazonaws.com) |
| 22:58:31 | × | zer0bitz quits (~zer0bitz@2001:2003:f444:a000:5143:664b:aeb1:9527) (Read error: Connection reset by peer) |
| 22:58:45 | × | ensyde quits (~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7) (Quit: Leaving) |
| 22:59:04 | → | ensyde joins (~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7) |
| 22:59:31 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Quit: Lost terminal) |
| 22:59:50 | × | ensyde quits (~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7) (Client Quit) |
| 23:00:00 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 23:00:34 | → | ensyde joins (~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7) |
| 23:00:37 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:02:11 | × | epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 23:03:00 | → | hueso joins (~root@user/hueso) |
| 23:03:18 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 23:04:34 | → | alx741 joins (~alx741@157.100.93.160) |
| 23:04:45 | × | hueso quits (~root@user/hueso) (Client Quit) |
| 23:05:24 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Quit: Leaving) |
| 23:05:45 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) |
| 23:06:37 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 23:06:57 | <EvanR> | I suspect that whenever you start printing out infinite lists in ghci, that you have binded to a name with let xs = whatever (no "in"), the list gets consumed and discarded instead of growing in memory |
| 23:07:38 | <EvanR> | maybe it's regenerating the CAF from a seed each time you run a command |
| 23:07:38 | → | hueso joins (~root@user/hueso) |
| 23:09:12 | → | hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4) |
| 23:11:03 | × | hueso quits (~root@user/hueso) (Client Quit) |
| 23:11:32 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
| 23:12:02 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 23:13:45 | × | ysh quits (sid6017@id-6017.ilkley.irccloud.com) (Quit: Connection closed for inactivity) |
| 23:13:59 | → | hueso joins (~root@user/hueso) |
| 23:14:02 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 23:14:41 | × | hueso quits (~root@user/hueso) (Client Quit) |
| 23:17:43 | → | hueso joins (~root@user/hueso) |
| 23:21:31 | × | emad quits (~emad@156.214.182.157) (Quit: Leaving) |
| 23:25:07 | → | random_ joins (~random@185.219.68.251) |
| 23:25:31 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:25:54 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 23:28:01 | × | random__ quits (~random@185.219.68.251) (Ping timeout: 256 seconds) |
| 23:29:06 | → | hueso joins (~root@user/hueso) |
| 23:29:59 | <lechner> | byorgey geekosaur pavonia: thanks! |
| 23:30:17 | → | alx741 joins (~alx741@157.100.93.160) |
| 23:34:08 | <lechner> | geekosaur: this one is legit https://archive.org/details/haskellschoolofe0000huda |
| 23:34:19 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 23:37:08 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 23:41:20 | <lechner> | Hi, is it acceptable to always use 'pure' instead of 'return'? |
| 23:42:04 | × | mmhat quits (~mmh@55d4d469.access.ecotel.net) (Quit: WeeChat 3.4) |
| 23:42:13 | <c_wraith> | unless you're on really old versions of GHC, yes |
| 23:42:28 | → | tzh_ joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 23:44:01 | <zero> | lechner: return is a wart |
| 23:44:02 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Ping timeout: 250 seconds) |
| 23:44:49 | <zero> | you should use pure, and there was even a "Monad of no return" proposal, but i don't know if it went anywhere |
| 23:45:19 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:45:27 | <lechner> | thanks! i really meant from a theoretical/aestethical/whatever angle |
| 23:45:52 | <lechner> | it really does not 'return', does it? |
| 23:46:51 | <zero> | in my opinion it was a misguided attempt at making do notation familiar for people used to imperative languages |
| 23:47:26 | <lechner> | it provided five seconds of comfort |
| 23:47:27 | <zero> | but it really doesn't belng in the Monad class since AMP |
| 23:47:56 | × | hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Quit: Reconnecting) |
| 23:48:20 | → | hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4) |
| 23:48:25 | <c_wraith> | "pure" is a pretty bad name, too |
| 23:48:33 | <zero> | i like it |
| 23:48:41 | <c_wraith> | "neutral" is a much better description of what it does |
| 23:48:50 | <zero> | how so? |
| 23:48:59 | × | hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Client Quit) |
| 23:49:17 | <c_wraith> | all values in Haskell are pure. |
| 23:49:18 | → | hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4) |
| 23:49:27 | <nshepperd> | it should be called 'burrito' |
| 23:49:34 | <c_wraith> | (barring a few unsafe ones) |
| 23:50:16 | <zero> | if you look at it that way |
| 23:51:48 | × | hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Client Quit) |
| 23:52:03 | → | mud joins (~mud@user/kadoban) |
| 23:52:07 | → | hsiktas[m] joins (~hsiktasm]@2001:470:69fc:105::30d4) |
| 23:52:15 | <lechner> | for some, burritos are a point of no return. how about 'unwrap'? |
| 23:52:31 | <zero> | i like pure because i think of it as a "pure value" that can be turned into an arbitrary Functor |
| 23:53:09 | <zero> | so it's like an essence that you can turn into anything |
| 23:53:17 | × | max22- quits (~maxime@2a01cb0883359800fd5419c5ccb7ba8b.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 23:53:28 | × | hsiktas[m] quits (~hsiktasm]@2001:470:69fc:105::30d4) (Client Quit) |
| 23:53:38 | <zero> | neutral is good too |
| 23:53:42 | → | hsiktas[m] joins (~hsiktasm]@2001:470:69fc:105::30d4) |
| 23:53:45 | <zero> | in this sense |
| 23:53:57 | <zero> | whatever, they're just words |
| 23:54:21 | <lechner> | thanks! |
| 23:54:52 | → | alx741 joins (~alx741@157.100.93.160) |
| 23:58:12 | <geekosaur> | I think monad of no return is still pending. there are some backward compatibility things that still need to be done in ghc? |
| 23:58:40 | × | alx741 quits (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
| 23:59:20 | <geekosaur> | because at the moment just removing return from Monad will break a lot of code, so they need a way to mark it as deprecated |
| 23:59:48 | × | oldsk00l quits (~znc@ec2-18-185-18-199.eu-central-1.compute.amazonaws.com) (Remote host closed the connection) |
All times are in UTC on 2022-01-15.