Logs on 2021-10-27 (liberachat/#haskell)
| 00:02:56 | <PuzzledSA> | Good day, I had a question about installing ghc and cabal-install from source. For various reasons, it is impractical to use prepackaged versions, and I need it to be installed in /opt. I've successfully bootstrapped ghc (using a prepackaged version on a temporary system to build it) along with Cabal libs, but could find no clear instructions, |
| 00:02:57 | <PuzzledSA> | muddled through some of cabal-install and dependencies, and got stuck on ghc-prim with an error I don't understand. I'm more of a sysadmin than a developer and was hoping someone could interpret this for me? |
| 00:06:20 | <PuzzledSA> | I had been doing "runhaskell Setup configure --prefix=/opt; runhaskell Setup build; runhaskell Setup install" inside each package, and have installed Cabal, echo, network, th-compat, network-uri, HTTP, hashable, async, base16-bytestring, resolv, zlib, cryptohash-sha256, splitmix, random, edit-distance, and base64-bytestring successfully. Upon |
| 00:06:21 | <PuzzledSA> | trying to build ghc-prim as a dependency for ed25519, I came up against "Setup: Error: could not find module: GHC.CString with any suffix: ["hi"] in the search path: ["dist/build"] |
| 00:08:38 | <PuzzledSA> | If anyone has a pointer to a recent set of instructions on how to build this from source, or can explain what needs to happen to correct the error I'm seeing, I'd be grateful. |
| 00:11:56 | <geekosaur> | if you have ghc then it should have installed ghc-prim along with it |
| 00:14:18 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 00:14:24 | <geekosaur> | so this suggests something is wrong with your ghc install, or you are simply trying to install a package that cannot be installed standalone like that |
| 00:14:51 | <geekosaur> | ghc-prim should be listed in `ghc-pkg list --global` |
| 00:15:27 | <geekosaur> | (I don't think ghc-prim can be installed from outside the GHC source tree) |
| 00:17:14 | <PuzzledSA> | looking... thanks. It does look like ghc-prim 0.6.1 is installed. Let me chase down dependencies here and see what the reason is for this. |
| 00:17:52 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 00:18:12 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 00:18:29 | <geekosaur> | (also, welcome! I'm an ex-sysadmin myself.) |
| 00:19:08 | Lord_of_Life_ | is now known as Lord_of_Life |
| 00:20:03 | × | myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 00:20:38 | <PuzzledSA> | cabal-install-3.6.0.0 is asking for hackage-security >=0.6.0.1 && < 0.7. hackage-security-0.6.0.1 wants ed25519 >= 0.0 && <0.1. ed25519 wants ghc-prim >=0.1 && <0.5, so the installed version of 0.6.1 does not fulfill the dependency |
| 00:21:13 | <PuzzledSA> | I'm totally unfamiliar with Haskell but totally familiar with dependency hell (thanks, Perl, Node, PHP, etc. heheh) |
| 00:21:28 | <geekosaur> | that… sounds odd. afaik 3.6.0.0 and deps shouldbuild with ghc 8.10.7 and its ghc-prim |
| 00:21:50 | <sclv> | wait are you trying to build cabal with ghc 9? |
| 00:22:06 | <geekosaur> | 0.6.1 is with my 8.10.7 |
| 00:22:12 | <PuzzledSA> | this is ghc-8.10.7 |
| 00:22:53 | <sclv> | ah ok maybe try a newer cabal install? 3.6.2.0? |
| 00:23:25 | <PuzzledSA> | it is possible something went awry during the bootstrap, I suppose, I had to use ghc-8.6.3 to boorstrap |
| 00:23:35 | <PuzzledSA> | aaaaah bootstrap |
| 00:26:31 | <PuzzledSA> | 3.6.0.0 is the latest listed on the downloads page at https://www.haskell.org/cabal/download.html |
| 00:27:17 | <PuzzledSA> | trawling round... |
| 00:27:27 | <sclv> | yeah we need to update that sigh. You can find the newer in the dir structure but it shouldn’t matter |
| 00:27:38 | <sclv> | For bootstrapping look at the github repo |
| 00:27:50 | <PuzzledSA> | ok found https://hackage.haskell.org/package/cabal-install-3.6.2.0/cabal-install-3.6.2.0.tar.gz |
| 00:28:00 | <PuzzledSA> | lemme give this a shot |
| 00:28:06 | <sclv> | There’s scripts there, in the repo |
| 00:28:38 | <sclv> | https://github.com/haskell/cabal/tree/master/bootstrap |
| 00:29:01 | → | op_4 joins (~op_4@user/op-4/x-9116473) |
| 00:30:14 | <op_4> | does anyone have a resource/quick explanation for what monad transformers are, assuming i know sufficiently much category theory? |
| 00:32:05 | <PuzzledSA> | Unfortunately the target machines do not have direct Internet access so git is a bit painful. cabal-install-3.6.2.0 has the same dependency on hackage-security >=0.6.0.1 && <0.7 |
| 00:32:36 | <geekosaur> | op_4, imo you don't need category theory to understand monad transformers |
| 00:33:34 | <op_4> | geekosaur: ah, sorry, perhaps i misrepresented my stance: what if i want to know what monad transformers are, categorically? :p |
| 00:33:39 | <geekosaur> | https://www.fpcomplete.com/haskell/tutorial/monad-transformers/ https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.596&rep=rep1&type=pdf |
| 00:34:04 | <geekosaur> | not sure they have one, they're more of an adaptation to haskell limitations I think |
| 00:34:13 | <geekosaur> | just as haskell monads are not full CT monads |
| 00:34:37 | <op_4> | geekosaur: ok, great, that's useful to know too. Thanks for the links! |
| 00:34:48 | <jackdk> | "endofunctors on the category of monads", perhaps? https://hackage.haskell.org/package/mmorph-1.2.0/docs/Control-Monad-Morph.html |
| 00:35:00 | × | xff0x quits (~xff0x@2001:1a81:53d3:900:4e53:4d86:e32e:4caf) (Ping timeout: 260 seconds) |
| 00:35:02 | <jackdk> | I don't know CT well enough to say - I'm just banging words together |
| 00:35:33 | <op_4> | geekosaur: what do you mean they're not actually monads? Is this something like laws for unit and multiplication aren't actually enforced? |
| 00:35:47 | × | Cale quits (~cale@2607:fea8:995f:d3e0:a7e3:45a3:f953:e812) (Ping timeout: 264 seconds) |
| 00:35:50 | <op_4> | jackdk: interesting, thanks, that certainly seems reasonable |
| 00:35:50 | → | xff0x joins (~xff0x@2001:1a81:53d3:900:1ab0:e69a:7282:ec2c) |
| 00:36:07 | <geekosaur> | more like they're limited to the (pseudo)category Hask instead of all categories |
| 00:36:41 | <geekosaur> | that is, theyy are only defined in the not-quite-a-category of Haskell types |
| 00:38:31 | <PuzzledSA> | okay, I see what may be the issue here. The webpage for ed25519 at https://hackage.haskell.org/package/ed25519 describes the ghc-prim dependency as >= 0.1 && < 0.7 but when I run the configure in ed25519-0.0.5.0 it says the dependency is >= 0.1 && <0.5 |
| 00:38:46 | <op_4> | geekosaur: oh, sure. i don't know that this robs them of being monads in any meaningful way. Covariant powerset is a monoid only on set, but it's still a monad. |
| 00:39:14 | <op_4> | geekosaur: but you did say something completely new to me. What do you mean by pseudo-category? |
| 00:39:22 | <geekosaur> | Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'. |
| 00:40:09 | <geekosaur> | I mean that Hask is commonly considered a category, but because of bottom it isn't one. There are extensions to categories that would admit it, but I don't know how much theoreticla work has gone into that |
| 00:40:43 | <sclv> | PuzzledSA: since you’re building everything by hand you can do that manually |
| 00:40:49 | <sclv> | The change |
| 00:40:49 | <op_4> | afaik, a pseudo-category is a weakened category object in a 2-category where composition is only associative and unital up to structured 2-cells |
| 00:40:52 | <PuzzledSA> | I am trying to *build* cabal in the first place... can I just edit the "ed25519.cabal" file? |
| 00:40:55 | <op_4> | geekosaur: aha, i see, thanks! |
| 00:42:08 | <geekosaur> | PuzzledSA, yes, that's whyat a metadata revision is |
| 00:42:21 | <PuzzledSA> | It builds and seems to be fine. |
| 00:42:22 | <geekosaur> | so you should be able to simply change the upper bound to < 7 |
| 00:43:44 | <PuzzledSA> | Already did and it works. Thanks, broke the dependency logjam (at least for now!) |
| 00:46:16 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds) |
| 00:48:29 | × | echoSMILE quits (~echoSMILE@user/echosmile) (Ping timeout: 256 seconds) |
| 00:48:56 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 00:49:45 | <PuzzledSA> | Okay that got me through several more. I'm now working on "base" which is giving me three repeated stanzas of "<interactive>:1:1: error: attempting to use module 'main:Prelude' (./Prelude.hs) which is not loaded" |
| 00:49:55 | × | MQ-17J quits (~MQ-17J@8.6.144.197) (Ping timeout: 260 seconds) |
| 00:50:22 | <geekosaur> | you have another dependency issue somewhere, base can't be installed outside of ghc |
| 00:50:38 | → | MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 00:50:49 | <geekosaur> | you should have base 4.14.3.0 installed already |
| 00:50:52 | × | MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 00:51:23 | <PuzzledSA> | Okay, looking around. This is due to tar-0.5.1.1 wanting base >=4 && <4.14 ... will inspect things a bit |
| 00:51:45 | → | MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 00:52:08 | × | tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving) |
| 00:52:21 | <PuzzledSA> | 4.17 on the webpage |
| 00:52:44 | <geekosaur> | metadata rev 4 bumped the base revision to >=4 and <4.17 |
| 00:53:10 | <PuzzledSA> | so if I skip trying to build base and just bump tar dependency for base to 4.17 it looks good |
| 00:53:21 | <geekosaur> | metadata revisions do complicate doing things this way |
| 00:53:57 | <geekosaur> | but they greatly simplify hackage administration, when all that's needed is a rev bump in the cabal file and not a whole new upload |
| 00:54:21 | <awpr> | download the whole 00-index.tgz and extract the cabal files? |
| 00:54:21 | <PuzzledSA> | Yeah, sorry, and I'm coming into this with zero familiarity with the tools, so I wasn't even really sure where to look at first |
| 00:54:34 | → | Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
| 00:55:04 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
| 00:55:15 | <geekosaur> | basically, if you're pulling stuff from hackage, look for the string "metadata revisions". it's a link. follow the link to see what package dependency revisions have been made |
| 00:55:17 | <awpr> | Hackage uses the, uh, _interesting_ technique of appending revised cabal files to the .tar, so the last one will overwrite all the others and will be the most recent |
| 00:55:58 | → | tcard joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
| 00:56:00 | <awpr> | so if you put that index tarball on the target machine, you can just grab the latest .cabal file for the current package out of it |
| 00:57:05 | × | fluffyballoon quits (~user@131.93.208.196) (Ping timeout: 260 seconds) |
| 00:57:50 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 01:00:58 | × | MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 01:01:08 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 01:05:00 | <PuzzledSA> | awpr, ah, I see. Okay, well, I think I am past my logjam here, and I appreciate the hints folks |
| 01:06:02 | → | MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 01:16:32 | × | neurocyte0132889 quits (~neurocyte@user/neurocyte) (Ping timeout: 260 seconds) |
| 01:16:35 | <sclv> | You can download the revised cabal files from hackage directly too |
| 01:32:24 | → | Guest4914 joins (~Guest49@99-125-181-14.lightspeed.miamfl.sbcglobal.net) |
| 01:35:12 | × | xff0x quits (~xff0x@2001:1a81:53d3:900:1ab0:e69a:7282:ec2c) (Ping timeout: 260 seconds) |
| 01:35:56 | → | xff0x joins (~xff0x@2001:1a81:53d3:900:7766:a729:f554:f683) |
| 01:36:01 | × | Guest4914 quits (~Guest49@99-125-181-14.lightspeed.miamfl.sbcglobal.net) (Client Quit) |
| 01:38:50 | → | dd joins (~dd@99-125-181-14.lightspeed.miamfl.sbcglobal.net) |
| 01:39:31 | × | dd quits (~dd@99-125-181-14.lightspeed.miamfl.sbcglobal.net) (Remote host closed the connection) |
| 01:46:52 | × | MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 01:47:10 | → | MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 01:47:11 | × | xff0x quits (~xff0x@2001:1a81:53d3:900:7766:a729:f554:f683) (Ping timeout: 245 seconds) |
| 01:49:16 | → | xff0x joins (~xff0x@2001:1a81:5218:9100:819b:8b2:7ae0:c230) |
| 01:49:16 | <PuzzledSA> | WOO SUCCESS! Some more various dependencies later, it all builds. Thanks very much geekosaur and awpr, your assistance is much appreciated |
| 01:49:21 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection) |
| 01:52:25 | → | nehsou^ joins (~nehsou@wsip-68-227-92-38.mc.at.cox.net) |
| 01:52:26 | × | MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 01:53:07 | → | MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 01:53:10 | → | myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 02:00:04 | × | lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 02:00:56 | → | trillp joins (~user@69.233.98.238) |
| 02:05:25 | × | PuzzledSA quits (~PuzzledSA@cache0-req.hlcrwi.sol.net) (Quit: Client closed) |
| 02:10:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:14:42 | × | myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 02:18:27 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 02:19:30 | → | myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 02:24:01 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 02:29:01 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 02:32:17 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 02:33:59 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 260 seconds) |
| 02:35:23 | × | td_ quits (~td@94.134.91.24) (Ping timeout: 260 seconds) |
| 02:37:00 | → | td_ joins (~td@muedsl-82-207-238-060.citykom.de) |
| 02:37:58 | → | bongobrown joins (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
| 02:40:04 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds) |
| 02:40:59 | × | myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 02:41:40 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:44:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 02:48:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:53:35 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
| 02:59:05 | × | bongobrown quits (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Quit: Leaving) |
| 02:59:23 | → | bongobrown joins (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
| 03:04:15 | × | yrlnry quits (~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) (Ping timeout: 260 seconds) |
| 03:06:38 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 03:11:34 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 03:11:34 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 03:11:34 | → | wroathe joins (~wroathe@user/wroathe) |
| 03:12:41 | → | myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 03:17:16 | × | bongobrown quits (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Quit: Leaving) |
| 03:17:35 | → | bongobrown joins (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
| 03:22:04 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
| 03:23:50 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:28:26 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 03:30:25 | → | yrlnry joins (~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) |
| 03:30:38 | → | zebrag joins (~chris@user/zebrag) |
| 03:33:05 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:34:47 | → | trillp` joins (~user@2600:1700:28e2:14d0:4e6b:a714:bd6d:a4b5) |
| 03:35:26 | × | trillp quits (~user@69.233.98.238) (Ping timeout: 260 seconds) |
| 03:41:30 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 03:43:32 | × | bongobrown quits (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Ping timeout: 260 seconds) |
| 03:43:35 | → | jinsun joins (~quassel@user/jinsun) |
| 03:46:49 | trillp` | is now known as trillp |
| 03:58:11 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 03:58:11 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 03:58:11 | → | wroathe joins (~wroathe@user/wroathe) |
| 04:00:48 | × | yrlnry quits (~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) (Ping timeout: 260 seconds) |
| 04:03:07 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 04:06:26 | × | zmt00 quits (~zmt00@user/zmt00) (Quit: Gone.) |
| 04:06:29 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 04:06:48 | → | zmt00 joins (~zmt00@user/zmt00) |
| 04:10:56 | × | jinsun quits (~quassel@user/jinsun) (Ping timeout: 245 seconds) |
| 04:12:35 | → | jinsun joins (~quassel@user/jinsun) |
| 04:12:47 | × | evertedsphere quits (sid434122@hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 04:15:25 | × | brainfreeze quits (~brainfree@2a03:1b20:4:f011::20d) (Ping timeout: 260 seconds) |
| 04:15:56 | → | phma_ joins (~phma@host-67-44-208-16.hnremote.net) |
| 04:17:00 | → | brainfreeze joins (~brainfree@2a03:1b20:4:f011::20d) |
| 04:18:59 | × | phma quits (~phma@host-67-44-208-12.hnremote.net) (Ping timeout: 260 seconds) |
| 04:25:11 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 04:41:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:03:34 | × | zmt00 quits (~zmt00@user/zmt00) (Quit: Gone.) |
| 05:05:06 | → | zmt00 joins (~zmt00@user/zmt00) |
| 05:12:49 | × | nehsou^ quits (~nehsou@wsip-68-227-92-38.mc.at.cox.net) (Remote host closed the connection) |
| 05:15:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 05:15:55 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 05:16:00 | phma_ | is now known as phma |
| 05:16:08 | → | lavaman joins (~lavaman@98.38.249.169) |
| 05:16:16 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 05:22:55 | × | brainfreeze quits (~brainfree@2a03:1b20:4:f011::20d) (Remote host closed the connection) |
| 05:28:40 | → | dsrt^ joins (~dsrt@wsip-68-227-92-38.mc.at.cox.net) |
| 05:29:50 | → | mei joins (~mei@user/mei) |
| 05:31:07 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:35:14 | × | aegon quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 05:43:27 | × | myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 05:44:39 | × | zebrag quits (~chris@user/zebrag) (Remote host closed the connection) |
| 05:44:41 | × | jinsun quits (~quassel@user/jinsun) (Ping timeout: 245 seconds) |
| 05:47:37 | → | Liudvikas joins (~Liudvikas@213.197.176.162) |
| 05:49:55 | → | jinsun joins (~quassel@user/jinsun) |
| 05:51:22 | × | trillp quits (~user@2600:1700:28e2:14d0:4e6b:a714:bd6d:a4b5) (Remote host closed the connection) |
| 05:55:56 | × | jinsun quits (~quassel@user/jinsun) (Ping timeout: 245 seconds) |
| 05:59:55 | × | alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection) |
| 06:00:16 | → | alzgh joins (~alzgh@user/alzgh) |
| 06:01:04 | × | Liudvikas quits (~Liudvikas@213.197.176.162) (Quit: Konversation terminated!) |
| 06:01:43 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 06:03:30 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 06:03:32 | × | xff0x quits (~xff0x@2001:1a81:5218:9100:819b:8b2:7ae0:c230) (Ping timeout: 260 seconds) |
| 06:04:12 | → | xff0x joins (~xff0x@2001:1a81:5218:9100:c348:b23d:7d32:f26e) |
| 06:06:10 | × | dsrt^ quits (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 260 seconds) |
| 06:06:44 | → | michalz joins (~michalz@185.246.204.125) |
| 06:17:33 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 06:24:01 | → | mishugana joins (~mishugana@user/mishugana) |
| 06:24:24 | <mishugana> | hello folks, has anybody read the book, "functional programming made easier" by Scalfani? (The book teached purescript) |
| 06:24:53 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 06:24:59 | <mishugana> | if so, can you please share your review briefly? |
| 06:25:35 | × | xff0x quits (~xff0x@2001:1a81:5218:9100:c348:b23d:7d32:f26e) (Ping timeout: 264 seconds) |
| 06:26:24 | → | xff0x joins (~xff0x@2001:1a81:5218:9100:27b2:477a:f50:38f5) |
| 06:26:50 | <mishugana> | also, if possible, a comparison to "haskell programming from first principles" would be useful for me |
| 06:27:23 | <mishugana> | for reference, I've devoured Graham Hutton's "Programming in Haskell", now wish to start learning Haskell for real-world projects |
| 06:27:34 | <mishugana> | merci beaucoup! |
| 06:29:59 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 06:34:45 | <mishugana> | anybody? |
| 06:35:54 | <jackdk> | Possibly a better fit for a discussion forum - you are asking for an in-depth comparison between multiple large books |
| 06:36:25 | → | fendor joins (~fendor@77.119.200.17.wireless.dyn.drei.com) |
| 06:38:05 | <mishugana> | Hmmm |
| 06:38:19 | → | kuribas joins (~user@ptr-25vy0i9jhzblfidtsev.18120a2.ip6.access.telenet.be) |
| 06:39:39 | → | chomwitt joins (~chomwitt@2a02:587:dc12:b600:12c3:7bff:fe6d:d374) |
| 06:40:16 | × | michalz quits (~michalz@185.246.204.125) (Remote host closed the connection) |
| 06:43:49 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 06:44:15 | → | michalz joins (~michalz@185.246.204.109) |
| 06:49:46 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 06:49:48 | × | michalz quits (~michalz@185.246.204.109) (Remote host closed the connection) |
| 06:50:55 | → | michalz joins (~michalz@185.246.204.109) |
| 06:53:51 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:55:07 | → | lortabac joins (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) |
| 06:56:24 | → | zincy joins (~tom@2a00:23c8:970c:4801:d180:6949:f6bd:3923) |
| 06:57:23 | → | ubert joins (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) |
| 07:00:42 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:01:45 | × | mishugana quits (~mishugana@user/mishugana) (Quit: leaving) |
| 07:06:38 | → | chele joins (~chele@user/chele) |
| 07:08:43 | <Inst> | @mishugana use ##programming for that, this is #haskell central and has a #haskell-offtopic |
| 07:08:43 | <lambdabot> | Unknown command, try @list |
| 07:10:14 | ← | marinelli parts (~marinelli@gateway/tor-sasl/marinelli) () |
| 07:10:31 | <yushyin> | also this is IRC, you don't need @ before of nicks |
| 07:15:07 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:19:00 | → | mbuf joins (~Shakthi@122.178.244.237) |
| 07:20:55 | <ski> | (in fact, it's confusing, since `@', in connection with nicknames, is already used to mean something else. if you mean to refer to, or address, someone, simply mention their nickname) |
| 07:21:03 | → | kupi joins (uid212005@id-212005.hampstead.irccloud.com) |
| 07:23:24 | → | ub joins (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) |
| 07:32:46 | × | ub quits (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Quit: ub) |
| 07:33:17 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 07:35:46 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 07:37:58 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:38:16 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 265 seconds) |
| 07:39:02 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
| 07:39:46 | → | fef joins (~thedawn@user/thedawn) |
| 07:42:17 | <dminuoso> | Conflating naming conventions is an ubiquitous problem. The way we name channels in IRC is how twitter identifies processible tags |
| 07:42:18 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 07:46:38 | ski | always wondered how it distinguished between different topics, whose tags happen to be spelled the same way |
| 07:46:43 | × | ubert quits (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Quit: ubert) |
| 07:56:23 | → | max22- joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
| 08:00:07 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 08:03:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 08:04:29 | → | acidjnk_new joins (~acidjnk@p200300d0c7238d51605dadc8a3f75380.dip0.t-ipconnect.de) |
| 08:04:34 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:05:17 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:07:20 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 08:08:24 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 08:15:45 | → | echoSMILE joins (~echoSMILE@user/echosmile) |
| 08:16:58 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer) |
| 08:17:33 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 08:17:35 | → | d0ku joins (~d0ku@178.43.15.137.ipv4.supernova.orange.pl) |
| 08:20:43 | × | chomwitt quits (~chomwitt@2a02:587:dc12:b600:12c3:7bff:fe6d:d374) (Ping timeout: 260 seconds) |
| 08:24:52 | <zincy> | applyToFive :: (forall a. a -> a) -> Int |
| 08:24:54 | <zincy> | applyToFive f = f 5 |
| 08:25:32 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection) |
| 08:25:43 | <zincy> | Is rankN types all about delaying the instantiation of type parameters? |
| 08:26:31 | <ski> | i suppose that's one way to phrase it |
| 08:26:55 | <ski> | but it's also about controlling *who* gets to pick and choose (caller or callee) |
| 08:26:55 | × | echoSMILE quits (~echoSMILE@user/echosmile) (Ping timeout: 256 seconds) |
| 08:27:22 | → | osewingsn joins (~ngpc@2603-8081-3e05-e2d0-bb2d-8519-eb6b-baf1.res6.spectrum.com) |
| 08:27:27 | <ski> | and about restricting the scope of the tyvar. and possibly being able to pick more than one time, for a single call to the main operation |
| 08:27:48 | × | osewingsn quits (~ngpc@2603-8081-3e05-e2d0-bb2d-8519-eb6b-baf1.res6.spectrum.com) (Client Quit) |
| 08:27:59 | <zincy> | So applyToFive is basically delegating the responsibility of ensuring tyVar a is picked correctly to the caller |
| 08:28:06 | <ski> | and can be used for hiding of implementation details (which type(s) your implementation actually operates with) |
| 08:28:22 | <zincy> | Is that hiding related to existential types |
| 08:28:36 | <ski> | somewhat |
| 08:28:50 | <zincy> | I am trying to understand existential types as I heard that information hiding is tantamount to existential types |
| 08:29:14 | <ski> | from `exists a. (..a.. -> ...)', `(forall a. ..a..) -> ...' follows (but not vice versa, in general) |
| 08:29:24 | <ski> | yes |
| 08:30:03 | × | xff0x quits (~xff0x@2001:1a81:5218:9100:27b2:477a:f50:38f5) (Ping timeout: 260 seconds) |
| 08:30:42 | <ski> | in your case, you could just as well think of it as `applyToFive :: exists a. (a -> a) -> Int' (because you only pick a single type for `a', and it doesn't depend on any run-time input (arguments) to `applyToFive') |
| 08:31:29 | <ski> | (but if you had `foo f = (f (5 :: Int),f False)', then you couldn't express it like that) |
| 08:32:08 | <zincy> | oh so rankNTypes are somewhat related to information hiding, but existential types are directly related?? |
| 08:32:38 | → | xff0x joins (~xff0x@2001:1a81:5218:9100:27b2:477a:f50:38f5) |
| 08:33:38 | → | nschoe joins (~quassel@178.251.84.79) |
| 08:36:20 | <zincy> | Just to clarify, `applyToFive :: (forall a. a -> a) -> Int` can be thought of as `applyToFive :: exists a. (a -> a) -> Int |
| 08:36:25 | <zincy> | Is that right? |
| 08:36:44 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:37:01 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 08:38:08 | <ski> | `Rank2Types' refers to being able to use `forall' in an argument type. `RankNTypes' to also be able to use `forall' in argument types of (callback) arguments types, and so on |
| 08:38:55 | <zincy> | So N is the number of nestings of our quantifier |
| 08:39:13 | <ski> | `forall' and `exists' are dual, they give opposite patterns of who gets to pick a type and who has to handle whatever is picked (without knowing what the choice was, in general), out of caller vs. callee |
| 08:39:26 | <ski> | the number of *left*-nestings inside `->', yes |
| 08:40:04 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 08:41:01 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit) |
| 08:41:05 | <ski> | <zincy> Just to clarify, `applyToFive :: (forall a. a -> a) -> Int` can be thought of as `applyToFive :: exists a. (a -> a) -> Int |
| 08:41:29 | <ski> | not in general. in this particular case, yes, because you're picking `a' exactly once (and not depending on run-time input) |
| 08:41:48 | <ski> | consider |
| 08:41:57 | <ski> | length :: forall a. ([a] -> Int) |
| 08:42:25 | → | echoSMILE joins (~echoSMILE@user/echosmile) |
| 08:42:25 | <ski> | this says that, for all types `a', `length' can be called with a list of `a's, and will produce an `Int' as result |
| 08:42:32 | <ski> | now, this is equivalent to |
| 08:42:42 | <ski> | length :: (exists a. [a]) -> Int |
| 08:43:15 | <ski> | which says that, calling `length' will produce an `Int' as result, provided there exists some type `a' such that the argument is a list of `a's |
| 08:43:45 | <ski> | in general, `(exists a. ..a..) -> ...' is equivalent to `forall a. (..a.. -> ...)' |
| 08:44:04 | <ski> | also, `... -> (forall a. ..a..)' is equivalent to `forall a. (... -> ..a..)' |
| 08:44:17 | <ski> | so, e.g. |
| 08:44:29 | <ski> | replicate :: forall a. (Int -> a -> [a]) |
| 08:44:33 | <ski> | is equivalent to |
| 08:44:42 | <ski> | replicate :: Int -> (forall a. a -> [a]) |
| 08:44:57 | → | osewingsn joins (~ngpc@2603-8081-3e05-e2d0-bb2d-8519-eb6b-baf1.res6.spectrum.com) |
| 08:44:57 | <ski> | zincy : this making any sense, so far ? |
| 08:45:21 | × | osewingsn quits (~ngpc@2603-8081-3e05-e2d0-bb2d-8519-eb6b-baf1.res6.spectrum.com) (Remote host closed the connection) |
| 08:46:30 | <zincy> | So the normal length (no lang extensions) function can be thought of as 'exists'? |
| 08:47:49 | <ski> | you could think of the *argument* type as being wrapped in an `exists', sure |
| 08:48:37 | <ski> | `length' doesn't care about the element type. as long as there exists some element type such that the argument is a lost of such elements, `length' will work fine |
| 08:48:45 | <zincy> | *argument* type is (exists a. [a]) -> Int ? |
| 08:48:57 | <zincy> | I mean (exists a. [a]) |
| 08:49:05 | <ski> | no, `exists a. [a]' is the argument type there |
| 08:49:06 | <ski> | yea |
| 08:49:26 | <ski> | `forall' is what expresses polymorphism |
| 08:49:45 | <ski> | a polymorphic value is one whose type has a shape `forall a. ..a..' |
| 08:50:46 | <zincy> | I am confused about how in `length :: forall a. ([a] -> Int)` [a] can be thought as (exists a [a]) |
| 08:51:02 | <ski> | and it means it has type `..Int..',`..Bool..',`..[String,Bool -> IO ()]..', &c. .. for any possible (concrete) type that you can plug (consistently) for `a', it has that type |
| 08:51:12 | <ski> | no |
| 08:52:38 | <ski> | consider `\x -> x'. this has type `Int -> Int'. but it can also be given the type `Bool -> Bool', as well as the type `[(String,Bool -> IO ())] -> [(String,Bool -> IO ())]' .. in short, for all types `a', it has type `a -> a' |
| 08:52:55 | <ski> | and we express this by saying it has type `forall a. a -> a' |
| 08:53:39 | <zincy> | Right, the forall is saying that every parameterisation is treated the same |
| 08:53:45 | <ski> | now, a value of type `exists a. ..a..' doesn't have type `..a..' for *all* types `a' .. but rather, there exists *some* (unknown/forgotten/abstract/opque/skolem) type `a' such that it has type `..a..' |
| 08:53:56 | <ski> | take `[False,True,False]' |
| 08:53:58 | <ski> | we have |
| 08:54:07 | <ski> | [False,True,False] :: [Bool] |
| 08:54:16 | <ski> | therefore, we can also claim |
| 08:54:23 | <ski> | [False,True,False] :: exists a. [a] |
| 08:54:40 | <ski> | meaning : there exists some type `a' such that `[False,True,False]' is a list of `a's |
| 08:54:58 | <ski> | therefore, we can apply `length :: (exists a. [a]) -> Int' to this list, getting back an `Int' |
| 08:55:55 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 08:55:55 | <ski> | for `forall', we can go from `blah :: forall a. ..a..' *to* `blah :: ..T..', by picking/choosing a *particular* type `T' |
| 08:55:57 | <zincy> | Ah I think that makes sense |
| 08:56:19 | <zincy> | So in the general case you can go from forall to exists but not backwards |
| 08:56:30 | × | Tordek_ quits (tordek@triton.blinkenshell.org) (Ping timeout: 260 seconds) |
| 08:56:45 | <ski> | while for `exists', we can go *to* `blah :: exists a. ..a..' *from* `blah :: ..T..', by *forgetting/hiding* which type `T' we had used, hiding it behind the tyvar `a' |
| 08:57:13 | <ski> | now, consider again `... -> (forall a. ..a..)' -- this usage of `forall' is not "serious" |
| 08:57:57 | <ski> | in the sense that it gives us nothing new, no extra expressivity. because this is equivalent to `forall a. (... -> ..a..)'. and we already know how to interpret `forall's occuring just after the `::' in a type signature |
| 08:58:05 | → | Guest39 joins (~Guest39@2601:645:4101:b390:4521:34c:ac77:836e) |
| 08:58:21 | × | Guest39 quits (~Guest39@2601:645:4101:b390:4521:34c:ac77:836e) (Client Quit) |
| 08:58:55 | <ski> | now, `(forall a. ..a..) -> ...' *is* a "serious" use of `forall', giving us a new power. so this is what (`PolymorphicComponents' and) `Rank2Types' and `RankNTypes' gives us |
| 08:59:28 | <ski> | (note, all those three now turn on `RankNTypes' in GHC, so there's no difference between them there) |
| 09:00:06 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Ping timeout: 245 seconds) |
| 09:00:24 | <ski> | similarly, `(exists a. ..a..) -> ...' is not "serious", since this is equivalent to `forall a. (..a.. -> ...)', which we already understand from ordinary polymorphism |
| 09:00:44 | <ski> | however, `... -> (exists a. ..a..)' *would* be a "serious" usage of `exists' |
| 09:01:18 | <ski> | likewise, putting `exists' inside some data structure, e.g. `[exists a. ..a..]' or `Map String (exists a. ..a..)' |
| 09:02:07 | <kritzefitz> | would `exists a. ..a..` where the exists comes directly after `::` also be serious? |
| 09:02:08 | <zincy> | So the extra expressiveness comes from pushing the forall inside the LHS of an arrow which is supplied by the caller |
| 09:02:40 | <ski> | kritzefitz : yes |
| 09:03:48 | <ski> | (also `forall' inside other type constructors .. but that's `ImpredicativeTypes', which for a long time didn't work properly. there's a recent new implementation around now, though, which hopefully works better) |
| 09:04:03 | <ski> | anyway, consider e.g. |
| 09:04:29 | <ski> | foo :: Bool -> exists a. (a,a -> a,a -> String) |
| 09:04:42 | <ski> | foo False = (False,not,show) |
| 09:05:00 | <ski> | foo True = ("True",reverse,id) |
| 09:05:55 | <ski> | note how, despite the two bodies here seemingly having different types, they actually share the common *abstract* type `exists a. (a,a -> a,a -> String)' |
| 09:06:08 | × | fef quits (~thedawn@user/thedawn) (Quit: Leaving) |
| 09:06:18 | <ski> | and note that the type that is picked by `foo' for `a' here *depends* on the argument passed to `foo' |
| 09:06:48 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:08:58 | <zincy> | Interesting |
| 09:09:30 | <zincy> | So from the callers perspective what is the return type? |
| 09:09:37 | <zincy> | Changes based on the argument? |
| 09:10:24 | <zincy> | Kind of like an interface hiding information about how polymorphic it really is to the caller |
| 09:10:41 | → | ikex1 joins (~ash@user/ikex) |
| 09:11:08 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 09:11:47 | × | ikex quits (~ash@user/ikex) (Ping timeout: 264 seconds) |
| 09:11:48 | ikex1 | is now known as ikex |
| 09:13:09 | × | michalz quits (~michalz@185.246.204.109) (Remote host closed the connection) |
| 09:13:42 | → | michalz joins (~michalz@185.246.204.104) |
| 09:14:07 | → | lavaman joins (~lavaman@98.38.249.169) |
| 09:14:44 | <ski> | zincy : well, consider a polymorphic value `blah :: forall a. ..a..'. the caller/consumer/user of it may pick and choose any type they like for `a'. the callee/producer/definer/implementor must be prepared to handle any possible choice, and furthermore can't inspect or depend on which choice was made (except if special provisions were made for that) |
| 09:16:28 | <ski> | zincy : now, for an "abstract" value `bleh :: exists a. ..a..', the callee/producer/definer/implementor may pick and choose whatever type they like for `a'. while now, otoh, the caller/consumer/user must be prepared to handle any possible choice, and furthermore can't inspect or depend on which choice was made (except if special provisions were made) |
| 09:16:35 | × | SquidDev quits (~SquidDev@autoclave.squiddev.cc) (Quit: Bye!) |
| 09:16:55 | → | SquidDev joins (~SquidDev@autoclave.squiddev.cc) |
| 09:17:18 | <zincy> | ski: Need to go out for a bit but will be back in a couple of hours |
| 09:17:19 | <ski> | zincy : so, `forall' vs. `exists' swaps/reverses the rôles that the caller/consumer/user vs. callee/producer/definer/implementor has, with regards to handling the type `a' |
| 09:17:49 | → | CiaoSen joins (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 09:18:36 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 09:18:59 | → | Midjak joins (~Midjak@82-65-111-221.subs.proxad.net) |
| 09:19:12 | <ski> | now, the left part of the function arrow `->' is known to swap the rules of caller vs. callee. therefore, `(forall a. ..a..) -> ...' is bound to be "similar" to `exists a. (..a.. -> ...)' (which not exactly the same, as i hinted at previously, both involve the *callee* choosing some type(s) for `a', and the caller having to make do with that/those choice(s)) |
| 09:19:37 | → | chomwitt joins (~chomwitt@ppp-94-68-249-8.home.otenet.gr) |
| 09:20:06 | <ski> | (while `(exist a. ..a..) -> ...' is completely equivalent to `forall a. (..a..) -> ...') |
| 09:20:42 | <ski> | this means that it's incorrect to refer to all the rank-`n' types as some kind of "higher polymorphism" |
| 09:20:55 | <ski> | sure, `foo :: forall a. ..a..' is polymorphism |
| 09:22:04 | <ski> | but `foo :: (forall a. ..a..) -> ...' is not like polymorphism, it's more like "abstraction" (if i may use that term for whatever feature it is that allowing `exists' in types enable) |
| 09:23:35 | <ski> | while `foo :: ((forall a. ..a..) -> ...) -> ...' *is* quite like polymorphism (as with polymorphism, it's the *callee* of `foo' (via the callback, receiving a polymorphic argument) that gets to pick and choose `a' |
| 09:23:40 | <ski> | ) |
| 09:23:45 | <arahael> | With coredata, is it possible to create the code generation for the models and stuff on the command line, without relying on the xcode GUI? |
| 09:23:56 | <ski> | so it alternates |
| 09:27:48 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 258 seconds) |
| 09:28:17 | × | michalz quits (~michalz@185.246.204.104) (Remote host closed the connection) |
| 09:28:54 | → | michalz joins (~michalz@185.246.204.125) |
| 09:30:50 | × | kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:34:08 | → | fendor_ joins (~fendor@178.165.200.199.wireless.dyn.drei.com) |
| 09:35:30 | → | ubert joins (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) |
| 09:36:24 | × | michalz quits (~michalz@185.246.204.125) (Remote host closed the connection) |
| 09:36:49 | × | mei quits (~mei@user/mei) (Read error: Connection reset by peer) |
| 09:36:50 | × | fendor quits (~fendor@77.119.200.17.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
| 09:36:57 | × | ubert quits (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Client Quit) |
| 09:36:59 | → | michalz joins (~michalz@185.246.204.125) |
| 09:43:19 | → | ubert joins (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) |
| 09:49:43 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 09:51:45 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 09:57:45 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 09:59:01 | → | jstolarek joins (~jstolarek@137.220.120.162) |
| 10:05:18 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:09:21 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 10:14:02 | × | Neuromancer quits (~Neuromanc@user/neuromancer) (Remote host closed the connection) |
| 10:14:50 | → | evertedsphere joins (uid434122@id-434122.hampstead.irccloud.com) |
| 10:15:07 | → | drownbes joins (~drownbes@200-149-20-81.sta.estpak.ee) |
| 10:20:55 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 10:20:58 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds) |
| 10:24:10 | → | oxide joins (~lambda@user/oxide) |
| 10:26:08 | → | mei joins (~mei@user/mei) |
| 10:27:37 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 252 seconds) |
| 10:29:08 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 10:43:42 | → | dsrt^ joins (~dsrt@wsip-68-227-92-38.mc.at.cox.net) |
| 10:45:23 | × | CiaoSen quits (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 10:47:30 | × | drownbes quits (~drownbes@200-149-20-81.sta.estpak.ee) (Quit: leaving) |
| 10:54:17 | → | __monty__ joins (~toonn@user/toonn) |
| 10:58:04 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 10:59:52 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 260 seconds) |
| 11:01:06 | → | jespada joins (~jespada@181.28.253.200) |
| 11:02:11 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Ping timeout: 245 seconds) |
| 11:02:52 | × | xff0x quits (~xff0x@2001:1a81:5218:9100:27b2:477a:f50:38f5) (Ping timeout: 258 seconds) |
| 11:03:51 | → | xff0x joins (~xff0x@2001:1a81:5218:9100:aa26:25c9:f09a:101d) |
| 11:07:23 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:11:52 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 11:12:18 | × | Midjak quits (~Midjak@82-65-111-221.subs.proxad.net) (*.net *.split) |
| 11:12:18 | × | jumper149 quits (~jumper149@80.240.31.34) (*.net *.split) |
| 11:12:18 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (*.net *.split) |
| 11:12:18 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (*.net *.split) |
| 11:12:18 | × | deni quits (~deni@user/deni) (*.net *.split) |
| 11:12:18 | × | pbrisbin quits (~patrick@pool-173-49-152-45.phlapa.fios.verizon.net) (*.net *.split) |
| 11:12:18 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (*.net *.split) |
| 11:12:18 | × | mcglk_ quits (~mcglk@131.191.49.120) (*.net *.split) |
| 11:12:19 | × | pie_ quits (~pie_bnc@user/pie/x-2818909) (*.net *.split) |
| 11:12:19 | × | Unode quits (~Unode@194.94.44.220) (*.net *.split) |
| 11:12:19 | × | nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (*.net *.split) |
| 11:12:19 | × | choucavalier quits (~choucaval@peanutbuttervibes.com) (*.net *.split) |
| 11:12:19 | × | ptrcmd quits (~ptrcmd@user/ptrcmd) (*.net *.split) |
| 11:12:19 | × | micro quits (~micro@user/micro) (*.net *.split) |
| 11:12:19 | × | tomjaguarpaw quits (~tom@li367-225.members.linode.com) (*.net *.split) |
| 11:12:19 | × | platz quits (~platz@user/platz) (*.net *.split) |
| 11:12:19 | × | Partmedia quits (~kevinz@172-221-159-029.res.spectrum.com) (*.net *.split) |
| 11:12:19 | × | ozzymcduff quits (~mathieu@81-234-151-21-no94.tbcn.telia.com) (*.net *.split) |
| 11:12:19 | × | drdo quits (~drdo@roach0.drdo.eu) (*.net *.split) |
| 11:12:19 | × | emergence quits (~emergence@vm0.max-p.me) (*.net *.split) |
| 11:12:19 | × | sshine quits (~simon@hubris.eta.solutions) (*.net *.split) |
| 11:12:19 | × | fluxit quits (~fluxit@techsmix.net) (*.net *.split) |
| 11:12:19 | × | tv quits (~tv@user/tv) (*.net *.split) |
| 11:12:19 | × | sm2n quits (~sm2n@user/sm2n) (*.net *.split) |
| 11:12:19 | × | nitrix quits (~nitrix@user/nitrix) (*.net *.split) |
| 11:12:19 | × | CannabisIndica quits (~herb@user/mesaboogie) (*.net *.split) |
| 11:12:19 | × | erisco quits (~erisco@d24-57-249-233.home.cgocable.net) (*.net *.split) |
| 11:12:19 | × | ellie quits (~ellie@user/ellie) (*.net *.split) |
| 11:12:19 | × | cls quits (~cls@chalk.lubutu.com) (*.net *.split) |
| 11:12:19 | × | Hecate quits (~mariposa@user/hecate) (*.net *.split) |
| 11:12:19 | × | gnyeki quits (~gnyeki@li578-216.members.linode.com) (*.net *.split) |
| 11:12:19 | × | hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (*.net *.split) |
| 11:12:19 | × | hueso quits (~root@user/hueso) (*.net *.split) |
| 11:12:19 | × | hubvu quits (sid495858@user/hubvu) (*.net *.split) |
| 11:12:19 | × | whez quits (sid470288@lymington.irccloud.com) (*.net *.split) |
| 11:12:19 | × | TMA quits (tma@twin.jikos.cz) (*.net *.split) |
| 11:12:19 | × | _xor quits (~xor@72.49.199.147) (*.net *.split) |
| 11:12:20 | × | ski quits (~ski@remote12.chalmers.se) (*.net *.split) |
| 11:12:20 | × | elvishjerricco quits (sid237756@helmsley.irccloud.com) (*.net *.split) |
| 11:12:20 | × | iteratee quits (~kyle@162.218.222.107) (*.net *.split) |
| 11:12:20 | × | astra` quits (sid289983@user/amish) (*.net *.split) |
| 11:12:20 | × | etrepum quits (sid763@uxbridge.irccloud.com) (*.net *.split) |
| 11:12:20 | × | niko quits (~niko@libera/staff/niko) (*.net *.split) |
| 11:12:20 | × | sm[i]_ quits (~user@li229-222.members.linode.com) (*.net *.split) |
| 11:12:20 | × | davl quits (~davl@207.154.228.18) (*.net *.split) |
| 11:12:20 | × | Megant quits (megant@user/megant) (*.net *.split) |
| 11:12:20 | × | cjay quits (cjay@nerdbox.nerd2nerd.org) (*.net *.split) |
| 11:12:20 | × | p3n quits (~p3n@217.198.124.246) (*.net *.split) |
| 11:12:20 | × | a1paca quits (~a1paca@user/a1paca) (*.net *.split) |
| 11:12:20 | × | dminuoso quits (~dminuoso@user/dminuoso) (*.net *.split) |
| 11:12:20 | × | tput quits (~tim@S0106a84e3fe54613.ed.shawcable.net) (*.net *.split) |
| 11:12:20 | × | tlax quits (tlax@kapsi.fi) (*.net *.split) |
| 11:12:20 | × | aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (*.net *.split) |
| 11:15:27 | → | Midjak joins (~Midjak@82-65-111-221.subs.proxad.net) |
| 11:15:27 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 11:15:27 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 11:15:27 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 11:15:27 | → | deni joins (~deni@user/deni) |
| 11:15:27 | → | pbrisbin joins (~patrick@pool-173-49-152-45.phlapa.fios.verizon.net) |
| 11:15:27 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 11:15:27 | → | mcglk_ joins (~mcglk@131.191.49.120) |
| 11:15:27 | → | pie_ joins (~pie_bnc@user/pie/x-2818909) |
| 11:15:27 | → | Unode joins (~Unode@194.94.44.220) |
| 11:15:27 | → | nshepperd2 joins (~nshepperd@li364-218.members.linode.com) |
| 11:15:27 | → | choucavalier joins (~choucaval@peanutbuttervibes.com) |
| 11:15:27 | → | micro joins (~micro@user/micro) |
| 11:15:27 | → | ptrcmd joins (~ptrcmd@user/ptrcmd) |
| 11:15:27 | → | tomjaguarpaw joins (~tom@li367-225.members.linode.com) |
| 11:15:27 | → | platz joins (~platz@user/platz) |
| 11:15:27 | → | Partmedia joins (~kevinz@172-221-159-029.res.spectrum.com) |
| 11:15:27 | → | ozzymcduff joins (~mathieu@81-234-151-21-no94.tbcn.telia.com) |
| 11:15:27 | → | drdo joins (~drdo@roach0.drdo.eu) |
| 11:15:27 | → | emergence joins (~emergence@vm0.max-p.me) |
| 11:15:27 | → | sshine joins (~simon@hubris.eta.solutions) |
| 11:15:27 | → | fluxit joins (~fluxit@techsmix.net) |
| 11:15:27 | → | tv joins (~tv@user/tv) |
| 11:15:27 | → | sm2n joins (~sm2n@user/sm2n) |
| 11:15:27 | → | nitrix joins (~nitrix@user/nitrix) |
| 11:15:27 | → | CannabisIndica joins (~herb@user/mesaboogie) |
| 11:15:27 | → | erisco joins (~erisco@d24-57-249-233.home.cgocable.net) |
| 11:15:27 | → | ellie joins (~ellie@user/ellie) |
| 11:15:27 | → | cls joins (~cls@chalk.lubutu.com) |
| 11:15:27 | → | Hecate joins (~mariposa@user/hecate) |
| 11:15:27 | → | gnyeki joins (~gnyeki@li578-216.members.linode.com) |
| 11:15:27 | → | hughjfchen joins (~hughjfche@vmi556545.contaboserver.net) |
| 11:15:27 | → | hueso joins (~root@user/hueso) |
| 11:15:27 | → | hubvu joins (sid495858@user/hubvu) |
| 11:15:27 | → | whez joins (sid470288@lymington.irccloud.com) |
| 11:15:27 | → | TMA joins (tma@twin.jikos.cz) |
| 11:15:27 | → | _xor joins (~xor@72.49.199.147) |
| 11:15:27 | → | ski joins (~ski@remote12.chalmers.se) |
| 11:15:27 | → | elvishjerricco joins (sid237756@helmsley.irccloud.com) |
| 11:15:27 | → | iteratee joins (~kyle@162.218.222.107) |
| 11:15:27 | → | astra` joins (sid289983@user/amish) |
| 11:15:27 | → | etrepum joins (sid763@uxbridge.irccloud.com) |
| 11:15:27 | → | niko joins (~niko@libera/staff/niko) |
| 11:15:27 | → | sm[i]_ joins (~user@li229-222.members.linode.com) |
| 11:15:27 | → | davl joins (~davl@207.154.228.18) |
| 11:15:27 | → | Megant joins (megant@user/megant) |
| 11:15:27 | → | cjay joins (cjay@nerdbox.nerd2nerd.org) |
| 11:15:27 | → | p3n joins (~p3n@217.198.124.246) |
| 11:15:27 | → | a1paca joins (~a1paca@user/a1paca) |
| 11:15:27 | → | dminuoso joins (~dminuoso@user/dminuoso) |
| 11:15:27 | → | tput joins (~tim@S0106a84e3fe54613.ed.shawcable.net) |
| 11:15:27 | → | tlax joins (tlax@kapsi.fi) |
| 11:15:27 | → | aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) |
| 11:16:12 | → | trcc joins (~trcc@users-1190.st.net.au.dk) |
| 11:17:24 | × | emanuele6 quits (~emanuele6@user/emanuele6) (Ping timeout: 244 seconds) |
| 11:18:33 | × | achapman quits (~ajc@vmx14030.hosting24.com.au) (Quit: WeeChat 1.9.1) |
| 11:31:05 | → | lavaman joins (~lavaman@98.38.249.169) |
| 11:35:48 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 11:37:58 | → | ksqsf joins (~user@211.86.152.198) |
| 11:38:01 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 11:38:01 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 11:38:01 | → | wroathe joins (~wroathe@user/wroathe) |
| 11:40:59 | × | connrs quits (~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in) |
| 11:42:00 | → | connrs joins (~connrs@user/connrs) |
| 11:42:21 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 258 seconds) |
| 11:42:23 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 11:42:55 | → | phma_ joins (~phma@host-67-44-208-16.hnremote.net) |
| 11:43:45 | → | themc47 joins (~mc47@xmonad/TheMC47) |
| 11:43:53 | → | Gestotterd joins (~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) |
| 11:43:59 | → | tcard_ joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
| 11:44:02 | → | maxime_ joins (~maxime@2a01cb0883359800bfca837605fff927.ipv6.abo.wanadoo.fr) |
| 11:44:04 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 11:44:04 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 11:44:08 | allbery_b | is now known as geekosaur |
| 11:44:28 | → | ncopa0 joins (~ncopa@gbr2-dev1.alpinelinux.org) |
| 11:44:49 | → | ub joins (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) |
| 11:44:54 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 11:45:10 | → | gregberns___ joins (sid315709@id-315709.helmsley.irccloud.com) |
| 11:45:10 | → | parseval_ joins (sid239098@id-239098.helmsley.irccloud.com) |
| 11:45:11 | → | b20n_ joins (sid115913@id-115913.uxbridge.irccloud.com) |
| 11:45:11 | → | alanz_ joins (sid110616@id-110616.uxbridge.irccloud.com) |
| 11:45:12 | → | philpax__ joins (sid516926@id-516926.lymington.irccloud.com) |
| 11:45:12 | → | dsal_ joins (sid13060@id-13060.lymington.irccloud.com) |
| 11:45:16 | → | christiaanb_ joins (sid84827@id-84827.lymington.irccloud.com) |
| 11:45:16 | → | brettgilio7 joins (~brettgili@x-node.gq) |
| 11:45:17 | → | kaychaks___ joins (sid236345@id-236345.helmsley.irccloud.com) |
| 11:45:20 | → | dwt__ joins (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) |
| 11:45:20 | → | taeaad_ joins (~taeaad@user/taeaad) |
| 11:45:24 | → | sndr joins (~sander@user/sander) |
| 11:45:33 | → | Andrew_ joins (~andrew@user/andrewyu) |
| 11:45:37 | → | pieguy128_ joins (~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca) |
| 11:45:42 | → | neightchan joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 11:45:43 | → | int-e_ joins (~noone@int-e.eu) |
| 11:45:50 | × | int-e quits (~noone@int-e.eu) (Killed (NickServ (GHOST command used by int-e_))) |
| 11:45:58 | int-e_ | is now known as int-e |
| 11:46:59 | → | obfusk_ joins (~quassel@a82-161-150-56.adsl.xs4all.nl) |
| 11:47:02 | → | fjmorazan_ joins (~quassel@user/fjmorazan) |
| 11:47:17 | → | nschoe_ joins (~quassel@178.251.84.79) |
| 11:47:31 | → | mjrosenb_ joins (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) |
| 11:47:46 | → | byorgey_ joins (~byorgey@155.138.238.211) |
| 11:47:54 | → | ppseafield[m] joins (~elementpp@2001:470:69fc:105::1:250a) |
| 11:48:01 | → | gdd1 joins (~gdd@129.199.146.230) |
| 11:48:03 | → | AWizzArd_ joins (~code@gehrels.uberspace.de) |
| 11:48:08 | → | kjak_ joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
| 11:48:14 | → | kritzefitz_ joins (~kritzefit@212.86.56.80) |
| 11:48:17 | → | hrdl_ joins (~hrdl@mail.hrdl.eu) |
| 11:48:18 | → | finstern1s joins (~X@23.226.237.192) |
| 11:48:18 | → | ringo__ joins (~ringo@157.230.117.128) |
| 11:48:24 | → | eco_ joins (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) |
| 11:49:11 | → | kmein_ joins (~weechat@user/kmein) |
| 11:49:12 | → | robbert joins (~robbert@robbertvanderhelm.nl) |
| 11:49:40 | × | robbert quits (~robbert@robbertvanderhelm.nl) (Client Quit) |
| 11:49:51 | × | byorgey quits (~byorgey@155.138.238.211) (Killed (NickServ (GHOST command used by byorgey_))) |
| 11:49:55 | → | robbert joins (~robbert@robbertvanderhelm.nl) |
| 11:49:57 | byorgey_ | is now known as byorgey |
| 11:51:00 | → | orhan89_ joins (~orhan89@151.91.188.35.bc.googleusercontent.com) |
| 11:51:10 | → | acowley joins (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) |
| 11:51:12 | → | stefan-__ joins (~cri@42dots.de) |
| 11:51:26 | × | robbert-vdh quits (~robbert@robbertvanderhelm.nl) (Killed (silver.libera.chat (Nickname regained by services))) |
| 11:51:26 | robbert | is now known as robbert-vdh |
| 11:52:11 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Killed (silver.libera.chat (Nickname regained by services))) |
| 11:52:11 | kritzefitz_ | is now known as kritzefitz |
| 11:52:27 | × | ubert quits (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (*.net *.split) |
| 11:52:27 | × | michalz quits (~michalz@185.246.204.125) (*.net *.split) |
| 11:52:27 | × | mc47 quits (~mc47@xmonad/TheMC47) (*.net *.split) |
| 11:52:27 | × | nschoe quits (~quassel@178.251.84.79) (*.net *.split) |
| 11:52:27 | × | max22- quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (*.net *.split) |
| 11:52:27 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (*.net *.split) |
| 11:52:27 | × | phma quits (~phma@host-67-44-208-16.hnremote.net) (*.net *.split) |
| 11:52:27 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (*.net *.split) |
| 11:52:27 | × | tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (*.net *.split) |
| 11:52:27 | × | juhp quits (~juhp@128.106.188.220) (*.net *.split) |
| 11:52:27 | × | gdd quits (~gdd@129.199.146.230) (*.net *.split) |
| 11:52:27 | × | Stotteren quits (~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) (*.net *.split) |
| 11:52:27 | × | Ranhir quits (~Ranhir@157.97.53.139) (*.net *.split) |
| 11:52:27 | × | fjmorazan quits (~quassel@user/fjmorazan) (*.net *.split) |
| 11:52:27 | × | dwt_ quits (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) (*.net *.split) |
| 11:52:27 | × | stefan-_ quits (~cri@42dots.de) (*.net *.split) |
| 11:52:27 | × | mjrosenb quits (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (*.net *.split) |
| 11:52:27 | × | natechan quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (*.net *.split) |
| 11:52:27 | × | brettgilio quits (~brettgili@x-node.gq) (*.net *.split) |
| 11:52:27 | × | synthmeat quits (~synthmeat@user/synthmeat) (*.net *.split) |
| 11:52:27 | × | superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split) |
| 11:52:27 | × | acowley_ quits (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (*.net *.split) |
| 11:52:28 | × | tolt quits (~weechat-h@li219-154.members.linode.com) (*.net *.split) |
| 11:52:28 | × | eco quits (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) (*.net *.split) |
| 11:52:28 | × | ncopa quits (~ncopa@alpine/developer/ncopa) (*.net *.split) |
| 11:52:28 | × | APic quits (apic@apic.name) (*.net *.split) |
| 11:52:28 | × | AndrewYu quits (~andrew@user/andrewyu) (*.net *.split) |
| 11:52:28 | × | hiredman quits (~hiredman@frontier1.downey.family) (*.net *.split) |
| 11:52:28 | × | sander quits (~sander@user/sander) (*.net *.split) |
| 11:52:28 | × | kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (*.net *.split) |
| 11:52:28 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (*.net *.split) |
| 11:52:28 | × | obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split) |
| 11:52:28 | × | Xnuk quits (~xnuk@45.76.202.58) (*.net *.split) |
| 11:52:28 | × | kmein quits (~weechat@user/kmein) (*.net *.split) |
| 11:52:28 | × | hrdl quits (~hrdl@mail.hrdl.eu) (*.net *.split) |
| 11:52:28 | × | ringo_ quits (~ringo@157.230.117.128) (*.net *.split) |
| 11:52:28 | × | pieguy128 quits (~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca) (*.net *.split) |
| 11:52:28 | × | AWizzArd quits (~code@user/awizzard) (*.net *.split) |
| 11:52:28 | × | finsternis quits (~X@23.226.237.192) (*.net *.split) |
| 11:52:28 | × | kaychaks__ quits (sid236345@helmsley.irccloud.com) (*.net *.split) |
| 11:52:28 | × | gregberns__ quits (sid315709@helmsley.irccloud.com) (*.net *.split) |
| 11:52:28 | × | parseval quits (sid239098@helmsley.irccloud.com) (*.net *.split) |
| 11:52:28 | × | christiaanb quits (sid84827@lymington.irccloud.com) (*.net *.split) |
| 11:52:28 | × | dsal quits (sid13060@lymington.irccloud.com) (*.net *.split) |
| 11:52:28 | × | b20n quits (sid115913@uxbridge.irccloud.com) (*.net *.split) |
| 11:52:28 | × | taeaad quits (~taeaad@user/taeaad) (*.net *.split) |
| 11:52:28 | × | philpax_ quits (sid516926@lymington.irccloud.com) (*.net *.split) |
| 11:52:28 | × | alanz quits (sid110616@uxbridge.irccloud.com) (*.net *.split) |
| 11:52:28 | × | typedfern_ quits (~Typedfern@171.red-83-51-60.dynamicip.rima-tde.net) (*.net *.split) |
| 11:52:28 | × | jjhoo quits (~jahakala@user/jjhoo) (*.net *.split) |
| 11:52:28 | × | dmwit quits (~dmwit@pool-173-73-185-183.washdc.fios.verizon.net) (*.net *.split) |
| 11:52:28 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (*.net *.split) |
| 11:52:28 | × | orhan89 quits (~orhan89@151.91.188.35.bc.googleusercontent.com) (*.net *.split) |
| 11:52:28 | brettgilio7 | is now known as brettgilio |
| 11:52:28 | sndr | is now known as sander |
| 11:52:28 | ncopa0 | is now known as ncopa |
| 11:52:28 | gregberns___ | is now known as gregberns__ |
| 11:52:28 | parseval_ | is now known as parseval |
| 11:52:28 | ub | is now known as ubert |
| 11:52:29 | dsal_ | is now known as dsal |
| 11:52:29 | b20n_ | is now known as b20n |
| 11:52:29 | alanz_ | is now known as alanz |
| 11:52:29 | kaychaks___ | is now known as kaychaks__ |
| 11:52:29 | christiaanb_ | is now known as christiaanb |
| 11:52:31 | philpax__ | is now known as philpax_ |
| 11:52:32 | → | TheCoffeMaker_ joins (~TheCoffeM@125-121-245-190.fibertel.com.ar) |
| 11:53:04 | → | dmwit joins (~dmwit@pool-173-73-185-183.washdc.fios.verizon.net) |
| 11:53:09 | → | jjhoo joins (jahakala@user/jjhoo) |
| 11:53:13 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 11:53:14 | → | tolt joins (~weechat-h@li219-154.members.linode.com) |
| 11:53:19 | → | hiredman joins (~hiredman@frontier1.downey.family) |
| 11:53:24 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 11:53:41 | kritzefitz | is now known as kritzefitz_ |
| 11:53:53 | kritzefitz_ | is now known as kritzefitz[m] |
| 11:54:01 | kritzefitz[m] | is now known as kritzefitz |
| 11:54:27 | → | Xnuk joins (~xnuk@vultr.xnu.kr) |
| 11:58:12 | × | MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 11:58:18 | → | MQ-17J joins (~MQ-17J@8.6.144.240) |
| 11:58:38 | → | APic joins (apic@apic.name) |
| 11:58:55 | → | superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net) |
| 11:59:04 | → | synthmeat joins (~synthmeat@user/synthmeat) |
| 11:59:25 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 11:59:37 | → | typedfern_ joins (~Typedfern@171.red-83-51-60.dynamicip.rima-tde.net) |
| 12:00:20 | × | maxime_ quits (~maxime@2a01cb0883359800bfca837605fff927.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
| 12:00:48 | → | ubert1 joins (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) |
| 12:01:00 | × | jstolarek quits (~jstolarek@137.220.120.162) (Ping timeout: 260 seconds) |
| 12:01:21 | → | burnsidesLlama joins (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
| 12:03:34 | → | mmhat joins (~mmh@55d4b27c.access.ecotel.net) |
| 12:03:35 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 12:06:05 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 12:06:40 | × | fendor_ quits (~fendor@178.165.200.199.wireless.dyn.drei.com) (Remote host closed the connection) |
| 12:07:54 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 12:11:27 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 12:20:24 | → | michalz joins (~michalz@185.246.204.97) |
| 12:22:13 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 12:23:20 | → | Farzad joins (~FarzadBek@178.131.26.34) |
| 12:23:36 | → | Pickchea joins (~private@user/pickchea) |
| 12:24:10 | → | guniberas joins (~guniberas@42.191.188.121) |
| 12:40:19 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 12:46:18 | → | bongobrown joins (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
| 12:49:37 | kmein_ | is now known as kmein |
| 12:55:58 | × | ubert1 quits (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
| 12:56:29 | × | NieDzejkob quits (~quassel@212.87.13.106) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 12:56:31 | × | trcc quits (~trcc@users-1190.st.net.au.dk) (Ping timeout: 260 seconds) |
| 12:57:07 | × | bongobrown quits (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Quit: Leaving) |
| 12:57:15 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Changing host) |
| 12:57:15 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 12:59:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 13:03:25 | → | CiaoSen joins (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 13:04:16 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Ping timeout: 245 seconds) |
| 13:09:10 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds) |
| 13:12:51 | → | fendor joins (~fendor@178.165.200.199.wireless.dyn.drei.com) |
| 13:21:34 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 13:27:36 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 245 seconds) |
| 13:28:16 | × | acidjnk_new quits (~acidjnk@p200300d0c7238d51605dadc8a3f75380.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 13:29:19 | hrdl_ | is now known as hrdl |
| 13:29:25 | → | oxide joins (~lambda@user/oxide) |
| 13:29:35 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds) |
| 13:36:33 | → | maxime_ joins (~maxime@2a01cb0883359800dd400544f01795c9.ipv6.abo.wanadoo.fr) |
| 13:38:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 13:42:28 | → | yrlnry joins (~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) |
| 13:43:45 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 13:49:26 | → | Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com) |
| 13:49:54 | → | Pickchea joins (~private@user/pickchea) |
| 13:56:09 | × | agoraphobic quits (~agoraphob@ip11-173.bon.riksnet.se) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 13:57:54 | → | agoraphobic joins (~agoraphob@ip11-173.bon.riksnet.se) |
| 13:59:29 | × | MQ-17J quits (~MQ-17J@8.6.144.240) (Ping timeout: 268 seconds) |
| 14:00:04 | Andrew_ | is now known as AndrewYu |
| 14:00:58 | → | lavaman joins (~lavaman@98.38.249.169) |
| 14:07:24 | → | ub joins (~Thunderbi@91.141.46.110.wireless.dyn.drei.com) |
| 14:07:45 | → | vpan joins (~0@212.117.1.172) |
| 14:08:11 | × | ubert quits (~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
| 14:08:11 | ub | is now known as ubert |
| 14:09:42 | phma_ | is now known as phma |
| 14:10:06 | × | burnsidesLlama quits (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection) |
| 14:10:06 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 14:10:16 | → | burnsidesLlama joins (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
| 14:10:26 | × | burnsidesLlama quits (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection) |
| 14:10:34 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 260 seconds) |
| 14:15:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 14:16:31 | × | Henson quits (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) |
| 14:20:18 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 14:24:15 | → | Inst_ joins (~Inst@2600:1006:b01a:69bf:f8cc:5081:41af:e624) |
| 14:25:40 | → | Inst__ joins (~Inst@2601:6c4:4080:3f80:6dd4:3be6:70ce:10d9) |
| 14:25:40 | × | Inst_ quits (~Inst@2600:1006:b01a:69bf:f8cc:5081:41af:e624) (Read error: Network is unreachable) |
| 14:27:59 | × | Inst quits (~Inst@2601:6c4:4080:3f80:c4ab:4275:2f29:1458) (Ping timeout: 264 seconds) |
| 14:36:27 | → | emanuele6 joins (~emanuele6@net-2-36-98-113.cust.vodafonedsl.it) |
| 14:36:28 | × | emanuele6 quits (~emanuele6@net-2-36-98-113.cust.vodafonedsl.it) (Changing host) |
| 14:36:28 | → | emanuele6 joins (~emanuele6@user/emanuele6) |
| 14:42:06 | → | burnsidesLlama joins (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
| 14:42:26 | × | ksqsf quits (~user@211.86.152.198) (Remote host closed the connection) |
| 14:42:52 | × | mei quits (~mei@user/mei) (Read error: Connection reset by peer) |
| 14:44:36 | → | pottsy joins (~pottsy@2400:4050:b560:3700:7603:23f2:b945:e694) |
| 14:45:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 14:45:16 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 14:46:53 | × | burnsidesLlama quits (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Ping timeout: 264 seconds) |
| 14:49:28 | × | chele quits (~chele@user/chele) (Ping timeout: 260 seconds) |
| 14:50:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 14:53:50 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 14:54:22 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 14:54:26 | × | Farzad quits (~FarzadBek@178.131.26.34) (Quit: Leaving) |
| 14:56:56 | → | myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 14:58:50 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
| 15:00:19 | × | pottsy quits (~pottsy@2400:4050:b560:3700:7603:23f2:b945:e694) (Quit: Leaving) |
| 15:00:30 | → | pottsy joins (~pottsy@2400:4050:b560:3700:7603:23f2:b945:e694) |
| 15:00:49 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:00:54 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 15:01:18 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 15:02:11 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds) |
| 15:02:37 | → | fef joins (~thedawn@user/thedawn) |
| 15:03:54 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 15:04:23 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 15:05:31 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Ping timeout: 245 seconds) |
| 15:05:53 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 15:15:55 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 15:16:57 | → | MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 15:21:33 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 15:23:32 | → | pavonia joins (~user@user/siracusa) |
| 15:23:45 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 268 seconds) |
| 15:24:02 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Remote host closed the connection) |
| 15:24:27 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 15:25:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 15:31:19 | → | chele joins (~chele@user/chele) |
| 15:34:37 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
| 15:35:28 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 15:38:24 | × | lortabac quits (~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) (Quit: WeeChat 2.8) |
| 15:38:27 | → | Guest91 joins (~Guest91@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 15:39:05 | × | CiaoSen quits (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 15:41:27 | × | pottsy quits (~pottsy@2400:4050:b560:3700:7603:23f2:b945:e694) (Quit: Leaving) |
| 15:43:06 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 15:46:31 | themc47 | is now known as mc47 |
| 15:47:15 | → | Guest73 joins (~Guest73@24-116-245-6.cpe.sparklight.net) |
| 15:49:04 | <Guest73> | Having some trouble running wai server (I think the problem is there, I'm trying to get a servant API up). To reproduce: |
| 15:49:38 | <Guest73> | stack new my-project servant; cd my-project; stack build; stack exec my-project-exe |
| 15:49:42 | <Guest73> | freezes there. help? |
| 15:49:47 | × | echoSMILE quits (~echoSMILE@user/echosmile) (Quit: Client closed) |
| 15:51:00 | <c_wraith> | how is "freezes" distinct from "works correctly"? |
| 15:51:18 | <c_wraith> | It is supposed to block there |
| 15:51:40 | <Guest73> | shouldn't it report that it's running on {port} or something? if I browse to localhost:8080 I get a blank page |
| 15:52:17 | <c_wraith> | a blank page or an error page? |
| 15:52:32 | <c_wraith> | because if there wasn't a server running on localhost at port 8080, you'd get an error page |
| 15:53:15 | <Guest73> | blank when i use firefox. 404 when i use chromium |
| 15:53:16 | <c_wraith> | that is, your browser would tell you it can't connect |
| 15:53:24 | <c_wraith> | 404 means there is a server running |
| 15:54:03 | <c_wraith> | not running would be "can't find the server at localhost:8080" |
| 15:54:25 | <Guest73> | ok, pebkac for sure |
| 15:54:27 | <c_wraith> | now, it's possible something is still broken. |
| 15:54:40 | × | evertedsphere quits (uid434122@id-434122.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:54:45 | <c_wraith> | It could be the case that something *else* is running on localhost:8080 |
| 15:55:01 | <Guest73> | no i'm good, was just confused, thanks. localhost:8080/users returns expected results |
| 15:55:07 | <c_wraith> | ah, good |
| 15:55:20 | → | bongobrown joins (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
| 15:56:51 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection) |
| 15:57:11 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
| 15:57:29 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 15:59:52 | × | bongobrown quits (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Remote host closed the connection) |
| 16:00:02 | × | werneta_ quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 16:00:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 16:00:30 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 16:01:07 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 16:01:26 | × | Guest73 quits (~Guest73@24-116-245-6.cpe.sparklight.net) (Quit: Client closed) |
| 16:02:11 | × | chele quits (~chele@user/chele) (Ping timeout: 245 seconds) |
| 16:02:43 | → | burnsidesLlama joins (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
| 16:05:46 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 16:05:59 | → | thyriaen joins (~thyriaen@dynamic-077-013-059-156.77.13.pool.telefonica.de) |
| 16:10:51 | <dsal> | Is it possible to compose FromRow instances in PostgreSQL-simple? I might try it and see what happens. |
| 16:11:21 | × | nschoe_ quits (~quassel@178.251.84.79) (Ping timeout: 245 seconds) |
| 16:16:55 | → | hippoid joins (~idris@184.105.6.88) |
| 16:17:42 | × | vpan quits (~0@212.117.1.172) (Quit: Leaving.) |
| 16:18:32 | × | Guest91 quits (~Guest91@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed) |
| 16:19:06 | <hippoid> | :t (>>=) (Just (Just 1)) id |
| 16:19:07 | <lambdabot> | Num b => Maybe b |
| 16:19:17 | <hippoid> | :t (>>=) |
| 16:19:18 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 16:20:03 | <hippoid> | Why am I able to pass `id`, when (>>=) requires a (a-> m b) for the 2nd arg, and `id` is (a->a)? |
| 16:20:28 | <hippoid> | I thought I'd need a (a -> m b) for the 2nd arg of >>= |
| 16:21:03 | <c_wraith> | hippoid: a can be m b |
| 16:21:12 | <c_wraith> | hippoid: then id :: m b -> m b |
| 16:21:45 | <hippoid> | ah right, something about universal quantification? |
| 16:21:59 | <c_wraith> | yes. and unification in general |
| 16:22:45 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 16:23:01 | <c_wraith> | When you look at the types of id and (>>=), the a in each type is a different type variable. that's the universal quantification part |
| 16:23:21 | <c_wraith> | So when you unify the types, those variables are different |
| 16:23:54 | <c_wraith> | So you can say "the a from id is the same as the m b from from (>>=)" to unify those types |
| 16:24:21 | → | mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 16:24:30 | <hippoid> | I try to learn more unification, but I don't find any resources where the unification constraints are solved in something other than writing out a full program to solve it. I'd rather solve the unification constraints with paper at first, to get a better intuition about it. |
| 16:24:45 | <hippoid> | Do you recommend any resources that are like that? |
| 16:25:44 | <yrlnry> | Does lambdabot have a help function? I tried `:h` `:help` :?` but got no response. |
| 16:26:27 | <geekosaur> | not much of one |
| 16:26:30 | <geekosaur> | @help |
| 16:26:30 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
| 16:26:33 | <geekosaur> | @list |
| 16:26:34 | <lambdabot> | What module? Try @listmodules for some ideas. |
| 16:27:02 | <yrlnry> | Thanks. |
| 16:30:25 | × | dsrt^ quits (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 260 seconds) |
| 16:31:30 | <geekosaur> | this only does a subset of the commands plus one I added back when I was running one, but it's also the only reference I'm aware of for the admin commands. http://users.ece.cmu.edu/~allbery/lambdabot/COMMANDS.more |
| 16:32:06 | × | fef quits (~thedawn@user/thedawn) (Remote host closed the connection) |
| 16:32:41 | → | fef joins (~thedawn@user/thedawn) |
| 16:35:30 | → | dsrt^ joins (~dsrt@wsip-68-227-92-38.mc.at.cox.net) |
| 16:35:47 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 264 seconds) |
| 16:40:12 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 16:40:44 | → | vicfred joins (~vicfred@user/vicfred) |
| 16:42:16 | → | anotherbruce[m] joins (~anotherbr@2001:470:69fc:105::1:2548) |
| 16:44:00 | → | econo joins (uid147250@user/econo) |
| 16:47:32 | → | echoSMILE joins (~echoSMILE@user/echosmile) |
| 16:48:05 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 264 seconds) |
| 16:51:19 | × | guniberas quits (~guniberas@42.191.188.121) (Ping timeout: 268 seconds) |
| 16:52:31 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 16:59:36 | × | maxime_ quits (~maxime@2a01cb0883359800dd400544f01795c9.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:00:37 | → | max22- joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
| 17:02:47 | → | aegon joins (~mike@174.127.249.180) |
| 17:05:10 | → | jstolarek joins (~jstolarek@137.220.120.162) |
| 17:05:46 | × | mbuf quits (~Shakthi@122.178.244.237) (Quit: Leaving) |
| 17:25:01 | → | Null_A joins (~null_a@2601:645:8700:2290:25a5:cf0c:746a:f835) |
| 17:30:20 | × | statusbot quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
| 17:30:34 | → | statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
| 17:39:19 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection) |
| 17:44:29 | → | kupi joins (uid212005@id-212005.hampstead.irccloud.com) |
| 17:46:47 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 17:47:51 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 17:48:00 | × | jstolarek quits (~jstolarek@137.220.120.162) (Ping timeout: 260 seconds) |
| 17:53:13 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
| 17:56:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:59:24 | × | ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 18:01:12 | → | echoSMILE7 joins (~echoSMILE@user/echosmile) |
| 18:01:44 | echoSMILE7 | is now known as echosmile7000 |
| 18:01:44 | × | fef quits (~thedawn@user/thedawn) (Quit: Leaving) |
| 18:02:13 | → | ystael joins (~ystael@user/ystael) |
| 18:02:40 | × | echoSMILE quits (~echoSMILE@user/echosmile) (Ping timeout: 256 seconds) |
| 18:02:40 | × | hippoid quits (~idris@184.105.6.88) (Quit: Lost terminal) |
| 18:04:18 | × | max22- quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
| 18:05:58 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
| 18:07:11 | × | justache quits (~justache@user/justache) (Quit: The Lounge - https://thelounge.chat) |
| 18:07:18 | → | zincy_89 joins (~zincy_@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
| 18:08:02 | → | justache joins (~justache@user/justache) |
| 18:11:56 | × | ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 18:14:47 | × | echosmile7000 quits (~echoSMILE@user/echosmile) (Quit: Client closed) |
| 18:15:39 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 18:21:36 | → | vicfred joins (~vicfred@user/vicfred) |
| 18:25:15 | → | alx741 joins (~alx741@181.196.69.72) |
| 18:25:57 | <zincy_> | ski: I am back, sorry it took a while, I think your explanation makes sense thanks! |
| 18:26:23 | → | max22- joins (~maxime@2a01cb0883359800f0a95b292418059d.ipv6.abo.wanadoo.fr) |
| 18:26:24 | → | echoSMILE joins (~echoSMILE@user/echosmile) |
| 18:28:12 | × | max22- quits (~maxime@2a01cb0883359800f0a95b292418059d.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:30:41 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 18:31:08 | × | td_ quits (~td@muedsl-82-207-238-060.citykom.de) (Ping timeout: 260 seconds) |
| 18:32:46 | → | td_ joins (~td@94.134.91.76) |
| 18:34:08 | → | max22- joins (~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr) |
| 18:34:45 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 18:36:40 | <unit73e> | looks like HLS doesn't like Paths_* with GHC 9.0.1 for some reason |
| 18:36:57 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
| 18:36:58 | <unit73e> | I'm using the latest releases |
| 18:38:06 | <unit73e> | I'm going to complete the text example and share here to see if it's just me. It will take a while though. |
| 18:39:27 | <unit73e> | also hello |
| 18:40:59 | <shapr> | hi unit73e ! |
| 18:41:25 | <shapr> | unit73e: you may get a response from the devs on #haskell-language-server |
| 18:41:34 | <shapr> | high latency, but probably at some point :-) |
| 18:41:42 | <shapr> | or you could report a bug on the github repo |
| 18:42:06 | <unit73e> | shapr, thanks. I'll do that. My bet is that it's not very compatible with 9.x yet |
| 18:42:44 | <unit73e> | or I'm being a noob lol |
| 18:43:47 | → | boxscape_ joins (~boxscape_@i577BCBDC.versanet.de) |
| 18:46:23 | <boxscape_> | I don't need this for anything at the moment but I'm curious - is there a combinator you could replace <*> with in `gcd <*> minimum <$> maximum` that would evaluate minimum and maximum in parallel? |
| 18:46:25 | <boxscape_> | (in this particular case you could implement a function that computes the minimum and maximum in one pass, but other cases might not allow this) |
| 18:47:22 | <boxscape_> | (I suppose maybe you would have to use something other than <$> as well) |
| 18:48:47 | <awpr> | this looks like the Applicative instance of https://hackage.haskell.org/package/foldl-1.4.12/docs/Control-Foldl.html |
| 18:49:07 | <boxscape_> | Ah, nice, thank you |
| 18:49:23 | <awpr> | generally "I want the Applicative operators to mean parallel/concurrent/simultaneous operation" means "I want something that's intentionally not also a Monad" |
| 18:49:31 | <boxscape_> | right, that makes sense |
| 18:49:39 | <awpr> | unless you're Haxl, which just ignores that law |
| 18:49:45 | <awpr> | (last I heard) |
| 18:56:05 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection) |
| 18:56:36 | <remexre> | 2 unrelated questions |
| 18:56:53 | <remexre> | - are lawful monad instances unique? |
| 18:57:04 | → | mei joins (~mei@user/mei) |
| 18:57:39 | → | Guest30 joins (~Guest30@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 18:57:43 | × | Guest30 quits (~Guest30@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Client Quit) |
| 18:57:47 | <monochrom> | No. |
| 18:58:12 | → | Guest21 joins (~Guest21@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 18:59:57 | → | Inst_ joins (~Inst@2601:6c4:4080:3f80:9ce5:6f05:3959:43f5) |
| 18:59:57 | <remexre> | is there a noteworthy counterexample? |
| 19:01:10 | <remexre> | second question, what logging library do people recommend for an application that's mostly ResourceT (ReaderT r IO), so I'm only really logging in IO. Ideally it'd have structured logging (via Generic?), at least three log levels, and be configurable |
| 19:01:59 | <monochrom> | I think that something like tardis shows that S->(a,S) can be a monad in two ways. (And then tardis goes on to combine them into one monster monad.) |
| 19:02:44 | <monochrom> | OTOH I know a lengthy proof of why, e.g., "data P a = MkP a a" is a monad in a unique way. |
| 19:03:07 | <monochrom> | So, uniqueness happens for some types but not some others. |
| 19:03:11 | <remexre> | what's the way that isn't the normal state monad? for s->(a, s)? |
| 19:03:16 | <remexre> | or is that only for concrete S |
| 19:03:22 | <maerwald> | remexre: roll your own logger |
| 19:03:28 | <maerwald> | it takes only a couple of lines |
| 19:03:39 | <remexre> | maerwald: fair, ok |
| 19:03:51 | × | Inst__ quits (~Inst@2601:6c4:4080:3f80:6dd4:3be6:70ce:10d9) (Ping timeout: 245 seconds) |
| 19:03:58 | <remexre> | oh wait tardis is a package not a username lol |
| 19:04:06 | <remexre> | oh neat |
| 19:04:12 | <maerwald> | even if you shove it into ReaderT or use LabelOptics, it's still only a couple of lines |
| 19:04:44 | <maerwald> | logging is, imo, application specific |
| 19:05:03 | <maerwald> | no point fighting libraries |
| 19:05:12 | <remexre> | LabelOptics == the Optics.Label module? |
| 19:05:46 | <maerwald> | yeah |
| 19:06:40 | <maerwald> | it's a neat way to separate your application state elegantly |
| 19:06:45 | <remexre> | huh, should I be using optics-core, etc; if I'm using microlens now? |
| 19:06:59 | <remexre> | yeah not having to namespace my record fields would be very nice :) |
| 19:07:16 | × | kuribas quits (~user@ptr-25vy0i9jhzblfidtsev.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 19:07:18 | <monochrom> | Oh yeah actually logging, or simply the writer monad, may show two ways of being a monad. |
| 19:07:23 | <remexre> | been waiting for ghc2021 for the record changes, but if this works, might as well use it |
| 19:07:38 | <remexre> | monochrom: oh, take-rightmost versus join-left-and-right? |
| 19:07:48 | <remexre> | or is that unlawful |
| 19:07:49 | <maerwald> | yeah, never used Write for logging... I print to screen or write to log files |
| 19:08:03 | <boxscape_> | I did find a couple of the features in RIOs logging library quite nice, like displaying the line/column of the logging call (via a HasCallStack constraint) when you're in verbose mode |
| 19:08:11 | <monochrom> | join right and left |
| 19:08:45 | <boxscape_> | (admittedly still fairly easy to write but I wouldn't have thought on it without using a logging library) |
| 19:08:48 | <boxscape_> | s/on/of |
| 19:09:10 | <monochrom> | W a w1 >>= k = case unW (k a) of W b w2 -> W b (w2 <> w1) -- so, the other order |
| 19:09:33 | <remexre> | ah yeah |
| 19:09:51 | → | ss4 joins (~wootehfoo@user/wootehfoot) |
| 19:09:52 | <maerwald> | I forgot... doesn't Writer leak memory? |
| 19:09:54 | <remexre> | yeah I'll probably do HasCallStack too; never used rio, but from the readme it sounds potentially nice |
| 19:10:09 | <remexre> | yeah, I think the standard advice is to always use State to impl Writer |
| 19:11:00 | <monochrom> | Some ways of using Writer leaks memory. But some other ways don't. I'm a scientist and when I see both I attribute to the difference, not the commonality. |
| 19:11:26 | <monochrom> | But programmers are pastors not scientists. |
| 19:11:46 | <zincy_> | Programmers should be scientists |
| 19:12:04 | <maerwald> | There's no such separation of programmer vs scientist. |
| 19:12:11 | <monochrom> | "pastors" means people who write weekly blogs on their religious beliefs. |
| 19:12:30 | <zincy_> | I feel like at the heart of every emotional opinion in software there is a deep truth which can be explained rationally |
| 19:12:46 | <geekosaur> | not always |
| 19:12:49 | <monochrom> | zincy_: Politicians should be honest, rational, and moral people, too. Bwahahahaha. |
| 19:13:01 | <geekosaur> | programming has its share of flat-earthers |
| 19:13:10 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
| 19:13:11 | <zincy_> | hahaha |
| 19:13:14 | <maerwald> | The thing is... programming isn't just about technology. It's also about art. |
| 19:14:16 | <zincy_> | What I mean to say isnt that every programmer opinion is valid but its either logically falsifiable or nonsense and can be just discarded |
| 19:14:29 | <zincy_> | I guess I just negated myself oops |
| 19:14:31 | <maerwald> | Well, it isn't that easy. |
| 19:14:41 | <maerwald> | Because once *art* is involved, opinion becomes more complicated. |
| 19:14:50 | <unit73e> | imo programming itself doesn't really make you a scientist, engineer or flat-earther imo, it depends on what you do |
| 19:14:59 | <unit73e> | I like doing simple programs correctly |
| 19:15:05 | <zincy_> | I believe a lot more of the *art* is logic/science than people realise |
| 19:15:11 | <unit73e> | some like adding features and making things pretty |
| 19:15:16 | <zincy_> | Thats what I am trying to get across |
| 19:15:18 | <maerwald> | zincy_: I don't understand that sentence |
| 19:15:57 | <maerwald> | unit73e: sounds like you *believe* in the unix principle. It has mostly been lost today. |
| 19:16:47 | <maerwald> | The latest addition to the anti-unix fleet has been nix. Now apparently, you can't do anything without it (like... installing GHCJS). |
| 19:16:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) |
| 19:17:01 | × | boxscape_ quits (~boxscape_@i577BCBDC.versanet.de) (Quit: Connection closed) |
| 19:17:01 | <zincy_> | A lot of seemingly subjective statements programmers make can be ruled out as wrong even though they *feel* subjective |
| 19:17:07 | <unit73e> | maerwald, yeah I guess it's becoming rare but I see it resurecting often. One example, IDEs are being replaced with modular editors. Not perfect but better than nothing. |
| 19:17:29 | <maerwald> | well, I'm not sure how I feel about LSP |
| 19:17:43 | <geekosaur> | so they're reinventing emacs (probably poorly)? |
| 19:19:05 | <unit73e> | yup |
| 19:19:05 | <unit73e> | that's what vscode and friends are |
| 19:19:05 | <unit73e> | and atom |
| 19:19:05 | <maerwald> | I mean... now we have client-server architecture everywhere and my editor consumes large chunks of json that gets then dumped into my home folder and that I have to look at pretty often, because the server crashes or my client forgot what to do |
| 19:19:05 | <unit73e> | I use neovim but emacs is nice |
| 19:19:05 | <geekosaur> | atom I can surely say does so poorly; I waited a few versions for it to stabilize, installed it, ran it, leaving it open overnight nearly killed my system |
| 19:19:05 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 19:19:05 | <geekosaur> | uninstalled it and didn't look back |
| 19:19:05 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 19:19:08 | <geekosaur> | I may try vscode at some point but am betting it's not much better |
| 19:19:20 | <unit73e> | vscode is better but it's kind of weird in some ways |
| 19:19:41 | <maerwald> | vscode was bearable with the vim plugin, but it had a lot of shortcomings and bugs |
| 19:20:39 | × | Guest21 quits (~Guest21@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed) |
| 19:22:30 | <maerwald> | it feels more like a social media platform to me... there's constantly popups and stuff trying to get my attention |
| 19:22:56 | <unit73e> | that's one thing I don't like about vscode |
| 19:23:00 | <geekosaur> | this is making me want to stay with emacs |
| 19:23:14 | <unit73e> | vscode feels like IDE light |
| 19:23:22 | <unit73e> | too much distractions |
| 19:23:28 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
| 19:23:28 | × | zincy_89 quits (~zincy_@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Quit: Client closed) |
| 19:23:38 | <maerwald> | those give you dopamine kicks and increase screen time |
| 19:23:53 | <unit73e> | but it's the best GUI only editor I've used so far |
| 19:24:02 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 19:24:03 | <unit73e> | that's something |
| 19:24:06 | <maerwald> | not a coincidence that MS spearheaded all this popup nonsense |
| 19:24:12 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 19:24:32 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 19:24:50 | <unit73e> | I feel like it was some Microsoft Joe that was sick and tired of Visual Studio that made vscode |
| 19:25:06 | <maerwald> | https://github.com/microsoft/vscode/issues/14840 |
| 19:25:30 | <maerwald> | "I am CONSTANTLY hitting escape to get rid of them so I can see my code." |
| 19:25:32 | <maerwald> | xD |
| 19:26:05 | <monochrom> | s/Joe/Bob/ # right? RIGHT? >:) |
| 19:26:29 | <unit73e> | lol Bob is better yes |
| 19:26:36 | <monochrom> | or Paperclip |
| 19:27:10 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
| 19:27:29 | <maerwald> | but vscode has a nice plugin where you can save your settings into a github gist |
| 19:30:47 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 19:32:10 | <sm> | vscode is great (even as a lifelong emacser) |
| 19:32:16 | <sm> | the power to weight ratio is high! |
| 19:36:21 | <jneira[m]> | i missed the total power to customize emacs last time i had to fight with the vscode api |
| 19:38:10 | <maerwald> | if I was new to programming today, I totally would pick vscode |
| 19:38:14 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
| 19:38:29 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
| 19:38:37 | <maerwald> | the only reason I stuck to vim was that I had a phase where I enjoyed wasting days and days configuring it |
| 19:39:24 | <geekosaur> | I did most of my emacs configuration in the mid-80s :þ |
| 19:40:01 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 19:40:02 | <geekosaur> | I think the only change I've had to make since then is (require 'cl) instead of the old common lisp compatibility stuff |
| 19:40:24 | <geekosaur> | well, and adding haskell-mode :) |
| 19:42:53 | <zincy_> | mid-80s wow |
| 19:43:45 | <maerwald> | there was great music back then |
| 19:43:53 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 264 seconds) |
| 19:43:58 | <maerwald> | and software was still fast |
| 19:44:29 | <geekosaur> | actually I have that backwards, common lisp compat is now standard and I had to remove (require 'cl) |
| 19:44:58 | <monochrom> | https://www.gnu.org/fun/jokes/ed-msg.en.html |
| 19:45:21 | AWizzArd_ | is now known as AWizzArd |
| 19:45:32 | <monochrom> | Note how emacs took up 6e37 bytes. |
| 19:46:37 | × | danso quits (~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.2) |
| 19:47:01 | <zincy_> | Im sure I read somewhere that Bryan O Sullivan still uses Ed |
| 19:47:09 | <monochrom> | (Note how the whole world could not possibly have that much disk space back then :) ) |
| 19:47:58 | <sm> | I got legimitately use ed for work yesterday |
| 19:48:30 | <sm> | I needed to insert the contents of a file after a certain line in another file |
| 19:49:02 | geekosaur | used to script ed in buildscripts. (didn't get to use fancy build systems, they wouldn't even try to build on the pmaxen) |
| 19:49:03 | × | MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 19:49:08 | × | pbrisbin quits (~patrick@pool-173-49-152-45.phlapa.fios.verizon.net) (Quit: WeeChat 3.3) |
| 19:49:24 | → | pbrisbin joins (~patrick@pool-173-49-152-45.phlapa.fios.verizon.net) |
| 19:49:28 | <sm> | correction, I needed to insert a bash heredoc after a certain line |
| 19:49:46 | <monochrom> | Nice, maybe I should teach ed in my unix course too. |
| 19:49:48 | → | MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 19:50:09 | <zincy_> | you're teaching a course just on unix? |
| 19:50:15 | × | pbrisbin quits (~patrick@pool-173-49-152-45.phlapa.fios.verizon.net) (Client Quit) |
| 19:51:08 | <monochrom> | Don't worry, it would be pitched as another program you could use in a shell script, for inserting a file into the middle of another file, like you said. |
| 19:51:51 | <monochrom> | I teach a c-and-unix course in summers. |
| 19:52:41 | → | JimL joins (~quassel@89-162-2-132.fiber.signal.no) |
| 19:53:01 | <zincy_> | oh cool |
| 19:53:07 | × | JimL quits (~quassel@89-162-2-132.fiber.signal.no) (Client Quit) |
| 19:53:26 | → | JimL joins (~quassel@89-162-2-132.fiber.signal.no) |
| 19:55:46 | <maerwald> | "how to configure systemd" |
| 19:56:39 | <monochrom> | I think something smug like "you don't configure it, you program it" is in order :) |
| 19:56:46 | × | thyriaen quits (~thyriaen@dynamic-077-013-059-156.77.13.pool.telefonica.de) (Remote host closed the connection) |
| 19:56:56 | → | bongobrown joins (~bongobrow@cpe-76-185-215-2.satx.res.rr.com) |
| 19:57:29 | <monochrom> | Aaannnddd.... let's have a sequel to the "what's interpreter vs compiler" discussion.... |
| 19:57:36 | → | lavaman joins (~lavaman@98.38.249.169) |
| 19:57:42 | <monochrom> | What's configuration vs programming? >:) |
| 19:58:39 | <trcc> | I have a function that in success cases returns a stablePointer, but in failure cases I have to return a nullPtr. However, stablePtr and nullPtr do not seem to match very well, i.e. expected type: IO (StablePtr (IORef (FMIT.FMIComponent a))) Actual type: IO (Ptr a0) |
| 19:58:45 | <trcc> | am I being to explicit about my type or? |
| 19:58:52 | <maerwald> | configuration is what I don't get paid for |
| 19:59:38 | <geekosaur> | https://github.com/CleverRaven/Cataclysm-DDA/blob/master/data/json/portal_storm_effect_on_condition.json |
| 20:01:11 | <monochrom> | ooohhh... using the amount of {}s to define "programming" :) |
| 20:02:35 | <maerwald> | "software engineer" is just a marketing term |
| 20:02:47 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 20:02:49 | <maerwald> | it looks better on my CV |
| 20:03:22 | <maerwald> | what if I wrote "I put libraries together, of which I don't understand 95%" |
| 20:03:46 | <monochrom> | trcc: So perhaps you should always return Ptr. In the success case, use castStablePtrToPtr. |
| 20:03:58 | <jneira[m]> | put the program in the configuration and bang, money again |
| 20:03:58 | <sm> | software technician |
| 20:07:07 | × | ubert quits (~Thunderbi@91.141.46.110.wireless.dyn.drei.com) (Quit: ubert) |
| 20:07:10 | → | juhp joins (~juhp@128.106.188.220) |
| 20:07:25 | → | ubert joins (~Thunderbi@91.141.46.110.wireless.dyn.drei.com) |
| 20:09:07 | <trcc> | monochrom: I am vorried about Ptr because it shall not be garbage collected, therefore StablePtr |
| 20:09:40 | × | oxide quits (~lambda@user/oxide) (Quit: oxide) |
| 20:11:13 | <monochrom> | Pretty sure GC isn't actually told about the types. |
| 20:11:53 | × | JimL quits (~quassel@89-162-2-132.fiber.signal.no) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 20:14:48 | → | JimL joins (~quassel@89-162-2-132.fiber.signal.no) |
| 20:15:00 | × | alx741 quits (~alx741@181.196.69.72) (Ping timeout: 260 seconds) |
| 20:15:06 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 20:15:21 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:15:21 | <monochrom> | Also pretty sure Ptr obtained from malloc is not GCed or moved either. |
| 20:15:28 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 20:15:58 | <monochrom> | And Ptr obtained from alloca, in the duration when the alloca call hasn't terminated. |
| 20:17:09 | → | acidjnk_new joins (~acidjnk@p200300d0c7238d76b9ac87bdf676c186.dip0.t-ipconnect.de) |
| 20:17:29 | <monochrom> | Generally anything that says "you need to call freeFoo or write a finalizer to free". |
| 20:18:19 | <trcc> | monochrom: thanks, but it is because of the docs in StablePtr that reads: "A stable pointer is a reference to a Haskell expression that is guaranteed not to be affected by garbage collection, i.e., it will neither be deallocated nor will the value of the stable pointer itself change during garbage collection (ordinary references may be relocated during garbage collection). Consequently, stable pointers can be passed to fore |
| 20:18:19 | <trcc> | ign code, which can treat it as an opaque reference to a Haskell value." |
| 20:18:26 | <trcc> | and I am exactly passing it to foreign code |
| 20:19:52 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 20:20:01 | <trcc> | anywas, found a castPtrToStablePtr |
| 20:22:16 | × | JimL quits (~quassel@89-162-2-132.fiber.signal.no) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 20:23:37 | × | burnsidesLlama quits (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection) |
| 20:24:32 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 20:24:41 | → | JimL joins (~quassel@89-162-2-132.fiber.signal.no) |
| 20:26:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:27:37 | → | alx741 joins (~alx741@186.178.109.79) |
| 20:35:55 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:40:33 | <dsal> | I have a simple enum sum type and a function that takes one of those and some arbitrary `a`. Is there a way I can constrain the `a` to be of a type associated with a value from that sum? |
| 20:40:59 | × | betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat) |
| 20:41:13 | <dsal> | I feel like there's some kind of datakinds magic. Basically, I want to be able to call `f True a` but not `f False a` |
| 20:41:19 | × | ss4 quits (~wootehfoo@user/wootehfoot) (Ping timeout: 258 seconds) |
| 20:43:53 | × | unit73e quits (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 246 seconds) |
| 20:46:00 | → | lavaman joins (~lavaman@98.38.249.169) |
| 20:48:47 | × | mei quits (~mei@user/mei) (Read error: Connection reset by peer) |
| 20:50:37 | <AWizzArd> | Linear: when I have foo :: Int 1%-> Double and inside foo I want to call `bar` and pass it that Int argument, does then `bar` also have to accept a linear argument. Does this linearity get passed on/inherited? |
| 20:50:40 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 20:50:50 | × | Cajun quits (~Cajun@user/cajun) (Quit: Client closed) |
| 20:51:02 | → | Cajun joins (~Cajun@user/cajun) |
| 20:55:33 | <geekosaur> | I would be surprised if passing a parameter was a gtet out of jail free card for linearity |
| 20:56:42 | → | jstolarek joins (~jstolarek@137.220.120.162) |
| 20:59:41 | → | burnsidesLlama joins (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
| 21:00:02 | × | alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection) |
| 21:00:23 | → | alzgh joins (~alzgh@user/alzgh) |
| 21:00:28 | <AWizzArd> | geekosaur: I would also assume that this constraint will get passed on. |
| 21:01:12 | <AWizzArd> | geekosaur: But what about `dup`? Or is it called `dup2`? It seems that I can do: let (x', x'') = dup x |
| 21:01:24 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 21:01:37 | <AWizzArd> | Now x is consumed and I can't use it anymore. But I have x' and x'' and can/must use both of them. |
| 21:02:12 | <AWizzArd> | So this seems to be a way out of linearity for free. I may be missing something here tho. |
| 21:03:32 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
| 21:04:00 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 260 seconds) |
| 21:05:10 | × | burnsidesLlama quits (~burnsides@dhcp168-028.wadham.ox.ac.uk) (Ping timeout: 260 seconds) |
| 21:05:23 | → | sedeki joins (~textual@user/sedeki) |
| 21:05:27 | → | burnsidesLlama joins (~burnsides@dhcp168-028.wadham.ox.ac.uk) |
| 21:08:22 | → | lavaman joins (~lavaman@98.38.249.169) |
| 21:08:45 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) |
| 21:13:11 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 21:13:57 | → | hendursaga joins (~weechat@user/hendursaga) |
| 21:13:59 | <aegon> | i'm getting a Thread Terminated and i don't see a reason for it, how can i get more info out of ghc about why its being terminated |
| 21:18:01 | × | xff0x quits (~xff0x@2001:1a81:5218:9100:aa26:25c9:f09a:101d) (Ping timeout: 245 seconds) |
| 21:18:54 | <aegon> | derp i was killin it by messing up timeout logic :X |
| 21:18:55 | → | xff0x joins (~xff0x@2001:1a81:5218:9100:9942:dd03:d29b:2938) |
| 21:20:31 | × | myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 21:21:06 | × | fendor quits (~fendor@178.165.200.199.wireless.dyn.drei.com) (Remote host closed the connection) |
| 21:21:31 | × | alzgh quits (~alzgh@user/alzgh) (Remote host closed the connection) |
| 21:21:52 | → | alzgh joins (~alzgh@user/alzgh) |
| 21:24:15 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 21:25:31 | <dolio> | AWizzArd: What is the type of dup? |
| 21:25:34 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) |
| 21:26:12 | <unit73e> | Looks like HLS works with Paths_* if I open a file without it first lol. Weird but I guess it's a workaround. |
| 21:26:41 | <AWizzArd> | https://hackage.haskell.org/package/linear-base-0.1.0/docs/Prelude-Linear.html#v:dup2 |
| 21:26:53 | <AWizzArd> | dup2 :: a %1 -> (a, a) |
| 21:28:37 | <dolio> | No, that's not the type. :) |
| 21:28:47 | <dolio> | Dupable a => a %1 -> (a, a) |
| 21:30:23 | × | d0ku quits (~d0ku@178.43.15.137.ipv4.supernova.orange.pl) (Ping timeout: 264 seconds) |
| 21:32:42 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 21:33:01 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 245 seconds) |
| 21:33:45 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 21:33:50 | → | myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 21:34:40 | <AWizzArd> | dolio: true. |
| 21:34:56 | × | sedeki quits (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 21:35:20 | <AWizzArd> | You see, no ghci support here. One more proof that I need Haskell to support me (: |
| 21:35:59 | <dolio> | Some types can be duplicated, say becasue they can be represented in a stable way in memory or something. |
| 21:36:31 | <dolio> | But it's not free, and you can't do it to everything. |
| 21:37:43 | × | Skyfire quits (~pyon@user/pyon) (Quit: WeeChat 3.3) |
| 21:39:35 | <dolio> | The linear arrow itself is an example of something that might not be able to be duplicated, because linear functions might be a reification of ephemeral control flow points in the program, like continuations. |
| 21:40:21 | <dolio> | If you duplicate/discard those control flow points, you get the non-deterministic results of, e.g. call/cc. |
| 21:41:39 | <dolio> | So in that sense, it only makes sense to be able to duplicate linear functions that are represented by code. |
| 21:46:54 | ← | echoSMILE parts (~echoSMILE@user/echosmile) () |
| 21:51:39 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
| 21:52:11 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 21:54:16 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:57:05 | × | trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
| 21:57:08 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 21:58:27 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 21:59:37 | → | Guest|12 joins (~Guest|12@89.187.239.178) |
| 22:00:06 | ← | Guest|12 parts (~Guest|12@89.187.239.178) () |
| 22:07:31 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection) |
| 22:11:20 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 22:12:09 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:17:23 | → | f-a joins (f2a@f2a.jujube.ircnow.org) |
| 22:22:06 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 22:22:07 | × | myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds) |
| 22:22:08 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 22:22:31 | → | ss4 joins (~wootehfoo@user/wootehfoot) |
| 22:24:47 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
| 22:25:16 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 22:27:06 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 22:29:41 | → | myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net) |
| 22:30:34 | → | Skyfire joins (~pyon@user/pyon) |
| 22:30:57 | × | unit73e quits (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 258 seconds) |
| 22:37:32 | × | dsrt^ quits (~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 260 seconds) |
| 22:37:59 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:37:59 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 22:37:59 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:42:14 | → | dsrt^ joins (~dsrt@wsip-68-227-92-38.mc.at.cox.net) |
| 22:44:04 | <ski> | zincy : anyway .. Haskell doesn't have an `exists' keyword (a few implementations did have it as extension, but only in the "trivial" case of occuring to the left of a function arrow (possibly indirected through type synonyms, iirc)). so, in actual current Haskell (with extensions), you do need to *encode* `exists' (in one of two main ways, sometimes a third applies). nonetheless, i think it helps to think |
| 22:44:10 | <ski> | about it conceptually, at the level i described, with a pseudo-Haskell `exists', before delving into how to actually get code today working |
| 22:45:04 | ← | f-a parts (f2a@f2a.jujube.ircnow.org) () |
| 22:45:30 | × | jstolarek quits (~jstolarek@137.220.120.162) (Ping timeout: 260 seconds) |
| 22:52:41 | → | lavaman joins (~lavaman@98.38.249.169) |
| 22:53:10 | × | AlexNoo quits (~AlexNoo@178.34.150.219) (Read error: Connection reset by peer) |
| 22:53:53 | → | AlexNoo joins (~AlexNoo@178.34.150.219) |
| 22:57:07 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 22:57:18 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:59:24 | gdd1 | is now known as gdd |
| 23:01:44 | → | Psybur joins (~Psybur@mobile-166-170-30-165.mycingular.net) |
| 23:03:33 | × | max22- quits (~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 23:04:06 | × | chomwitt quits (~chomwitt@ppp-94-68-249-8.home.otenet.gr) (Remote host closed the connection) |
| 23:12:55 | × | MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 23:13:35 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
| 23:13:53 | → | MQ-17J joins (~MQ-17J@8.6.144.240) |
| 23:15:23 | × | Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
| 23:21:59 | × | lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 264 seconds) |
| 23:22:59 | → | lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
| 23:25:15 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:25:56 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
| 23:26:06 | × | michalz quits (~michalz@185.246.204.97) (Remote host closed the connection) |
| 23:26:10 | → | yinghua joins (~yinghua@2800:2121:1400:900:b457:83cc:995e:57e) |
| 23:32:11 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 23:35:52 | × | acidjnk_new quits (~acidjnk@p200300d0c7238d76b9ac87bdf676c186.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 23:38:42 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection) |
| 23:44:45 | → | mvk joins (~mvk@2607:fea8:5cc1:300::d3fb) |
| 23:49:52 | × | sprout quits (~quassel@2a02:a467:ccd6:1:e876:dcb:76b1:818b) (Ping timeout: 260 seconds) |
| 23:49:57 | × | Null_A quits (~null_a@2601:645:8700:2290:25a5:cf0c:746a:f835) (Remote host closed the connection) |
| 23:51:10 | × | Cajun quits (~Cajun@user/cajun) (Ping timeout: 256 seconds) |
| 23:52:35 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 23:52:59 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 23:55:44 | × | alx741 quits (~alx741@186.178.109.79) (Quit: alx741) |
| 23:57:04 | → | alx741 joins (~alx741@186.178.109.79) |
| 23:57:59 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 264 seconds) |
All times are in UTC on 2021-10-27.