2024/05/13

2024-05-13 00:00:51 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-05-13 00:01:03 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 00:02:13 +0200gmg(~user@user/gehmehgeh)
2024-05-13 00:05:15 +0200yin_(~yin@user/zero) (Ping timeout: 255 seconds)
2024-05-13 00:11:19 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-05-13 00:15:15 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-05-13 00:21:04 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2024-05-13 00:21:32 +0200yin_(~yin@user/zero)
2024-05-13 00:21:48 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-05-13 00:37:04 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-05-13 00:38:05 +0200acidjnk_new(~acidjnk@p200300d6e714dc538d2f4966c160723d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2024-05-13 00:41:42 +0200yin_(~yin@user/zero) (Ping timeout: 255 seconds)
2024-05-13 00:43:38 +0200yin_(~yin@user/zero)
2024-05-13 00:53:38 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-05-13 00:53:46 +0200yin_zzz
2024-05-13 00:54:20 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-05-13 00:54:52 +0200euleritian(~euleritia@dynamic-176-006-176-035.176.6.pool.telefonica.de)
2024-05-13 00:58:21 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
2024-05-13 01:02:23 +0200yin(~yin@user/zero) (Ping timeout: 264 seconds)
2024-05-13 01:05:33 +0200yin(~yin@user/zero)
2024-05-13 01:21:57 +0200phma_(~phma@2001:5b0:211b:f8f8:8558:8264:69ae:a8e6)
2024-05-13 01:22:40 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-05-13 01:24:29 +0200phma(phma@2001:5b0:211f:3048:948d:80d2:e152:3a7b) (Ping timeout: 240 seconds)
2024-05-13 01:26:08 +0200yin(~yin@user/zero) (Ping timeout: 252 seconds)
2024-05-13 01:27:33 +0200yin(~yin@user/zero)
2024-05-13 01:31:57 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 256 seconds)
2024-05-13 01:35:41 +0200yin(~yin@user/zero) (Ping timeout: 240 seconds)
2024-05-13 01:39:09 +0200yin(~yin@user/zero)
2024-05-13 01:44:21 +0200philopsos1(~caecilius@user/philopsos)
2024-05-13 01:52:35 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 272 seconds)
2024-05-13 01:58:21 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-05-13 02:36:24 +0200yin(~yin@user/zero) (Ping timeout: 268 seconds)
2024-05-13 02:39:07 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 260 seconds)
2024-05-13 02:44:12 +0200yin(~yin@user/zero)
2024-05-13 02:45:04 +0200ropwareJB(~ropwareJB@2601:602:9100:1460:c8dc:a946:242d:d890)
2024-05-13 02:48:19 +0200euleritian(~euleritia@dynamic-176-006-176-035.176.6.pool.telefonica.de) (Ping timeout: 256 seconds)
2024-05-13 02:49:03 +0200euleritian(~euleritia@dynamic-176-001-008-241.176.1.pool.telefonica.de)
2024-05-13 02:49:34 +0200 <ropwareJB> Hi folks, need some direction with Nix + GHCJS, I'm receiving the following compile error and not sure how to proceed:
2024-05-13 02:49:35 +0200 <ropwareJB> ```
2024-05-13 02:49:35 +0200 <ropwareJB> building '/nix/store/da6mc29mxdygpy3wz1d3vd7z9j308j3v-entropy-0.4.1.10.drv'...
2024-05-13 02:49:36 +0200 <ropwareJB> Running phase: setupCompilerEnvironmentPhase
2024-05-13 02:49:36 +0200 <ropwareJB> Build with /nix/store/n3aank8ia8qjqyv0lqslbz1bahpyg59s-ghcjs-8.10.7.
2024-05-13 02:49:37 +0200 <ropwareJB> Running phase: unpackPhase
2024-05-13 02:49:37 +0200 <ropwareJB> unpacking source archive /nix/store/sh4n8xmf2ydjgz1qbmr6qr0mzwsv3cxv-entropy-0.4.1.10.tar.gz
2024-05-13 02:49:38 +0200 <ropwareJB> source root is entropy-0.4.1.10
2024-05-13 02:49:38 +0200 <ropwareJB> setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file entropy-0.4.1.10/System/EntropyWindows.hs
2024-05-13 02:49:39 +0200 <ropwareJB> Running phase: patchPhase
2024-05-13 02:49:39 +0200 <ropwareJB> Replace Cabal file with edited version from mirror://hackage/entropy-0.4.1.10/revision/1.cabal.
2024-05-13 02:49:40 +0200 <ropwareJB> Running phase: compileBuildDriverPhase
2024-05-13 02:49:40 +0200 <ropwareJB> setupCompileFlags: -package-db=/build/tmp.S8Sc2uLXHZ/setup-package.conf.d -j8 +RTS -A64M -RTS -threaded -rtsopts
2024-05-13 02:49:41 +0200 <ropwareJB> [1 of 1] Compiling Main ( Setup.hs, /build/tmp.S8Sc2uLXHZ/Main.o )
2024-05-13 02:49:41 +0200 <ropwareJB> Linking Setup ...
2024-05-13 02:49:42 +0200 <ropwareJB> Running phase: updateAutotoolsGnuConfigScriptsPhase
2024-05-13 02:49:42 +0200 <ropwareJB> Running phase: configurePhase
2024-05-13 02:49:43 +0200 <ropwareJB> configureFlags: --verbose --prefix=/nix/store/jq14b9dgm4k5jj134g8lndflxr13m8ib-entropy-0.4.1.10 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/iy0hyw7lvgvgwz54ag86g04sxxjm01fa-entropy-0.4.1.10-doc/share/doc/entropy-0.4.1.10 --with-gcc=gcc --package-db=/build/tmp.S8Sc2uLXHZ/package.conf.d --ghc-options=-j8 +RTS -A64M
2024-05-13 02:55:14 +0200 <probie> ropwareJB: Use a pastebin like https://paste.tomsmeding.com/ for things which are more than 3-4 lines
2024-05-13 02:59:25 +0200 <johnw> Is there a lens that will do this:
2024-05-13 02:59:31 +0200 <johnw> 123 & something . _head .~ 4 ==> 423
2024-05-13 03:13:39 +0200otto_s(~user@p4ff27bc4.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2024-05-13 03:14:40 +0200 <glguy> > (123::Int) & _Show . _head .~ '4' --?
2024-05-13 03:14:42 +0200 <lambdabot> <hint>:1:38: error:
2024-05-13 03:14:42 +0200 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2024-05-13 03:14:43 +0200otto_s(~user@p5de2fd19.dip0.t-ipconnect.de)
2024-05-13 03:14:56 +0200 <glguy> > (123::Int) & _Show . _head .~ '4' -- ?
2024-05-13 03:14:57 +0200 <lambdabot> error:
2024-05-13 03:14:57 +0200 <lambdabot> • Couldn't match type ‘[Char]’ with ‘Int’
2024-05-13 03:14:57 +0200 <lambdabot> Expected type: ASetter Int String Char Char
2024-05-13 03:16:18 +0200 <probie> johnw: What do you expect the result of `123 & something . _head .~ 42` to be?
2024-05-13 03:19:44 +0200 <probie> > let something f s = fmap ((read :: String -> Int) . concatMap show) $ f (map digitToInt (show s)) in 123 & something . _head .~ 4
2024-05-13 03:19:46 +0200 <lambdabot> 423
2024-05-13 03:19:59 +0200 <probie> > let something f s = fmap ((read :: String -> Int) . concatMap show) $ f (map digitToInt (show s)) in 123 & something . _head .~ 42
2024-05-13 03:20:00 +0200 <lambdabot> 4223
2024-05-13 03:22:53 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 256 seconds)
2024-05-13 03:40:05 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-05-13 03:53:12 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2024-05-13 04:05:13 +0200tv(~tv@user/tv) (Quit: derp)
2024-05-13 04:05:37 +0200tv(~tv@user/tv)
2024-05-13 04:07:08 +0200zzz(~yin@user/zero) (Ping timeout: 256 seconds)
2024-05-13 04:08:47 +0200zzz(~yin@user/zero)
2024-05-13 04:15:04 +0200td_(~td@i53870913.versanet.de) (Ping timeout: 268 seconds)
2024-05-13 04:15:44 +0200cyphase(~cyphase@user/cyphase) (Quit: cyphase.com)
2024-05-13 04:16:47 +0200td_(~td@i53870933.versanet.de)
2024-05-13 04:20:21 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2024-05-13 04:21:26 +0200phma_(~phma@2001:5b0:211b:f8f8:8558:8264:69ae:a8e6) (Read error: Connection reset by peer)
2024-05-13 04:22:51 +0200phma_(phma@2001:5b0:210b:c738:d0e0:5870:ec8f:f731)
2024-05-13 04:35:17 +0200euleritian(~euleritia@dynamic-176-001-008-241.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-05-13 04:35:34 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-13 05:00:00 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.)
2024-05-13 05:01:11 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2024-05-13 05:01:47 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-05-13 05:06:46 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2024-05-13 05:08:40 +0200random-jellyfish(~developer@user/random-jellyfish) (Ping timeout: 260 seconds)
2024-05-13 05:14:51 +0200zzz(~yin@user/zero) (Ping timeout: 255 seconds)
2024-05-13 05:18:14 +0200philopsos(~caecilius@user/philopsos) (Ping timeout: 252 seconds)
2024-05-13 05:21:23 +0200random-jellyfish(~developer@user/random-jellyfish)
2024-05-13 05:22:05 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2024-05-13 05:23:35 +0200philopsos1(~caecilius@user/philopsos)
2024-05-13 05:37:28 +0200JimL(~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-05-13 05:40:22 +0200JimL(~quassel@89.162.16.26)
2024-05-13 05:43:31 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-05-13 05:47:16 +0200random-jellyfish(~developer@user/random-jellyfish) (Ping timeout: 255 seconds)
2024-05-13 05:48:47 +0200xigua(~xigua@user/xigua) (Read error: Connection reset by peer)
2024-05-13 05:49:02 +0200xigua(~xigua@user/xigua)
2024-05-13 05:55:09 +0200Square(~Square@user/square) (Ping timeout: 272 seconds)
2024-05-13 05:56:09 +0200aforemny(~aforemny@i59F516F4.versanet.de)
2024-05-13 05:57:27 +0200aforemny_(~aforemny@i59F516F5.versanet.de) (Ping timeout: 260 seconds)
2024-05-13 06:06:03 +0200ddellacosta(~ddellacos@ool-44c73d29.dyn.optonline.net)
2024-05-13 06:06:17 +0200rosco(~rosco@yp-146-6.tm.net.my)
2024-05-13 06:13:43 +0200 <johnw> I think 423
2024-05-13 06:13:55 +0200 <johnw> I want to treat the int like a string, manipulate the string, and then store it back as an int
2024-05-13 06:14:24 +0200 <johnw> the _Show prism is the precise opposite of what I am looking for
2024-05-13 06:14:40 +0200 <johnw> I mean, this is highly suspect, but:
2024-05-13 06:14:40 +0200 <johnw> shown f a = read <$> f (show a)
2024-05-13 06:15:11 +0200 <johnw> this is only valid if you never make modification that cause the number to not be a number anymore
2024-05-13 06:19:31 +0200phma_phma
2024-05-13 06:27:29 +0200ropwareJB(~ropwareJB@2601:602:9100:1460:c8dc:a946:242d:d890) (Quit: Client closed)
2024-05-13 06:35:00 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-05-13 06:35:42 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-13 06:39:27 +0200 <probie> Do you really need a `String`, or would a sign and a list of digits be preferable?
2024-05-13 06:40:45 +0200michalz(~michalz@185.246.207.197)
2024-05-13 06:40:56 +0200sadome(~sadome@182.69.182.31)
2024-05-13 06:40:56 +0200sadome(~sadome@182.69.182.31) (Changing host)
2024-05-13 06:40:56 +0200sadome(~sadome@user/sadome)
2024-05-13 06:40:56 +0200sadome(~sadome@user/sadome) (Excess Flood)
2024-05-13 06:41:30 +0200sadome(~sadome@182.69.182.31)
2024-05-13 06:41:30 +0200sadome(~sadome@182.69.182.31) (Changing host)
2024-05-13 06:41:30 +0200sadome(~sadome@user/sadome)
2024-05-13 06:41:30 +0200sadome(~sadome@user/sadome) (Excess Flood)
2024-05-13 06:42:39 +0200sadome(~sadome@182.69.182.31)
2024-05-13 06:42:39 +0200sadome(~sadome@182.69.182.31) (Changing host)
2024-05-13 06:42:39 +0200sadome(~sadome@user/sadome)
2024-05-13 06:42:39 +0200sadome(~sadome@user/sadome) (Excess Flood)
2024-05-13 06:43:35 +0200sadome(~sadome@user/sadome)
2024-05-13 06:43:35 +0200sadome(~sadome@user/sadome) (Excess Flood)
2024-05-13 06:45:36 +0200michalz(~michalz@185.246.207.197) (Client Quit)
2024-05-13 06:47:10 +0200sadome(~sadome@user/sadome)
2024-05-13 06:47:10 +0200sadome(~sadome@user/sadome) (Excess Flood)
2024-05-13 06:47:51 +0200sadome(~sadome@user/sadome)
2024-05-13 06:47:51 +0200sadome(~sadome@user/sadome) (Excess Flood)
2024-05-13 06:48:28 +0200michalz(~michalz@185.246.207.203)
2024-05-13 06:50:53 +0200xdminsy(~xdminsy@117.147.70.240)
2024-05-13 06:53:57 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-05-13 06:55:22 +0200 <sm> @where+ ultimate-string-guide https://hasufell.github.io/posts/2024-05-07-ultimate-string-guide.html
2024-05-13 06:55:22 +0200 <lambdabot> I will never forget.
2024-05-13 06:55:38 +0200 <sm> epic post by maerwald
2024-05-13 07:16:06 +0200mailman(~mailman@192.210.255.34)
2024-05-13 07:16:14 +0200acidjnk_new(~acidjnk@p200300d6e714dc3784e5c6ff7798483a.dip0.t-ipconnect.de)
2024-05-13 07:18:07 +0200mailman(~mailman@192.210.255.34) (Client Quit)
2024-05-13 07:18:57 +0200mailman(~mailman@192.210.255.34)
2024-05-13 07:23:51 +0200ft(~ft@p508db8fc.dip0.t-ipconnect.de) (Quit: leaving)
2024-05-13 07:28:03 +0200mailman(~mailman@192.210.255.34) (Ping timeout: 250 seconds)
2024-05-13 07:34:16 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-05-13 07:34:52 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-05-13 07:34:55 +0200euleritian(~euleritia@dynamic-176-001-008-241.176.1.pool.telefonica.de)
2024-05-13 07:38:51 +0200notzmv(~daniel@user/notzmv) (Ping timeout: 255 seconds)
2024-05-13 07:44:45 +0200 <johnw> probie: I actually want a string, so that I can turn it into a Text and use that someplace. It just fits the pattern if it's a lens or traversal. It's OK, though, there are many ways around this problem.
2024-05-13 07:47:09 +0200causal(~eric@50.35.88.207)
2024-05-13 07:50:35 +0200philopsos1(~caecilius@user/philopsos) (Quit: Lost terminal)
2024-05-13 07:51:03 +0200xdminsy(~xdminsy@117.147.70.240) (Quit: Konversation terminated!)
2024-05-13 07:51:27 +0200xdminsy(~xdminsy@117.147.70.240)
2024-05-13 08:01:56 +0200ames(~amelia@offtopia/offtopian/amelia) (Quit: Ping timeout (120 seconds))
2024-05-13 08:02:03 +0200ames4(~amelia@offtopia/offtopian/amelia)
2024-05-13 08:02:41 +0200stefan-__(~m-yh2rcc@42dots.de) (Ping timeout: 252 seconds)
2024-05-13 08:02:55 +0200stefan-__(~m-yh2rcc@42dots.de)
2024-05-13 08:03:43 +0200ames4ames
2024-05-13 08:03:47 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de) (Ping timeout: 252 seconds)
2024-05-13 08:04:10 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de)
2024-05-13 08:04:17 +0200philopsos1(~caecilius@user/philopsos)
2024-05-13 08:07:27 +0200cyphase(~cyphase@user/cyphase)
2024-05-13 08:07:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 08:07:44 +0200cyphase(~cyphase@user/cyphase) (Remote host closed the connection)
2024-05-13 08:12:59 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-05-13 08:14:56 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-05-13 08:20:22 +0200Square2(~Square4@user/square)
2024-05-13 08:31:13 +0200 <c_wraith> johnw: it's inherently going to be unlawful, because invalid changes to the string will break it. There's nothing in lens that's allowed to fail in that direction. If you accept that and simply proceed with something like your shown definition, that's as good as you'll get without inventing something new.
2024-05-13 08:36:05 +0200 <c_wraith> there are some unlawful things in lens with failure modes like that, which sort of just... Make something up if their preconditions are violated.
2024-05-13 08:36:12 +0200 <c_wraith> > (1,2,3) & partsOf each %~ tail
2024-05-13 08:36:13 +0200 <lambdabot> (2,3,3)
2024-05-13 08:42:38 +0200cyphase(~cyphase@user/cyphase)
2024-05-13 08:48:43 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 256 seconds)
2024-05-13 08:48:49 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2024-05-13 08:51:13 +0200hippoid(~hippoid@user/hippoid) (Ping timeout: 272 seconds)
2024-05-13 08:52:50 +0200hippoid(~hippoid@c-98-213-162-40.hsd1.il.comcast.net)
2024-05-13 08:53:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 08:54:38 +0200rosco(~rosco@yp-146-6.tm.net.my) (Quit: Lost terminal)
2024-05-13 08:57:13 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-05-13 08:57:36 +0200euleritian(~euleritia@dynamic-176-001-008-241.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-05-13 08:57:56 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-13 09:01:00 +0200sawilagar(~sawilagar@user/sawilagar)
2024-05-13 09:01:43 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 09:02:22 +0200cfricke(~cfricke@user/cfricke)
2024-05-13 09:17:46 +0200__monty__(~toonn@user/toonn)
2024-05-13 09:24:35 +0200Mach(~Mach@2a02:2f09:d304:200:c99a:4ebf:7882:c432)
2024-05-13 09:26:29 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 268 seconds)
2024-05-13 09:30:00 +0200Mach`(~Mach@86.127.202.233)
2024-05-13 09:33:53 +0200Mach(~Mach@2a02:2f09:d304:200:c99a:4ebf:7882:c432) (Ping timeout: 268 seconds)
2024-05-13 09:35:45 +0200syscall1(~syscall@2409:40c1:500a:3a4f:c203:8a4c:1ac4:3af)
2024-05-13 09:37:17 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 252 seconds)
2024-05-13 09:44:17 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2024-05-13 09:45:39 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 260 seconds)
2024-05-13 09:48:12 +0200brox66(~brox66@user/brox66)
2024-05-13 09:49:09 +0200notzmv(~daniel@user/notzmv)
2024-05-13 09:50:05 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2024-05-13 09:52:25 +0200 <brox66> Hello, I want to set up a stack project that uses BNFC to generate some parser code. Is it possible to configure a pre-build hook that calls bnfc's makefile before stack's build starts?
2024-05-13 09:54:06 +0200 <Hecate> it's usually what a Setup.hs helps you with
2024-05-13 09:54:08 +0200 <Hecate> Custom build type
2024-05-13 09:54:25 +0200 <Hecate> brox66: but personally I use a Makefile that calls the two rules one after the other
2024-05-13 10:00:56 +0200cfricke(~cfricke@user/cfricke)
2024-05-13 10:01:33 +0200 <brox66> Thanks! Yes, I'll probably usa a Makefile instead.
2024-05-13 10:14:32 +0200xdminsy(~xdminsy@117.147.70.240) (Read error: Connection reset by peer)
2024-05-13 10:14:38 +0200 <Hecate> brox66: here's an example: https://github.com/flora-pm/flora-server/blob/development/Makefile#L7-L8
2024-05-13 10:15:39 +0200xdminsy(~xdminsy@117.147.70.240)
2024-05-13 10:17:07 +0200chele(~chele@user/chele)
2024-05-13 10:17:20 +0200 <brox66> Hecate, big Makefile!
2024-05-13 10:17:55 +0200m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 246 seconds)
2024-05-13 10:19:07 +0200 <Hecate> brox66: aye
2024-05-13 10:19:13 +0200 <probie> That's a neat low-effort way to do "help"
2024-05-13 10:19:19 +0200m5zs7k(aquares@web10.mydevil.net)
2024-05-13 10:19:39 +0200 <Hecate> yup'
2024-05-13 10:23:23 +0200titibandit(~titibandi@user/titibandit)
2024-05-13 10:29:18 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 10:31:05 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-05-13 10:34:10 +0200syscall1(~syscall@2409:40c1:500a:3a4f:c203:8a4c:1ac4:3af) (Ping timeout: 256 seconds)
2024-05-13 10:35:15 +0200brox66(~brox66@user/brox66) (Ping timeout: 250 seconds)
2024-05-13 10:43:02 +0200danse-nr3(~danse-nr3@151.43.89.126)
2024-05-13 10:45:34 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-05-13 10:51:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 11:07:46 +0200gehmehgeh(~user@user/gehmehgeh)
2024-05-13 11:07:54 +0200rosco(~rosco@yp-146-6.tm.net.my)
2024-05-13 11:34:31 +0200robosexual(~spaceoyst@5.167.241.127)
2024-05-13 11:44:39 +0200random-jellyfish(~developer@2a02:2f04:11e:c600:4127:3bc6:8e36:8fc3)
2024-05-13 11:44:39 +0200random-jellyfish(~developer@2a02:2f04:11e:c600:4127:3bc6:8e36:8fc3) (Changing host)
2024-05-13 11:44:39 +0200random-jellyfish(~developer@user/random-jellyfish)
2024-05-13 11:44:39 +0200tremon(~tremon@83.80.159.219)
2024-05-13 11:47:19 +0200cyphase(~cyphase@user/cyphase)
2024-05-13 11:49:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 12:01:48 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 12:02:12 +0200acidjnk_new(~acidjnk@p200300d6e714dc3784e5c6ff7798483a.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-05-13 12:21:03 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
2024-05-13 12:30:25 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-05-13 12:30:39 +0200syscall1(~syscall@2409:40c1:500a:3a4f:edc2:acd4:e500:7824)
2024-05-13 12:32:21 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-05-13 12:32:25 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2024-05-13 12:34:08 +0200Mach`(~Mach@86.127.202.233) (Quit: Leaving)
2024-05-13 12:36:01 +0200gehmehgeh(~user@user/gehmehgeh)
2024-05-13 12:38:57 +0200euphores(~SASL_euph@user/euphores)
2024-05-13 12:41:28 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-05-13 12:41:48 +0200danse-nr3(~danse-nr3@151.43.89.126) (Ping timeout: 260 seconds)
2024-05-13 12:52:52 +0200 <ncf> johnw: there isn't a lawful way to do this with lens, because you could modify the String to something that doesn't parse back as an Int. here's something i did a few days ago as a joke: https://ircbrowse.tomsmeding.com/day/lchaskell/2024/04/30?id=1266594#trid1266594
2024-05-13 12:53:38 +0200 <ncf> treats the _Show prism as a partial Iso and turns it around
2024-05-13 12:53:46 +0200acidjnk_new(~acidjnk@p200300d6e714dc37b9c7c34e6fbc03d6.dip0.t-ipconnect.de)
2024-05-13 12:54:06 +0200rosco(~rosco@yp-146-6.tm.net.my) (Quit: Lost terminal)
2024-05-13 12:56:49 +0200 <ncf> > 123 & fromP' _Show . _head .~ '4'
2024-05-13 12:56:51 +0200 <lambdabot> 423
2024-05-13 12:57:34 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 12:58:47 +0200 <Taneb> Nice
2024-05-13 12:59:04 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-05-13 13:00:35 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2024-05-13 13:01:59 +0200Lord_of_Life_Lord_of_Life
2024-05-13 13:08:46 +0200 <ncf> maybe you could achieve something like this lawfully in a dependently typed language, with dependent lenses (https://www.cse.chalmers.se/~nad/publications/danielsson-dependent-lenses.pdf)
2024-05-13 13:09:29 +0200 <ncf> approximating Int as a subtype of String
2024-05-13 13:09:49 +0200 <ncf> Σ (s : String) "s parses as an Int"
2024-05-13 13:10:54 +0200hammond(proscan@gateway02.insomnia247.nl) (Remote host closed the connection)
2024-05-13 13:16:38 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2024-05-13 13:17:27 +0200ec(~ec@gateway/tor-sasl/ec)
2024-05-13 13:19:10 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Ping timeout: 264 seconds)
2024-05-13 13:19:37 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
2024-05-13 13:19:43 +0200syscall1(~syscall@2409:40c1:500a:3a4f:edc2:acd4:e500:7824) (Ping timeout: 256 seconds)
2024-05-13 13:24:31 +0200rvalue(~rvalue@user/rvalue) (Ping timeout: 268 seconds)
2024-05-13 13:24:40 +0200gehmehgehgmg
2024-05-13 13:29:58 +0200 <[exa]> dmj`: re the MicroHs, I've got a tiny assembly graph reducing machine here and it looks like it could evaluate the combinators just as well. Which would be great because the footprint of microhs would basically lose the C compiler requirement, and there are a few other funny ways to make it portable
2024-05-13 13:30:17 +0200 <[exa]> like, I'll try to do that in free time over the summer. Guess will post it here in case anything materializes
2024-05-13 13:39:51 +0200syscall1(~syscall@2409:40c1:500a:3a4f:1bf3:ed53:e9f:88f4)
2024-05-13 13:39:55 +0200 <kuribas> ncf: IsJust (readMaybe s : Maybe Int)
2024-05-13 13:40:44 +0200 <kuribas> Or (s ** IsJust (readMaybe s : Maybe Int))
2024-05-13 13:41:14 +0200 <kuribas> But then why not just use Int?
2024-05-13 13:41:31 +0200 <ncf> what's ** ?
2024-05-13 13:42:48 +0200 <ncf> the point is to have a dependent lens that lets you modify the first component of the sigma type that is "isomorphic" to Int
2024-05-13 13:43:02 +0200 <ncf> i don't think you can do this in haskell
2024-05-13 13:44:00 +0200 <kuribas> ncf: idris dependent pair operator
2024-05-13 13:44:09 +0200 <ncf> oh, so that's what i wrote then
2024-05-13 13:44:48 +0200 <kuribas> But a string that is "isomorphic" to Int is not very useful.
2024-05-13 13:44:52 +0200 <kuribas> Just use Int then.
2024-05-13 13:45:54 +0200 <ncf> sure, the type is not very interesting on its own, it's just part of the definition of the lens
2024-05-13 13:46:12 +0200 <ncf> just like a regular Lens a b is some type c with an isomorphism a ≃ b × c
2024-05-13 13:46:37 +0200rvalue(~rvalue@user/rvalue)
2024-05-13 13:47:07 +0200 <ncf> (https://www.twanvl.nl/blog/haskell/isomorphism-lenses)
2024-05-13 13:49:23 +0200Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no)
2024-05-13 13:49:23 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it)
2024-05-13 13:51:10 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 13:54:03 +0200 <ncf> hmm this is probably not what dependent lenses actually achieve though
2024-05-13 13:54:10 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it) (Ping timeout: 255 seconds)
2024-05-13 13:54:32 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it)
2024-05-13 13:57:54 +0200 <syscall1> LIST
2024-05-13 13:58:09 +0200syscall1(~syscall@2409:40c1:500a:3a4f:1bf3:ed53:e9f:88f4) (Quit: WeeChat 4.2.2)
2024-05-13 13:59:31 +0200 <int-e> . o O ( back to the BASICs )
2024-05-13 14:04:05 +0200 <ncf> like, in order to set (f : String → String) over the first component of Σ (s : String) P(s) you'd have to also provide a proof that P(s) → P(f(s))... but then you're not gaining anything from the lens interface
2024-05-13 14:05:22 +0200 <ncf> and then if you wanted to somehow compose that with _head then that would turn into P(s) → P(over _head f s)
2024-05-13 14:06:03 +0200billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2024-05-13 14:06:55 +0200billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Max SendQ exceeded)
2024-05-13 14:07:19 +0200billchenchina(~billchenc@103.152.35.21)
2024-05-13 14:07:20 +0200drdo(~drdo@bl5-29-74.dsl.telepac.pt)
2024-05-13 14:10:23 +0200yin(~yin@user/zero) (Remote host closed the connection)
2024-05-13 14:29:15 +0200ddellacosta(~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 255 seconds)
2024-05-13 14:32:52 +0200sandbag(~syscall@user/sandbag)
2024-05-13 14:38:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 14:39:26 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 14:52:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-05-13 15:02:31 +0200 <dmj`> [exa]: very cool, which assembly language
2024-05-13 15:05:52 +0200zzz(~yin@user/zero)
2024-05-13 15:07:23 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it) (Ping timeout: 256 seconds)
2024-05-13 15:07:52 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it)
2024-05-13 15:22:11 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it) (Ping timeout: 264 seconds)
2024-05-13 15:22:29 +0200_bo(~bo@198.red-83-56-252.dynamicip.rima-tde.net)
2024-05-13 15:23:21 +0200 <zzz> is this parenthesized correctly? https://i.stack.imgur.com/WQtuk.jpg
2024-05-13 15:25:42 +0200 <ski> not if that's supposed to be a Y combinator, assuming usual precedence rules for application and lambda abstraction
2024-05-13 15:27:12 +0200 <mauke> depends on what conventions you use
2024-05-13 15:27:45 +0200 <int-e> apparently they use \x.(...) for a lambda abstraction and it binds stronger than application
2024-05-13 15:28:13 +0200 <int-e> hmm, no
2024-05-13 15:28:26 +0200 <int-e> hmm, yes.
2024-05-13 15:28:26 +0200 <mauke> if your lambda calculus uses BlockArguments, then it is "wrong"
2024-05-13 15:29:30 +0200 <int-e> you can verify that if you replace each \x.( by (\x. then things make sense with a Haskell-like convention.
2024-05-13 15:29:33 +0200 <mauke> if your lambda calculus uses layout rules for lambda bodies, then it is "right", I think
2024-05-13 15:29:54 +0200 <mauke> in that a parse error will implicitly terminate the block
2024-05-13 15:31:06 +0200 <tomsmeding> % \f -> f 10 \x -> x + 1
2024-05-13 15:31:06 +0200 <yahb2> <interactive>:65:12: error: ; Unexpected lambda expression in function application: ; \ x -> x + 1 ; You could write it with parentheses ; Or perhaps you meant to enable BlockAr...
2024-05-13 15:31:11 +0200 <tomsmeding> mauke: are you sure?
2024-05-13 15:31:23 +0200 <mauke> pretty sure
2024-05-13 15:31:34 +0200 <tomsmeding> I thought GHC used layout rules :p
2024-05-13 15:31:44 +0200 <mauke> no, lambda doesn't layout in Haskell
2024-05-13 15:32:16 +0200 <tomsmeding> what does? let?
2024-05-13 15:32:25 +0200 <tomsmeding> % let f x = x + 1 in f let y = 17 in y
2024-05-13 15:32:25 +0200 <yahb2> <interactive>:67:22: error: ; Unexpected let expression in function application: ; let y = 17 in y ; You could write it with parentheses ; Or perhaps you meant to enable BlockAr...
2024-05-13 15:32:44 +0200 <mauke> I have code that is essentially: fmap (\x -> set _1 x proto) xs
2024-05-13 15:32:48 +0200 <ski> `let',`where',`do'
2024-05-13 15:33:07 +0200 <mauke> is there a way to write this as one lens expression, without the lambda/fmap?
2024-05-13 15:34:01 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 272 seconds)
2024-05-13 15:35:04 +0200 <ski> (well, `of',`\case',`\cases' too)
2024-05-13 15:35:58 +0200 <zzz> hot take: lenses are an antipattern
2024-05-13 15:36:25 +0200 <mauke> (or alternatively: fmap (\x -> proto & _1 .~ x) xs)
2024-05-13 15:36:52 +0200 <mauke> which you could @pl in the usual way, but that's just horrible
2024-05-13 15:38:37 +0200 <ski> @type (?proto & _1 .~)
2024-05-13 15:38:38 +0200 <lambdabot> error:
2024-05-13 15:38:38 +0200 <lambdabot> The operator ‘.~’ [infixr 4] of a section
2024-05-13 15:38:38 +0200 <lambdabot> must have lower precedence than that of the operand,
2024-05-13 15:39:14 +0200 <tomsmeding> cute use of implicit params
2024-05-13 15:39:18 +0200 <mauke> :t (?proto &) . (_1 .~)
2024-05-13 15:39:19 +0200 <lambdabot> (?proto::s, Field1 s c a b) => b -> c
2024-05-13 15:39:38 +0200 <ski> (imho, `(2 + 3 *)' ought to be a section for `\x -> 2 + 3 * x')
2024-05-13 15:40:02 +0200 <tomsmeding> meh, it's ambiguous whether that would be (2 + 3) * _ or 2 + (3 * _)
2024-05-13 15:40:07 +0200 <tomsmeding> it's probably better disallowed
2024-05-13 15:40:33 +0200 <mauke> proto is actually a 5-tuple
2024-05-13 15:40:39 +0200 <ski> it's as ambiguous as `2 + 3 * x' meaning either `(2 + 3) * x' or `2 + (3 * x)'
2024-05-13 15:40:59 +0200 <tomsmeding> no, because that's a syntactically valid arithmetic expression where the normal precedence rules apply
2024-05-13 15:41:33 +0200 <ski> (i have many times written `(f . g .)', only to have to change that to `((f . g) .)' alt. `(f .) . (g .)')
2024-05-13 15:41:34 +0200 <tomsmeding> for (2 + 3 *), do the precedence rules take, well, precedence (yielding 2 + (3 * _)), or does the fact that it's a section take precedence (yielding (2 + 3) * _)?
2024-05-13 15:41:41 +0200 <tomsmeding> where in the precedence hierarchy is "taking a section"?
2024-05-13 15:41:51 +0200 <tomsmeding> and does everyone agree on where it is
2024-05-13 15:41:59 +0200 <ski> "do the precedence rules take" -- yes, which would be the point
2024-05-13 15:42:41 +0200 <tomsmeding> I would personally expect the normal section behaviour to take precedence, i.e. my second option
2024-05-13 15:42:48 +0200 <tomsmeding> so our intuitions don't agree
2024-05-13 15:42:50 +0200 <ski> same precedence rules as usual, just the circumstances in which they can be applied has been extended (as opposed to interpreting it as `((2 + 3) *)', which would just be weird)
2024-05-13 15:43:06 +0200 <tomsmeding> I think that's a good reason to require this to be explicitly written down how you want it to be
2024-05-13 15:43:30 +0200 <ski> `*' binds tigher than `+', there's no reason, if allowing `(2 + 3 *)', to sidestep that
2024-05-13 15:43:48 +0200 <tomsmeding> there is -- this is special syntax for a section, which is (E op)
2024-05-13 15:43:54 +0200 <mauke> ski: how would you write that rule in a grammar?
2024-05-13 15:44:09 +0200 <tomsmeding> what would the grammar for E be, indeed
2024-05-13 15:44:28 +0200 <tomsmeding> my intuition would say that E should just be a top-level expression; this yields (2 + 3) * _
2024-05-13 15:44:48 +0200 <ski> mauke : parenthesized sequence of atomic expressions, interleaved by operators, optional operator at start, and at end
2024-05-13 15:44:49 +0200sandbag(~syscall@user/sandbag) (Ping timeout: 268 seconds)
2024-05-13 15:45:08 +0200 <tomsmeding> or rather, if we are to generalise E beyond the current definition, which is an expression at precedence level as expected on the LHS of 'op'
2024-05-13 15:45:15 +0200 <mauke> can I get that in BNF?
2024-05-13 15:45:25 +0200 <tomsmeding> ski: that's a lexing grammar, not a parsing grammar
2024-05-13 15:45:27 +0200 <tomsmeding> :p
2024-05-13 15:45:32 +0200 <ski> (then taking precedence and associativity into account in a later pass. or, if you prefer hardcoding that into the grammar, that should be doable)
2024-05-13 15:45:37 +0200 <tomsmeding> right
2024-05-13 15:45:47 +0200 <tomsmeding> I mean, GHC already does precedence and associativity in a later pass anyway
2024-05-13 15:45:57 +0200 <tomsmeding> but as a human I prefer to pretend that it doesn't
2024-05-13 15:46:12 +0200 <tomsmeding> baking the fact that it does into the syntax that the human needs to process fields weird to me
2024-05-13 15:46:31 +0200 <ski> well, it's either that, or generating grammar rules at run-time, or something like that
2024-05-13 15:46:56 +0200 <tomsmeding> my brain prefers to generate grammar rules at compile time, 'infix{,l,r}' statements being the way to do so
2024-05-13 15:48:43 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-05-13 15:48:49 +0200ystael(~ystael@user/ystael)
2024-05-13 15:48:52 +0200 <ski> > let f x y z = x * y * z where (*) = (-); infixr 6 * in f 2 3 4
2024-05-13 15:48:53 +0200 <lambdabot> 3
2024-05-13 15:49:26 +0200euleritian(~euleritia@dynamic-176-003-078-122.176.3.pool.telefonica.de)
2024-05-13 15:49:56 +0200 <tomsmeding> define an operator (*) with level 6, right-associative; then parse f as usual
2024-05-13 15:50:23 +0200 <tomsmeding> I don't think about this as "parse a token sequence for f, then reinterpret that token sequence using the infixr statement found later"
2024-05-13 15:50:32 +0200 <ski> mauke : anyway, another way to do it in a grammar, is to use Definite Clause Grammar, with ordered logic, using implicational grammar categories
2024-05-13 15:50:36 +0200 <tomsmeding> even though realistically a parser will have to do something like that
2024-05-13 15:50:42 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-05-13 15:50:52 +0200syscall1(~syscall@2401:4900:16a3:3e97:3b3e:7956:62a8:2bba)
2024-05-13 15:51:11 +0200 <ski> (there are papers about doing this, for intuitionistic, resp. linear (rather than ordered) logic, in order to capture "island constraints" in "coordination" in natural language)
2024-05-13 15:52:31 +0200dezaaltor(~dezaaltor@77-254-94-95.dynamic.inetia.pl)
2024-05-13 15:52:34 +0200syscall1(~syscall@2401:4900:16a3:3e97:3b3e:7956:62a8:2bba) (Client Quit)
2024-05-13 15:52:49 +0200dezaaltor(~dezaaltor@77-254-94-95.dynamic.inetia.pl) (Remote host closed the connection)
2024-05-13 15:54:22 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Ping timeout: 268 seconds)
2024-05-13 15:54:51 +0200dezalator(~dezalator@77-254-94-95.dynamic.inetia.pl)
2024-05-13 15:56:54 +0200dezalator(~dezalator@77-254-94-95.dynamic.inetia.pl) (Remote host closed the connection)
2024-05-13 16:01:09 +0200hueso(~root@user/hueso) (Ping timeout: 268 seconds)
2024-05-13 16:02:53 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
2024-05-13 16:03:43 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 246 seconds)
2024-05-13 16:04:12 +0200 <dmj`> https://www.wired.com/story/inside-the-cult-of-the-haskell-programmer/
2024-05-13 16:04:33 +0200zzz_(~yin@user/zero)
2024-05-13 16:04:58 +0200zzz(~yin@user/zero) (Killed (NickServ (GHOST command used by zzz_)))
2024-05-13 16:05:05 +0200zzz_zzz
2024-05-13 16:06:14 +0200xdminsy(~xdminsy@117.147.70.240) (Read error: Connection reset by peer)
2024-05-13 16:07:01 +0200xdminsy(~xdminsy@117.147.70.240)
2024-05-13 16:07:28 +0200hueso(~root@user/hueso)
2024-05-13 16:13:14 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it)
2024-05-13 16:13:56 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-05-13 16:20:58 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2024-05-13 16:30:53 +0200 <ski> "Specifying Filler-Gap Dependency Parsers in a Linear-Logic Programming Language" in 1992 at <https://repository.upenn.edu/server/api/core/bitstreams/5d453ced-e21d-46a5-9935-3f403a32b5a6/content>,"A Linear Logic Treatment of Phrase Structure Grammars For Unbounded Dependencies" in 1997-09 at <https://link.springer.com/content/pdf/10.1007/3-540-48975-4_8.pdf>, both by Joshua S. Hodas
2024-05-13 16:36:03 +0200 <ski> dmj` : amusing
2024-05-13 16:36:55 +0200hueso(~root@user/hueso) (Ping timeout: 268 seconds)
2024-05-13 16:39:56 +0200hueso(~root@user/hueso)
2024-05-13 16:46:25 +0200zzz(~yin@user/zero) (Ping timeout: 246 seconds)
2024-05-13 16:48:30 +0200zzz(~yin@user/zero)
2024-05-13 16:48:39 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it) (Remote host closed the connection)
2024-05-13 16:49:10 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it)
2024-05-13 16:52:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 16:53:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 17:05:09 +0200chele(~chele@user/chele) (Remote host closed the connection)
2024-05-13 17:10:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 17:11:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 17:14:54 +0200danse-nr3(~danse-nr3@an-19-162-214.service.infuturo.it) (Read error: Connection reset by peer)
2024-05-13 17:15:43 +0200danse-nr3(~danse-nr3@151.57.39.218)
2024-05-13 17:16:40 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Remote host closed the connection)
2024-05-13 17:16:54 +0200m1dnight(~christoph@82.146.125.185) (Quit: WeeChat 4.2.2)
2024-05-13 17:17:04 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
2024-05-13 17:17:22 +0200m1dnight(~christoph@82.146.125.185)
2024-05-13 17:17:37 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 268 seconds)
2024-05-13 17:19:17 +0200Square2(~Square4@user/square) (Ping timeout: 252 seconds)
2024-05-13 17:21:36 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-13 17:26:38 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2024-05-13 17:28:10 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.1)
2024-05-13 17:30:39 +0200sawilagar(~sawilagar@user/sawilagar) (Quit: Leaving)
2024-05-13 17:33:01 +0200 <stefan-__> I am using haskell-language-server via Emacs' lsp-mode, any idea why only a minimal documentation is shown, e.g.:
2024-05-13 17:33:04 +0200 <stefan-__> https://matrix.42dots.de/_matrix/media/v3/download/matrix.42dots.de/DiBITy1opNjoQQXCDOwuLjsM6vauzZ…
2024-05-13 17:33:11 +0200sawilagar(~sawilagar@user/sawilagar)
2024-05-13 17:33:39 +0200 <stefan-__> I would expect it to show at least the description "Render the table.", as on hackage: https://hackage.haskell.org/package/brick-2.3.1/docs/Brick-Widgets-Table.html#v:renderTable
2024-05-13 17:34:54 +0200 <stefan-__> also I followed this configuration for the cabal project: https://haskell-language-server.readthedocs.io/en/latest/configuration.html#how-to-show-local-docu…
2024-05-13 17:36:02 +0200 <c_wraith> I wonder if it's just pulling from the .hi file. That looks like what you'd get from running :info in ghci
2024-05-13 17:36:30 +0200 <c_wraith> the .hi file *can* contain documentation, but only if you've compiled the library with it enabled.
2024-05-13 17:37:45 +0200 <stefan-__> after setting the cabal config I did a "cabal haddock" not sure if that is enough
2024-05-13 17:38:31 +0200 <c_wraith> that only builds documentation for the package you're in. If you need documentation for your dependencies, you'll need to rebuild them
2024-05-13 17:40:07 +0200 <c_wraith> yeah, that page definitely implies that it's pulling info out of the .hi file. I wish that wasn't so awkward to deal with.
2024-05-13 17:40:11 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-05-13 17:40:48 +0200 <stefan-__> how do I do a rebuild of the dependencies? "cabal clean && cabal build" seems to build only my program
2024-05-13 17:40:49 +0200euleritian(~euleritia@dynamic-176-003-078-122.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
2024-05-13 17:41:06 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-13 17:42:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-13 17:42:11 +0200 <c_wraith> yeah, you'd need to wipe the directory cabal builds stuff in. I honestly don't know where that is since they started using XDG stuff. I can't find it anymore.
2024-05-13 17:42:17 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-05-13 17:43:47 +0200 <tomsmeding> stefan-__: you can enable building documentation globally always by setting the 'documentation' key in ~/.cabal/config
2024-05-13 17:44:03 +0200 <tomsmeding> but that hammer may be somewhat too large :p
2024-05-13 17:45:15 +0200 <tomsmeding> stefan-__: have you tried putting 'documentation: True' in your cabal.project for the project? (If you don't have one yet, you also need 'packages: .' in there)
2024-05-13 17:45:37 +0200 <c_wraith> tomsmeding: that doesn't build the same docs.
2024-05-13 17:45:47 +0200 <tomsmeding> _oh_
2024-05-13 17:45:51 +0200 <tomsmeding> you're right
2024-05-13 17:45:52 +0200 <stefan-__> it seems to build to "~/.cabal/store/ghc-9.8.2/"
2024-05-13 17:45:55 +0200 <tomsmeding> oops
2024-05-13 17:45:58 +0200 <tomsmeding> ignore me :)
2024-05-13 17:46:14 +0200 <stefan-__> removed that directory, now the dependencies are rebuilding :)
2024-05-13 17:46:36 +0200 <c_wraith> you still have a .cabal directory? lucky
2024-05-13 17:47:02 +0200 <dmj`> ski: they make it sound like it's frankenstein
2024-05-13 17:48:31 +0200dezalator(~dezalator@77-254-94-95.dynamic.inetia.pl)
2024-05-13 17:49:04 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 246 seconds)
2024-05-13 17:50:52 +0200 <c_wraith> ah. there it is. .local/state/cabal/store is the default if it's using XDG paths.
2024-05-13 17:54:02 +0200 <ski> dmj` : because it's blub to them
2024-05-13 17:57:29 +0200mdpete(~mdpete@46.143.107.90)
2024-05-13 17:58:09 +0200 <stefan-__> c_wraith: this helped https://github.com/haskell/haskell-language-server/issues/4210#issuecomment-2094925497 :)
2024-05-13 17:58:18 +0200urdh(~urdh@user/urdh) (Quit: Boom!)
2024-05-13 17:59:47 +0200urdh(~urdh@user/urdh)
2024-05-13 18:00:46 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-05-13 18:00:55 +0200euleritian(~euleritia@dynamic-176-003-078-122.176.3.pool.telefonica.de)
2024-05-13 18:01:46 +0200 <mdpete> I have started to learn basics of programming . I read that there is no best first programming language. I guess Haskell programmers are more into joy of programming. Would you please recommend me as a beginner what you should do if you had the chance to srtart again as a total beginner?
2024-05-13 18:01:47 +0200danse-nr3(~danse-nr3@151.57.39.218) (Ping timeout: 264 seconds)
2024-05-13 18:04:20 +0200ft(~ft@p508db8fc.dip0.t-ipconnect.de)
2024-05-13 18:07:19 +0200 <c_wraith> stefan-__: note that for whatever reason, the -haddock flag seems to make installing primitive break. It's not really fully-supported yet...
2024-05-13 18:07:59 +0200 <EvanR> mdpete, the same thing I did as a beginner. Figure out as soon as possible how to show graphics and make sounds
2024-05-13 18:08:37 +0200 <EvanR> unless you really really like processing data files
2024-05-13 18:09:32 +0200 <stefan-__> c_wraith: tnx, lets see how it goes
2024-05-13 18:15:58 +0200 <mdpete> EvanR ,would you please explain a bit more, how I can do it
2024-05-13 18:16:44 +0200 <mdpete> I just know ,variables, if statement, and lists
2024-05-13 18:17:06 +0200 <EvanR> this is haskell, so you will be doing pattern matching a lot more than "if statement"
2024-05-13 18:17:07 +0200 <mdpete> and how to define a function
2024-05-13 18:17:15 +0200 <EvanR> have you tried following a basic haskell tutorial
2024-05-13 18:18:00 +0200 <mdpete> I learned these in Python , and read some chapter of Scheme.
2024-05-13 18:18:17 +0200 <mdpete> I am self studying without any university degree
2024-05-13 18:18:49 +0200 <EvanR> the diagrams library and the gloss library are two things which can make showing some graphics easy
2024-05-13 18:19:21 +0200 <EvanR> you probably have to forget any python you know to get started in haskell
2024-05-13 18:20:07 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
2024-05-13 18:22:07 +0200dezalator(~dezalator@77-254-94-95.dynamic.inetia.pl) (Remote host closed the connection)
2024-05-13 18:24:02 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-05-13 18:24:11 +0200 <mdpete> excuse me If I ask much questions, I am very patient , and I believe in learning foundations deeply. Do you recommend to spend time to get used to how haskell force its developers think? or the easy way of python , I don't have any favorites .
2024-05-13 18:24:58 +0200 <EvanR> you're not forced to learn new things, but it's a good idea
2024-05-13 18:25:19 +0200xal(~xal@mx1.xal.systems) ()
2024-05-13 18:25:47 +0200xal(~xal@mx1.xal.systems)
2024-05-13 18:25:51 +0200 <mdpete> Thank you.
2024-05-13 18:26:51 +0200 <mdpete> which has more beginner friendly learning resources, haskell or ocamel?