| 2021-10-21 00:00:25 +0000 | <noidedsuper> | https://gist.github.com/AnthonySuper/7c8fcab8f31ad3d2ab4911c323294fdf |
| 2021-10-21 00:03:48 +0000 | <janus> | noidedsuper: what would be an example of incorrect use? |
| 2021-10-21 00:06:18 +0000 | tommd | (~tommd@75-164-130-101.ptld.qwest.net) |
| 2021-10-21 00:06:35 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 260 seconds) |
| 2021-10-21 00:07:04 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) |
| 2021-10-21 00:09:13 +0000 | <janus> | "the inverse of `f`". the f is the record field selector here? it's inverse would be the record field value, we already have the key name |
| 2021-10-21 00:10:22 +0000 | <janus> | in my head, BothSides would contain a list of Fields. the serializer and deserializer are derivable from that list. |
| 2021-10-21 00:11:02 +0000 | <noidedsuper> | https://gist.github.com/AnthonySuper/a51be1414a9f63305fdcc9ec334f6299 |
| 2021-10-21 00:11:12 +0000 | <noidedsuper> | problem 1 already exists if you screw up and give it the wrong object key I suppose |
| 2021-10-21 00:11:48 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer) |
| 2021-10-21 00:12:11 +0000 | <janus> | i don't think problem 1 is solvable... if people are worried about things like that, they must use generics and have the key names autoderived, such that they will always correspond |
| 2021-10-21 00:12:18 +0000 | <noidedsuper> | I dunno, I might be overthinking the scope of the issue here I suppose lol |
| 2021-10-21 00:14:19 +0000 | <janus> | hmm well i don't think people should be fmapping into the fields. just like you can't fmap into a lens |
| 2021-10-21 00:14:37 +0000 | <noidedsuper> | fmap is a superclass of applicative though |
| 2021-10-21 00:14:39 +0000 | abrantesasf | (~abrantesa@187.36.170.211) |
| 2021-10-21 00:14:49 +0000 | <noidedsuper> | I guess I coudl say "don't use it pls" |
| 2021-10-21 00:15:24 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
| 2021-10-21 00:15:39 +0000 | <janus> | you could also just not use applicative, use some other thing. i dunno |
| 2021-10-21 00:15:55 +0000 | mcglk | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
| 2021-10-21 00:16:07 +0000 | <janus> | but one more thing: each combinator could reference a child schema, and there could be schemas provided for common types like strings or datetime |
| 2021-10-21 00:16:09 +0000 | mcglk_ | (~mcglk@131.191.49.120) |
| 2021-10-21 00:16:55 +0000 | <janus> | and there could be a "schemaWithDocString :: String -> Schema -> Schema" |
| 2021-10-21 00:17:44 +0000 | <noidedsuper> | Yeah the docs part is difficult |
| 2021-10-21 00:17:46 +0000 | <noidedsuper> | actually |
| 2021-10-21 00:18:03 +0000 | <noidedsuper> | Hmmmm. Maybe it isn't. |
| 2021-10-21 00:18:08 +0000 | <janus> | such that you can do `personGivenName = schemaWithDocString "The given name of a person, not the family name. Mentioned last in china" stringSchema` |
| 2021-10-21 00:18:27 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2021-10-21 00:18:55 +0000 | <janus> | which would have type `Schema String` such that it fits with the "firstName :: String" in the record |
| 2021-10-21 00:20:14 +0000 | off^ | (~off@wsip-68-227-92-38.mc.at.cox.net) |
| 2021-10-21 00:24:40 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 2021-10-21 00:25:10 +0000 | tommd | (~tommd@75-164-130-101.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 2021-10-21 00:30:33 +0000 | frosky_ | (~froskyarr@59.41.160.207) (Quit: Leaving) |
| 2021-10-21 00:36:59 +0000 | InstX1 | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 264 seconds) |
| 2021-10-21 00:38:56 +0000 | <janus> | noidedsuper: if we have a sum type `data Foo = A | B` we could have `tag2 :: Schema a -> Schema b -> Key -> String -> String` where the first string is the tag for the first case, and the second string is the tag for the second case. and the Key would be the key used to store the tag in the JSON |
| 2021-10-21 00:39:48 +0000 | <janus> | ah, it would also need the constructors for the two cases and the "reverse constructor" |
| 2021-10-21 00:40:14 +0000 | jespada | (~jespada@2803:9800:9842:7a62:5d33:6404:2aef:9813) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-10-21 00:41:43 +0000 | <janus> | the tricky thing is the reverse constructor which must decide which serializer to use. in the case of 2, it could return an "Either a b" |
| 2021-10-21 00:42:01 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2021-10-21 00:42:03 +0000 | <noidedsuper> | That's what `Selectable` gets ya |
| 2021-10-21 00:42:05 +0000 | <noidedsuper> | which is nice |
| 2021-10-21 00:42:12 +0000 | <janus> | ah ok |
| 2021-10-21 00:42:21 +0000 | <janus> | but it would be boiler-platey right? |
| 2021-10-21 00:43:43 +0000 | <janus> | oops tag2 should of course return "Schema (Either a b)", i forgot that |
| 2021-10-21 00:44:51 +0000 | <janus> | but the definition of Foo is too boring, it should be "A String | B Int" |
| 2021-10-21 00:45:40 +0000 | MQ-17J | (~MQ-17J@8.21.10.23) (Ping timeout: 260 seconds) |
| 2021-10-21 00:47:20 +0000 | <janus> | then the call would be `tag2 stringSchema intSchema "tag" "a" "b" (\case A str -> Left str; B int -> Right int) :: Schema Foo)`... but now i forgot that it would also need A and B passed to it such that it can also construct a Foo... |
| 2021-10-21 00:48:14 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 00:48:24 +0000 | MQ-17J | (~MQ-17J@8.6.144.186) |
| 2021-10-21 00:49:18 +0000 | <janus> | i wonder how it looks with selectable with more than two cases |
| 2021-10-21 00:51:10 +0000 | lbseale_ | (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 2021-10-21 00:52:40 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 2021-10-21 00:53:30 +0000 | pavonia | (~user@user/siracusa) |
| 2021-10-21 00:58:18 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 2021-10-21 01:00:08 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-10-21 01:01:26 +0000 | aa | (~douglasco@200.146.85.128.static.gvt.net.br) (Read error: Connection reset by peer) |
| 2021-10-21 01:01:35 +0000 | aa | (~douglasco@200.146.85.128.static.gvt.net.br) |
| 2021-10-21 01:01:54 +0000 | <noidedsuper> | It's basically just nesting I think |
| 2021-10-21 01:02:31 +0000 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2021-10-21 01:06:40 +0000 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Ping timeout: 260 seconds) |
| 2021-10-21 01:07:11 +0000 | Boarders | (sid425905@id-425905.lymington.irccloud.com) (Ping timeout: 245 seconds) |
| 2021-10-21 01:07:36 +0000 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) (Ping timeout: 245 seconds) |
| 2021-10-21 01:07:54 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 2021-10-21 01:07:59 +0000 | sclv | (sid39734@haskell/developer/sclv) (Ping timeout: 258 seconds) |
| 2021-10-21 01:09:25 +0000 | truckasaurus | (sid457088@helmsley.irccloud.com) (Ping timeout: 252 seconds) |
| 2021-10-21 01:09:31 +0000 | elvishjerricco | (sid237756@helmsley.irccloud.com) (Ping timeout: 258 seconds) |
| 2021-10-21 01:09:46 +0000 | gaze___ | (sid387101@helmsley.irccloud.com) (Ping timeout: 268 seconds) |
| 2021-10-21 01:10:10 +0000 | grfn | (sid449115@helmsley.irccloud.com) (Ping timeout: 260 seconds) |
| 2021-10-21 01:11:53 +0000 | elvishjerricco | (sid237756@helmsley.irccloud.com) |
| 2021-10-21 01:11:57 +0000 | truckasaurus | (sid457088@helmsley.irccloud.com) |
| 2021-10-21 01:11:58 +0000 | gaze___ | (sid387101@id-387101.helmsley.irccloud.com) |
| 2021-10-21 01:12:04 +0000 | kupi | (uid212005@hampstead.irccloud.com) |
| 2021-10-21 01:12:06 +0000 | Boarders | (sid425905@lymington.irccloud.com) |
| 2021-10-21 01:12:09 +0000 | sclv | (sid39734@haskell/developer/sclv) |
| 2021-10-21 01:12:59 +0000 | whez | (sid470288@lymington.irccloud.com) (Ping timeout: 264 seconds) |
| 2021-10-21 01:13:21 +0000 | grfn | (sid449115@id-449115.helmsley.irccloud.com) |
| 2021-10-21 01:13:24 +0000 | <janus> | noidedsuper: to generalize this in an arity safe maner, the tag values and the constructors (A, B, ...) and their schemata can be combined using a combinator. and then all those combined cases could be combined with a function that extracts the value from each case, in this case "... -> (Foo -> String) -> (Foo -> Int) -> Schema Foo". with applicative style, correspondence between the extracting function |
| 2021-10-21 01:13:31 +0000 | <janus> | and the combined tag-cases is ensured |
| 2021-10-21 01:14:17 +0000 | burnside_ | (~burnsides@client-8-85.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 2021-10-21 01:16:09 +0000 | whez | (sid470288@id-470288.lymington.irccloud.com) |
| 2021-10-21 01:20:48 +0000 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) |
| 2021-10-21 01:23:30 +0000 | emf_ | (~emf@2620:10d:c090:400::5:70ff) |
| 2021-10-21 01:26:46 +0000 | emf | (~emf@2620:10d:c090:400::5:7558) (Ping timeout: 245 seconds) |
| 2021-10-21 01:29:34 +0000 | guydb89 | (~guy@98.200.9.228) (Ping timeout: 260 seconds) |
| 2021-10-21 01:31:14 +0000 | guydb89 | (~guy@98.198.129.114) |
| 2021-10-21 01:31:28 +0000 | <noidedsuper> | I can play around with it! |
| 2021-10-21 01:31:45 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 260 seconds) |
| 2021-10-21 01:31:53 +0000 | <noidedsuper> | Tomorrow, unfortunately. But thanks for the feedback, Janus! It really helped. |
| 2021-10-21 01:32:32 +0000 | noidedsuper | (~manjaro-u@2601:280:5a81:520::f8be) (Remote host closed the connection) |
| 2021-10-21 01:32:55 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 2021-10-21 01:32:57 +0000 | <janus> | good, happy to help, i should mention that i didn't invent any of this, my ideas are taken from libraries such as Orville |
| 2021-10-21 01:36:21 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 2021-10-21 01:38:47 +0000 | ski | (~ski@remote12.chalmers.se) (Ping timeout: 264 seconds) |
| 2021-10-21 01:41:53 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-10-21 01:45:10 +0000 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
| 2021-10-21 01:45:13 +0000 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 2021-10-21 01:46:40 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 01:47:11 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
| 2021-10-21 01:48:58 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-10-21 01:50:18 +0000 | random-jellyfish | (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds) |
| 2021-10-21 01:50:29 +0000 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 2021-10-21 01:53:22 +0000 | xff0x | (~xff0x@port-92-195-26-90.dynamic.as20676.net) (Ping timeout: 260 seconds) |
| 2021-10-21 01:53:52 +0000 | zaquest | (~notzaques@5.128.210.178) |
| 2021-10-21 01:55:00 +0000 | sedeki | (~textual@user/sedeki) |
| 2021-10-21 01:55:10 +0000 | xff0x | (~xff0x@2001:1a81:524c:400:5205:21d5:64e1:92) |
| 2021-10-21 01:56:32 +0000 | falafel | (~falafel@2603-8000-d800-688c-c469-52c4-b20d-779e.res6.spectrum.com) |
| 2021-10-21 01:57:57 +0000 | falafel | (~falafel@2603-8000-d800-688c-c469-52c4-b20d-779e.res6.spectrum.com) (Remote host closed the connection) |
| 2021-10-21 01:58:10 +0000 | falafel | (~falafel@cpe-76-168-195-162.socal.res.rr.com) |
| 2021-10-21 01:59:41 +0000 | stiell | (~stiell@gateway/tor-sasl/stiell) |
| 2021-10-21 02:00:50 +0000 | mmhat | (~mmh@55d4469f.access.ecotel.net) (Ping timeout: 260 seconds) |
| 2021-10-21 02:06:25 +0000 | sedeki | (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 2021-10-21 02:06:31 +0000 | guydb89 | (~guy@98.198.129.114) (Remote host closed the connection) |
| 2021-10-21 02:12:35 +0000 | MQ-17J | (~MQ-17J@8.6.144.186) (Ping timeout: 260 seconds) |
| 2021-10-21 02:13:17 +0000 | mmhat | (~mmh@55d45798.access.ecotel.net) |
| 2021-10-21 02:16:05 +0000 | falafel | (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 260 seconds) |
| 2021-10-21 02:19:30 +0000 | econo | (uid147250@user/econo) |
| 2021-10-21 02:21:20 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2021-10-21 02:32:34 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 2021-10-21 02:33:55 +0000 | alx741 | (~alx741@186.178.109.50) (Quit: alx741) |
| 2021-10-21 02:41:00 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-10-21 02:41:00 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 2021-10-21 02:41:00 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2021-10-21 02:42:23 +0000 | td_ | (~td@94.134.91.144) (Ping timeout: 264 seconds) |
| 2021-10-21 02:44:06 +0000 | td_ | (~td@94.134.91.188) |
| 2021-10-21 02:45:15 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds) |
| 2021-10-21 02:46:27 +0000 | mmhat | (~mmh@55d45798.access.ecotel.net) (Quit: WeeChat 3.3) |
| 2021-10-21 02:46:30 +0000 | peterhil | (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) (Ping timeout: 258 seconds) |
| 2021-10-21 02:46:49 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2021-10-21 02:47:14 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 03:00:02 +0000 | haasn | (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 2021-10-21 03:00:33 +0000 | favonia | (~favonia@user/favonia) |
| 2021-10-21 03:01:32 +0000 | haasn | (~nand@haasn.dev) |
| 2021-10-21 03:03:20 +0000 | segfaultfizzbuzz | (~segfaultf@135-180-0-138.static.sonic.net) (Ping timeout: 260 seconds) |
| 2021-10-21 03:08:44 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 258 seconds) |
| 2021-10-21 03:13:10 +0000 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
| 2021-10-21 03:13:41 +0000 | connrs | (~connrs@conners.plus.com) (Read error: Connection reset by peer) |
| 2021-10-21 03:16:24 +0000 | connrs | (~connrs@conners.plus.com) |
| 2021-10-21 03:23:47 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 2021-10-21 03:24:26 +0000 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 2021-10-21 03:27:31 +0000 | jlamothe | (~jlamothe@198.251.61.229) (Ping timeout: 258 seconds) |
| 2021-10-21 03:28:53 +0000 | benin0 | (~benin@183.82.179.164) |
| 2021-10-21 03:29:07 +0000 | benin | (~benin@183.82.179.164) (Ping timeout: 252 seconds) |
| 2021-10-21 03:29:07 +0000 | benin0 | benin |
| 2021-10-21 03:30:43 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-10-21 03:31:22 +0000 | <jackdk> | I'm trying to use servant-server's UVerb machinery, and am getting a strange type error: `Expected one of: '[WithStatus 200 [StoredResourceData id]], but got: WithStatus 200 [StoredResourceData id]`. I suspect that it's a type family thing: that the open union membership test fails before the type families reduce to being equal - should I be looking for ways to delay/force type family evaluation? |
| 2021-10-21 03:31:52 +0000 | <jackdk> | `StoredResourceData :: Type -> Type` is an associated type family I've written for a `class Resource id` |
| 2021-10-21 03:37:26 +0000 | <jackdk> | Here is a minimal example, using servant and servant-server 0.18.3 https://www.irccloud.com/pastebin/Zui39kYI/servant-generic-error.hs |
| 2021-10-21 03:38:06 +0000 | <jackdk> | The error appears on the call to `respond` |
| 2021-10-21 03:38:20 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 2021-10-21 03:40:35 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 2021-10-21 03:43:43 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 2021-10-21 03:43:46 +0000 | Everything | (~Everythin@37.115.210.35) |
| 2021-10-21 03:43:59 +0000 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-10-21 03:46:43 +0000 | <jackdk> | https://github.com/haskell-servant/servant/issues/1381 seems to be related but I don't completely follow the discussion. |
| 2021-10-21 04:05:15 +0000 | Stotteren | (~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) |
| 2021-10-21 04:05:18 +0000 | Gestotterd | (~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) |
| 2021-10-21 04:12:26 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:12:43 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:16:28 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:17:18 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 04:17:36 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:19:16 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:19:33 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:19:42 +0000 | LiaoTao_ | (~LiaoTao@gateway/tor-sasl/liaotao) |
| 2021-10-21 04:21:06 +0000 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds) |
| 2021-10-21 04:23:16 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:23:33 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:25:05 +0000 | <hololeap> | extendWith :: Comonad w => (w a -> b) -> w a -> w (a,b) |
| 2021-10-21 04:25:13 +0000 | <hololeap> | extendWith f w = let a = extract w in (a,) <$> extend f w |
| 2021-10-21 04:25:18 +0000 | <hololeap> | does this look reasonable? |
| 2021-10-21 04:26:02 +0000 | <hololeap> | I'm just trying to use extend but keep the previous value around. is there a more idiomatic way to do this? |
| 2021-10-21 04:26:56 +0000 | ArctVaulMarsHMPJ | (~pjetcetal@128-71-225-36.broadband.corbina.ru) |
| 2021-10-21 04:29:30 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:29:48 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:32:01 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 2021-10-21 04:33:41 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:33:59 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:36:14 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 2021-10-21 04:38:00 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:38:10 +0000 | favonia | (~favonia@user/favonia) |
| 2021-10-21 04:38:18 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:39:59 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:40:18 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:40:57 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) |
| 2021-10-21 04:42:26 +0000 | Guest32 | (~Guest32@2603-8000-3f42-d500-c5e7-f6b2-1524-e2a0.res6.spectrum.com) |
| 2021-10-21 04:44:14 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:44:31 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:45:15 +0000 | Guest32 | (~Guest32@2603-8000-3f42-d500-c5e7-f6b2-1524-e2a0.res6.spectrum.com) (Client Quit) |
| 2021-10-21 04:48:12 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:48:30 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:49:57 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 04:51:51 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-10-21 04:54:26 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:54:26 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 2021-10-21 04:54:28 +0000 | ArctVaulMarsHMPJ | (~pjetcetal@128-71-225-36.broadband.corbina.ru) (Quit: EXIT) |
| 2021-10-21 04:54:45 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:56:25 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:56:42 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:58:23 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 04:58:41 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 04:59:57 +0000 | sedeki | (~textual@user/sedeki) |
| 2021-10-21 05:02:22 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:02:41 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:04:21 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:04:38 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:06:19 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:06:36 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:06:46 +0000 | sedeki | (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 2021-10-21 05:08:26 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:08:44 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:10:25 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:10:42 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:12:23 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:12:40 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:14:21 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:14:39 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:14:47 +0000 | off^ | (~off@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 264 seconds) |
| 2021-10-21 05:16:27 +0000 | off^ | (~off@wsip-68-227-92-38.mc.at.cox.net) |
| 2021-10-21 05:16:27 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:16:45 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:16:47 +0000 | abrantesasf | (~abrantesa@187.36.170.211) (Remote host closed the connection) |
| 2021-10-21 05:18:27 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:18:45 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:25:02 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:25:20 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:27:52 +0000 | ski | (~ski@remote12.chalmers.se) |
| 2021-10-21 05:27:55 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:28:12 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 05:29:53 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 05:33:30 +0000 | michalz | (~michalz@185.246.204.93) |
| 2021-10-21 05:39:24 +0000 | alzgh | (~alzgh@user/alzgh) |
| 2021-10-21 05:41:47 +0000 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 264 seconds) |
| 2021-10-21 05:47:17 +0000 | InstX1 | (~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) |
| 2021-10-21 05:52:14 +0000 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
| 2021-10-21 05:53:48 +0000 | hololeap | (~hololeap@user/hololeap) |
| 2021-10-21 05:54:13 +0000 | jlamothe | (~jlamothe@198.251.61.229) |
| 2021-10-21 06:03:28 +0000 | <hololeap> | @hoogle Comonad w => (w a -> b) -> w a -> w (a,b) |
| 2021-10-21 06:03:30 +0000 | <lambdabot> | No results found |
| 2021-10-21 06:04:29 +0000 | ubert | (~Thunderbi@77.119.208.184.wireless.dyn.drei.com) |
| 2021-10-21 06:04:40 +0000 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
| 2021-10-21 06:06:01 +0000 | hololeap | (~hololeap@user/hololeap) |
| 2021-10-21 06:06:21 +0000 | remexre | (~remexre@user/remexre) (Ping timeout: 245 seconds) |
| 2021-10-21 06:06:41 +0000 | echoreply | (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 2.8) |
| 2021-10-21 06:06:59 +0000 | joeyh_ | (joeyh@kitenet.net) |
| 2021-10-21 06:07:08 +0000 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer) |
| 2021-10-21 06:07:11 +0000 | echoreply | (~echoreply@45.32.163.16) |
| 2021-10-21 06:07:19 +0000 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
| 2021-10-21 06:07:36 +0000 | joeyh | (joeyh@kitenet.net) (Ping timeout: 245 seconds) |
| 2021-10-21 06:07:36 +0000 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 245 seconds) |
| 2021-10-21 06:08:24 +0000 | remexre | (~remexre@user/remexre) |
| 2021-10-21 06:09:35 +0000 | tomboy64 | (~tomboy64@user/tomboy64) |
| 2021-10-21 06:09:59 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2021-10-21 06:10:15 +0000 | <InstX1> | uouououo |
| 2021-10-21 06:10:51 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 2021-10-21 06:14:36 +0000 | _xor | (~xor@72.49.199.147) (Read error: Connection reset by peer) |
| 2021-10-21 06:15:22 +0000 | <hololeap> | me too! |
| 2021-10-21 06:15:46 +0000 | <ski> | % :type (<<=) . (extract &&&) |
| 2021-10-21 06:15:46 +0000 | <yahb> | ski: Comonad w => (w a -> c') -> w a -> w (a, c') |
| 2021-10-21 06:17:03 +0000 | <hololeap> | % :type (extract &&&) |
| 2021-10-21 06:17:03 +0000 | <yahb> | hololeap: Comonad w => (w c -> c') -> w c -> (c, c') |
| 2021-10-21 06:17:14 +0000 | <hololeap> | % :type (e&&&) |
| 2021-10-21 06:17:14 +0000 | <yahb> | hololeap: ; <interactive>:1:2: error: Variable not in scope: e :: a b c |
| 2021-10-21 06:17:16 +0000 | <hololeap> | % :type (&&&) |
| 2021-10-21 06:17:16 +0000 | <yahb> | hololeap: Arrow a => a b c -> a b c' -> a b (c, c') |
| 2021-10-21 06:17:18 +0000 | <ski> | % :type \f -> (=>> \wa -> (extract wa,f wa)) |
| 2021-10-21 06:17:18 +0000 | <yahb> | ski: Comonad w => (w a -> b) -> w a -> w (a, b) |
| 2021-10-21 06:18:10 +0000 | Null_A | (~null_a@2601:645:8700:2290:a94b:e46c:6690:e477) |
| 2021-10-21 06:19:00 +0000 | _xor | (~xor@72.49.199.147) |
| 2021-10-21 06:19:42 +0000 | _xor | (~xor@72.49.199.147) (Read error: Connection reset by peer) |
| 2021-10-21 06:20:01 +0000 | _xor | (~xor@72.49.199.147) |
| 2021-10-21 06:21:31 +0000 | favonia | (~favonia@user/favonia) (Remote host closed the connection) |
| 2021-10-21 06:21:37 +0000 | <hololeap> | % :type \f w -> extend f (EnvT (extract w) w) |
| 2021-10-21 06:21:37 +0000 | <yahb> | hololeap: ; <interactive>:1:19: error: Data constructor not in scope: EnvT :: t -> w1 t -> w a |
| 2021-10-21 06:21:53 +0000 | <hololeap> | % import Control.Comonad.Env |
| 2021-10-21 06:21:53 +0000 | <yahb> | hololeap: |
| 2021-10-21 06:21:57 +0000 | <hololeap> | % :type \f w -> extend f (EnvT (extract w) w) |
| 2021-10-21 06:21:57 +0000 | <yahb> | hololeap: Comonad w => (EnvT a w a -> b) -> w a -> EnvT a w b |
| 2021-10-21 06:22:58 +0000 | <hololeap> | well my first one is probably easiest to understand :D |
| 2021-10-21 06:23:19 +0000 | <ski> | what's it supposed to do ? |
| 2021-10-21 06:23:33 +0000 | <hololeap> | it should be pretty clear from the type signature |
| 2021-10-21 06:23:43 +0000 | <ski> | % :i EnvT |
| 2021-10-21 06:23:43 +0000 | <yahb> | ski: type role EnvT representational representational nominal; type EnvT :: * -> (* -> *) -> * -> *; data EnvT e w a = EnvT e (w a); -- Defined in `Control.Comonad.Trans.Env'; instance [safe] (Monoid e, Applicative m) => Applicative (EnvT e m) -- Defined in `Control.Comonad.Trans.Env'; instance [safe] Functor w => Functor (EnvT e w) -- Defined in `Control.Comonad.Trans.Env'; instance [safe] Traversable w |
| 2021-10-21 06:24:25 +0000 | <hololeap> | EnvT is irrelevant. I just want to use `extend` while keeping the original `a` around |
| 2021-10-21 06:25:08 +0000 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-10-21 06:25:20 +0000 | <hololeap> | it doesn't even have to be it's own function, really... I could just extract `a` before running extend |
| 2021-10-21 06:28:40 +0000 | mbuf | (~Shakthi@171.61.241.145) |
| 2021-10-21 06:29:11 +0000 | ubert | (~Thunderbi@77.119.208.184.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
| 2021-10-21 06:33:53 +0000 | Null_A | (~null_a@2601:645:8700:2290:a94b:e46c:6690:e477) () |
| 2021-10-21 06:36:49 +0000 | fendor | (~fendor@178.115.78.81.wireless.dyn.drei.com) |
| 2021-10-21 06:37:37 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2021-10-21 06:43:03 +0000 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
| 2021-10-21 06:45:19 +0000 | zaquest | (~notzaques@5.128.210.178) (Ping timeout: 258 seconds) |
| 2021-10-21 06:46:28 +0000 | timCF_ | (~timCF@m91-129-111-87.cust.tele2.ee) (Ping timeout: 258 seconds) |
| 2021-10-21 06:46:52 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-10-21 06:47:56 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 06:48:07 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2041:32a6:242d:4938) |
| 2021-10-21 06:48:11 +0000 | zaquest | (~notzaques@5.128.210.178) |
| 2021-10-21 06:51:27 +0000 | jonathanx | (~jonathan@178.174.176.109) (Ping timeout: 258 seconds) |
| 2021-10-21 06:52:01 +0000 | mei | (~mei@user/mei) |
| 2021-10-21 06:56:19 +0000 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
| 2021-10-21 06:58:41 +0000 | benin1 | (~benin@106.198.91.7) |
| 2021-10-21 06:59:37 +0000 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Quit: WeeChat 3.3) |
| 2021-10-21 07:00:45 +0000 | benin | (~benin@183.82.179.164) (Ping timeout: 260 seconds) |
| 2021-10-21 07:00:45 +0000 | benin1 | benin |
| 2021-10-21 07:00:59 +0000 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) (Ping timeout: 264 seconds) |
| 2021-10-21 07:02:06 +0000 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 2021-10-21 07:04:15 +0000 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
| 2021-10-21 07:04:20 +0000 | favonia | (~favonia@user/favonia) |
| 2021-10-21 07:05:00 +0000 | <Inst> | erm |
| 2021-10-21 07:05:03 +0000 | <Inst> | could I have some help? |
| 2021-10-21 07:05:43 +0000 | <Inst> | I already finished my textbook's intro information on typeclasses, but I'm still having difficulty concerning the notation used in :type |
| 2021-10-21 07:05:50 +0000 | wonko | (~wjc@62.115.229.50) |
| 2021-10-21 07:06:02 +0000 | <Inst> | type a => a -> b -> a etc... |
| 2021-10-21 07:06:09 +0000 | <Inst> | this is an existing mathematical notation, right? |
| 2021-10-21 07:06:25 +0000 | <Inst> | what's the name of it? I'd like to be able to look up the notation individually |
| 2021-10-21 07:07:09 +0000 | <dibblego> | "Haskell" |
| 2021-10-21 07:09:13 +0000 | <c_wraith> | Haskell is a lot less based on math than some would have you believe. |
| 2021-10-21 07:10:13 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 2021-10-21 07:14:01 +0000 | <pavonia> | Inst: What part of that is confusing to you? |
| 2021-10-21 07:14:27 +0000 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) |
| 2021-10-21 07:15:08 +0000 | <Inst> | on the left side, you have inputs, on the right side, you have outputs |
| 2021-10-21 07:15:10 +0000 | <Inst> | that much I understand |
| 2021-10-21 07:15:27 +0000 | <Inst> | why you have a -> a or a -> b -> a, on the other hand, I don't see the pattern |
| 2021-10-21 07:15:32 +0000 | mei | (~mei@user/mei) (Read error: Connection reset by peer) |
| 2021-10-21 07:15:38 +0000 | <dibblego> | -> is right-associative |
| 2021-10-21 07:15:42 +0000 | <dibblego> | a -> b -> a |
| 2021-10-21 07:15:45 +0000 | <dibblego> | a -> (b -> a) |
| 2021-10-21 07:16:07 +0000 | mei | (~mei@user/mei) |
| 2021-10-21 07:16:16 +0000 | <dibblego> | function application (space) is left-associative |
| 2021-10-21 07:16:25 +0000 | <dibblego> | > const 7 "abc" |
| 2021-10-21 07:16:25 +0000 | <xsperry> | a and b are type variables. names can be arbitrary, but there are some common conventions |
| 2021-10-21 07:16:26 +0000 | <lambdabot> | 7 |
| 2021-10-21 07:16:30 +0000 | <dibblego> | > (const 7) "abc" |
| 2021-10-21 07:16:32 +0000 | <lambdabot> | 7 |
| 2021-10-21 07:16:35 +0000 | <Inst> | i'll probably be fine on my own, reading existing texts |
| 2021-10-21 07:16:51 +0000 | <xsperry> | :t id |
| 2021-10-21 07:16:52 +0000 | <lambdabot> | a -> a |
| 2021-10-21 07:17:04 +0000 | <pavonia> | Inst: x => y is not inputs and outputs, x are type constraints, y is the actual type of the function |
| 2021-10-21 07:17:10 +0000 | <xsperry> | a in id declaration stands for any type |
| 2021-10-21 07:17:30 +0000 | <Inst> | for x, y, then? |
| 2021-10-21 07:18:47 +0000 | <pavonia> | I don't understand the question |
| 2021-10-21 07:19:34 +0000 | <Inst> | read x => y as "for x, y" then? |
| 2021-10-21 07:20:10 +0000 | <xsperry> | section left of => constrains types |
| 2021-10-21 07:20:51 +0000 | <yushyin> | 'type y restricted by the context x' |
| 2021-10-21 07:21:30 +0000 | <xsperry> | :t (+) |
| 2021-10-21 07:21:31 +0000 | <lambdabot> | Num a => a -> a -> a |
| 2021-10-21 07:21:37 +0000 | <Inst> | okay, fine |
| 2021-10-21 07:21:42 +0000 | <c_wraith> | Haskell types do have an implicit top-level forall on all the type variables in them. |
| 2021-10-21 07:21:43 +0000 | <xsperry> | type a has to be instance of Num typeclass |
| 2021-10-21 07:21:55 +0000 | <Inst> | i see, thanks, still not getting it, but i have to leave soon |
| 2021-10-21 07:21:55 +0000 | <c_wraith> | If that's a thing you're wondering about |
| 2021-10-21 07:22:49 +0000 | <Inst> | heh |
| 2021-10-21 07:22:50 +0000 | <Inst> | https://serokell.io/files/5x/5xzv88ej.TopReasons.png |
| 2021-10-21 07:23:20 +0000 | <ski> | @type sort |
| 2021-10-21 07:23:21 +0000 | <lambdabot> | Ord a => [a] -> [a] |
| 2021-10-21 07:24:35 +0000 | <ski> | `sort' is a function taking a list of values of type `a' as input, and produces a list of values of type `a' as output, for all types `a', provided `a' is in the type class `Ord' (`Ord a' can be read as values of type `a' supporting ordering comparision) |
| 2021-10-21 07:25:12 +0000 | <ski> | @type take |
| 2021-10-21 07:25:13 +0000 | <lambdabot> | Int -> [a] -> [a] |
| 2021-10-21 07:26:02 +0000 | <ski> | `take' is a function taking an `Int' as input, and producing another function as output, that in turn takes a list of `a's, producing a list of `a' -- again for all types `a' (no restriction this time) |
| 2021-10-21 07:29:57 +0000 | chele | (~chele@user/chele) |
| 2021-10-21 07:30:18 +0000 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
| 2021-10-21 07:36:32 +0000 | jumper149 | (~jumper149@80.240.31.34) |
| 2021-10-21 07:40:36 +0000 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) |
| 2021-10-21 07:49:34 +0000 | acidjnk_new3 | (~acidjnk@p200300d0c703cb878d78f02b280dc416.dip0.t-ipconnect.de) |
| 2021-10-21 07:52:57 +0000 | oskar_greda | (~oskar_gre@84.65.227.20) |
| 2021-10-21 07:54:17 +0000 | aegon | (~mike@174.127.249.180) (Remote host closed the connection) |
| 2021-10-21 07:57:14 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2021-10-21 08:00:07 +0000 | ubert | (~Thunderbi@77.119.198.223.wireless.dyn.drei.com) |
| 2021-10-21 08:01:06 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-10-21 08:08:07 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-10-21 08:08:14 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 2021-10-21 08:10:16 +0000 | hendursa1 | (~weechat@user/hendursaga) |
| 2021-10-21 08:11:51 +0000 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 2021-10-21 08:16:07 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
| 2021-10-21 08:16:32 +0000 | LiaoTao_ | (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
| 2021-10-21 08:16:54 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2021-10-21 08:17:16 +0000 | benin5 | (~benin@183.82.207.116) |
| 2021-10-21 08:17:26 +0000 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
| 2021-10-21 08:17:29 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-10-21 08:17:54 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-10-21 08:19:30 +0000 | benin | (~benin@106.198.91.7) (Ping timeout: 260 seconds) |
| 2021-10-21 08:19:30 +0000 | benin5 | benin |
| 2021-10-21 08:19:38 +0000 | ub | (~Thunderbi@77.119.198.223.wireless.dyn.drei.com) |
| 2021-10-21 08:20:04 +0000 | synthmeat | (~synthmeat@user/synthmeat) (Ping timeout: 252 seconds) |
| 2021-10-21 08:21:00 +0000 | tomsmeding | (~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-10-21 08:22:18 +0000 | quintasan | (~quassel@quintasan.pl) (Ping timeout: 258 seconds) |
| 2021-10-21 08:22:31 +0000 | beaky | (~beaky@2a03:b0c0:0:1010::1e:a001) (Read error: Connection reset by peer) |
| 2021-10-21 08:26:20 +0000 | acidjnk_new | (~acidjnk@p200300d0c703cb87897f933eeab9e85f.dip0.t-ipconnect.de) |
| 2021-10-21 08:29:19 +0000 | oskar_greda | (~oskar_gre@84.65.227.20) (Quit: Client closed) |
| 2021-10-21 08:29:58 +0000 | acidjnk_new3 | (~acidjnk@p200300d0c703cb878d78f02b280dc416.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2021-10-21 08:30:33 +0000 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
| 2021-10-21 08:30:53 +0000 | alzgh | (~alzgh@user/alzgh) |
| 2021-10-21 08:31:51 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) |
| 2021-10-21 08:35:31 +0000 | rune | (sid21167@ilkley.irccloud.com) (Ping timeout: 245 seconds) |
| 2021-10-21 08:36:27 +0000 | hubvu | (sid495858@user/hubvu) (Read error: Connection reset by peer) |
| 2021-10-21 08:36:29 +0000 | kupi | (uid212005@hampstead.irccloud.com) (Ping timeout: 258 seconds) |
| 2021-10-21 08:36:36 +0000 | hubvu | (sid495858@user/hubvu) |
| 2021-10-21 08:37:25 +0000 | acidjnk_new3 | (~acidjnk@pd9e0b933.dip0.t-ipconnect.de) |
| 2021-10-21 08:38:01 +0000 | teehemkay | (sid14792@lymington.irccloud.com) (Ping timeout: 245 seconds) |
| 2021-10-21 08:38:13 +0000 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
| 2021-10-21 08:38:41 +0000 | rune | (sid21167@id-21167.ilkley.irccloud.com) |
| 2021-10-21 08:38:46 +0000 | Adeon | (sid418992@lymington.irccloud.com) (Ping timeout: 252 seconds) |
| 2021-10-21 08:39:16 +0000 | dermato | (~dermatobr@cpe-70-114-219-76.austin.res.rr.com) (Ping timeout: 252 seconds) |
| 2021-10-21 08:39:32 +0000 | teehemkay | (sid14792@id-14792.lymington.irccloud.com) |
| 2021-10-21 08:40:28 +0000 | Adeon | (sid418992@id-418992.lymington.irccloud.com) |
| 2021-10-21 08:40:35 +0000 | dermato | (~dermatobr@cpe-70-114-219-76.austin.res.rr.com) |
| 2021-10-21 08:40:42 +0000 | acidjnk_new | (~acidjnk@p200300d0c703cb87897f933eeab9e85f.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 2021-10-21 08:42:24 +0000 | kristjansson_ | (sid126207@tinside.irccloud.com) (Ping timeout: 268 seconds) |
| 2021-10-21 08:42:48 +0000 | kristjansson_ | (sid126207@id-126207.tinside.irccloud.com) |
| 2021-10-21 08:43:56 +0000 | mcfilib | (sid302703@user/mcfilib) (Ping timeout: 265 seconds) |
| 2021-10-21 08:45:06 +0000 | sa | (sid1055@tinside.irccloud.com) (Ping timeout: 245 seconds) |
| 2021-10-21 08:45:59 +0000 | mrianbloom | (sid350277@ilkley.irccloud.com) (Ping timeout: 264 seconds) |
| 2021-10-21 08:46:08 +0000 | rond_ | (~rond_@2a01:115f:943:5e00:2fb4:6165:4fdd:161d) |
| 2021-10-21 08:47:07 +0000 | mcfilib | (sid302703@user/mcfilib) |
| 2021-10-21 08:48:10 +0000 | sa | (sid1055@id-1055.tinside.irccloud.com) |
| 2021-10-21 08:48:59 +0000 | hook54321 | (sid149355@user/hook54321) (Ping timeout: 264 seconds) |
| 2021-10-21 08:49:09 +0000 | mrianbloom | (sid350277@id-350277.ilkley.irccloud.com) |
| 2021-10-21 08:49:28 +0000 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |
| 2021-10-21 08:49:51 +0000 | quintasan | (~quassel@quintasan.pl) |
| 2021-10-21 08:50:32 +0000 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 2021-10-21 08:51:22 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 08:51:26 +0000 | hook54321 | (sid149355@user/hook54321) |
| 2021-10-21 08:52:32 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) |
| 2021-10-21 08:52:36 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) (Remote host closed the connection) |
| 2021-10-21 08:53:31 +0000 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
| 2021-10-21 08:56:15 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 2021-10-21 08:59:01 +0000 | synthmeat | (~synthmeat@user/synthmeat) |
| 2021-10-21 08:59:30 +0000 | Matheo_bis | (~matheo@user/matheo-bis/x-4309430) |
| 2021-10-21 09:04:32 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2021-10-21 09:06:05 +0000 | beaky | (~beaky@2a03:b0c0:0:1010::1e:a001) |
| 2021-10-21 09:13:32 +0000 | mvk | (~mvk@2607:fea8:5cc1:300::4b63) |
| 2021-10-21 09:13:51 +0000 | anoe | (~anoe@delanoe.org) (Quit: Lost terminal) |
| 2021-10-21 09:18:00 +0000 | rond_ | (~rond_@2a01:115f:943:5e00:2fb4:6165:4fdd:161d) (Quit: Client closed) |
| 2021-10-21 09:18:26 +0000 | rond_ | (~rond_@2a01:115f:943:5e00:2fb4:6165:4fdd:161d) |
| 2021-10-21 09:19:05 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2021-10-21 09:20:53 +0000 | rdz1789 | (~rdz1789@139.47.40.241) |
| 2021-10-21 09:24:58 +0000 | neurocyte0132889 | (~neurocyte@195.80.52.7) |
| 2021-10-21 09:24:58 +0000 | neurocyte0132889 | (~neurocyte@195.80.52.7) (Changing host) |
| 2021-10-21 09:24:58 +0000 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
| 2021-10-21 09:25:45 +0000 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
| 2021-10-21 09:26:46 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-10-21 09:36:21 +0000 | mvk | (~mvk@2607:fea8:5cc1:300::4b63) (Ping timeout: 245 seconds) |
| 2021-10-21 09:41:04 +0000 | timCF | (~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving) |
| 2021-10-21 09:43:57 +0000 | peterhil | (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) |
| 2021-10-21 09:46:34 +0000 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
| 2021-10-21 09:47:48 +0000 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan) |
| 2021-10-21 09:48:54 +0000 | pavonia | (~user@user/siracusa) (Ping timeout: 260 seconds) |
| 2021-10-21 09:50:30 +0000 | ubert | (~Thunderbi@77.119.198.223.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
| 2021-10-21 09:50:30 +0000 | ub | ubert |
| 2021-10-21 09:51:00 +0000 | Matheo_bis | (~matheo@user/matheo-bis/x-4309430) (Quit: Konversation terminated!) |
| 2021-10-21 09:53:00 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) |
| 2021-10-21 09:55:22 +0000 | pavonia | (~user@user/siracusa) |
| 2021-10-21 09:56:02 +0000 | pmk | (~user@2a02:587:9414:7d03:fb87:7810:40ab:edc0) |
| 2021-10-21 09:56:14 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 2021-10-21 09:56:42 +0000 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) |
| 2021-10-21 09:57:59 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) (Ping timeout: 264 seconds) |
| 2021-10-21 09:59:51 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 2021-10-21 10:00:09 +0000 | tinwood | (~tinwood@canonical/tinwood) (Remote host closed the connection) |
| 2021-10-21 10:00:37 +0000 | __monty__ | (~toonn@user/toonn) |
| 2021-10-21 10:03:09 +0000 | tinwood | (~tinwood@general.default.akavanagh.uk0.bigv.io) |
| 2021-10-21 10:03:09 +0000 | tinwood | (~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host) |
| 2021-10-21 10:03:09 +0000 | tinwood | (~tinwood@canonical/tinwood) |
| 2021-10-21 10:06:26 +0000 | michalz | (~michalz@185.246.204.93) (Remote host closed the connection) |
| 2021-10-21 10:07:52 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) |
| 2021-10-21 10:09:49 +0000 | michalz | (~michalz@185.246.204.73) |
| 2021-10-21 10:15:41 +0000 | rond_ | (~rond_@2a01:115f:943:5e00:2fb4:6165:4fdd:161d) (Quit: Client closed) |
| 2021-10-21 10:18:41 +0000 | Farzad | (~FarzadBek@178.131.30.153) |
| 2021-10-21 10:22:23 +0000 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
| 2021-10-21 10:22:40 +0000 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
| 2021-10-21 10:28:44 +0000 | mmhat | (~mmh@55d45798.access.ecotel.net) |
| 2021-10-21 10:36:00 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 10:36:35 +0000 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds) |
| 2021-10-21 10:41:24 +0000 | ubert1 | (~Thunderbi@77.119.198.223.wireless.dyn.drei.com) |
| 2021-10-21 10:41:26 +0000 | _bo | (~bo@217.18.216.247) |
| 2021-10-21 10:46:45 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 10:49:07 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 10:49:48 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 276 seconds) |
| 2021-10-21 10:50:27 +0000 | gensyst | (gensyst@user/gensyst) |
| 2021-10-21 10:50:55 +0000 | <gensyst> | I have a strange/noobish question about EDSLs, compiling Haskell code, and executables. |
| 2021-10-21 10:50:55 +0000 | <gensyst> | Is it considered normal to have an EDSL in Haskell that "users" (e.g. programmers in my company) use to write their domain-specific "programs" (written in the EDSL) and run these programs by running GHC and running the binary executable over and over again? |
| 2021-10-21 10:51:16 +0000 | <gensyst> | I think this is strange for two reasons: |
| 2021-10-21 10:51:28 +0000 | <gensyst> | 1) You're running GHC every time for every little change in the domain-specific "program" (e.g. tweaking some parameter), so you're sort of "abusing" Haskell as a scripting language. |
| 2021-10-21 10:51:29 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-10-21 10:51:45 +0000 | <gensyst> | 2) Isn't the whole point of Haskell to execute GHC once, get one binary executable once, and then run that executable thousands of times instead of... running GHC thousands of times and each of the thousand binary executables only once? |
| 2021-10-21 10:51:51 +0000 | <gensyst> | Do you see what I mean? Some thoughts on this I'd appreciate a lot! |
| 2021-10-21 10:53:52 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 10:57:05 +0000 | <lortabac> | gensyst: if I understand correctly, they are using a Haskell library to make programs that they compile with GHC |
| 2021-10-21 10:57:15 +0000 | <lortabac> | I don't see anything wrong with this |
| 2021-10-21 10:57:39 +0000 | nsilv | (~NSilv@host-87-15-180-17.retail.telecomitalia.it) |
| 2021-10-21 10:57:43 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 10:57:57 +0000 | <gensyst> | lortabac, A part of me thinks it's a bit weird to be running "cabal build; cabal exec" all the time... |
| 2021-10-21 10:58:03 +0000 | <lortabac> | except the requirement to install GHC, cabal etc. |
| 2021-10-21 10:58:17 +0000 | <lortabac> | if these are non-tech people that's a different story |
| 2021-10-21 10:58:42 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-10-21 10:58:48 +0000 | <lortabac> | in that case maybe you want to find a solution that doesn't require knowledge of Haskell compilation |
| 2021-10-21 10:59:53 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 11:00:50 +0000 | alx741 | (~alx741@186.178.109.50) |
| 2021-10-21 11:01:16 +0000 | <gensyst> | well they're technical enough to plug and play things together with haskell and run cabal. |
| 2021-10-21 11:01:25 +0000 | <gensyst> | my question was just why this isn't strange lol |
| 2021-10-21 11:01:48 +0000 | <lortabac> | another question is, do they already have all the cabal machinery? |
| 2021-10-21 11:01:52 +0000 | <gensyst> | Hmm on the other hand, I am aware of e.g. the turtle library (shell scripting in Haskell), so scripting in Haskell isn't maybe all that weird |
| 2021-10-21 11:02:42 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 11:02:48 +0000 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
| 2021-10-21 11:02:55 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 11:04:50 +0000 | <gensyst> | that part's not an issue. they can set up cabal |
| 2021-10-21 11:04:50 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 11:05:11 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 2021-10-21 11:05:37 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 11:05:45 +0000 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 260 seconds) |
| 2021-10-21 11:05:54 +0000 | nsilv | (~NSilv@host-87-15-180-17.retail.telecomitalia.it) (Quit: WeeChat 2.7.1) |
| 2021-10-21 11:08:21 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija) |
| 2021-10-21 11:09:50 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 11:11:59 +0000 | nattiestnate | (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) |
| 2021-10-21 11:12:00 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2021-10-21 11:15:12 +0000 | ggVGc | (~ggVGc@a.lowtech.earth) |
| 2021-10-21 11:16:02 +0000 | Midjak | (~Midjak@82-65-111-221.subs.proxad.net) |
| 2021-10-21 11:16:49 +0000 | <geekosaur> | gensyst, it may not even require cabal. there's runghc |
| 2021-10-21 11:17:12 +0000 | <gensyst> | yeah, i use runghc. makes it convenient |
| 2021-10-21 11:17:18 +0000 | <geekosaur> | especially helpful if you're constantly making small changes and testing, you can skip the compile step. of coyurse it'll be slower since it's interpreted |
| 2021-10-21 11:17:23 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 11:17:42 +0000 | <gensyst> | oh sorry. i wasn't aware of runghc actually lol. (confused it with ghcup) |
| 2021-10-21 11:17:44 +0000 | <ggVGc> | wish there was a multi-module version of runghc |
| 2021-10-21 11:17:50 +0000 | hiruji | (~hiruji@user/hiruji) |
| 2021-10-21 11:18:01 +0000 | <ggVGc> | but I guess that would become very complicated very fast |
| 2021-10-21 11:18:17 +0000 | <gensyst> | geekosaur, but is this practice of EDSL & running ghc over and over again considered "natural"? |
| 2021-10-21 11:18:35 +0000 | off^ | (~off@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 260 seconds) |
| 2021-10-21 11:18:38 +0000 | <hughjfchen> | gensyst: i think you can take a look at propellor |
| 2021-10-21 11:19:03 +0000 | <geekosaur> | "natural" is in the eye of the beholder. if it works for you, that's enough |
| 2021-10-21 11:19:07 +0000 | <hughjfchen> | it |
| 2021-10-21 11:19:50 +0000 | <ggVGc> | is propellor like ansible? |
| 2021-10-21 11:20:05 +0000 | <hughjfchen> | is a config management using haskell lang to write config property |
| 2021-10-21 11:20:25 +0000 | <ggVGc> | does it serve the same use-cases one would use ansible for?\ |
| 2021-10-21 11:21:03 +0000 | <ggVGc> | seems like it |
| 2021-10-21 11:21:22 +0000 | <merijn> | ggVGc: cabal-install supports scripting so you can use it like runghc, but with library dependencies :p |
| 2021-10-21 11:21:47 +0000 | <merijn> | ggVGc: The documentation of this feature can be called...Spartan, though :p |
| 2021-10-21 11:21:50 +0000 | <ggVGc> | merijn: realy? I was looking for that a while back, but couldn't find anything |
| 2021-10-21 11:22:12 +0000 | <merijn> | Has existed for, at least, 2 years |
| 2021-10-21 11:22:23 +0000 | <merijn> | ggVGc: But I don't think hvr ever got around to writing docs |
| 2021-10-21 11:23:13 +0000 | <merijn> | ggVGc: https://github.com/haskell/cabal/issues/3843 |
| 2021-10-21 11:25:36 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 11:26:06 +0000 | <ggVGc> | nice, thanks! Will have to give it a go when I get back to my haskell project, after these two physics exams which I am sure to fail |
| 2021-10-21 11:27:22 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-10-21 11:28:54 +0000 | <gensyst> | geekosaur, hmmmmm ok. |
| 2021-10-21 11:30:04 +0000 | <merijn> | I mean, basically this question boils down to "what do you think of staged compilation?" |
| 2021-10-21 11:30:27 +0000 | <merijn> | And my opinion would generally be "staged compilation is great, I wish GHC had better support!" |
| 2021-10-21 11:31:04 +0000 | <merijn> | TH is kinda staged compilation, but with fucky interactions and lack of clear boundaries/separation |
| 2021-10-21 11:31:10 +0000 | <gensyst> | well, doesn't EDSL sort of *imply* that's the way you're going to do things? |
| 2021-10-21 11:31:19 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 11:31:47 +0000 | <gensyst> | it implies you're going to be doing stuff at Haskell level (to benefit from type system) instead of reusing final binary executables (or composing such binary executables) |
| 2021-10-21 11:32:25 +0000 | ubert | (~Thunderbi@77.119.198.223.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-10-21 11:32:25 +0000 | ubert1 | ubert |
| 2021-10-21 11:32:54 +0000 | <gensyst> | the question was basically, is it "ok" to compile all the time. i think you guys are saying there's nothing wrong with it, so i'll just do it i guess :D |
| 2021-10-21 11:33:27 +0000 | Rembane_ | shakes fist at TH |
| 2021-10-21 11:34:01 +0000 | <geekosaur> | gensyst, take a look at xmonad. you may be mod-q recompiling quite a bit at first until you decide you're satisfied with the result. (of course you may then not touch it for years…) |
| 2021-10-21 11:35:58 +0000 | <geekosaur> | (xmonad = window manager EDSL) |
| 2021-10-21 11:35:58 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 11:36:09 +0000 | <gensyst> | ok that's cool |
| 2021-10-21 11:36:17 +0000 | <gensyst> | gives me more confidence |
| 2021-10-21 11:36:24 +0000 | <gensyst> | this is the way :D |
| 2021-10-21 11:39:20 +0000 | osa1 | (~osa1@178.233.26.94) |
| 2021-10-21 11:40:26 +0000 | <gensyst> | geekosaur, hmm wow. somehow xmonad will use this new .o file? allowing you to plug and play |
| 2021-10-21 11:40:42 +0000 | <gensyst> | at run time |
| 2021-10-21 11:40:48 +0000 | <gensyst> | how... |
| 2021-10-21 11:41:03 +0000 | <osa1> | Does QuickCheck's shrink (https://hackage.haskell.org/package/QuickCheck-2.10/docs/Test-QuickCheck-Arbitrary.html#v:shrink) do depth-first or breadth-first search? When it finds a shrunk example that fails, does it search further (if so, for how long?), or stop and return the first one it finds? |
| 2021-10-21 11:42:36 +0000 | <ggVGc> | merijn: maybe I misunderstood. Should this allow me to make import another file in the same directory in a Main.hs file? |
| 2021-10-21 11:42:43 +0000 | <ggVGc> | -make |
| 2021-10-21 11:43:10 +0000 | <ggVGc> | merijn: e.g https://gist.github.com/0792e113c9b894f854e4675b221aefc6 and then have a Test/Foo.hs file in the same directory |
| 2021-10-21 11:43:49 +0000 | <ggVGc> | This is what I get, https://gist.github.com/c595db27571a9ac7da18d92e417b85bd |
| 2021-10-21 11:44:03 +0000 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
| 2021-10-21 11:44:36 +0000 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Read error: Connection reset by peer) |
| 2021-10-21 11:44:59 +0000 | neurocyte0132889 | (~neurocyte@195.80.52.7) |
| 2021-10-21 11:44:59 +0000 | neurocyte0132889 | (~neurocyte@195.80.52.7) (Changing host) |
| 2021-10-21 11:44:59 +0000 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
| 2021-10-21 11:47:27 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 11:48:52 +0000 | Guest28 | (~Guest28@2601:281:d480:2ce0:28de:914f:fac6:10b7) |
| 2021-10-21 11:49:17 +0000 | <geekosaur> | xmonad compiles the new config and then does a Unix exec()on it, replacing itself with the new config |
| 2021-10-21 11:49:34 +0000 | <geekosaur> | there is a way tio do binary plugins in Haskell but it's kinda painful |
| 2021-10-21 11:49:50 +0000 | <geekosaur> | @hackage plugins |
| 2021-10-21 11:49:50 +0000 | <lambdabot> | https://hackage.haskell.org/package/plugins |
| 2021-10-21 11:49:56 +0000 | <gensyst> | ok great! |
| 2021-10-21 11:50:08 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 11:50:10 +0000 | <gensyst> | thank you all for these tips and tricks! |
| 2021-10-21 11:50:17 +0000 | <gensyst> | i can carry on now with confidence |
| 2021-10-21 11:51:00 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 11:52:17 +0000 | <merijn> | ggVGc: Not sure about that. I meant more that you can depend on packages beyond just what's normally pre-installed |
| 2021-10-21 11:54:05 +0000 | gensyst | (gensyst@user/gensyst) (Quit: Leaving) |
| 2021-10-21 11:55:08 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) |
| 2021-10-21 11:55:40 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 2021-10-21 11:57:51 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-10-21 11:59:10 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 11:59:31 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) (Ping timeout: 252 seconds) |
| 2021-10-21 12:03:06 +0000 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 258 seconds) |
| 2021-10-21 12:06:33 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 12:08:03 +0000 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 2021-10-21 12:09:00 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 12:10:32 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 12:11:08 +0000 | neurocyte0132889 | (~neurocyte@195.80.52.7) |
| 2021-10-21 12:11:08 +0000 | neurocyte0132889 | (~neurocyte@195.80.52.7) (Changing host) |
| 2021-10-21 12:11:08 +0000 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
| 2021-10-21 12:19:25 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2021-10-21 12:22:14 +0000 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 2021-10-21 12:22:25 +0000 | osa1 | (~osa1@178.233.26.94) () |
| 2021-10-21 12:26:41 +0000 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
| 2021-10-21 12:28:14 +0000 | jespada | (~jespada@2803:9800:9842:7a62:9560:3718:bb2f:f5ee) |
| 2021-10-21 12:29:08 +0000 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
| 2021-10-21 12:31:18 +0000 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection) |
| 2021-10-21 12:31:33 +0000 | LiaoTao | (~LiaoTao@gateway/tor-sasl/liaotao) |
| 2021-10-21 12:31:53 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2021-10-21 12:34:08 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2021-10-21 12:34:09 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 12:34:51 +0000 | MQ-17J | (~MQ-17J@8.21.10.17) |
| 2021-10-21 12:35:24 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2021-10-21 12:37:38 +0000 | favonia | (~favonia@user/favonia) (Remote host closed the connection) |
| 2021-10-21 12:37:59 +0000 | favonia | (~favonia@user/favonia) |
| 2021-10-21 12:42:49 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-10-21 12:42:58 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 260 seconds) |
| 2021-10-21 12:43:41 +0000 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 2021-10-21 12:44:15 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 12:47:56 +0000 | Guest28 | (~Guest28@2601:281:d480:2ce0:28de:914f:fac6:10b7) (Quit: Client closed) |
| 2021-10-21 12:49:48 +0000 | max22- | (~maxime@2a01cb0883359800acc7df5c88e6f73e.ipv6.abo.wanadoo.fr) |
| 2021-10-21 12:49:58 +0000 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
| 2021-10-21 12:50:25 +0000 | nattiestnate | (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.3) |
| 2021-10-21 12:53:37 +0000 | zebrag | (~chris@user/zebrag) |
| 2021-10-21 12:54:58 +0000 | <ggVGc> | merijn: might still start using this for my lab reports... |
| 2021-10-21 12:55:37 +0000 | ixosa | (~xaaxor@251.222.198.146.dyn.plus.net) |
| 2021-10-21 12:55:48 +0000 | <ggVGc> | was contemplating taking my lab notes in haskell to easily have the calculated results from the same source when I write the report, but hesitated because of execution complications. So currently unhappily using python |
| 2021-10-21 13:01:09 +0000 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 2021-10-21 13:01:45 +0000 | ixosa | (~xaaxor@251.222.198.146.dyn.plus.net) (Ping timeout: 258 seconds) |
| 2021-10-21 13:02:30 +0000 | iqofi | (~ixosa@217.138.222.92) |
| 2021-10-21 13:05:34 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-10-21 13:07:16 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-10-21 13:08:16 +0000 | floridmarshmallo | (~nate@pool-100-19-29-41.phlapa.fios.verizon.net) |
| 2021-10-21 13:08:41 +0000 | floridmarshmallo | (~nate@pool-100-19-29-41.phlapa.fios.verizon.net) (Client Quit) |
| 2021-10-21 13:13:21 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 13:15:09 +0000 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
| 2021-10-21 13:17:59 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 2021-10-21 13:21:29 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) |
| 2021-10-21 13:21:56 +0000 | sagax | (~sagax_nb@user/sagax) |
| 2021-10-21 13:22:08 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 13:23:26 +0000 | benin | (~benin@183.82.207.116) (Quit: The Lounge - https://thelounge.chat) |
| 2021-10-21 13:26:50 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
| 2021-10-21 13:28:40 +0000 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 2021-10-21 13:29:05 +0000 | floridmarshmallo | (~quickspin@pool-100-19-29-41.phlapa.fios.verizon.net) |
| 2021-10-21 13:29:28 +0000 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving) |
| 2021-10-21 13:29:34 +0000 | floridmarshmallo | (~quickspin@pool-100-19-29-41.phlapa.fios.verizon.net) (Client Quit) |
| 2021-10-21 13:30:41 +0000 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 2021-10-21 13:35:05 +0000 | xiongxin | (~quassel@113.116.32.4) |
| 2021-10-21 13:37:21 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 13:37:36 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-10-21 13:37:55 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2021-10-21 13:38:46 +0000 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 265 seconds) |
| 2021-10-21 13:39:19 +0000 | mniip | (mniip@libera/staff/mniip) (Remote host closed the connection) |
| 2021-10-21 13:40:11 +0000 | favonia | (~favonia@user/favonia) |
| 2021-10-21 13:41:30 +0000 | michalz | (~michalz@185.246.204.73) (Ping timeout: 260 seconds) |
| 2021-10-21 13:44:01 +0000 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 252 seconds) |
| 2021-10-21 13:44:12 +0000 | mniip | (~mniip@libera/staff/mniip) |
| 2021-10-21 13:47:22 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 260 seconds) |
| 2021-10-21 13:47:37 +0000 | hippoid | (~idris@184.105.6.88) |
| 2021-10-21 13:48:05 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-10-21 13:48:05 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 2021-10-21 13:48:05 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2021-10-21 13:48:34 +0000 | <hippoid> | :t \f g x y -> f (g x y) |
| 2021-10-21 13:48:35 +0000 | <lambdabot> | (t1 -> t2) -> (t3 -> t4 -> t1) -> t3 -> t4 -> t2 |
| 2021-10-21 13:49:13 +0000 | <hippoid> | I want to create a type alias for that function type |
| 2021-10-21 13:49:33 +0000 | <hippoid> | (t1 -> t2) -> (t3 -> t4 -> t1) -> t3 -> t4 -> t2 |
| 2021-10-21 13:50:03 +0000 | <hippoid> | type F = (t1 -> t2) -> (t3 -> t4 -> t1) -> t3 -> t4 -> t2 |
| 2021-10-21 13:50:13 +0000 | <hippoid> | does not work |
| 2021-10-21 13:50:26 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 258 seconds) |
| 2021-10-21 13:51:24 +0000 | <geekosaur> | no, you really need to pass the types as parameters |
| 2021-10-21 13:51:57 +0000 | <geekosaur> | since otherwise they can't unify with any other type (and how would you specify which type is which?) |
| 2021-10-21 13:52:24 +0000 | <geekosaur> | type F t1 t2 t3 t4 = ... |
| 2021-10-21 13:54:23 +0000 | MQ-17J | (~MQ-17J@8.21.10.17) (Ping timeout: 264 seconds) |
| 2021-10-21 13:55:21 +0000 | <hippoid> | geekosaur: I don't know where to start to answer your question "how would you specify which type is which" |
| 2021-10-21 13:55:53 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 13:56:01 +0000 | <merijn> | hippoid: Let's rewind, what do you think the behaviour of that alias would be? |
| 2021-10-21 13:56:27 +0000 | <pavonia> | Perhaps they actually want type F = forall t1 t2 t3 t4. ... |
| 2021-10-21 13:56:29 +0000 | <merijn> | geekosaur: I mean, it could be a Rank2 alias, but I find that questionable as well |
| 2021-10-21 13:56:36 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) |
| 2021-10-21 13:56:57 +0000 | <merijn> | pavonia: Yes, I realise that that *might* be the solution. That's why I asked why/what they want it to do |
| 2021-10-21 13:57:16 +0000 | <merijn> | pavonia: Preemptively handing out rope like Rank2 types is generally...not helpful to beginners :p |
| 2021-10-21 13:58:01 +0000 | <hippoid> | merijn: to rewind further, I'm trying to do Eta reduction on the function \f g x y -> f (g x y) to get it into point-free style, and I'm using QuickCheck to test my equivalances. I want to pass the function into my property test, and that's why I want an alias for that long function type |
| 2021-10-21 13:58:15 +0000 | <pavonia> | Fair enough |
| 2021-10-21 14:00:18 +0000 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
| 2021-10-21 14:00:21 +0000 | <hippoid> | like this https://paste.tomsmeding.com/jFMbE1G6 |
| 2021-10-21 14:00:42 +0000 | Kaiepi | (~Kaiepi@156.34.44.192) (Remote host closed the connection) |
| 2021-10-21 14:00:44 +0000 | <lyxia> | For QuickCheck you will have to choose some concrete types for t1 ... t4 anyway |
| 2021-10-21 14:01:29 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 265 seconds) |
| 2021-10-21 14:01:35 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) (Ping timeout: 264 seconds) |
| 2021-10-21 14:03:42 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 2021-10-21 14:04:38 +0000 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 2021-10-21 14:06:11 +0000 | <hippoid> | ok, i got it working well enough. thanks! |
| 2021-10-21 14:08:12 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 14:09:27 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-10-21 14:09:45 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 2021-10-21 14:10:48 +0000 | xiongxin | (~quassel@113.116.32.4) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2021-10-21 14:11:08 +0000 | favonia | (~favonia@user/favonia) |
| 2021-10-21 14:11:40 +0000 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) |
| 2021-10-21 14:13:00 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 2021-10-21 14:14:10 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
| 2021-10-21 14:15:20 +0000 | rdz1789 | (~rdz1789@139.47.40.241) (Ping timeout: 260 seconds) |
| 2021-10-21 14:17:24 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2041:32a6:242d:4938) (Quit: WeeChat 2.8) |
| 2021-10-21 14:19:35 +0000 | hippoid | (~idris@184.105.6.88) (Quit: leaving) |
| 2021-10-21 14:20:30 +0000 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 260 seconds) |
| 2021-10-21 14:20:41 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-10-21 14:20:41 +0000 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 2021-10-21 14:20:41 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2021-10-21 14:20:41 +0000 | <AWizzArd> | There are plenty streaming libs for GHC. Pipes. Conduit. Streams. Streamly. To name a few. |
| 2021-10-21 14:21:59 +0000 | <AWizzArd> | Do they all offer a way to take a set of items out of the stream (i.e. a certain number of bytes, a number of lines, like `take n`) and get ([a], RestOfStream)? |
| 2021-10-21 14:23:05 +0000 | ystael | (~ystael@user/ystael) (Quit: Lost terminal) |
| 2021-10-21 14:23:08 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2021-10-21 14:24:01 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-10-21 14:24:47 +0000 | shriekingnoise | (~shrieking@186.137.144.80) |
| 2021-10-21 14:25:15 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 2021-10-21 14:26:47 +0000 | acidjnk_new3 | (~acidjnk@pd9e0b933.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 2021-10-21 14:29:17 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2021-10-21 14:29:19 +0000 | <adamCS> | There's no way I can reorder type parameters via a type synonym or type family such that I can partially apply against the result, right? I want "PipeStream m a = Pipes.Producer a m ()" where I can then use "PipeStream m" or even "PipeStream". But there's no way, right? I have to newtype it? |
| 2021-10-21 14:29:38 +0000 | <merijn> | adamCS: No, because that is equivalent in power to type level lambda's |
| 2021-10-21 14:30:07 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2021-10-21 14:30:09 +0000 | <merijn> | (no, as in, no that isn't possible) |
| 2021-10-21 14:30:21 +0000 | <adamCS> | merijn: yeah. That's what I thought...without the theoretical bit. Thanks! |
| 2021-10-21 14:32:30 +0000 | <AWizzArd> | adamCS: Are you currently working with the Pipes streaming library? |
| 2021-10-21 14:34:28 +0000 | cross_ | cross |
| 2021-10-21 14:34:34 +0000 | <adamCS> | AWizzArd: Yes, sort of. I'm working on some enhancements to the "Frames" library, which uses Pipes. Part of the work I did is to switch to using streamly where Frames used Pipes. But now I'm trying to merge it all and thus trying to unify (a subset of) the interfaces via a record-of-functions. |
| 2021-10-21 14:35:32 +0000 | rond_ | (~rond_@2a01:115f:943:5e00:7fe4:4b4a:851b:ca4d) |
| 2021-10-21 14:35:44 +0000 | <adamCS> | But the different kind signatures of a streamly stream (t :: (Type -> Type) -> Type -> Type) and a Pipes producer (p :: Type -> (Type -> Type) -> Type -> Type)) are proving...annoying. |
| 2021-10-21 14:36:24 +0000 | <AWizzArd> | adamCS: Interesting. You might be able to help with some insight. If I have a source of lines (i.e. lists) of Text, something such as `Stream [Text]`. Can I then use Pipes to give me 1-n of those [Text], and a stream that contains the rest (if any)? |
| 2021-10-21 14:36:39 +0000 | <merijn> | AWizzArd: You want pipes-parse |
| 2021-10-21 14:36:43 +0000 | <merijn> | @hackage pipes-parse |
| 2021-10-21 14:36:44 +0000 | <lambdabot> | https://hackage.haskell.org/package/pipes-parse |
| 2021-10-21 14:37:54 +0000 | <AWizzArd> | merijn: I want to implement functionality for reusing parsing streams of lines of Texts. It will eventually be used to validate/parse CSV files, but it could work on any source for lines of columns. |
| 2021-10-21 14:38:30 +0000 | <AWizzArd> | merijn: but I want to decouple it from a concrete CSV lib and a concrete streaming lib. Instead my type class will offer the functionality against which a user can write an implementation. |
| 2021-10-21 14:39:07 +0000 | <AWizzArd> | merijn: the purpose is to factor out the part where the lines are counted and good error reporting and parsing takes place, which is repetitive. |
| 2021-10-21 14:39:34 +0000 | <AWizzArd> | merijn: on top of it I want something comparable to Json-Schema. |
| 2021-10-21 14:39:46 +0000 | TMA | (tma@twin.jikos.cz) |
| 2021-10-21 14:41:16 +0000 | <merijn> | AWizzArd: pipes-parse isn't really parsing in the sense you're thinking off |
| 2021-10-21 14:41:24 +0000 | <AWizzArd> | Doing Abelson&Sussman’s ”Programming by wishful thinking” I would like to get a couple of rows and interate over them. `let ([row], rest) = readFromStream 1 stream` |
| 2021-10-21 14:41:38 +0000 | <merijn> | pipes itself simply does *not* allow "take N lines and return the remainder" |
| 2021-10-21 14:41:49 +0000 | <merijn> | You are not allowed to have a remainder with pipes |
| 2021-10-21 14:41:58 +0000 | <AWizzArd> | merijn: okay, that info already helps |
| 2021-10-21 14:42:17 +0000 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
| 2021-10-21 14:42:34 +0000 | <merijn> | pipes-parse is basically a StateT with the State being a producer, allowing you to pass a producer (i.e. remaining input) to a future stage when you're done consuming |
| 2021-10-21 14:43:18 +0000 | <AWizzArd> | merijn: essentially I just would like to work with the type [[Text]], which just may blow up memory if an input csv file is 300 GB in size. So I couldn’t use a csv lib directly but instead plug in any of the streaming libs. |
| 2021-10-21 14:43:27 +0000 | CiaoSen | (~Jura@p5dcc1a24.dip0.t-ipconnect.de) |
| 2021-10-21 14:43:52 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 14:44:08 +0000 | <merijn> | As someone who has tried wrapping several streaming libs using a single API: Just don't |
| 2021-10-21 14:44:19 +0000 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) |
| 2021-10-21 14:44:26 +0000 | <merijn> | It sucks in all sorts of annoying ways |
| 2021-10-21 14:45:35 +0000 | <AWizzArd> | merijn: I don't want to complect in a concrete implementation. To my users I want to offer something like `getNextLines` (i.e. take on any streaming lib). The user will find an already parsed row or a detailed error report and can decide what to do. |
| 2021-10-21 14:46:15 +0000 | <AWizzArd> | merijn: when this is done I want to write an implementation for those different streaming libs, so the user will be free to choose any, and the `getNextLines` magic will just do its work. |
| 2021-10-21 14:47:36 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 14:48:19 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
| 2021-10-21 14:50:28 +0000 | mc47 | (~mc47@xmonad/TheMC47) |
| 2021-10-21 14:50:30 +0000 | <lyxia> | Is there a proof that ZipList can't be a monad? |
| 2021-10-21 14:50:35 +0000 | <merijn> | AWizzArd: Probably wanna study how things like the attoparsec wrappers for pipes/conduit are done and adjust your API to play nicely with that |
| 2021-10-21 14:50:41 +0000 | <merijn> | lyxia: Easy: What's return do? |
| 2021-10-21 14:51:07 +0000 | <AWizzArd> | merijn: sounds like a starting point. |
| 2021-10-21 14:52:05 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
| 2021-10-21 14:52:16 +0000 | <lyxia> | merijn: return = ZipList . repeat |
| 2021-10-21 14:52:35 +0000 | unit73e | (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 2021-10-21 14:53:32 +0000 | <merijn> | lyxia: Ok, so now how's >>= gonna work if I do "return x >>= f" |
| 2021-10-21 14:53:44 +0000 | <merijn> | Supposedly "return x >>= f" = "f x" |
| 2021-10-21 14:53:52 +0000 | <merijn> | But now I suddenly have infinite 'x's |
| 2021-10-21 14:54:23 +0000 | Kaiepi | (~Kaiepi@156.34.44.192) |
| 2021-10-21 14:54:28 +0000 | <merijn> | lyxia: Applicative works because <*> sees two ZipLists and ends up truncating to the shorter one |
| 2021-10-21 14:55:57 +0000 | <lyxia> | Well I can try to take the diagonal of repeat (f x) |
| 2021-10-21 14:56:08 +0000 | <lyxia> | I know my attempt is gonna fail, but that's no proof that all attempts are going to fail. |
| 2021-10-21 14:57:25 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:de8d:bf1f:3d7:7a94) |
| 2021-10-21 15:01:03 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 15:01:56 +0000 | zmt00 | (~zmt00@user/zmt00) |
| 2021-10-21 15:05:54 +0000 | <lyxia> | In fact it will satisfy the identity laws, so if there is an argument to be made it must involve the associativity law. |
| 2021-10-21 15:07:10 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2021-10-21 15:08:29 +0000 | nefercheprure | (tma@twin.jikos.cz) |
| 2021-10-21 15:08:29 +0000 | nefercheprure | (tma@twin.jikos.cz) (Client Quit) |
| 2021-10-21 15:08:51 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
| 2021-10-21 15:11:32 +0000 | dsrt^ | (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Remote host closed the connection) |
| 2021-10-21 15:14:15 +0000 | ArtVandelayer | (~ArtVandel@ip174-68-147-20.lv.lv.cox.net) (Ping timeout: 260 seconds) |
| 2021-10-21 15:24:30 +0000 | segfaultfizzbuzz | (~segfaultf@135-180-0-138.static.sonic.net) |
| 2021-10-21 15:26:35 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) |
| 2021-10-21 15:27:38 +0000 | <codolio> | lyxia: It takes some work, but the idea is that to be associative, you'd need to figure out the diagonal of a 3-dimensional cube, but the operations can only act on squares. Collapsing squares can eliminate things that would be holes in the diagonal in 3 dimensions. |
| 2021-10-21 15:30:11 +0000 | rdz1789 | (~rdz1789@139.47.40.241) |
| 2021-10-21 15:31:47 +0000 | <codolio> | Or maybe it's the opposite in some cases, now that I think of it. |
| 2021-10-21 15:32:34 +0000 | <lyxia> | the opposite of what? |
| 2021-10-21 15:32:47 +0000 | <codolio> | There are squares with holes in the diagonal but those holes don't form part of the 3-dimensional diagonal, so you shouldn't artificially truncate. |
| 2021-10-21 15:34:52 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 15:35:29 +0000 | brettgilio | (~brettgili@x-node.gq) (Quit: Leaving...) |
| 2021-10-21 15:35:32 +0000 | <codolio> | Maybe it's just a matter of perspective on how you think the monad might actually work out. |
| 2021-10-21 15:36:14 +0000 | favonia | (~favonia@user/favonia) (Ping timeout: 258 seconds) |
| 2021-10-21 15:37:55 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:de8d:bf1f:3d7:7a94) (Quit: WeeChat 2.8) |
| 2021-10-21 15:38:46 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) |
| 2021-10-21 15:39:22 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2021-10-21 15:40:38 +0000 | brettgilio | (~brettgili@x-node.gq) |
| 2021-10-21 15:42:27 +0000 | LimeGolem | (~LimeGolem@82.40.121.143) |
| 2021-10-21 15:46:23 +0000 | codolio | dolio |
| 2021-10-21 15:47:03 +0000 | favonia | (~favonia@user/favonia) |
| 2021-10-21 15:48:42 +0000 | Farzad | (~FarzadBek@178.131.30.153) (Ping timeout: 260 seconds) |
| 2021-10-21 15:49:54 +0000 | rdz1789 | (~rdz1789@139.47.40.241) (Remote host closed the connection) |
| 2021-10-21 15:50:20 +0000 | <LimeGolem> | I have a data type with multiple constructors, some of them recursive (e.g. `data Expr = Lit Int | Add Expr Expr | Mul Expr Expr`). I want to forbid certain patterns (e.g. in `Add a b` I want to forbid `a` from being of the form `Add _ _`, which is always possible if `Add` is modelling something associative). Is there any way to do this which |
| 2021-10-21 15:50:21 +0000 | <LimeGolem> | doesn't involve boilerplate which is quadratic in the number of constructors? |
| 2021-10-21 15:52:56 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) |
| 2021-10-21 15:52:58 +0000 | <c_wraith> | depending on the use case, you might be able to do that by making it a GADT. (Or maybe not - it depends entirely on what you're doing with them. |
| 2021-10-21 15:53:09 +0000 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
| 2021-10-21 15:53:40 +0000 | hendursaga | (~weechat@user/hendursaga) |
| 2021-10-21 15:54:51 +0000 | <LimeGolem> | The use case is that I'm building an AST, but I have various equivalences and I want to enforce some kind of normal form at the type level. |
| 2021-10-21 15:54:53 +0000 | <c_wraith> | Hmm, actually that'd need more than just a GADT. That would need to be mixed with rank-n types |
| 2021-10-21 15:55:39 +0000 | <LimeGolem> | The best solution I have at the moment uses GADTs and RankNTypes, but also involves a lot of boilerplate. I'm hoping there's a simpler solution which I've missed. |
| 2021-10-21 15:56:31 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 265 seconds) |
| 2021-10-21 15:57:01 +0000 | <c_wraith> | I could construct something, but I would probably put it at the edge of being unusable in real code. |
| 2021-10-21 15:57:49 +0000 | <LimeGolem> | If it doesn't involve an unwieldy amount of boilerplate, I'd definitely be interested in seeing it. |
| 2021-10-21 15:58:00 +0000 | mmhat | (~mmh@55d45798.access.ecotel.net) (Ping timeout: 260 seconds) |
| 2021-10-21 15:58:26 +0000 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 2021-10-21 15:58:54 +0000 | <monochrom> | I think s/depends on use case/depends on actual restrictions/ |
| 2021-10-21 15:59:04 +0000 | ishutin | (~ishutin@84-236-97-21.pool.digikabel.hu) (Ping timeout: 265 seconds) |
| 2021-10-21 15:59:04 +0000 | <c_wraith> | if I wanted to go with an actually-usable approach, I'd probably go with enforcing an interface consisting only of normalizing combinators |
| 2021-10-21 15:59:44 +0000 | favonia | (~favonia@user/favonia) (Quit: Leaving) |
| 2021-10-21 16:00:05 +0000 | <LimeGolem> | That is an option. But I'm trying to find a way to enforce the normalisation directly at the type level. |
| 2021-10-21 16:00:33 +0000 | lbseale | (~lbseale@user/ep1ctetus) |
| 2021-10-21 16:00:49 +0000 | ishutin | (~ishutin@94-21-131-99.pool.digikabel.hu) |
| 2021-10-21 16:00:58 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 2021-10-21 16:05:17 +0000 | Guest78 | (~Guest78@178-78-205-86.customers.ownit.se) |
| 2021-10-21 16:05:28 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2021-10-21 16:07:05 +0000 | justHaunt | (~justache@user/justache) (Read error: Connection reset by peer) |
| 2021-10-21 16:07:39 +0000 | <Guest78> | Hi! I'm on p. 29 of Learn You a Haskell for Great Good, and there is this pattern of pattern matching that I can't get to work. It says that to capture the first three variables of a list and then the rest in another variable, you can use the pattern q:p:r:xs. But, ... |
| 2021-10-21 16:07:59 +0000 | justHaunt | (~justache@user/justache) |
| 2021-10-21 16:08:16 +0000 | <geekosaur> | you need to parenthesize it (and most patterns) |
| 2021-10-21 16:08:25 +0000 | <Guest78> | ... when I try I get an infinite type error when trying this line: mytails (q:p:r:x) = [r,p,q,x] |
| 2021-10-21 16:08:38 +0000 | <Guest78> | If someone has the time to explain, I would be very grateful! |
| 2021-10-21 16:08:56 +0000 | <geekosaur> | because x has the type [a] whereas q, p, r have type a |
| 2021-10-21 16:09:19 +0000 | <geekosaur> | you have to recombine them using (:) syntax, not standard list syntax |
| 2021-10-21 16:09:40 +0000 | <geekosaur> | mytails (q:p:r:x) = (r:p:q:x) |
| 2021-10-21 16:09:59 +0000 | <Guest78> | So how do I declare that in the declaration line? Here is what I had : mytails :: [a] -> [a] |
| 2021-10-21 16:10:14 +0000 | <geekosaur> | you don't need to do anything in the declaration line |
| 2021-10-21 16:10:21 +0000 | <c_wraith> | LimeGolem: https://paste.tomsmeding.com/NGZmMb1Q I would rate the usability of this around 1/10. But technically it does what you asked for. |
| 2021-10-21 16:10:43 +0000 | <geekosaur> | [a,b,c] is the same as a:b:c:[] |
| 2021-10-21 16:11:15 +0000 | <Guest78> | I think I get it now -- it is like consing in Lisp, right? Thanks a lot for your help! |
| 2021-10-21 16:11:20 +0000 | <geekosaur> | yes |
| 2021-10-21 16:11:34 +0000 | <geekosaur> | the [x,y,z] syntax is augar for the cons-style syntax |
| 2021-10-21 16:11:39 +0000 | <geekosaur> | *sugar for |
| 2021-10-21 16:12:02 +0000 | mmhat | (~mmh@55d45d75.access.ecotel.net) |
| 2021-10-21 16:15:05 +0000 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
| 2021-10-21 16:15:15 +0000 | alzgh | (~alzgh@user/alzgh) |
| 2021-10-21 16:15:26 +0000 | <Guest78> | I think I'm still a bit confused about the parentheses -- the ( is for tuples and [ for lists, but here, I use ( to match and return a list? |
| 2021-10-21 16:15:44 +0000 | <LimeGolem> | c_wraith: Thanks! I would give that at least a 3/10 :). Is there any way to extend that to include patterns involving multiple terms in a single constructor, e.g. `Add (Add a b) (Add c d)`? |
| 2021-10-21 16:16:15 +0000 | <geekosaur> | Guest78, inb this case the () is just because of precedence |
| 2021-10-21 16:16:41 +0000 | <geekosaur> | foo x:y:z is parsed (((foo x):y):z) which is not what you want |
| 2021-10-21 16:16:58 +0000 | <geekosaur> | (even in patterns, for consistency with expressions) |
| 2021-10-21 16:17:09 +0000 | <geekosaur> | so you have to say foo (x:y:z) |
| 2021-10-21 16:17:47 +0000 | <geekosaur> | so the parentheses aren't really part of the syntax, they just make things associate correctly |
| 2021-10-21 16:18:04 +0000 | <c_wraith> | LimeGolem: probably, but I can't see it right now. and it would probably get far worse to work with |
| 2021-10-21 16:19:11 +0000 | <Guest78> | Thanks again! I get it now! I should have re-read a few pages before jumping right back into where I was yesterday :). |
| 2021-10-21 16:20:47 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 264 seconds) |
| 2021-10-21 16:20:54 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 16:23:37 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-10-21 16:24:29 +0000 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Remote host closed the connection) |
| 2021-10-21 16:25:14 +0000 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
| 2021-10-21 16:25:56 +0000 | peterhil | (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-10-21 16:26:16 +0000 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-10-21 16:26:23 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 16:26:33 +0000 | peterhil | (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) |
| 2021-10-21 16:28:47 +0000 | <LimeGolem> | c_wraith: That's what I was afraid of. Is there a name for this sort of technique? Something that I can look up? |
| 2021-10-21 16:29:12 +0000 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Remote host closed the connection) |
| 2021-10-21 16:30:48 +0000 | <c_wraith> | You know, I can't recall ever seeing a name for it. |
| 2021-10-21 16:31:23 +0000 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
| 2021-10-21 16:31:43 +0000 | <dolio> | lyxia: The closest natural thing I can come up with is this: imagine lists as `Σ n. Fin n -> A`. (<*>) takes the minimum of two ns. Make join use the minimum over all ns. So, if one row is empty, your whole join is empty, even if there's a non-trivial diagonal. Then maybe that operation is associative. |
| 2021-10-21 16:32:25 +0000 | <dolio> | However, that doesn't actually work for infinite lists. You can't know how big the output should be without seeing the entire input. |
| 2021-10-21 16:32:30 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 2021-10-21 16:33:29 +0000 | timCF | (~timCF@m91-129-111-87.cust.tele2.ee) |
| 2021-10-21 16:33:45 +0000 | <LimeGolem> | c_wraith: Oh well, thanks for the help! |
| 2021-10-21 16:34:38 +0000 | <dolio> | And without infinite lists there is no unit. You could formally adjoin one, but it is not the same type. |
| 2021-10-21 16:37:28 +0000 | <dolio> | I.E. Maybe ℕ is not the same as the possibly infinite, 'natural numbers,' they have distinct computational topologies. |
| 2021-10-21 16:45:04 +0000 | Guest78 | (~Guest78@178-78-205-86.customers.ownit.se) (Ping timeout: 256 seconds) |
| 2021-10-21 16:46:47 +0000 | CiaoSen | (~Jura@p5dcc1a24.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 2021-10-21 16:48:51 +0000 | <dolio> | geekosaur: I think you got that slightly wrong. |
| 2021-10-21 16:49:11 +0000 | <dolio> | (foo x):(y:z) |
| 2021-10-21 16:49:19 +0000 | <geekosaur> | probably |
| 2021-10-21 16:49:27 +0000 | <geekosaur> | right, (:) right-associates, sorry |
| 2021-10-21 16:49:34 +0000 | <dolio> | I had to think about it a while with that many parens. :þ |
| 2021-10-21 16:49:42 +0000 | <geekosaur> | but the important part was x misassociating |
| 2021-10-21 16:50:17 +0000 | <lyxia> | dolio: you can't prove that there is no good join by showing that just one join is bad. And that one is not associative either. |
| 2021-10-21 16:51:02 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2021-10-21 16:55:26 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2021-10-21 16:55:27 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 16:57:35 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 16:59:00 +0000 | f-a | (f2a@f2a.jujube.ircnow.org) |
| 2021-10-21 17:00:17 +0000 | f-a | (f2a@f2a.jujube.ircnow.org) () |
| 2021-10-21 17:02:05 +0000 | <dolio> | What is a 'good' join? Is it any arbitrary function that is associative and happens to take the diagonal on squares, regardless of how unpredictable it is on non-square cases? Then I haven't seen a universal disproof of those. |
| 2021-10-21 17:06:27 +0000 | <dolio> | If the goodness criterion includes corresponding to some simply describable operation on diagonals of ragged squares/cubes, then there are counter example cubes for the obvious ones. |
| 2021-10-21 17:09:57 +0000 | <awpr> | FWIW infinite streams and fixed-size Vecs do have this diagonalization instance |
| 2021-10-21 17:12:50 +0000 | LimeGolem | (~LimeGolem@82.40.121.143) (Ping timeout: 256 seconds) |
| 2021-10-21 17:18:59 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 17:20:56 +0000 | <segfaultfizzbuzz> | i am now interested in what abstract "characteristics" code can have. i am not quite sure what i mean by code here, but i probably mean a function as haskellers describe it, or possibly a function or data type. for example: pure, functional, linear, total, synchronous/asynchronous, ... |
| 2021-10-21 17:20:57 +0000 | <lyxia> | Yes to "What is a 'good' join? Is it ..." |
| 2021-10-21 17:21:35 +0000 | <segfaultfizzbuzz> | is there a list of these abstract characteristics somewhere? |
| 2021-10-21 17:23:45 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 2021-10-21 17:24:51 +0000 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
| 2021-10-21 17:27:52 +0000 | Guest78 | (~Guest78@178-78-205-86.customers.ownit.se) |
| 2021-10-21 17:30:17 +0000 | RoxSive | (~RoxSive@95-30-22-55.broadband.corbina.ru) |
| 2021-10-21 17:30:22 +0000 | <Guest78> | I have another question, if someone has the time. I'm now on p. 36 of Learn You a Haskell... and am practicing with case. I can do fibonacci numbers with pattern match, if-then-else and guards, but with case I get a parse error. Here is my attempt: |
| 2021-10-21 17:30:42 +0000 | <Guest78> | myfib4 :: (Integral a) => a -> a |
| 2021-10-21 17:30:42 +0000 | <Guest78> | myfib4 n = case n of < 2 -> n |
| 2021-10-21 17:30:43 +0000 | <Guest78> | case n of _ -> myfib3 (n - 1) + myfib3 (n - 2) |
| 2021-10-21 17:31:08 +0000 | <Guest78> | The parse error is on the first case. Emacs marks it at the arrow. |
| 2021-10-21 17:31:10 +0000 | <geekosaur> | case does pattern matches on structure; you need guards to do numeric comparisons |
| 2021-10-21 17:31:45 +0000 | <Guest78> | Ok, so I can't use case for this at all? |
| 2021-10-21 17:31:49 +0000 | <geekosaur> | so you can't do that check directly using case, only with a guard |
| 2021-10-21 17:32:21 +0000 | <Guest78> | Thanks a lot :). I'll just move on then! |
| 2021-10-21 17:35:52 +0000 | haasn | (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 2021-10-21 17:36:17 +0000 | haasn | (~nand@haasn.dev) |
| 2021-10-21 17:36:37 +0000 | mbuf | (~Shakthi@171.61.241.145) (Quit: Leaving) |
| 2021-10-21 17:37:36 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) |
| 2021-10-21 17:38:37 +0000 | Guest377 | (~Guest37@93-172-116-38.bb.netvision.net.il) |
| 2021-10-21 17:39:25 +0000 | Guest377 | (~Guest37@93-172-116-38.bb.netvision.net.il) (Client Quit) |
| 2021-10-21 17:39:41 +0000 | Guest7483 | (~Guest7483@93-172-116-38.bb.netvision.net.il) |
| 2021-10-21 17:40:13 +0000 | Guest7483 | (~Guest7483@93-172-116-38.bb.netvision.net.il) (Client Quit) |
| 2021-10-21 17:40:28 +0000 | Guest28 | (~Guest28@93-172-116-38.bb.netvision.net.il) |
| 2021-10-21 17:46:52 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 17:48:32 +0000 | <Inst> | also, this is interesting |
| 2021-10-21 17:49:43 +0000 | <Inst> | it turns out HPF1P does the Main / Do in Chapter 3 |
| 2021-10-21 17:51:54 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) (Remote host closed the connection) |
| 2021-10-21 17:52:29 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) |
| 2021-10-21 17:53:17 +0000 | RoxSive | (~RoxSive@95-30-22-55.broadband.corbina.ru) (Quit: Leaving) |
| 2021-10-21 17:57:01 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) (Ping timeout: 252 seconds) |
| 2021-10-21 17:59:23 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) |
| 2021-10-21 18:00:14 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:00:21 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 18:00:30 +0000 | xff0x | (~xff0x@2001:1a81:524c:400:5205:21d5:64e1:92) (Ping timeout: 260 seconds) |
| 2021-10-21 18:00:53 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 18:01:20 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:01:20 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 18:02:01 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 18:02:10 +0000 | k | (~user@152.1.137.158) |
| 2021-10-21 18:02:14 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:02:38 +0000 | <k> | Where is the source for the `Ord` class? I can't find it in GHC.Base. |
| 2021-10-21 18:03:21 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:03:51 +0000 | <davean> | GHC.Classes perhaps |
| 2021-10-21 18:03:57 +0000 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/html/libraries/ghc-prim-0.7.0/src/GHC-Classes.html#Ord |
| 2021-10-21 18:04:02 +0000 | <davean> | The thing you get when you click on "Source" next to Ord in Data.Ord? |
| 2021-10-21 18:04:15 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:04:25 +0000 | <geekosaur> | or in Prelude for that matter |
| 2021-10-21 18:04:37 +0000 | <Hecate> | found it |
| 2021-10-21 18:04:44 +0000 | <Hecate> | ah yes, thanks geekosaur |
| 2021-10-21 18:04:52 +0000 | <k> | geekosaur: thanks! |
| 2021-10-21 18:05:03 +0000 | <Hecate> | davean: I had to click on the source for the Ord Bool implementation in the "Instances" dropdown |
| 2021-10-21 18:05:05 +0000 | <k> | davean: Couldn't get to the source that way. |
| 2021-10-21 18:05:06 +0000 | <Hecate> | to get to GHC.Classes |
| 2021-10-21 18:05:21 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:05:26 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
| 2021-10-21 18:06:15 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:07:21 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:08:15 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:09:22 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:10:15 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:11:22 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:12:16 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:12:48 +0000 | ArtVandelayer | (~ArtVandel@ip174-68-147-20.lv.lv.cox.net) |
| 2021-10-21 18:13:22 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:14:16 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:14:29 +0000 | <geekosaur> | come to think of it I did the same thing, but I intended it as a shortcut. if it's not directly documented in either Data.Ord or Prelude, that's a bug imo |
| 2021-10-21 18:14:49 +0000 | <geekosaur> | shouldn't force preople to go digging for GHC.Classes for basic stuff like Ord and Eq |
| 2021-10-21 18:15:22 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:16:02 +0000 | <k> | Does `compare` imply that `Ord` defines a total order? If not, why not? |
| 2021-10-21 18:16:16 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:16:16 +0000 | <geekosaur> | Ord is supposed to define a total order |
| 2021-10-21 18:16:37 +0000 | <geekosaur> | Sadly this gets abused a bit, including by Double |
| 2021-10-21 18:16:52 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) (Remote host closed the connection) |
| 2021-10-21 18:17:07 +0000 | <Hecate> | I'm waiting for the CLC to be operational to push for a PartialEq / PartialOrd |
| 2021-10-21 18:17:20 +0000 | <Hecate> | that Eq/Ord would inherit, and as such become Laws-only typeclasses |
| 2021-10-21 18:17:22 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:17:34 +0000 | <k> | Per the docs: 'The Haskell Report defines not laws for 'Ord'. However, '<=' is customarily expected to implement a non-strict partial order ...' |
| 2021-10-21 18:18:07 +0000 | <k> | *no laws |
| 2021-10-21 18:18:13 +0000 | <Hecate> | yep |
| 2021-10-21 18:18:16 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:18:23 +0000 | <davean> | Thats not what the documentation says: "" |
| 2021-10-21 18:18:26 +0000 | <davean> | Thats not what the documentation says: "<= is customarily expected to implement a non-strict partial order" |
| 2021-10-21 18:19:08 +0000 | <davean> | The only total order class I know of in Haskell is in a library |
| 2021-10-21 18:19:16 +0000 | <davean> | Ironicly, a partial order library |
| 2021-10-21 18:19:23 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:20:02 +0000 | <k> | I guess `EQ` is not supposed to mean `equal` or `equivalent`? |
| 2021-10-21 18:20:16 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:20:24 +0000 | <k> | But maybe `not comparably greater or less than`? |
| 2021-10-21 18:21:12 +0000 | xff0x | (~xff0x@2001:1a81:524c:400:5205:21d5:64e1:92) |
| 2021-10-21 18:21:23 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:21:30 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 260 seconds) |
| 2021-10-21 18:22:16 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:23:23 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:24:17 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:24:59 +0000 | iqofi | (~ixosa@217.138.222.92) (Remote host closed the connection) |
| 2021-10-21 18:25:22 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) |
| 2021-10-21 18:25:23 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:25:29 +0000 | <k> | Ah, never mind. I don't really know what I'm talking about. |
| 2021-10-21 18:25:57 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2021-10-21 18:26:17 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:26:59 +0000 | <k> | I still don't understand why all of `>`, `>=`, and `<` are defined in terms of `compare`. Or, honestly, why they're methods. Seems like a waste of code. |
| 2021-10-21 18:27:04 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-10-21 18:27:23 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:27:38 +0000 | <monochrom> | Standard libraries such as Data.Map and Data.Set already treats Ord as a total order. I think it is too late to defend "but it has no laws". |
| 2021-10-21 18:27:58 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer) |
| 2021-10-21 18:27:59 +0000 | econo | (uid147250@user/econo) |
| 2021-10-21 18:28:17 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:28:25 +0000 | <janus> | k: how would they be if they were not methods and not defined in terms of `compare`? |
| 2021-10-21 18:29:04 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2021-10-21 18:29:15 +0000 | <k> | janus: You could define them in terms of `<=` as constrained functions rather than methods. |
| 2021-10-21 18:29:24 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:29:37 +0000 | <monochrom> | "MINIMAL compare | (<=)" allows starting with <= |
| 2021-10-21 18:30:05 +0000 | <k> | Oh, I'm aware of that, but you still end up defining everything in terms of `compare` when you start with only `<=`. |
| 2021-10-21 18:30:09 +0000 | <monochrom> | Though, I am surprised that you don't also raise "but (>) is better" |
| 2021-10-21 18:30:12 +0000 | <janus> | k: but then NaN <= NaN would be unequal NaN > NaN, right? |
| 2021-10-21 18:30:17 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:31:10 +0000 | <monochrom> | If you are referring to default implementations... |
| 2021-10-21 18:31:20 +0000 | <monochrom> | You can always override them for your type. |
| 2021-10-21 18:31:24 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:31:34 +0000 | <davean> | k: Making them members allows optimizations for their specific cases |
| 2021-10-21 18:32:16 +0000 | <monochrom> | Default implementations are meant to "work under maximum mathematical generality" not "efficient". |
| 2021-10-21 18:32:18 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:32:29 +0000 | <k> | > (0/0 :: Double) > (0/0 :: Double) |
| 2021-10-21 18:32:30 +0000 | <monochrom> | Just look at Foldable. |
| 2021-10-21 18:32:31 +0000 | <lambdabot> | False |
| 2021-10-21 18:32:59 +0000 | <k> | > (0/0 :: Double) <= (0/0 :: Double) |
| 2021-10-21 18:33:01 +0000 | <lambdabot> | False |
| 2021-10-21 18:33:04 +0000 | <monochrom> | Who would code up foldl' in terms of foldr, really. And foldr' in terms of foldl, for the LOL. |
| 2021-10-21 18:33:24 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:33:46 +0000 | <k> | And foldr in terms of foldMap, for that matter... |
| 2021-10-21 18:33:57 +0000 | <k> | Fair enough. |
| 2021-10-21 18:34:18 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:35:07 +0000 | <k> | I was just thinking that if there's a default implementation that is basically always as efficient as any hand-crafted implementation, there's no need to make it a method. There was a similar discussion about `Eq` on haskell-cafe. |
| 2021-10-21 18:35:24 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:35:36 +0000 | <k> | Although that had the added issue of newtype dictionaries. |
| 2021-10-21 18:35:40 +0000 | <monochrom> | That's a big "IF". |
| 2021-10-21 18:36:18 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:36:23 +0000 | <monochrom> | In practice, that statement is vacuously satisfied by all classes we hav. |
| 2021-10-21 18:37:25 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:37:27 +0000 | <davean> | Thats basicly non-sensicil |
| 2021-10-21 18:37:39 +0000 | <davean> | You've derived why they are in the class - because thats false |
| 2021-10-21 18:37:44 +0000 | <davean> | and almost has to be |
| 2021-10-21 18:38:09 +0000 | <davean> | I say almost because in SOME specific cases a sufficiently smart SMT solver style compiler COULD optimize |
| 2021-10-21 18:38:17 +0000 | <davean> | But lets be real - thats horribly unrealistic |
| 2021-10-21 18:38:18 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:39:00 +0000 | <Inst> | nice, just got GHCI running in visual studio code |
| 2021-10-21 18:39:10 +0000 | <Inst> | honestly they should advertise visual studio code for haskell in windows |
| 2021-10-21 18:39:24 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:40:14 +0000 | <k> | I'd say there's a big difference between `notElem x` = `not . elem x` and `foldl f z xs = appEndo (getDual (foldMap (Dual . Endo . flip f) xs)) z`. |
| 2021-10-21 18:40:18 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:40:54 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 18:41:26 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:41:48 +0000 | <davean> | k: Thats trivially false. |
| 2021-10-21 18:42:15 +0000 | <k> | davean: OK, please explain. |
| 2021-10-21 18:42:19 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:42:29 +0000 | <k> | Sometimes 'trivial' things are hard for me to figure out. |
| 2021-10-21 18:42:53 +0000 | <davean> | k: consider the infinite cases |
| 2021-10-21 18:43:25 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:43:55 +0000 | <k> | OK. So elem of an infinite structure can terminate; `notElem` cannot be defined to terminate. |
| 2021-10-21 18:44:19 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:45:06 +0000 | <k> | foldl of an infinite right-to-left structure can terminate; foldl of an infinite left-to-right structure cannot terminate. |
| 2021-10-21 18:45:27 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:46:05 +0000 | <k> | `elem` and `notElem` have the same termination characteristics regardless of the bias of the infinite structure. What is your point? |
| 2021-10-21 18:46:20 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:47:29 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:48:20 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:49:19 +0000 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
| 2021-10-21 18:49:26 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:49:46 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 2021-10-21 18:50:20 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:51:22 +0000 | hnOsmium0001 | (uid453710@id-453710.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-10-21 18:51:26 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:52:16 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 18:52:20 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:53:27 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:53:52 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 18:54:19 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 18:54:21 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:54:51 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2021-10-21 18:54:51 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 18:55:02 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 18:55:27 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:56:21 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:57:27 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 18:58:21 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 18:58:58 +0000 | mei | (~mei@user/mei) (Read error: Connection reset by peer) |
| 2021-10-21 18:58:59 +0000 | reumeth | (~reumeth@user/reumeth) |
| 2021-10-21 18:59:27 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:00:21 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:01:28 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:02:21 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:03:28 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:04:03 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) |
| 2021-10-21 19:04:21 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:05:28 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:06:22 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:06:58 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 19:07:26 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 19:07:28 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:07:34 +0000 | <k> | I wonder what trivial thing I was missing. Happy Friday everyone. |
| 2021-10-21 19:07:43 +0000 | k | (~user@152.1.137.158) (Quit: ERC (IRC client for Emacs 27.1)) |
| 2021-10-21 19:08:22 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:08:26 +0000 | Guest78 | (~Guest78@178-78-205-86.customers.ownit.se) (Ping timeout: 256 seconds) |
| 2021-10-21 19:08:28 +0000 | <koala_man> | is there a class or something I can use to automatically enumerate each value in a data type, e.g. data Foo = Bar | Baz; (something :: [Foo]) == [ Bar, Baz ]? |
| 2021-10-21 19:08:49 +0000 | <geekosaur> | something in Data.Generic |
| 2021-10-21 19:09:00 +0000 | <geekosaur> | requires deriving Generic |
| 2021-10-21 19:09:03 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 19:09:09 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 19:09:22 +0000 | <awpr> | > `enumFrom minBound :: [Word8]` |
| 2021-10-21 19:09:23 +0000 | <lambdabot> | <hint>:1:1: error: parse error on input ‘`’ |
| 2021-10-21 19:09:29 +0000 | <awpr> | > enumFrom minBound :: [Word8] |
| 2021-10-21 19:09:29 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:09:31 +0000 | <lambdabot> | [0,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,2... |
| 2021-10-21 19:09:50 +0000 | <awpr> | for simple enums with Enum and Bounded, that should do it |
| 2021-10-21 19:10:22 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:10:52 +0000 | <monochrom> | data Foo = Bar | Baz deriving (Bounded, Enum) |
| 2021-10-21 19:11:04 +0000 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 2021-10-21 19:11:13 +0000 | <monochrom> | then you can [minBound .. maxBound] |
| 2021-10-21 19:11:29 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:11:38 +0000 | <monochrom> | This doesn't work for "larger" examples. |
| 2021-10-21 19:11:40 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 2021-10-21 19:11:48 +0000 | aegon | (~mike@174.127.249.180) |
| 2021-10-21 19:11:54 +0000 | <koala_man> | nice, thanks! |
| 2021-10-21 19:12:20 +0000 | <awpr> | for more complicated types like tuples of enums, sum types with fields, etc. there's https://hackage.haskell.org/package/finite-table-0.1.0.1/docs/Data-Finite.html#v:enumerate |
| 2021-10-21 19:12:22 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:13:21 +0000 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) |
| 2021-10-21 19:13:29 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:14:11 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Ping timeout: 264 seconds) |
| 2021-10-21 19:14:23 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:15:29 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:15:33 +0000 | <awpr> | (note `[minBound..maxBound]` is exactly `enumFromTo minBound maxBound`, and for derived instances for finite enums, those are the same as `[minBound..]` and `enumFrom minBound`) |
| 2021-10-21 19:16:23 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:16:26 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 2021-10-21 19:17:29 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:17:31 +0000 | gomma | (~gomma@c-73-132-243-63.hsd1.md.comcast.net) |
| 2021-10-21 19:18:14 +0000 | <gomma> | Is conan in here? |
| 2021-10-21 19:18:23 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:18:32 +0000 | <Franciman> | not now, apparently |
| 2021-10-21 19:18:57 +0000 | <gomma> | but he is sometimes here? |
| 2021-10-21 19:19:16 +0000 | <Franciman> | conal^ |
| 2021-10-21 19:19:18 +0000 | <Franciman> | ? |
| 2021-10-21 19:19:22 +0000 | <Franciman> | yes usually I see him online |
| 2021-10-21 19:19:25 +0000 | <gomma> | yes that's probably it! |
| 2021-10-21 19:19:29 +0000 | <gomma> | thank u |
| 2021-10-21 19:19:30 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:19:44 +0000 | <gomma> | ok thanks |
| 2021-10-21 19:20:22 +0000 | <gomma> | he helped me years ago and i wanted to discuss stuff with him since i've grown a lot since then |
| 2021-10-21 19:20:24 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:20:30 +0000 | <gomma> | but since i have the right name now, i found his publications |
| 2021-10-21 19:20:34 +0000 | jaitoon | (~Jaitoon@2a02:c7f:a5f:1d00:3901:d03b:2d77:c4b6) |
| 2021-10-21 19:20:41 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2021-10-21 19:21:22 +0000 | <gomma> | I think I want to read through those before engaging again |
| 2021-10-21 19:21:29 +0000 | <gomma> | Thanks so much! Goodbye y'all |
| 2021-10-21 19:21:30 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:21:35 +0000 | gomma | (~gomma@c-73-132-243-63.hsd1.md.comcast.net) (Client Quit) |
| 2021-10-21 19:21:43 +0000 | <janus> | goodbye gomma |
| 2021-10-21 19:22:24 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:23:30 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:24:24 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:25:31 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:25:51 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-10-21 19:26:25 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:27:31 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:27:36 +0000 | <aegon> | is there an applicative version of ^. for lens? |
| 2021-10-21 19:28:25 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:29:31 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:30:20 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Ping timeout: 260 seconds) |
| 2021-10-21 19:30:25 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:31:31 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:31:42 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2021-10-21 19:32:25 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:33:32 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:34:26 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:35:32 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:36:26 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:37:32 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:38:26 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:39:33 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:39:33 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 19:39:56 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 19:40:27 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:41:33 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:42:27 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:43:33 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:44:27 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:45:11 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 2021-10-21 19:45:34 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:45:39 +0000 | <kronicmage> | wdym by applicative? |
| 2021-10-21 19:45:42 +0000 | <kronicmage> | aegon |
| 2021-10-21 19:46:28 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:47:34 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:48:28 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:49:34 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:50:28 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:51:14 +0000 | tomsmeding | (~tomsmedin@tomsmeding.com) |
| 2021-10-21 19:51:35 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:52:27 +0000 | rond_ | (~rond_@2a01:115f:943:5e00:7fe4:4b4a:851b:ca4d) (Quit: Client closed) |
| 2021-10-21 19:52:29 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:53:36 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:54:29 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:55:36 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:56:30 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:57:37 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 19:58:05 +0000 | acidjnk_new3 | (~acidjnk@p200300d0c703cb87897f933eeab9e85f.dip0.t-ipconnect.de) |
| 2021-10-21 19:58:30 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 19:59:37 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:00:30 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:01:37 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:02:30 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:02:58 +0000 | <aegon> | kronicmage: i want to apply a lens to a value within a monadic context or functor context |
| 2021-10-21 20:03:25 +0000 | <aegon> | so instead of doing somethign like val >>= \x -> x ^. lens i'm wondering if anyones made a applicative for m so i can do val ^. lens |
| 2021-10-21 20:03:34 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 2021-10-21 20:03:37 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:04:06 +0000 | <aegon> | well, binds used wrong there :\ but thats the jist |
| 2021-10-21 20:04:31 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:04:44 +0000 | <awpr> | I'm not aware of such a thing existing. I would just use `view l <$> val` |
| 2021-10-21 20:04:58 +0000 | <awpr> | (since the operator form would require a kinda ugly operator section) |
| 2021-10-21 20:05:06 +0000 | juhp | (~juhp@128.106.188.220) (Ping timeout: 245 seconds) |
| 2021-10-21 20:05:37 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:05:59 +0000 | <janus> | i want to marry Operator Section <3 |
| 2021-10-21 20:06:31 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:06:53 +0000 | <awpr> | I do like operator sections in general, but this case I find just looks better with the alphanumeric name (compare `(^. l) <$> val` |
| 2021-10-21 20:06:56 +0000 | juhp | (~juhp@128.106.188.220) |
| 2021-10-21 20:07:04 +0000 | <awpr> | ) |
| 2021-10-21 20:07:06 +0000 | <janus> | is it ugly because it is followed by infix fmap? so `fmap (^. l) val` is ok? :P |
| 2021-10-21 20:07:37 +0000 | <awpr> | hmm, even with fmap, I'd still probably write `fmap (view l) val` |
| 2021-10-21 20:07:38 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:07:51 +0000 | <geekosaur> | operator glazeover :þ |
| 2021-10-21 20:08:13 +0000 | <aegon> | awpr: didn't think of using the non operator version |
| 2021-10-21 20:08:15 +0000 | <aegon> | :t compare |
| 2021-10-21 20:08:16 +0000 | <lambdabot> | Ord a => a -> a -> Ordering |
| 2021-10-21 20:08:18 +0000 | <awpr> | so I guess it's just that I prefer a partial application of a well-known alphanumeric-named function over an operator section |
| 2021-10-21 20:08:31 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:08:34 +0000 | <awpr> | ("compare" is just prose in that message) |
| 2021-10-21 20:08:50 +0000 | <aegon> | :) |
| 2021-10-21 20:09:00 +0000 | rond_ | (~rond_@2a01:115f:943:5e00:7fe4:4b4a:851b:ca4d) |
| 2021-10-21 20:09:09 +0000 | <aegon> | what about val <&> (^. l) |
| 2021-10-21 20:09:21 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) (Remote host closed the connection) |
| 2021-10-21 20:09:26 +0000 | <janus> | Mrs Perl approves :+1: |
| 2021-10-21 20:09:26 +0000 | <aegon> | i'm just guessing at that, going to go play around in ghci |
| 2021-10-21 20:09:38 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:10:02 +0000 | <awpr> | I think I've concluded that I'd always personally choose `view l` over `(^. l)` (when not immediately applied to another argument) |
| 2021-10-21 20:10:32 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:10:58 +0000 | <janus> | come on, why not just use `flip (<$>) (`(^.)` l)` |
| 2021-10-21 20:11:14 +0000 | <geekosaur> | have you tried it? |
| 2021-10-21 20:11:39 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:11:59 +0000 | <janus> | i seems to be having some kind of problem with my diacretics, must reconfigure my keyboard configuration in nix first. i'll report back next week |
| 2021-10-21 20:12:03 +0000 | <geekosaur> | (`` syntax is limited, you can't nest it that way) |
| 2021-10-21 20:12:14 +0000 | <aegon> | yeah i think its clearer too, thanks for the tip, i'm still not used to thinking applicatively over monadicly |
| 2021-10-21 20:12:32 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:12:46 +0000 | <geekosaur> | on the one hand it's probably for the best, on the other imagine being able to `(`(`(...)`)`)` |
| 2021-10-21 20:13:08 +0000 | <geekosaur> | (then think about how you'd escape the `s) |
| 2021-10-21 20:13:22 +0000 | <awpr> | needs guillemets |
| 2021-10-21 20:13:35 +0000 | alx741 | (~alx741@186.178.109.50) (Ping timeout: 264 seconds) |
| 2021-10-21 20:13:38 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:13:40 +0000 | <awpr> | (since they can be balanced like parentheses) |
| 2021-10-21 20:14:23 +0000 | ub | (~Thunderbi@77.119.198.223.wireless.dyn.drei.com) |
| 2021-10-21 20:14:32 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:14:47 +0000 | ikex | (ash@user/ikex) (Ping timeout: 264 seconds) |
| 2021-10-21 20:15:17 +0000 | Midjak | (~Midjak@82-65-111-221.subs.proxad.net) (Quit: Leaving) |
| 2021-10-21 20:15:26 +0000 | ikex | (ash@user/ikex) |
| 2021-10-21 20:15:39 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:15:50 +0000 | mikoto-chan | (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 260 seconds) |
| 2021-10-21 20:16:33 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:17:39 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:18:33 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:18:33 +0000 | <aegon> | oh man with `view l <$> var >>= \case ...` hlint recommends a super hard to read: `var >>= (\case ...) . view Snapshot` |
| 2021-10-21 20:19:08 +0000 | <aegon> | er view l |
| 2021-10-21 20:19:25 +0000 | <geekosaur> | hlolint |
| 2021-10-21 20:19:36 +0000 | <aegon> | oh man with `view l <$> var >>= \case ...` hlint recommends a super hard to read: `var >>= (\case ...) . view l` imo hlint is wrong here, is it optimizing for some sort of perf thing? |
| 2021-10-21 20:19:39 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:20:30 +0000 | <geekosaur> | imo if it is then it should be shot; fix the compiler instead |
| 2021-10-21 20:20:33 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:20:58 +0000 | mikoto-chan | (~mikoto-ch@185.237.102.126) |
| 2021-10-21 20:21:39 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:21:51 +0000 | <awpr> | that's a left-associated fmap if I'm reading it correctly |
| 2021-10-21 20:22:33 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:22:59 +0000 | Inst | (~Inst@2601:6c4:4080:3f80:887d:efb8:1cec:d51f) (Remote host closed the connection) |
| 2021-10-21 20:23:01 +0000 | <aegon> | it doesnt suggest any change for `var <&> (^. l) >>= \case ...` wonder whats going on here / what its trying to hint at |
| 2021-10-21 20:23:07 +0000 | <awpr> | generally things should be right-associated to avoid re-traversing the whole left structure (same sort of reason you don't left-associate string concatenations) |
| 2021-10-21 20:23:16 +0000 | Inst | (~Inst@2601:6c4:4080:3f80:84fc:7e49:3098:491f) |
| 2021-10-21 20:23:40 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:23:45 +0000 | <awpr> | maybe it just doesn't know about `<&>`? |
| 2021-10-21 20:24:01 +0000 | <aegon> | sos view l <$> var is left associative but the . view l is right? i need to churn on that |
| 2021-10-21 20:24:34 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:24:50 +0000 | <awpr> | well, `(view l <$> var) >>= f` is left-associated, and `var >>= \x -> f (view x)` is right-associate |
| 2021-10-21 20:24:52 +0000 | <awpr> | d |
| 2021-10-21 20:25:40 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:26:34 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:26:35 +0000 | <awpr> | if the monad in question is a list, for example, the left version goes through the whole list to apply `view l`, then goes through that whole list to `concatMap` `f`, while the right version goes through the list just once |
| 2021-10-21 20:27:24 +0000 | alx741 | (~alx741@186.178.108.23) |
| 2021-10-21 20:27:40 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:28:34 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:28:39 +0000 | <aegon> | interesting, ok, that makes sense, wow thats a possible perf hit thats very hard to keep in mind for me at the moment |
| 2021-10-21 20:29:13 +0000 | <aegon> | the monad in question here is IO but i'm glad hlint yelled at me |
| 2021-10-21 20:29:23 +0000 | __monty__ | (~toonn@user/toonn) |
| 2021-10-21 20:29:41 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:30:24 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) |
| 2021-10-21 20:30:34 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:31:41 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:32:11 +0000 | timCF | (~timCF@m91-129-111-87.cust.tele2.ee) (Ping timeout: 264 seconds) |
| 2021-10-21 20:32:35 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:33:01 +0000 | timCF | (~timCF@m91-129-111-87.cust.tele2.ee) |
| 2021-10-21 20:33:23 +0000 | Inst | (~Inst@2601:6c4:4080:3f80:84fc:7e49:3098:491f) (Ping timeout: 264 seconds) |
| 2021-10-21 20:33:41 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:34:35 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:35:11 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 264 seconds) |
| 2021-10-21 20:35:41 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:35:48 +0000 | Guest3072 | (~Guest30@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 2021-10-21 20:36:35 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:37:37 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) |
| 2021-10-21 20:37:42 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:38:36 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:38:41 +0000 | reumeth | (~reumeth@user/reumeth) (Ping timeout: 258 seconds) |
| 2021-10-21 20:39:13 +0000 | ub | (~Thunderbi@77.119.198.223.wireless.dyn.drei.com) (Quit: ub) |
| 2021-10-21 20:39:42 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:40:36 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:41:42 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:42:20 +0000 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:b5c0:69fb:2ebc:745e) |
| 2021-10-21 20:42:36 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:43:43 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:44:36 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:45:43 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:46:16 +0000 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-10-21 20:46:36 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:47:43 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:48:29 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2021-10-21 20:48:37 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:49:43 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:50:37 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:50:37 +0000 | mikoto-chan | (~mikoto-ch@185.237.102.126) (Read error: Connection reset by peer) |
| 2021-10-21 20:51:44 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:52:37 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:53:45 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:54:38 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:55:44 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:56:38 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:57:44 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:58:38 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 20:59:44 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 20:59:55 +0000 | Cajun | (~Cajun@user/cajun) |
| 2021-10-21 21:00:38 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:01:44 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:02:38 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:03:45 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:04:38 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:05:46 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:06:39 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:07:45 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:08:30 +0000 | fendor | (~fendor@178.115.78.81.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-10-21 21:08:39 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:08:43 +0000 | <monochrom> | Ah, Bird's Thinking Functionally with Haskell is the one that suffers "right before AMP". |
| 2021-10-21 21:09:46 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:10:39 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:10:54 +0000 | coot | (~coot@37.30.49.107.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2021-10-21 21:11:46 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:12:39 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:13:46 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:14:12 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 21:14:40 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:15:46 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:16:40 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:17:05 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2021-10-21 21:17:46 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:17:50 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2021-10-21 21:18:40 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:19:46 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:20:40 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:21:47 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:22:12 +0000 | rond_ | (~rond_@2a01:115f:943:5e00:7fe4:4b4a:851b:ca4d) (Quit: Client closed) |
| 2021-10-21 21:22:25 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 21:22:41 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:23:47 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:24:41 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:25:10 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2021-10-21 21:25:48 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:26:41 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:27:23 +0000 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 2021-10-21 21:27:41 +0000 | allbery_b | (~geekosaur@xmonad/geekosaur) |
| 2021-10-21 21:27:41 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 2021-10-21 21:27:44 +0000 | allbery_b | geekosaur |
| 2021-10-21 21:27:48 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:28:42 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:29:48 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:30:42 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:31:40 +0000 | ubert | (~Thunderbi@77.119.198.223.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
| 2021-10-21 21:31:49 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:32:11 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 264 seconds) |
| 2021-10-21 21:32:42 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:33:06 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Ping timeout: 260 seconds) |
| 2021-10-21 21:33:23 +0000 | Guest3072 | (~Guest30@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed) |
| 2021-10-21 21:33:48 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:34:42 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:35:49 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:36:43 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:37:16 +0000 | wonko | (~wjc@62.115.229.50) (Ping timeout: 265 seconds) |
| 2021-10-21 21:37:49 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:38:43 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:39:15 +0000 | Guest54 | (~Guest54@207.151.52.24) |
| 2021-10-21 21:39:50 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:40:43 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:41:50 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:42:44 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:43:34 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2021-10-21 21:43:50 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:44:44 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:45:50 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:46:44 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:47:51 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:48:44 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:49:51 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:50:44 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:51:25 +0000 | max22- | (~maxime@2a01cb0883359800acc7df5c88e6f73e.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 2021-10-21 21:51:51 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:52:45 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:53:51 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:54:45 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:55:36 +0000 | Guest54 | (~Guest54@207.151.52.24) (Ping timeout: 256 seconds) |
| 2021-10-21 21:55:51 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:56:45 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:56:45 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2021-10-21 21:57:52 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 21:58:34 +0000 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 2021-10-21 21:58:45 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 21:59:52 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:00:34 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-10-21 22:00:46 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:01:52 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:02:46 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:03:53 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:04:46 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:05:30 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2021-10-21 22:05:52 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:06:08 +0000 | <dsal> | Is it possible to have a function that uses a type without declaring the type it uses? I want to make a thing that, for example, verifies round tripping of an enum without having to specify the values since it's a bounded enum already. |
| 2021-10-21 22:06:20 +0000 | <dsal> | I guess I can use a Proxy. |
| 2021-10-21 22:06:46 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:07:11 +0000 | <monochrom> | Yeah I would use a proxy type. |
| 2021-10-21 22:07:33 +0000 | <monochrom> | Type application can also be acceptable in simple cases. |
| 2021-10-21 22:07:53 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:08:47 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:09:53 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:10:47 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:11:27 +0000 | Guest28 | (~Guest28@93-172-116-38.bb.netvision.net.il) (Ping timeout: 256 seconds) |
| 2021-10-21 22:11:53 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:12:46 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2021-10-21 22:12:47 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:13:54 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:14:27 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-10-21 22:14:37 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-10-21 22:14:42 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 22:14:47 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:14:49 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-10-21 22:15:54 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:16:48 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:17:54 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:18:48 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:19:54 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:20:21 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
| 2021-10-21 22:20:48 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:21:18 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) (Remote host closed the connection) |
| 2021-10-21 22:21:23 +0000 | mestre | (~mestre@191.177.175.57) |
| 2021-10-21 22:21:55 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:22:49 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:23:34 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-10-21 22:23:51 +0000 | brainfreeze | (~brainfree@2a03:1b20:4:f011::20d) |
| 2021-10-21 22:23:55 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:24:00 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 22:24:49 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:25:55 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:26:17 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) |
| 2021-10-21 22:26:49 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:27:55 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:28:30 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 2021-10-21 22:28:49 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:28:50 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
| 2021-10-21 22:29:28 +0000 | burnsidesLlama | (~burnsides@dhcp168-036.wadham.ox.ac.uk) |
| 2021-10-21 22:29:57 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:30:50 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:31:08 +0000 | Inst | (~Inst@2601:6c4:4080:3f80:e12b:5f61:be92:9101) |
| 2021-10-21 22:31:32 +0000 | <Inst> | oh |
| 2021-10-21 22:31:33 +0000 | <Inst> | hey guys |
| 2021-10-21 22:31:40 +0000 | <Inst> | Just want to troll a bit more: |
| 2021-10-21 22:31:50 +0000 | <Inst> | It turns out I have a friend who's been described as a champion influencer. |
| 2021-10-21 22:31:56 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:32:14 +0000 | <Inst> | She's a scanlator as a hobby, meaning she scans manga (japanese comics) / manghwa (korean comics) |
| 2021-10-21 22:32:22 +0000 | <Inst> | translates it, then publishes the illegal pirates |
| 2021-10-21 22:32:30 +0000 | <Inst> | it turns out that in some game, #1 |
| 2021-10-21 22:32:36 +0000 | <Inst> | she managed to recruit 1000 or more players almost singlehandedly |
| 2021-10-21 22:32:50 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:32:58 +0000 | <Inst> | #2, in return for scanlated manga, she was able to use the recruited players to generate the real money equivalent of 16,000 USD |
| 2021-10-21 22:33:25 +0000 | <Inst> | putting this into a haskell context |
| 2021-10-21 22:33:56 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:33:57 +0000 | <Inst> | I'm thinking, even though HF thinks it's currently a bad idea |
| 2021-10-21 22:34:09 +0000 | <Inst> | to target non-programmers and other low-level developers |
| 2021-10-21 22:34:13 +0000 | NinjaTrappeur | (~ninja@user/ninjatrappeur) (Ping timeout: 252 seconds) |
| 2021-10-21 22:34:50 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:35:32 +0000 | <monochrom> | I think HF is OK with targetting non-programmers, if I understand Andrew Boardman's Haskell.Love talk correctly. |
| 2021-10-21 22:35:56 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:36:26 +0000 | NinjaTrappeur | (~ninja@user/ninjatrappeur) |
| 2021-10-21 22:36:37 +0000 | <jackdk> | I have had good experience teaching Haskell to first-year university students with no prior programming experience |
| 2021-10-21 22:36:50 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:37:57 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:38:50 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:39:43 +0000 | <monochrom> | Low-level developers is a very different story to be sure. Multiple factors such as low ROI. |
| 2021-10-21 22:39:57 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:40:11 +0000 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
| 2021-10-21 22:40:50 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:41:27 +0000 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
| 2021-10-21 22:41:48 +0000 | <jackdk> | dsal: these days you could also use explicit type applications if that feels better |
| 2021-10-21 22:41:57 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:42:51 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:43:54 +0000 | _bo | (~bo@217.18.216.247) (Read error: Connection reset by peer) |
| 2021-10-21 22:43:57 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:44:41 +0000 | cjb | (~cjbayliss@user/cjb) |
| 2021-10-21 22:44:51 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:44:54 +0000 | cjb | (~cjbayliss@user/cjb) (Client Quit) |
| 2021-10-21 22:45:58 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:46:06 +0000 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
| 2021-10-21 22:46:51 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:47:58 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:48:35 +0000 | <Inst> | @monochrom: the problem is the instruction, if experienced developers are bad at grokking haskell, what are the odds that non-haskell programmers would get it? |
| 2021-10-21 22:48:35 +0000 | <lambdabot> | Unknown command, try @list |
| 2021-10-21 22:48:52 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:48:54 +0000 | <monochrom> | Indeed. |
| 2021-10-21 22:49:01 +0000 | <Inst> | IMO, there's two issues, #1, the ecosystem (haskell jobs) is not properly developed, but doing a supply side drop (there's tons of coders and they all know haskell) |
| 2021-10-21 22:49:10 +0000 | <Inst> | might work, although it'd be risky |
| 2021-10-21 22:49:21 +0000 | <Inst> | #2, the education quality has to be assured beforehand |
| 2021-10-21 22:49:35 +0000 | <Inst> | if you convert someone to try haskell, and it doesn't stick, you're going to have a much harder time trying to convert them again |
| 2021-10-21 22:49:38 +0000 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 2021-10-21 22:49:38 +0000 | <Inst> | but i'm trying to point out |
| 2021-10-21 22:49:49 +0000 | <monochrom> | If 90-yos are bad at learning a musical instrument, what chance do 9-yos have? Or do they? |
| 2021-10-21 22:49:58 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:50:02 +0000 | <Inst> | you can do a supply side drop, although it might not be "avoid success at all costs" |
| 2021-10-21 22:50:45 +0000 | <Inst> | if you use a guerrilla marketing technique which is Standard Operating Procedure in China |
| 2021-10-21 22:50:50 +0000 | <Inst> | i.e, use influencers to advertise your language |
| 2021-10-21 22:50:52 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:51:02 +0000 | <Inst> | it's not "avoid success at all costs" because it'll damage Haskell's reputation |
| 2021-10-21 22:51:18 +0000 | <Inst> | "that time Haskell became popular because someone dumped an advertising budget into Youtube influencers" |
| 2021-10-21 22:51:26 +0000 | <monochrom> | BTW what's the connection with the champion influecer and scanlating and making 100k? |
| 2021-10-21 22:51:39 +0000 | <Inst> | I mean she's a good influencer |
| 2021-10-21 22:51:56 +0000 | <Inst> | she scanlated Manhwa (Korean comics) to generate the equivalent of 16,000 USD in a MMO |
| 2021-10-21 22:51:57 +0000 | <monochrom> | Hell, what's the connection between those 3 in the first place hahah |
| 2021-10-21 22:51:58 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:52:06 +0000 | <yushyin> | /fa Inst |
| 2021-10-21 22:52:07 +0000 | <Inst> | by using the Manhwa as a lure |
| 2021-10-21 22:52:10 +0000 | NinjaTrappeur | (~ninja@user/ninjatrappeur) (Ping timeout: 260 seconds) |
| 2021-10-21 22:52:14 +0000 | <yushyin> | oh, sorry |
| 2021-10-21 22:52:36 +0000 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 2021-10-21 22:52:47 +0000 | <yushyin> | damn space key |
| 2021-10-21 22:52:52 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:53:01 +0000 | <aegon> | i've been working on a project for ~7 months in haskell now and most of my collegues are low level code enthusiasts from the gaming land (very c++ / lua happy). My experience sharing code and war stories with them about haskell is that they actually really dig it, just don't see a route to using it professionally. I think its more a chicken and egg scenario. IMO a high quality open implementation of |
| 2021-10-21 22:53:07 +0000 | <aegon> | something that people say "haskell is not good" for would do wonders |
| 2021-10-21 22:53:57 +0000 | <Inst> | i mean, well, are you saying the supply side is already there? |
| 2021-10-21 22:53:59 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:54:03 +0000 | meinside | (uid24933@helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-10-21 22:54:04 +0000 | <monochrom> | Well, IOHK is causing people to think "Haskell is a blockchain language" now. |
| 2021-10-21 22:54:50 +0000 | <Inst> | by the way |
| 2021-10-21 22:54:52 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:54:55 +0000 | <aegon> | i think the want to work in it is there, the route to that is unclear. I've gotten the most serious conversations about it from linking articles about low level optimization and what it looks like in haskell |
| 2021-10-21 22:54:57 +0000 | <Inst> | this is 100% doable in Haskell, right? |
| 2021-10-21 22:54:59 +0000 | <Inst> | The influencer girl |
| 2021-10-21 22:55:11 +0000 | <Inst> | One way to sell Haskell to her would be to say, automate her scanlation process |
| 2021-10-21 22:55:23 +0000 | <Inst> | build a Haskell-based framework that can process JPgs / PNGs |
| 2021-10-21 22:55:32 +0000 | <aegon> | i think something low level folks really want to know is more what does optimizing look like and how painfull is it, they want simpler and more concise / composable things, they just don't want it at the cost of resources |
| 2021-10-21 22:55:47 +0000 | <Inst> | run text recognition on existing text |
| 2021-10-21 22:55:52 +0000 | <Inst> | aegon: but it's always at the cost of resources, no? |
| 2021-10-21 22:55:59 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:56:11 +0000 | <monochrom> | Oh OK, I see. |
| 2021-10-21 22:56:14 +0000 | <Inst> | run text recognition on an existing text, rip it off the jpg/png, and input new text |
| 2021-10-21 22:56:29 +0000 | <Inst> | so she'd have a haskell-based tool for her scanlation hobby |
| 2021-10-21 22:56:34 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-10-21 22:56:37 +0000 | <Inst> | and consequently she'd need haskellers to maintain it |
| 2021-10-21 22:56:38 +0000 | <aegon> | Inst: debatable, it depends on if hte language gives you all the tools ot not cost resources when you don't want to. Like ify ou want to you can hack away at haskells intermediary language and pin memory etc. there are quite a few tools for optimizing haskell out there |
| 2021-10-21 22:56:43 +0000 | <monochrom> | Does "low-level developer" means they write asm code? Or does it mean they are low in the corporate ladder? |
| 2021-10-21 22:56:51 +0000 | <monochrom> | Because I thought the latter. |
| 2021-10-21 22:56:52 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:57:00 +0000 | <Inst> | (very c++ / lua happy) |
| 2021-10-21 22:57:20 +0000 | <aegon> | monochrom: i mean they work on game engines and such all day, trying to sqeeze perf out of consoles with bare bones hardware |
| 2021-10-21 22:57:44 +0000 | wroathe | (~wroathe@173-160-115-161-Minnesota.hfc.comcastbusiness.net) |
| 2021-10-21 22:57:44 +0000 | wroathe | (~wroathe@173-160-115-161-Minnesota.hfc.comcastbusiness.net) (Changing host) |
| 2021-10-21 22:57:44 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2021-10-21 22:57:47 +0000 | <monochrom> | I guess in the game dev industry the two are equivalent >:) |
| 2021-10-21 22:57:52 +0000 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds) |
| 2021-10-21 22:57:59 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 22:58:21 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2021-10-21 22:58:29 +0000 | <aegon> | lol |
| 2021-10-21 22:58:53 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 22:58:53 +0000 | <Inst> | i also sort of wish Android / iOS supported Haskell as compiled code ;_; |
| 2021-10-21 22:59:03 +0000 | <Inst> | or at least as intermediary code for their VMs |
| 2021-10-21 22:59:09 +0000 | <Axman6> | Inst: to be perfectly honest, that sounds like an incredibly boring project |
| 2021-10-21 22:59:09 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-10-21 22:59:32 +0000 | <Inst> | Axman6: you mean the autmoating scanlation thing? |
| 2021-10-21 22:59:37 +0000 | <Inst> | It's boring if you're not the end-user. |
| 2021-10-21 22:59:39 +0000 | <aegon> | haskell on mobile is scary to me because i don't know how to reason about the rts's garbage collector and power usage |
| 2021-10-21 22:59:53 +0000 | <monochrom> | I am pessimistic about pitching to game engine tweakers. |
| 2021-10-21 22:59:57 +0000 | <aegon> | if that were an option i would be concerned about power usage |
| 2021-10-21 22:59:59 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:00:03 +0000 | <Axman6> | it sounds like a couple of days od work in bash, no need for haskell |
| 2021-10-21 23:00:09 +0000 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
| 2021-10-21 23:00:11 +0000 | <monochrom> | I now how to explain Haskell code optimization, both by hand and what GHC does. |
| 2021-10-21 23:00:28 +0000 | <monochrom> | I'm also pretty sure that after I'm done, the conclusion is "carry on". |
| 2021-10-21 23:00:38 +0000 | <monochrom> | s/now/know/ |
| 2021-10-21 23:00:53 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:00:57 +0000 | <aegon> | monochrom: heh, what makes you say that. What aspect of the perf stuff. |
| 2021-10-21 23:01:20 +0000 | <Inst> | I mean there's a reason I'm going initially for a C++ / Haskell combo |
| 2021-10-21 23:01:59 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:02:14 +0000 | <monochrom> | Haskell code optimization involves very advanced techniques. |
| 2021-10-21 23:02:32 +0000 | <Axman6> | I don;t actually think writing well performing Haskell code is that difficult, optimisation is very _different_ to other languages, but people put in a shitload of effort to learn to optimise code in other languages. I don't understand why people think that you shouldn't also spend some time learning how optimisations in haskell work |
| 2021-10-21 23:02:37 +0000 | <monochrom> | and knowledge |
| 2021-10-21 23:02:40 +0000 | pmk | (~user@2a02:587:9414:7d03:fb87:7810:40ab:edc0) (Ping timeout: 260 seconds) |
| 2021-10-21 23:02:48 +0000 | <Inst> | iirc is it valid to dumb it down to "Haskell, as a functional language, is going to have intrinsic performance losses compared to an imperative language"? |
| 2021-10-21 23:02:53 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:03:07 +0000 | <awpr> | no. bash is an imperative language |
| 2021-10-21 23:03:15 +0000 | <monochrom> | And don't seem to worth learning if one isn't forced to use Haskell. |
| 2021-10-21 23:03:16 +0000 | <aegon> | i woudl like to read up on more. Yeah these are people who spend hours reading up on lvalue / rvalue semantics in new langauge standards to save a couple cycles |
| 2021-10-21 23:03:21 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2021-10-21 23:03:31 +0000 | <aegon> | i'd think they'd be up to the task |
| 2021-10-21 23:03:35 +0000 | <Axman6> | the C++ / Haskell combo is working well for Facebook... |
| 2021-10-21 23:03:40 +0000 | <Inst> | but assembly is imperative |
| 2021-10-21 23:03:57 +0000 | <Inst> | you're being sardonic, right? |
| 2021-10-21 23:04:00 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:04:03 +0000 | <Inst> | given their recent massive service outage |
| 2021-10-21 23:04:16 +0000 | <Axman6> | Inst: no, that's not a fair description of Haskell's performance |
| 2021-10-21 23:04:33 +0000 | <Axman6> | No, it was a comment about their Sigma system |
| 2021-10-21 23:04:53 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:04:56 +0000 | <monochrom> | In this case, the sunk cost policy applies. |
| 2021-10-21 23:04:58 +0000 | <Inst> | ah |
| 2021-10-21 23:05:30 +0000 | <Axman6> | aegon: yeah exactly, and IMO optimisations in imperative languages are just kind of boring |
| 2021-10-21 23:05:31 +0000 | NinjaTrappeur | (~ninja@user/ninjatrappeur) |
| 2021-10-21 23:05:45 +0000 | <monochrom> | Hypothetically if you are starting to write a game engine from scratch now, Haskell and C++ are equally painful, just in different ways. |
| 2021-10-21 23:06:00 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:06:01 +0000 | <Inst> | who writes game engines from scratch now? |
| 2021-10-21 23:06:10 +0000 | <monochrom> | But who actually starts to write a game engine from scratch now? |
| 2021-10-21 23:06:13 +0000 | <Axman6> | like, I love me some low level code, I keep a copy of Hacker's Delight on hand for a reason, because I like writing that sort of code, but real optimisation comes from a higher level |
| 2021-10-21 23:06:20 +0000 | <Inst> | iirc they just license an engine and call it a day |
| 2021-10-21 23:06:29 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) |
| 2021-10-21 23:06:31 +0000 | <monochrom> | All the existing game engine tweakers have already finished learning C++ optimizations. |
| 2021-10-21 23:06:53 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:07:07 +0000 | <Inst> | have you seen, like, Astral Chain? |
| 2021-10-21 23:07:08 +0000 | <geekosaur> | doesn't Cale's company have a Haskell game engine? then again who's going to license it much less learn how to tweak it |
| 2021-10-21 23:07:19 +0000 | <monochrom> | "carry on" carries no extra cost, that cost is already sunk. "switch to Haskell" carries huge extra costs, this is important even though it's <= C++ sunk cost. |
| 2021-10-21 23:07:55 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 2021-10-21 23:07:57 +0000 | <Inst> | it's amazing since Astral Chain was originally intended to be multiplatform, but it ended up being a Nintendo Switch exclusive |
| 2021-10-21 23:08:00 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:08:10 +0000 | <Inst> | and the Switch is running on mobile hardware |
| 2021-10-21 23:08:19 +0000 | <Inst> | but it looks incredible |
| 2021-10-21 23:08:54 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:08:57 +0000 | <Inst> | just saying ,the optimizers have gotten really good |
| 2021-10-21 23:09:43 +0000 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat) |
| 2021-10-21 23:10:00 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:10:16 +0000 | <aegon> | yeah, a lot of that is that the graphics apis have gotten really flexible, and ify ou know the exact hardware your running on you can do silly things like optimize thread timing and pin threads / spread them out optimally across the given cores |
| 2021-10-21 23:10:44 +0000 | <Axman6> | Inst: I have to ask, do you have a point to any of this? I feel like you're saying a lot of stuff while not saying very much at all, and "Just want to troll a bit more" is feeling more and more true by the minute. |
| 2021-10-21 23:10:54 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:10:56 +0000 | <aegon> | a lot of work in pushing consoles is staring at cor usages and tweaking |
| 2021-10-21 23:12:01 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:12:54 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:13:11 +0000 | <aegon> | monochrom: aye, ultimately all of them were more open to it as a langauge that could be used but happy with c++. I want to some day play around with a game engine in hask but the recent findings about run time library loading on windows are a downer. If you have refernce on haskell optimization i'd love to grab em and read through it. I'm workign off of what i've been able to find on the wiki and some blog |
| 2021-10-21 23:13:17 +0000 | <aegon> | posts |
| 2021-10-21 23:13:36 +0000 | kong4ndrew | (~kong4ndre@199.247.111.247) (Remote host closed the connection) |
| 2021-10-21 23:13:56 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 265 seconds) |
| 2021-10-21 23:14:01 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:14:04 +0000 | <aegon> | also apparently up untill GHC 9 the concurrency loop was using an incorrect api from the kernel and messing with the scheduler / greedy looping? |
| 2021-10-21 23:14:19 +0000 | <Inst> | i mean the point re astral chain is that it's a heavily optimized game that uses certain tweaks to be able to run on mobile hardware, but taking a 10-20% penalty in haskell might make it inoperable |
| 2021-10-21 23:14:21 +0000 | <aegon> | i forget the talk but i think it was sometime recent |
| 2021-10-21 23:14:55 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:15:03 +0000 | <aegon> | Inst: i'm not sure haskell woudl incur a 10 - 20% penalty given what i've read and how much of that is actually just shipping things off to the gpu / apu |
| 2021-10-21 23:15:14 +0000 | <Inst> | it already has framerate drops on existing hardware, although it's also an example insofar as switch devs typically make stylistic choices in order to avoid taxing the tegra x1 |
| 2021-10-21 23:15:32 +0000 | <Axman6> | I've never considered making games in Haskell, it doesn't seem like a niche it would be well suited to, making other real world apps makes much more sense. |
| 2021-10-21 23:16:01 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:16:18 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2021-10-21 23:16:38 +0000 | <sm> | lots of people have though, #haskell-game:matrix.org / #haskell-game:libera.chat is where they hang out |
| 2021-10-21 23:16:50 +0000 | <Axman6> | the gaming world has found their local minima with C++ (and really, pushing everything to the GPU). I can't see what advantages there would be persuing that given the amount of money invested in the games world already |
| 2021-10-21 23:16:55 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:17:05 +0000 | <aegon> | Inst: a lot of times frame hiccups are caused by memory allocation /deallocation or reading from disk more so than cpu throughput, i'm not sure haskell would be better or worse w.r.t. |
| 2021-10-21 23:17:39 +0000 | <Axman6> | yeah absolutely, not saying it can't be done, but the fact that Haskell isn't (currently) well suited to that domain doesn't make it not a good choice of language for gettingh real work done. It'd been paying my bills doing that for like 7 years, so something's working out |
| 2021-10-21 23:18:02 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:18:37 +0000 | <Inst> | also given that virtually everyone's already running off an engine, and everything else is just a mod to an engine, would haskell actually be useful since development and testing times wouldn't necessarily be that big a part of total development? |
| 2021-10-21 23:18:49 +0000 | <Inst> | they spend a lot of time and resources on graphical assets, music, plots, etc |
| 2021-10-21 23:18:55 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:19:09 +0000 | <aegon> | i'm just a haskell enthusiast from the gaming world, I want to try pushing it into that niche for fun. c++20 concepts might change my mind but i'm tired of pushing things in that world from a c++ perspective, its like infinate boiler plate thats inflexible no matter what you do |
| 2021-10-21 23:19:09 +0000 | <Inst> | total development -> add resource expenditures |
| 2021-10-21 23:19:10 +0000 | <Cale> | geekosaur: It's not really in a state where it would be licenseable at the moment... and it's full of arrow-y FRP, which we'd probably want to rewrite to use Reflex if we were resuscitating it today. |
| 2021-10-21 23:20:02 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:20:15 +0000 | <Axman6> | Can someone do something about Guest372? |
| 2021-10-21 23:20:36 +0000 | <Axman6> | just realised every second line of my log is them joining or parting |
| 2021-10-21 23:20:40 +0000 | <Inst> | aegon: maybe if someone needs a completely different engine, there might be a chance to get haskell in there |
| 2021-10-21 23:20:53 +0000 | <aegon> | Axman6: lol, connection woes? |
| 2021-10-21 23:20:55 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:21:09 +0000 | <sm> | I think Zig is more likely the next big thing for games, https://news.ycombinator.com/item?id=28897469 |
| 2021-10-21 23:21:17 +0000 | hendursaga | (~weechat@user/hendursaga) |
| 2021-10-21 23:21:21 +0000 | <Inst> | alternate possibility: they're on mobile internet |
| 2021-10-21 23:21:40 +0000 | <Inst> | and they're driving in and out of a tunnel, say, in Italy or something |
| 2021-10-21 23:21:59 +0000 | <Inst> | oh, cool |
| 2021-10-21 23:22:02 +0000 | <Inst> | i just checked the IP out |
| 2021-10-21 23:22:03 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:22:47 +0000 | peterhil | (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-10-21 23:22:56 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:23:08 +0000 | peterhil | (~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) |
| 2021-10-21 23:23:12 +0000 | <sm> | so here's a piece of haskell-related trivia: if you're using Show/Read to serialise/deserialise, you can use pretty-show to make a more human readable format, and still read by just stripping the newlines |
| 2021-10-21 23:23:42 +0000 | <Inst> | is it considered rude to point out guest372's ip? |
| 2021-10-21 23:24:02 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:24:04 +0000 | <sm> | usually a bit invasive and off topic Inst, yes |
| 2021-10-21 23:24:19 +0000 | <Axman6> | and we can all see it if we want to |
| 2021-10-21 23:24:20 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2021-10-21 23:24:24 +0000 | <aegon> | also its not hidden in irc, i get a message with it everytime they leave or go |
| 2021-10-21 23:24:27 +0000 | <Inst> | no, but where the IP resolves to |
| 2021-10-21 23:24:29 +0000 | <davean> | Inst: probably considered generally passive agressive to do it indirectly. |
| 2021-10-21 23:24:39 +0000 | <Inst> | fine, it's an alibaba ip |
| 2021-10-21 23:24:56 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:25:08 +0000 | <Inst> | then again, alibaba has cloud services so it might have nothing to do with the actual firm |
| 2021-10-21 23:25:31 +0000 | <aegon> | yeah I'd feel uncomfortable if someone started discussing my geolocation even though its out there by default |
| 2021-10-21 23:25:45 +0000 | <davean> | Especially being so weird about it |
| 2021-10-21 23:25:50 +0000 | <davean> | instead of just saying what they want to get at |
| 2021-10-21 23:26:02 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:26:04 +0000 | <davean> | like clearly Inst is uncomfortable with what they're thinking, which is super suspicious |
| 2021-10-21 23:26:07 +0000 | Null_A | (~null_a@2601:645:8700:2290:a891:322d:b92c:f184) (Remote host closed the connection) |
| 2021-10-21 23:26:10 +0000 | <sm> | so can we talk about Haskell again |
| 2021-10-21 23:26:15 +0000 | <davean> | Please |
| 2021-10-21 23:26:20 +0000 | <Axman6> | yeah |
| 2021-10-21 23:26:55 +0000 | <Inst> | davean: it's cloud, but I just thought it would have been cool if Alibaba programmers were expressing an interest in Haskell |
| 2021-10-21 23:26:56 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:27:02 +0000 | <sm> | Can Haskell Be Marketed To Beginners As A Better Python |
| 2021-10-21 23:27:03 +0000 | <Axman6> | hey anyone want to review a PR on my package amazonka-s3-streaming? it's been mostly rewritten because it was honestly absolutely awful initally https://github.com/axman6/amazonka-s3-streaming/pull/25 |
| 2021-10-21 23:27:44 +0000 | <sm> | also, when GHC 9.2! |
| 2021-10-21 23:27:53 +0000 | <davean> | sm: Oh man |
| 2021-10-21 23:27:55 +0000 | <davean> | sm: uh about that |
| 2021-10-21 23:28:03 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:28:04 +0000 | <Axman6> | sm: yes! https://www.youtube.com/watch?v=BvECNQRrjCY |
| 2021-10-21 23:28:06 +0000 | <davean> | WTF knows |
| 2021-10-21 23:28:21 +0000 | <Axman6> | GHC 9.2???? |
| 2021-10-21 23:28:25 +0000 | <aegon> | sm: pythoners don't know what types are |
| 2021-10-21 23:28:34 +0000 | aegon | let my bias out |
| 2021-10-21 23:28:47 +0000 | <aegon> | i worked in it for 6 years in the web world and its maddening |
| 2021-10-21 23:28:47 +0000 | <davean> | Axman6: Yah, its a bit cursed with fixes ATM |
| 2021-10-21 23:28:57 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:29:08 +0000 | <aegon> | loose dicts everywhere |
| 2021-10-21 23:29:27 +0000 | <Axman6> | I've been translating a python project into HAskell, they've gone all in on using the python typing stuff, makes the job a hell of a lot easier |
| 2021-10-21 23:29:42 +0000 | <sm> | nice |
| 2021-10-21 23:29:59 +0000 | <Axman6> | (it's code from Microsoft that's pretty academic so I'm not too surprised) |
| 2021-10-21 23:30:03 +0000 | <aegon> | thats rare imo, i have yet to see a python project at a company attempt types |
| 2021-10-21 23:30:03 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:30:11 +0000 | <Axman6> | loose dicts sink ships |
| 2021-10-21 23:30:23 +0000 | <Inst> | lol ax, sorry, i'll stop annoying you guys |
| 2021-10-21 23:30:34 +0000 | <Inst> | nice video |
| 2021-10-21 23:30:48 +0000 | <Axman6> | I think this has been using types from the outset, and it feels fairly haskellish a lot of the time. deciding when something should be a typeclass is a bit of a pain |
| 2021-10-21 23:30:57 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:30:59 +0000 | <davean> | aegon: Do the python programmers you know not write type systems? |
| 2021-10-21 23:31:21 +0000 | <monochrom> | "Inside every Haskell discussion is a Python discussion that tries to get out" >:) |
| 2021-10-21 23:31:24 +0000 | <davean> | aegon: you know types are required for some of the accelerated python stuff? |
| 2021-10-21 23:31:36 +0000 | <davean> | aegon: several companies I know use the python-to-machine-code compilation stuff |
| 2021-10-21 23:31:49 +0000 | <aegon> | davean: heallll no. its funcs that take dicts all the way down. |
| 2021-10-21 23:32:03 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:32:13 +0000 | <davean> | I mean thats the language semantics sure - but that deosn't mean the dicts aren't nominal structures |
| 2021-10-21 23:32:22 +0000 | <aegon> | but i jumped from web land to game / graphics land ~4-ish years ago and have only ever gone back to python to play with machine learning so I'm probably out of date there |
| 2021-10-21 23:32:37 +0000 | <davean> | aegon: yah I'm talking web python here |
| 2021-10-21 23:32:40 +0000 | <aegon> | and most the companies i interact with are now using node / typescript for web stuff |
| 2021-10-21 23:32:48 +0000 | <Axman6> | I feel like every haskeller who comes up against criticism from pythonisters should have that video on speed dial |
| 2021-10-21 23:32:57 +0000 | <davean> | aegon: honestly its the web where I've seen python need the performance to get compiled with types |
| 2021-10-21 23:32:57 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:33:32 +0000 | <davean> | Things like science and machine learning and data analysis are all on like numpy and scipy that have C backends already |
| 2021-10-21 23:33:45 +0000 | <davean> | its the business logic stuff thats slow and needs direct perforamnce improvements |
| 2021-10-21 23:34:04 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:34:10 +0000 | <davean> | anyway, still not Haskell, but at least closer :) |
| 2021-10-21 23:34:57 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:35:54 +0000 | <aegon> | roger. I hope i don't hav to python again but it wouldn't be the end of the world. the type system last time i used it felt about on par with typescripts stuff. I didn't know they were using it to inform compilation anywhere |
| 2021-10-21 23:36:04 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:36:54 +0000 | <aegon> | i've been eager to try my hand at optimizing some haskell after reading up on it but haven't come across any place where its needed yet. monochrom do have a good toy project idea that will put in c-- land? :D or other resources on optimization |
| 2021-10-21 23:36:57 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:37:15 +0000 | <aegon> | i guess i should say optimizing GHC |
| 2021-10-21 23:37:18 +0000 | <davean> | aegon: oh optimizing Haskell is fun! |
| 2021-10-21 23:37:28 +0000 | <monochrom> | I don't. |
| 2021-10-21 23:37:39 +0000 | <davean> | I did a talk on that almost a year ago now |
| 2021-10-21 23:38:04 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:38:06 +0000 | <monochrom> | But look for "fusion" papers and SPJ's "core" talks. |
| 2021-10-21 23:38:33 +0000 | <monochrom> | "core" referring to the intermediate language in GHC. |
| 2021-10-21 23:38:58 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:39:32 +0000 | <monochrom> | SPJ's "core" talks don't just teach you it, they also show you an optimization pass that interested SPJ at the time of the talk. |
| 2021-10-21 23:40:04 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:40:21 +0000 | <davean> | aegon: what sort of optimizations are you interested in doing? |
| 2021-10-21 23:40:58 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:41:18 +0000 | <davean> | Are you interested in optizing Haskell libraries, programs, GHC specificly, or the code GHC produces in general (Or something I've missed as an option) |
| 2021-10-21 23:41:38 +0000 | <aegon> | monochrom: awesome, collecting links based on those criteria |
| 2021-10-21 23:42:05 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:42:58 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:43:36 +0000 | <aegon> | davean: i want to have more experience optimizing memory usage and the code ghc produces. Get a better feel for reasoning about how nested recursion or iterating over a list is going ot actually play out in core land and if it doesen't remove the complexity i expect it to, where to poke or look for in the source |
| 2021-10-21 23:43:38 +0000 | natechan | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-10-21 23:44:05 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 2021-10-21 23:44:06 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:44:11 +0000 | <davean> | Ok so specific programs (or maybe libraries) |
| 2021-10-21 23:44:13 +0000 | jgeerds | (~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 258 seconds) |
| 2021-10-21 23:44:26 +0000 | <aegon> | i'm writing haskell right now as if its going to take everything up into lambda calculus land and distill it into the best iterative set of instructions possible but i know thats a pretty brittle / bad assumption |
| 2021-10-21 23:44:59 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:45:20 +0000 | MQ-17J | (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 2021-10-21 23:45:27 +0000 | <aegon> | I've read up on fusion, inlining pragmas, the stages of compilation but just have no reasonable experince with hacking at any of it. The stuff i've written so far performs well enough which means GHC is great :D because i'm not being particularly careful |
| 2021-10-21 23:46:05 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:46:14 +0000 | <davean> | yah usually GHC compiles Haskell code well, even though it doesn't even try that hard |
| 2021-10-21 23:46:54 +0000 | <aegon> | but I'm also mainly processing lazy bytestrings for the "work" of the application. I should probably be forming everything as pipes or with conduit but when i started those were super scary libraries |
| 2021-10-21 23:46:54 +0000 | <sm> | Axman6: I have now watched your video and understand, that's great :) |
| 2021-10-21 23:46:59 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:47:11 +0000 | <sm> | this new language looks a bit verbose, but powerful |
| 2021-10-21 23:47:13 +0000 | <davean> | aegon: oh but machines is so much more fun :) |
| 2021-10-21 23:47:45 +0000 | <Axman6> | verbosity gives the ~compiler~ interpreter more options for optimisation |
| 2021-10-21 23:48:01 +0000 | <awpr> | lazy bytestrings get a lot of undeserved hate because they get conflated with lazy IO returning lazy bytestrings |
| 2021-10-21 23:48:05 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:48:13 +0000 | <monochrom> | I like the machines package too. |
| 2021-10-21 23:48:19 +0000 | <monochrom> | My only complain is: |
| 2021-10-21 23:48:23 +0000 | akspecs__ | (~akspecs@user/akspecs) (Ping timeout: 264 seconds) |
| 2021-10-21 23:48:26 +0000 | <monochrom> | Data.Machine and Control.Lens |
| 2021-10-21 23:48:39 +0000 | <monochrom> | Does anyone see the oxymorons I see? |
| 2021-10-21 23:48:50 +0000 | <monochrom> | Why is it not Control.Machine and Data.Lens? |
| 2021-10-21 23:48:50 +0000 | <geekosaur> | that ship sank years ago :( |
| 2021-10-21 23:48:56 +0000 | <davean> | monochrom: Oh I see it, but I just read them as different jokes |
| 2021-10-21 23:48:57 +0000 | <awpr> | at this point `Data.` is basically the `.com` of Haskell module names |
| 2021-10-21 23:48:59 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:49:18 +0000 | <davean> | I really just need to figure out my selector transformer semantics |
| 2021-10-21 23:49:21 +0000 | renzhi | (~xp@2607:fa49:6500:b100::6e7f) (Quit: WeeChat 2.3) |
| 2021-10-21 23:49:21 +0000 | <monochrom> | Both Data. and Control. are .com |
| 2021-10-21 23:49:24 +0000 | <davean> | So I can publish that package :( |
| 2021-10-21 23:49:33 +0000 | <davean> | instead of just having a bunch of non-composible transformers |
| 2021-10-21 23:49:39 +0000 | <monochrom> | Hell, even better: |
| 2021-10-21 23:50:02 +0000 | <awpr> | `Com.Kmett.Lens` go full Java style |
| 2021-10-21 23:50:05 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:50:08 +0000 | <davean> | I'm actually sad "Control.Lens" wasn't just "Lens" |
| 2021-10-21 23:50:13 +0000 | <geekosaur> | Control is a misnomer because your data *is* control structures |
| 2021-10-21 23:50:25 +0000 | <monochrom> | (|Data> + |Control>)/sqrt2 = (|.com> + |.org|)/sqrt2 |
| 2021-10-21 23:50:59 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:51:39 +0000 | <geekosaur> | and of course everything is data, so we reach ==davean |
| 2021-10-21 23:52:03 +0000 | <geekosaur> | well, or codata |
| 2021-10-21 23:52:06 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:53:00 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:53:27 +0000 | <aegon> | Axman6: python 5 looks dope |
| 2021-10-21 23:54:06 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:55:00 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:56:06 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:56:56 +0000 | acidjnk_new | (~acidjnk@p200300d0c703cb932154b917507392a6.dip0.t-ipconnect.de) |
| 2021-10-21 23:57:00 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:58:06 +0000 | Guest372 | (~xxx@47.245.54.240) |
| 2021-10-21 23:59:00 +0000 | Guest372 | (~xxx@47.245.54.240) (Remote host closed the connection) |
| 2021-10-21 23:59:39 +0000 | <dolio> | They're on 5 now? I thought 3 was still controversial. |