2022-05-22 00:06:35 +0200 | king_gs | (~Thunderbi@2806:103e:29:5eb8:48de:d3eb:9d44:3d55) (Ping timeout: 260 seconds) |
2022-05-22 00:10:09 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-05-22 00:10:51 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-05-22 00:12:52 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-22 00:15:35 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-05-22 00:15:55 +0200 | acidjnk | (~acidjnk@p200300d0c7068b595444385bbfc30d22.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-22 00:18:05 +0200 | jlamothe | (~jlamothe@198.251.60.209) |
2022-05-22 00:20:43 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-05-22 00:20:43 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-05-22 00:20:43 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-22 00:20:48 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 00:24:16 +0200 | hololeap_ | (~hololeap@user/hololeap) |
2022-05-22 00:25:34 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-22 00:25:37 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-05-22 00:31:10 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2022-05-22 00:33:16 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-22 00:35:54 +0200 | hololeap_ | hololeap |
2022-05-22 00:40:22 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
2022-05-22 00:43:58 +0200 | julian | (~julian@20.83.116.49) (Killed (NickServ (GHOST command used by tos9_!~tos9@python/site-packages/Julian))) |
2022-05-22 00:53:02 +0200 | chomwitt | (~chomwitt@athe730-c-multi-500.home.otenet.gr) (Ping timeout: 260 seconds) |
2022-05-22 01:00:10 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 240 seconds) |
2022-05-22 01:13:05 +0200 | mmhat | (~mmh@p200300f1c7397f8cee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-22 01:20:48 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 276 seconds) |
2022-05-22 01:21:18 +0200 | sebeko__ | (uid530526@id-530526.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-05-22 01:22:58 +0200 | julian | (~julian@20.83.116.49) |
2022-05-22 01:27:46 +0200 | xacktm | (xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
2022-05-22 01:27:46 +0200 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
2022-05-22 01:27:46 +0200 | even4void | (even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com) |
2022-05-22 01:30:51 +0200 | mmhat | (~mmh@p200300f1c742cc01ee086bfffe095315.dip0.t-ipconnect.de) |
2022-05-22 01:44:40 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::ba9a) |
2022-05-22 01:49:51 +0200 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
2022-05-22 01:52:04 +0200 | even4void | (even4void@came.here.for-some.fun) |
2022-05-22 01:54:52 +0200 | HotblackDesiato_ | (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection) |
2022-05-22 01:55:35 +0200 | HotblackDesiato | (~HotblackD@gateway/tor-sasl/hotblackdesiato) |
2022-05-22 01:56:51 +0200 | xacktm | (xacktm@user/xacktm) |
2022-05-22 01:57:55 +0200 | metadave | bookshelfdave |
2022-05-22 02:00:07 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2022-05-22 02:02:10 +0200 | pfharlock | (~pfharlock@cpe-74-138-169-108.kya.res.rr.com) (Ping timeout: 240 seconds) |
2022-05-22 02:04:52 +0200 | dcoutts__ | (~duncan@host86-150-41-206.range86-150.btcentralplus.com) |
2022-05-22 02:07:10 +0200 | dcoutts_ | (~duncan@host86-150-41-206.range86-150.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-05-22 02:10:48 +0200 | romesrf | (~romes@185.5.8.134) (Quit: WeeChat 3.4.1) |
2022-05-22 02:14:42 +0200 | alp | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-05-22 02:15:20 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-05-22 02:17:44 +0200 | <sm> | jackdk: I saw your https://www.reddit.com/r/haskell/comments/uuevb1/reflexbackendsocket0201_released_ghc_902_support : |
2022-05-22 02:17:45 +0200 | <sm> | > makes Reflex an interesting potential choice for MUD servers |
2022-05-22 02:18:27 +0200 | <sm> | of course, now I must ask, are you running a haskell MUD somewhere ? |
2022-05-22 02:19:00 +0200 | <sm> | surely it's time for the haskell MUD |
2022-05-22 02:20:33 +0200 | <EvanR> | MUDs work by having a lot of scheduled or scheduled then rescheduled events that are dispatched at the correct time |
2022-05-22 02:20:55 +0200 | <EvanR> | not in response to any event at that time |
2022-05-22 02:21:07 +0200 | <EvanR> | as I understood it, it's not something reflex just does |
2022-05-22 02:21:18 +0200 | <EvanR> | could work if you try hard enough though xD |
2022-05-22 02:26:35 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
2022-05-22 02:27:08 +0200 | <exarkun> | I finally started porting my Python MUD server to Haskell a couple weeks ago |
2022-05-22 02:27:29 +0200 | <exarkun> | And I found a few simple student projects in that space as I was thinking about how to get started |
2022-05-22 02:27:38 +0200 | <exarkun> | Who wouldn't want a Haskell MUD server |
2022-05-22 02:29:59 +0200 | <exarkun> | I don't know Reflex but wouldn't an Inform-like system work well as an FRP system? |
2022-05-22 02:30:18 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-05-22 02:37:34 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
2022-05-22 02:37:58 +0200 | <sm> | go exarkun! |
2022-05-22 02:38:33 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2022-05-22 02:38:43 +0200 | <sm> | isn't Inform more about modelling using an amazing natural language DSL, than concurrency architecture ? |
2022-05-22 02:39:32 +0200 | <sm> | it would be quite interesting to hear your ongoing python vs haskell experiences |
2022-05-22 02:40:23 +0200 | <sm> | MUD-like things sure seem to love highly dynamic, hot reloading systems |
2022-05-22 02:40:36 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-22 02:43:28 +0200 | <EvanR> | yes the best is when a section can be reloaded without kicking everyone offline |
2022-05-22 02:43:55 +0200 | <EvanR> | either globally, in that area or both |
2022-05-22 02:44:42 +0200 | <EvanR> | or the MOO way and everything is sourced from a persistent database and edited in real time |
2022-05-22 02:45:41 +0200 | <sm> | multi-user adventure as a wiki. That certainly sounds possible in haskell |
2022-05-22 02:46:40 +0200 | <sm> | what would be the safe scripting language you'd let users go wild with ? |
2022-05-22 02:46:55 +0200 | <EvanR> | haskell!!!!111 |
2022-05-22 02:47:03 +0200 | <sm> | you maniac |
2022-05-22 02:47:05 +0200 | <EvanR> | ok. idris |
2022-05-22 02:47:16 +0200 | <sm> | lol |
2022-05-22 02:47:30 +0200 | <jackdk> | sm: it has been on my to-do list for ages, but no. reflex-libtelnet is built on a non-reflex binding: https://hackage.haskell.org/package/libtelnet so that could be good. I feel like reflex's `Dynamic` type is good for reloading data, but hot-loading code is hard. I never managed to write a hotboot server in straight Haskell though |
2022-05-22 02:47:31 +0200 | <sm> | I would like to see that |
2022-05-22 02:47:49 +0200 | <jackdk> | I think I would play with scripting mobs, etc, using hslua |
2022-05-22 02:48:00 +0200 | <sm> | yeah |
2022-05-22 02:48:25 +0200 | <sm> | when it gets to that point I start thinking python sounds pretty good! |
2022-05-22 02:49:08 +0200 | mmhat | (~mmh@p200300f1c742cc01ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-05-22 02:50:14 +0200 | <jackdk> | I really liked hslua when I played with it the other week, and you can use fennel if you want FP in your scripting |
2022-05-22 02:50:32 +0200 | <EvanR> | python D: |
2022-05-22 02:50:36 +0200 | <EvanR> | in a haskell MUD |
2022-05-22 02:51:12 +0200 | <sm> | fennel you say... can you use that with hslua ? |
2022-05-22 02:51:17 +0200 | <EvanR> | I used lua for a lot of mud code and... it got old |
2022-05-22 02:53:18 +0200 | <sm> | "the speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and macro system... Anywhere you can run Lua code, you can run Fennel code" |
2022-05-22 02:54:50 +0200 | spacenautx | (~spacenaut@user/spacenautx) (Ping timeout: 240 seconds) |
2022-05-22 02:55:08 +0200 | Topsi | (~Topsi@dyndsl-095-033-022-188.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2022-05-22 02:56:30 +0200 | benin | (~benin@183.82.31.141) |
2022-05-22 03:02:46 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-22 03:03:03 +0200 | img | (~img@user/img) |
2022-05-22 03:03:15 +0200 | <jackdk> | sm: http://jackkelly.name/blog/archives/2022/05/01/haskell_lua_and_fennel/index.html |
2022-05-22 03:04:09 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 276 seconds) |
2022-05-22 03:05:03 +0200 | mmhat | (~mmh@p200300f1c744a725ee086bfffe095315.dip0.t-ipconnect.de) |
2022-05-22 03:05:08 +0200 | <exarkun> | EvanR: At worst you just hand your file descriptors to a new process. |
2022-05-22 03:05:32 +0200 | <sm> | jackdk: very cool |
2022-05-22 03:07:12 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Ping timeout: 260 seconds) |
2022-05-22 03:09:12 +0200 | Infinite | (~Infinite@49.39.122.125) |
2022-05-22 03:09:39 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-05-22 03:14:08 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2022-05-22 03:22:22 +0200 | mmhat | (~mmh@p200300f1c744a725ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-22 03:23:53 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-05-22 03:30:12 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-05-22 03:32:31 +0200 | dcoutts | (~duncan@host86-150-41-206.range86-150.btcentralplus.com) |
2022-05-22 03:36:00 +0200 | dcoutts__ | (~duncan@host86-150-41-206.range86-150.btcentralplus.com) (Ping timeout: 276 seconds) |
2022-05-22 03:36:47 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-05-22 03:38:17 +0200 | mmhat | (~mmh@p200300f1c74601d3ee086bfffe095315.dip0.t-ipconnect.de) |
2022-05-22 03:38:43 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-22 03:39:15 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Client Quit) |
2022-05-22 03:42:02 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-05-22 03:50:48 +0200 | andrey_ | (~andrey@p200300dbcf4855005f41c91a08d0b9aa.dip0.t-ipconnect.de) |
2022-05-22 03:53:34 +0200 | andrey__ | (~andrey@p200300dbcf35b9009a0ab587690af4b8.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-05-22 03:55:27 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-05-22 03:55:28 +0200 | nate1 | (~nate@98.45.169.16) |
2022-05-22 03:55:50 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Quit: WeeChat 3.5) |
2022-05-22 03:56:20 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-05-22 03:57:00 +0200 | mjacob | (~mjacob@adrastea.uberspace.de) (Ping timeout: 260 seconds) |
2022-05-22 03:57:24 +0200 | mjacob | (~mjacob@adrastea.uberspace.de) |
2022-05-22 03:57:38 +0200 | Infinite | (~Infinite@49.39.122.125) (Ping timeout: 252 seconds) |
2022-05-22 03:57:59 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-05-22 04:00:10 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2022-05-22 04:00:11 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
2022-05-22 04:00:22 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-05-22 04:00:25 +0200 | zebrag | (~chris@user/zebrag) |
2022-05-22 04:06:34 +0200 | euandreh | (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) |
2022-05-22 04:17:52 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) (Remote host closed the connection) |
2022-05-22 04:22:12 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) |
2022-05-22 04:30:37 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
2022-05-22 04:33:25 +0200 | aliabrar[m] | (~aliabrarm@2001:470:69fc:105::1:2730) |
2022-05-22 04:33:51 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds) |
2022-05-22 04:34:17 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 04:34:39 +0200 | aliabrar[m] | (~aliabrarm@2001:470:69fc:105::1:2730) () |
2022-05-22 04:39:18 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-22 04:44:13 +0200 | mmhat | (~mmh@p200300f1c74601d3ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.5) |
2022-05-22 04:46:51 +0200 | xff0x | (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 276 seconds) |
2022-05-22 04:52:14 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-05-22 04:59:31 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-05-22 04:59:31 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-05-22 04:59:31 +0200 | finn_elija | FinnElija |
2022-05-22 05:03:06 +0200 | benin | (~benin@183.82.31.141) (Ping timeout: 276 seconds) |
2022-05-22 05:16:56 +0200 | frost | (~frost@user/frost) |
2022-05-22 05:18:31 +0200 | frost | (~frost@user/frost) (Client Quit) |
2022-05-22 05:18:32 +0200 | xff0x | (~xff0x@b133147.ppp.asahi-net.or.jp) |
2022-05-22 05:22:34 +0200 | frost | (~frost@user/frost) |
2022-05-22 05:24:29 +0200 | coot | (~coot@213.134.190.95) |
2022-05-22 05:25:24 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 05:27:50 +0200 | Guest54 | (~Guest54@modemcable048.16-160-184.mc.videotron.ca) |
2022-05-22 05:30:50 +0200 | <Guest54> | Can someone explain me what <> do ? is it the same as ++ to concatenate two lists ? |
2022-05-22 05:31:02 +0200 | <Guest54> | > [1,2,3] <> [4,5,6] |
2022-05-22 05:31:05 +0200 | <lambdabot> | [1,2,3,4,5,6] |
2022-05-22 05:31:12 +0200 | <Guest54> | > [1,2,3] ++ [4,5,6] |
2022-05-22 05:31:15 +0200 | <lambdabot> | [1,2,3,4,5,6] |
2022-05-22 05:31:46 +0200 | <pavonia> | (<>) is more general |
2022-05-22 05:32:06 +0200 | <pavonia> | > Just [1,2,3] <> Just [4,5,6] |
2022-05-22 05:32:08 +0200 | <lambdabot> | Just [1,2,3,4,5,6] |
2022-05-22 05:35:14 +0200 | <Guest54> | it can also be used for ordering ? |
2022-05-22 05:35:26 +0200 | <Guest54> | instance Semigroup Ordering where |
2022-05-22 05:35:26 +0200 | <Guest54> | LT <> _ = LT |
2022-05-22 05:35:27 +0200 | <Guest54> | EQ <> y = y |
2022-05-22 05:35:27 +0200 | <Guest54> | GT <> _ = GT |
2022-05-22 05:36:48 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-05-22 05:37:05 +0200 | mokee | (~mokee@37.228.215.63) (Quit: off) |
2022-05-22 05:37:44 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 05:37:46 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-05-22 05:38:48 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 244 seconds) |
2022-05-22 05:39:11 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-22 05:40:50 +0200 | <pavonia> | You can build more interesting sortings using that, but I forgot how that was done |
2022-05-22 05:42:01 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 05:42:40 +0200 | <pavonia> | > sortBy (comparing head <> comparing length) [ [7], [4,5,6], [8,9], [1,2,3] ] |
2022-05-22 05:42:42 +0200 | <lambdabot> | [[1,2,3],[4,5,6],[7],[8,9]] |
2022-05-22 05:43:06 +0200 | <pavonia> | Err |
2022-05-22 05:43:35 +0200 | <pavonia> | Not the best example, but you see the point |
2022-05-22 05:44:52 +0200 | coot | (~coot@213.134.190.95) |
2022-05-22 05:44:54 +0200 | <Guest54> | Thanks !! |
2022-05-22 05:46:19 +0200 | <Guest54> | I m actually trying to solve a problem and i m using <> in the compare. I ll try to describe the problem and give my try so it can be more clear |
2022-05-22 05:48:04 +0200 | <Guest54> | Supposing my list defined as [[Id, time, priority] , [Id, time, priority], [Id, time, priority] ... ] |
2022-05-22 05:48:04 +0200 | <Guest54> | In This exemple, i want to order my lists in an increasing way depending on the priorities and if I have two equal priorities I order them depending on the time (whoever has the greatest time comes first): |
2022-05-22 05:48:05 +0200 | <Guest54> | From this : [["43525", "5", "2"],["25545", "7", "5"],["7455", "3", "4"],["3586", "8", "2"]] |
2022-05-22 05:48:05 +0200 | <Guest54> | To this : [[3586, 8, 2], [43525, 5, 2], [7455, 3, 4], [25545, 7, 5]] |
2022-05-22 05:48:06 +0200 | <Guest54> | My try : |
2022-05-22 05:48:06 +0200 | <Guest54> | First, I convert all the strings to Int using read fucntion and mapping on all elements : |
2022-05-22 05:48:07 +0200 | <Guest54> | toSort = map (map (read :: String -> Int)) [["43525", "5", "2"],["25545", "7", "5"],["7455", "3", "4"],["3586", "8", "2"]] |
2022-05-22 05:48:07 +0200 | <Guest54> | Then i sort the lists: |
2022-05-22 05:48:08 +0200 | <Guest54> | sortLGT x y = compare (x!!2) (y!!2) -- compare priorities |
2022-05-22 05:48:08 +0200 | <Guest54> | <> compare (y!!1) (x!!1) -- compare time in descending order |
2022-05-22 05:55:41 +0200 | <dsal> | Guest54: Just put priority first. |
2022-05-22 05:55:48 +0200 | <dsal> | Then use sort. |
2022-05-22 05:57:04 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
2022-05-22 05:57:24 +0200 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) (Quit: My Ex-Girlfriend once told me: I'm not a slut, I'm just popular) |
2022-05-22 05:57:53 +0200 | <dsal> | Also, you most certainly shouldn't be using lists that way. I'm not 100% sure what you've got going on, but this looks like a case of "use the right data types and you don't have to write any code" |
2022-05-22 05:58:04 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-05-22 05:58:06 +0200 | dka | (~code-is-a@ns3059207.ip-193-70-33.eu) |
2022-05-22 05:59:35 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-22 06:00:07 +0200 | coot | (~coot@213.134.190.95) |
2022-05-22 06:00:16 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Read error: Connection reset by peer) |
2022-05-22 06:01:02 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 06:04:25 +0200 | <mjrosenb> | ok, I have a ghcjs question. I have some code like {on button click $ do my_code} |
2022-05-22 06:05:10 +0200 | <mjrosenb> | my_code has a bunch of dom manipulation in it, and some print statements |
2022-05-22 06:05:16 +0200 | <mjrosenb> | but the print statements never get executed. |
2022-05-22 06:05:24 +0200 | <mjrosenb> | and for the life of me, I can not figure out why. |
2022-05-22 06:06:58 +0200 | <mjrosenb> | technically, the print statements are {lift (putStrLn "logging")} |
2022-05-22 06:08:39 +0200 | <mjrosenb> | since for some reason I haven't 100% grokked, that bit of code is in the ReaderT foo IO monad, not just the IO monad |
2022-05-22 06:09:28 +0200 | <mjrosenb> | more confusingly, {lift (putStrLn (trace "logging" "LOGGING"))} outputs logging, but not LOGGING. |
2022-05-22 06:10:44 +0200 | <mjrosenb> | as for what I'm actually trying to do, I'm appending a bunch of nodes to a div, and I want them to appear at least somewhat incrementally |
2022-05-22 06:11:07 +0200 | <mjrosenb> | but fro whatever godawful reason, they only appear after all of the data has been put into them. |
2022-05-22 06:12:54 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::ba9a) (Ping timeout: 272 seconds) |
2022-05-22 06:14:50 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-22 06:16:28 +0200 | <EvanR> | should it be liftIO |
2022-05-22 06:16:52 +0200 | <EvanR> | if lift type checks... probably should also work |
2022-05-22 06:18:16 +0200 | <tabemann> | Guest54: that sounds like something that should use a priority queue |
2022-05-22 06:18:35 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
2022-05-22 06:19:16 +0200 | mokee | (~mokee@37.228.215.63) (Quit: off) |
2022-05-22 06:19:32 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 06:25:34 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2022-05-22 06:26:56 +0200 | mokee | (~mokee@37.228.215.63) (Quit: off) |
2022-05-22 06:27:25 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 06:29:09 +0200 | <mjrosenb> | EvanR: I just tried with liftIO, and it compiled as well, but also didn't execute the putStrLn. |
2022-05-22 06:29:59 +0200 | <mjrosenb> | I also tried {on button click $ lift $ do my_code}, assuming there was something fishy going on with the reader monad being equivalent to const for sequencing actions |
2022-05-22 06:30:08 +0200 | <mjrosenb> | but that didn't fix anything. |
2022-05-22 06:30:42 +0200 | <EvanR> | so nothing appears in the dev console, nothing appears in the terminal, and nothing appears in a random file named "stdout" |
2022-05-22 06:37:56 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-05-22 06:41:52 +0200 | dcoutts | (~duncan@host86-150-41-206.range86-150.btcentralplus.com) (Ping timeout: 260 seconds) |
2022-05-22 06:45:29 +0200 | noteness | (~noteness@user/noteness) (Remote host closed the connection) |
2022-05-22 06:45:46 +0200 | noteness | (~noteness@user/noteness) |
2022-05-22 06:47:31 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 246 seconds) |
2022-05-22 06:50:07 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 06:51:21 +0200 | Guest54 | (~Guest54@modemcable048.16-160-184.mc.videotron.ca) (Quit: Client closed) |
2022-05-22 07:15:25 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
2022-05-22 07:18:47 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
2022-05-22 07:26:46 +0200 | Infinite | (~Infinite@49.39.115.237) |
2022-05-22 07:30:19 +0200 | coot | (~coot@213.134.190.95) |
2022-05-22 07:30:25 +0200 | nate1 | (~nate@98.45.169.16) |
2022-05-22 07:31:56 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-05-22 07:40:18 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-05-22 07:44:32 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-22 07:49:03 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-05-22 07:50:25 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-05-22 07:51:37 +0200 | raym | (~raym@user/raym) (Quit: kernel update, rebooting...) |
2022-05-22 07:55:30 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds) |
2022-05-22 08:00:02 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-05-22 08:00:39 +0200 | raym | (~raym@user/raym) |
2022-05-22 08:00:44 +0200 | _mokee_ | (~mokee@37.228.215.63) |
2022-05-22 08:01:03 +0200 | _mokee_ | (~mokee@37.228.215.63) (Client Quit) |
2022-05-22 08:03:25 +0200 | ashpil | (~ashpil@98.42.126.67) |
2022-05-22 08:04:55 +0200 | slack1256 | (~slack1256@191.125.227.212) |
2022-05-22 08:06:37 +0200 | <ashpil> | So I recently started learning Haskell after wanting to do so for a while, and honestly having heard that learning it will "change the way you think about programming", after reading the first few chapters of "Learn you a Haskell", I'm feeling a bit... underwhelmed. It's possible I just haven't dove deep enough yet, but the thing is, I do have |
2022-05-22 08:06:37 +0200 | <ashpil> | somewhat significant prior functional programming experience -- not in pure languages I guess, but I've done a decent amount of OCaml, Rust, and Elixir, relying quite heavily on their functional parts. Is it possible that Haskell just doesn't have all that much to offer (in terms of learning about new ways to think as a programmer or PL design) to |
2022-05-22 08:06:38 +0200 | <ashpil> | someone like me? |
2022-05-22 08:07:59 +0200 | <slack1256> | Yeah, I think that if you already know OCAML, then haskell is not that big of a jump. |
2022-05-22 08:09:09 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 244 seconds) |
2022-05-22 08:09:35 +0200 | slac72117 | (~slack1256@191.125.99.74) |
2022-05-22 08:09:56 +0200 | <dsal> | ocaml isn't pure. Learning purity helps quite a bit. |
2022-05-22 08:10:18 +0200 | <dsal> | Haskell also is a lot… taller? Much nicer high level abstractions. |
2022-05-22 08:11:45 +0200 | <ashpil> | I understand the languages I've used aren't pure, but at least OCaml I've only ever used completely purely so I think I've had that perspective |
2022-05-22 08:12:10 +0200 | slack1256 | (~slack1256@191.125.227.212) (Ping timeout: 240 seconds) |
2022-05-22 08:12:15 +0200 | slac62079 | (~slack1256@181.43.226.229) |
2022-05-22 08:12:17 +0200 | <dsal> | I've not heard great things about LYAH, and haven't read it myself, but I'd had production ocaml a decade or so before I started doing anything serious in Haskell. |
2022-05-22 08:12:26 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 08:12:48 +0200 | slac62079 | slack1256 |
2022-05-22 08:14:10 +0200 | slac72117 | (~slack1256@191.125.99.74) (Ping timeout: 240 seconds) |
2022-05-22 08:14:34 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
2022-05-22 08:15:52 +0200 | <dsal> | I don't know what kind of work you do or what's important to you. I've kind of settled on Haskell just because it's easier than anything else I've done. |
2022-05-22 08:17:46 +0200 | <ashpil> | I guess I just wanted to learn it for this claimed "new way to think about programming" or even just from a perspective of being interested in PL design and implementation, thought it might teach me something new. But maybe I just have to dig deeper for that |
2022-05-22 08:18:12 +0200 | <dsal> | I don't know what you know, so it's hard to know how to tell what might help you. :) |
2022-05-22 08:19:22 +0200 | sabry | (~sabry@197.37.144.70) |
2022-05-22 08:20:09 +0200 | <dsal> | Do you feel that you have a pretty good understanding of some of the base classes like Functor, Applicative, Foldable, and Traversable? That stuff will get you super far. |
2022-05-22 08:20:43 +0200 | <dsal> | Oh, and Semigroup/Monoid. |
2022-05-22 08:21:47 +0200 | <dsal> | I see so much boilerplate in other languages because people can't express simple common things like `fold` |
2022-05-22 08:21:48 +0200 | <dsal> | :t fold |
2022-05-22 08:21:49 +0200 | <lambdabot> | (Foldable t, Monoid m) => t m -> m |
2022-05-22 08:22:12 +0200 | <dsal> | :t traverse |
2022-05-22 08:22:14 +0200 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
2022-05-22 08:23:15 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-22 08:24:21 +0200 | <dsal> | :t dimap |
2022-05-22 08:24:22 +0200 | <lambdabot> | Profunctor p => (a -> b) -> (c -> d) -> p b c -> p a d |
2022-05-22 08:27:13 +0200 | <ashpil> | Hmm I guess I'll keep digging deeper, then! Thanks |
2022-05-22 08:27:40 +0200 | <dsal> | I write a lot of parsers. One of the parsers I work on at work groks fixed-width format files with fixed-width fields within a fixed line. The parser is constructed such that the data type contains the length of a line such that the *implementation* of a row parser composes field parsers whose length must equal the total length of the line. |
2022-05-22 08:29:11 +0200 | <dsal> | e.g., `parseRow :: Parser 30; parseRow = parseFifteenCharacterField *> parseTenCharacterField` won't compile because the sum of those field parsers won't consume 30 characters. |
2022-05-22 08:30:04 +0200 | <dsal> | Same for serialization. If you try to emit something other than 30 characters, you'd get a compiler error. That stuff is nice. |
2022-05-22 08:31:18 +0200 | <dsal> | It's controversial, but I like slightly non-trivial profunctor lenses, as well. Seeing how that stuff's defined and how they compose is pretty hard to do elsewhere. |
2022-05-22 08:31:54 +0200 | ashpil | (~ashpil@98.42.126.67) (Ping timeout: 252 seconds) |
2022-05-22 08:34:08 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 272 seconds) |
2022-05-22 08:46:16 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Remote host closed the connection) |
2022-05-22 08:53:44 +0200 | acidjnk | (~acidjnk@p200300d0c7068b45e4e7c1a76966715b.dip0.t-ipconnect.de) |
2022-05-22 08:58:30 +0200 | Chai-T-Rex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-05-22 08:58:46 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 246 seconds) |
2022-05-22 09:01:34 +0200 | Chai-T-Rex | (~ChaiTRex@user/chaitrex) |
2022-05-22 09:04:44 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) |
2022-05-22 09:06:00 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 09:14:29 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-05-22 09:15:36 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-05-22 09:25:54 +0200 | slack1256 | (~slack1256@181.43.226.229) (Remote host closed the connection) |
2022-05-22 09:26:50 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 240 seconds) |
2022-05-22 09:29:46 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 09:31:29 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 09:36:03 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 256 seconds) |
2022-05-22 09:37:48 +0200 | syntactic_sugar | (~amoljha@2601:644:8000:6640::d839) |
2022-05-22 09:39:12 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-05-22 09:43:27 +0200 | syntactic_sugar | (~amoljha@2601:644:8000:6640::d839) (Quit: WeeChat 3.4.1) |
2022-05-22 09:46:00 +0200 | coot | (~coot@213.134.190.95) |
2022-05-22 09:48:15 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-22 09:49:58 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 09:50:01 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-05-22 09:50:13 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-05-22 09:55:12 +0200 | dsrt^ | (~dsrt@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 272 seconds) |
2022-05-22 10:06:15 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) (Remote host closed the connection) |
2022-05-22 10:07:33 +0200 | benin | (~benin@183.82.31.141) |
2022-05-22 10:10:17 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-05-22 10:10:34 +0200 | lagooned | (~lagooned@108-208-149-42.lightspeed.hstntx.sbcglobal.net) (Ping timeout: 244 seconds) |
2022-05-22 10:20:50 +0200 | mokee | (~mokee@37.228.215.63) (Quit: off) |
2022-05-22 10:21:20 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-05-22 10:22:23 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-05-22 10:28:43 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 246 seconds) |
2022-05-22 10:33:09 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-05-22 10:33:28 +0200 | sabry | (~sabry@197.37.144.70) (Quit: Client closed) |
2022-05-22 10:38:06 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) |
2022-05-22 10:38:23 +0200 | <sm> | you know how haskell programs usually fail with text decoding errors, if you read non-ascii text with LANG= or so ? |
2022-05-22 10:39:20 +0200 | <sm> | on linux, that is easy to reproduce. On mac today I can't seem to break it this way, no matter what I set LANG or LC_ALL to. Any idea why that could be ? |
2022-05-22 10:39:21 +0200 | <Hecate> | sm: hmm, Bodigrim opened a ticket about the message on the GHC tracker not so long ago |
2022-05-22 10:39:31 +0200 | <Hecate> | hmm |
2022-05-22 10:40:05 +0200 | <Hecate> | for mac I'm unable to help in a practical way, I don't own one |
2022-05-22 10:41:23 +0200 | <sm> | some magic on mac ? I should check #ghc maybe |
2022-05-22 10:41:45 +0200 | <sm> | oops already did |
2022-05-22 10:42:41 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-05-22 10:45:15 +0200 | <Hecate> | sm: does "strace" reveal something? |
2022-05-22 10:45:57 +0200 | <sm> | unfortunately that's not a usable thing on mac |
2022-05-22 10:48:18 +0200 | <Rembane> | Is there a mactrace on mac? |
2022-05-22 10:48:26 +0200 | <sm> | ok I got dtruss to run, but no it doesn't reveal anything (to me) |
2022-05-22 10:51:03 +0200 | emad | (~emad@156.214.61.111) |
2022-05-22 10:52:12 +0200 | <sm> | ok yes I think this shows ghc locale is unaffected by the usual env vars, on mac: |
2022-05-22 10:52:13 +0200 | <sm> | $ LC_ALL= ghc -e 'import System.IO' -e 'print localeEncoding' |
2022-05-22 10:52:13 +0200 | <sm> | UTF-8 |
2022-05-22 10:52:42 +0200 | <jackdk> | sm: someone made a with-utf8 package to do all the magic twiddling, if you wrap `main` with it |
2022-05-22 10:53:18 +0200 | <sm> | I just started using that, it's exactly what I want to test (I hope to see it fail with the old code and pass with the new) |
2022-05-22 10:53:47 +0200 | <sm> | ironic, this has been breaking for so many years now I can't break it |
2022-05-22 10:56:46 +0200 | <sm> | the encoding seems to be read from c here: https://hackage.haskell.org/package/base-4.16.1.0/docs/src/GHC-IO-Encoding-Iconv.html#localeEncodi… |
2022-05-22 10:57:52 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-05-22 10:59:18 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:cc00:630a:df82:afd2:eb70) |
2022-05-22 11:00:17 +0200 | yosef36 | (~yosefweis@2001:470:69fc:105::1:e501) (Quit: You have been kicked for being idle) |
2022-05-22 11:02:04 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-05-22 11:02:14 +0200 | Vajb | (~Vajb@2001:999:231:409f:b036:bb6b:e334:8a8e) |
2022-05-22 11:02:33 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 11:03:08 +0200 | shriekingnoise_ | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-05-22 11:04:31 +0200 | mokee | (~mokee@37.228.215.63) (Client Quit) |
2022-05-22 11:04:32 +0200 | <Maxdamantus> | sm: what happens when you set `LC_ALL=C` ? |
2022-05-22 11:05:05 +0200 | <sm> | $ LC_ALL=C ghc -e 'import System.IO' -e 'print localeEncoding' |
2022-05-22 11:05:05 +0200 | <sm> | UTF-8 |
2022-05-22 11:05:35 +0200 | <Maxdamantus> | Maybe LC_ALL is a glibc thing. |
2022-05-22 11:06:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) |
2022-05-22 11:09:18 +0200 | <Maxdamantus> | Hm, no, it seems to be standardised in POSIX. |
2022-05-22 11:11:02 +0200 | <Maxdamantus> | What happens if you do `echo 'á' | LC_ALL=C grep -o ^.`? |
2022-05-22 11:11:50 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) (Ping timeout: 272 seconds) |
2022-05-22 11:13:08 +0200 | <sm> | $ echo 'á' | LC_ALL=C grep -o ^. |
2022-05-22 11:13:08 +0200 | <sm> | � |
2022-05-22 11:13:28 +0200 | <Maxdamantus> | So it works there. |
2022-05-22 11:13:39 +0200 | <amongas666[m]> | @compose pl undo [ [ x | x <- xs, even x ] | xs <- xxs] |
2022-05-22 11:13:40 +0200 | <lambdabot> | (line 1, column 29): |
2022-05-22 11:13:40 +0200 | <lambdabot> | unexpected "{" |
2022-05-22 11:13:40 +0200 | <lambdabot> | expecting variable, "(", operator or ")" |
2022-05-22 11:13:58 +0200 | <sm> | yeah.. that's a C program. It's ghc-compiled programs I seem to be having trouble with |
2022-05-22 11:16:42 +0200 | <sm> | oh well, time to sleep. Thanks, all |
2022-05-22 11:18:25 +0200 | benin | (~benin@183.82.31.141) (Ping timeout: 246 seconds) |
2022-05-22 11:19:10 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) |
2022-05-22 11:19:31 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-05-22 11:19:55 +0200 | romesrf | (~romes@185.5.8.134) |
2022-05-22 11:22:19 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-05-22 11:24:36 +0200 | Infinite | (~Infinite@49.39.115.237) (Ping timeout: 252 seconds) |
2022-05-22 11:25:59 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Quit: leaving) |
2022-05-22 11:28:53 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 11:29:50 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-05-22 11:31:47 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds) |
2022-05-22 11:38:18 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
2022-05-22 11:39:10 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 240 seconds) |
2022-05-22 11:44:36 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds) |
2022-05-22 11:48:34 +0200 | mokee | (~mokee@37.228.215.63) (Quit: off) |
2022-05-22 11:49:18 +0200 | king_gs | (~Thunderbi@187.201.97.18) |
2022-05-22 11:52:43 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) |
2022-05-22 11:54:37 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 11:59:54 +0200 | king_gs | (~Thunderbi@187.201.97.18) (Quit: king_gs) |
2022-05-22 12:02:19 +0200 | mokee | (~mokee@37.228.215.63) (Quit: off) |
2022-05-22 12:02:35 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 12:06:46 +0200 | co-JOMBLO-38-CAR | (~co-JOMBLO@92.223.85.241) |
2022-05-22 12:07:50 +0200 | MajorBiscuit | (~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 240 seconds) |
2022-05-22 12:07:54 +0200 | mmhat | (~mmh@p200300f1c74601d3ee086bfffe095315.dip0.t-ipconnect.de) |
2022-05-22 12:15:26 +0200 | <[exa]> | if I for whatever wicked reason want to build dynamic executables with cabal, what's the way to go? I found `executable-dynamic: True` but that just doesn't do anything despite documented |
2022-05-22 12:16:12 +0200 | <sm> | isn't that the default kind of build ? |
2022-05-22 12:16:24 +0200 | <[exa]> | ok solved, I needed to pass it to `cabal configure` as a flag. |
2022-05-22 12:16:42 +0200 | <[exa]> | thanks #haskell for rubberducking :] |
2022-05-22 12:16:55 +0200 | <[exa]> | sm: I thought everything is built as static by default, no? |
2022-05-22 12:17:04 +0200 | <sm> | I thought the reverse |
2022-05-22 12:17:08 +0200 | <[exa]> | (at least the binary sizes kinda tell that tale |
2022-05-22 12:17:18 +0200 | <sm> | usually people are working hard to make things static |
2022-05-22 12:17:58 +0200 | <[exa]> | weird |
2022-05-22 12:18:09 +0200 | <sm> | I guess the usual default is somewhere in the middle.. neither fully dynamic nor fully static |
2022-05-22 12:18:17 +0200 | <[exa]> | yeah I'd suspect that |
2022-05-22 12:18:38 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-05-22 12:18:44 +0200 | sm | installs ghc 9.4 alpha with amazing ease, thanks ghcup! |
2022-05-22 12:18:44 +0200 | sm | https://discourse.haskell.org/t/ghc-9-4-1-alpha1-is-now-available/4455/6?u=simonmic |
2022-05-22 12:19:26 +0200 | <[exa]> | ah yeah really, it only packs the haskell libraries as static, and system/C-ish stuff stays dynamic |
2022-05-22 12:19:53 +0200 | <[exa]> | mildly confusing, thanks for clarification :] |
2022-05-22 12:20:24 +0200 | <maerwald> | static is the default (for haskell libraries) |
2022-05-22 12:20:32 +0200 | <maerwald> | C libraries is a different topic |
2022-05-22 12:20:58 +0200 | <[exa]> | btw what's new in 9.4? |
2022-05-22 12:21:19 +0200 | <sm> | https://discourse.haskell.org/t/ghc-9-4-1-alpha1-is-now-available/4455 tells |
2022-05-22 12:21:29 +0200 | <[exa]> | maerwald: yeah on the second look it is perfectly logical this way, one only kinda doesn't assume the half-static state |
2022-05-22 12:21:57 +0200 | <sm> | and by the way discourse is awesome, I don't know why I'm still messing around with reddit |
2022-05-22 12:21:59 +0200 | <maerwald> | yes, because C has stable ABI |
2022-05-22 12:22:46 +0200 | mmhat | (~mmh@p200300f1c74601d3ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-05-22 12:25:54 +0200 | <[exa]> | oh lovely, 150kb binary |
2022-05-22 12:26:10 +0200 | <sm> | woah |
2022-05-22 12:26:26 +0200 | <[exa]> | (I've got a pandoc on the same system image, so 99.9% of libraries are really shared) |
2022-05-22 12:29:10 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-05-22 12:32:50 +0200 | co-JOMBLO-38-CAR | (~co-JOMBLO@92.223.85.241) (Remote host closed the connection) |
2022-05-22 12:35:58 +0200 | cosmos1 | (cosmos@user/cosmos1) |
2022-05-22 12:39:47 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-05-22 12:40:43 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-05-22 12:45:32 +0200 | <maerwald> | [exa]: shipping dynamically linked haskell binaries isn't too hard either |
2022-05-22 12:45:59 +0200 | <maerwald> | but doesn't make much sense for most cases |
2022-05-22 12:50:13 +0200 | <[exa]> | yeah, I'm building completely closed and intact system images actually, and they should be small so copying the static libs would be a complete waste |
2022-05-22 12:51:01 +0200 | benin | (~benin@183.82.31.141) |
2022-05-22 12:55:31 +0200 | zincy | (~zincy@2a00:23c8:970c:4801:2054:62a8:f46a:a313) |
2022-05-22 13:05:46 +0200 | mmhat | (~mmh@p200300f1c74601d3ee086bfffe095315.dip0.t-ipconnect.de) |
2022-05-22 13:07:14 +0200 | Infinite | (~Infinite@49.39.118.171) |
2022-05-22 13:07:54 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-22 13:08:46 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) |
2022-05-22 13:09:20 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 13:13:30 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) (Ping timeout: 260 seconds) |
2022-05-22 13:27:07 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-22 13:32:05 +0200 | cosmos1_ | (cosmos@user/cosmos1) |
2022-05-22 13:32:28 +0200 | dcoutts | (~duncan@host213-122-143-3.range213-122.btcentralplus.com) |
2022-05-22 13:33:04 +0200 | acidjnk | (~acidjnk@p200300d0c7068b45e4e7c1a76966715b.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2022-05-22 13:34:10 +0200 | cosmos1 | (cosmos@user/cosmos1) (Ping timeout: 240 seconds) |
2022-05-22 13:41:19 +0200 | Vajb | (~Vajb@2001:999:231:409f:b036:bb6b:e334:8a8e) (Read error: Connection reset by peer) |
2022-05-22 13:41:43 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-05-22 13:58:03 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-22 14:02:43 +0200 | Infinite | (~Infinite@49.39.118.171) (Quit: Client closed) |
2022-05-22 14:15:07 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
2022-05-22 14:17:00 +0200 | alp | (~alp@user/alp) |
2022-05-22 14:20:42 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
2022-05-22 14:22:23 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-05-22 14:28:22 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
2022-05-22 14:38:30 +0200 | zincy | (~zincy@2a00:23c8:970c:4801:2054:62a8:f46a:a313) (Remote host closed the connection) |
2022-05-22 14:48:00 +0200 | Infinite | (~Infinite@49.39.123.254) |
2022-05-22 14:55:40 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-05-22 14:55:53 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-05-22 15:02:48 +0200 | causal | (~user@50.35.83.177) (Quit: WeeChat 3.5) |
2022-05-22 15:10:20 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) |
2022-05-22 15:11:58 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-05-22 15:14:53 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) (Ping timeout: 244 seconds) |
2022-05-22 15:18:08 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 15:18:15 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-22 15:18:57 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 15:22:02 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-05-22 15:23:00 +0200 | alp | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-05-22 15:23:46 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2022-05-22 15:30:46 +0200 | xff0x | (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 246 seconds) |
2022-05-22 15:33:31 +0200 | xff0x | (~xff0x@b133147.ppp.asahi-net.or.jp) |
2022-05-22 15:38:09 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 276 seconds) |
2022-05-22 15:43:39 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 15:44:02 +0200 | mmhat | (~mmh@p200300f1c74601d3ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.5) |
2022-05-22 15:47:34 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2022-05-22 15:47:41 +0200 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2022-05-22 15:51:54 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-22 15:59:32 +0200 | Josh | (~Josh@216.154.3.96) |
2022-05-22 16:00:18 +0200 | <raehik> | Where's the definition for Natural in GHC pre-9.2? New one is in ghc-bignum in GHC.Num.Natural |
2022-05-22 16:00:59 +0200 | <raehik> | ahh found it, GHC.Natural |
2022-05-22 16:08:13 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-05-22 16:08:46 +0200 | mokee | (~mokee@37.228.215.63) (Quit: off) |
2022-05-22 16:09:09 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 16:10:07 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-05-22 16:10:18 +0200 | mokee | (~mokee@37.228.215.63) (Client Quit) |
2022-05-22 16:12:40 +0200 | ubert | (~Thunderbi@p200300ecdf3b995b118dba1cd1127f24.dip0.t-ipconnect.de) |
2022-05-22 16:13:19 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) |
2022-05-22 16:13:26 +0200 | mokee | (~mokee@37.228.215.63) |
2022-05-22 16:14:23 +0200 | mokee | (~mokee@37.228.215.63) (Client Quit) |
2022-05-22 16:15:52 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
2022-05-22 16:17:50 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) (Ping timeout: 260 seconds) |
2022-05-22 16:25:42 +0200 | <Bulby[m]> | why is `foo *> pure bar` equivilant to `foo $> bar` |
2022-05-22 16:25:57 +0200 | <Bulby[m]> | or why does hlint suggest it |
2022-05-22 16:28:29 +0200 | <hpc> | :t \foo bar -> foo *> pure bar |
2022-05-22 16:28:30 +0200 | <lambdabot> | Applicative f => f a -> b -> f b |
2022-05-22 16:28:34 +0200 | <hpc> | :t \foo bar -> foo $> bar |
2022-05-22 16:28:35 +0200 | <lambdabot> | error: |
2022-05-22 16:28:35 +0200 | <lambdabot> | • Variable not in scope: ($>) :: t -> t1 -> t2 |
2022-05-22 16:28:35 +0200 | <lambdabot> | • Perhaps you meant one of these: |
2022-05-22 16:29:10 +0200 | <hpc> | @let import Data.Functor |
2022-05-22 16:29:11 +0200 | <hpc> | :t \foo bar -> foo $> bar |
2022-05-22 16:29:12 +0200 | <lambdabot> | Defined. |
2022-05-22 16:29:13 +0200 | <lambdabot> | Functor f => f a -> b -> f b |
2022-05-22 16:29:34 +0200 | <Bulby[m]> | ah, so basically the same... |
2022-05-22 16:29:40 +0200 | <hpc> | yep |
2022-05-22 16:29:44 +0200 | <Bulby[m]> | :t \foo bar -> foo *> bar |
2022-05-22 16:29:45 +0200 | <lambdabot> | Applicative f => f a -> f b -> f b |
2022-05-22 16:30:18 +0200 | <Bulby[m]> | `$>` just takes a normal value |
2022-05-22 16:30:57 +0200 | <Bulby[m]> | they behave the same right? `fmap . const` doesn't sound identical to `foo *> pure bar` |
2022-05-22 16:31:35 +0200 | <Franciman> | :t fmap . const |
2022-05-22 16:31:37 +0200 | <lambdabot> | Functor f => b -> f a -> f b |
2022-05-22 16:31:48 +0200 | <hpc> | :t (*>) |
2022-05-22 16:31:49 +0200 | <lambdabot> | Applicative f => f a -> f b -> f b |
2022-05-22 16:32:05 +0200 | <hpc> | (*>) already has that const-ish behavior |
2022-05-22 16:32:11 +0200 | <Franciman> | yes |
2022-05-22 16:32:13 +0200 | <hpc> | you just need to take a thing of type b (or a) |
2022-05-22 16:32:16 +0200 | <hpc> | and make it fit f b |
2022-05-22 16:32:22 +0200 | <Franciman> | `fmap . const` seems equal to (<$) |
2022-05-22 16:32:29 +0200 | <Franciman> | :t (<$) |
2022-05-22 16:32:30 +0200 | <lambdabot> | Functor f => a -> f b -> f a |
2022-05-22 16:33:04 +0200 | <Bulby[m]> | wait, so `[1, 2, 3] *> pure 4 -- [4, 4, 4]` is correct? |
2022-05-22 16:33:51 +0200 | <Franciman> | it should be [4] i think? |
2022-05-22 16:33:56 +0200 | <Bulby[m]> | it is! |
2022-05-22 16:34:00 +0200 | <Franciman> | > [1, 2, 3] *> pure 4 |
2022-05-22 16:34:02 +0200 | <lambdabot> | [4,4,4] |
2022-05-22 16:34:08 +0200 | <Franciman> | you are correct Bulby[m] |
2022-05-22 16:34:21 +0200 | <Bulby[m]> | wow, they are identical! amazing |
2022-05-22 16:34:26 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-22 16:35:39 +0200 | <Bulby[m]> | which is why i assume hlint always reccomends replacing `foo *> pure bar` with `foo $> bar` |
2022-05-22 16:35:46 +0200 | <Franciman> | yes |
2022-05-22 16:38:18 +0200 | coot | (~coot@213.134.190.95) |
2022-05-22 16:38:25 +0200 | <Bulby[m]> | is that a convention? |
2022-05-22 16:38:36 +0200 | <Franciman> | wait, which one? |
2022-05-22 16:38:43 +0200 | <Bulby[m]> | it's not stated in docs |
2022-05-22 16:38:48 +0200 | <Bulby[m]> | them being equivilant |
2022-05-22 16:38:48 +0200 | <Franciman> | using $> over foo *> pure bar |
2022-05-22 16:38:53 +0200 | <Franciman> | ah |
2022-05-22 16:38:55 +0200 | <Franciman> | uhm |
2022-05-22 16:39:00 +0200 | <hpc> | yeah, more or less |
2022-05-22 16:39:14 +0200 | <hpc> | if two things are the same, prefer the more generic one |
2022-05-22 16:39:20 +0200 | <hpc> | plus it's just simpler to write |
2022-05-22 16:39:36 +0200 | <Franciman> | https://hackage.haskell.org/package/base-4.16.1.0/docs/Data-Functor.html#v:-60--36- |
2022-05-22 16:39:45 +0200 | <Franciman> | it's written here that the default efinition of <$ is fmap . const |
2022-05-22 16:39:51 +0200 | <hpc> | :t mapM |
2022-05-22 16:39:52 +0200 | <lambdabot> | (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) |
2022-05-22 16:40:00 +0200 | <Franciman> | but you can change it, yeah |
2022-05-22 16:40:04 +0200 | <Franciman> | this is true |
2022-05-22 16:40:08 +0200 | <Bulby[m]> | I don't see the signifigance of that lol |
2022-05-22 16:40:19 +0200 | <Bulby[m]> | :t fmap . const |
2022-05-22 16:40:20 +0200 | <lambdabot> | Functor f => b -> f a -> f b |
2022-05-22 16:40:27 +0200 | <Franciman> | (<$) = fmap . const |
2022-05-22 16:40:35 +0200 | <Franciman> | by default |
2022-05-22 16:40:41 +0200 | <Franciman> | if you implement a functor instance |
2022-05-22 16:40:45 +0200 | <Franciman> | and define fmap |
2022-05-22 16:40:52 +0200 | <hpc> | :t liftM -- rather |
2022-05-22 16:40:53 +0200 | <Franciman> | then (<$) = fmap . const, by default |
2022-05-22 16:40:53 +0200 | <lambdabot> | Monad m => (a1 -> r) -> m a1 -> m r |
2022-05-22 16:40:57 +0200 | <hpc> | :t liftA |
2022-05-22 16:40:59 +0200 | <lambdabot> | Applicative f => (a -> b) -> f a -> f b |
2022-05-22 16:40:59 +0200 | <hpc> | :t fmap |
2022-05-22 16:41:01 +0200 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
2022-05-22 16:41:22 +0200 | <hpc> | each of those is the same function, but using fmap is recommended because more types are Functor than are Monad |
2022-05-22 16:41:32 +0200 | <hpc> | and every Monad is also Functor |
2022-05-22 16:42:04 +0200 | <Bulby[m]> | liftA looks like it is described to only be used for deriving a Functor instance from a Applicative instance |
2022-05-22 16:42:58 +0200 | <geekosaur> | liftA is more or less generalized liftM, which historicallyexisted only to recover a Functor from a Monad because it wasn't a superclass yet |
2022-05-22 16:43:20 +0200 | <geekosaur> | and completes the liftAn set |
2022-05-22 16:43:49 +0200 | <Bulby[m]> | i'm saying it's docs say it's used for making a functor instance from an applicative instance |
2022-05-22 16:44:32 +0200 | <geekosaur> | that doesn't actually make any sense because anything that is Applicative is also functor (and has been for the entire existence of Applicative) |
2022-05-22 16:44:58 +0200 | <Bulby[m]> | ... why does liftA exist at all then |
2022-05-22 16:45:01 +0200 | <geekosaur> | guessing the doc was copied from liftM where that was true for s/Applicative/Monad/ |
2022-05-22 16:46:11 +0200 | hololeap | can't wait for the release of liftA4 |
2022-05-22 16:46:19 +0200 | <Bulby[m]> | \o/ |
2022-05-22 16:46:32 +0200 | <hpc> | someday when we have the technology for it, we might even get liftA5 |
2022-05-22 16:46:48 +0200 | <hololeap> | O_O |
2022-05-22 16:46:51 +0200 | <Bulby[m]> | ez `liftA4 f a b c d = liftA3 f a b c <*> d` |
2022-05-22 16:47:04 +0200 | <hololeap> | stop that sorcery |
2022-05-22 16:47:25 +0200 | <hpc> | yeah, what do you think we do here, functional programming? :P |
2022-05-22 16:47:40 +0200 | <Bulby[m]> | `liftA5 f a b c d e = liftA4 f a b c d <*> e` |
2022-05-22 16:47:59 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-05-22 16:48:00 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-05-22 16:48:00 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-22 16:48:33 +0200 | <hololeap> | Bulby[m]: plz stop, you're scaring me :( |
2022-05-22 16:48:35 +0200 | <Bulby[m]> | https://hackage.haskell.org/package/base-4.16.1.0/docs/Control-Monad.html#v:liftM5 explain this |
2022-05-22 16:48:36 +0200 | kenaryn | (~aurele@89-88-44-27.abo.bbox.fr) |
2022-05-22 16:49:22 +0200 | <hololeap> | I assume liftM5 is a holdover from before (<*>) was a thing |
2022-05-22 16:50:31 +0200 | <Bulby[m]> | we have fun here |
2022-05-22 16:51:23 +0200 | <hpc> | you could still use `ap` but much like lisp and perl programmers, we love pressing the shfit key :D |
2022-05-22 16:55:52 +0200 | romes[m] | (~romesmatr@2001:470:69fc:105::2:1660) |
2022-05-22 16:58:43 +0200 | zebrag | (~chris@user/zebrag) |
2022-05-22 16:58:54 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-22 16:59:29 +0200 | <geekosaur> | yeh, Monad goes up to liftM6, but also had `ap` which became `<*>` when Applicative arrived |
2022-05-22 16:59:43 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 17:00:05 +0200 | emad | (~emad@156.214.61.111) (Remote host closed the connection) |
2022-05-22 17:06:53 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2022-05-22 17:09:02 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-22 17:10:25 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) |
2022-05-22 17:11:57 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 17:13:59 +0200 | tubogram44 | (~tubogram@user/tubogram) |
2022-05-22 17:14:02 +0200 | alp | (~alp@user/alp) |
2022-05-22 17:14:44 +0200 | tubogram4 | (~tubogram@user/tubogram) (Ping timeout: 240 seconds) |
2022-05-22 17:14:44 +0200 | tubogram44 | tubogram4 |
2022-05-22 17:15:59 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-22 17:16:48 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 17:18:57 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-22 17:19:05 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: Textual IRC Client: www.textualapp.com) |
2022-05-22 17:20:29 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2022-05-22 17:21:51 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-05-22 17:21:51 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-05-22 17:22:08 +0200 | fryguybo1 | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Quit: leaving) |
2022-05-22 17:25:49 +0200 | romesrf | (~romes@185.5.8.134) (Ping timeout: 256 seconds) |
2022-05-22 17:27:12 +0200 | gensyst | (gensyst@user/gensyst) |
2022-05-22 17:27:50 +0200 | <gensyst> | How can this code possibly be type-checking? (Why can I wrap a pointer to something into that something all over again??) let e = (C.Cairo (undefined :: Ptr C.Cairo) :: C.Cairo) |
2022-05-22 17:29:20 +0200 | <geekosaur> | because Ptr is not really a pointer to something in the C sense |
2022-05-22 17:29:50 +0200 | <geekosaur> | it's a pointer to some value from C, and the type is more of a tag than anything else |
2022-05-22 17:29:51 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 17:29:53 +0200 | <Bulby[m]> | it's a magic type basically iirc |
2022-05-22 17:30:03 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-05-22 17:30:22 +0200 | <geekosaur> | the actual thing it's pointing to is some C structure that you typically can't represent directly in Haskell |
2022-05-22 17:30:58 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2022-05-22 17:31:11 +0200 | <geekosaur> | (well, in this case it's pointing to nothing because it's using `undefined`, so you can think of it as a null pointer) |
2022-05-22 17:31:57 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2022-05-22 17:32:05 +0200 | sabry | (~sabry@197.37.144.70) |
2022-05-22 17:32:05 +0200 | <gensyst> | wtf lol |
2022-05-22 17:32:21 +0200 | <Bulby[m]> | i hate C externs |
2022-05-22 17:32:30 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-05-22 17:32:34 +0200 | <Bulby[m]> | in all sorts of languages they are nothing but witchcraft |
2022-05-22 17:32:41 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit) |
2022-05-22 17:33:00 +0200 | <gensyst> | geekosaur, so what is e in my example? the underlying thing being pointed at? |
2022-05-22 17:33:26 +0200 | <geekosaur> | I don't know what C.Cairo is, aside from "a constructor" |
2022-05-22 17:33:53 +0200 | <geekosaur> | the constructor contains what amounts to a null pointer |
2022-05-22 17:34:21 +0200 | <Bulby[m]> | you are never supposed to make your own pointers I think |
2022-05-22 17:34:34 +0200 | <Bulby[m]> | you just use `Ptr` as a type sig for extern functions |
2022-05-22 17:34:53 +0200 | <geekosaur> | it's valid to pass a Ptr around. |
2022-05-22 17:35:09 +0200 | <geekosaur> | I would question why it uses undefined instead of nullPtr, but that's just me |
2022-05-22 17:35:10 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 240 seconds) |
2022-05-22 17:35:25 +0200 | <Bulby[m]> | yes, but you shouldn't create them manually, aside from in C |
2022-05-22 17:35:32 +0200 | <geekosaur> | unless they want an exception if it's touched, which might be reasonable |
2022-05-22 17:35:33 +0200 | <gensyst> | geekosaur, if I write this instead, let e = (C.Cairo (undefined :: Ptr Int) :: C.Cairo) I get the error "Couldn't match type ‘Int’ with ‘C.Cairo’". So we know this C.Cairo constructor is indeed expecting a Ptr C.Cairo lol? |
2022-05-22 17:35:40 +0200 | frost | (~frost@user/frost) (Ping timeout: 252 seconds) |
2022-05-22 17:35:40 +0200 | <gensyst> | it's expecting a pointer to itself! |
2022-05-22 17:35:44 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Client Quit) |
2022-05-22 17:35:45 +0200 | <geekosaur> | like I told you, it's a tag |
2022-05-22 17:35:47 +0200 | <Bulby[m]> | It's a phantom type |
2022-05-22 17:35:55 +0200 | <geekosaur> | no, it is not pointing to itself |
2022-05-22 17:35:57 +0200 | <Bulby[m]> | or a tag |
2022-05-22 17:36:01 +0200 | <geekosaur> | a Ptr Foo is not a Foo |
2022-05-22 17:36:33 +0200 | <geekosaur> | its representation is the address of something. the type is ignored except for type checking purposes |
2022-05-22 17:36:44 +0200 | <geekosaur> | so you can't mix it with a Ptr Int |
2022-05-22 17:37:17 +0200 | <Bulby[m]> | C pointers are similar, no? you can (unsafely) cast them however your heart desires |
2022-05-22 17:37:33 +0200 | <geekosaur> | there is an unsafe cast operation, in fact |
2022-05-22 17:37:51 +0200 | <geekosaur> | but in the normal case you can't in Haskell, the type must match |
2022-05-22 17:37:51 +0200 | <Bulby[m]> | unsafe coerce in haskell right |
2022-05-22 17:38:06 +0200 | <geekosaur> | don't even need that, there is castPtr |
2022-05-22 17:38:18 +0200 | <Bulby[m]> | oh |
2022-05-22 17:38:21 +0200 | <Bulby[m]> | yuck |
2022-05-22 17:38:50 +0200 | <Bulby[m]> | i'm proud of myself, I wrote C++ externs that don't segfault |
2022-05-22 17:39:11 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 17:39:19 +0200 | <gensyst> | Thanks for the above! I'll have to sleep on this a bit and get back to this when I'm more focused. |
2022-05-22 17:40:01 +0200 | <Bulby[m]> | Polysemy is being mean - it isn't letting me use `note` even though the Sem I return has `Error` in it's members list |
2022-05-22 17:40:21 +0200 | <Bulby[m]> | `polysemyHelp :: P.Sem [P.Fail, P.Error T.Text] VersionInfo` |
2022-05-22 17:40:51 +0200 | <Bulby[m]> | this is a helper function btw |
2022-05-22 17:40:58 +0200 | <Bulby[m]> | which is why it's hardcodec |
2022-05-22 17:41:01 +0200 | <Bulby[m]> | s/hardcodec/hardcoded/ |
2022-05-22 17:41:05 +0200 | <Bulby[m]> | NO I EDITED IT |
2022-05-22 17:41:18 +0200 | <Bulby[m]> | sorry for any garbage on the irc end |
2022-05-22 17:43:03 +0200 | <geekosaur> | gensyst, consider https://play-haskell.tomsmeding.com/play/paste/YMxHdqaS/1 |
2022-05-22 17:43:56 +0200 | <geekosaur> | single edits are usually okay, we get the point. it's when you do a bunch of them or replacing the whole line or etc. that it gets messy |
2022-05-22 17:45:16 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-22 17:45:34 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-22 17:45:50 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 17:47:58 +0200 | <Bulby[m]> | ah, it's another case of polysemy being insane |
2022-05-22 17:48:08 +0200 | <Bulby[m]> | thankfully polysemy-plugin fixes insanity (mostly) |
2022-05-22 17:50:46 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2022-05-22 17:51:00 +0200 | fryguybob | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) |
2022-05-22 17:52:55 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 17:55:09 +0200 | <gensyst> | geekosaur, should I then just view such a constructor C.Cairo :: Ptr C.Cairo -> C.Cairo as a weird artifact of the way C.Cairo has chosen to do FFI? |
2022-05-22 17:55:25 +0200 | <geekosaur> | yes |
2022-05-22 17:55:41 +0200 | <gensyst> | but can nothing more be said? as in, could C.Cairo have done this differently? |
2022-05-22 17:55:50 +0200 | <gensyst> | this is so weird lol |
2022-05-22 17:56:04 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
2022-05-22 17:56:04 +0200 | <geekosaur> | it could have created a distinct type to represent the pointer to a C struct |
2022-05-22 17:56:11 +0200 | <gensyst> | It's like the C.Cairo inside the Ptr is not the same as the outer C.Cairo |
2022-05-22 17:56:27 +0200 | <geekosaur> | it's not |
2022-05-22 17:56:33 +0200 | <geekosaur> | it's some C value |
2022-05-22 17:56:41 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
2022-05-22 17:56:43 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-05-22 17:56:45 +0200 | <geekosaur> | but there's no good reason to do so and you can't take a Ptr to a Haskell value, so why not reuse the Haskell type? |
2022-05-22 17:56:46 +0200 | __monty__ | (~toonn@user/toonn) |
2022-05-22 17:56:59 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 256 seconds) |
2022-05-22 17:57:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-22 17:57:12 +0200 | <gensyst> | geekosaur, good question! So is this commonly done when doing FFI? |
2022-05-22 17:57:32 +0200 | <geekosaur> | if there are a bunch of different C values to keep track of, yes |
2022-05-22 17:57:33 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-22 17:57:48 +0200 | <gensyst> | ok thanks! this is key intel |
2022-05-22 17:57:53 +0200 | <geekosaur> | since this is probably a binding to libcairo, that would seem likely |
2022-05-22 17:58:01 +0200 | <geekosaur> | it's what I've been trying to tell you :) |
2022-05-22 17:59:11 +0200 | <gensyst> | :D |
2022-05-22 17:59:43 +0200 | <geekosaur> | more correctly you can take a pointer to a Haskell value if you try hard enough, but the garbage collector won't update it if it moves the value around so it's useless and eventually dangerous |
2022-05-22 18:00:01 +0200 | <maerwald> | I still don't understand why Haskellers are eager to use effects systems that have fishy semantics. But that reinforces my suspicion that abstraction is valued more than correctness in Haskell, generally. |
2022-05-22 18:00:12 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-22 18:00:13 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 244 seconds) |
2022-05-22 18:01:01 +0200 | <maerwald> | trying out research ideas in production... let's go :D |
2022-05-22 18:02:20 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-05-22 18:04:20 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
2022-05-22 18:04:44 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-22 18:06:11 +0200 | andai | (~andai@86.32.39.178) |
2022-05-22 18:06:37 +0200 | andai | (~andai@86.32.39.178) (Client Quit) |
2022-05-22 18:07:44 +0200 | andai | (~andai@86.32.39.178) |
2022-05-22 18:11:57 +0200 | nattiestnate | (~nate@202.138.250.17) |
2022-05-22 18:12:50 +0200 | andai | (~andai@86.32.39.178) (Quit: Connection closed) |
2022-05-22 18:14:18 +0200 | gensyst | (gensyst@user/gensyst) (Quit: Leaving) |
2022-05-22 18:16:07 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-05-22 18:16:34 +0200 | andai | (~andai@86.32.39.178) |
2022-05-22 18:16:40 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2022-05-22 18:17:45 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-05-22 18:19:26 +0200 | jmcarthur | (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2022-05-22 18:19:53 +0200 | gpncarl | (~gpncarl@120.244.220.74) (WeeChat 3.4.1) |
2022-05-22 18:20:55 +0200 | cosmos1_ | (cosmos@user/cosmos1) (Quit: Lost terminal) |
2022-05-22 18:21:15 +0200 | <monochrom> | I don't think any programming community prioritize correctness, really. |
2022-05-22 18:22:13 +0200 | <sm> | ada ? |
2022-05-22 18:22:33 +0200 | <maerwald> | you mean agda? |
2022-05-22 18:23:00 +0200 | <sm> | no, I mean the ada language community |
2022-05-22 18:23:50 +0200 | <sm> | they take a certain kind of correctness very seriously. But of course there are multiple kinds of correctness and they also care about results too |
2022-05-22 18:25:30 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2022-05-22 18:27:35 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Ping timeout: 256 seconds) |
2022-05-22 18:27:48 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 276 seconds) |
2022-05-22 18:30:11 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-05-22 18:31:17 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-05-22 18:31:33 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-22 18:31:48 +0200 | eggplant_ | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-22 18:31:50 +0200 | andai48 | (~andai@89.205.139.77) |
2022-05-22 18:32:34 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-22 18:32:55 +0200 | andai48 | andaii |
2022-05-22 18:33:28 +0200 | andai | (~andai@86.32.39.178) (Ping timeout: 246 seconds) |
2022-05-22 18:33:47 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:84c:3a94:a15f:5a37) (Ping timeout: 240 seconds) |
2022-05-22 18:34:57 +0200 | eggplant_ | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-22 18:35:02 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-22 18:35:39 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-22 18:36:11 +0200 | <hpc> | there's a joke about https://www.youtube.com/watch?v=RqTsUtQLRFk in there somewhere |
2022-05-22 18:36:54 +0200 | wolfshappen | (~waff@irc.furworks.de) (Quit: later) |
2022-05-22 18:37:22 +0200 | wolfshappen | (~waff@irc.furworks.de) |
2022-05-22 18:40:33 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) |
2022-05-22 18:43:11 +0200 | abiss27 | (~abiss27@user/abiss) |
2022-05-22 18:44:38 +0200 | phuegrvs[m] | (~phuegrvsm@2001:470:69fc:105::1:65e4) |
2022-05-22 18:45:18 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 272 seconds) |
2022-05-22 18:46:45 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-22 18:47:37 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 18:49:18 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-22 18:51:50 +0200 | abiss27 | (~abiss27@user/abiss) (Quit: hasta la vista... tchau!) |
2022-05-22 18:53:02 +0200 | abiss27 | (~abiss27@user/abiss) |
2022-05-22 18:53:13 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-22 18:57:01 +0200 | <hololeap> | what was the magic to add to cabal.project.local so that you can point cabal to a package that exists locally, but not on hackage? |
2022-05-22 18:57:57 +0200 | <hololeap> | point cabal to the source dir of dependency that isn't on hackage |
2022-05-22 18:58:35 +0200 | <hpc> | https://cabal.readthedocs.io/en/3.4/cabal-project.html#specifying-the-local-packages looks like |
2022-05-22 18:59:54 +0200 | <hololeap> | yeah, I tried adding the line `packages: . ../parsable/`, but I get the error "TODO: add support for multiple packages in a directory." |
2022-05-22 19:00:04 +0200 | cheater | (~Username@user/cheater) |
2022-05-22 19:01:30 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-05-22 19:02:15 +0200 | cheater | (~Username@user/cheater) (Client Quit) |
2022-05-22 19:02:30 +0200 | <hpc> | hmm |
2022-05-22 19:02:57 +0200 | cheater | (~Username@user/cheater) |
2022-05-22 19:03:14 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-22 19:03:17 +0200 | <hpc> | oh, i was wrong |
2022-05-22 19:03:19 +0200 | <hpc> | https://cabal.readthedocs.io/en/3.4/cabal-project.html#cfg-field-extra-packages |
2022-05-22 19:03:22 +0200 | <maerwald> | `packages: dir1 dir2` works |
2022-05-22 19:03:33 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-05-22 19:03:58 +0200 | <maerwald> | hololeap: is there a cabal file in ../parsable/? |
2022-05-22 19:04:49 +0200 | <hololeap> | yeah |
2022-05-22 19:04:56 +0200 | <maerwald> | then that should work |
2022-05-22 19:05:04 +0200 | zeenk | (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) |
2022-05-22 19:05:49 +0200 | Sqaure | Square |
2022-05-22 19:07:18 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-05-22 19:07:37 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-05-22 19:08:36 +0200 | <hololeap> | yeah, I don't get it: http://sprunge.us/N0p7UW |
2022-05-22 19:09:58 +0200 | <geekosaur> | what's in cabal.project? I think it might be combined with cabal.project.local |
2022-05-22 19:10:00 +0200 | Enrico63 | (~Enrico63@81.109.143.226) |
2022-05-22 19:10:12 +0200 | <geekosaur> | the packages field at least |
2022-05-22 19:10:47 +0200 | <hololeap> | there is no cabal.project file |
2022-05-22 19:10:55 +0200 | <monochrom> | Is there ../cabal.project ? |
2022-05-22 19:11:07 +0200 | <hololeap> | no |
2022-05-22 19:11:35 +0200 | <sclv> | You should put all this in cabal.project, not cabal.project.local fwiw |
2022-05-22 19:12:01 +0200 | <hololeap> | well, this is so I can develop without having to push parsable to hackage first |
2022-05-22 19:12:49 +0200 | Enrico63 | (~Enrico63@81.109.143.226) (Client Quit) |
2022-05-22 19:14:15 +0200 | <maerwald> | hololeap: when you omit cabal.project, an implicit cabal.project will be used |
2022-05-22 19:14:48 +0200 | <maerwald> | which is something like 'packages: ./*.cabal' I think |
2022-05-22 19:15:11 +0200 | <hololeap> | oh, ok |
2022-05-22 19:15:14 +0200 | Square | (~a@user/square) (Quit: ZNC 1.6.3+deb1 - http://znc.in) |
2022-05-22 19:15:27 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-22 19:15:37 +0200 | Square | (~a@user/square) |
2022-05-22 19:15:45 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-05-22 19:15:50 +0200 | <hololeap> | yeah, making a cabal.project with just "packages: ." and then "packages: ../parsable/" in cabal.project.local worked |
2022-05-22 19:16:00 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-05-22 19:16:52 +0200 | <hololeap> | in fact, removing cabal.project and leaving cabal.project.local as that works as well |
2022-05-22 19:16:56 +0200 | <hololeap> | thanks for the tip, maerwald |
2022-05-22 19:17:57 +0200 | econo | (uid147250@user/econo) |
2022-05-22 19:23:50 +0200 | abiss27 | (~abiss27@user/abiss) (Ping timeout: 240 seconds) |
2022-05-22 19:26:14 +0200 | Josh | (~Josh@216.154.3.96) (Quit: Connection closed) |
2022-05-22 19:26:31 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) |
2022-05-22 19:31:17 +0200 | yauhsien | (~yauhsien@61-231-39-34.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-05-22 19:33:31 +0200 | <hololeap> | is there a way to use GeneralizedNewtypeDeriving for IsList? |
2022-05-22 19:34:04 +0200 | <hololeap> | I don't see a way to define Item without making an instance block |
2022-05-22 19:38:56 +0200 | zincy | (~zincy@2a00:23c8:970c:4801:2054:62a8:f46a:a313) |
2022-05-22 19:39:56 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 244 seconds) |
2022-05-22 19:40:26 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:5ce3:174f:85c3:8411) |
2022-05-22 19:41:15 +0200 | andaii | (~andai@89.205.139.77) (Quit: Connection closed) |
2022-05-22 19:44:07 +0200 | zincy | (~zincy@2a00:23c8:970c:4801:2054:62a8:f46a:a313) (Ping timeout: 240 seconds) |
2022-05-22 19:47:48 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-22 19:47:50 +0200 | iqubic | (~iqubic@2601:602:9502:c70:922d:79af:4ac2:afe3) |
2022-05-22 19:48:46 +0200 | <iqubic> | Does anyone here use The Haskell Language Server? I'm running into this bug: https://github.com/haskell/haskell-language-server/issues/1971 |
2022-05-22 19:49:04 +0200 | <geekosaur> | there's a #haskell-language-server channel |
2022-05-22 19:49:14 +0200 | <iqubic> | I didn't know that. |
2022-05-22 19:53:55 +0200 | ircbrowse_tom | (~ircbrowse@2a01:4f8:1c1c:9319::1) (ZNC 1.7.5+deb4 - https://znc.in) |
2022-05-22 20:10:02 +0200 | ircbrowse_tom | (~ircbrowse@static.162.49.55.162.clients.your-server.de) |
2022-05-22 20:10:02 +0200 | fiddlerwoaroof | (~fiddlerwo@user/fiddlerwoaroof) (Ping timeout: 260 seconds) |
2022-05-22 20:10:05 +0200 | Server | +Cnt |
2022-05-22 20:10:10 +0200 | defanor | (~defanor@tart.uberspace.net) |
2022-05-22 20:10:18 +0200 | bcoppens | (~bartcopp@vpn2.bartcoppens.be) |
2022-05-22 20:11:09 +0200 | madnight_ | (~madnight@static.59.103.201.195.clients.your-server.de) (Ping timeout: 276 seconds) |
2022-05-22 20:11:33 +0200 | madnight | (~madnight@static.59.103.201.195.clients.your-server.de) |
2022-05-22 20:11:39 +0200 | <Bulby[m]> | it's been 5 minutes and sinkLazy still hasn't finished |
2022-05-22 20:12:10 +0200 | hexology | (~hexology@user/hexology) |
2022-05-22 20:13:34 +0200 | geekosaur | suspects the "lazy" part is relevant |
2022-05-22 20:13:37 +0200 | zincy_ | (~zincy@2a00:23c8:970c:4801:5ce3:174f:85c3:8411) (Remote host closed the connection) |
2022-05-22 20:13:40 +0200 | toluene | (~toluene@user/toulene) (Quit: The Lounge - https://thelounge.chat) |
2022-05-22 20:13:49 +0200 | <Bulby[m]> | 😳 |
2022-05-22 20:14:23 +0200 | <Bulby[m]> | well you see, toArchive wants a lazy bytestring |
2022-05-22 20:15:22 +0200 | <geekosaur> | i.e. something has to demand it (via demanding the result of that extractFilesFromArchive, and quite possibly trying to access one of the extracted files won't be enough) |
2022-05-22 20:15:55 +0200 | <Bulby[m]> | won't `toArchive` demand it |
2022-05-22 20:16:06 +0200 | wz1000 | (~zubin@static.11.113.47.78.clients.your-server.de) |
2022-05-22 20:16:07 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2022-05-22 20:16:17 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-22 20:16:20 +0200 | azimut_ | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-05-22 20:16:28 +0200 | <Bulby[m]> | altho it takes in a lazy bs |
2022-05-22 20:16:39 +0200 | <geekosaur> | that, and it's pure |
2022-05-22 20:16:48 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-05-22 20:16:49 +0200 | <Bulby[m]> | 😳 |
2022-05-22 20:16:57 +0200 | <Bulby[m]> | and what does that mean |
2022-05-22 20:17:08 +0200 | ncf | (~n@monade.li) (Quit: Fairfarren.) |
2022-05-22 20:17:09 +0200 | <geekosaur> | extractFilesFromArchive is in IO and can actually demand execution |
2022-05-22 20:17:25 +0200 | ncf | (~n@monade.li) |
2022-05-22 20:17:28 +0200 | <geekosaur> | pure computations are more declarative, and inherently lazy |
2022-05-22 20:17:45 +0200 | <Bulby[m]> | if |
2022-05-22 20:17:46 +0200 | <Bulby[m]> | fllgihg; |
2022-05-22 20:18:02 +0200 | <Bulby[m]> | so... |
2022-05-22 20:18:08 +0200 | <Bulby[m]> | how would I fix this mess |
2022-05-22 20:18:19 +0200 | <Lycurgus> | many matrix nicks, the final ... uh evolution |
2022-05-22 20:19:27 +0200 | <geekosaur> | good question, I would have expected extractFilesFromArchive to demand it but apparently that's not enough. possibly because it's inside the conduit? my knowledge of conduit is pretty weak |
2022-05-22 20:19:27 +0200 | <Bulby[m]> | I don't want to pull it all into memory - that would defeat the point of using conduit |
2022-05-22 20:19:46 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt) |
2022-05-22 20:20:33 +0200 | <geekosaur> | right, but extracting files may do so anyway, unless it's designed to work with conduit. but somehow I would expect not having to do that sink etc. in that case |
2022-05-22 20:20:53 +0200 | <Bulby[m]> | hm, maybe I should try to find a zip conduit lib |
2022-05-22 20:21:01 +0200 | <Bulby[m]> | instead of mashing them together |
2022-05-22 20:22:13 +0200 | <Bulby[m]> | zip-stream looks promising (by promising I mean 3 entries below where I looked 🙃) |
2022-05-22 20:22:35 +0200 | zeenk | (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) (Quit: Konversation terminated!) |
2022-05-22 20:23:46 +0200 | <Bulby[m]> | oh, it does it in memory. I want to save |
2022-05-22 20:25:35 +0200 | zincy | (~zincy@host86-160-236-152.range86-160.btcentralplus.com) |
2022-05-22 20:26:11 +0200 | <geekosaur[m]> | And I wasn't even using mine! |
2022-05-22 20:27:30 +0200 | <Bulby[m]> | i am going to commit murder |
2022-05-22 20:27:32 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 252 seconds) |
2022-05-22 20:27:38 +0200 | <Bulby[m]> | a good lib isn't on stack |
2022-05-22 20:30:14 +0200 | <Bulby[m]> | how do I lookup packages on stackage |
2022-05-22 20:30:53 +0200 | <Clint> | use the website |
2022-05-22 20:31:16 +0200 | <Bulby[m]> | the website uses hoogle which is not very conveinent for looking up packages |
2022-05-22 20:31:43 +0200 | <maerwald> | Bulby[m]: check out libarchive |
2022-05-22 20:32:19 +0200 | <Bulby[m]> | argh! i don't want to use hoogle! I just want to find package |
2022-05-22 20:32:24 +0200 | Infinite | (~Infinite@49.39.123.254) (Ping timeout: 252 seconds) |
2022-05-22 20:32:50 +0200 | <yushyin> | https://www.stackage.org/lts-19.7 ctrl-f |
2022-05-22 20:32:52 +0200 | <yushyin> | ;D |
2022-05-22 20:33:19 +0200 | <Bulby[m]> | i know that's probably a joke but it didn't work |
2022-05-22 20:34:03 +0200 | nattiestnate | (~nate@202.138.250.17) (Quit: WeeChat 3.5) |
2022-05-22 20:34:16 +0200 | <Bulby[m]> | what is a package repo with no dedicated search feature? |
2022-05-22 20:35:07 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-05-22 20:35:37 +0200 | zincy | (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection) |
2022-05-22 20:39:56 +0200 | <yushyin> | more of a joke since i don't use stack/stackage but nevertheless it should list all available packages for the lts-19.7, no? |
2022-05-22 20:40:22 +0200 | <monochrom> | and pretty searchable by ctrl-f |
2022-05-22 20:40:23 +0200 | <Bulby[m]> | well, it loads it while you scroll |
2022-05-22 20:40:28 +0200 | <yushyin> | https://hackage.haskell.org/packages/browse?terms=%28distro%3AStackage%29 maybe this works better for you |
2022-05-22 20:40:45 +0200 | <Bulby[m]> | \o/ |
2022-05-22 20:42:33 +0200 | <Bulby[m]> | libarchive isn't on stack |
2022-05-22 20:42:56 +0200 | ubert | (~Thunderbi@p200300ecdf3b995b118dba1cd1127f24.dip0.t-ipconnect.de) (Quit: ubert) |
2022-05-22 20:43:43 +0200 | <Bulby[m]> | zip-stream gives me flashbacks to haxe manually unzipping files |
2022-05-22 20:44:02 +0200 | Kaipei | (~Kaiepi@156.34.47.253) |
2022-05-22 20:44:45 +0200 | <geekosaur> | there's a libarchive-conduit but it's like 8 years old and therefore unlikely to be in any recent stackage lts |
2022-05-22 20:46:19 +0200 | <geekosaur> | oh, it's the wrong end of it |
2022-05-22 20:46:35 +0200 | iqubic | (~iqubic@2601:602:9502:c70:922d:79af:4ac2:afe3) (Quit: Client closed) |
2022-05-22 20:46:59 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-05-22 20:47:11 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 20:48:10 +0200 | Kaiepi | (~Kaiepi@156.34.47.253) (Ping timeout: 272 seconds) |
2022-05-22 20:51:51 +0200 | iqubic | (~iqubic@2601:602:9502:c70:922d:79af:4ac2:afe3) |
2022-05-22 20:52:35 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-22 20:56:09 +0200 | <maerwald> | Bulby[m]: so? Just add it |
2022-05-22 20:57:45 +0200 | Guest60 | (~Guest60@189.120.76.108) |
2022-05-22 21:01:35 +0200 | Guest60 | (~Guest60@189.120.76.108) (Client Quit) |
2022-05-22 21:01:49 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-05-22 21:05:05 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-05-22 21:09:19 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) |
2022-05-22 21:11:43 +0200 | michalz | (~michalz@185.246.204.122) |
2022-05-22 21:13:49 +0200 | bgamari | (~bgamari@2001:470:e438::1) (Remote host closed the connection) |
2022-05-22 21:16:33 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 244 seconds) |
2022-05-22 21:18:01 +0200 | <maerwald> | sm: can you scrape project links from hackage DB? |
2022-05-22 21:20:53 +0200 | <sm> | maerwald: yes! I'd like that to be one of the next data sets. I plan to poll the rss feed for new links, but any thoughts on the easiest way to download the full set ? |
2022-05-22 21:21:15 +0200 | <maerwald> | you just download the actual hackage db and... dunno, parse it |
2022-05-22 21:21:21 +0200 | <maerwald> | it's some obscure binary format though |
2022-05-22 21:24:12 +0200 | coot | (~coot@213.134.190.95) |
2022-05-22 21:24:45 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-05-22 21:25:31 +0200 | xstill- | (xstill@fimu/xstill) (Ping timeout: 256 seconds) |
2022-05-22 21:25:31 +0200 | xsarnik | (xsarnik@lounge.fi.muni.cz) (Ping timeout: 256 seconds) |
2022-05-22 21:27:05 +0200 | <sm> | sounds.. gun |
2022-05-22 21:27:19 +0200 | <sm> | oops, freudian slip. Fun. |
2022-05-22 21:27:30 +0200 | <Bulby[m]> | footgun? |
2022-05-22 21:27:53 +0200 | <sm> | bristling with footguns |
2022-05-22 21:28:28 +0200 | sabry | (~sabry@197.37.144.70) (Quit: Client closed) |
2022-05-22 21:28:38 +0200 | <sm> | sclv, do you happen to know if there's an easier hackage api or snapshot for getting a list of package names ? |
2022-05-22 21:29:15 +0200 | bgamari | (~bgamari@2001:470:e438::1) |
2022-05-22 21:29:30 +0200 | <Bulby[m]> | does conduit/req have a rate limit or is my internet comically bad |
2022-05-22 21:30:58 +0200 | <geekosaur> | there's a rate limit (streamly is faster) but it's not *that* low |
2022-05-22 21:31:26 +0200 | <Bulby[m]> | can I have a ballpark estimate of that rate limit |
2022-05-22 21:31:56 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4) |
2022-05-22 21:32:58 +0200 | <geekosaur> | there isn't a fixed one |
2022-05-22 21:33:12 +0200 | <geekosaur> | it's just not as fast as it might potentially be |
2022-05-22 21:33:37 +0200 | <geekosaur> | (I don't have an estimate since my internet is throttled) |
2022-05-22 21:36:34 +0200 | <Bulby[m]> | i'm getting ~0.1MB/howeverlong it takes pcmanfm to update |
2022-05-22 21:37:03 +0200 | <geekosaur> | that seems *way* too slow |
2022-05-22 21:37:14 +0200 | <Bulby[m]> | hmm |
2022-05-22 21:39:08 +0200 | <Bulby[m]> | i'm running arch which doesn't do traffic shaping |
2022-05-22 21:39:38 +0200 | sm | uploaded an image: (156KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/ibdBqSDgfQxvufJJFtGUccAM/image.png > |
2022-05-22 21:39:56 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-05-22 21:40:00 +0200 | sm | uploaded an image: (380KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/FZemaZymqHBmxqOoOgelqjoC/image.png > |
2022-05-22 21:40:00 +0200 | <Bulby[m]> | i thought images don't work on irc? |
2022-05-22 21:40:29 +0200 | <sm> | ^ getting to the important stuff now |
2022-05-22 21:40:34 +0200 | ubert | (~Thunderbi@p200300ecdf3b995b6d3ba42fb5eab692.dip0.t-ipconnect.de) |
2022-05-22 21:40:40 +0200 | <sm> | they appear as links on irc |
2022-05-22 21:40:57 +0200 | <hpc> | the matrix bridge translates it into a /me |
2022-05-22 21:41:00 +0200 | <hpc> | * sm uploaded an image: (156KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/ibdBqSDgfQxvufJJFtGUccAM/image.png > |
2022-05-22 21:41:15 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 21:41:23 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) (Remote host closed the connection) |
2022-05-22 21:41:47 +0200 | wroathe | (~wroathe@50-205-197-50-static.hfc.comcastbusiness.net) |
2022-05-22 21:41:47 +0200 | wroathe | (~wroathe@50-205-197-50-static.hfc.comcastbusiness.net) (Changing host) |
2022-05-22 21:41:47 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-22 21:41:59 +0200 | <Bulby[m]> | hm, i defo need to add a progress thing of some kind |
2022-05-22 21:42:49 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) |
2022-05-22 21:43:21 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds) |
2022-05-22 21:43:32 +0200 | <Bulby[m]> | yeah lime (what I am downloading) is just absurdly large |
2022-05-22 21:44:04 +0200 | <Bulby[m]> | switching to hscript which is ~40kb makes it happy |
2022-05-22 21:45:44 +0200 | <Bulby[m]> | I assume my internet just sucks |
2022-05-22 21:50:49 +0200 | ubert | (~Thunderbi@p200300ecdf3b995b6d3ba42fb5eab692.dip0.t-ipconnect.de) (Quit: ubert) |
2022-05-22 21:51:16 +0200 | ubert | (~Thunderbi@p200300ecdf3b995b6d3ba42fb5eab692.dip0.t-ipconnect.de) |
2022-05-22 21:52:15 +0200 | ubert | (~Thunderbi@p200300ecdf3b995b6d3ba42fb5eab692.dip0.t-ipconnect.de) (Client Quit) |
2022-05-22 21:58:51 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-05-22 21:59:17 +0200 | <Bulby[m]> | cool cli libs \o/ |
2022-05-22 21:59:19 +0200 | <Bulby[m]> | ? |
2022-05-22 22:01:26 +0200 | <sclv> | sm maerwald the 01-index.tar.gz isnt an obscure binary format, its literally a tarball of cabal files |
2022-05-22 22:02:19 +0200 | <sclv> | with the stipulation that when multiples of the same name exist, last one is most recent revision… which was designed into the spec of tarfiles back in the 70s even! |
2022-05-22 22:02:26 +0200 | stackdroid18 | (14094@de1.hashbang.sh) |
2022-05-22 22:02:34 +0200 | <sm> | great, thanks sclv. Though large that sounds like the easiest source of package names then ? Do you remember the stable url ? |
2022-05-22 22:03:14 +0200 | stackdroid18 | (14094@de1.hashbang.sh) (Client Quit) |
2022-05-22 22:03:19 +0200 | <sclv> | if you just want names, there’s other apis that might be easier too — follow the api link from hackage frontpqge |
2022-05-22 22:03:31 +0200 | <sm> | will do, thanks |
2022-05-22 22:04:05 +0200 | <sm> | https://hackage.haskell.org/api, this is great |
2022-05-22 22:04:13 +0200 | <sclv> | im on my phone so can’t give stable url at the moment — the reason 01-index may be better is because its the Source of Truth for package data in general |
2022-05-22 22:09:45 +0200 | <Bulby[m]> | for cli libs I will enact DO IT URSELF! |
2022-05-22 22:11:46 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) |
2022-05-22 22:12:34 +0200 | notzmv | (~zmv@user/notzmv) |
2022-05-22 22:13:12 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
2022-05-22 22:13:25 +0200 | Sgeo_ | (~Sgeo@user/sgeo) |
2022-05-22 22:14:30 +0200 | <wroathe> | Hey guys, what would be the best way to do multiline strings for something like postgresql-simple? Like if I wanted multiline SQL for ease of reading |
2022-05-22 22:14:51 +0200 | zincy | (~zincy@2a00:23c8:970c:4801:5ce3:174f:85c3:8411) |
2022-05-22 22:15:47 +0200 | <hpc> | https://stackoverflow.com/a/22919011 |
2022-05-22 22:15:49 +0200 | <wroathe> | Oh, ignore me. Seems there's a quasi quoter available |
2022-05-22 22:15:54 +0200 | <hpc> | heh, or that |
2022-05-22 22:15:55 +0200 | <sm> | Bulby: for command line parsing I like cmdargs, others here like optparse-applicative. Both are complicated but powerful. There are lots of more limited but easier alternatives, like docopts |
2022-05-22 22:15:58 +0200 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 244 seconds) |
2022-05-22 22:16:06 +0200 | <geekosaur> | quasiquoter or string gaps, yeh |
2022-05-22 22:16:36 +0200 | <sm> | docopt |
2022-05-22 22:16:39 +0200 | <hpc> | string gaps have the nice benefit of allowing you to preserve the whitespace of both haskell and sql |
2022-05-22 22:17:07 +0200 | <hpc> | the source code will be aligned with the surrounding function definitions, and the sql will be as if it started at column 0 with its own indentation intact |
2022-05-22 22:17:26 +0200 | <hpc> | if you need to print it in an error message or similar |
2022-05-22 22:17:48 +0200 | <Bulby[m]> | hm, I don't really like applicativeness |
2022-05-22 22:17:53 +0200 | <Bulby[m]> | with no monad |
2022-05-22 22:18:34 +0200 | acidjnk | (~acidjnk@p200300d0c7068b4571401365c1036792.dip0.t-ipconnect.de) |
2022-05-22 22:19:17 +0200 | abiss27 | (~abiss27@user/abiss) (Quit: hasta la vista... tchau!) |
2022-05-22 22:19:39 +0200 | <Bulby[m]> | so I guess cmdargs? |
2022-05-22 22:21:55 +0200 | <sm> | this hackage api is great. Maybe could use hackage usernames as simple auth mechanism for voting. |
2022-05-22 22:22:20 +0200 | <sm> | Bulby: if you want lots of flexibility, yes |
2022-05-22 22:22:34 +0200 | <sm> | docopt if you want to get something going quickly with low boilerplate and don't mind a few rough edges |
2022-05-22 22:25:48 +0200 | <Bulby[m]> | well I need subcommands (i.e. `nylon install`, `nylon info`) and switches + more args |
2022-05-22 22:26:08 +0200 | <Bulby[m]> | are "modes" subcommands |
2022-05-22 22:29:08 +0200 | <sm> | yes |
2022-05-22 22:29:32 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-05-22 22:32:16 +0200 | <Bulby[m]> | hm, do I have to dip into `Explicit` to use them properly |
2022-05-22 22:34:04 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2022-05-22 22:34:23 +0200 | <sm> | I'm not sure.. that's the one I use |
2022-05-22 22:34:34 +0200 | <Bulby[m]> | noooo I want to use implicit |
2022-05-22 22:34:53 +0200 | <sm> | I believe in you! |
2022-05-22 22:34:58 +0200 | <Bulby[m]> | \o/ |
2022-05-22 22:36:35 +0200 | dcleonarski | (~user@2804:d51:479c:4300:c312:71c1:ee9b:86ea) |
2022-05-22 22:39:27 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-05-22 22:39:27 +0200 | <sm> | maerwald: I added the hackage packages (locally). That adds 16k rows to the current 1k table, and 5M to the page size, and makes the ui too slow on my fast laptop (m1) unfortunately. Some optimisations/restrictions and probably paging with ajax download will be needed I think. |
2022-05-22 22:40:24 +0200 | <maerwald> | Bulby[m]: why would applicative not be enough? |
2022-05-22 22:40:53 +0200 | <sm> | if anyone here can help with the necessary frontend changes, that would be most welcome |
2022-05-22 22:41:02 +0200 | <maerwald> | you only need monads to dynamically change parsing... which also means you cannot really automatically derive a --help text |
2022-05-22 22:41:34 +0200 | <Bulby[m]> | Idk, I just prefer monads |
2022-05-22 22:42:01 +0200 | <maerwald> | that's a bad habit then |
2022-05-22 22:42:13 +0200 | <Bulby[m]> | ☹️ |
2022-05-22 22:42:42 +0200 | <geekosaur> | why would it even matter here |
2022-05-22 22:42:48 +0200 | <Bulby[m]> | ur right I should just enable applicative do and get on with it |
2022-05-22 22:42:59 +0200 | <maerwald> | uhm :D |
2022-05-22 22:43:09 +0200 | <maerwald> | applicative do is quite confusing, good luck |
2022-05-22 22:43:35 +0200 | <Bulby[m]> | I also dislike that it's named parser, when I am also using megaparsec |
2022-05-22 22:44:54 +0200 | <sm> | well it's definitely a parsing task (and a tricky one) |
2022-05-22 22:45:35 +0200 | vjoki | (~vjoki@2a00:d880:3:1::fea1:9ae) (Quit: ...) |
2022-05-22 22:46:11 +0200 | <Bulby[m]> | i feel like I'm choosing between two sports teams (or something similar) |
2022-05-22 22:46:16 +0200 | <Bulby[m]> | no, picking the favorite child |
2022-05-22 22:47:45 +0200 | <iqubic> | I'm having cabal errors here, in this cabal file. "cabal build" is telling me there's an unexpected "h" here on line 12. Why? https://github.com/IQubic/TinyMod4Haskell/blob/main/TinyMod4.cabal#L12 |
2022-05-22 22:48:25 +0200 | dcleonarski | (~user@2804:d51:479c:4300:c312:71c1:ee9b:86ea) (Remote host closed the connection) |
2022-05-22 22:49:32 +0200 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-05-22 22:51:47 +0200 | <sm> | iqubic: it doesn't want the .hs part |
2022-05-22 22:51:55 +0200 | <iqubic> | Thanks. |
2022-05-22 22:53:34 +0200 | christiansen | (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 272 seconds) |
2022-05-22 22:53:50 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-05-22 22:54:38 +0200 | <Bulby[m]> | lol optparse doesn't make immediate sense either - neither of them do |
2022-05-22 22:55:49 +0200 | MajorBiscuit | (~MajorBisc@80.146.187.107) |
2022-05-22 22:57:34 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-22 22:58:06 +0200 | Guest9028 | (~Guest90@139.47.6.251) |
2022-05-22 23:01:25 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-22 23:01:44 +0200 | zincy | (~zincy@2a00:23c8:970c:4801:5ce3:174f:85c3:8411) (Remote host closed the connection) |
2022-05-22 23:02:43 +0200 | MajorBiscuit | (~MajorBisc@80.146.187.107) (Quit: WeeChat 3.4) |
2022-05-22 23:03:08 +0200 | <sm> | our last sports fans' discussion starts here: https://matrix.to/#/!hYueEvaBrsbfKxjshs:libera.chat/$8OBlk8aYRc2Gy3gamKHAuhnoMHi6Yxgcij1r0nFE2Sk |
2022-05-22 23:03:31 +0200 | <Bulby[m]> | haha I don't think I existed then |
2022-05-22 23:03:42 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 272 seconds) |
2022-05-22 23:03:59 +0200 | <Bulby[m]> | https://matrix.to/#/%23haskell%3Alibera.chat/%24qfXSiN9U5I40N0FbTeGEzUy8AdJI7ARu7vOPVN9kztE?via=ma… |
2022-05-22 23:04:12 +0200 | <Bulby[m]> | yeah if it did exist I would jump to it |
2022-05-22 23:04:13 +0200 | <Bulby[m]> | or nheko is being mean |
2022-05-22 23:04:48 +0200 | <Bulby[m]> | element is the same and I think it's much more stable so 🤷 |
2022-05-22 23:05:14 +0200 | <sm> | actually just search the channel for "cmdargs", it seems a bit spread out |
2022-05-22 23:05:37 +0200 | <sm> | or try |
2022-05-22 23:05:37 +0200 | <sm> | @where ircbrowse |
2022-05-22 23:05:37 +0200 | <lambdabot> | https://ircbrowse.tomsmeding.com |
2022-05-22 23:06:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-22 23:06:14 +0200 | <sm> | oh is that no longer updated tomsmeding ? my bad |
2022-05-22 23:06:58 +0200 | <geekosaur> | you just got the landing page |
2022-05-22 23:07:03 +0200 | <geekosaur> | https://ircbrowse.tomsmeding.com/browse/lchaskell |
2022-05-22 23:07:34 +0200 | <sm> | oops I didn't notice the two #haskell links, clicked the wrong one |
2022-05-22 23:07:44 +0200 | <geekosaur> | right, the other is from freenode |
2022-05-22 23:07:47 +0200 | <Bulby[m]> | you can't search ☹️ |
2022-05-22 23:07:56 +0200 | <sm> | consider putting those at the bottom tomsmeding ? |
2022-05-22 23:07:56 +0200 | <geekosaur> | yes, search is disabled |
2022-05-22 23:08:06 +0200 | <Bulby[m]> | disabled? |
2022-05-22 23:08:17 +0200 | <geekosaur> | it requires full text indexing to work |
2022-05-22 23:08:35 +0200 | <geekosaur> | which is something of an extra load |
2022-05-22 23:08:41 +0200 | MajorBiscuit | (~MajorBisc@80.146.187.107) |
2022-05-22 23:08:45 +0200 | <Bulby[m]> | "something" |
2022-05-22 23:09:38 +0200 | <sm> | despite the robots.txt excluding /browse, google does seem to index it: https://www.google.com/search?q=site%3Aircbrowse.tomsmeding.com |
2022-05-22 23:10:01 +0200 | Guest9028 | (~Guest90@139.47.6.251) (Quit: Client closed) |
2022-05-22 23:10:02 +0200 | Kaipei | Kaiepi |
2022-05-22 23:10:48 +0200 | <sm> | though not terribly well.. https://www.google.com/search?q=site%3Aircbrowse.tomsmeding.com+cmdargs |
2022-05-22 23:11:34 +0200 | <sm> | actually, not bad when you click repeat the search with the omitted results included |
2022-05-22 23:11:50 +0200 | <monochrom> | Have you considered System.Console.GetOpt? It comes with GHC. |
2022-05-22 23:12:07 +0200 | <sm> | (I have been trying to figure out why google won't index the matrix logs at view.matrix.org, it's a big mystery) |
2022-05-22 23:12:48 +0200 | <geekosaur> | I think they want subcommands |
2022-05-22 23:13:09 +0200 | <Bulby[m]> | ^ |
2022-05-22 23:16:02 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-22 23:16:35 +0200 | <Bulby[m]> | not that I understand them 😉 |
2022-05-22 23:17:40 +0200 | pavonia | (~user@user/siracusa) |
2022-05-22 23:18:51 +0200 | dcleonarski | (~user@2804:d51:479c:4300:c312:71c1:ee9b:86ea) |
2022-05-22 23:27:01 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 23:29:24 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 276 seconds) |
2022-05-22 23:30:36 +0200 | phma | (~phma@host-67-44-208-86.hnremote.net) (Read error: Connection reset by peer) |
2022-05-22 23:31:04 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
2022-05-22 23:31:09 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-05-22 23:31:28 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-05-22 23:33:58 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-05-22 23:34:34 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2022-05-22 23:36:42 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-05-22 23:41:40 +0200 | phma | (~phma@host-67-44-208-253.hnremote.net) |
2022-05-22 23:44:16 +0200 | phma | (~phma@host-67-44-208-253.hnremote.net) (Read error: Connection reset by peer) |
2022-05-22 23:48:19 +0200 | zeenk | (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) |
2022-05-22 23:48:27 +0200 | <Bulby[m]> | how can I parse a specific arg with cmdargs |
2022-05-22 23:48:34 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-22 23:48:45 +0200 | <Bulby[m]> | i have a type that I have a megaparsec for, how do I use it with cmdargs |
2022-05-22 23:50:26 +0200 | <sm> | maerwald: one issue is, hackage already does a good job of this: https://hackage.haskell.org/packages/search, https://hackage.haskell.org/packages/noscript-search |
2022-05-22 23:52:17 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) (Ping timeout: 256 seconds) |
2022-05-22 23:53:39 +0200 | <maerwald> | sm: those are not project links |
2022-05-22 23:54:12 +0200 | <maerwald> | I can't search for homepage |
2022-05-22 23:54:37 +0200 | off^ | (~off@c-24-126-228-147.hsd1.ga.comcast.net) |
2022-05-22 23:54:50 +0200 | michalz | (~michalz@185.246.204.122) (Remote host closed the connection) |
2022-05-22 23:55:58 +0200 | <sm> | I guess I misunderstood your idea, I am working on links to the hackage package page - you'd like to see links directly to the home page or github repo eh |
2022-05-22 23:56:48 +0200 | <sm> | I usually use the hackage page as my starting point, as it's reliable / in standard format.. |
2022-05-22 23:57:17 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
2022-05-22 23:58:15 +0200 | <maerwald> | yes, I mean homepage... I already have shortcuts for searching hackage |
2022-05-22 23:58:58 +0200 | <sm> | Bulby: you give a parsing function as flagValue I think.. https://hackage.haskell.org/package/cmdargs-0.10.21/docs/System-Console-CmdArgs-Explicit.html#t:Up… |