2021-04-13 00:00:21 +0200 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-04-13 00:01:10 +0200 | <monochrom> | That can also be explained by saying "`concurrently_ left right = right` makes a tail call to right". |
2021-04-13 00:01:22 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9561cdce4d77de6ce0bc.dip0.t-ipconnect.de) |
2021-04-13 00:01:40 +0200 | <wz1000> | nope |
2021-04-13 00:02:02 +0200 | <wz1000> | concurrently_ left right = forkIO right >> forkIO left |
2021-04-13 00:02:08 +0200 | <wz1000> | that still doesn't leak |
2021-04-13 00:02:14 +0200 | nilof | (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 260 seconds) |
2021-04-13 00:02:22 +0200 | e | (e@freenode/staff/spy.edk) (Quit: edk) |
2021-04-13 00:03:37 +0200 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2021-04-13 00:04:21 +0200 | araujo | (~araujo@unaffiliated/araujo) (Quit: My laptop has gone to ZZZzzz…) |
2021-04-13 00:04:37 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 00:05:05 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
2021-04-13 00:05:26 +0200 | malumore | (~malumore@151.62.112.168) (Ping timeout: 260 seconds) |
2021-04-13 00:05:35 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 00:07:37 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-13 00:07:44 +0200 | <monochrom> | That can also be explained by saying "forkIO returns promptly, so the model that says the 1st forkIO isn't a tail call (but it returns promptly anyway) and the 2nd forkIO is a tail call still explains the space observation". |
2021-04-13 00:09:07 +0200 | <wz1000> | sounds like epicycles to me |
2021-04-13 00:09:19 +0200 | <monochrom> | Yes I know. What's your replacement? |
2021-04-13 00:09:38 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 246 seconds) |
2021-04-13 00:09:52 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds) |
2021-04-13 00:10:09 +0200 | <wz1000> | reasoning about the behaviour of your program by understanding the operational semantics |
2021-04-13 00:10:10 +0200 | <monochrom> | You have only stated that my model is not good. Where can I find a better model? |
2021-04-13 00:10:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 00:12:43 +0200 | <monochrom> | I have done that. I have also looked at generated code. |
2021-04-13 00:13:15 +0200 | <wz1000> | you don't have a model really. The point of the tail call model in other languages is so you can take one glance at the definition of your recursive function and figure out if it will blow up the stack. It already breaks down when its not purely syntactic anymore and you need to substitute in the definition of all the functions you call |
2021-04-13 00:13:31 +0200 | <monochrom> | I have found that for IO, all that can be safely approximated and/or abstracted to: to execute "x >>= k", make a non-tail call to x, then make a tail call to k. |
2021-04-13 00:17:56 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:c73d) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2021-04-13 00:18:51 +0200 | Althar | (5e039f1a@94.3.159.26) (Quit: Connection closed) |
2021-04-13 00:22:36 +0200 | <monochrom> | I have to know all definitions too in other languages, I would think. In Scheme, I cannot know what happens to (define (f) (g)) until I know that, for example, g is not (define (g) (begin (f) (f))). |
2021-04-13 00:22:38 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection) |
2021-04-13 00:22:55 +0200 | cuz | (~user@38.140.58.234) (Ping timeout: 268 seconds) |
2021-04-13 00:23:00 +0200 | Tops2 | (~Tobias@dyndsl-091-249-083-203.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-04-13 00:23:03 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-13 00:23:28 +0200 | <monochrom> | But what I do know is that in f, the (g) is a tail call. And that in g, the 2nd (f) is a tail call. The Scheme standard forces this. |
2021-04-13 00:24:01 +0200 | <monochrom> | And then suddenly it doesn't look so wrong that I can carry over this model to IO's >>= |
2021-04-13 00:27:09 +0200 | rj | (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
2021-04-13 00:28:14 +0200 | Benzi-Junior | (~BenziJuni@88-149-64-251.du.xdsl.is) (Ping timeout: 265 seconds) |
2021-04-13 00:28:46 +0200 | dxld | (~dxld@rush.pub.dxld.at) (Remote host closed the connection) |
2021-04-13 00:31:22 +0200 | rj | (~x@gateway/tor-sasl/rj) |
2021-04-13 00:31:23 +0200 | dxld | (~dxld@rush.pub.dxld.at) |
2021-04-13 00:32:01 +0200 | michalz | (~user@185.246.204.61) (Remote host closed the connection) |
2021-04-13 00:33:31 +0200 | smatting | (~stefan@p200300cd7708e000958acc65436f5a2e.dip0.t-ipconnect.de) |
2021-04-13 00:33:32 +0200 | liyang | (~liyang@90.255.129.199) |
2021-04-13 00:34:41 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 00:34:54 +0200 | gitgood | (~gitgood@80-44-10-33.dynamic.dsl.as9105.com) (Quit: Probably away to do something really awesome) |
2021-04-13 00:34:57 +0200 | lawid | (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) (Quit: lawid) |
2021-04-13 00:35:28 +0200 | gienah_ | (~mwright@119-18-3-62.771203.syd.nbn.aussiebb.net) |
2021-04-13 00:36:12 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 00:36:46 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:3061:d9b2:32c9:4068) |
2021-04-13 00:37:19 +0200 | lawid | (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) |
2021-04-13 00:38:20 +0200 | gienah | (~mwright@gentoo/developer/gienah) (Ping timeout: 246 seconds) |
2021-04-13 00:38:29 +0200 | son0p | (~ff@181.136.122.143) (Quit: Using Circe, the loveliest of all IRC clients) |
2021-04-13 00:40:16 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Read error: Connection reset by peer) |
2021-04-13 00:40:55 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-13 00:42:02 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-04-13 00:42:39 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 268 seconds) |
2021-04-13 00:43:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 00:44:13 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 00:46:31 +0200 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-04-13 00:48:42 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
2021-04-13 00:52:16 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Remote host closed the connection) |
2021-04-13 00:52:31 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-13 00:52:40 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Remote host closed the connection) |
2021-04-13 00:53:41 +0200 | dmytrish | (~mitra@37.228.247.154) (Ping timeout: 240 seconds) |
2021-04-13 00:55:31 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2021-04-13 00:57:27 +0200 | loller_ | (uid358106@gateway/web/irccloud.com/x-jmeczyzfdqqbsxdy) |
2021-04-13 00:58:31 +0200 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Quit: Leaving) |
2021-04-13 00:58:42 +0200 | Feuermagier | (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
2021-04-13 01:00:00 +0200 | Alleria | (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) |
2021-04-13 01:00:03 +0200 | smatting | (~stefan@p200300cd7708e000958acc65436f5a2e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-04-13 01:00:24 +0200 | Alleria | Guest3055 |
2021-04-13 01:02:44 +0200 | rprije | (~rprije@59-102-63-15.tpgi.com.au) |
2021-04-13 01:04:25 +0200 | Guest3055 | (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) (Ping timeout: 258 seconds) |
2021-04-13 01:04:56 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:f811:9873:2623:c28b) |
2021-04-13 01:05:40 +0200 | <DigitalKiwi> | is it amusing to anyone else that there are 3 mersenne library by dons and 1 by bos and it has more usage than all 3 of dons combined? now we know why bos name is first on the book authors ;p |
2021-04-13 01:06:21 +0200 | <monochrom> | "this shows you who's the boss" |
2021-04-13 01:06:51 +0200 | <monochrom> | But don't get too excited. The mafia obeys the don. |
2021-04-13 01:09:08 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-fsfopwufuwlbuqbr) |
2021-04-13 01:11:44 +0200 | usr25 | (~usr25@unaffiliated/usr25) (Quit: Leaving) |
2021-04-13 01:11:57 +0200 | rj | (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
2021-04-13 01:15:27 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:f811:9873:2623:c28b) (Ping timeout: 260 seconds) |
2021-04-13 01:15:35 +0200 | rj | (~x@gateway/tor-sasl/rj) |
2021-04-13 01:16:24 +0200 | wopas32 | (uid384704@gateway/web/irccloud.com/x-nsunqoqlyntbwalw) |
2021-04-13 01:19:47 +0200 | <edwardk> | All this makes you wonder about Goerzen. |
2021-04-13 01:20:10 +0200 | Clint | squints. |
2021-04-13 01:20:11 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-04-13 01:23:07 +0200 | Synthetica | (uid199651@gateway/web/irccloud.com/x-angnetldjalsgvuz) (Quit: Connection closed for inactivity) |
2021-04-13 01:23:40 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:d34f) |
2021-04-13 01:24:06 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 01:26:45 +0200 | rj | (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
2021-04-13 01:27:03 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-13 01:28:22 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-13 01:30:13 +0200 | haskellstudent | (~quassel@213-225-6-101.nat.highway.a1.net) (Ping timeout: 240 seconds) |
2021-04-13 01:30:22 +0200 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2021-04-13 01:35:41 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9561cdce4d77de6ce0bc.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-04-13 01:39:45 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-04-13 01:46:49 +0200 | aerona | (~aerona@2600:6c54:4600:f300:469c:10f6:fe62:fc1c) (Remote host closed the connection) |
2021-04-13 01:47:06 +0200 | aerona | (~aerona@2600:6c54:4600:f300:469c:10f6:fe62:fc1c) |
2021-04-13 01:49:35 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-04-13 01:55:04 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-13 01:59:33 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-04-13 01:59:52 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-04-13 02:01:44 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 02:04:05 +0200 | <ski> | "It already breaks down when its not purely syntactic anymore" -- this already happens in strict languages, too. see library syntax like e.g. `and',`or' in R⁵RS <https://schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-6.html#%_idx_80>, or the library procedures `any',`every' in SRFI 1 <https://srfi.schemers.org/srfi-1/srfi-1.html#any>, for Scheme |
2021-04-13 02:04:06 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 02:05:21 +0200 | hexfive | (~hexfive@50.35.83.177) |
2021-04-13 02:06:35 +0200 | hexfive | (~hexfive@50.35.83.177) (Client Quit) |
2021-04-13 02:07:18 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
2021-04-13 02:09:57 +0200 | aerona | (~aerona@2600:6c54:4600:f300:469c:10f6:fe62:fc1c) (Remote host closed the connection) |
2021-04-13 02:10:38 +0200 | <ski> | tail calls in Haskell (which one can divide into forcing a computation (parameterized or not), in a tail context; and things like the execution of a invocation of a sub-action (parameterized or not) in a tail context of the execution of the action it's a part of) are still important, albeit not quite as important (relatively speaking) as in strict languages supporting "proper tail recursion"/"tail/last |
2021-04-13 02:10:44 +0200 | <ski> | calls" (either the language itself, or an implementation thereof, supporting it), because of the increased importance of guarded recursion / incremental operations in Haskell |
2021-04-13 02:11:36 +0200 | aerona | (~aerona@2600:6c54:4600:f300:469c:10f6:fe62:fc1c) |
2021-04-13 02:12:01 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-13 02:15:08 +0200 | <ski> | without acknowledging that tail calls are relevant, we can't state that a tail-recursive definition must necessarily lead to a bulky (iow non-incremental) operation (and vice versa). and certain eta-reductions (as involved in the CPS transformation, to explain tail calls), can be quite important for efficiency in Haskell, e.g. for the definition of `(>>=)' for |
2021-04-13 02:15:13 +0200 | <ski> | `Cont'/`ContT'/`Codensity'/`Managed',`State'/`StateT',.. |
2021-04-13 02:17:08 +0200 | <ski> | (well, i suppose by "vice versa", i meant the contrapositive, iow from `TailRecursive -> Not Incremental' to `Incremental -> Not TailRecursive', both being equivalent to `Not (TailRecursive,Incremental)') |
2021-04-13 02:17:42 +0200 | Eoco | (~ian@x-160-94-179-157.acm.umn.edu) (Quit: WeeChat 2.3) |
2021-04-13 02:19:01 +0200 | Eoco | (~ian@x-160-94-179-157.acm.umn.edu) |
2021-04-13 02:19:10 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-13 02:19:45 +0200 | <ski> | and i'm pretty sure tail calls play some rôle in libraries intended to enable fusion of their operations (specifically, for "final summary" operations, which will typically be a loop that drives the computation by forcing the steps of the contained incremental operations) |
2021-04-13 02:21:51 +0200 | infinity0 | (~infinity0@freenet/developer/infinity0) (Ping timeout: 252 seconds) |
2021-04-13 02:31:10 +0200 | infinity0 | (~infinity0@freenet/developer/infinity0) |
2021-04-13 02:33:06 +0200 | dansho | (~dansho@ec2-13-112-45-179.ap-northeast-1.compute.amazonaws.com) (Ping timeout: 240 seconds) |
2021-04-13 02:35:13 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2021-04-13 02:38:00 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) |
2021-04-13 02:40:13 +0200 | dhil | (~dhil@80.208.56.181) (Ping timeout: 240 seconds) |
2021-04-13 02:40:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 02:40:53 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) (Client Quit) |
2021-04-13 02:45:31 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) (Ping timeout: 252 seconds) |
2021-04-13 02:45:44 +0200 | <DigitalKiwi> | edwardk: who? ;) |
2021-04-13 02:46:21 +0200 | <DigitalKiwi> | edwardk: even on the occassions that i remember there is a third author i don't remember the name... |
2021-04-13 02:46:40 +0200 | dariof4 | (~dario@217.171.72.98) (Quit: WeeChat 3.1) |
2021-04-13 02:46:47 +0200 | HannaM | (~quassel@p54849510.dip0.t-ipconnect.de) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-04-13 02:46:59 +0200 | <Axman6> | Turns out that Real World HAskell leads to disappearing into the Faceborg |
2021-04-13 02:47:34 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) |
2021-04-13 02:49:02 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 02:50:15 +0200 | <DigitalKiwi> | ski: see that right there is that why python doesn't have TCO. all of those words that i know a few of... |
2021-04-13 02:51:38 +0200 | <ski> | i could try to elaborate, if there's any particular ones you're wondering about |
2021-04-13 02:52:25 +0200 | <ski> | (not sure about what the lack of TCO (a misnomer) in Python has to do with the above, though) |
2021-04-13 02:54:38 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
2021-04-13 02:55:28 +0200 | <ski> | (sometimes people put forth the argument that proper tail calls interfere with (traditional procedural) debugging. however, i've not seen anyone complain about not being able to see in a stack trace all the previous iterations of a loop (whose execution hasn't ended yet), so i consider this argument to be specious, or at least not sufficiently taking the relevant issues into account) |
2021-04-13 02:56:07 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-13 02:56:28 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 02:57:25 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-13 02:58:05 +0200 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-04-13 02:59:49 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection) |
2021-04-13 03:00:09 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-04-13 03:00:34 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2021-04-13 03:02:19 +0200 | Guest_88 | (708d802a@112-141-128-42.sta.dodo.net.au) |
2021-04-13 03:05:26 +0200 | rajivr | (uid269651@gateway/web/irccloud.com/x-zldwlxmsftsxcrzs) |
2021-04-13 03:06:11 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds) |
2021-04-13 03:08:57 +0200 | Codaraxis_ | (Codaraxis@gateway/vpn/mullvad/codaraxis) |
2021-04-13 03:10:06 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-13 03:10:28 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 03:11:22 +0200 | Guest_88 | (708d802a@112-141-128-42.sta.dodo.net.au) (Quit: Connection closed) |
2021-04-13 03:13:06 +0200 | Codaraxis__ | (~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 268 seconds) |
2021-04-13 03:14:59 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-04-13 03:16:28 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:d34f) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2021-04-13 03:19:56 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 03:20:59 +0200 | xff0x | (~xff0x@2001:1a81:52af:1400:ec8a:b59a:161d:e7ba) (Ping timeout: 260 seconds) |
2021-04-13 03:22:50 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:5af0:6fcf:3010:c4d9) |
2021-04-13 03:24:39 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2021-04-13 03:25:20 +0200 | krkini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 03:25:32 +0200 | wopas32 | (uid384704@gateway/web/irccloud.com/x-nsunqoqlyntbwalw) (Quit: Connection closed for inactivity) |
2021-04-13 03:26:04 +0200 | mud | (~mud@unaffiliated/kadoban) (Quit: bye) |
2021-04-13 03:26:37 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 03:27:20 +0200 | cafce25_ | (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2021-04-13 03:28:20 +0200 | Benzi-Junior | (~BenziJuni@dsl-149-64-251.hive.is) |
2021-04-13 03:28:23 +0200 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-04-13 03:28:39 +0200 | Tario | (~Tario@201.192.165.173) |
2021-04-13 03:29:58 +0200 | <DigitalKiwi> | ski: yeah the debugging argument (GVR) is bs. always was. i think it's a red herring. especially considering how bad the python error messages are that they find acceptable. always seemed more like a "I don't understand this thing but I can't let them know that" |
2021-04-13 03:30:15 +0200 | <DigitalKiwi> | (GVR) gave* |
2021-04-13 03:30:28 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 03:31:27 +0200 | <DigitalKiwi> | https://twitter.com/haskellhutt/status/1308076394417655820 |
2021-04-13 03:32:06 +0200 | <monochrom> | How did Hutton manage to call himself haskellhutt :) |
2021-04-13 03:33:01 +0200 | APic | (apic@apic.name) |
2021-04-13 03:33:03 +0200 | mud | (~mud@unaffiliated/kadoban) |
2021-04-13 03:33:29 +0200 | <monochrom> | Sounds like violin gang vs piano gang |
2021-04-13 03:33:32 +0200 | <DigitalKiwi> | not understanding a thing is fine but sometimes it's really hard for people to allow for the possibility that they are wrong |
2021-04-13 03:34:22 +0200 | <DigitalKiwi> | odersky did that too |
2021-04-13 03:36:11 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
2021-04-13 03:37:21 +0200 | <monochrom> | Perhaps not, I guess violin is difficult from the beginning to the end. |
2021-04-13 03:37:24 +0200 | <DigitalKiwi> | that* not understand a thing but attempt to convince people otherwise |
2021-04-13 03:37:59 +0200 | <DigitalKiwi> | ...and robert martin |
2021-04-13 03:38:10 +0200 | dan64- | (~dan64@dannyadam.com) (Quit: ZNC - http://znc.in) |
2021-04-13 03:38:12 +0200 | Arahael | (~arahael@203.221.197.144) (Ping timeout: 240 seconds) |
2021-04-13 03:38:13 +0200 | <DigitalKiwi> | hmm i'm starting to see a pattern |
2021-04-13 03:38:33 +0200 | dan64 | (~dan64@dannyadam.com) |
2021-04-13 03:39:33 +0200 | poscat | (~poscat@114.245.106.173) (Ping timeout: 240 seconds) |
2021-04-13 03:45:28 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-04-13 03:46:21 +0200 | Arahael | (~arahael@123-243-38-74.tpgi.com.au) |
2021-04-13 03:46:28 +0200 | cansis | (uid90033@gateway/web/irccloud.com/x-ifsukysjwkgufywd) (Quit: Connection closed for inactivity) |
2021-04-13 03:49:29 +0200 | viluon | (uid453725@gateway/web/irccloud.com/x-nfhjdcxtvlbhsvti) (Quit: Connection closed for inactivity) |
2021-04-13 03:49:48 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 03:50:54 +0200 | drbean_ | (~drbean@TC210-63-209-98.static.apol.com.tw) |
2021-04-13 03:52:02 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:d34f) |
2021-04-13 03:52:10 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 03:52:27 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 03:53:09 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:d34f) (Client Quit) |
2021-04-13 03:53:43 +0200 | tmciver | (~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 252 seconds) |
2021-04-13 03:55:43 +0200 | tmciver | (~tmciver@cpe-172-101-40-226.maine.res.rr.com) |
2021-04-13 03:55:59 +0200 | <maralorn> | wz1000: I actually chose that solution exactly because I want every error to bubble up. |
2021-04-13 03:56:17 +0200 | <maralorn> | Have been bitten to much by a crucial worker thread silently dying. |
2021-04-13 03:57:10 +0200 | <maralorn> | But of course I would like to do that without building up pointers to already exited threads in memory. |
2021-04-13 03:58:06 +0200 | ep1ctetus | (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
2021-04-13 04:00:03 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) |
2021-04-13 04:00:06 +0200 | Alleria | (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) |
2021-04-13 04:00:30 +0200 | Alleria | Guest26121 |
2021-04-13 04:00:57 +0200 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 258 seconds) |
2021-04-13 04:01:55 +0200 | <ski> | DigitalKiwi : .. yea :/ |
2021-04-13 04:02:02 +0200 | <ski> | (who's Robert Martin ?) |
2021-04-13 04:03:06 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection) |
2021-04-13 04:03:26 +0200 | <DigitalKiwi> | green orb |
2021-04-13 04:03:34 +0200 | Jajik | (xchlup2@gateway/shell/fi.muni.cz/x-ynaunapgbwfqheim) (Quit: Ping timeout (120 seconds)) |
2021-04-13 04:03:49 +0200 | Jajik | (xchlup2@gateway/shell/fi.muni.cz/x-dnykbukmeewwqznd) |
2021-04-13 04:04:03 +0200 | <DigitalKiwi> | Clean Code |
2021-04-13 04:04:19 +0200 | Guest26121 | (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) (Ping timeout: 250 seconds) |
2021-04-13 04:04:24 +0200 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2021-04-13 04:05:49 +0200 | lawid | (~quassel@ip5b41869c.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2021-04-13 04:06:16 +0200 | <DigitalKiwi> | https://twitter.com/jdan/status/1305170088304300032 lolol |
2021-04-13 04:06:46 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) (Ping timeout: 268 seconds) |
2021-04-13 04:06:52 +0200 | <ski> | <https://en.wikipedia.org/wiki/Robert_C._Martin>, i take it |
2021-04-13 04:06:59 +0200 | <glguy> | It doesn't seem obvious to me that not having an implicit tail call optimization is a misfeature |
2021-04-13 04:07:08 +0200 | <glguy> | not having it and having an explicit tail call both seem valid |
2021-04-13 04:07:30 +0200 | <glguy> | certainly not something that merits insulting the person making the tradeoff |
2021-04-13 04:07:30 +0200 | <DigitalKiwi> | that was the first one that popped up in my browser history for 'unclebob' |
2021-04-13 04:08:52 +0200 | <ski> | having it as an optimization is rather meh, i think |
2021-04-13 04:09:45 +0200 | DigitalKiwi | probably meant TCE not TCO if that makes a difference |
2021-04-13 04:10:09 +0200 | <DigitalKiwi> | stack no blow up ;p |
2021-04-13 04:11:13 +0200 | lawid | (~quassel@2a02:8109:b5c0:5334:265e:beff:fe2a:dde8) |
2021-04-13 04:11:46 +0200 | <ski> | i agree it can be respectable to not have it, or have an explicit notation. (although i prefer having it, implicitly) |
2021-04-13 04:12:42 +0200 | oniijin | (~oniijin@185.204.1.185) (Remote host closed the connection) |
2021-04-13 04:12:59 +0200 | <ski> | (btw, fwiw, it was discovered independently in the logic programming world, under the name "Last Call". e.g. CTM introduces it as a natural consequence of their modelling of the operational/procedural semantics) |
2021-04-13 04:15:36 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 04:16:31 +0200 | lawid | (~quassel@2a02:8109:b5c0:5334:265e:beff:fe2a:dde8) (Ping timeout: 260 seconds) |
2021-04-13 04:22:29 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-04-13 04:25:13 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 04:26:40 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-04-13 04:28:08 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-13 04:31:16 +0200 | <cohn> | 1 |
2021-04-13 04:33:17 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
2021-04-13 04:33:36 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-13 04:34:08 +0200 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-04-13 04:34:27 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 04:38:07 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 250 seconds) |
2021-04-13 04:38:24 +0200 | dcbdan | (~dcbdan@c-73-76-129-120.hsd1.tx.comcast.net) |
2021-04-13 04:43:40 +0200 | conjunctive | (sid433686@gateway/web/irccloud.com/x-ywvgcymrsekezwdb) |
2021-04-13 04:43:47 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-13 04:45:09 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 04:48:04 +0200 | theDon | (~td@muedsl-82-207-238-004.citykom.de) (Ping timeout: 268 seconds) |
2021-04-13 04:49:28 +0200 | theDon | (~td@muedsl-82-207-238-185.citykom.de) |
2021-04-13 04:50:05 +0200 | haya | (~haya@ec2-18-231-117-140.sa-east-1.compute.amazonaws.com) (Read error: Connection reset by peer) |
2021-04-13 04:50:25 +0200 | haya | (~haya@ec2-18-231-117-140.sa-east-1.compute.amazonaws.com) |
2021-04-13 04:51:56 +0200 | FinnElija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-04-13 04:51:56 +0200 | finn_elija | Guest41868 |
2021-04-13 04:51:56 +0200 | FinnElija | finn_elija |
2021-04-13 04:53:08 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-13 04:53:15 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-13 04:55:09 +0200 | Guest41868 | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
2021-04-13 04:56:05 +0200 | danso | (~dan@23-233-111-52.cpe.pppoe.ca) (Ping timeout: 268 seconds) |
2021-04-13 04:57:29 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
2021-04-13 04:58:02 +0200 | xlei | (znc@unaffiliated/xlei) (Quit: ZNC - https://znc.in) |
2021-04-13 04:58:30 +0200 | howdoi | (uid224@gateway/web/irccloud.com/x-wqwlliyoydaqzoui) (Quit: Connection closed for inactivity) |
2021-04-13 04:58:40 +0200 | myShoggoth | (~myShoggot@97-120-72-12.ptld.qwest.net) (Remote host closed the connection) |
2021-04-13 04:59:04 +0200 | myShoggoth | (~myShoggot@97-120-72-12.ptld.qwest.net) |
2021-04-13 05:02:07 +0200 | danso | (~dan@23-233-111-52.cpe.pppoe.ca) |
2021-04-13 05:03:15 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds) |
2021-04-13 05:06:44 +0200 | santiacq | (~santiacq@r186-50-76-54.dialup.adsl.anteldata.net.uy) |
2021-04-13 05:08:47 +0200 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
2021-04-13 05:11:27 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-04-13 05:11:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 05:11:52 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-13 05:14:45 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2021-04-13 05:17:29 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-04-13 05:20:11 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-04-13 05:21:42 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 05:29:05 +0200 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2021-04-13 05:32:19 +0200 | haritz | (~hrtz@unaffiliated/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
2021-04-13 05:32:31 +0200 | haritz | (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) |
2021-04-13 05:32:31 +0200 | haritz | (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host) |
2021-04-13 05:32:31 +0200 | haritz | (~hrtz@unaffiliated/haritz) |
2021-04-13 05:36:11 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving) |
2021-04-13 05:39:26 +0200 | aerona | (~aerona@2600:6c54:4600:f300:469c:10f6:fe62:fc1c) (Remote host closed the connection) |
2021-04-13 05:40:57 +0200 | waleee-cl | (uid373333@gateway/web/irccloud.com/x-laygyesnubfpnshz) (Quit: Connection closed for inactivity) |
2021-04-13 05:45:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 05:46:58 +0200 | petersen | (~petersen@redhat/juhp) |
2021-04-13 05:48:46 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-04-13 05:51:27 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:9f16) |
2021-04-13 05:52:31 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 05:52:45 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:3061:d9b2:32c9:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 05:52:47 +0200 | Codaraxis_ | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Read error: Connection reset by peer) |
2021-04-13 05:53:48 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 05:55:35 +0200 | xlei | (znc@unaffiliated/xlei) |
2021-04-13 05:57:44 +0200 | malumore | (~malumore@151.62.122.89) |
2021-04-13 06:00:10 +0200 | mrchampion | (~mrchampio@38.18.109.23) (Remote host closed the connection) |
2021-04-13 06:00:15 +0200 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
2021-04-13 06:00:18 +0200 | Alleria | (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) |
2021-04-13 06:00:42 +0200 | Alleria | Guest92803 |
2021-04-13 06:00:48 +0200 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) |
2021-04-13 06:04:47 +0200 | Guest92803 | (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) (Ping timeout: 260 seconds) |
2021-04-13 06:07:37 +0200 | ep1ctetus | (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 268 seconds) |
2021-04-13 06:07:59 +0200 | ep1ctetus | (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
2021-04-13 06:09:00 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:48e1:cb11:43e0:9fe6) |
2021-04-13 06:11:34 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:21ac:92a1:db64:4dd2) (Remote host closed the connection) |
2021-04-13 06:11:59 +0200 | malumore_ | (~malumore@151.62.122.89) |
2021-04-13 06:12:02 +0200 | malumore_ | (~malumore@151.62.122.89) (Read error: Connection reset by peer) |
2021-04-13 06:12:54 +0200 | malumore_ | (~malumore@151.62.122.89) |
2021-04-13 06:14:13 +0200 | malumore | (~malumore@151.62.122.89) (Ping timeout: 240 seconds) |
2021-04-13 06:16:18 +0200 | eacameron | (uid256985@gateway/web/irccloud.com/x-nilpnpzcfkqakcso) (Quit: Connection closed for inactivity) |
2021-04-13 06:19:59 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-13 06:20:18 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-13 06:30:09 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 06:38:08 +0200 | N3RGY | (~N3RGY@static-198-54-128-101.cust.tzulo.com) |
2021-04-13 06:45:52 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 268 seconds) |
2021-04-13 06:46:11 +0200 | carlomagno | (~cararell@148.87.23.4) (Quit: Leaving.) |
2021-04-13 06:52:47 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-04-13 07:09:40 +0200 | aVikingTrex | (789a2138@120.154.33.56) |
2021-04-13 07:15:02 +0200 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-04-13 07:16:10 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-13 07:16:17 +0200 | danso | (~dan@23-233-111-52.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
2021-04-13 07:16:40 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds) |
2021-04-13 07:21:45 +0200 | Sgeo_ | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-04-13 07:22:22 +0200 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 260 seconds) |
2021-04-13 07:26:11 +0200 | xkapastel | (uid17782@gateway/web/irccloud.com/x-xevksgpnhxylybkh) (Quit: Connection closed for inactivity) |
2021-04-13 07:27:58 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 07:31:07 +0200 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2021-04-13 07:31:34 +0200 | N3RGY | (~N3RGY@static-198-54-128-101.cust.tzulo.com) () |
2021-04-13 07:33:08 +0200 | pengjiz | (~user@2601:547:902:6d00::2) (Quit: ERC (IRC client for Emacs 27.2)) |
2021-04-13 07:33:09 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2021-04-13 07:33:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-04-13 07:33:49 +0200 | gnumonic | (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) |
2021-04-13 07:38:53 +0200 | myShoggoth | (~myShoggot@97-120-72-12.ptld.qwest.net) (Ping timeout: 268 seconds) |
2021-04-13 07:42:04 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 07:43:07 +0200 | loller_ | (uid358106@gateway/web/irccloud.com/x-jmeczyzfdqqbsxdy) (Quit: Connection closed for inactivity) |
2021-04-13 07:44:46 +0200 | curiousgay | (~gay@178.217.208.8) (Ping timeout: 240 seconds) |
2021-04-13 07:46:45 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:48e1:cb11:43e0:9fe6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 07:47:28 +0200 | APic | (apic@apic.name) (Ping timeout: 252 seconds) |
2021-04-13 07:47:40 +0200 | johannes_ | (~johannes@mue-88-130-62-146.dsl.tropolys.de) |
2021-04-13 07:47:56 +0200 | johannes_ | kenran |
2021-04-13 07:51:11 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-13 07:51:15 +0200 | myShoggoth | (~myShoggot@97-120-72-12.ptld.qwest.net) |
2021-04-13 07:56:55 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-04-13 07:56:56 +0200 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-04-13 07:57:04 +0200 | Tario | (~Tario@201.192.165.173) |
2021-04-13 08:00:04 +0200 | Alleria | (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) |
2021-04-13 08:00:11 +0200 | aVikingTrex | (789a2138@120.154.33.56) (Quit: Connection closed) |
2021-04-13 08:00:29 +0200 | Alleria | Guest30851 |
2021-04-13 08:04:33 +0200 | Guest30851 | (~textual@2603-7000-3040-0000-61e5-3b09-ada8-75b7.res6.spectrum.com) (Ping timeout: 258 seconds) |
2021-04-13 08:06:13 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-04-13 08:06:38 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
2021-04-13 08:07:08 +0200 | chenshen | (~chenshen@2620:10d:c090:400::5:9f16) (Quit: Textual IRC Client: www.textualapp.com) |
2021-04-13 08:08:35 +0200 | michalz | (~user@185.246.204.44) |
2021-04-13 08:09:41 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2021-04-13 08:12:24 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:88d6:eb14:256a:da1) |
2021-04-13 08:13:22 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-04-13 08:15:23 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-13 08:15:39 +0200 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 250 seconds) |
2021-04-13 08:16:04 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-04-13 08:16:37 +0200 | berberman | (~berberman@unaffiliated/berberman) |
2021-04-13 08:17:12 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:88d6:eb14:256a:da1) (Ping timeout: 258 seconds) |
2021-04-13 08:19:53 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
2021-04-13 08:22:41 +0200 | myShoggoth | (~myShoggot@97-120-72-12.ptld.qwest.net) (Ping timeout: 268 seconds) |
2021-04-13 08:23:21 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 265 seconds) |
2021-04-13 08:26:00 +0200 | APic | (apic@apic.name) |
2021-04-13 08:28:13 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 240 seconds) |
2021-04-13 08:29:43 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-13 08:31:25 +0200 | coot | (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
2021-04-13 08:32:50 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 08:38:16 +0200 | Sorny | (~Sornaensi@077213203030.dynamic.telenor.dk) |
2021-04-13 08:39:59 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2021-04-13 08:41:23 +0200 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Excess Flood) |
2021-04-13 08:41:46 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-04-13 08:42:16 +0200 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2021-04-13 08:44:49 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
2021-04-13 08:44:49 +0200 | Sornaensis | (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) |
2021-04-13 08:45:40 +0200 | myShoggoth | (~myShoggot@97-120-72-12.ptld.qwest.net) |
2021-04-13 08:47:11 +0200 | Sorny | (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds) |
2021-04-13 08:47:56 +0200 | kenran | (~johannes@mue-88-130-62-146.dsl.tropolys.de) (Quit: leaving) |
2021-04-13 08:54:41 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-04-13 08:54:45 +0200 | myShoggoth | (~myShoggot@97-120-72-12.ptld.qwest.net) (Ping timeout: 268 seconds) |
2021-04-13 08:55:29 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-13 08:56:14 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) |
2021-04-13 08:57:44 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 08:57:52 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-04-13 09:00:04 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-13 09:00:23 +0200 | rnat2 | (uid73555@gateway/web/irccloud.com/x-blfxzrgdprfecfub) |
2021-04-13 09:02:15 +0200 | graf_blutwurst | (~user@2001:171b:226e:adc0:c021:f7f7:82b:a023) |
2021-04-13 09:03:01 +0200 | myname_ | (~guruchara@188.66.209.54) |
2021-04-13 09:03:15 +0200 | <myname_> | hello |
2021-04-13 09:04:16 +0200 | <myname_> | #haskell-offtopic |
2021-04-13 09:04:49 +0200 | myname_ | (~guruchara@188.66.209.54) (Client Quit) |
2021-04-13 09:05:01 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
2021-04-13 09:06:52 +0200 | BosonCollider | (~olofs@90-227-86-119-no542.tbcn.telia.com) |
2021-04-13 09:07:04 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2021-04-13 09:08:01 +0200 | pohvak | (~pohvak@177.228.72.223) |
2021-04-13 09:08:47 +0200 | hyiltiz | (~quassel@unaffiliated/hyiltiz) (Ping timeout: 265 seconds) |
2021-04-13 09:08:48 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-fsfopwufuwlbuqbr) (Quit: Connection closed for inactivity) |
2021-04-13 09:09:16 +0200 | pohvak | (~pohvak@177.228.72.223) () |
2021-04-13 09:09:54 +0200 | hyiltiz | (~quassel@31.220.5.250) |
2021-04-13 09:09:55 +0200 | hyiltiz | (~quassel@31.220.5.250) (Changing host) |
2021-04-13 09:09:55 +0200 | hyiltiz | (~quassel@unaffiliated/hyiltiz) |
2021-04-13 09:14:31 +0200 | OneFixt | (~OneFixt@217.146.82.202) |
2021-04-13 09:15:59 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) (Ping timeout: 246 seconds) |
2021-04-13 09:17:35 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-13 09:19:38 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2021-04-13 09:20:26 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds) |
2021-04-13 09:21:18 +0200 | Varis | (~Tadas@unaffiliated/varis) |
2021-04-13 09:21:57 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:5af0:6fcf:3010:c4d9) (Ping timeout: 250 seconds) |
2021-04-13 09:22:59 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:6689:c12:7ca5:50eb) |
2021-04-13 09:25:15 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-13 09:31:29 +0200 | bahamas | (~lucian@86.120.22.101) |
2021-04-13 09:31:30 +0200 | bahamas | (~lucian@86.120.22.101) (Changing host) |
2021-04-13 09:31:30 +0200 | bahamas | (~lucian@unaffiliated/bahamas) |
2021-04-13 09:31:51 +0200 | <bahamas> | is there a package that makes it easier to display things in the terminal? |
2021-04-13 09:33:06 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) |
2021-04-13 09:33:40 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2021-04-13 09:35:50 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2021-04-13 09:40:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 09:41:31 +0200 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2021-04-13 09:42:33 +0200 | malumore_ | (~malumore@151.62.122.89) (Ping timeout: 240 seconds) |
2021-04-13 09:42:57 +0200 | srk | (~sorki@unaffiliated/srk) |
2021-04-13 09:43:19 +0200 | KeyJoo | (~KeyJoo@62.176.30.191) |
2021-04-13 09:44:41 +0200 | malumore_ | (~malumore@151.62.122.89) |
2021-04-13 09:45:04 +0200 | <bahamas> | how about a package that I can use to parse an URL in order to get the host? |
2021-04-13 09:49:57 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
2021-04-13 09:52:37 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection) |
2021-04-13 09:53:42 +0200 | <opqdonut> | bahamas: vty for the first, network-uri for the second |
2021-04-13 09:53:56 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 268 seconds) |
2021-04-13 09:54:02 +0200 | <opqdonut> | https://hackage.haskell.org/package/network-uri-2.6.4.1/docs/Network-URI.html#v:parseURI |
2021-04-13 09:54:45 +0200 | <merijn> | I missed the question, vty for what? |
2021-04-13 09:55:14 +0200 | <merijn> | (i.e., maybe brick is more appropriate?) |
2021-04-13 09:55:15 +0200 | <opqdonut> | "is there a package that makes it easier to display things in the terminal?" |
2021-04-13 09:55:38 +0200 | <merijn> | brick :p |
2021-04-13 09:55:43 +0200 | <merijn> | vty is low level |
2021-04-13 09:55:59 +0200 | <merijn> | brick is more of "widgets for terminal UI" library |
2021-04-13 09:55:59 +0200 | <opqdonut> | nice, I hadn't heard of brick |
2021-04-13 09:56:13 +0200 | <merijn> | opqdonut: It's the successor of the (now deprecated) vty-ui |
2021-04-13 09:56:35 +0200 | <merijn> | vty is really intended to be a low level terminal interface |
2021-04-13 09:59:16 +0200 | santiacq | (~santiacq@r186-50-76-54.dialup.adsl.anteldata.net.uy) (Read error: Connection reset by peer) |
2021-04-13 10:00:08 +0200 | santiacq | (~santiacq@r167-60-229-44.dialup.adsl.anteldata.net.uy) |
2021-04-13 10:02:34 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2021-04-13 10:03:35 +0200 | Sgeo_ | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-04-13 10:04:48 +0200 | dhil | (~dhil@80.208.56.181) |
2021-04-13 10:07:20 +0200 | hendursa1 | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-13 10:08:52 +0200 | <bahamas> | opqdonut, merijn thank you! |
2021-04-13 10:08:54 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9561cdce4d77de6ce0bc.dip0.t-ipconnect.de) |
2021-04-13 10:09:57 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
2021-04-13 10:10:25 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Remote host closed the connection) |
2021-04-13 10:10:40 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-13 10:13:08 +0200 | chele | (~chele@78.128.94.174) |
2021-04-13 10:13:14 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:e029:f384:595c:2c74) |
2021-04-13 10:17:57 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:e029:f384:595c:2c74) (Ping timeout: 258 seconds) |
2021-04-13 10:19:41 +0200 | KeyJoo | (~KeyJoo@62.176.30.191) (Ping timeout: 260 seconds) |
2021-04-13 10:21:39 +0200 | mikoto-chan | (~anass@gateway/tor-sasl/mikoto-chan) |
2021-04-13 10:21:42 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 10:21:45 +0200 | malumore_ | (~malumore@151.62.122.89) (Remote host closed the connection) |
2021-04-13 10:22:04 +0200 | malumore_ | (~malumore@151.62.122.89) |
2021-04-13 10:22:56 +0200 | todda7 | (~torstein@athedsl-09242.home.otenet.gr) (Ping timeout: 268 seconds) |
2021-04-13 10:22:58 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 10:24:23 +0200 | drbean_ | (~drbean@TC210-63-209-98.static.apol.com.tw) (Ping timeout: 252 seconds) |
2021-04-13 10:26:14 +0200 | jpe90 | (~user@pool-108-31-85-19.washdc.fios.verizon.net) |
2021-04-13 10:31:08 +0200 | <jpe90> | hi guys, i'm very new to haskell- could someone help me understand why my implementation of the "zip" list function gives an exception for non-exhaustive patterns? https://rextester.com/SVKB21534 |
2021-04-13 10:32:21 +0200 | <Arahael> | jpe90: Which pattern does it match if there are zero elements? |
2021-04-13 10:32:44 +0200 | <Arahael> | jpe90: Remember the three most important numbers: 0, 1, and infinity. |
2021-04-13 10:33:06 +0200 | <merijn> | jpe90: oof... that call to length is pretty bad |
2021-04-13 10:33:33 +0200 | <merijn> | That function as written now is gonna be something, like O(n^3) or something |
2021-04-13 10:33:57 +0200 | timCF | (~i.tkachuk@200-149-20-81.sta.estpak.ee) |
2021-04-13 10:34:47 +0200 | <merijn> | jpe90: Anyway, you patterns already check that the lists are non-empty, so the length call is redundant |
2021-04-13 10:35:12 +0200 | todda7 | (~torstein@athedsl-09242.home.otenet.gr) |
2021-04-13 10:35:47 +0200 | <jpe90> | oh okay I wasn't understanding the pattern mechanism |
2021-04-13 10:36:13 +0200 | <jpe90> | still wrapping my head around the basics |
2021-04-13 10:36:27 +0200 | <timCF> | Hello! Can anybody suggest correct way to compose `ExceptT` with other transformers, for example `SqlPersistT` from Persistent/Equeleto package? For example I have SQL procedure of type `SqlPersistT m (Either a b)` but I don't want to do bind+case boilerplate and operate inside `ExceptT` context as well. |
2021-04-13 10:37:10 +0200 | <Arahael> | jpe90: You have only one pattern - but two guards. |
2021-04-13 10:37:19 +0200 | <Arahael> | jpe90: And the guards are what's expensive here. |
2021-04-13 10:37:53 +0200 | <jpe90> | right, and in that pattern i'm implicitly stating that (x:xs) and (y:ys) are non null, is that correct? which is probably a mistake? |
2021-04-13 10:37:56 +0200 | <merijn> | timCF: The correct way to compose anything with SqlPersistT requires a thorough study of the persistent codebase >.> |
2021-04-13 10:37:57 +0200 | thc202 | (~thc202@unaffiliated/thc202) |
2021-04-13 10:38:02 +0200 | <merijn> | jpe90: Not implicitly, explicitly :p |
2021-04-13 10:38:16 +0200 | <jpe90> | haha got it |
2021-04-13 10:38:34 +0200 | <merijn> | jpe90: You pattern match on constructors, lists have 2 constructors [] (i.e., empty list) and : (i.e. a first element and remainder) |
2021-04-13 10:40:10 +0200 | <jpe90> | so i should probably just add pattern matches for empty lists in either positiona nd get rid of the guards |
2021-04-13 10:40:19 +0200 | <merijn> | jpe90: So your pattern currently only handle the case where both lists are non-empty |
2021-04-13 10:40:24 +0200 | <merijn> | jpe90: Yeah |
2021-04-13 10:40:30 +0200 | <timCF> | merijn: let's say for simplicity - it's just some isomorphic generic transformer `trans m (Either a b)`. You are saying there is no true correct way to get rid of `Either` and mix `trans` capabilities with `ExceptT`? |
2021-04-13 10:41:00 +0200 | <merijn> | jpe90: Side-note: "length" is O(n) (because lists are linked lists and you need to walk the entire thing to find out the length) so you wanna avoid that whenever possible |
2021-04-13 10:41:28 +0200 | <merijn> | timCF: In general you'd probably want |
2021-04-13 10:41:30 +0200 | <merijn> | @hackage mmorph |
2021-04-13 10:41:30 +0200 | <lambdabot> | https://hackage.haskell.org/package/mmorph |
2021-04-13 10:41:48 +0200 | <merijn> | But I'd be super paranoid about mixing that with SqlPersistT |
2021-04-13 10:42:06 +0200 | <merijn> | Because that's gonna make reasoning about transactions super hard |
2021-04-13 10:42:11 +0200 | DavidEichmann | (~david@47.27.93.209.dyn.plus.net) |
2021-04-13 10:43:19 +0200 | <timCF> | merijn: you mean that in some cases I want to rollback in case of `Left` but in some other cases it make sense to continue transaction? |
2021-04-13 10:43:35 +0200 | Pickchea | (~private@unaffiliated/pickchea) |
2021-04-13 10:43:48 +0200 | <jpe90> | merijn: gotcha.. this seems to work and is hopefully better https://rextester.com/KWIHZ83934 |
2021-04-13 10:43:58 +0200 | <timCF> | merijn: and blindly mixing SqlPersistT with ExceptT will not give me ability to make these decisions? |
2021-04-13 10:44:14 +0200 | <merijn> | timCF: Well, suppose you end up with "SqlPersistT (ExceptT e m) a" or "ExceptT e (SqlPersistT m) a" do you know what kinda short-circuiting happens when you run them? |
2021-04-13 10:44:36 +0200 | <merijn> | If you hit Left, will you skip all the remaining queries and then commit? Or will you bail out? Or...? |
2021-04-13 10:44:51 +0200 | <merijn> | jpe90: Yeah, that looks about right |
2021-04-13 10:44:59 +0200 | <jpe90> | alright cool thanks guys |
2021-04-13 10:45:11 +0200 | <Arahael> | merijn: Talking about jpe90's example, I usually organise those patterns the opposite way - but does that have an impact on performance? |
2021-04-13 10:45:11 +0200 | <merijn> | jpe90: You can make it slightly shorter |
2021-04-13 10:45:31 +0200 | <jpe90> | oh yeah? how so |
2021-04-13 10:45:39 +0200 | <merijn> | jpe90: https://paste.tomsmeding.com/McvKOmVR |
2021-04-13 10:45:48 +0200 | <timCF> | merijn: thanks! |
2021-04-13 10:45:59 +0200 | <jpe90> | oh i see |
2021-04-13 10:46:02 +0200 | <merijn> | jpe90: Consider this: When the first case (both non-empty) fails, then at least 1 of the two must be empty |
2021-04-13 10:46:19 +0200 | <merijn> | And you don't have to care which |
2021-04-13 10:46:41 +0200 | <jpe90> | right that makes sense |
2021-04-13 10:46:57 +0200 | <Arahael> | That's also why I typically order them the other way. :) Just wondering if there's a performance implication here, too. |
2021-04-13 10:47:19 +0200 | <jpe90> | ah so you're saying you like to put failure patterns after success patterns in general |
2021-04-13 10:47:40 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-13 10:48:01 +0200 | <merijn> | jpe90: If you have only 1 failure result, you can write things for the happy path and then handle all the failures at once |
2021-04-13 10:48:24 +0200 | <merijn> | jpe90: I'm not sure I'd recommend that "in general", it can make sense to handle (some) failures first |
2021-04-13 10:48:48 +0200 | <merijn> | But patterns are checked "top to bottom", so smart ordering can make code a lot cleaner/simpler |
2021-04-13 10:52:36 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) (Ping timeout: 246 seconds) |
2021-04-13 10:54:54 +0200 | <ski> | Arahael : yes (and strictness) |
2021-04-13 10:55:07 +0200 | <Arahael> | ski: Makes sense. |
2021-04-13 10:55:51 +0200 | <Arahael> | jpe90: Btw, you can enable a compiler option to make any non-total function result in a warning when you compile. |
2021-04-13 10:55:59 +0200 | <merijn> | Arahael: No you can't |
2021-04-13 10:56:00 +0200 | <ski> | with the recursive case first, as in merijn's paste, `zip [] _|_' is `[]'. with the recursive case last, it would be `_|_' |
2021-04-13 10:56:11 +0200 | <Arahael> | jpe90: So that your function should not have to fail at runtime for i to... Oh, you can't, merijn? |
2021-04-13 10:56:11 +0200 | <merijn> | Arahael: You can make incomplete patterns a warning |
2021-04-13 10:56:21 +0200 | <Arahael> | Ah - there's a difference? |
2021-04-13 10:56:25 +0200 | <merijn> | Arahael: I dunno, did you solve the Halting problem? |
2021-04-13 10:56:34 +0200 | <merijn> | :p |
2021-04-13 10:56:50 +0200 | <Arahael> | merijn: Ok, so my understanding of what "total" meant is slightly incorrect, then. |
2021-04-13 10:57:02 +0200 | <merijn> | Arahael: A total function is one that is guaranteed to terminate, so you gotta rule out non-termination to know if something is total :) |
2021-04-13 10:57:10 +0200 | <Arahael> | Ah, indeed. |
2021-04-13 10:57:13 +0200 | ski | . o O ( `-Wincomplete-patterns',`-Wincomplete-uni-patterns',`-Wincomplete-record-updates' ) |
2021-04-13 10:58:41 +0200 | <merijn> | Or just -Wall :p |
2021-04-13 10:59:16 +0200 | <jpe90> | yeah I think i've got flycheck with -Wall and hlint set up |
2021-04-13 10:59:21 +0200 | <ski> | but that's less fun to say :) |
2021-04-13 10:59:46 +0200 | <jpe90> | they complain to me often |
2021-04-13 10:59:48 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) |
2021-04-13 11:00:36 +0200 | <Arahael> | I *love* hlint |
2021-04-13 11:01:09 +0200 | <merijn> | I like that GHC actually makes -Wall be "everything, except the *really* questionable warnings", unlike gcc, where -Wall is, like, one third of the important warnings >.> |
2021-04-13 11:01:35 +0200 | <jpe90> | yeah i really like hlint too, it's good for catching bad habits early on |
2021-04-13 11:02:41 +0200 | <jpe90> | it would be cool if there was a "you're using excessive parens where you could use $" option, still trying to work on using that operator properly |
2021-04-13 11:03:47 +0200 | <merijn> | word of warning |
2021-04-13 11:03:53 +0200 | <merijn> | hlint is not gospel |
2021-04-13 11:04:30 +0200 | <merijn> | It's basically "the opinion of the author", which may or may not (depending on the specific rule) widely accepted by everyone else |
2021-04-13 11:04:49 +0200 | <ski> | hlint is opinionated |
2021-04-13 11:05:32 +0200 | <jpe90> | any rules in particular you'd suggest disabling or should i just decide on my own down the road |
2021-04-13 11:05:41 +0200 | <merijn> | I don't really use it, so not really |
2021-04-13 11:05:47 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds) |
2021-04-13 11:05:49 +0200 | <jpe90> | gotcha |
2021-04-13 11:05:58 +0200 | <ski> | jpe90 : oh .. i would prefer the reverse one "you're using `$', when you could use `.' or plain brackets" |
2021-04-13 11:05:59 +0200 | <merijn> | Just a comment to take it's suggestion with a grain of salt and make up your own mind :) |
2021-04-13 11:07:03 +0200 | <merijn> | I'm sure there's a ton of helpful beginner stuff there, but I know that python/JS communities treat pylint/jslint as gospel, so just be aware not all of hlint's opinions are as universally accepted :) |
2021-04-13 11:07:12 +0200 | <ski> | jpe90 : "still trying to work on using that operator properly" -- how about "never", as a first approximation ? |
2021-04-13 11:07:24 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:6689:c12:7ca5:50eb) (Ping timeout: 258 seconds) |
2021-04-13 11:07:31 +0200 | <merijn> | ski: pfft, $ is great with for/forM! |
2021-04-13 11:07:47 +0200 | <ski> | `BlockArguments' ftw ! :) |
2021-04-13 11:07:55 +0200 | <merijn> | I dislike blockarguments |
2021-04-13 11:08:17 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:4e19:7447:12ec:457) |
2021-04-13 11:08:18 +0200 | <merijn> | It fits in the frivolous syntax extensions |
2021-04-13 11:08:29 +0200 | <ski> | (but yea, there are situations where it's acceptable. but newbies, for whatever reason, tend to use it *way* too much ..) |
2021-04-13 11:08:32 +0200 | <merijn> | Breaks tons of shit and the pay-off isn't near good enough |
2021-04-13 11:09:38 +0200 | <ski> | jpe90 : and i second making up your own mind. it's your code, it ought to be clear and readable, to *you* |
2021-04-13 11:10:07 +0200 | <ski> | (but being aware of various styles, arguments, issues, opinions, is good) |
2021-04-13 11:10:18 +0200 | <merijn> | ski: I think the overuse of $ comes from "magical thinking" where they think it's just brackets-B-gone |
2021-04-13 11:11:08 +0200 | <ski> | the idea that brackets are inherently bad, and are better to avoid, seems to be the root problem ? |
2021-04-13 11:11:08 +0200 | <jpe90> | and it's a shiny new operator that i haven't seen before.. can't help but touch the shiny things.. |
2021-04-13 11:11:36 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds) |
2021-04-13 11:11:47 +0200 | <ski> | (might be related to a general fear of algebra, as monochrom's suggested, iirc) |
2021-04-13 11:12:32 +0200 | <merijn> | jpe90: . is the (slightly more intimidating), but objectively superior shiny new operator ;) |
2021-04-13 11:13:00 +0200 | <merijn> | ski: Very nested brackets are bad, because you end up needing a stack machine in your brain to track them :p |
2021-04-13 11:13:01 +0200 | <jpe90> | yeah that one is really cool, definitely need to train myself to use it more |
2021-04-13 11:13:10 +0200 | <jpe90> | reminds me of piping shell commands |
2021-04-13 11:14:10 +0200 | <ski> | i normally prefer `(foo x . bar . baz y z) blah' over `foo x . bar . bar y z $ blah' over `foo x $ bar $ baz y z $ blah'. but `foo x (bar (baz y z blah))' is commonly also quite fine (often to be preferred to any of the former) |
2021-04-13 11:14:15 +0200 | <merijn> | jpe90: In general . is better than $ because in a sequence of "(f . g . h . i) x" (or "f . g . h . i $ x") any part of the . pipeline can be moved into a new variable name and things still typecheck |
2021-04-13 11:14:46 +0200 | <ski> | and that's because `.' is an associative operation (while `$' isn't) |
2021-04-13 11:14:50 +0200 | <merijn> | i.e. if "f . g . h . i" typechecks, then, by definition, "let foo = f . g in foo . h . i" also typechecks |
2021-04-13 11:15:05 +0200 | <merijn> | Which makes refactoring nice and easy |
2021-04-13 11:15:25 +0200 | <ski> | merijn : yea, at that point, indentation, or explicit breaking out and naming, helps |
2021-04-13 11:15:31 +0200 | <ski> | (re nested) |
2021-04-13 11:15:51 +0200 | <merijn> | ski: I usually write horribly ugly 5 lines . compositions, then later lift out parts into better named chunks |
2021-04-13 11:16:21 +0200 | hololeap | (~hololeap@gateway/tor-sasl/hololeap) (Ping timeout: 240 seconds) |
2021-04-13 11:17:21 +0200 | <ski> | (oh, and writing `foo x (bar $ baz y z blah)' is atrocious ..) |
2021-04-13 11:19:02 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
2021-04-13 11:19:29 +0200 | <ski> | and yea, if you want something to play with, `.' is more fun. e.g. `(back .) . (. forward)' |
2021-04-13 11:20:19 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2021-04-13 11:25:01 +0200 | fendor | (~fendor@77.119.130.199.wireless.dyn.drei.com) |
2021-04-13 11:25:24 +0200 | __monty__ | (~toonn@unaffiliated/toonn) |
2021-04-13 11:25:44 +0200 | Major_Biscuit | (~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) |
2021-04-13 11:28:21 +0200 | <ski> | @type traverse :: (a -> State s b) -> [a] -> State s [b] |
2021-04-13 11:28:23 +0200 | <lambdabot> | (a -> State s b) -> [a] -> State s [b] |
2021-04-13 11:28:24 +0200 | <ski> | @type ((state . (swap .)) .) . flip . mapAccumL . flip . (((swap .) . runState) .) :: (a -> State s b) -> [a] -> State s [b] |
2021-04-13 11:28:25 +0200 | <lambdabot> | (a -> State s b) -> [a] -> State s [b] |
2021-04-13 11:29:29 +0200 | <xerox_> | I wonder if there is a straightforward way to parallelize Data.Tree.unfoldTree, anybody got ideas? |
2021-04-13 11:30:28 +0200 | <ski> | (.. it's too bad `State'/`StateT' has the state in the wrong order, or that could just have been `(state .) . flip . mapAccumL . flip . (runState .)' .. or perhaps even `(state .) . mapAccumL . (runState .)', if the argument ordering was different -- although that's less clear of a win) |
2021-04-13 11:31:21 +0200 | <ski> | @type Data.Tree.unfoldTree |
2021-04-13 11:31:22 +0200 | <lambdabot> | (b -> (a, [b])) -> b -> Tree a |
2021-04-13 11:32:37 +0200 | <ski> | hm, do you expect it to be reasonably balanced ? |
2021-04-13 11:32:47 +0200 | <xerox_> | yeah |
2021-04-13 11:33:11 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 11:34:07 +0200 | <ski> | i guess you could do the first step, then see if you could distribute the children onto different cores ? |
2021-04-13 11:36:03 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 11:36:51 +0200 | <xerox_> | hm good idea |
2021-04-13 11:36:55 +0200 | bahamas | (~lucian@unaffiliated/bahamas) (Quit: leaving) |
2021-04-13 11:37:32 +0200 | <ski> | > (concat . transpose . zipWith (map . shows) [0 ..] . transpose . chunksOf 4) (words "a b c d e f g h") |
2021-04-13 11:37:34 +0200 | <lambdabot> | ["0a","1b","2c","3d","0e","1f","2g","3h"] |
2021-04-13 11:37:55 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-04-13 11:38:30 +0200 | <xerox_> | there's a pure way to go about it right? I forget what the library is, definitely not Control.Concurrent |
2021-04-13 11:39:07 +0200 | <ski> | `Control.Parallel' ? |
2021-04-13 11:39:34 +0200 | <ski> | perhaps with some of the strategy stuff, or `Eval' |
2021-04-13 11:40:33 +0200 | <ski> | you can also consult the relevant sections of |
2021-04-13 11:40:34 +0200 | <ski> | @where PCPH |
2021-04-13 11:40:34 +0200 | <lambdabot> | "Parallel and Concurrent Programming in Haskell" by Simon Marlow in 2013 at <http://community.haskell.org/~simonmar/pcph/>,<http://chimera.labs.oreilly.com/books/1230000000929/>,<https://web.archive. |
2021-04-13 11:40:34 +0200 | <lambdabot> | org/web/20180117194842/http://chimera.labs.oreilly.com/books/1230000000929>,<https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/> |
2021-04-13 11:42:46 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 11:43:13 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
2021-04-13 11:43:27 +0200 | cafce25 | (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) |
2021-04-13 11:43:47 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
2021-04-13 11:44:23 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 11:48:41 +0200 | <xerox_> | oh yeah Control.Parallel.Strategies is the thing |
2021-04-13 11:48:59 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 11:49:15 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2021-04-13 11:49:32 +0200 | timCF | (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Quit: leaving) |
2021-04-13 11:54:42 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) |
2021-04-13 11:59:40 +0200 | rnat2 | (uid73555@gateway/web/irccloud.com/x-blfxzrgdprfecfub) (Quit: Connection closed for inactivity) |
2021-04-13 12:01:54 +0200 | m1dnight_ | sometesttempnick |
2021-04-13 12:02:02 +0200 | sometesttempnick | m1dnight_ |
2021-04-13 12:02:40 +0200 | Pickchea | (~private@unaffiliated/pickchea) (Ping timeout: 252 seconds) |
2021-04-13 12:03:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 12:03:13 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
2021-04-13 12:03:16 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-04-13 12:04:04 +0200 | dixie | (~dixie@real.wilbury.sk) (Ping timeout: 268 seconds) |
2021-04-13 12:04:35 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:05:01 +0200 | <xerox_> | a different but related idea is how to collapse such unfolding if it happens to get the same seed twice at different points |
2021-04-13 12:05:23 +0200 | <xerox_> | setting aside parallelism when pursuing that |
2021-04-13 12:07:47 +0200 | arturh | (~arturh@93.176.180.48) () |
2021-04-13 12:09:41 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 12:10:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:11:59 +0200 | kuribas | (~user@ptr-25vy0i8g2c6vaifvwgm.18120a2.ip6.access.telenet.be) |
2021-04-13 12:13:58 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:8c83:83d2:e977:8f1e) |
2021-04-13 12:14:13 +0200 | Major_Biscuit | (~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) (Ping timeout: 252 seconds) |
2021-04-13 12:14:52 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:4e19:7447:12ec:457) (Ping timeout: 258 seconds) |
2021-04-13 12:15:06 +0200 | <ski> | hm, somehow accumulate a `Map' from seeds/states to trees and consult it for memoization |
2021-04-13 12:15:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 12:15:23 +0200 | <ski> | i guess the main problem is how to get different branches to communicate with each other |
2021-04-13 12:15:33 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:8d58:e974:e293:f3fe) |
2021-04-13 12:16:01 +0200 | <ski> | perhaps one can generate the subtrees breath-first, with a queue, hmm .. |
2021-04-13 12:16:10 +0200 | <ski> | s/breath/breadth/ |
2021-04-13 12:16:15 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:16:53 +0200 | Benzi-Junior | (~BenziJuni@dsl-149-64-251.hive.is) (Ping timeout: 240 seconds) |
2021-04-13 12:17:55 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 12:18:20 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:8c83:83d2:e977:8f1e) (Ping timeout: 258 seconds) |
2021-04-13 12:20:46 +0200 | Alleria_ | (~AllahuAkb@2603-7000-3040-0000-51cb-91e5-ecfa-0406.res6.spectrum.com) (Ping timeout: 246 seconds) |
2021-04-13 12:21:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 12:21:52 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 12:21:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:25:45 +0200 | Alleria_ | (~AllahuAkb@2603-7000-3040-0000-ac34-8d7e-1853-75bb.res6.spectrum.com) |
2021-04-13 12:26:17 +0200 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
2021-04-13 12:26:23 +0200 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Ping timeout: 246 seconds) |
2021-04-13 12:28:33 +0200 | haskellstudent | (~quassel@213-225-6-101.nat.highway.a1.net) |
2021-04-13 12:29:35 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) |
2021-04-13 12:30:06 +0200 | malumore__ | (~malumore@151.62.122.89) |
2021-04-13 12:30:22 +0200 | <xerox_> | https://www.stackage.org/haddock/lts-17.9/containers-0.6.2.1/Data-Tree.html#g:2 |
2021-04-13 12:30:27 +0200 | <xerox_> | there are some interesting options |
2021-04-13 12:30:34 +0200 | jpe90 | (~user@pool-108-31-85-19.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-04-13 12:31:23 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 12:31:52 +0200 | ClaudiusMaximus | (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) |
2021-04-13 12:32:03 +0200 | ClaudiusMaximus | (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host) |
2021-04-13 12:32:03 +0200 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2021-04-13 12:32:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-04-13 12:32:38 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 12:33:03 +0200 | malumore_ | (~malumore@151.62.122.89) (Ping timeout: 268 seconds) |
2021-04-13 12:33:12 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:34:19 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-13 12:35:38 +0200 | todda7 | (~torstein@athedsl-09242.home.otenet.gr) (Ping timeout: 240 seconds) |
2021-04-13 12:37:14 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) (Ping timeout: 246 seconds) |
2021-04-13 12:38:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 12:38:20 +0200 | kritzefitz | (~kritzefit@2003:5b:203b:200::10:49) |
2021-04-13 12:38:32 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:41:55 +0200 | sw1nn | (~sw1nn@2a00:23c7:622f:2c00:4e10:fa3:5042:9652) (Ping timeout: 260 seconds) |
2021-04-13 12:43:41 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 12:44:30 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:45:06 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 12:45:42 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 260 seconds) |
2021-04-13 12:47:30 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-04-13 12:49:22 +0200 | kritzefitz | (~kritzefit@2003:5b:203b:200::10:49) (Ping timeout: 258 seconds) |
2021-04-13 12:49:41 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 12:50:09 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2021-04-13 12:50:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:55:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 12:55:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 12:59:29 +0200 | dixie | (~dixie@real.wilbury.sk) |
2021-04-13 12:59:51 +0200 | Major_Biscuit | (~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) |
2021-04-13 13:00:43 +0200 | sw1nn | (~sw1nn@host217-42-85-246.range217-42.btcentralplus.com) |
2021-04-13 13:00:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-04-13 13:02:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 13:03:09 +0200 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-04-13 13:04:29 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-04-13 13:04:50 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 13:06:45 +0200 | <dibblego> | ski: that argument originally comes from java, and it is bunk (re TCE) |
2021-04-13 13:14:36 +0200 | Alleria | (~textual@mskresolve-a.mskcc.org) |
2021-04-13 13:15:00 +0200 | Alleria | Guest40868 |
2021-04-13 13:19:09 +0200 | dariof4 | (~dario@5.179.159.205) |
2021-04-13 13:21:57 +0200 | viluon | (uid453725@gateway/web/irccloud.com/x-nnqlbbddhkybeglg) |
2021-04-13 13:24:04 +0200 | gnumonic | (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2021-04-13 13:24:24 +0200 | <viluon> | hi, beginner question: I just refactored my library project into multiple files. When building it with Cabal and a custom compiler, imports in the root file don't work. Why's that? https://usercontent.irccloud-cdn.com/file/5kYcLv9R/image.png |
2021-04-13 13:24:28 +0200 | _noblegas | (uid91066@gateway/web/irccloud.com/x-nmdbocjlxmbwafmr) |
2021-04-13 13:24:44 +0200 | <viluon> | I passed `-v` to GHC, weirdly enough, the path *seems to* match up https://usercontent.irccloud-cdn.com/file/Zk66No4h/image.png |
2021-04-13 13:25:48 +0200 | Pickchea | (~private@unaffiliated/pickchea) |
2021-04-13 13:25:50 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 13:29:12 +0200 | todda7 | (~torstein@ppp-2-85-110-156.home.otenet.gr) |
2021-04-13 13:29:49 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 13:30:37 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Client Quit) |
2021-04-13 13:31:12 +0200 | <viluon> | here's the full output of `cabal install --lib all` along with the `.project` and `.cabal` files https://paste.tomsmeding.com/hXg6Yu6D |
2021-04-13 13:38:46 +0200 | <merijn> | viluon: Your other-modules field is empty |
2021-04-13 13:39:04 +0200 | <viluon> | merijn: ah, I need to list all the modules in my project? |
2021-04-13 13:39:07 +0200 | <merijn> | Yes |
2021-04-13 13:39:53 +0200 | <merijn> | viluon: .cabal files function (among other things) as manifest file, i.e. they explicitly specify everything that is part of a package |
2021-04-13 13:39:54 +0200 | <viluon> | hm, that's sad, surely that information is trivially inferable from the source code. Thank you though! I didn't realise that |
2021-04-13 13:40:00 +0200 | <viluon> | I see |
2021-04-13 13:40:58 +0200 | <merijn> | viluon: Is it trivially inferrible? Mostly, although when you work out the corner case, not as trivial as it seems at first. But it is intentionally not done, so that when you build a source tar ball with cabal you are guaranteed to only get what you explicitly include. |
2021-04-13 13:42:43 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 13:44:06 +0200 | drbean_ | (~drbean@TC210-63-209-59.static.apol.com.tw) |
2021-04-13 13:47:45 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-04-13 13:48:49 +0200 | ep1ctetus | (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds) |
2021-04-13 13:49:12 +0200 | <alexm_> | @pl (<*>) fs xs = flatMap (<$> xs) fs |
2021-04-13 13:49:12 +0200 | <lambdabot> | (line 1, column 14): |
2021-04-13 13:49:12 +0200 | <lambdabot> | unexpected " " |
2021-04-13 13:49:12 +0200 | <lambdabot> | expecting operator |
2021-04-13 13:50:21 +0200 | <ski> | dibblego, mm, i've seen versions of it float around |
2021-04-13 13:50:31 +0200 | <alexm_> | @pl (<*>) fs xs = flatMap ((<$>) xs) fs |
2021-04-13 13:50:31 +0200 | <lambdabot> | (line 1, column 14): |
2021-04-13 13:50:31 +0200 | <lambdabot> | unexpected " " |
2021-04-13 13:50:31 +0200 | <lambdabot> | expecting operator |
2021-04-13 13:50:43 +0200 | <alexm_> | @pl "(<*>) fs xs = flatMap (<$> xs) fs" |
2021-04-13 13:50:43 +0200 | <lambdabot> | "(<*>) fs xs = flatMap (<$> xs) fs" |
2021-04-13 13:50:43 +0200 | <ski> | xerox_ : i wonder why that claims `unfoldTree' is breadth-first order .. |
2021-04-13 13:51:14 +0200 | <__monty__> | @pl flatMap (<$> xs) fs |
2021-04-13 13:51:14 +0200 | <lambdabot> | flatMap (<$> xs) fs |
2021-04-13 13:51:24 +0200 | <__monty__> | alexm_: Can't pass a definition. |
2021-04-13 13:51:36 +0200 | <ski> | @pl \fs xs -> flatMap (<$> xs) fs |
2021-04-13 13:51:36 +0200 | <lambdabot> | flip (flatMap . flip (<$>)) |
2021-04-13 13:51:38 +0200 | <alexm_> | oops, cheers :) |
2021-04-13 13:52:00 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2021-04-13 13:52:08 +0200 | <ski> | @pl doubleMap f g xs = map f (map g xs) |
2021-04-13 13:52:08 +0200 | <lambdabot> | doubleMap = (. map) . (.) . map |
2021-04-13 13:53:53 +0200 | <__monty__> | Oh, it does do definitions? Then why didn't the previous query work? |
2021-04-13 13:54:10 +0200 | <ski> | @type \fs xs -> fs >>= (<$> xs) |
2021-04-13 13:54:11 +0200 | <lambdabot> | Monad m => m (a -> b) -> m a -> m b |
2021-04-13 13:54:14 +0200 | <ski> | @type ap |
2021-04-13 13:54:15 +0200 | <lambdabot> | Monad m => m (a -> b) -> m a -> m b |
2021-04-13 13:54:25 +0200 | <ski> | @src ap |
2021-04-13 13:54:25 +0200 | <lambdabot> | ap = liftM2 id |
2021-04-13 13:54:39 +0200 | <ski> | __monty__ : i guess it doesn't parse operator definitions .. |
2021-04-13 13:54:55 +0200 | <ski> | alexm_ ^ ? |
2021-04-13 13:55:13 +0200 | <xerox_> | ski: right? |
2021-04-13 13:55:20 +0200 | hololeap | (~hololeap@gateway/tor-sasl/hololeap) |
2021-04-13 13:55:30 +0200 | <__monty__> | @pl fs <*> xs = flatMap (<$> xs) fs |
2021-04-13 13:55:31 +0200 | <lambdabot> | (line 1, column 12): |
2021-04-13 13:55:31 +0200 | <lambdabot> | unexpected " " |
2021-04-13 13:55:48 +0200 | <ski> | i mean, it doesn't really do any specifically depth-first vs. breadth-first stuff |
2021-04-13 13:56:19 +0200 | <dibblego> | ski: there's a java RFE from 2001 with really long discussion — can't find it though |
2021-04-13 13:57:04 +0200 | <ski> | > let nodes = 1 : [n | m <- nodes,n <- [2*m,2*m + 1]] in nodes -- unlike this, which does breadth-first |
2021-04-13 13:57:06 +0200 | <lambdabot> | [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,... |
2021-04-13 13:57:12 +0200 | <ski> | (only works for infinite trees, though) |
2021-04-13 13:57:26 +0200 | <ski> | "Request For E???" ? |
2021-04-13 13:57:50 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 13:57:58 +0200 | <ski> | dibblego : would be interested to take a look, if you find it later |
2021-04-13 13:58:19 +0200 | <dibblego> | yeah, it's a shame I've lost it |
2021-04-13 13:58:23 +0200 | <alexm_> | thanks ski |
2021-04-13 13:58:30 +0200 | hololeap_ | (~hololeap@gateway/tor-sasl/hololeap) |
2021-04-13 13:59:57 +0200 | hololeap | (~hololeap@gateway/tor-sasl/hololeap) (Ping timeout: 240 seconds) |
2021-04-13 14:01:32 +0200 | urodna_ | (~urodna@unaffiliated/urodna) |
2021-04-13 14:02:09 +0200 | LKoen_ | (~LKoen@65.250.88.92.rev.sfr.net) |
2021-04-13 14:02:36 +0200 | <ski> | @let infiniteSubtreesBreadthFirst :: Tree a -> [Tree a]; infiniteSubtreesBreadthFirst t = ts where ts = t : [t | t <- ts,t <- subForest t] |
2021-04-13 14:02:37 +0200 | <lambdabot> | Defined. |
2021-04-13 14:02:45 +0200 | <ski> | @type map rootLabel . infiniteSubtreesBreadthFirst |
2021-04-13 14:02:47 +0200 | <lambdabot> | Tree b -> [b] |
2021-04-13 14:03:26 +0200 | oish | (~charlie@228.25.169.217.in-addr.arpa) (Quit: leaving) |
2021-04-13 14:04:16 +0200 | <ski> | alexm_ : were you looking to define `(<*>)' for `Applicative', based on `(>>=)' in a `Monad' instance ? |
2021-04-13 14:04:17 +0200 | todda7 | (~torstein@ppp-2-85-110-156.home.otenet.gr) (Ping timeout: 260 seconds) |
2021-04-13 14:04:34 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 14:04:52 +0200 | LKoen | (~LKoen@65.250.88.92.rev.sfr.net) (Ping timeout: 260 seconds) |
2021-04-13 14:05:50 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 14:06:28 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection) |
2021-04-13 14:07:14 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2021-04-13 14:07:37 +0200 | <alexm_> | ski: I am defining (<*>) for Applicative for the List type, it's just an exercise from fp-course (former NICTA) |
2021-04-13 14:08:41 +0200 | <dibblego> | alexm_: did you do flatMap and map from List.hs ? |
2021-04-13 14:08:42 +0200 | <alexm_> | in this case point free version looks less readable to me though |
2021-04-13 14:09:06 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection) |
2021-04-13 14:09:18 +0200 | <alexm_> | dibblego yes, I did |
2021-04-13 14:09:23 +0200 | Deide | (~Deide@217.155.19.23) |
2021-04-13 14:09:33 +0200 | <dibblego> | alexm_: they will get you to (<*>) for List |
2021-04-13 14:09:52 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2021-04-13 14:09:59 +0200 | <alexm_> | yeah, I figured applicative out already via flatMap, thanks :) |
2021-04-13 14:10:06 +0200 | <dibblego> | when the course is run, we use type holes a lot |
2021-04-13 14:10:11 +0200 | <dibblego> | ok cool |
2021-04-13 14:10:22 +0200 | <merijn> | dibblego: type holes or typed holes? :p |
2021-04-13 14:10:27 +0200 | <merijn> | (or both, I suppose) |
2021-04-13 14:10:28 +0200 | <alexm_> | I was just playing around with the point free version of the definition |
2021-04-13 14:10:38 +0200 | <dibblego> | _theseones |
2021-04-13 14:11:12 +0200 | <dibblego> | I've been flying all arvo and night, tired, but leave questions if you have any — up early to fly home |
2021-04-13 14:11:21 +0200 | <merijn> | dibblego: You are aware of -fdefer-typed-holes? (because sadly, every time I find out many people aren't :( ) |
2021-04-13 14:11:43 +0200 | <dibblego> | merijn: yes, the course material was written before those, so error is used instead (PR!?) |
2021-04-13 14:13:03 +0200 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
2021-04-13 14:13:18 +0200 | <alexm_> | thanks dibblego |
2021-04-13 14:13:24 +0200 | <merijn> | dibblego: Just trying to make sure my effort of hacking in that flag doesn't go to waste ;) It's my first and crowning contribution to Haskell, imo :p |
2021-04-13 14:13:35 +0200 | <dibblego> | merijn: we use it in the course |
2021-04-13 14:13:41 +0200 | <merijn> | \o/ |
2021-04-13 14:13:43 +0200 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-04-13 14:14:01 +0200 | <merijn> | Immortality achieved! |
2021-04-13 14:14:04 +0200 | <alexm_> | what this flag does in short? |
2021-04-13 14:14:32 +0200 | <merijn> | alexm_: Makes typed holes behave like undefined, so you can run code without having to implement everything |
2021-04-13 14:14:59 +0200 | <merijn> | The major advantage over undefined being: Better warnings and, once you disable the flag, you can't accidentally forget any undefined's in the source |
2021-04-13 14:15:16 +0200 | <merijn> | Since they're compile errors without the flag (and undefined isn't) |
2021-04-13 14:15:21 +0200 | <alexm_> | sweet |
2021-04-13 14:17:50 +0200 | <__monty__> | xv |
2021-04-13 14:18:46 +0200 | todda7 | (~torstein@athedsl-09242.home.otenet.gr) |
2021-04-13 14:19:27 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-13 14:29:48 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:f0c8:b06a:abe0:d60) |
2021-04-13 14:29:52 +0200 | oo_miguel | (~miguel@89-72-187-203.dynamic.chello.pl) |
2021-04-13 14:32:39 +0200 | ddk | (9d2a7d60@157.42.125.96) |
2021-04-13 14:33:12 +0200 | <ddk> | Hello all |
2021-04-13 14:33:55 +0200 | ulidtko|k | (~ulidtko@194.54.80.38) (Ping timeout: 252 seconds) |
2021-04-13 14:34:05 +0200 | <oo_miguel> | Hello. I am using Network.HTTP.Client.Manager's managerModifyRequest and managerModifyResponse hooks to implement a simple logging middleware. Maybe I a missing something, but while I can easily check what URL a `Request` is related to, I do not see any such possibility inside the `Response` hook. Any suggestions please? |
2021-04-13 14:34:22 +0200 | _bin | (~bin@2600:1700:10a1:38d0:6924:8e26:a144:5b39) (Quit: ZNC - https://znc.in) |
2021-04-13 14:34:24 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:f0c8:b06a:abe0:d60) (Ping timeout: 258 seconds) |
2021-04-13 14:34:58 +0200 | kritzefitz | (~kritzefit@212.86.56.80) (Ping timeout: 240 seconds) |
2021-04-13 14:35:11 +0200 | <ddk> | I'm using postgres-simple, now I need timestamp in my program but I'm unsure which type to use in postgres which can be easily parsed between Haskell and postgres to and fro. |
2021-04-13 14:35:34 +0200 | <alexm_> | @pl fa x $ fb x |
2021-04-13 14:35:35 +0200 | <lambdabot> | fa x (fb x) |
2021-04-13 14:36:47 +0200 | <alexm_> | @pl \fa fb x -> fa x $ fb x |
2021-04-13 14:36:47 +0200 | <lambdabot> | ap |
2021-04-13 14:38:38 +0200 | _bin | (~bin@2600:1700:10a1:38d0:8028:8b86:7e11:f5b5) |
2021-04-13 14:40:50 +0200 | <ddk> | ? |
2021-04-13 14:41:33 +0200 | <merijn> | You should figure out how you want/have to store things in postgres and then find out how to use that using postgres-simple, I'd say? |
2021-04-13 14:42:33 +0200 | <merijn> | Seems to me the Database.PostgreSQL.Simple.Time has more than you'd ever want to know on the topic? |
2021-04-13 14:42:52 +0200 | <merijn> | Also: Don't store future times in UTC |
2021-04-13 14:45:19 +0200 | <ddk> | merijn: using `TIMESTAMP WITH TIME ZONE` in postgres, I'm not sure whether I can directly parse them in Haskell |
2021-04-13 14:45:42 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 14:45:56 +0200 | hannah58 | (546babef@84-107-171-239.cable.dynamic.v4.ziggo.nl) |
2021-04-13 14:46:02 +0200 | malumore__ | (~malumore@151.62.122.89) (Remote host closed the connection) |
2021-04-13 14:46:08 +0200 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-04-13 14:46:15 +0200 | malumore | (~malumore@151.62.122.89) |
2021-04-13 14:46:27 +0200 | malumore | (~malumore@151.62.122.89) (Remote host closed the connection) |
2021-04-13 14:46:29 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 14:46:34 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 14:47:44 +0200 | hannah58 | (546babef@84-107-171-239.cable.dynamic.v4.ziggo.nl) (Client Quit) |
2021-04-13 14:47:46 +0200 | malumore | (~malumore@151.62.122.89) |
2021-04-13 14:47:56 +0200 | kritzefitz | (~kritzefit@2003:5b:203b:200::10:49) |
2021-04-13 14:49:06 +0200 | malumore | (~malumore@151.62.122.89) (Remote host closed the connection) |
2021-04-13 14:49:33 +0200 | rprije | (~rprije@59-102-63-15.tpgi.com.au) (Ping timeout: 240 seconds) |
2021-04-13 14:49:57 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
2021-04-13 14:50:13 +0200 | tomsmeding | (~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-04-13 14:51:12 +0200 | malumore | (~malumore@151.62.122.89) |
2021-04-13 14:51:18 +0200 | tomsmeding | (~tomsmedin@tomsmeding.com) |
2021-04-13 14:51:19 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-04-13 14:54:41 +0200 | ircbrowse_tom | (~ircbrowse@64.225.78.177) |
2021-04-13 14:54:41 +0200 | Server | +CLnt |
2021-04-13 14:56:05 +0200 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2021-04-13 14:58:06 +0200 | alexm_ | (~alexm_@161.8.254.229) (Remote host closed the connection) |
2021-04-13 15:02:39 +0200 | Komrad_Kafuka | (cbd4caba@203.212.202.186) |
2021-04-13 15:02:55 +0200 | <Komrad_Kafuka> | Hi |
2021-04-13 15:03:11 +0200 | Major_Biscuit | (~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) (Ping timeout: 240 seconds) |
2021-04-13 15:04:11 +0200 | jules_ | (~jules@ip201.ip-135-125-227.eu) (Ping timeout: 240 seconds) |
2021-04-13 15:04:32 +0200 | carlomagno | (~cararell@148.87.23.8) |
2021-04-13 15:05:07 +0200 | ddk | (9d2a7d60@157.42.125.96) (Quit: Connection closed) |
2021-04-13 15:05:14 +0200 | jules_ | (~jules@ip201.ip-135-125-227.eu) |
2021-04-13 15:05:19 +0200 | <Komrad_Kafuka> | I've been recently learning haskell and it's a little hard but great. I was writing some code for evaluating e^x but it's giving me an error I can't understand , can I share it with you guys? |
2021-04-13 15:06:20 +0200 | <hyperisco> | yes |
2021-04-13 15:06:27 +0200 | <merijn> | I'm pretty sure I know the issue without seeing it ;) |
2021-04-13 15:06:42 +0200 | <merijn> | Probably the difference between |
2021-04-13 15:06:45 +0200 | <merijn> | :t (**) |
2021-04-13 15:06:47 +0200 | <lambdabot> | Floating a => a -> a -> a |
2021-04-13 15:06:48 +0200 | <merijn> | :t (^) |
2021-04-13 15:06:49 +0200 | <lambdabot> | (Integral b, Num a) => a -> b -> a |
2021-04-13 15:06:50 +0200 | <merijn> | :t (^^) |
2021-04-13 15:06:52 +0200 | <lambdabot> | (Fractional a, Integral b) => a -> b -> a |
2021-04-13 15:07:09 +0200 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-04-13 15:07:29 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:07:42 +0200 | <Komrad_Kafuka> | {-# LANGUAGE FlexibleInstances, UndecidableInstances, DuplicateRecordFields #-} |
2021-04-13 15:07:43 +0200 | <Komrad_Kafuka> | module Main where |
2021-04-13 15:07:43 +0200 | <Komrad_Kafuka> | import Control.Monad |
2021-04-13 15:07:44 +0200 | <Komrad_Kafuka> | import Data.Array |
2021-04-13 15:07:44 +0200 | <Komrad_Kafuka> | import Data.Bits |
2021-04-13 15:07:44 +0200 | <Komrad_Kafuka> | import Data.List |
2021-04-13 15:07:45 +0200 | <Komrad_Kafuka> | import Data.List.Split |
2021-04-13 15:07:45 +0200 | <Komrad_Kafuka> | import Data.Set |
2021-04-13 15:07:46 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9) |
2021-04-13 15:07:46 +0200 | <Komrad_Kafuka> | import Debug.Trace |
2021-04-13 15:07:47 +0200 | <Komrad_Kafuka> | import System.Environment |
2021-04-13 15:07:47 +0200 | <Komrad_Kafuka> | import System.IO |
2021-04-13 15:07:47 +0200 | <Komrad_Kafuka> | import System.IO.Unsafe |
2021-04-13 15:07:48 +0200 | <Komrad_Kafuka> | factorial :: Double -> Double |
2021-04-13 15:07:48 +0200 | <Komrad_Kafuka> | factorial 0 = 1 |
2021-04-13 15:07:49 +0200 | <Komrad_Kafuka> | factorial x = x * factorial x - 1 |
2021-04-13 15:07:49 +0200 | <Komrad_Kafuka> | pow :: Double -> Integer -> Double |
2021-04-13 15:07:50 +0200 | <Komrad_Kafuka> | pow _ 0 = 1.000 :: Double |
2021-04-13 15:07:50 +0200 | <Komrad_Kafuka> | pow 0 _ = 0.000 :: Double |
2021-04-13 15:08:04 +0200 | <Komrad_Kafuka> | Here's the error |
2021-04-13 15:08:05 +0200 | <Komrad_Kafuka> | Solution.hs:27:41: error: |
2021-04-13 15:08:06 +0200 | <Komrad_Kafuka> | • Couldn't match expected type ‘Double’ with actual type ‘Integer’ |
2021-04-13 15:08:06 +0200 | <Komrad_Kafuka> | • In the first argument of ‘factorial’, namely ‘count’ |
2021-04-13 15:08:07 +0200 | <Komrad_Kafuka> | In the second argument of ‘(/)’, namely ‘(factorial count)’ |
2021-04-13 15:08:07 +0200 | <Komrad_Kafuka> | In the first argument of ‘(+)’, namely |
2021-04-13 15:08:08 +0200 | <Komrad_Kafuka> | ‘(pow x count) / (factorial count)’ |
2021-04-13 15:08:08 +0200 | <Komrad_Kafuka> | | |
2021-04-13 15:08:09 +0200 | <Komrad_Kafuka> | 27 | eval x count = (pow x count)/(factorial count) + (eval x count - 1) |
2021-04-13 15:08:09 +0200 | <Komrad_Kafuka> | | ^^^^^ |
2021-04-13 15:08:10 +0200 | <Komrad_Kafuka> | Solution.hs:36:9: error: |
2021-04-13 15:08:10 +0200 | <Komrad_Kafuka> | • Couldn't match expected type ‘Double -> Integer -> IO b0’ |
2021-04-13 15:08:11 +0200 | <Komrad_Kafuka> | with actual type ‘IO ()’ |
2021-04-13 15:08:11 +0200 | <Komrad_Kafuka> | • The function ‘print’ is applied to three arguments, |
2021-04-13 15:08:12 +0200 | <Komrad_Kafuka> | but its type ‘(Double -> Integer -> Double) -> IO ()’ has only one |
2021-04-13 15:08:12 +0200 | <Komrad_Kafuka> | In a stmt of a 'do' block: print eval x 0 |
2021-04-13 15:08:13 +0200 | <Komrad_Kafuka> | In the expression: |
2021-04-13 15:08:13 +0200 | <Komrad_Kafuka> | do x <- readLn :: IO Double |
2021-04-13 15:08:14 +0200 | <Komrad_Kafuka> | print eval x 0 |
2021-04-13 15:08:14 +0200 | <Komrad_Kafuka> | | |
2021-04-13 15:08:52 +0200 | Pickchea | (~private@unaffiliated/pickchea) (Ping timeout: 265 seconds) |
2021-04-13 15:09:09 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-13 15:09:09 +0200 | <ski> | @where paste |
2021-04-13 15:09:10 +0200 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2021-04-13 15:09:29 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:09:39 +0200 | <ski> | Komrad_Kafuka : please use a paste site (like e.g. that ^ above), next time -- don't paste huge amounts of lines into the channel |
2021-04-13 15:10:06 +0200 | <Komrad_Kafuka> | Sure, sorry about that |
2021-04-13 15:10:10 +0200 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-04-13 15:10:21 +0200 | <ski> | (i was actually surprised you weren't automatically K-lined by Sigyn for doing that .. but now i notices Sigyn's gone missing, for whatever reason) |
2021-04-13 15:10:30 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:10:33 +0200 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
2021-04-13 15:10:52 +0200 | <Komrad_Kafuka> | https://paste.tomsmeding.com/VGuP7TtX |
2021-04-13 15:11:38 +0200 | <Komrad_Kafuka> | ski yeah I did not get any message at first, here's the link |
2021-04-13 15:11:48 +0200 | <ski> | (looking) |
2021-04-13 15:12:12 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-13 15:12:30 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-04-13 15:12:32 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:12:42 +0200 | ddellac__ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 15:12:56 +0200 | <ski> | your bracketting is off. e.g. |
2021-04-13 15:12:58 +0200 | <ski> | eval x count = (pow x count)/(factorial count) + (eval x count - 1) |
2021-04-13 15:13:00 +0200 | <ski> | ought to be |
2021-04-13 15:13:11 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-13 15:13:13 +0200 | ddellac__ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 15:13:14 +0200 | <ski> | eval x count = pow x count / factorial count + eval x (count - 1) |
2021-04-13 15:13:31 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:13:37 +0200 | <ski> | (and the same problem, in a few other places ..) |
2021-04-13 15:13:48 +0200 | son0p | (~ff@181.136.122.143) |
2021-04-13 15:13:48 +0200 | <ski> | next thing, which is the actual type error you're getting |
2021-04-13 15:14:06 +0200 | <ski> | `factorial count' is an `Integer', so you can't divide by it, using `/' |
2021-04-13 15:14:30 +0200 | <ski> | try first converting it to a `Double', with `fromIntegral'/`fromInteger' |
2021-04-13 15:14:37 +0200 | <Komrad_Kafuka> | is there a way to typecast stuff in haskell ? |
2021-04-13 15:14:41 +0200 | rom1504 | (rom1504@rom1504.fr) (Ping timeout: 250 seconds) |
2021-04-13 15:15:07 +0200 | <ski> | no |
2021-04-13 15:15:31 +0200 | <ski> | there's no casting (as a language construct), and no implicit coercion either |
2021-04-13 15:15:54 +0200 | <ski> | (it doesn't play along well with type inference) |
2021-04-13 15:16:38 +0200 | <Komrad_Kafuka> | after that I am getting another error https://paste.tomsmeding.com/b1RYmqe6 |
2021-04-13 15:16:44 +0200 | <Komrad_Kafuka> | could you help me with this too |
2021-04-13 15:16:54 +0200 | <ski> | instead of `forM_ [1 .. n] $ \_ -> do ..', you can use `replicateM_ n $ do ..' |
2021-04-13 15:17:03 +0200 | <ski> | @type replicateM_ |
2021-04-13 15:17:05 +0200 | <lambdabot> | Applicative m => Int -> m a -> m () |
2021-04-13 15:17:13 +0200 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-04-13 15:17:24 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-13 15:17:33 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:17:43 +0200 | <ski> | and then there'd be no need for the `:: IO Int' type ascription on `readLn' (since the type of `n' would be inferred from passing it to `replicateM_') |
2021-04-13 15:18:09 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-13 15:18:17 +0200 | <Komrad_Kafuka> | nope showing me the same error |
2021-04-13 15:18:24 +0200 | <ski> | similarly, since `eval' is declared to take a `Double', the type ascription on the other `readLn' is also redundant |
2021-04-13 15:18:30 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:19:03 +0200 | <ski> | (you could still keep them, if you wanted to, if you think it makes the code more readable to you. however, i'd prefer using x :: Double <- readLn' in that case .. although that syntax requires a language extension) |
2021-04-13 15:19:11 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-13 15:19:15 +0200 | rj | (~x@gateway/tor-sasl/rj) |
2021-04-13 15:19:31 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:19:40 +0200 | <ski> | Komrad_Kafuka : yes, as i said, because you have the same problem (bracketting) in a few other places as well .. and you haven't fixed them yet |
2021-04-13 15:20:07 +0200 | <Komrad_Kafuka> | oh ok I'll do them |
2021-04-13 15:20:42 +0200 | <ski> | first you should make sure you understand my removal and addition of brackets, to the line i showed |
2021-04-13 15:20:56 +0200 | <Komrad_Kafuka> | nope I don't sorry |
2021-04-13 15:20:58 +0200 | <ski> | (feel free to ask more, if you're unsure) |
2021-04-13 15:21:10 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-13 15:21:13 +0200 | <ski> | (pow x count)/(factorial count) |
2021-04-13 15:21:17 +0200 | <ski> | already means the same thing as |
2021-04-13 15:21:22 +0200 | <ski> | pow x count / factorial count |
2021-04-13 15:21:31 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:21:37 +0200 | <ski> | since "function application binds tighter (has higher precedence than) any operator" |
2021-04-13 15:21:46 +0200 | <Komrad_Kafuka> | but that does not break the code does it ? |
2021-04-13 15:21:47 +0200 | <ski> | which is why those brackets were redundant |
2021-04-13 15:21:49 +0200 | <ski> | secondly |
2021-04-13 15:22:01 +0200 | <ski> | eval x count - 1 |
2021-04-13 15:22:03 +0200 | <ski> | actually means |
2021-04-13 15:22:06 +0200 | <ski> | (eval x count) - 1 |
2021-04-13 15:22:10 +0200 | <ski> | which is not what you intended |
2021-04-13 15:22:16 +0200 | <ski> | presumably you meant |
2021-04-13 15:22:21 +0200 | <ski> | eval x (count - 1) |
2021-04-13 15:22:25 +0200 | <ski> | and you'll have to spell that out |
2021-04-13 15:22:42 +0200 | <Komrad_Kafuka> | oh , yeah I changed that actually it should have been eval x (count+1) since it has an upper bound |
2021-04-13 15:22:45 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds) |
2021-04-13 15:22:48 +0200 | <ski> | Komrad_Kafuka : correct. the first (redundant) part, didn't break the code |
2021-04-13 15:23:07 +0200 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-04-13 15:23:18 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
2021-04-13 15:23:27 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-13 15:23:44 +0200 | <ski> | you might want to make `eval' give an error, or maybe terminate, in case the input is larger than the upper bound ? |
2021-04-13 15:24:08 +0200 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-04-13 15:24:12 +0200 | <ski> | (you could also pass in the upper bound as a separate argument, to make `eval' less ad hoc (less magic numbers)) |
2021-04-13 15:25:40 +0200 | <Komrad_Kafuka> | It's a small hackerrank problem so I don;t think I have to make it robust, I did the changes and here is the code but it's still giving me an error |
2021-04-13 15:25:45 +0200 | <Komrad_Kafuka> | https://paste.tomsmeding.com/CLJfI7E6 |
2021-04-13 15:27:23 +0200 | <ski> | oh, actually, i see your `count' is an accumulator (an index variable, a counter, in this case), intended to be started / initialized, at zero. in such case, it's better to define a "wrapper" function, whose sole purpose is to initialize this parameter for you (and then your `main' should call this, not the current `eval'). usually, it then makes sense to define the "worker" (your `eval') inside a `where' |
2021-04-13 15:27:29 +0200 | <ski> | (or `let'-`in') inside the wrapper (unless the worker has independent interest) |
2021-04-13 15:28:02 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-04-13 15:28:27 +0200 | <ski> | "I don;t think I have to make it robust" -- it's up to you, of course. just saying it could be good practice. but the most important thing is that you're aware of it, and make a conscious choice |
2021-04-13 15:28:57 +0200 | <ski> | again, you're not using brackets properly |
2021-04-13 15:28:59 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9561cdce4d77de6ce0bc.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2021-04-13 15:29:29 +0200 | <ski> | (unlike in some other programming languages) brackets are not used for "function calls" in Haskell. however, they *are* used for grouping, and that's how you need to use them here ! |
2021-04-13 15:29:46 +0200 | <ski> | (exactly like how they're used for grouping, in `eval x (count - 1)') |
2021-04-13 15:30:28 +0200 | <Komrad_Kafuka> | yeah I did hear something about auxilary functions in one video, I might reimplement it with your suggested changes but the thing is I still don't know what the error is, I did correct the brackets so one error down and one error still persists which is this https://paste.tomsmeding.com/nB6RwfnJ |
2021-04-13 15:30:31 +0200 | OneFixt | (~OneFixt@217.146.82.202) (Remote host closed the connection) |
2021-04-13 15:30:45 +0200 | <ski> | ok |
2021-04-13 15:30:57 +0200 | <ski> | consider e.g. |
2021-04-13 15:31:01 +0200 | <ski> | pow x count |
2021-04-13 15:31:07 +0200 | <ski> | this actually means |
2021-04-13 15:31:11 +0200 | <ski> | (pow x) count |
2021-04-13 15:31:18 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 15:31:59 +0200 | <ski> | because when you define, and call, a function in this style (called "curried style"), you're actually defining a function that takes an input, and then returns as result another function, that takes another input parameter, before giving back the "final answer" |
2021-04-13 15:32:10 +0200 | <ski> | so |
2021-04-13 15:32:12 +0200 | <ski> | pow :: Double -> Integer -> Double |
2021-04-13 15:32:14 +0200 | <ski> | actually means |
2021-04-13 15:32:17 +0200 | <ski> | pow :: Double -> (Integer -> Double) |
2021-04-13 15:33:38 +0200 | Major_Biscuit | (~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) |
2021-04-13 15:34:12 +0200 | <ski> | (all functions in Haskell take exactly one input argument/parameter. however, colloquially, we speak of "multi-parameter functions". but those are really only in our heads. one way of simulating them in Haskell is as the above, "curried style". another is "tupled style", which would be called like `pow (x,count)', defined like `pow :: (Double,Integer) -> Double', `pow (_,0) = 1', `pow (0,_) = 1', `pow (x,n) |
2021-04-13 15:34:18 +0200 | <ski> | = ..x..n..') |
2021-04-13 15:34:25 +0200 | <Komrad_Kafuka> | Oh, yeah I corrected that rn and now there's a whole list of other errors, correcting them one by one would be tedious, I think if I see your code on how to implement this that would be great, here's the problem that I wanted to solve https://www.hackerrank.com/challenges/eval-ex/problem?h_r=next-challenge&h_v=zen&isFullScreen=true |
2021-04-13 15:34:36 +0200 | <ski> | because of this (and because `print' is just an ordinary library function), when you write |
2021-04-13 15:34:39 +0200 | <ski> | print eval x 0 |
2021-04-13 15:34:41 +0200 | <ski> | this actually means |
2021-04-13 15:34:46 +0200 | <ski> | ((print eval) x) 0 |
2021-04-13 15:35:09 +0200 | <ski> | iow, you're (colloquially speaking) attempting to pass three parameters to `print' : `eval',`x',`0' |
2021-04-13 15:35:29 +0200 | <ski> | however, you actually *wanted* to call `eval' with two parameters, and pass the *result* of that to `print' |
2021-04-13 15:35:29 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 15:36:11 +0200 | <Komrad_Kafuka> | It's a little hard to wrap your head around specially if you are used to imperative style, it's going to be hard before it make sense I guess |
2021-04-13 15:36:56 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 15:37:03 +0200 | <ski> | learning a different programming paradigm will be a little bit like learning to program from scratch, all over again. do you remember how long time it took, to get used to imperative programming ? to understand loops, assignment of mutable variables ? |
2021-04-13 15:38:08 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 15:38:27 +0200 | <ski> | people who already know another paradigm definitely have to do some unlearning, when learning a new one. it's been suggested that it might be easter to learn FP, as a complete newbie to programming (i'm not sure how true this is, but it seems to me that there's some trace of truth in it, at least) |
2021-04-13 15:38:48 +0200 | xlei | (znc@unaffiliated/xlei) (Quit: ZNC - https://znc.in) |
2021-04-13 15:39:39 +0200 | <Komrad_Kafuka> | yeah, it's like learning programming all over again, could you please solve this for me ? I really want to learn how to do this |
2021-04-13 15:39:48 +0200 | <ski> | it tends to be better to suspend judgement, to not try to compare with what you already know, as you're learning a new paradigm (as opposed to learning yet another language in the same paradigm). you're in a better position to compare, when you've got more under your belt (because obviously a lot does carry over. just quite a bit less than people often tend to assume) |
2021-04-13 15:41:08 +0200 | <ski> | anyway, imho, the gains that you get, is well worth the effort. giving you another viewpoint, another set of tools you can apply and tackle problems with. and in the end, it's just that, another toolset |
2021-04-13 15:42:01 +0200 | <Komrad_Kafuka> | yeah heard it's awesome to write parsers with so I am learning |
2021-04-13 15:42:01 +0200 | Pickchea | (~private@unaffiliated/pickchea) |
2021-04-13 15:42:22 +0200 | <ski> | (sorry for the rantish, but i believe it helps to repeat these basic points, to FP beginners, to set expectations right) |
2021-04-13 15:42:30 +0200 | <ski> | what's the whole list of errors that you get ? |
2021-04-13 15:43:39 +0200 | <ski> | (and yes, it will take some amount of time. don't try to rush it too much. try to have fun, if you can. that tends to help with learning) |
2021-04-13 15:43:44 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 15:43:48 +0200 | <Komrad_Kafuka> | here you go https://paste.tomsmeding.com/yUg3QcE0 |
2021-04-13 15:44:09 +0200 | alexm_ | (~alexm_@161.8.254.229) (Ping timeout: 265 seconds) |
2021-04-13 15:44:30 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) |
2021-04-13 15:45:03 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 15:45:35 +0200 | <ski> | (i'd rather prefer to not simply hand out solutions to exercises. you'll learn much better, by struggling a bit, perhaps banging your head against the wall a bit, and realizing the problem in your mistakes. however, of course, asking for conceptual understanding, and what went wrong, and what would be good to try instead, is quite fine) |
2021-04-13 15:45:48 +0200 | <ski> | ok, so consider e.g. |
2021-04-13 15:45:51 +0200 | <ski> | pow(x count) |
2021-04-13 15:46:09 +0200 | <ski> | this means : call the function `x' with input `count', and pass the result of that call to the function `pow' |
2021-04-13 15:46:10 +0200 | xlei | (znc@unaffiliated/xlei) |
2021-04-13 15:46:23 +0200 | <ski> | .. hopefully it should be clear why that is an error here |
2021-04-13 15:46:34 +0200 | <ski> | eval (x (count + 1)) |
2021-04-13 15:46:37 +0200 | <ski> | has the same problem |
2021-04-13 15:46:38 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:f811:9873:2623:c28b) |
2021-04-13 15:46:57 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 15:47:11 +0200 | AkechiShiro | (~AkechiShi@2a01:e0a:5f9:9681:58c8:ec73:6b59:f408) (Quit: WeeChat 2.9) |
2021-04-13 15:47:15 +0200 | <Komrad_Kafuka> | uhuh ... yeah that's clear but we need the brackets don't we as you already demonstrated |
2021-04-13 15:47:21 +0200 | <ski> | (also, not trying to rush you or anything, but you didn't get around to fixing the problem with your `print', yet) |
2021-04-13 15:47:25 +0200 | <ski> | no |
2021-04-13 15:47:34 +0200 | <Komrad_Kafuka> | because pow x count becomes (pow x) count |
2021-04-13 15:47:49 +0200 | <ski> | yes, which is fine |
2021-04-13 15:47:50 +0200 | <ski> | eval x count |
2021-04-13 15:47:51 +0200 | <ski> | means |
2021-04-13 15:47:55 +0200 | <ski> | (eval x) count |
2021-04-13 15:48:06 +0200 | <ski> | and either is fine to write (but usually people prefer to read the former) |
2021-04-13 15:48:11 +0200 | <ski> | however |
2021-04-13 15:48:14 +0200 | <ski> | eval (x count) |
2021-04-13 15:48:21 +0200 | <ski> | is something completely different |
2021-04-13 15:48:42 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 15:48:47 +0200 | <ski> | (in your case, something nonsensical, since `x' is not a function) |
2021-04-13 15:50:06 +0200 | ksamak | (~ksamak@185.169.233.12) |
2021-04-13 15:50:26 +0200 | <ski> | perhaps to clarify : in your latest paste, you introduced two problems you didn't have before, while solving one earlier problem, and not solving another earlier problem |
2021-04-13 15:51:30 +0200 | <Komrad_Kafuka> | yeah I got it , fixed all that , is this correct ? :- print eval (x 0) |
2021-04-13 15:51:37 +0200 | <Komrad_Kafuka> | for printing |
2021-04-13 15:52:17 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) |
2021-04-13 15:52:18 +0200 | <ski> | not exactly |
2021-04-13 15:52:20 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 15:52:21 +0200 | rj | (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
2021-04-13 15:52:35 +0200 | <ski> | you want to pass `x' and the initial value of the counter, to `eval', then pass the result of that to `print' |
2021-04-13 15:52:49 +0200 | elfets_ | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-13 15:53:40 +0200 | <Komrad_Kafuka> | so the error that I'm having https://paste.tomsmeding.com/ny9K69ti is because of this right ? so what does my experssion indicate ? |
2021-04-13 15:54:11 +0200 | Lowl3v3l | (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2021-04-13 15:55:00 +0200 | Lowl3v3l | (~Lowl3v3l@2.207.103.26) |
2021-04-13 15:55:40 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
2021-04-13 15:55:41 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
2021-04-13 15:55:41 +0200 | sayola | (~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
2021-04-13 15:56:14 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 15:56:18 +0200 | sayola | (~vekto@2.201.85.157) |
2021-04-13 15:56:35 +0200 | rj | (~x@gateway/tor-sasl/rj) |
2021-04-13 15:56:55 +0200 | drbean_ | (~drbean@TC210-63-209-59.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
2021-04-13 15:57:09 +0200 | prinned | (~vivek@103.206.114.124) |
2021-04-13 15:57:13 +0200 | cafce25 | (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds) |
2021-04-13 15:57:44 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 15:57:57 +0200 | Komrad_Kafuka | (cbd4caba@203.212.202.186) (Quit: Connection closed) |
2021-04-13 15:58:29 +0200 | whatisRT | (~whatisRT@91.65.106.51) (Ping timeout: 246 seconds) |
2021-04-13 15:59:10 +0200 | ski | blinks |
2021-04-13 15:59:11 +0200 | Lowl3v3l | (~Lowl3v3l@2.207.103.26) (Ping timeout: 246 seconds) |
2021-04-13 16:00:24 +0200 | Nicolai | (5473e122@84-115-225-34.cable.dynamic.surfer.at) |
2021-04-13 16:00:45 +0200 | tv | (~tv@unaffiliated/tv) (Ping timeout: 260 seconds) |
2021-04-13 16:00:48 +0200 | Nicolai | Guest42754 |
2021-04-13 16:00:49 +0200 | sayola | (~vekto@2.201.85.157) (Ping timeout: 252 seconds) |
2021-04-13 16:00:51 +0200 | rj | (~x@gateway/tor-sasl/rj) (Remote host closed the connection) |
2021-04-13 16:01:12 +0200 | rj | (~x@gateway/tor-sasl/rj) |
2021-04-13 16:01:55 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 252 seconds) |
2021-04-13 16:02:45 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-04-13 16:03:30 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-13 16:03:33 +0200 | <Guest42754> | HI, does someone know how to install Haskell on a MacBook newest version? Whenever I download and try to run ghci, it says "zsh: command not found: ghci" |
2021-04-13 16:03:53 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-04-13 16:03:59 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection) |
2021-04-13 16:04:27 +0200 | hiroaki_ | (~hiroaki@2a02:8108:8c40:2bb8:c438:feb2:e809:229a) (Ping timeout: 260 seconds) |
2021-04-13 16:05:15 +0200 | whatisRT | (~whatisRT@ip5b416a33.dynamic.kabel-deutschland.de) |
2021-04-13 16:05:16 +0200 | tv | (~tv@unaffiliated/tv) |
2021-04-13 16:05:46 +0200 | tv | (~tv@unaffiliated/tv) (Client Quit) |
2021-04-13 16:06:00 +0200 | tv | (~tv@unaffiliated/tv) |
2021-04-13 16:06:05 +0200 | tv | (~tv@unaffiliated/tv) (Client Quit) |
2021-04-13 16:06:15 +0200 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2021-04-13 16:06:19 +0200 | tv | (~tv@unaffiliated/tv) |
2021-04-13 16:06:28 +0200 | nbloomf | (~nbloomf@2600:1700:ad14:3020:3117:c681:fa07:7f26) |
2021-04-13 16:06:35 +0200 | <hypercube> | hi Guest42754 |
2021-04-13 16:06:49 +0200 | <hypercube> | do you have brew setup? |
2021-04-13 16:06:50 +0200 | hiroaki_ | (~hiroaki@2a02:8108:8c40:2bb8:c438:feb2:e809:229a) |
2021-04-13 16:07:01 +0200 | sayola | (~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de) |
2021-04-13 16:07:06 +0200 | howdoi | (uid224@gateway/web/irccloud.com/x-tzexppsgjjqaiofw) |
2021-04-13 16:07:27 +0200 | <hypercube> | id just do something like |
2021-04-13 16:07:33 +0200 | <hypercube> | brew install ghc |
2021-04-13 16:07:37 +0200 | <merijn> | I wouldn't |
2021-04-13 16:07:43 +0200 | <hypercube> | and then run ghci when it's done |
2021-04-13 16:07:47 +0200 | <hypercube> | :c why not |
2021-04-13 16:07:52 +0200 | <merijn> | Homebrew is...kinda into the "bleeding" part of "bleeding edge" |
2021-04-13 16:08:03 +0200 | cafce25 | (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) |
2021-04-13 16:08:04 +0200 | <merijn> | They upgrade GHC versions *waaay* to eagerly imo |
2021-04-13 16:08:31 +0200 | <merijn> | Guest42754: What did you download? |
2021-04-13 16:08:51 +0200 | <hypercube> | really merijn? i dont use a mac but never imagined homebrew to be "bleeding edge" per se |
2021-04-13 16:09:07 +0200 | <merijn> | hypercube: They insist on being "up to date" |
2021-04-13 16:09:19 +0200 | <merijn> | hypercube: Which means that as soon as a new GHC is released, they switch to that |
2021-04-13 16:09:40 +0200 | <merijn> | Personally I'd lag GHC releases by at least 6 months unless you have a good reason to upgrade |
2021-04-13 16:10:10 +0200 | <hypercube> | merijn: i agree, even the new releases adhere to the same standards anyway |
2021-04-13 16:11:06 +0200 | Lowl3v3l | (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) |
2021-04-13 16:12:54 +0200 | malumore_ | (~malumore@151.62.122.89) |
2021-04-13 16:14:03 +0200 | Sorna | (~Sornaensi@077213203030.dynamic.telenor.dk) |
2021-04-13 16:14:34 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-13 16:15:06 +0200 | malumore | (~malumore@151.62.122.89) (Ping timeout: 240 seconds) |
2021-04-13 16:15:42 +0200 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
2021-04-13 16:16:12 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 16:17:52 +0200 | Sornaensis | (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 240 seconds) |
2021-04-13 16:18:00 +0200 | curlybangs | (185a6b4e@cpe-24-90-107-78.nyc.res.rr.com) |
2021-04-13 16:18:51 +0200 | <Guest42754> | I tried downloading brew, but when I want to install ghc from brew it says "zsh: command not found: brew" |
2021-04-13 16:19:31 +0200 | hyiltiz | (~quassel@unaffiliated/hyiltiz) (Ping timeout: 252 seconds) |
2021-04-13 16:19:49 +0200 | <Guest42754> | I think it has something to do with the path, that is why I can't open ghci in terminal |
2021-04-13 16:20:00 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) |
2021-04-13 16:20:12 +0200 | alexm_ | (~alexm_@161.8.254.229) (Ping timeout: 240 seconds) |
2021-04-13 16:20:20 +0200 | <Guest42754> | thank you for the reply! |
2021-04-13 16:20:22 +0200 | hyiltiz | (~quassel@unaffiliated/hyiltiz) |
2021-04-13 16:20:39 +0200 | AkechiShiro | (~AkechiShi@2a01:e0a:5f9:9681:2d2a:c15d:f996:c56f) |
2021-04-13 16:21:12 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 268 seconds) |
2021-04-13 16:21:15 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:f811:9873:2623:c28b) (Ping timeout: 260 seconds) |
2021-04-13 16:24:22 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-04-13 16:25:58 +0200 | mrchampion | (~mrchampio@38.18.109.23) |
2021-04-13 16:26:30 +0200 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-04-13 16:27:46 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 252 seconds) |
2021-04-13 16:29:25 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
2021-04-13 16:29:37 +0200 | Guest_55 | (5473e122@84-115-225-34.cable.dynamic.surfer.at) |
2021-04-13 16:30:06 +0200 | waleee-cl | (uid373333@gateway/web/irccloud.com/x-modavknqpmqvbcri) |
2021-04-13 16:30:27 +0200 | gienah_ | (~mwright@119-18-3-62.771203.syd.nbn.aussiebb.net) (Ping timeout: 268 seconds) |
2021-04-13 16:30:37 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-13 16:31:44 +0200 | gienah | (~mwright@gentoo/developer/gienah) |
2021-04-13 16:33:19 +0200 | <Guest_55> | I'm trying to install the Haskell platform with cup but when I run the command in terminal it tells me bad CPU type in executable. |
2021-04-13 16:33:43 +0200 | Guest42754 | (5473e122@84-115-225-34.cable.dynamic.surfer.at) (Ping timeout: 240 seconds) |
2021-04-13 16:33:43 +0200 | amerigo | (uid331857@gateway/web/irccloud.com/x-nxarbmfdflgljuos) |
2021-04-13 16:34:04 +0200 | ubert | (~Thunderbi@77.119.128.21.wireless.dyn.drei.com) |
2021-04-13 16:34:12 +0200 | <merijn> | No clue what cup is, but that error suggests you are installing x86 executables on the new M1 ARM macOS? |
2021-04-13 16:35:17 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
2021-04-13 16:35:32 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
2021-04-13 16:37:00 +0200 | <Guest_55> | I meant ghcup, but yes I'm using the new M1 ARM macOS |
2021-04-13 16:37:56 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-04-13 16:38:08 +0200 | <maerwald> | Guest_55: curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | arch -x86_64 /bin/bash |
2021-04-13 16:41:01 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 16:41:31 +0200 | <Guest_55> | arch: posix_spawnp: /bin/bash: Bad CPU type in executable |
2021-04-13 16:41:31 +0200 | <Guest_55> | (23) Failed writing body |
2021-04-13 16:41:42 +0200 | <Guest_55> | this is what it tells me now |
2021-04-13 16:43:39 +0200 | _noblegas | (uid91066@gateway/web/irccloud.com/x-nmdbocjlxmbwafmr) (Quit: Connection closed for inactivity) |
2021-04-13 16:43:44 +0200 | ram19890 | (~ram@49.207.130.109) |
2021-04-13 16:44:23 +0200 | HannaM | (~quassel@p54849510.dip0.t-ipconnect.de) |
2021-04-13 16:47:53 +0200 | <maerwald> | Guest_55: softwareupdate --install-rosetta |
2021-04-13 16:48:08 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 16:49:26 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 16:51:44 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-13 16:52:07 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 16:52:25 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 16:52:38 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 16:52:40 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
2021-04-13 16:52:44 +0200 | <Guest_55> | thank you |
2021-04-13 16:52:48 +0200 | Guest_55 | (5473e122@84-115-225-34.cable.dynamic.surfer.at) (Quit: Connection closed) |
2021-04-13 16:53:12 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 16:53:27 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 16:56:00 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 16:57:04 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) |
2021-04-13 17:00:16 +0200 | gienah_ | (~mwright@119-18-3-62.771203.syd.nbn.aussiebb.net) |
2021-04-13 17:02:45 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 17:02:58 +0200 | gienah | (~mwright@gentoo/developer/gienah) (Ping timeout: 252 seconds) |
2021-04-13 17:03:26 +0200 | Pickchea | (~private@unaffiliated/pickchea) (Ping timeout: 240 seconds) |
2021-04-13 17:06:20 +0200 | jlamothe | (~jlamothe@198.251.57.81) (Quit: leaving) |
2021-04-13 17:10:32 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) (Ping timeout: 240 seconds) |
2021-04-13 17:13:29 +0200 | curlybangs | (185a6b4e@cpe-24-90-107-78.nyc.res.rr.com) (Quit: Ping timeout (120 seconds)) |
2021-04-13 17:14:18 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-13 17:15:16 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 17:18:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-04-13 17:19:56 +0200 | pavonia | (~user@unaffiliated/siracusa) |
2021-04-13 17:20:32 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) |
2021-04-13 17:21:29 +0200 | jlamothe | (~jlamothe@198.251.57.81) |
2021-04-13 17:24:09 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 17:24:49 +0200 | roconnor | (~roconnor@host-45-78-202-80.dyn.295.ca) |
2021-04-13 17:26:33 +0200 | ksamak | (~ksamak@185.169.233.12) (Remote host closed the connection) |
2021-04-13 17:26:56 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 17:28:15 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 17:29:03 +0200 | <fiedlr> | Is there a "dual term" to reduction? That is, in a -- particular/concrete -- calculation. E.g. if we have f x = 5 and we reduce f 4 ~> 5, what do we call the inverse arrow 5 ~> f 4? |
2021-04-13 17:30:16 +0200 | <dolio> | Expansion. |
2021-04-13 17:31:01 +0200 | proteusguy | (~proteusgu@cm-58-10-209-239.revip7.asianet.co.th) (Remote host closed the connection) |
2021-04-13 17:31:19 +0200 | <fiedlr> | I thought so, thanks. Just checking others' opinion. |
2021-04-13 17:32:28 +0200 | <dolio> | It's rarely used for that sort of example, though. |
2021-04-13 17:34:23 +0200 | <fiedlr> | I think it's kind of counterintuitive in some cases, because the expression can get longer with reduction. |
2021-04-13 17:34:57 +0200 | <ski> | it's somewhat of a misnomer, one could argue, yea |
2021-04-13 17:35:13 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-04-13 17:35:54 +0200 | <ski> | however, for terminating computations, it does get closer to the result. often one would prove a computation is terminating, by introducing some kind of "size" measure, and show that it decreases (discretely) in each step (towards zero) |
2021-04-13 17:36:02 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Ping timeout: 240 seconds) |
2021-04-13 17:36:33 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:483b:ac14:a41e:28c4) |
2021-04-13 17:36:34 +0200 | <ski> | (e.g. in some cases, one might operate on trees, and get wider, but shallower, trees, in each step) |
2021-04-13 17:37:29 +0200 | <fiedlr> | Yeah I know what you mean... I meant more like when it is used with "expansion" in the same text. But I couldn't think of a better alternative :-( I guess I'll stick to that. |
2021-04-13 17:37:47 +0200 | <fiedlr> | Especially when the "size" measure is not clearly stated. |
2021-04-13 17:37:59 +0200 | myShoggoth | (~myShoggot@97-120-72-12.ptld.qwest.net) |
2021-04-13 17:39:37 +0200 | <dolio> | Well, in the case of β, there is not really a canonical choice of 'expansion' either, so it is ill behaved in that way, too. |
2021-04-13 17:39:46 +0200 | <dolio> | Unlike η, where the term is actually used. |
2021-04-13 17:41:05 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:483b:ac14:a41e:28c4) (Ping timeout: 258 seconds) |
2021-04-13 17:41:55 +0200 | usr25 | (~usr25@unaffiliated/usr25) |
2021-04-13 17:41:58 +0200 | <ski> | η-expansion for sum types would also be more open-ended, iirc |
2021-04-13 17:42:26 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 17:42:27 +0200 | <dolio> | Which is also not done. |
2021-04-13 17:42:47 +0200 | porygon2 | (~porygon2@178.239.168.171) |
2021-04-13 17:43:00 +0200 | <fiedlr> | Of course, in general it is ill-defined. That's why I talked about a particular computation branch. |
2021-04-13 17:43:02 +0200 | <ski> | mm. i suppose η-long form doesn't use that (?) |
2021-04-13 17:43:43 +0200 | ski | . o O ( normalization-by-evaluation, reflection & reification via delimited continuations ) |
2021-04-13 17:44:54 +0200 | hololeap_ | hololeap |
2021-04-13 17:45:33 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-04-13 17:46:12 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
2021-04-13 17:46:14 +0200 | ep1ctetus | (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
2021-04-13 17:46:29 +0200 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
2021-04-13 17:48:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 17:49:32 +0200 | alexm_ | (~alexm_@161.8.254.229) (Ping timeout: 240 seconds) |
2021-04-13 17:50:11 +0200 | KeyJoo | (~KeyJoo@62.176.30.171) |
2021-04-13 17:50:32 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-04-13 17:52:07 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 17:52:25 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 17:52:33 +0200 | Major_Biscuit | (~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) (Ping timeout: 240 seconds) |
2021-04-13 17:53:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 17:57:15 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-13 17:58:37 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 17:58:52 +0200 | chele | (~chele@78.128.94.174) (Ping timeout: 240 seconds) |
2021-04-13 17:59:33 +0200 | finn_elija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
2021-04-13 18:00:17 +0200 | Haskman[m] | (haskmanmat@gateway/shell/matrix.org/x-sdpzurestintfxkz) (Quit: Idle for 30+ days) |
2021-04-13 18:01:40 +0200 | finn_elija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-04-13 18:01:49 +0200 | Lycurgus | (~niemand@98.4.118.65) |
2021-04-13 18:03:55 +0200 | danso | (~dan@23-233-111-52.cpe.pppoe.ca) |
2021-04-13 18:04:19 +0200 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-04-13 18:07:05 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-04-13 18:09:56 +0200 | kritzefitz | (~kritzefit@2003:5b:203b:200::10:49) (Ping timeout: 245 seconds) |
2021-04-13 18:11:12 +0200 | pfurla_ | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-04-13 18:11:14 +0200 | coot | (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-04-13 18:11:40 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-04-13 18:16:18 +0200 | Benzi-Junior | (~BenziJuni@dsl-149-64-251.hive.is) |
2021-04-13 18:21:11 +0200 | rond_ | (5940206b@89-64-32-107.dynamic.chello.pl) |
2021-04-13 18:22:19 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:8d58:e974:e293:f3fe) (Ping timeout: 250 seconds) |
2021-04-13 18:23:06 +0200 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-04-13 18:23:22 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:16c4:781d:2418:6176) |
2021-04-13 18:23:52 +0200 | Lycurgus | (~niemand@98.4.118.65) (Quit: Exeunt) |
2021-04-13 18:24:13 +0200 | supercoven | (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
2021-04-13 18:24:14 +0200 | supercoven | (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Max SendQ exceeded) |
2021-04-13 18:24:19 +0200 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2021-04-13 18:24:28 +0200 | supercoven | (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
2021-04-13 18:25:37 +0200 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-04-13 18:26:50 +0200 | raichoo | (~raichoo@dslb-088-077-025-199.088.077.pools.vodafone-ip.de) |
2021-04-13 18:28:07 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 18:29:24 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 18:30:03 +0200 | jonatan | (~nate@h77-53-70-163.cust.a3fiber.se) (Remote host closed the connection) |
2021-04-13 18:34:39 +0200 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-04-13 18:34:43 +0200 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
2021-04-13 18:34:43 +0200 | neiluj | (~jco@unaffiliated/neiluj) |
2021-04-13 18:37:41 +0200 | bitmagie | (~Thunderbi@200116b8065a8100544220815d2d2bde.dip.versatel-1u1.de) |
2021-04-13 18:38:13 +0200 | bitmagie | (~Thunderbi@200116b8065a8100544220815d2d2bde.dip.versatel-1u1.de) (Client Quit) |
2021-04-13 18:40:37 +0200 | Sorny | (~Sornaensi@79.142.232.102) |
2021-04-13 18:40:40 +0200 | malumore_ | (~malumore@151.62.122.89) (Remote host closed the connection) |
2021-04-13 18:41:38 +0200 | malumore | (~malumore@151.62.122.89) |
2021-04-13 18:41:39 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-04-13 18:42:06 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 18:42:20 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Remote host closed the connection) |
2021-04-13 18:43:11 +0200 | Sorna | (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds) |
2021-04-13 18:44:11 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 18:44:39 +0200 | kuribas | (~user@ptr-25vy0i8g2c6vaifvwgm.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-04-13 18:45:26 +0200 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-04-13 18:45:59 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 18:47:12 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 18:47:44 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 18:48:22 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 18:49:40 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 18:50:30 +0200 | kw | (d4662d5d@212.102.45.93) |
2021-04-13 18:50:42 +0200 | jakalx | (~jakalx@base.jakalx.net) ("Error from remote client") |
2021-04-13 18:51:06 +0200 | <kw> | Is there a conventional way of naming traversals? Like how folks add 'L' to the names of lenses? |
2021-04-13 18:51:41 +0200 | fendor_ | (~fendor@91.141.2.26.wireless.dyn.drei.com) |
2021-04-13 18:52:06 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 18:52:25 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 18:53:13 +0200 | elfets_ | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
2021-04-13 18:53:37 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-04-13 18:54:11 +0200 | fendor | (~fendor@77.119.130.199.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
2021-04-13 18:54:16 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-04-13 18:55:23 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 18:55:48 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 18:56:20 +0200 | <tapas> | not really kw. I tend to name those similarly to any other traverse-based functionality |
2021-04-13 18:57:26 +0200 | <kw> | My problem is that the obvious names are already taken by less obvious functions. I'm thinking of tacking an 'A' or 'T' to the end. |
2021-04-13 18:59:04 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 268 seconds) |
2021-04-13 19:00:07 +0200 | alexm_ | (~alexm_@161.8.254.229) (Ping timeout: 252 seconds) |
2021-04-13 19:00:21 +0200 | norsxa | (uid494793@gateway/web/irccloud.com/x-qcpmzqxcuhseltht) (Quit: Connection closed for inactivity) |
2021-04-13 19:01:46 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
2021-04-13 19:05:18 +0200 | dhil | (~dhil@80.208.56.181) (Quit: Leaving) |
2021-04-13 19:06:35 +0200 | kw | (d4662d5d@212.102.45.93) (Quit: Connection closed) |
2021-04-13 19:06:47 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-04-13 19:06:49 +0200 | <ski> | perhaps you could use unusual grammatical forms .. |
2021-04-13 19:06:54 +0200 | <ski> | .. oh, they keft |
2021-04-13 19:07:08 +0200 | rond_ | (5940206b@89-64-32-107.dynamic.chello.pl) (Quit: Connection closed) |
2021-04-13 19:08:04 +0200 | jonathanx_ | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-04-13 19:08:38 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2021-04-13 19:09:35 +0200 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 246 seconds) |
2021-04-13 19:18:59 +0200 | kritzefitz | (~kritzefit@212.86.56.80) (Remote host closed the connection) |
2021-04-13 19:19:05 +0200 | HannaM | (~quassel@p54849510.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2021-04-13 19:19:18 +0200 | HannaM | (~quassel@p54849510.dip0.t-ipconnect.de) |
2021-04-13 19:20:20 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-13 19:20:26 +0200 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
2021-04-13 19:22:29 +0200 | jaykru | (~user@unaffiliated/jaykru) |
2021-04-13 19:24:02 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 19:24:38 +0200 | <jaykru> | does anybody here have experience with Gloss? I'm having trouble with `simulate`, which is successfully updating my state (as confirmed by a trace call) but not updating the display of my state :/ Is there a less magical way to work with real-time display updates in this library so I have more hope of figuring out what's going on? |
2021-04-13 19:24:43 +0200 | kristijonas_ | (~kristijon@78-56-32-39.static.zebra.lt) |
2021-04-13 19:26:11 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) (Ping timeout: 240 seconds) |
2021-04-13 19:29:00 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2021-04-13 19:29:48 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 19:31:08 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 19:32:07 +0200 | Pickchea | (~private@unaffiliated/pickchea) |
2021-04-13 19:32:34 +0200 | gitgood | (~gitgood@80-44-9-246.dynamic.dsl.as9105.com) |
2021-04-13 19:35:06 +0200 | ubert | (~Thunderbi@77.119.128.21.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
2021-04-13 19:35:47 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-13 19:36:16 +0200 | Sheilong | (uid293653@gateway/web/irccloud.com/x-ljvkmqtgqlpdhiue) |
2021-04-13 19:37:08 +0200 | ram19890 | (~ram@49.207.130.109) (Quit: Konversation terminated!) |
2021-04-13 19:38:31 +0200 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2021-04-13 19:38:35 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds) |
2021-04-13 19:38:56 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 19:39:53 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 250 seconds) |
2021-04-13 19:42:40 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-13 19:45:05 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 19:45:32 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 19:49:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 19:49:55 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 19:50:10 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 265 seconds) |
2021-04-13 19:52:06 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 19:52:25 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 19:52:55 +0200 | amerigo | (uid331857@gateway/web/irccloud.com/x-nxarbmfdflgljuos) (Quit: Connection closed for inactivity) |
2021-04-13 19:57:58 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 19:58:02 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) |
2021-04-13 19:58:05 +0200 | <wroathe> | Is the point of explicitly universally quantifying a type to imply that the types not explicitly universally quantified are instead existentially quantified? |
2021-04-13 19:58:15 +0200 | <wroathe> | i.e. the forall x. syntax |
2021-04-13 19:58:42 +0200 | vicfred | (~vicfred@unaffiliated/vicfred) |
2021-04-13 19:59:37 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-13 20:00:42 +0200 | <monochrom> | No. |
2021-04-13 20:01:10 +0200 | <wroathe> | Well, types are implicitly universall quantified by default, right? |
2021-04-13 20:01:15 +0200 | <monochrom> | Yes. |
2021-04-13 20:01:18 +0200 | <wroathe> | universally* |
2021-04-13 20:01:55 +0200 | <wroathe> | No further questions, your honor. |
2021-04-13 20:02:20 +0200 | <monochrom> | :) |
2021-04-13 20:02:22 +0200 | <ski> | "Well, types are implicitly universall quantified by default, right?" -- no |
2021-04-13 20:02:41 +0200 | <ski> | type signature are (except for in some cases) |
2021-04-13 20:02:51 +0200 | <wroathe> | type variables, I meant |
2021-04-13 20:02:53 +0200 | <wroathe> | sorry |
2021-04-13 20:03:16 +0200 | <ski> | when you talk about quantification, or any binder, you must ask "where ?" |
2021-04-13 20:03:46 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 20:03:50 +0200 | <ski> | it's not the case that `[a] -> [a]' "is short for" `forall a. [a] -> [a]', e.g. |
2021-04-13 20:05:34 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
2021-04-13 20:06:02 +0200 | <ski> | if it was, then e.g. `([a] -> [a]) -> [[a]] -> [[a]]' would mean the same as `(forall a. [a] -> [a]) -> [[a]] -> [[a]]', and `data ListTransf a = LT ([a] -> [a])' would mean the same as `data ListTransf a = LT (forall a. [a] -> [a])'. neither of which are actually the case |
2021-04-13 20:07:10 +0200 | <ski> | in most circumstances, a type *signature* without explicit quantification really means a corresponding one, where there's been added a `forall' just after the `::', binding the (free) type variables in the type |
2021-04-13 20:08:06 +0200 | alexm_ | (~alexm_@161.8.254.229) (Ping timeout: 252 seconds) |
2021-04-13 20:08:08 +0200 | ram19890 | (~ram@49.207.130.109) |
2021-04-13 20:08:51 +0200 | xprl-gjf | (~gavin@98.154.147.147.dyn.plus.net) |
2021-04-13 20:09:07 +0200 | <ski> | exceptions are e.g. `data ListTransf a = LT {appListTransf :: [a] -> [a]}', and `class Eq a where (==) :: a -> a -> Bool' (which does not mean `class Eq a where (==) :: forall a. a -> a -> Bool'. `(==)' is a monomorphic method, not a polymorphic one. `fmap', otoh is polymorphic, since it really is `class Functor f where fmap :: forall a b. (a -> b) -> (f a -> f b)') |
2021-04-13 20:09:10 +0200 | <wroathe> | ski: It was a half-assed question that monochrom correctly called me out on. I'm still working through that Typing Haskell in Haskell paper and it occurred to me while I was writing the pattern type inference routine that I still have no idea how any of that forall. stuff works. |
2021-04-13 20:09:45 +0200 | <wroathe> | ski: But there's plenty of resources to learn about it online, and so don't trouble yourself |
2021-04-13 20:10:28 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 20:10:48 +0200 | <[exa]> | wroathe: forall is only very implicitly present in THIH, they don't really implement any higher-order polymorphism |
2021-04-13 20:11:00 +0200 | <ski> | also, if you have a local signature inside a `where' or `let', which mentions a type variable bound by a type signature accompanying the outer defining equation (and `ScopedTypeVariables' is enables). (also, with `InstanceSigs', you can also put signatures inside `instance' declarations, and then tyvars mentioned in the head of the instance are in scope, so not "implicitly quantified", for the method type |
2021-04-13 20:11:02 +0200 | <monochrom> | I forgot: Does Typing Haskell in Haskell has an explicit forall internally? |
2021-04-13 20:11:06 +0200 | <ski> | signatures) |
2021-04-13 20:11:07 +0200 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-04-13 20:11:20 +0200 | <[exa]> | monochrom: iirc not |
2021-04-13 20:11:35 +0200 | <ski> | anyway, "implicit universal quantification" is nothing deep at all. it's just a convenient shorthand, to avoid explicitly spelling out `forall's all the time |
2021-04-13 20:11:52 +0200 | <wroathe> | They've got this constructor: data Scheme = Forall [Kind] (Qual Type) |
2021-04-13 20:12:09 +0200 | <monochrom> | Oh, that. |
2021-04-13 20:12:11 +0200 | <wroathe> | Which might not be the same thing. I'm hoping this paper will start making sense as I put the full type inference algorithm together |
2021-04-13 20:12:14 +0200 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-04-13 20:12:16 +0200 | <ski> | wroathe : did i mention "Polymorphic Type Inference" to you, already ? |
2021-04-13 20:12:25 +0200 | <[exa]> | THIH implements HM with typeclasses, recursion, context splits for local definitions, and some other minor goodies |
2021-04-13 20:12:29 +0200 | <wroathe> | ski: Not sure |
2021-04-13 20:12:44 +0200 | <ski> | "Polymorphic Type Inference" by Michael I. Schwartzbach in 1995-03 at <https://cs.au.dk/~amoeller/mis/typeinf.p(s|df)>,<https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.1493> |
2021-04-13 20:12:50 +0200 | <[exa]> | wroathe: the "forall" in THIH is, more or less, the one from Hindley-Milner type system, which is only allowed once per polytype. |
2021-04-13 20:12:52 +0200 | <ski> | also, perhaps |
2021-04-13 20:12:56 +0200 | <ski> | @where on-understanding |
2021-04-13 20:12:56 +0200 | <lambdabot> | "On Understanding Types, Data Abstraction, and Polymorphism" by Luca Cardelli,Peter Wegner in 1985-12 at <http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf> |
2021-04-13 20:12:59 +0200 | <ski> | @where on-understanding-revisited |
2021-04-13 20:12:59 +0200 | <lambdabot> | "On Understanding Data Abstraction, Revisited" by William R. Cook in 2009-10 at <http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf> |
2021-04-13 20:13:24 +0200 | <ski> | could be interesting, for further information relating to polymorphism/universals, and also to existentials (and relation to OO, and ADTs) |
2021-04-13 20:13:31 +0200 | wroathe | writes down the word polytype |
2021-04-13 20:14:23 +0200 | <monochrom> | OK, so in HM the dichotomy is "implicitly universally quantified" vs "an unknown waiting to be solved". |
2021-04-13 20:14:42 +0200 | <monochrom> | rather than universal vs existential |
2021-04-13 20:15:23 +0200 | <ski> | (oh, and regrettably, people often say "polymorphic type", when they really mean "universally quantified type". imho "polymorphic type" is something completely different. e.g. `forall a. a -> a' is not a polymorphic type (it is monomorphic, having kind `*'/`Type'). however `Const' (of kind `forall k. Type -> k -> Type' is a polymorphic type. also `Proxy') |
2021-04-13 20:15:36 +0200 | <monochrom> | people usually say "meta variable" for "unknown waiting to be solved". But I hate it. |
2021-04-13 20:15:54 +0200 | <[exa]> | +1 against metavariables |
2021-04-13 20:15:56 +0200 | <ski> | whyso ? |
2021-04-13 20:16:07 +0200 | <wroathe> | ski: So is your definition of polymorphic then that it has any kind, including *? |
2021-04-13 20:16:27 +0200 | <monochrom> | piling higher and deeper on the word "variable" |
2021-04-13 20:16:57 +0200 | <ski> | wroathe : no. a polymorphic value is one whose type is of the shape `forall a. ..a..'. a polymorphic type is one whose kind is of the shape `forall k. ..k..' -- i think that's the shortest way to put it |
2021-04-13 20:17:24 +0200 | <ski> | "unknown" (as a noun) is certainly not a bad term for it |
2021-04-13 20:17:42 +0200 | <ski> | wroathe : e.g. `Const' certainly does not have kind `*' |
2021-04-13 20:17:54 +0200 | <[exa]> | wroathe: perhaps best contrast it with monomorphic |
2021-04-13 20:17:59 +0200 | <ski> | @kind Const :: * |
2021-04-13 20:18:01 +0200 | <lambdabot> | error: |
2021-04-13 20:18:01 +0200 | <lambdabot> | • Expecting two more arguments to ‘Const’ |
2021-04-13 20:18:01 +0200 | <lambdabot> | Expected a type, but ‘Const’ has kind ‘* -> k0 -> *’ |
2021-04-13 20:18:02 +0200 | <ski> | @kind Const :: * -> * -> * |
2021-04-13 20:18:03 +0200 | <lambdabot> | * -> * -> * |
2021-04-13 20:18:06 +0200 | <ski> | @kind Const :: * -> (* -> *) -> * |
2021-04-13 20:18:07 +0200 | <lambdabot> | * -> (* -> *) -> * |
2021-04-13 20:18:08 +0200 | <[exa]> | ski: nitpicking/curiosity: is `Const` polymorphic? |
2021-04-13 20:18:16 +0200 | <ski> | @kind Const |
2021-04-13 20:18:18 +0200 | <lambdabot> | * -> k -> * |
2021-04-13 20:18:28 +0200 | <ski> | [exa] : yes (as i said above) |
2021-04-13 20:18:57 +0200 | <[exa]> | ah it clicked now, I was thinking at a wrong level. |
2021-04-13 20:19:00 +0200 | <[exa]> | :] |
2021-04-13 20:19:41 +0200 | <ski> | (for short, instead of "universally quantified type", i guess one could say `forall'-type) |
2021-04-13 20:20:01 +0200 | <wroathe> | What would be the simplest possible example where an explicit forall would be required to achieve behavior that's different than what haskell's default behavior is? |
2021-04-13 20:21:00 +0200 | <ski> | monochrom : "meta variable" make some kind of sense to me. but i agree it's not that great a name, a bit clunky .. and "logic variable" (basically the same thing, in a logic programming context) is more ad hoc a term |
2021-04-13 20:21:05 +0200 | <[exa]> | wroathe: guessing: `f x = x x` called as `f id` |
2021-04-13 20:21:19 +0200 | <monochrom> | You'll need rank-2 for that. forall b. (forall a. a -> a -> a) -> b -> b -> b isn't expressible in Haskell 2010. |
2021-04-13 20:21:25 +0200 | tsandstr | (~user@nat-130-132-173-221.central.yale.edu) |
2021-04-13 20:22:12 +0200 | <monochrom> | Then gain I goofed it. You can argue that it's just forall b. Bool -> b -> b -> b >:) |
2021-04-13 20:22:52 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-13 20:23:04 +0200 | <wroathe> | [exa]: Right, so in this example it's about breaking the assumption that x would have a type of kind * |
2021-04-13 20:23:38 +0200 | <wroathe> | [exa]: ? I meant to add |
2021-04-13 20:24:44 +0200 | <wroathe> | monochrom: Was that an answer to my question? |
2021-04-13 20:24:51 +0200 | <monochrom> | Yes. |
2021-04-13 20:24:56 +0200 | <wroathe> | monochrom: And if so, why is forall required there? |
2021-04-13 20:25:03 +0200 | <[exa]> | wroathe: x has to have kind *, it's used as a value-level term, right? |
2021-04-13 20:25:07 +0200 | <wroathe> | monochrom: (sorry if I'm being dense) |
2021-04-13 20:25:09 +0200 | curlybangs | (185a6b4e@cpe-24-90-107-78.nyc.res.rr.com) |
2021-04-13 20:25:13 +0200 | <monochrom> | The inner "forall a" cannot be deleted. |
2021-04-13 20:25:36 +0200 | <monochrom> | The outer "forall b", I don't care either way. |
2021-04-13 20:26:30 +0200 | <monochrom> | Here. xxx :: (forall a. a->a->a) -> Int; xxx f = f 10 20 |
2021-04-13 20:26:42 +0200 | <ski> | bah .. i know John Baez has a TWF issue talking about stuff like `2 = forall a. a -> a -> a', but i can't find it atm .. :/ |
2021-04-13 20:27:39 +0200 | <wroathe> | monochrom: So without the forall, the first paramater's type would have to be a -> a -> Int, right? |
2021-04-13 20:28:12 +0200 | <monochrom> | Without the forall, you have (a->a->a)->Int. That's very different. |
2021-04-13 20:28:27 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 20:28:40 +0200 | <monochrom> | yyy :: (a->a->a) -> Int; yyy f = f 10 20 = type error |
2021-04-13 20:28:45 +0200 | <ski> | > let frob f = f (map f ["foo","bar","baz","quux"]) in frob reverse |
2021-04-13 20:28:47 +0200 | <lambdabot> | error: |
2021-04-13 20:28:47 +0200 | <lambdabot> | • Couldn't match type ‘[Char]’ with ‘Char’ |
2021-04-13 20:28:47 +0200 | <lambdabot> | Expected type: [Char] -> Char |
2021-04-13 20:28:57 +0200 | <ski> | > let frob :: (forall a. [a] -> [a]) -> [String]; frob f = f (map f ["foo","bar","baz","quux"]) in frob reverse |
2021-04-13 20:28:59 +0200 | <lambdabot> | ["xuuq","zab","rab","oof"] |
2021-04-13 20:29:01 +0200 | <ski> | > let frob :: (forall a. [a] -> [a]) -> [String]; frob f = f (map f ["foo","bar","baz","quux"]) in frob (take 2) |
2021-04-13 20:29:04 +0200 | <lambdabot> | ["fo","ba"] |
2021-04-13 20:29:17 +0200 | <ski> | wroathe : ^ that's another rank-2 example |
2021-04-13 20:29:55 +0200 | <monochrom> | "for every person p, (if p drinks, then I drink)" vs "if (for every person p, p drinks), then I drink". |
2021-04-13 20:30:34 +0200 | jaykru | (~user@unaffiliated/jaykru) (Remote host closed the connection) |
2021-04-13 20:30:55 +0200 | <[exa]> | wroathe: anyway the previous example is basically a play on ω=λx.xx, it's a usual (anti)example in almost all type textbooks |
2021-04-13 20:31:04 +0200 | <wroathe> | ski: So in that first line, f is being applied to both an array of strings, and individual strings themselves, right? |
2021-04-13 20:31:39 +0200 | ski | . o O ( <https://en.wikipedia.org/wiki/Drinker_paradox> ; "Searchable Sets, Dubuc-Penon Compactness, Omniscience Principles, and the Drinker Paradox" by Martín Hötzel Escardó,Paulo Oliva in 2010 at <http://www.cs.bham.ac.uk/~mhe/papers/dp.pdf>,<http://www.cs.bham.ac.uk/~mhe/papers/DP/> ) |
2021-04-13 20:31:56 +0200 | <ski> | wroathe : yes (lists, not arrays) |
2021-04-13 20:32:11 +0200 | <wroathe> | ski: Sorry, I still have one foot in C land :P |
2021-04-13 20:32:13 +0200 | <wroathe> | ski: Yes, lists |
2021-04-13 20:32:19 +0200 | <ski> | wroathe : or, to take a simpler example, `let frob f = (f False,f "True") in f id' |
2021-04-13 20:32:28 +0200 | <wroathe> | ski: Perfect! |
2021-04-13 20:32:32 +0200 | <ski> | er, s/f id/frob id/ |
2021-04-13 20:33:04 +0200 | <wroathe> | ski: So without forall you couldn't express that f is both a Bool -> Bool and a String -> String |
2021-04-13 20:33:22 +0200 | ski | . o O ( <https://en.wikipedia.org/wiki/Donkey_sentence> ) |
2021-04-13 20:33:24 +0200 | <ski> | right |
2021-04-13 20:33:40 +0200 | <ski> | (with intersection types, you could. but Haskell doesn't have those) |
2021-04-13 20:34:07 +0200 | <wroathe> | ski: That example helps a lot. Thanks. |
2021-04-13 20:34:55 +0200 | <wroathe> | ski: What does this donkey sentence thing have to do with this conversation :P? |
2021-04-13 20:35:14 +0200 | <ski> | rank-2 isn't that commonly useful .. but when it what one wants to do, it can be hard to work around in another way |
2021-04-13 20:35:37 +0200 | rom1504 | (rom1504@rom1504.fr) |
2021-04-13 20:36:02 +0200 | <ski> | rank-2 can also be used for information hiding, separation of concerns. prohibiting a callback, passed to you, from reaching into your implementation innards |
2021-04-13 20:36:02 +0200 | <wroathe> | I noticed another article mentioning ScopedTypeVariables. Is it the case that forall has been overloaded with meanings that it doesn't traditionally have in Haskell? |
2021-04-13 20:36:18 +0200 | <ski> | not really |
2021-04-13 20:36:41 +0200 | <ski> | (although, `ScopedTypeVariables' is, imho, backwards ..) |
2021-04-13 20:36:49 +0200 | <wroathe> | I.e. shouldn't there be some other form of syntax indicating that a variable is "scoped"? And if not, why does it make sense ot use forall. to designate that? |
2021-04-13 20:37:00 +0200 | <wroathe> | a type variable* |
2021-04-13 20:38:22 +0200 | coot | (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
2021-04-13 20:38:30 +0200 | <geekosaur> | forall (a) to minimize stealing syntax (b) it's kinda the reverse of what it normally means, in the sense of it normally restricts the scope of a type variable but in STV expands it instead |
2021-04-13 20:38:37 +0200 | <ski> | oh, the "if (for every person p, p drinks), then I drink" reminded me of anaphora. like e.g. "Every farmer who owns a donkey beats it.". or "If there exists a prime ⌜p⌝ such that ⌜P(p)⌝, then ⌜Q(q)⌝ also holds." .. does this mean ⌜(∃p. P(p)) ⇒ Q(p)⌝ ? what is the scope of ⌜p⌝ there ?? |
2021-04-13 20:39:31 +0200 | <monochrom> | Hey, may I reduce the referential transparency problem to the donkey sentence problem? "The King of France is bald" is short for "Every time there is a King of France, he's bald", now it's "just" a donkey sentence. |
2021-04-13 20:39:40 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-13 20:39:43 +0200 | curlybangs | (185a6b4e@cpe-24-90-107-78.nyc.res.rr.com) (Quit: Connection closed) |
2021-04-13 20:40:01 +0200 | <wroathe> | This is some high brow hazing going on |
2021-04-13 20:40:08 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 20:40:23 +0200 | <wroathe> | https://www.youtube.com/watch?v=LlfSAGucPZc live action footage of ski and monochrom |
2021-04-13 20:40:29 +0200 | usr25 | (~usr25@unaffiliated/usr25) (Quit: Leaving) |
2021-04-13 20:41:27 +0200 | <wroathe> | ski: monochrom: [exa]: Well, thanks for the examples. Heading out for now. |
2021-04-13 20:43:24 +0200 | <monochrom> | "if there is an even prime, it's even" is clearly a forall sentence. |
2021-04-13 20:43:31 +0200 | <monochrom> | This is what's wrong with English. |
2021-04-13 20:44:01 +0200 | Sornaensis | (~Sornaensi@85.203.36.21) |
2021-04-13 20:44:08 +0200 | horatiohb | (~horatiohb@104.236.81.226) |
2021-04-13 20:44:17 +0200 | <ski> | i think there was some issue on GHC, talking about possibly having a language extension that "does `ScopedTypeVariables' right" (in the above sense) .. but i can't find it, atm. at least it mentioned this perception |
2021-04-13 20:44:43 +0200 | <[exa]> | wroathe: btw highly suggest getting how the STLC and Hindley-Milner "inference algorithms" work before you jump to haskell, if you didn't do that already |
2021-04-13 20:44:55 +0200 | <ski> | monochrom : Russell preferred to use an existential quantifier |
2021-04-13 20:45:01 +0200 | <monochrom> | But people don't use that idiom unless it's on the order of "if there is an odd perfect number, it's odd". |
2021-04-13 20:45:22 +0200 | <ski> | now, is "The King of France is not bald." the negation of "The King of France is bald." ? |
2021-04-13 20:45:36 +0200 | <ski> | wroathe : yw |
2021-04-13 20:45:48 +0200 | <monochrom> | the "there is" there is really poetic emphasis on "I really doubt that there is an odd perfect number. Fat chance." |
2021-04-13 20:46:49 +0200 | Sorny | (~Sornaensi@79.142.232.102) (Ping timeout: 252 seconds) |
2021-04-13 20:47:21 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2021-04-13 20:48:03 +0200 | <monochrom> | Pig Latin and Donkey English. |
2021-04-13 20:48:27 +0200 | rajivr | (uid269651@gateway/web/irccloud.com/x-zldwlxmsftsxcrzs) (Quit: Connection closed for inactivity) |
2021-04-13 20:48:39 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 265 seconds) |
2021-04-13 20:49:17 +0200 | <monochrom> | I don't know how to negate "the King of France is bald" but I know how to negate "every even prime is even", it's "every even prime is not even". |
2021-04-13 20:49:50 +0200 | <monochrom> | So perhaps "the King of France is not bald" is just right. |
2021-04-13 20:49:52 +0200 | ubert | (~Thunderbi@77.119.128.21.wireless.dyn.drei.com) |
2021-04-13 20:50:45 +0200 | <monochrom> | I still don't know what it means. "means". But I'm just an English room. |
2021-04-13 20:51:00 +0200 | <ski> | monochrom : well, one interpretation is ⌜∏ q : (∑ p : ℕ. prime(p) ∧ even(p)). even(π(q))⌝ / ⌜(q :) ((p :) ℕ × Prime p × Even p) → Even (π q)⌝, as apparently noticed by Göran Sundholm in 1986. see e.g. <https://ncatlab.org/nlab/show/dependent+type+theoretic+methods+in+natural+language+semantics> |
2021-04-13 20:52:06 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 20:52:25 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 20:52:36 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-13 20:52:49 +0200 | ukari | (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
2021-04-13 20:53:46 +0200 | ukari | (~ukari@unaffiliated/ukari) |
2021-04-13 20:53:58 +0200 | <ski> | Chung-chieh Shan and Chris Barker has also talked about stuff related to this, iirc. see e.g. "Donkey anaphora is in-scope binding" in 2008, at <https://homes.sice.indiana.edu/ccshan/> |
2021-04-13 20:57:23 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2021-04-13 20:58:18 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) |
2021-04-13 20:58:59 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 20:59:52 +0200 | urdh | (~urdh@unaffiliated/urdh) (Quit: Boom!) |
2021-04-13 20:59:57 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
2021-04-13 21:00:15 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 21:01:11 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
2021-04-13 21:03:46 +0200 | amiri | (~amiri@cpe-76-91-154-9.socal.res.rr.com) (Remote host closed the connection) |
2021-04-13 21:04:59 +0200 | <dolio> | Isn't that the wrong negation of 'every even prime is even'? |
2021-04-13 21:05:56 +0200 | amiri | (~amiri@cpe-76-91-154-9.socal.res.rr.com) |
2021-04-13 21:06:07 +0200 | <monochrom> | I would hope so. But English native speakers assured me the negation of "all is lost" is "all is not lost". |
2021-04-13 21:08:26 +0200 | <dolio> | Yeah, that phrase doesn't work the logical way. |
2021-04-13 21:08:38 +0200 | <koz_> | "Not all is lost" makes sense too? |
2021-04-13 21:09:39 +0200 | <monochrom> | Both "everyone is not an expert like you" and "not everyone is an expert like you" circulate and have the same meaning. |
2021-04-13 21:09:40 +0200 | <juri_> | not all is lost *yet*. |
2021-04-13 21:10:27 +0200 | <koz_> | "Everyone is not an expert like you" implies you're unique, but "not everyone is an expert like you" does not, at least to me. |
2021-04-13 21:10:44 +0200 | <monochrom> | and which one is actually used in an instance depends on emphasis, mood, and a coin toss. |
2021-04-13 21:11:01 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-04-13 21:11:04 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
2021-04-13 21:11:28 +0200 | <koz_> | This. |
2021-04-13 21:11:41 +0200 | __minoru__shirae | (~shiraeesh@109.166.56.189) (Ping timeout: 240 seconds) |
2021-04-13 21:11:50 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
2021-04-13 21:11:57 +0200 | <dolio> | I guess I probably wouldn't say the first one of those, but because I know the logical meaning. |
2021-04-13 21:12:02 +0200 | __minoru__shirae | (~shiraeesh@46.34.206.215) |
2021-04-13 21:16:47 +0200 | graf_blutwurst | (~user@2001:171b:226e:adc0:c021:f7f7:82b:a023) (Remote host closed the connection) |
2021-04-13 21:18:16 +0200 | xprl-gjf | (~gavin@98.154.147.147.dyn.plus.net) (Remote host closed the connection) |
2021-04-13 21:18:39 +0200 | xprl-gjf | (~gavin@98.154.147.147.dyn.plus.net) |
2021-04-13 21:21:23 +0200 | rekahsoft | (~rekahsoft@52.129.35.150) |
2021-04-13 21:23:22 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
2021-04-13 21:23:47 +0200 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-04-13 21:23:54 +0200 | bitmapper | (uid464869@gateway/web/irccloud.com/x-fibjwudbwypqphxb) |
2021-04-13 21:24:45 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
2021-04-13 21:27:01 +0200 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 260 seconds) |
2021-04-13 21:27:12 +0200 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-04-13 21:30:51 +0200 | fendor_ | fendor |
2021-04-13 21:33:03 +0200 | urdh | (~urdh@unaffiliated/urdh) |
2021-04-13 21:33:16 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 21:34:41 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-04-13 21:37:28 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:f581:26bd:b1f0:2ed5) |
2021-04-13 21:37:32 +0200 | alexm_ | (~alexm_@161.8.254.229) (Ping timeout: 240 seconds) |
2021-04-13 21:37:41 +0200 | __minoru__shirae | (~shiraeesh@46.34.206.215) (Ping timeout: 240 seconds) |
2021-04-13 21:37:52 +0200 | haskellstudent | (~quassel@213-225-6-101.nat.highway.a1.net) (Ping timeout: 240 seconds) |
2021-04-13 21:41:16 +0200 | darjeeling_ | (~darjeelin@122.245.120.156) (Ping timeout: 252 seconds) |
2021-04-13 21:41:42 +0200 | darjeeling_ | (~darjeelin@122.245.120.156) |
2021-04-13 21:41:49 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:f581:26bd:b1f0:2ed5) (Ping timeout: 258 seconds) |
2021-04-13 21:42:21 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-13 21:42:56 +0200 | awk | (~mnrmnaugh@unaffiliated/mnrmnaugh) |
2021-04-13 21:45:06 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 21:45:41 +0200 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 240 seconds) |
2021-04-13 21:48:14 +0200 | Jello_Raptor | (~Jello_Rap@li641-12.members.linode.com) (Remote host closed the connection) |
2021-04-13 21:48:31 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-13 21:50:47 +0200 | ddellaco_ | (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
2021-04-13 21:51:23 +0200 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2021-04-13 21:52:03 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 21:52:06 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 21:52:25 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 21:53:51 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-13 21:54:04 +0200 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 252 seconds) |
2021-04-13 21:54:29 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-04-13 21:58:45 +0200 | ddellacosta | (~ddellacos@ool-44c73afa.dyn.optonline.net) |
2021-04-13 21:59:49 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 22:00:37 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-04-13 22:00:40 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
2021-04-13 22:00:51 +0200 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
2021-04-13 22:01:04 +0200 | Pickchea | (~private@unaffiliated/pickchea) (Quit: Leaving) |
2021-04-13 22:02:25 +0200 | santiacq1 | (~santiacq@r167-60-199-83.dialup.adsl.anteldata.net.uy) |
2021-04-13 22:03:21 +0200 | shailangsa | (~shailangs@host86-185-98-61.range86-185.btcentralplus.com) (Ping timeout: 260 seconds) |
2021-04-13 22:04:06 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
2021-04-13 22:05:11 +0200 | santiacq | (~santiacq@r167-60-229-44.dialup.adsl.anteldata.net.uy) (Ping timeout: 240 seconds) |
2021-04-13 22:05:12 +0200 | petersen | (~petersen@redhat/juhp) (Ping timeout: 240 seconds) |
2021-04-13 22:07:38 +0200 | petersen | (~petersen@redhat/juhp) |
2021-04-13 22:07:46 +0200 | KeyJoo | (~KeyJoo@62.176.30.171) (Ping timeout: 268 seconds) |
2021-04-13 22:15:00 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-13 22:15:55 +0200 | sedeki | (~textual@unaffiliated/sedeki) |
2021-04-13 22:15:55 +0200 | xprl-gjf | (~gavin@98.154.147.147.dyn.plus.net) (Ping timeout: 252 seconds) |
2021-04-13 22:17:23 +0200 | haskellstudent | (~quassel@213-225-6-101.nat.highway.a1.net) |
2021-04-13 22:19:48 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-13 22:20:09 +0200 | DavidEichmann | (~david@47.27.93.209.dyn.plus.net) (Remote host closed the connection) |
2021-04-13 22:20:25 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-13 22:21:23 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-13 22:24:44 +0200 | __minoru__shirae | (~shiraeesh@46.34.206.215) |
2021-04-13 22:24:48 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-04-13 22:26:31 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2021-04-13 22:31:58 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 22:33:20 +0200 | awk | mnrmnaugh |
2021-04-13 22:34:37 +0200 | alx741 | (~alx741@181.196.68.37) (Ping timeout: 252 seconds) |
2021-04-13 22:34:55 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Client Quit) |
2021-04-13 22:36:16 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 252 seconds) |
2021-04-13 22:39:42 +0200 | Foritus_ | (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) |
2021-04-13 22:39:42 +0200 | Foritus | (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Disconnected by services) |
2021-04-13 22:39:56 +0200 | Foritus_ | Foritus |
2021-04-13 22:40:03 +0200 | <hololeap> | is there a name for this: "if not A then B" does not imply "if A then not B" |
2021-04-13 22:40:17 +0200 | <hololeap> | in logic |
2021-04-13 22:41:07 +0200 | srk | (~sorki@unaffiliated/srk) (Ping timeout: 260 seconds) |
2021-04-13 22:41:26 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-13 22:42:11 +0200 | <pjb> | Contraposition |
2021-04-13 22:42:14 +0200 | <pjb> | https://en.wikipedia.org/wiki/Contraposition |
2021-04-13 22:42:31 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:16c4:781d:2418:6176) (Ping timeout: 260 seconds) |
2021-04-13 22:44:13 +0200 | xff0x | (xff0x@gateway/vpn/mullvad/xff0x) |
2021-04-13 22:44:23 +0200 | <hololeap> | it sounds like contraposition is: "if A then B" _does_ imply "if not A then not B" |
2021-04-13 22:45:37 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-04-13 22:45:53 +0200 | <int-e> | hololeap: no, for contraposition you need to swap A and B in one of those implications |
2021-04-13 22:46:03 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-04-13 22:46:19 +0200 | <hololeap> | i know, i'm saying what i asked for is not contraposition, but does it have a name? some fallacy name perhaps? |
2021-04-13 22:47:44 +0200 | jakalx | (~jakalx@base.jakalx.net) ("Error from remote client") |
2021-04-13 22:48:03 +0200 | <int-e> | hololeap: I'd go with https://en.wikipedia.org/wiki/Denying_the_antecedent |
2021-04-13 22:48:06 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) |
2021-04-13 22:48:32 +0200 | xff0x | (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 240 seconds) |
2021-04-13 22:49:09 +0200 | alx741 | (~alx741@181.196.69.92) |
2021-04-13 22:50:00 +0200 | grimpeux | (~textual@modemcable153.12-178-173.mc.videotron.ca) (Client Quit) |
2021-04-13 22:50:27 +0200 | xff0x | (~xff0x@2001:1a81:52e3:ed00:16c4:781d:2418:6176) |
2021-04-13 22:51:08 +0200 | <int-e> | well, under most circumstances I would just say that it's illogical and not try to name it at all; it seems more useful to point out a counterexample (the implication fails if A and B both true) |
2021-04-13 22:51:52 +0200 | <hololeap> | hm, ok. just want to throw an example out there, since i don't see exactly what i'm looking for on that page, although it might be the correct term: "if you don't do your chores, you will die" does not imply "if you do your chores, you will _not_ die" |
2021-04-13 22:52:06 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 22:52:16 +0200 | michalz | (~user@185.246.204.44) (Remote host closed the connection) |
2021-04-13 22:52:25 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 22:52:31 +0200 | <hololeap> | so if someone argues that the former does imply the latter, is that denying the antecedent? |
2021-04-13 22:52:46 +0200 | amosbird | (~amosbird@13.75.119.182) (Ping timeout: 260 seconds) |
2021-04-13 22:53:01 +0200 | amosbird | (~amosbird@13.75.119.182) |
2021-04-13 22:53:56 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-04-13 22:56:36 +0200 | <monochrom> | hololeap: Under classical logic, "if not A then not B" is the same as "if B then A", and both are the converse of "if A then B". |
2021-04-13 22:57:07 +0200 | <monochrom> | Under intuitionistic logic, I think I am not so sure which one is still the converse. |
2021-04-13 22:57:16 +0200 | <monochrom> | (but one of them has to be) |
2021-04-13 22:58:14 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Remote host closed the connection) |
2021-04-13 22:58:30 +0200 | aerona | (~aerona@2600:6c54:4600:f300:92f6:b406:86cc:ef76) |
2021-04-13 22:58:33 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-13 22:58:50 +0200 | <monochrom> | But also, on top of classical logic, people also add a closed-world or induction meta-rule. Sometimes. |
2021-04-13 23:00:11 +0200 | <monochrom> | So when they say "if you don't do this, you'll die", and perhaps adding a few more similar rules, they also have an implicit "these are the only ways to get you to die", like in Prolog and inductive definitions. |
2021-04-13 23:00:17 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Remote host closed the connection) |
2021-04-13 23:00:23 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 23:00:51 +0200 | <dolio> | Well, that's a good example, because you're going to die regardless. |
2021-04-13 23:01:04 +0200 | <monochrom> | To be sure, when they decide to blackmail you with "if you don't give me $10000 I'll post your pics", yeah, after you give $10000 they will just ask for more. |
2021-04-13 23:01:04 +0200 | <dolio> | Just a matter of when. |
2021-04-13 23:01:28 +0200 | <monochrom> | Conclusion: Only mathematicians and blackmailers are true clasical logicians. >:) |
2021-04-13 23:02:40 +0200 | <juri_> | monochrom: never forget the first rule of crime: never cost anyone more than it would cost to have you killed. |
2021-04-13 23:03:11 +0200 | <monochrom> | That's also a rule of good business. >:) |
2021-04-13 23:03:33 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:f811:9873:2623:c28b) |
2021-04-13 23:03:49 +0200 | <juri_> | the two branches are part of the same field. |
2021-04-13 23:03:54 +0200 | <monochrom> | The authors of Freakonomics would be proud. >:) |
2021-04-13 23:04:07 +0200 | <koz_> | Crime is just business by other means. :P |
2021-04-13 23:04:52 +0200 | alexm_ | (~alexm_@161.8.254.229) (Ping timeout: 252 seconds) |
2021-04-13 23:05:51 +0200 | <hpc> | sufficiently advanced monetization |
2021-04-13 23:07:19 +0200 | <juri_> | insufficiently advanced monetization is called 'bitcoin'. |
2021-04-13 23:07:31 +0200 | sedeki | (~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
2021-04-13 23:13:12 +0200 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 240 seconds) |
2021-04-13 23:14:37 +0200 | eacameron | (uid256985@gateway/web/irccloud.com/x-aldlwnzrztbxujia) |
2021-04-13 23:15:36 +0200 | alexm_ | (~alexm_@161.8.254.229) |
2021-04-13 23:15:51 +0200 | malumore_ | (~malumore@151.62.122.89) |
2021-04-13 23:16:56 +0200 | LKoen_ | (~LKoen@65.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2021-04-13 23:17:13 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-04-13 23:18:27 +0200 | bob_twinkles | (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2021-04-13 23:19:01 +0200 | malumore | (~malumore@151.62.122.89) (Ping timeout: 260 seconds) |
2021-04-13 23:19:49 +0200 | tristanC_ | tristanC |
2021-04-13 23:20:11 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-04-13 23:20:41 +0200 | fendor | (~fendor@91.141.2.26.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
2021-04-13 23:20:44 +0200 | bob_twinkles | (~quassel@ec2-52-37-66-13.us-west-2.compute.amazonaws.com) |
2021-04-13 23:25:33 +0200 | alexm_ | (~alexm_@161.8.254.229) (Remote host closed the connection) |
2021-04-13 23:27:09 +0200 | mikoto-chan | (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
2021-04-13 23:29:26 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-13 23:31:46 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
2021-04-13 23:31:54 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-13 23:33:03 +0200 | prinned | (~vivek@103.206.114.124) (Quit: WeeChat 3.1) |
2021-04-13 23:33:52 +0200 | ubert | (~Thunderbi@77.119.128.21.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-04-13 23:38:40 +0200 | kini | (~kini@unaffiliated/kini) (Remote host closed the connection) |
2021-04-13 23:39:58 +0200 | kini | (~kini@unaffiliated/kini) |
2021-04-13 23:41:12 +0200 | __minoru__shirae | (~shiraeesh@46.34.206.215) (Ping timeout: 240 seconds) |
2021-04-13 23:41:53 +0200 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2021-04-13 23:42:09 +0200 | <maerwald> | are mixed path separators allowed on windows, e.g. "/path/to\\file"? |
2021-04-13 23:44:00 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1) |
2021-04-13 23:45:03 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-13 23:45:22 +0200 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2021-04-13 23:46:03 +0200 | shailangsa | (~shailangs@host86-185-98-61.range86-185.btcentralplus.com) |
2021-04-13 23:47:38 +0200 | ram19890 | (~ram@49.207.130.109) (Ping timeout: 240 seconds) |
2021-04-13 23:51:05 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b954090611fa1f3f989eb.dip0.t-ipconnect.de) |
2021-04-13 23:52:06 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-04-13 23:52:26 +0200 | zebrag | (~inkbottle@aaubervilliers-654-1-2-51.w83-200.abo.wanadoo.fr) |
2021-04-13 23:53:13 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-04-13 23:55:09 +0200 | p4trix | (~p4trix@72.red-83-47-172.dynamicip.rima-tde.net) (Read error: Connection reset by peer) |
2021-04-13 23:57:58 +0200 | alexm_ | (~alexm_@161.8.254.229) |