2021-01-09 00:00:17 +0100 | <monochrom> | data XE = forall r. {c1 :: Int -> r, c2 :: Bool -> r} -> r |
2021-01-09 00:00:36 +0100 | <pie_> | merijn: aha |
2021-01-09 00:00:48 +0100 | <ph88> | how can i write a function that generates an infinite list from "a" to "z" and then "aa" to "zz", "aaa" to "zzz" and so on ? |
2021-01-09 00:01:16 +0100 | keltono | (~keltono@x-160-94-179-178.acm.umn.edu) |
2021-01-09 00:01:23 +0100 | <pie_> | ph88: i dont know but that sounds like generating numbers, so how would you generate numbers |
2021-01-09 00:01:44 +0100 | <ph88> | divide by 26 for all letters of alphabet |
2021-01-09 00:02:51 +0100 | <monochrom> | So I can't write "C1 4 :: X" but I can write "(\o -> o.c1 4) :: XE". Similarly for C2. |
2021-01-09 00:03:23 +0100 | dcbdnl | (~dcbdnl@2601:2c6:4e00:2d20:4685:ff:fecf:3992) (Quit: dcbdnl) |
2021-01-09 00:03:42 +0100 | <monochrom> | And I can't write "f (C1 i) = show i; f (C2 b) = show b", but I can write: |
2021-01-09 00:04:16 +0100 | <monochrom> | f xe = xe {c1 = show, c2 = show} |
2021-01-09 00:04:33 +0100 | <monochrom> | Does my language count as "has sum types" or not? |
2021-01-09 00:04:59 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Remote host closed the connection) |
2021-01-09 00:05:06 +0100 | <monochrom> | How would you feel about using my language? Is it good enough? |
2021-01-09 00:06:15 +0100 | <ph88> | when a list comprehension becomes a bit too bit with the [ ] can i write it in do notation ? |
2021-01-09 00:06:22 +0100 | HarveyPwca | (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) |
2021-01-09 00:06:47 +0100 | <monochrom> | Yes. Or use very nice indentation. |
2021-01-09 00:06:54 +0100 | <monochrom> | [ f x y |
2021-01-09 00:07:01 +0100 | <monochrom> | | x <- list1 |
2021-01-09 00:07:05 +0100 | <monochrom> | , y <- list2 |
2021-01-09 00:07:09 +0100 | <ph88> | oki |
2021-01-09 00:07:13 +0100 | <monochrom> | , x > 0 |
2021-01-09 00:07:15 +0100 | <monochrom> | , y < 0 |
2021-01-09 00:07:16 +0100 | <monochrom> | ] |
2021-01-09 00:09:11 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-09 00:11:02 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-09 00:12:34 +0100 | _deepfire | (~user@80.92.100.69) |
2021-01-09 00:12:38 +0100 | nucranium | (~nucranium@2a02:8010:6173:0:34f4:f022:f40c:bc2c) (Ping timeout: 264 seconds) |
2021-01-09 00:14:53 +0100 | <ski> | ph88 : so first all lists of one length, then all of the next larger length, &c. ? |
2021-01-09 00:15:06 +0100 | <ph88> | yes |
2021-01-09 00:15:26 +0100 | <ski> | perhaps you could start by picking the length, then ? |
2021-01-09 00:15:37 +0100 | <ph88> | yes working on it |
2021-01-09 00:16:15 +0100 | ADG1089__ | (~aditya@122.163.165.143) (Remote host closed the connection) |
2021-01-09 00:16:21 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-09 00:17:53 +0100 | knupfer | (~Thunderbi@200116b82c8bca0018e1e3fffeba4133.dip.versatel-1u1.de) |
2021-01-09 00:18:34 +0100 | <ski> | > take 15 (allCombinations "01") |
2021-01-09 00:18:37 +0100 | <lambdabot> | ["","0","1","00","01","10","11","000","001","010","011","100","101","110","1... |
2021-01-09 00:18:48 +0100 | knupfer | (~Thunderbi@200116b82c8bca0018e1e3fffeba4133.dip.versatel-1u1.de) (Remote host closed the connection) |
2021-01-09 00:19:03 +0100 | knupfer | (~Thunderbi@200116b82c8bca00ad1bd0c74650766d.dip.versatel-1u1.de) |
2021-01-09 00:23:02 +0100 | <ph88> | ski, a, b, c to z then aa, ab, ac .. az, ba, bb, bc .. zz, aaa, aab |
2021-01-09 00:23:36 +0100 | <ph88> | i have this now, work in progress https://bpa.st/SPQQ |
2021-01-09 00:24:32 +0100 | ski | . o O ( `combination(Letters,Word) :- between(0,inf,N),length(Word,N),maplist(has_element(Letters),Word). has_element(List,Element) :- member(Element,List).' ) |
2021-01-09 00:24:56 +0100 | <ph88> | is that prolog ?? |
2021-01-09 00:25:01 +0100 | <ski> | yes |
2021-01-09 00:25:07 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 00:25:13 +0100 | <ph88> | cool =) |
2021-01-09 00:25:25 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Quit: leaving) |
2021-01-09 00:25:33 +0100 | <ph88> | i'm programming in haskell however, trying to use list comprehension on infinite list |
2021-01-09 00:25:38 +0100 | <pie_> | monochrom: well the representation feels pretty alien and unergonomic :p but im not used to it |
2021-01-09 00:26:06 +0100 | <pie_> | still just trying to process it but it kind of looks like sum types given that i know its supposed to be sum types : |
2021-01-09 00:26:08 +0100 | <pie_> | :P |
2021-01-09 00:27:11 +0100 | <pie_> | ski: nice |
2021-01-09 00:27:53 +0100 | son0p | (~son0p@181.136.122.143) (Quit: Lost terminal) |
2021-01-09 00:28:00 +0100 | nnst^ | (~hph@ip98-184-89-2.mc.at.cox.net) |
2021-01-09 00:28:07 +0100 | <ski> | hm, afaics, you're not picking length |
2021-01-09 00:28:42 +0100 | <ph88> | are you talking to me ? |
2021-01-09 00:28:49 +0100 | ski | idly wonders whether pie_'s heard of the Visitor Pattern |
2021-01-09 00:28:51 +0100 | <ski> | yes |
2021-01-09 00:29:11 +0100 | <pie_> | yes but me "hearing" about something sadly doesnt mean much |
2021-01-09 00:29:29 +0100 | ski | nods |
2021-01-09 00:29:55 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-09 00:29:58 +0100 | <glguy> | number `rem` (26 ^ divisor) -- is probably supposed to be -- (number `div` (26^divisor) `rem` 26) |
2021-01-09 00:30:19 +0100 | <pie_> | it would probably be good to learn more about encoding oop in haskell |
2021-01-09 00:31:41 +0100 | <ski> | (we don't know how `getLetter' is intended to be called, yet) |
2021-01-09 00:32:40 +0100 | <glguy> | ski: at the moment it's best not to call it |
2021-01-09 00:33:15 +0100 | <ski> | i'd prefer to iteratively use `divMod', if i was taking this approach, yes |
2021-01-09 00:33:47 +0100 | michalz | (~user@185.246.204.79) (Remote host closed the connection) |
2021-01-09 00:34:05 +0100 | <monochrom> | I might use https://www.cs.dartmouth.edu/~doug/nfa.pdf , its "union" and "xprod" functions, and write "az = ['a'..'z'] ++ xprod (:) ['a'..'z'] az" |
2021-01-09 00:34:34 +0100 | <glguy> | > let column n = showIntAtBase 26 (\i -> chr (ord 'a' + i)) n "" in map column [0,10,26,30] |
2021-01-09 00:34:36 +0100 | <lambdabot> | ["a","k","ba","be"] |
2021-01-09 00:34:40 +0100 | <monochrom> | err, no, need LOL wrappers |
2021-01-09 00:34:54 +0100 | <glguy> | and then pad out the 'a's |
2021-01-09 00:35:41 +0100 | <monochrom> | az = map LOL ['a'..'z'] ++ xprod (\c (LOL cs) -> LOL (c : cs)) ['a'..'z'] az |
2021-01-09 00:35:42 +0100 | carthia | (~carthia@gateway/tor-sasl/carthia) |
2021-01-09 00:36:04 +0100 | <ephemient> | > let as = [] : (flip (:) <$> as <*> ['a'..'z']) in as |
2021-01-09 00:36:07 +0100 | <lambdabot> | ["","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r",... |
2021-01-09 00:36:37 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:e508:d43e:e329:fdb5) (Ping timeout: 244 seconds) |
2021-01-09 00:36:57 +0100 | <monochrom> | > let as = [] : (flip (:) <$> as <*> ['a'..'z']) in drop (26+26) as |
2021-01-09 00:37:01 +0100 | <lambdabot> | ["za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb",... |
2021-01-09 00:37:10 +0100 | <ski> | > let as = [] : (flip (:) <$> as <*> "01") in take 15 as |
2021-01-09 00:37:14 +0100 | <lambdabot> | ["","0","1","00","10","01","11","000","100","010","110","001","101","011","1... |
2021-01-09 00:37:52 +0100 | kyali | (~kyali@APN-123-248-168-gprs.simobil.net) (Remote host closed the connection) |
2021-01-09 00:38:38 +0100 | <pie_> | LOL wrappers 'xD |
2021-01-09 00:39:00 +0100 | <pie_> | im too neurotypical to not be hung up on that |
2021-01-09 00:39:22 +0100 | fcortesi | (~fcortesi@78-66-245-190.fibertel.com.ar) |
2021-01-09 00:42:49 +0100 | <ski> | monochrom : i guess you want singletons there |
2021-01-09 00:42:52 +0100 | <ph88> | updated version, still work in progress https://bpa.st/3H5A |
2021-01-09 00:43:37 +0100 | knupfer | (~Thunderbi@200116b82c8bca00ad1bd0c74650766d.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2021-01-09 00:43:47 +0100 | <ski> | @type \div number -> number `div` (26 ^ div) |
2021-01-09 00:43:49 +0100 | <lambdabot> | (Integral (t1 -> t2 -> t3), Num t2) => (t1 -> t2 -> t3) -> t1 -> t3 |
2021-01-09 00:47:01 +0100 | fcortesi | (~fcortesi@78-66-245-190.fibertel.com.ar) (Ping timeout: 264 seconds) |
2021-01-09 00:48:04 +0100 | dhouthoo | (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9) |
2021-01-09 00:49:19 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:ff66:bb34:7221:2b3d) |
2021-01-09 00:49:20 +0100 | <ephemient> | ph88: fwiw excel stops at 2^14 columns, not an infinite sequence of names. probably not relevant to your exercise though :P |
2021-01-09 00:49:37 +0100 | <ph88> | ye |
2021-01-09 00:49:53 +0100 | <ph88> | it's not really for excel either i just need a similar naming scheme |
2021-01-09 00:50:03 +0100 | <ph88> | not that i need that long sequence .. but ye haskell lol |
2021-01-09 00:53:02 +0100 | fcortesi | (~fcortesi@78-66-245-190.fibertel.com.ar) |
2021-01-09 00:55:06 +0100 | Icewing | (~Icewing@unaffiliated/icewing) (Remote host closed the connection) |
2021-01-09 00:55:45 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Remote host closed the connection) |
2021-01-09 00:56:01 +0100 | maroloccio__ | (~marolocci@pousada3ja.mma.com.br) (Ping timeout: 264 seconds) |
2021-01-09 00:56:21 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-dmdothxqoypgdjpl) |
2021-01-09 00:56:32 +0100 | <ephemient> | one problem with this number approach is that a, aa, aaa... etc. cannot all be generated from 0 = 00 = 000... |
2021-01-09 01:01:32 +0100 | <monochrom> | yeah, that one is a bummer. |
2021-01-09 01:01:39 +0100 | <ephemient> | come to think of it, this probably has better memory behavior than the knot-tying one: |
2021-01-09 01:01:41 +0100 | <ephemient> | > flip replicateM "01" =<< [1..] |
2021-01-09 01:01:44 +0100 | <lambdabot> | ["0","1","00","01","10","11","000","001","010","011","100","101","110","111"... |
2021-01-09 01:01:58 +0100 | <monochrom> | heh |
2021-01-09 01:02:29 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2021-01-09 01:02:46 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 01:03:07 +0100 | zincy_ | (~tom@2a00:23c8:970a:3501:38a6:4546:df42:c1cb) (Remote host closed the connection) |
2021-01-09 01:03:08 +0100 | zincy__ | (~tom@host86-182-43-65.range86-182.btcentralplus.com) |
2021-01-09 01:04:12 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-09 01:04:25 +0100 | fcortesi | (~fcortesi@78-66-245-190.fibertel.com.ar) (Ping timeout: 264 seconds) |
2021-01-09 01:05:41 +0100 | <ski> | (that was what `allCombinations' above did, except it started at `0') |
2021-01-09 01:06:28 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-09 01:06:57 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-09 01:07:56 +0100 | <ephemient> | although if I think about it as excel columns, the number solution would work if you use each ∑_{i=1}^n 26^i = (26^(n+1)-1)/25-1 as a base for length-n strings |
2021-01-09 01:09:20 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:4c51:83e:647e:c991) |
2021-01-09 01:09:56 +0100 | petersen | (~petersen@redhat/juhp) (Ping timeout: 240 seconds) |
2021-01-09 01:11:36 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds) |
2021-01-09 01:12:39 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:4c51:83e:647e:c991) (Ping timeout: 272 seconds) |
2021-01-09 01:14:13 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2021-01-09 01:14:28 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2021-01-09 01:15:50 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
2021-01-09 01:19:14 +0100 | nnst^ | (~hph@ip98-184-89-2.mc.at.cox.net) () |
2021-01-09 01:21:45 +0100 | mouseghost | (~draco@wikipedia/desperek) (Quit: mew wew) |
2021-01-09 01:23:23 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-09 01:25:19 +0100 | Entertainment | (~entertain@104.246.132.210) (Ping timeout: 246 seconds) |
2021-01-09 01:25:59 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2021-01-09 01:26:30 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-09 01:27:09 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
2021-01-09 01:27:53 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-09 01:31:45 +0100 | new_haskeller | (ae72a197@cpe00fc8d386d93-cm00fc8d386d90.cpe.net.cable.rogers.com) (Ping timeout: 245 seconds) |
2021-01-09 01:36:48 +0100 | _linker_ | (~linker@185-12-21-77.sigma.jaslo.pl) (Remote host closed the connection) |
2021-01-09 01:38:30 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 01:43:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-09 01:44:34 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@171.5.28.247) |
2021-01-09 01:47:55 +0100 | <ph88^> | oh solved it, easy peazy f=(!!)(sequence=<<(tail$iterate(['A'..'Z']:)[])) |
2021-01-09 01:49:07 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
2021-01-09 01:49:21 +0100 | kayvan | (~user@52-119-115-160.PUBLIC.monkeybrains.net) |
2021-01-09 01:49:28 +0100 | Tops2 | (~Tobias@dyndsl-095-033-088-067.ewe-ip-backbone.de) (Quit: Leaving.) |
2021-01-09 01:50:13 +0100 | <ph88^> | ok that wasn't what i wanted but still cool https://codegolf.stackexchange.com/a/3973 |
2021-01-09 01:52:08 +0100 | freeman42x[m] | (freeman42x@gateway/shell/matrix.org/x-tgneiyxcgqrblnuy) |
2021-01-09 01:52:44 +0100 | <ephemient> | if you're golfing, f=((`replicateM`['A'..'Z'])=<<[1..]!!).succ beats that |
2021-01-09 01:52:56 +0100 | <ephemient> | err, take off the `succ` |
2021-01-09 01:53:52 +0100 | <freeman42x[m]> | is there some Haskell program or REPL feature to convert an expression into the equivalent version but with parentheses? |
2021-01-09 01:53:58 +0100 | carlomagno1 | (~cararell@148.87.23.7) (Quit: Leaving.) |
2021-01-09 01:54:22 +0100 | <ephemient> | > let f=(((`replicateM`['A'..'Z'])=<<[1..])!!) in f 16383 |
2021-01-09 01:54:23 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
2021-01-09 01:54:24 +0100 | <lambdabot> | "XFD" |
2021-01-09 01:54:33 +0100 | <ephemient> | > let f=(!!)(sequence=<<(tail$iterate(['A'..'Z']:)[])) in f 16383 |
2021-01-09 01:54:36 +0100 | <lambdabot> | "XFD" |
2021-01-09 01:54:54 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-09 01:55:36 +0100 | <ph88^> | ephemient, no i'm not golfing .. just would like a version that doesn't need to be passed in a number but instead generates an infinite list |
2021-01-09 01:55:46 +0100 | <ph88^> | spend 1.5 hours on it, but i can't seem to get the numbers right |
2021-01-09 01:56:15 +0100 | <ephemient> | just take the (!!) off of those? |
2021-01-09 01:56:19 +0100 | <ph88^> | i have this but it is bugged https://bpa.st/PW7Q |
2021-01-09 01:56:44 +0100 | <ph88^> | oh ok ill take !! off |
2021-01-09 01:57:09 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 01:58:14 +0100 | <ph88^> | hum .. when i want Text instead of String where would i have to insert the pack function ? |
2021-01-09 01:58:57 +0100 | <ephemient> | > let f=T.pack<$>(((`replicateM`['A'..'Z'])=<<[1..])) in f!!16383 |
2021-01-09 01:59:00 +0100 | <lambdabot> | error: |
2021-01-09 01:59:00 +0100 | <lambdabot> | Not in scope: ‘T.pack’ |
2021-01-09 01:59:00 +0100 | <lambdabot> | Perhaps you meant ‘BS.pack’ (imported from Data.ByteString) |
2021-01-09 01:59:17 +0100 | <ephemient> | > let f=Data.Text.pack<$>(((`replicateM`['A'..'Z'])=<<[1..])) in f!!16383 |
2021-01-09 01:59:20 +0100 | <lambdabot> | error: |
2021-01-09 01:59:20 +0100 | <lambdabot> | Not in scope: ‘Data.Text.pack’ |
2021-01-09 01:59:20 +0100 | <lambdabot> | No module named ‘Data.Text’ is imported. |
2021-01-09 01:59:38 +0100 | <ephemient> | bah, not in lambdabot's default imports? |
2021-01-09 01:59:53 +0100 | <ephemient> | @define import qualified Data.Text as T |
2021-01-09 01:59:55 +0100 | <lambdabot> | Defined. |
2021-01-09 02:00:02 +0100 | <ephemient> | > let f=T.pack<$>(((`replicateM`['A'..'Z'])=<<[1..])) in f!!16383 |
2021-01-09 02:00:09 +0100 | <lambdabot> | mueval-core: Time limit exceeded |
2021-01-09 02:00:25 +0100 | <ephemient> | hrm. |
2021-01-09 02:00:26 +0100 | <ph88^> | eh sorry i was going with this variant |
2021-01-09 02:00:29 +0100 | <ph88^> | (concatMap sequence $ tail $ iterate (['A'..'Z'] :) []) |
2021-01-09 02:00:39 +0100 | <ph88^> | but i guess i can do fmap T.pack ? |
2021-01-09 02:00:55 +0100 | <ph88^> | or just map |
2021-01-09 02:01:13 +0100 | <ph88^> | hhmm timelimit exceed is suspecious |
2021-01-09 02:01:20 +0100 | <ephemient> | > tail $ map T.pack $ concatMap sequence $ inits $ repeat ['A'..'Z'] |
2021-01-09 02:01:23 +0100 | <lambdabot> | ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S"... |
2021-01-09 02:01:39 +0100 | <ephemient> | > drop 50 $ map T.pack $ concatMap sequence $ inits $ repeat ['A'..'Z'] |
2021-01-09 02:01:42 +0100 | <lambdabot> | ["AX","AY","AZ","BA","BB","BC","BD","BE","BF","BG","BH","BI","BJ","BK","BL",... |
2021-01-09 02:01:50 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Ping timeout: 264 seconds) |
2021-01-09 02:03:19 +0100 | <ph88^> | looks good, thanks ephemient :) |
2021-01-09 02:03:39 +0100 | christo | (~chris@81.96.113.213) |
2021-01-09 02:05:18 +0100 | plutoniix | (~q@node-uru.pool-125-24.dynamic.totinternet.net) (Remote host closed the connection) |
2021-01-09 02:06:10 +0100 | kayvan | (~user@52-119-115-160.PUBLIC.monkeybrains.net) ("ERC (IRC client for Emacs 28.0.50)") |
2021-01-09 02:06:19 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving) |
2021-01-09 02:07:46 +0100 | <ephemient> | freeman42x[m]: surprisingly, I can't find any |
2021-01-09 02:08:30 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 272 seconds) |
2021-01-09 02:09:30 +0100 | <ephemient> | I mean, lambdabot does have @unpl, but that adds points, not parentheses |
2021-01-09 02:12:13 +0100 | freeman42x[m] | sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/ielJiCPIQPTAOIpaLoTbhTUI/message.txt > |
2021-01-09 02:14:04 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) (Ping timeout: 260 seconds) |
2021-01-09 02:14:46 +0100 | <int-e> | @where L.hs |
2021-01-09 02:14:46 +0100 | <lambdabot> | what lambdabot has in scope is at https://silicon.int-e.eu/lambdabot/State/Pristine.hs |
2021-01-09 02:14:53 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2021-01-09 02:15:29 +0100 | <int-e> | interesting. I thought Data.Text was in there by now |
2021-01-09 02:17:05 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit) |
2021-01-09 02:17:07 +0100 | <int-e> | @undef |
2021-01-09 02:17:07 +0100 | <lambdabot> | Undefined. |
2021-01-09 02:17:11 +0100 | <int-e> | :t Text.pack |
2021-01-09 02:17:12 +0100 | <lambdabot> | String -> Text.Text |
2021-01-09 02:17:24 +0100 | <int-e> | (T is used for Traversable, somehow) |
2021-01-09 02:17:33 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 02:17:48 +0100 | <int-e> | that doesn't make any sense anymore though, does it? |
2021-01-09 02:18:18 +0100 | <ephemient> | I don't think so. importing Traversable unqualified should be fine... |
2021-01-09 02:18:19 +0100 | <int-e> | :t T.forM |
2021-01-09 02:18:20 +0100 | <lambdabot> | (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b) |
2021-01-09 02:18:32 +0100 | <ephemient> | :t forM |
2021-01-09 02:18:33 +0100 | <lambdabot> | (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b) |
2021-01-09 02:18:51 +0100 | <int-e> | Oh, it's *also* imported unqualified anyway. |
2021-01-09 02:19:17 +0100 | <int-e> | @undef |
2021-01-09 02:19:17 +0100 | <lambdabot> | Undefined. |
2021-01-09 02:19:20 +0100 | <int-e> | :t T.pack |
2021-01-09 02:19:21 +0100 | <lambdabot> | String -> T.Text |
2021-01-09 02:19:27 +0100 | <int-e> | fine let's do it this way |
2021-01-09 02:21:55 +0100 | <Athas> | What is the most efficient way to create an unboxed vector from a ByteString? Currently I use genericGetVectorWith, but it is slow and I am impatient. |
2021-01-09 02:22:49 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 02:23:07 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 02:24:20 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 272 seconds) |
2021-01-09 02:27:09 +0100 | ThoaiOnline | (~ThoaiOnli@nv.tho.ai) () |
2021-01-09 02:29:24 +0100 | columbarius1 | (~columbari@mue-88-130-54-078.dsl.tropolys.de) (Ping timeout: 272 seconds) |
2021-01-09 02:31:20 +0100 | columbarius1 | (~columbari@i5E86B3D4.versanet.de) |
2021-01-09 02:33:34 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2021-01-09 02:36:01 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 246 seconds) |
2021-01-09 02:40:49 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007) |
2021-01-09 02:41:28 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e77345042c8b5bd54d99.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-01-09 02:41:44 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-09 02:42:41 +0100 | <ephemient> | Athas: close enough? https://www.irccloud.com/pastebin/lbu13Vm0/ |
2021-01-09 02:43:52 +0100 | <Athas> | ephemient: yeah, I'm now playing with the bytestring-to-vector package, which is basically that. |
2021-01-09 02:43:55 +0100 | <Athas> | We'll see how fast it is... |
2021-01-09 02:45:58 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 02:46:38 +0100 | <ephemient> | package is 0-copy, ^^ is 1-copy. in theory, copy is safer, as BS slices can be unaligned, but mine is untested so that doesn't help with the safety :D |
2021-01-09 02:46:51 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-134-122.cust.tzulo.com) |
2021-01-09 02:47:39 +0100 | <Athas> | The ByteStrings I have are definitely unaligned, but I think that's fine on all the hardware I will be running on. And I could also accept a copy as long as it's actually running a something close to memcpy() speed. |
2021-01-09 02:49:28 +0100 | <ephemient> | copyArray uses copyBytes which is memcpy |
2021-01-09 02:50:49 +0100 | mirrorbird | (~psutcliff@2a00:801:236:570e:b1f2:acf6:e570:218d) (Ping timeout: 272 seconds) |
2021-01-09 02:51:24 +0100 | carthia | (~carthia@gateway/tor-sasl/carthia) (Quit: carthia) |
2021-01-09 02:51:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-09 02:52:49 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Quit: thc202) |
2021-01-09 02:55:07 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 02:59:33 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Ping timeout: 260 seconds) |
2021-01-09 03:01:19 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2021-01-09 03:02:53 +0100 | <Athas> | Oh wow, storable vectors are bloody fast. |
2021-01-09 03:03:02 +0100 | <Athas> | This outcome pleases me. |
2021-01-09 03:03:17 +0100 | <Athas> | Maybe this Haskell thing is good for something after all! |
2021-01-09 03:12:01 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-01-09 03:12:50 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 03:21:02 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-09 03:21:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 03:21:44 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2021-01-09 03:22:49 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 03:23:07 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 03:24:26 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-09 03:24:31 +0100 | kupi | (uid212005@gateway/web/irccloud.com/x-xikvdfvfkemgovqv) (Quit: Connection closed for inactivity) |
2021-01-09 03:25:21 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2021-01-09 03:27:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-09 03:28:51 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-09 03:31:36 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-09 03:34:41 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:ff66:bb34:7221:2b3d) (Quit: WeeChat 3.0) |
2021-01-09 03:34:45 +0100 | DataComp_ | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 240 seconds) |
2021-01-09 03:35:37 +0100 | vonfry | (~user@116.236.75.207) |
2021-01-09 03:36:47 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2021-01-09 03:37:05 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007) |
2021-01-09 03:38:16 +0100 | petersen | (~petersen@redhat/juhp) |
2021-01-09 03:39:13 +0100 | electricityZZZZ | (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
2021-01-09 03:39:38 +0100 | xff0x | (~fox@2001:1a81:5351:7000:be64:5f30:b1c2:aa2d) (Ping timeout: 264 seconds) |
2021-01-09 03:41:10 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:d33d:3a64:e310:3fd) |
2021-01-09 03:46:08 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2021-01-09 03:49:21 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-09 03:53:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 03:54:16 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 272 seconds) |
2021-01-09 03:55:51 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-01-09 03:56:15 +0100 | dandels | (~dandels@unaffiliated/dandels) |
2021-01-09 03:57:34 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds) |
2021-01-09 04:03:17 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-09 04:03:18 +0100 | xirhtogal | (~lagothrix@unaffiliated/lagothrix) |
2021-01-09 04:03:18 +0100 | lagothrix | Guest9629 |
2021-01-09 04:03:18 +0100 | Guest9629 | (~lagothrix@unaffiliated/lagothrix) (Killed (orwell.freenode.net (Nickname regained by services))) |
2021-01-09 04:03:18 +0100 | xirhtogal | lagothrix |
2021-01-09 04:04:42 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-09 04:05:02 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-09 04:07:40 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-09 04:07:43 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-01-09 04:08:31 +0100 | loli | (~loli@024-171-017-003.res.spectrum.com) |
2021-01-09 04:09:17 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-09 04:09:38 +0100 | haritz | (~hrtz@unaffiliated/haritz) (Ping timeout: 256 seconds) |
2021-01-09 04:09:56 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-09 04:10:25 +0100 | haritz | (~hrtz@62.3.70.206) |
2021-01-09 04:10:25 +0100 | haritz | (~hrtz@62.3.70.206) (Changing host) |
2021-01-09 04:10:25 +0100 | haritz | (~hrtz@unaffiliated/haritz) |
2021-01-09 04:15:45 +0100 | dyeplexer | (~lol@unaffiliated/terpin) |
2021-01-09 04:19:31 +0100 | drbean | (~drbean@TC210-63-209-169.static.apol.com.tw) |
2021-01-09 04:19:37 +0100 | _bin | (~bin@2600:1700:10a1:38d0:4c18:8b30:99af:ec29) (Read error: Connection reset by peer) |
2021-01-09 04:19:55 +0100 | _bin | (~bin@2600:1700:10a1:38d0:20be:8d7e:7dcc:6ee) |
2021-01-09 04:27:40 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-09 04:34:43 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2021-01-09 04:36:54 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-09 04:37:01 +0100 | christo | (~chris@81.96.113.213) |
2021-01-09 04:37:26 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 04:37:36 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-09 04:39:01 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 04:39:02 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-09 04:42:37 +0100 | plutoniix | (~q@184.82.200.176) |
2021-01-09 04:44:31 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-lmcddsyzezhgbtrc) (Quit: Connection closed for inactivity) |
2021-01-09 04:47:37 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-01-09 04:48:51 +0100 | dcbdnl | (~dcbdnl@c-73-76-129-120.hsd1.tx.comcast.net) |
2021-01-09 04:48:56 +0100 | jmchael | (~jmchael@87.112.235.234) (Ping timeout: 240 seconds) |
2021-01-09 04:49:43 +0100 | theDon | (~td@muedsl-82-207-238-128.citykom.de) (Ping timeout: 246 seconds) |
2021-01-09 04:51:09 +0100 | mizlan | (~michaella@c-67-169-7-31.hsd1.ca.comcast.net) |
2021-01-09 04:51:35 +0100 | theDon | (~td@94.134.91.100) |
2021-01-09 04:51:58 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) |
2021-01-09 04:52:16 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@171.5.28.247) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 04:52:40 +0100 | chang | (~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit) |
2021-01-09 04:56:14 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007) |
2021-01-09 04:58:57 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) |
2021-01-09 04:59:10 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-dhvdirleecffuxmg) (Quit: Connection closed for inactivity) |
2021-01-09 05:00:22 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 05:02:25 +0100 | dandels | (~dandels@unaffiliated/dandels) (Ping timeout: 240 seconds) |
2021-01-09 05:02:49 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-09 05:04:06 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-09 05:04:26 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 265 seconds) |
2021-01-09 05:04:42 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-01-09 05:04:48 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-01-09 05:05:01 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 05:05:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-09 05:05:27 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2021-01-09 05:05:41 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-09 05:07:13 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-09 05:07:47 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 05:08:28 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2021-01-09 05:12:17 +0100 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-01-09 05:13:46 +0100 | natechan | (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9) |
2021-01-09 05:15:26 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-09 05:17:39 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...) |
2021-01-09 05:18:20 +0100 | zaquest | (~notzaques@5.128.210.178) |
2021-01-09 05:20:48 +0100 | natechan | (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-01-09 05:22:48 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 05:23:04 +0100 | <mniip> | jle`, typelits-witnesses is a godsend |
2021-01-09 05:23:09 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 05:23:27 +0100 | <mniip> | idk if you've thought of this mode of operation, but I just kinda sick them in pattern guards |
2021-01-09 05:23:37 +0100 | <mniip> | | SNat <- SNat @n %+ SNat @1 |
2021-01-09 05:24:23 +0100 | sm2n | (~sm2n@bras-base-hmtnon1497w-grc-43-64-231-95-247.dsl.bell.ca) (Quit: Leaving) |
2021-01-09 05:25:16 +0100 | <jle`> | oooh |
2021-01-09 05:25:23 +0100 | <jle`> | that's pretty nice |
2021-01-09 05:25:33 +0100 | <jle`> | it's like what i do when i'm in do notation but more versatile |
2021-01-09 05:27:45 +0100 | Wuzzy | (~Wuzzy@p5790e648.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-01-09 05:31:33 +0100 | mizlan | (~michaella@c-67-169-7-31.hsd1.ca.comcast.net) (Quit: leaving) |
2021-01-09 05:31:47 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-09 05:36:33 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:11a3:b482:963:8773) |
2021-01-09 05:38:03 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 05:38:32 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-hbgqrvvjcuvgthgl) () |
2021-01-09 05:46:47 +0100 | vonfry | (~user@116.236.75.207) (Remote host closed the connection) |
2021-01-09 05:47:43 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
2021-01-09 05:47:44 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds) |
2021-01-09 05:49:14 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-09 05:49:15 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-09 05:50:32 +0100 | kayvan | (~user@52-119-115-160.PUBLIC.monkeybrains.net) |
2021-01-09 05:55:00 +0100 | kayvan | (~user@52-119-115-160.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
2021-01-09 05:56:10 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-134-122.cust.tzulo.com) (Quit: Leaving) |
2021-01-09 05:56:35 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 06:01:14 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Ping timeout: 264 seconds) |
2021-01-09 06:03:32 +0100 | dfeuer | (~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2021-01-09 06:03:54 +0100 | drbean | (~drbean@TC210-63-209-169.static.apol.com.tw) (Ping timeout: 260 seconds) |
2021-01-09 06:05:50 +0100 | tsrt^ | (~hph@ip98-184-89-2.mc.at.cox.net) |
2021-01-09 06:06:23 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection) |
2021-01-09 06:10:03 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
2021-01-09 06:10:13 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-09 06:11:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-09 06:13:01 +0100 | bi_functor | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 256 seconds) |
2021-01-09 06:14:42 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 06:15:25 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 240 seconds) |
2021-01-09 06:15:28 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 06:16:22 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 06:17:10 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 06:17:26 +0100 | tlockney | (~tlockney@185.204.1.185) (Remote host closed the connection) |
2021-01-09 06:17:38 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:97c0:58e7:7088:af23) |
2021-01-09 06:17:55 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-09 06:19:14 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:11a3:b482:963:8773) (Ping timeout: 264 seconds) |
2021-01-09 06:19:44 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-01-09 06:20:49 +0100 | gentauro | (~gentauro@unaffiliated/gentauro) (Ping timeout: 260 seconds) |
2021-01-09 06:21:32 +0100 | slack1256 | (~slack1256@dvc-186-186-101-190.movil.vtr.net) |
2021-01-09 06:22:16 +0100 | gentauro | (~gentauro@unaffiliated/gentauro) |
2021-01-09 06:27:37 +0100 | slack1256 | (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection) |
2021-01-09 06:28:21 +0100 | drbean | (~drbean@TC210-63-209-21.static.apol.com.tw) |
2021-01-09 06:28:48 +0100 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |
2021-01-09 06:29:36 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:1db3:d5d3:fa35:5ac1) |
2021-01-09 06:32:30 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 06:33:36 +0100 | ransom | (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: Textual IRC Client: www.textualapp.com) |
2021-01-09 06:36:23 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-01-09 06:36:45 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 265 seconds) |
2021-01-09 06:42:58 +0100 | monochrom | (trebla@216.138.220.146) |
2021-01-09 06:43:34 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-09 06:43:41 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 06:45:28 +0100 | Lycurgus | (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) |
2021-01-09 06:47:56 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-09 06:48:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-09 06:56:08 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-01-09 06:57:53 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 06:58:29 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Quit: p-core) |
2021-01-09 06:58:50 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) |
2021-01-09 07:01:02 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:c5ef:3e8a:389d:3246) (Remote host closed the connection) |
2021-01-09 07:01:06 +0100 | maroloccio__ | (~marolocci@pousada3ja.mma.com.br) |
2021-01-09 07:02:43 +0100 | xsperry | (~as@unaffiliated/xsperry) (Ping timeout: 246 seconds) |
2021-01-09 07:02:48 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Ping timeout: 260 seconds) |
2021-01-09 07:04:07 +0100 | mozzarella | (~sam@unaffiliated/sam113101) (Remote host closed the connection) |
2021-01-09 07:05:02 +0100 | xsperry | (~as@unaffiliated/xsperry) |
2021-01-09 07:05:34 +0100 | mozzarella | (~sam@unaffiliated/sam113101) |
2021-01-09 07:07:06 +0100 | mozzarella | (~sam@unaffiliated/sam113101) (Remote host closed the connection) |
2021-01-09 07:09:26 +0100 | mozzarella | (~sam@unaffiliated/sam113101) |
2021-01-09 07:09:32 +0100 | echoreply | (~echoreply@unaffiliated/echoreply) (Quit: WeeChat 1.9.1) |
2021-01-09 07:09:54 +0100 | mozzarella | (~sam@unaffiliated/sam113101) (Remote host closed the connection) |
2021-01-09 07:10:03 +0100 | echoreply | (~echoreply@unaffiliated/echoreply) |
2021-01-09 07:11:15 +0100 | mozzarella | (~sam@unaffiliated/sam113101) |
2021-01-09 07:13:44 +0100 | <mniip> | jle`, how would I glue `P (n + 1)` and `P 0` together? |
2021-01-09 07:14:20 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:1db3:d5d3:fa35:5ac1) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 07:16:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 07:16:29 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:c848:157c:805d:521b) |
2021-01-09 07:20:36 +0100 | <MarcelineVQ> | not an answer: better luck with 1 + n with most definitions of + |
2021-01-09 07:21:02 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:c848:157c:805d:521b) (Ping timeout: 264 seconds) |
2021-01-09 07:25:57 +0100 | xsperry | (~as@unaffiliated/xsperry) (Read error: Connection reset by peer) |
2021-01-09 07:26:01 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds) |
2021-01-09 07:28:12 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2021-01-09 07:28:13 +0100 | <mniip> | MarcelineVQ, yea but GHC.TypeLits.Nat is not an inductive |
2021-01-09 07:28:25 +0100 | <mniip> | the two are equally obtuse |
2021-01-09 07:28:35 +0100 | <MarcelineVQ> | ok :> |
2021-01-09 07:29:23 +0100 | xsperry | (~as@unaffiliated/xsperry) |
2021-01-09 07:32:08 +0100 | noecho | (~noecho@2a01:4f8:1c0c:80ee::4223) (Quit: ZNC - http://znc.in) |
2021-01-09 07:32:42 +0100 | noecho | (~noecho@2a01:4f8:1c0c:80ee::4223) |
2021-01-09 07:33:29 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-01-09 07:36:03 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
2021-01-09 07:36:56 +0100 | <mniip> | jle`, the connection between SCmpNat and :<=? is very obtuse |
2021-01-09 07:38:35 +0100 | nly | (~user@122.177.255.225) |
2021-01-09 07:39:09 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 07:39:20 +0100 | jedws | (~jedws@121.209.189.201) |
2021-01-09 07:40:09 +0100 | <nly> | any library for FUSE? |
2021-01-09 07:40:38 +0100 | <nly> | nix search hfuse -> nothing |
2021-01-09 07:42:05 +0100 | visage_ | (~visage_@unaffiliated/visage/x-6658724) |
2021-01-09 07:42:50 +0100 | ArConan | (9de62a69@157.230.42.105) |
2021-01-09 07:43:08 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-09 07:43:29 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-01-09 07:43:38 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Ping timeout: 260 seconds) |
2021-01-09 07:43:49 +0100 | <dsal> | @hoogle fuse |
2021-01-09 07:43:49 +0100 | <lambdabot> | Data.Conduit fuse :: Monad m => Conduit a m b -> ConduitM b c m r -> ConduitM a c m r |
2021-01-09 07:43:49 +0100 | <lambdabot> | Data.Conduit.Internal fuse :: Monad m => Conduit a m b -> ConduitM b c m r -> ConduitM a c m r |
2021-01-09 07:43:49 +0100 | <lambdabot> | Prettyprinter fuse :: FusionDepth -> Doc ann -> Doc ann |
2021-01-09 07:44:00 +0100 | <dsal> | Hmm... Overloaded term. |
2021-01-09 07:44:08 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-01-09 07:44:26 +0100 | <nly> | Filesystem in USErspace |
2021-01-09 07:44:50 +0100 | <dsal> | Yeah, but that's not what these things are doing. |
2021-01-09 07:45:09 +0100 | <mniip> | neat, it segfaulted |
2021-01-09 07:45:15 +0100 | <dsal> | https://hackage.haskell.org/package/HFuse-0.2.5.0/docs/System-Fuse.html |
2021-01-09 07:45:53 +0100 | <nly> | can't find it in nix. which pkg mngr should i use? |
2021-01-09 07:46:25 +0100 | xsperry | (~as@unaffiliated/xsperry) (Ping timeout: 264 seconds) |
2021-01-09 07:46:46 +0100 | Lycurgus | (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt) |
2021-01-09 07:47:04 +0100 | xsperry | (~as@unaffiliated/xsperry) |
2021-01-09 07:47:15 +0100 | <dsal> | It's not in stackage, so you may just have to DIY. |
2021-01-09 07:47:55 +0100 | <nly> | ah, faceknee. hfuse -> HFuse. found it |
2021-01-09 07:48:06 +0100 | <nly> | ty |
2021-01-09 07:49:17 +0100 | coot | (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-01-09 07:50:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-09 07:50:30 +0100 | coot | (~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) |
2021-01-09 07:51:38 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:c848:157c:805d:521b) |
2021-01-09 07:52:39 +0100 | <mniip> | >_> |
2021-01-09 07:56:28 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:c848:157c:805d:521b) (Ping timeout: 260 seconds) |
2021-01-09 07:57:21 +0100 | <ephemient> | seems to be missing a lot of newer stuff from the high-level API (no xattr, poll, bmap, ioctl, flock, fallocate, more efficient read/write) and doesn't wrap the low-level API at all, but depending on what you're doing it could be sufficient |
2021-01-09 07:57:49 +0100 | piele | (~piele@tbonesteak.creativeserver.net) (Quit: No Ping reply in 180 seconds.) |
2021-01-09 07:58:05 +0100 | piele | (~piele@tbonesteak.creativeserver.net) |
2021-01-09 07:58:29 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-01-09 08:02:27 +0100 | <mniip> | this is super weird |
2021-01-09 08:04:45 +0100 | <nly> | ah ok |
2021-01-09 08:05:05 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-09 08:06:36 +0100 | <mniip> | jle`, in minusSNat you're unsafeCoercing SNat _ -> Either _ (SNat _) |
2021-01-09 08:06:42 +0100 | <mniip> | missing a `Right` |
2021-01-09 08:07:08 +0100 | <mniip> | causing it to always return something that looks like `Left Refl` to the STG |
2021-01-09 08:12:02 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
2021-01-09 08:14:00 +0100 | jedws | (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 08:15:49 +0100 | Cassim | (~cassim@51.194.80.91) (Ping timeout: 264 seconds) |
2021-01-09 08:17:12 +0100 | jedws | (~jedws@121.209.189.201) |
2021-01-09 08:18:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 08:21:23 +0100 | mikevdg | (73bd50e6@115-189-80-230.mobile.spark.co.nz) |
2021-01-09 08:21:53 +0100 | <mikevdg> | Which alternative Prelude do all the cool kids use? I'm starting a new small project and I was going to give Relude a try. |
2021-01-09 08:23:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-09 08:29:29 +0100 | jamm | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-09 08:33:06 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-09 08:36:11 +0100 | jedws | (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 08:39:41 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-01-09 08:46:44 +0100 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Quit: Leaving) |
2021-01-09 08:47:01 +0100 | jamm | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-09 08:50:28 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-09 08:53:18 +0100 | <jle`> | mniip: oh nooo D: |
2021-01-09 08:54:00 +0100 | <mniip> | while we're at it, most proofy combinators are useless |
2021-01-09 08:54:40 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007) |
2021-01-09 08:54:49 +0100 | <mniip> | say, flipCmpNat :: SCmpNat m n -> SCmpNat n m |
2021-01-09 08:55:34 +0100 | <mniip> | this is a (opaque!) proof that (m < n \/ m = n \/ m > n) -> (n < m \/ n = m \/ n > m) |
2021-01-09 08:55:41 +0100 | <mniip> | but I already knew that |
2021-01-09 08:56:06 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 08:56:09 +0100 | <mniip> | I want to know that the m < n branch in the hypothesis corresponds to the n < m branch in the conclusion |
2021-01-09 08:57:11 +0100 | <mniip> | i.e. a theorem that looks like |
2021-01-09 08:57:17 +0100 | <mniip> | CmpNat m n :~: 'LT -> CmpNat n m :~: 'GT |
2021-01-09 09:00:49 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:1db3:d5d3:fa35:5ac1) |
2021-01-09 09:00:53 +0100 | nly | (~user@122.177.255.225) (Changing host) |
2021-01-09 09:00:53 +0100 | nly | (~user@unaffiliated/nly) |
2021-01-09 09:02:05 +0100 | visage_ | (~visage_@unaffiliated/visage/x-6658724) (Quit: Textual IRC Client: www.textualapp.com) |
2021-01-09 09:02:37 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds) |
2021-01-09 09:02:43 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds) |
2021-01-09 09:03:50 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-09 09:11:20 +0100 | <ArConan> | why haskell doesn't use != but /=? |
2021-01-09 09:11:46 +0100 | <ArConan> | so strange |
2021-01-09 09:12:15 +0100 | bitmagie | (~Thunderbi@200116b806ecba00b9a553bd4de44e4b.dip.versatel-1u1.de) |
2021-01-09 09:14:24 +0100 | <Rembane> | ArConan: Because /= looks more like ≠ which is how non-equivalence is written in maths. |
2021-01-09 09:15:32 +0100 | <ArConan> | it looks like +=or-=-_- |
2021-01-09 09:15:51 +0100 | <Rembane> | Yup, I am confused every time I get back to Haskell from another language. :) |
2021-01-09 09:15:53 +0100 | sorki | (~sorki@gateway/tor-sasl/sorki) |
2021-01-09 09:15:55 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-09 09:16:10 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-01-09 09:16:46 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2021-01-09 09:18:44 +0100 | sorki | srk |
2021-01-09 09:19:20 +0100 | plutoniix | (~q@184.82.200.176) (Quit: Leaving) |
2021-01-09 09:20:36 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2021-01-09 09:20:58 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-01-09 09:22:14 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2021-01-09 09:24:08 +0100 | theorbtwo | (~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-01-09 09:25:59 +0100 | <bitonic> | pie_: sorry, i'm a bit busy rn, i will get to that pr eventually! |
2021-01-09 09:27:11 +0100 | <idnar> | I have my editor configured to render /= as ≠ |
2021-01-09 09:30:04 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-09 09:33:10 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-09 09:35:57 +0100 | taurux | (~taurux@net-188-152-137-51.cust.dsl.teletu.it) |
2021-01-09 09:36:21 +0100 | plutoniix | (~q@184.82.200.176) |
2021-01-09 09:36:23 +0100 | tito_04 | (~taurux@net-188-152-137-51.cust.dsl.teletu.it) (Ping timeout: 256 seconds) |
2021-01-09 09:37:47 +0100 | <Graypup_> | how can I put an infallible computation into an ExceptT? Like, say I have a: |
2021-01-09 09:37:56 +0100 | <Graypup_> | iowat :: IO Text |
2021-01-09 09:38:05 +0100 | <Graypup_> | iowat = return "" |
2021-01-09 09:38:25 +0100 | <mikevdg> | Haskell is supposed to make multicore computing easy. Yet, `stack` is pegging only one core at 100%. |
2021-01-09 09:38:33 +0100 | <mikevdg> | grr |
2021-01-09 09:38:35 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:4d71:f772:2af5:4ee2) |
2021-01-09 09:39:06 +0100 | <Graypup_> | how would I use that from within a do block? like, runExceptT $ do ExceptT $ lift iowat |
2021-01-09 09:39:07 +0100 | <Graypup_> | is bad |
2021-01-09 09:39:13 +0100 | drbean | (~drbean@TC210-63-209-21.static.apol.com.tw) (Ping timeout: 264 seconds) |
2021-01-09 09:39:18 +0100 | <Graypup_> | with mystery compiler messages about Either |
2021-01-09 09:40:20 +0100 | <Rembane> | Graypup_: Have you tried liftIO iowat? |
2021-01-09 09:40:39 +0100 | <idnar> | Graypup_: does `runExceptT $ do liftIO iowat` work? |
2021-01-09 09:42:21 +0100 | raym | (~ray@45.64.220.18) |
2021-01-09 09:43:14 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:4d71:f772:2af5:4ee2) (Ping timeout: 264 seconds) |
2021-01-09 09:43:26 +0100 | <Graypup_> | hm, as far as I can tell, I'm getting the same result |
2021-01-09 09:44:29 +0100 | <Graypup_> | almost wonder if I have the declaration of the function wrong |
2021-01-09 09:44:54 +0100 | <Rembane> | Graypup_: What's the error message? |
2021-01-09 09:45:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 09:45:25 +0100 | <Graypup_> | well, value. It's defined as `wat :: ExceptT () IO Text`, for testing. I'll put an actual exception type in in a bit |
2021-01-09 09:47:36 +0100 | <Graypup_> | https://gist.github.com/lf-/af709550202ff0d7c39814e486b98605 |
2021-01-09 09:52:02 +0100 | <Graypup_> | I guess I should explain what I'm ultimately trying to do, which is to produce typed errors for a higher level in my call stack in a yesod app, and to avoid rightward drift. In effect what I want to do is do a few database queries and associated manipulations, and return early. There are three conditions I want to distinguish: failure due to bad data, failure due to not having records, and successfully finding a record, with that record |
2021-01-09 09:53:44 +0100 | <Graypup_> | In Rust I'd model this as Result<Option<TheData>, SomeErrorType> and use the question mark operator with map_err/ok_or to turn everything into the right error types and get early return |
2021-01-09 09:53:46 +0100 | mikevdg | (73bd50e6@115-189-80-230.mobile.spark.co.nz) (Remote host closed the connection) |
2021-01-09 09:56:42 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz) |
2021-01-09 09:57:25 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-09 09:59:15 +0100 | Guest_47 | (0d4b4d08@13.75.77.8) |
2021-01-09 09:59:25 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 09:59:45 +0100 | <Guest_47> | hi, I'm using MacOS 11.1 |
2021-01-09 09:59:46 +0100 | <Guest_47> | % curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | shzsh: command not found: sh(23) Failed writing body |
2021-01-09 09:59:46 +0100 | <yahb> | Guest_47: ; <interactive>:65:1: error: Variable not in scope: curl |
2021-01-09 10:00:04 +0100 | hsiktas[m] | (hsiktasmat@gateway/shell/matrix.org/x-whwokcjaloumigax) (Quit: Idle for 30+ days) |
2021-01-09 10:00:37 +0100 | <Guest_47> | and when I used ghcup, https://www.haskell.org/ghcup/, then show "zsh: command not found: sh" |
2021-01-09 10:00:51 +0100 | <Guest_47> | could you please help me? really really thanks!! 😊 |
2021-01-09 10:01:36 +0100 | <[exa]> | Guest_47: do you have the `sh` executable in path? |
2021-01-09 10:02:19 +0100 | <Guest_47> | yahb oh sorry, I couldn't understand what you mean :( |
2021-01-09 10:02:37 +0100 | <Guest_47> | [exa] oh? I'm not sure 🤔 |
2021-01-09 10:02:52 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 272 seconds) |
2021-01-09 10:03:43 +0100 | Deide | (~Deide@217.155.19.23) |
2021-01-09 10:03:53 +0100 | bitonic[m] | (bitonicmat@gateway/shell/matrix.org/x-ixsyclxhcukpebna) |
2021-01-09 10:04:38 +0100 | <Graypup_> | Guest_47, what do you have for output of `command -v sh` in a terminal? |
2021-01-09 10:05:20 +0100 | <ephemient> | macos is still unix enough to have a /bin/sh, something odd is going on there |
2021-01-09 10:05:53 +0100 | <Graypup_> | I agree, something odd is definitely at play here |
2021-01-09 10:06:01 +0100 | ArConan | (9de62a69@157.230.42.105) (Remote host closed the connection) |
2021-01-09 10:06:08 +0100 | <Graypup_> | maybe special characters |
2021-01-09 10:06:27 +0100 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) |
2021-01-09 10:07:48 +0100 | <Guest_47> | oh? |
2021-01-09 10:07:52 +0100 | <Guest_47> | Graypup_ |
2021-01-09 10:08:02 +0100 | <Guest_47> | % command -v sh |
2021-01-09 10:08:15 +0100 | <Guest_47> | hi do you mean like that? nothing output |
2021-01-09 10:08:30 +0100 | <Guest_47> | shzsh: command not found: sh |
2021-01-09 10:08:38 +0100 | <Guest_47> | sh |
2021-01-09 10:08:46 +0100 | <Guest_47> | zsh: command not found: sh |
2021-01-09 10:09:12 +0100 | <Guest_47> | seems many commands in my terminal are broken😢 |
2021-01-09 10:09:22 +0100 | <Graypup_> | that is extremely bizarre. something is broken to do with the PATH variable |
2021-01-09 10:09:29 +0100 | <Guest_47> | % ls |
2021-01-09 10:09:30 +0100 | <Graypup_> | what's `echo $PATH` say? |
2021-01-09 10:09:30 +0100 | <yahb> | Guest_47: ; <interactive>:66:1: error: Variable not in scope: ls |
2021-01-09 10:09:32 +0100 | <Guest_47> | zsh: command not found: ls |
2021-01-09 10:09:40 +0100 | <Guest_47> | oh wait let me try! |
2021-01-09 10:09:51 +0100 | <Guest_47> | really thanks for you all!!!! |
2021-01-09 10:10:40 +0100 | <[exa]> | o nice. |
2021-01-09 10:10:42 +0100 | <Guest_47> | oh output is a anaconda path |
2021-01-09 10:11:03 +0100 | <idnar> | Graypup_: `wat :: E.ExceptT () IO String` is the wrong type; I think it'll be more like `wat :: IO (Either String String)` |
2021-01-09 10:11:13 +0100 | <idnar> | err |
2021-01-09 10:11:14 +0100 | <Guest_47> | "/Users/my_user_name/anaconda3/bin:/H" |
2021-01-09 10:11:21 +0100 | <ephemient> | that is very wrong :O |
2021-01-09 10:11:42 +0100 | jollygood2 | (~bc812391@217.29.117.252) |
2021-01-09 10:11:48 +0100 | bitonic | (sid61915@gateway/web/irccloud.com/x-oenzzwnusihqnkjo) () |
2021-01-09 10:11:52 +0100 | <Guest_47> | oh😢😢😢😢😢 |
2021-01-09 10:12:02 +0100 | <Graypup_> | idnar, hm, yes, but how would I use ExceptT then? The issue I'm trying to solve is that error handling in the HandlerT monad is atrociously frustrating and ugly without a monad transformer |
2021-01-09 10:12:28 +0100 | <jollygood2> | hi. how can I quit entire program from forked thread? calling exitFailure just prints the exception, but the main thread is still running |
2021-01-09 10:12:33 +0100 | <[exa]> | Guest_47: that's broken for sure, either find what has set the wrong PATH (check the usual profile dotfiles, guess .zshrc? ) or just try starting a new terminal |
2021-01-09 10:12:59 +0100 | <Graypup_> | on the plus side, we can make an educated guess as to what broke it :) |
2021-01-09 10:13:13 +0100 | <ephemient> | check your .zshenv, .zprofile, .zshrc, .zlogin for anything setting PATH |
2021-01-09 10:13:34 +0100 | <ephemient> | it should never be overridden like that. appending is ok |
2021-01-09 10:13:49 +0100 | <idnar> | Graypup_: is that type not what you want? |
2021-01-09 10:13:50 +0100 | <[exa]> | I hoped that anaconda is now oficially considered a Bad Idea™ |
2021-01-09 10:13:55 +0100 | <Guest_47> | oh!! thanks!! let me try! |
2021-01-09 10:14:45 +0100 | <Graypup_> | idnar, I'd like to use ExceptT as my return value, but I could try to see if i can make it an internal thing only I suppose |
2021-01-09 10:15:20 +0100 | <idnar> | Graypup_: take out the runExceptT then |
2021-01-09 10:15:33 +0100 | <Guest_47> | ephemient: oh sorry |
2021-01-09 10:15:34 +0100 | <Graypup_> | oops hahaha |
2021-01-09 10:15:37 +0100 | <Guest_47> | do you mean like |
2021-01-09 10:15:39 +0100 | <Guest_47> | vim ~/.zshrc |
2021-01-09 10:15:46 +0100 | <Guest_47> | then |
2021-01-09 10:15:46 +0100 | <Guest_47> | zsh: command not found: vim |
2021-01-09 10:15:51 +0100 | <Graypup_> | Guest_47, you may need to use /usr/bin/vim though |
2021-01-09 10:15:57 +0100 | <Graypup_> | due to the PATH issue |
2021-01-09 10:16:01 +0100 | <Guest_47> | oh! |
2021-01-09 10:16:44 +0100 | <idnar> | Graypup_: you would runExceptT right at the end to render the final result I guess |
2021-01-09 10:16:44 +0100 | <Graypup_> | idnar, you are completely correct, it was that simple hahaha |
2021-01-09 10:16:45 +0100 | <[exa]> | Guest_47: you may edit these files the "gui way" with MacOSX tools, that shold not be broken by the missing PATH |
2021-01-09 10:16:58 +0100 | <idnar> | Graypup_: :) |
2021-01-09 10:17:33 +0100 | <Guest_47> | # HomeBrewexport HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottlesexport PATH="/usr/local/bin:$PATH"export PATH="/usr/local/sbin:$PATH"# HomeBrew ENDexport PATH=/Users/cjxx/anaconda3/bin:$PAT/H |
2021-01-09 10:17:51 +0100 | <Graypup_> | see that slash there? |
2021-01-09 10:17:53 +0100 | <Graypup_> | in the last line? |
2021-01-09 10:17:58 +0100 | <Graypup_> | right at the end? |
2021-01-09 10:18:01 +0100 | <Guest_47> | oh yeah!!! |
2021-01-09 10:18:03 +0100 | <Graypup_> | that's your problem :) |
2021-01-09 10:18:11 +0100 | <[exa]> | Guest_47: please do not paste big amounts of code here though. Anyway, erasing the slash should help |
2021-01-09 10:18:11 +0100 | <Guest_47> | so should I delete this line or? |
2021-01-09 10:18:31 +0100 | <Guest_47> | [exa] oh okay!! sorry for that |
2021-01-09 10:18:39 +0100 | <ephemient> | delete it, or fix it to read $PATH instead of $PAT/H |
2021-01-09 10:20:25 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 10:20:32 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:97c0:58e7:7088:af23) (Ping timeout: 260 seconds) |
2021-01-09 10:21:22 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) |
2021-01-09 10:22:31 +0100 | <Guest_47> | oh I deleted it but |
2021-01-09 10:22:41 +0100 | testest32432342 | (5d30af45@93-48-175-69.ip258.fastwebnet.it) |
2021-01-09 10:22:43 +0100 | <Guest_47> | "/usr/bin/vim ~/.zshrc" |
2021-01-09 10:22:50 +0100 | dcbdnl | (~dcbdnl@c-73-76-129-120.hsd1.tx.comcast.net) (Quit: dcbdnl) |
2021-01-09 10:22:51 +0100 | <Guest_47> | "source ~/.zshrc" |
2021-01-09 10:22:58 +0100 | <Guest_47> | "echo $PATH" |
2021-01-09 10:23:07 +0100 | <Guest_47> | "/usr/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/Users/cjxx/anaconda3/bin:/H" |
2021-01-09 10:23:21 +0100 | testest32432342 | (5d30af45@93-48-175-69.ip258.fastwebnet.it) (Remote host closed the connection) |
2021-01-09 10:24:44 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Ping timeout: 240 seconds) |
2021-01-09 10:25:07 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) |
2021-01-09 10:26:01 +0100 | bitonic[m] | bitonic |
2021-01-09 10:26:31 +0100 | bitonic | Guest92643 |
2021-01-09 10:26:35 +0100 | <[exa]> | Guest_47: it prepended itself before the broken path, but that shold at least partially work now |
2021-01-09 10:27:28 +0100 | <ephemient> | no, /bin:/usr/bin are still missing |
2021-01-09 10:27:39 +0100 | <ephemient> | easiest fix is to close terminal and open a new one |
2021-01-09 10:27:59 +0100 | <freeman42x[m]> | why is this giving the error? https://gist.github.com/razvan-flavius-panda/472ab442ede0534a0af512476a277b5f |
2021-01-09 10:28:43 +0100 | <ephemient> | freeman42x[m]: '\\' |
2021-01-09 10:28:59 +0100 | <freeman42x[m]> | ohhhhhhhhhhhhhhhhhhhhhhhh! omg, thank you |
2021-01-09 10:29:42 +0100 | <freeman42x[m]> | haskell language server or the syntax highlighter gives no indication of that being wrong |
2021-01-09 10:30:36 +0100 | <Guest_47> | ephemient oh do you mean quit and then open? |
2021-01-09 10:30:42 +0100 | <ephemient> | Guest_47: yes |
2021-01-09 10:30:43 +0100 | <Guest_47> | I've tried this but not work |
2021-01-09 10:31:01 +0100 | <Guest_47> | oh wait! |
2021-01-09 10:31:23 +0100 | <Guest_47> | oh!!!!!!!!!!!! |
2021-01-09 10:31:26 +0100 | <Guest_47> | works!!!!!! |
2021-01-09 10:31:33 +0100 | <Guest_47> | really really thanks!! |
2021-01-09 10:31:35 +0100 | <Guest_47> | amazing! |
2021-01-09 10:31:51 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-01-09 10:32:24 +0100 | petersen | (~petersen@redhat/juhp) (Quit: petersen) |
2021-01-09 10:32:38 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:ce4f:d262:806c:269f) |
2021-01-09 10:32:54 +0100 | knupfer | (~Thunderbi@200116b82c54da00544d9efffe55d024.dip.versatel-1u1.de) |
2021-01-09 10:33:30 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-01-09 10:34:02 +0100 | cassim | (~cassim@51.194.80.91) |
2021-01-09 10:34:02 +0100 | knupfer | (~Thunderbi@200116b82c54da00544d9efffe55d024.dip.versatel-1u1.de) (Remote host closed the connection) |
2021-01-09 10:34:10 +0100 | knupfer | (~Thunderbi@200116b82c54da0040da52902a92d333.dip.versatel-1u1.de) |
2021-01-09 10:35:05 +0100 | Guest92643 | bitonic[m] |
2021-01-09 10:35:47 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-01-09 10:38:19 +0100 | mikevdg | (73bd50e6@115-189-80-230.mobile.spark.co.nz) |
2021-01-09 10:39:55 +0100 | <mikevdg> | I'm trying to read someone else's code and I'm befuddled: https://github.com/kallisti-dev/hs-webdriver/blob/master/src/Test/WebDriver/Config.hs line 59. Is def being declared as a recursive data structure? |
2021-01-09 10:40:16 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 10:40:56 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-09 10:41:58 +0100 | christo | (~chris@81.96.113.213) |
2021-01-09 10:43:00 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-01-09 10:43:36 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 10:45:19 +0100 | ADG1089__ | (~aditya@122.163.165.143) |
2021-01-09 10:45:27 +0100 | bitonic[m] | bitonic |
2021-01-09 10:46:51 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-lngzfeghcpflmhlc) (Quit: Connection closed for inactivity) |
2021-01-09 10:47:05 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 240 seconds) |
2021-01-09 10:47:43 +0100 | bitonic | (bitonicmat@gateway/shell/matrix.org/x-ixsyclxhcukpebna) (Quit: authenticating) |
2021-01-09 10:47:45 +0100 | <mikevdg> | Answering my own question: https://hackage.haskell.org/package/data-default-0.5.3/docs/Data-Default.html |
2021-01-09 10:47:49 +0100 | bitonic | (bitonicmat@gateway/shell/matrix.org/x-dbuvsguzqiivdtvd) |
2021-01-09 10:50:08 +0100 | hekkaidekapus} | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-09 10:51:23 +0100 | hekkaidekapus{ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2021-01-09 10:52:44 +0100 | bitmagie | (~Thunderbi@200116b806ecba00b9a553bd4de44e4b.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-01-09 10:53:04 +0100 | Guest_47 | (0d4b4d08@13.75.77.8) (Remote host closed the connection) |
2021-01-09 10:53:30 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 10:53:50 +0100 | xintron | (~xintron@unaffiliated/xintron) (Quit: aoeu) |
2021-01-09 10:54:35 +0100 | xintron | (~xintron@unaffiliated/xintron) |
2021-01-09 10:57:05 +0100 | resputin | (~crash@151.42.154.205) |
2021-01-09 10:57:20 +0100 | resputin | (~crash@151.42.154.205) ("WeeChat 3.0") |
2021-01-09 10:57:53 +0100 | resputin | (~crash@151.42.154.205) |
2021-01-09 10:57:57 +0100 | resputin | (~crash@151.42.154.205) ("WeeChat 3.0") |
2021-01-09 10:58:20 +0100 | resputin | (~crash@151.42.154.205) |
2021-01-09 10:58:23 +0100 | resputin | (~crash@151.42.154.205) ("WeeChat 3.0") |
2021-01-09 11:05:01 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 264 seconds) |
2021-01-09 11:07:44 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:b06c:ee5b:732d:eacd) |
2021-01-09 11:09:16 +0100 | Widget_ | Widget |
2021-01-09 11:10:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-09 11:10:34 +0100 | <jollygood2> | how do I silence this warning? -Wunsupported-calling-conventions |
2021-01-09 11:12:37 +0100 | <jollygood2> | I tried this, it didn't work. {-# OPTIONS_GHC -fno-warn-unsupported-calling-conventions #-} |
2021-01-09 11:12:38 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:b06c:ee5b:732d:eacd) (Ping timeout: 264 seconds) |
2021-01-09 11:13:24 +0100 | bitmagie | (~Thunderbi@200116b806ecba00b9a553bd4de44e4b.dip.versatel-1u1.de) |
2021-01-09 11:14:01 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-01-09 11:14:17 +0100 | petersen | (~petersen@redhat/juhp) |
2021-01-09 11:20:01 +0100 | <jollygood2> | yeah, C's exit worked |
2021-01-09 11:20:01 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 264 seconds) |
2021-01-09 11:27:47 +0100 | mikevdg | (73bd50e6@115-189-80-230.mobile.spark.co.nz) () |
2021-01-09 11:28:58 +0100 | jassob | (~jassob@korrob.vth.sgsnet.se) (Quit: WeeChat 2.5-rc1) |
2021-01-09 11:29:44 +0100 | <re6> | am I understanding this correctly, what `put` does with a State monad is put the argument value in and discards whatever was there |
2021-01-09 11:31:29 +0100 | <re6> | modify gets the current value and uses it to `put` some function of `currVal` into the State monad and discards `currVal` |
2021-01-09 11:31:33 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 11:32:58 +0100 | <c_wraith> | > evalState (do x <- get ; put 1 ; y <- get ; modify negate ; z <- get ; return (x, y, z)) 10 |
2021-01-09 11:33:01 +0100 | <lambdabot> | (10,1,-1) |
2021-01-09 11:33:18 +0100 | fendor | (~fendor@77.119.128.254.wireless.dyn.drei.com) |
2021-01-09 11:33:48 +0100 | jassob | (~jassob@korrob.vth.sgsnet.se) |
2021-01-09 11:33:57 +0100 | <re6> | right, so the State monad is actually a computation that needs to be applied to some value |
2021-01-09 11:34:59 +0100 | jassob | (~jassob@korrob.vth.sgsnet.se) (Client Quit) |
2021-01-09 11:35:32 +0100 | <c_wraith> | A State value is a function, yes. |
2021-01-09 11:35:46 +0100 | <c_wraith> | @unmtl State Int () |
2021-01-09 11:35:46 +0100 | <lambdabot> | Int -> ((), Int) |
2021-01-09 11:36:09 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) |
2021-01-09 11:36:50 +0100 | <c_wraith> | Note: that's not *exactly* the representation used by modern versions of the underlying libraries, but it functions the same way |
2021-01-09 11:37:22 +0100 | jassob | (~jassob@korrob.vth.sgsnet.se) |
2021-01-09 11:38:30 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-01-09 11:39:43 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-01-09 11:40:15 +0100 | <ephemient> | @unmtl StateT s (State t) r |
2021-01-09 11:40:15 +0100 | <lambdabot> | s -> t -> (r, s, t) |
2021-01-09 11:41:22 +0100 | <c_wraith> | You know, I really didn't expect it to merge the pairs into a triple |
2021-01-09 11:41:26 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Ping timeout: 264 seconds) |
2021-01-09 11:41:51 +0100 | <ephemient> | I didn't either. but I suppose it's just for demonstration so it's fine to choose something that looks simpler and works equivalently |
2021-01-09 11:43:12 +0100 | <ephemient> | @unmtl StateT s (StateT t (State u)) r |
2021-01-09 11:43:12 +0100 | <lambdabot> | s -> t -> u -> (r, s, t, u) |
2021-01-09 11:43:40 +0100 | <ephemient> | yeah I guess it just flattens everything (conclusion from n=3 data points) |
2021-01-09 11:46:14 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:ce4f:d262:806c:269f) (Ping timeout: 264 seconds) |
2021-01-09 11:51:22 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 11:51:41 +0100 | plutoniix | (~q@184.82.200.176) (Quit: Leaving) |
2021-01-09 11:51:56 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 11:52:45 +0100 | marble_visions_ | (~user@68.183.79.8) (Quit: bye) |
2021-01-09 11:53:54 +0100 | marble_visions | (~user@68.183.79.8) |
2021-01-09 11:54:42 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 11:54:57 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 11:55:28 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-09 11:56:04 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-09 11:56:44 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 11:56:58 +0100 | <pie_> | bitonic: which pr? |
2021-01-09 11:57:18 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 11:58:26 +0100 | <bitonic> | pie_: sorry, issue -- <https://github.com/fpco/inline-c/issues/122> -- I believe it was you who asked me about this? |
2021-01-09 11:58:42 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 11:58:56 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:00:43 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:01:18 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:01:27 +0100 | <pie_> | bitonic: i did have some ffi questions yesterday |
2021-01-09 12:02:00 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e7293cc19a8744f5227e.dip0.t-ipconnect.de) |
2021-01-09 12:02:01 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:02:14 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:02:30 +0100 | <bitonic> | pie_: i missed them -- feel free to ask again |
2021-01-09 12:02:38 +0100 | <pie_> | it still bothers me, but the issue seems to have been solved by the version upgrade |
2021-01-09 12:02:59 +0100 | <pie_> | maybe i should look at the ghc changelog |
2021-01-09 12:03:05 +0100 | hekkaidekapus} | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
2021-01-09 12:03:56 +0100 | <pie_> | I think I also had a question some days ago but i dont remember what it was. maybe i solved it. anyway; |
2021-01-09 12:04:05 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:04:36 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:04:38 +0100 | <pie_> | bitonic: <pie_> im looking for advice on some FFI stuff, I have this half-pseudocoded funciton: https://bpa.st/3UZA . im using inline-c-cpp |
2021-01-09 12:04:38 +0100 | <pie_> | <pie_> id like to return something like a Either Matcher String from the c++ |
2021-01-09 12:04:38 +0100 | <pie_> | <pie_> the c++ code does some stuff and returns an Optional, and then I want to return the error strings if the optional is empty, otherwise i want to return a pointer to the thing |
2021-01-09 12:04:38 +0100 | <pie_> | <pie_> so I guess I have to/should roll my own c++ maybe struct? or is there some existing struct library i can use? |
2021-01-09 12:05:17 +0100 | hekkaidekapus} | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-09 12:05:53 +0100 | hekkaidekapus} | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection) |
2021-01-09 12:06:18 +0100 | hekkaidekapus} | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-09 12:06:23 +0100 | <Kronic> | Has anyone tried the new m1 macs with haskell? Is there any bother running haskell stuff on them other than docker? |
2021-01-09 12:06:39 +0100 | <merijn> | Kronic: It's a work in progress |
2021-01-09 12:06:45 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:06:49 +0100 | <Kronic> | hmm... |
2021-01-09 12:06:54 +0100 | <merijn> | There is a GHC compiler available and (I think) cabal-install |
2021-01-09 12:07:00 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:07:09 +0100 | <merijn> | but you gotta be willing to live with beta/release candidate quality stuff :p |
2021-01-09 12:07:56 +0100 | <merijn> | Kronic: If you go to #ghc or the GHC gitlab you can check up on the work, I think angerman is working on ARM support in general, including M1 |
2021-01-09 12:08:01 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-09 12:08:48 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:09:05 +0100 | tito_04 | (~taurux@net-188-152-137-51.cust.vodafonedsl.it) |
2021-01-09 12:09:20 +0100 | <merijn> | Also lots of low hanging fruit for people with ARM and sometime to help test/fix things :p |
2021-01-09 12:09:22 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:10:10 +0100 | taurux | (~taurux@net-188-152-137-51.cust.dsl.teletu.it) (Ping timeout: 272 seconds) |
2021-01-09 12:10:31 +0100 | <Kronic> | Hmm... I don't have one yet |
2021-01-09 12:10:32 +0100 | <angerman> | Kronic: you can use the x86_64 binaries. Sadly 8.10.3 does not built on arm64, 8.10.4 should. Anything prior to 8.10 you don’t really want to use on arm, as the rts is not thread safe. |
2021-01-09 12:10:36 +0100 | <Kronic> | I'm just considering buying one |
2021-01-09 12:10:53 +0100 | <Kronic> | And Haskell support is a big requirement for me since I write a lot of it these days |
2021-01-09 12:10:54 +0100 | <angerman> | Kronic: GHC 9.2 should come with a native code gen. |
2021-01-09 12:11:11 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:11:14 +0100 | <angerman> | Kronic: Rosetta2 “just works” for haskell. |
2021-01-09 12:11:25 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:11:28 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) |
2021-01-09 12:12:03 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Quit: leaving) |
2021-01-09 12:12:38 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
2021-01-09 12:13:05 +0100 | <angerman> | Ghc ci will have a few M1 minis soon operational as well. Thus compiler quality should improve and continue to be validated. |
2021-01-09 12:13:12 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:13:38 +0100 | <Kronic> | Very nice to hear that, well that gives me confidence |
2021-01-09 12:13:46 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:13:50 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:52f6:a22f:a583:4c03) |
2021-01-09 12:13:52 +0100 | <Uniaika> | angerman: woop woop |
2021-01-09 12:14:06 +0100 | raym | (~ray@45.64.220.18) (Remote host closed the connection) |
2021-01-09 12:15:31 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) |
2021-01-09 12:17:52 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:18:01 +0100 | knupfer | (~Thunderbi@200116b82c54da0040da52902a92d333.dip.versatel-1u1.de) (Quit: knupfer) |
2021-01-09 12:18:07 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:18:08 +0100 | knupfer1 | (~Thunderbi@200116b82c54da0095ad5e6ee1c75f73.dip.versatel-1u1.de) |
2021-01-09 12:18:55 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:19:14 +0100 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds) |
2021-01-09 12:19:28 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:20:31 +0100 | knupfer1 | knupfer |
2021-01-09 12:20:32 +0100 | boxscape5 | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) |
2021-01-09 12:21:47 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-01-09 12:22:27 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:52f6:a22f:a583:4c03) (Ping timeout: 260 seconds) |
2021-01-09 12:24:22 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) (Ping timeout: 246 seconds) |
2021-01-09 12:25:14 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 265 seconds) |
2021-01-09 12:25:27 +0100 | mirrorbird | (~psutcliff@2a00:801:236:570e:b1f2:acf6:e570:218d) |
2021-01-09 12:26:35 +0100 | boxscape5 | boxscape |
2021-01-09 12:28:34 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2021-01-09 12:29:18 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-09 12:29:48 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-09 12:30:34 +0100 | _xor | (~xor@74.215.46.133) (Quit: WeeChat 3.0) |
2021-01-09 12:33:41 +0100 | _xor | (~xor@74.215.46.133) |
2021-01-09 12:34:23 +0100 | Wuzzy | (~Wuzzy@p5790e648.dip0.t-ipconnect.de) |
2021-01-09 12:34:40 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:f012:7b5e:9a6:fec2) |
2021-01-09 12:35:03 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:1db3:d5d3:fa35:5ac1) (Read error: Connection reset by peer) |
2021-01-09 12:35:49 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e) |
2021-01-09 12:37:31 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) |
2021-01-09 12:42:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Ping timeout: 264 seconds) |
2021-01-09 12:43:44 +0100 | <nly> | recommend a library for web stuff? client mostly |
2021-01-09 12:46:25 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:c40f:367c:6d1f:1f4) |
2021-01-09 12:46:50 +0100 | <bitonic> | pie_: you can do that by passing two output pointers |
2021-01-09 12:46:58 +0100 | <bitonic> | and only filling in the "error" pointer if you have an error |
2021-01-09 12:47:17 +0100 | <bitonic> | so the caller first checks if the error pointer is non-null -- if it is, it returns `Left`. otherwise `Right`. |
2021-01-09 12:48:07 +0100 | <niekvandepas> | Hey everyone, I'm sorry if this isn't the right place to ask this question, but I'm new to Haskell and having some trouble with the toolchain. I'm on macOS and have installed GHC via homebrew (`brew install ghc`) and the `Haskell` VS Code Extension. When VS Code gives me hints with regard to code quality, I get several duplicates of the same hint, and when I try to execute them, the process hangs until I cancel |
2021-01-09 12:48:07 +0100 | <niekvandepas> | it. Does anyone have any experience with using Haskell and VS Code who can help me out? Thanks! |
2021-01-09 12:48:27 +0100 | <niekvandepas> | Oh, here's a video of the problem: https://streamable.com/9fwlu2 |
2021-01-09 12:51:38 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:c40f:367c:6d1f:1f4) (Ping timeout: 264 seconds) |
2021-01-09 12:52:16 +0100 | <xerox_> | niekvandepas: I'd reccommend using ghcup, it works quite well, easy to handle and remove when not needed |
2021-01-09 12:52:33 +0100 | <xerox_> | as for vscode I don't know a lot about it really sorry |
2021-01-09 12:52:55 +0100 | <xerox_> | niekvandepas: btw how long did it take to get ghc from brew for you? |
2021-01-09 12:53:20 +0100 | <niekvandepas> | xerox_: Yeah I was using that before, but that gave me the same issues unfortunately... I uninstalled and switched to GHC from Brew just to eliminate variables |
2021-01-09 12:53:46 +0100 | <niekvandepas> | xerox_: installing took somewhere in the order of ~2 minutes I think? Not very long for sure |
2021-01-09 12:53:53 +0100 | <xerox_> | ah ok |
2021-01-09 12:54:34 +0100 | <niekvandepas> | xerox_: do you have an alternative setup you recommend? I'm open to using other editors |
2021-01-09 12:54:48 +0100 | <xerox_> | myself I use vim, ghcid, and cabal |
2021-01-09 12:55:05 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:56:22 +0100 | <merijn> | niekvandepas: tbh, homebrew is...a bit overeager to be on the bleeding edge of GHC releases :p |
2021-01-09 12:56:39 +0100 | <merijn> | niekvandepas: I just install the bindists of macOS and cabal myself |
2021-01-09 12:56:54 +0100 | <xerox_> | like this: https://i.imgur.com/whGJPEk.png |
2021-01-09 12:56:54 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 12:57:45 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 12:57:50 +0100 | <merijn> | niekvandepas: https://www.haskell.org/ghc/download_ghc_8_10_3.html#macosx_x86_64 |
2021-01-09 12:58:18 +0100 | <niekvandepas> | merijn: haha yeah Homebrew tends to have that problem |
2021-01-09 12:58:35 +0100 | <merijn> | niekvandepas: And cabal-install https://www.haskell.org/cabal/download.html |
2021-01-09 12:59:00 +0100 | <xerox_> | I'm extremely happy with ghcup never had a problem with it, even on exotic architectures |
2021-01-09 12:59:30 +0100 | <merijn> | xerox_: For linux it can be tricky to guess the right binary dist, so ghcup is useful there. but there's only one mac binary :p |
2021-01-09 12:59:32 +0100 | drbean | (~drbean@TC210-63-209-195.static.apol.com.tw) |
2021-01-09 12:59:33 +0100 | <niekvandepas> | xerox_: I think I've actually achieved most of what you've got going there, for some reason it's just the automatic fixes that don't work for me. Which isn't a huge deal, but I thought maybe this was a common problem |
2021-01-09 12:59:44 +0100 | <xerox_> | merijn: soon 2 :D |
2021-01-09 13:00:11 +0100 | <xerox_> | niekvandepas: ah I'm minimalist as that goes, nothing too fancy in the editor itself |
2021-01-09 13:01:00 +0100 | <niekvandepas> | Tbh I tend to switch editors every couple of months anyway, I'm not great at sticking with a setup... too susceptible to the 'new shiny' I guess :P |
2021-01-09 13:02:10 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 246 seconds) |
2021-01-09 13:03:16 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-09 13:03:45 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-09 13:09:18 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-01-09 13:10:17 +0100 | Entertainment | (~entertain@104.246.132.210) |
2021-01-09 13:10:33 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-hlwujoxsjptdtvwc) |
2021-01-09 13:13:08 +0100 | re6 | (5434a07f@tm.84.52.160.127.dc.cable.static.telemach.net) (Remote host closed the connection) |
2021-01-09 13:13:56 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:d33d:3a64:e310:3fd) (Quit: xff0x) |
2021-01-09 13:15:46 +0100 | <nly> | @hoogle IO String -> String |
2021-01-09 13:15:47 +0100 | <lambdabot> | Foreign.Marshal.Unsafe unsafeLocalState :: IO a -> a |
2021-01-09 13:15:47 +0100 | <lambdabot> | System.IO.Unsafe unsafePerformIO :: IO a -> a |
2021-01-09 13:15:47 +0100 | <lambdabot> | System.IO.Unsafe unsafeDupablePerformIO :: IO a -> a |
2021-01-09 13:16:04 +0100 | <merijn> | eh |
2021-01-09 13:16:17 +0100 | <merijn> | As the names imply, you *really* don't want that :p |
2021-01-09 13:16:41 +0100 | <nly> | what's better then? |
2021-01-09 13:16:55 +0100 | <nly> | >helloString = B.pack : get "http://gnu.org" |
2021-01-09 13:17:15 +0100 | <merijn> | nly: That depends on what exactly you're trying to do, but generally the answer is "don't try and get stuff *out* of IO, get your logic *in*" |
2021-01-09 13:18:14 +0100 | <merijn> | So, if you have a function "String -> Foo" and "IO String" (from, say, a web request) |
2021-01-09 13:18:41 +0100 | <xerox_> | nly: once you're in IO, you're in IO, but from there you can do pure computations on the intermediate results between "I" and "O" |
2021-01-09 13:18:44 +0100 | <merijn> | The solution isn't "try and get String from IO" it's "get your function in", the most obvious way of doing that being "fmap |
2021-01-09 13:18:48 +0100 | <merijn> | :t even |
2021-01-09 13:18:50 +0100 | <lambdabot> | Integral a => a -> Bool |
2021-01-09 13:18:53 +0100 | <merijn> | :t fmap even |
2021-01-09 13:18:54 +0100 | <lambdabot> | (Functor f, Integral a) => f a -> f Bool |
2021-01-09 13:19:07 +0100 | <merijn> | :t fmap even `asAppliedTo` (return 1 :: IO Int) |
2021-01-09 13:19:08 +0100 | <lambdabot> | IO Int -> IO Bool |
2021-01-09 13:19:25 +0100 | <nly> | meh, beginner math, tell me something that uses Higher order chaos category theory |
2021-01-09 13:19:28 +0100 | <merijn> | @quote list.of.files |
2021-01-09 13:19:29 +0100 | <lambdabot> | shachaf says: getLine :: IO String contains a String in the same way that /bin/ls contains a list of files |
2021-01-09 13:19:53 +0100 | <nly> | (joke) this looks hard |
2021-01-09 13:20:42 +0100 | <merijn> | nly: Think of "IO String" as "a description of how to do the IO to produce a String", you can't get a String out of a description, the same way you can't get a cake "out of" a recipe |
2021-01-09 13:20:56 +0100 | <nly> | ah ok |
2021-01-09 13:21:17 +0100 | <merijn> | nly: There are 2 ways to *extend* your recipe, though. Which are |
2021-01-09 13:21:19 +0100 | <merijn> | :t fmap |
2021-01-09 13:21:20 +0100 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
2021-01-09 13:21:22 +0100 | <merijn> | :t (>>=) |
2021-01-09 13:21:24 +0100 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
2021-01-09 13:21:30 +0100 | <pie_> | bitonic: ok, but thats still basically rolling my own either struct right? |
2021-01-09 13:21:38 +0100 | <merijn> | (just pretend the 'f' and 'm' there are "IO") |
2021-01-09 13:21:47 +0100 | <bitonic> | pie_: pretty much. you can also use exceptions. |
2021-01-09 13:22:14 +0100 | <bitonic> | pie_: <http://hackage.haskell.org/package/inline-c-cpp-0.4.0.2/docs/Language-C-Inline-Cpp-Exceptions.html…> |
2021-01-09 13:22:21 +0100 | <merijn> | nly: So if you have a function 'foo' for turning a String into an Int, then "fmap foo" will give you a function for turning "IO String" into "IO Int" |
2021-01-09 13:22:27 +0100 | <pie_> | its probably better if i dont use excepions. im not really familiar with them and simple control flow is probablybetter? |
2021-01-09 13:22:31 +0100 | <pie_> | thanks for the link ill take a look |
2021-01-09 13:22:50 +0100 | <bitonic> | pie_: the jury is very much still out on C++ exceptions 🙂 |
2021-01-09 13:22:59 +0100 | <merijn> | The jury is in on C++ |
2021-01-09 13:23:13 +0100 | <merijn> | They convicted it as guilty of being terrible >.> |
2021-01-09 13:23:24 +0100 | <pie_> | also i forgot but i think i _am_ still using inline-c-cpp, i should probably switch to the merged in inline-c cpp functionality now yeah? |
2021-01-09 13:23:36 +0100 | <pie_> | (i think thats still called inline-c-cpp though) |
2021-01-09 13:24:24 +0100 | <bitonic> | merijn: ah, it's still the best choice for many use cases, while some people argue that C++ exceptions are _always_ bad :P |
2021-01-09 13:24:37 +0100 | <nly> | so i have to remove the IO Monad from my 'get' function somehow |
2021-01-09 13:24:45 +0100 | <bitonic> | pie_: it's still and always has been `inline-c-cpp`. |
2021-01-09 13:25:25 +0100 | <merijn> | bitonic: That's what I thought too, that's why half my code is C++ and my life is miserable" >.> |
2021-01-09 13:25:38 +0100 | <pie_> | bitonic: but its ambiguous whether its the version in the inline-c package or the old one in the separate package though right? or ate the packages still separate just the repos merged?: |
2021-01-09 13:25:40 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:9c3a:413f:148c:a5a9) |
2021-01-09 13:25:42 +0100 | <pie_> | s/:// |
2021-01-09 13:25:47 +0100 | <nly> | >get url = simpleHTTP (getRequest url) >>= getResponseBody |
2021-01-09 13:25:51 +0100 | <merijn> | nly: You can't. What do you wanna do with the String? |
2021-01-09 13:26:10 +0100 | <merijn> | nly: Like, in a magical fantasy land where you *did* have "String" what do you wanna do with it? |
2021-01-09 13:26:27 +0100 | <nly> | string will go to gnu/index.html file |
2021-01-09 13:26:34 +0100 | <pie_> | If I ever get this done, my next project will probably be trying to bind chromium sandbox. yay c++ :D |
2021-01-09 13:26:54 +0100 | <nly> | Fuse filesystem |
2021-01-09 13:26:56 +0100 | <merijn> | So, basically you wanna do 'writeFile "gnu/index.html"'? |
2021-01-09 13:27:04 +0100 | <merijn> | % :t System.IO.writeFile |
2021-01-09 13:27:05 +0100 | <yahb> | merijn: FilePath -> String -> IO () |
2021-01-09 13:27:16 +0100 | <merijn> | % :t System.IO.writeFile "gnu/index.html" |
2021-01-09 13:27:16 +0100 | <yahb> | merijn: String -> IO () |
2021-01-09 13:27:31 +0100 | <nly> | nah |
2021-01-09 13:27:50 +0100 | <nly> | i haven't figured out what it's doing, but this is HFuse library |
2021-01-09 13:28:46 +0100 | <nly> | i hope get "ex.com" will be lazy. and only evaluated on cat /gnu/index.html |
2021-01-09 13:28:46 +0100 | <pie_> | bitonic: could inline-c-cpp expose some headers to the cpp code to make some basic types availible? (i guess product and sum might be sufficient and then you can just clean up the representation on the haskell side?) |
2021-01-09 13:30:03 +0100 | <pie_> | or does the haskell c ffi maybe already expose something |
2021-01-09 13:30:48 +0100 | <pie_> | a recurring peeve i seem to have with language runtime ffi is that noone seems to have built in support for returning tuples :P (sample size 1 and 1 hypothetical :P) |
2021-01-09 13:31:23 +0100 | <merijn> | pie_: You can write your own arbitrary access, though? |
2021-01-09 13:31:49 +0100 | <merijn> | Oh, for C/C++ structs? That's some cursed stuff |
2021-01-09 13:32:01 +0100 | <pie_> | maybe i dont understand but, yeah its just nicer theres stuff already on hand? |
2021-01-09 13:32:15 +0100 | <pie_> | is there something wrong with c/c++ structs? >_> |
2021-01-09 13:32:30 +0100 | <merijn> | No, until you wanna pass/return them, then yes |
2021-01-09 13:32:58 +0100 | <pie_> | I dont know enough to understand without further explanationű |
2021-01-09 13:33:00 +0100 | <merijn> | pie_: The C ABI doesn't define how to pass structs, so it's impossible to do portably |
2021-01-09 13:33:02 +0100 | <pjb> | pie_: one thing that can be quite wrong with them, is packing. #pragma pack |
2021-01-09 13:33:17 +0100 | <pie_> | aha... |
2021-01-09 13:33:20 +0100 | <merijn> | pjb: That's not the real issue, it's that the calling convention is unspecified |
2021-01-09 13:33:28 +0100 | <pjb> | merijn: exactly. |
2021-01-09 13:33:34 +0100 | <merijn> | Which means you can safely pass structs to functions when calling C from C++ either |
2021-01-09 13:33:47 +0100 | <pjb> | looking at the source doesn't give you the needed information for FFI. You need the source + the compiler (ABI). |
2021-01-09 13:33:49 +0100 | <merijn> | (well, at least not when you use different compilers for each) |
2021-01-09 13:33:53 +0100 | <pie_> | :P *cant |
2021-01-09 13:34:40 +0100 | <pjb> | So when you define a library, it's better to define an API to access opaque structures with simple types, rather than using structures (or even arrays). |
2021-01-09 13:34:47 +0100 | <pie_> | i dont suppose theres a portable subset if you say limit yourself to pointers or something? (in fact i probably managed to pick the one super non-portable example?) |
2021-01-09 13:35:15 +0100 | <pie_> | by which i mean could you define a binding library with a portable subset and pass via those? |
2021-01-09 13:35:21 +0100 | <pie_> | (re: roll my own Either) |
2021-01-09 13:35:36 +0100 | <pie_> | (re: have someone else give me a c++ Either :PÖ |
2021-01-09 13:35:42 +0100 | <pjb> | point_t make_point(float x,float y); float point_x(point_t); float point_y(point_t); void free_point(point_t); |
2021-01-09 13:36:29 +0100 | <pie_> | actually, cant you build mostly anything once you can pass a 2-tuple? |
2021-01-09 13:38:09 +0100 | <pjb> | sure. |
2021-01-09 13:38:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) |
2021-01-09 13:38:25 +0100 | <pie_> | so as long as you can make a portable 2-tuple...? |
2021-01-09 13:39:17 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 13:39:37 +0100 | Entertainment | (~entertain@104.246.132.210) () |
2021-01-09 13:39:51 +0100 | RichiDubey | (676e93a8@103.110.147.168) |
2021-01-09 13:40:21 +0100 | hsiktas[m] | (hsiktasmat@gateway/shell/matrix.org/x-ghuclucmencaeidc) |
2021-01-09 13:40:59 +0100 | Entertainment | (~entertain@104.246.132.210) |
2021-01-09 13:43:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Ping timeout: 264 seconds) |
2021-01-09 13:44:13 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:510b:1d8f:3795:31d5) |
2021-01-09 13:49:10 +0100 | geekosaur | (ac3a8f57@172.58.143.87) |
2021-01-09 13:49:14 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:510b:1d8f:3795:31d5) (Ping timeout: 264 seconds) |
2021-01-09 13:53:01 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 264 seconds) |
2021-01-09 13:53:49 +0100 | aveltras | (uid364989@gateway/web/irccloud.com/x-vyzqwjtbgygnssoa) |
2021-01-09 13:54:07 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-09 14:01:02 +0100 | BuboBubo | (~BuboBubo@rezo-mtrg2-17.ens.fr) |
2021-01-09 14:05:39 +0100 | Lycurgus | (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) |
2021-01-09 14:05:52 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-01-09 14:10:36 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
2021-01-09 14:18:06 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2021-01-09 14:18:48 +0100 | tabemann | (~tabemann@2600:1700:7990:24e0:10cb:8914:2144:7a48) (Remote host closed the connection) |
2021-01-09 14:19:04 +0100 | tabemann | (~travisb@2600:1700:7990:24e0:d38d:9905:5d15:b54) |
2021-01-09 14:19:31 +0100 | knupfer | (~Thunderbi@200116b82c54da0095ad5e6ee1c75f73.dip.versatel-1u1.de) (Remote host closed the connection) |
2021-01-09 14:19:40 +0100 | knupfer | (~Thunderbi@200116b82c54da00c072ed6985432d30.dip.versatel-1u1.de) |
2021-01-09 14:23:44 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 14:24:31 +0100 | <pie_> | is the unpack needed here or is it an optimization? https://github.com/fpco/inline-c-nag/blob/master/src/Language/C/Inline/Nag/Internal.hsc#L35 |
2021-01-09 14:25:38 +0100 | <pie_> | Im tryign to make an Either Void Void that I can later cast to the appropriate type but im not sure if, e.g. Either { left :: !(Ptr ()), right :: !(Ptr ())} is the right way to do it? |
2021-01-09 14:25:54 +0100 | <pie_> | * EitherVoidPVoidP |
2021-01-09 14:27:06 +0100 | <pie_> | the reason i think it might be needed is the storable instance |
2021-01-09 14:27:39 +0100 | tanuki_ | (~quassel@173.168.154.189) |
2021-01-09 14:28:15 +0100 | <pie_> | though it really only needs to be readable |
2021-01-09 14:28:56 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 240 seconds) |
2021-01-09 14:28:58 +0100 | tanuki | (~quassel@173.168.154.189) (Ping timeout: 265 seconds) |
2021-01-09 14:28:59 +0100 | <pie_> | also this looks weird? https://github.com/fpco/inline-c-nag/blob/master/src/Language/C/Inline/Nag/Internal.hsc#L47 |
2021-01-09 14:29:07 +0100 | son0p | (~son0p@181.136.122.143) |
2021-01-09 14:29:13 +0100 | <pie_> | (#poke Complex, re) ptr complRe |
2021-01-09 14:29:23 +0100 | <pie_> | isnt that a tuple on the left? how do you call a tuple? |
2021-01-09 14:29:56 +0100 | <merijn> | hsc isn't a haskell file |
2021-01-09 14:29:56 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 14:30:08 +0100 | <merijn> | It's a hsc file, which is processed by hsc2hs |
2021-01-09 14:30:47 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2021-01-09 14:31:11 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:510b:1d8f:3795:31d5) |
2021-01-09 14:35:19 +0100 | Guest_86 | (5af945b9@90.249.69.185) |
2021-01-09 14:36:26 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-09 14:37:01 +0100 | BuboBubo | (~BuboBubo@rezo-mtrg2-17.ens.fr) (Remote host closed the connection) |
2021-01-09 14:37:16 +0100 | Guest_86 | (5af945b9@90.249.69.185) (Remote host closed the connection) |
2021-01-09 14:38:38 +0100 | knupfer | (~Thunderbi@200116b82c54da00c072ed6985432d30.dip.versatel-1u1.de) (Quit: knupfer) |
2021-01-09 14:38:45 +0100 | knupfer | (~Thunderbi@200116b82c54da00b19d869147ebcdfe.dip.versatel-1u1.de) |
2021-01-09 14:39:01 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) |
2021-01-09 14:39:02 +0100 | knupfer | (~Thunderbi@200116b82c54da00b19d869147ebcdfe.dip.versatel-1u1.de) (Client Quit) |
2021-01-09 14:39:04 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-09 14:39:27 +0100 | knupfer | (~Thunderbi@200116b82c54da006117f89f03fa7e5f.dip.versatel-1u1.de) |
2021-01-09 14:39:35 +0100 | SlashLife | (~slashlife@stienen.name) |
2021-01-09 14:39:38 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection) |
2021-01-09 14:40:08 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2021-01-09 14:43:03 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:9c3a:413f:148c:a5a9) (Ping timeout: 260 seconds) |
2021-01-09 14:43:13 +0100 | andrew_znc | (~andrew@unaffiliated/andrew-znc) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
2021-01-09 14:43:50 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Ping timeout: 264 seconds) |
2021-01-09 14:45:56 +0100 | sorki | (~sorki@gateway/tor-sasl/sorki) |
2021-01-09 14:46:20 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:9c3a:413f:148c:a5a9) |
2021-01-09 14:47:16 +0100 | Entertainment | (~entertain@104.246.132.210) (Ping timeout: 240 seconds) |
2021-01-09 14:48:44 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds) |
2021-01-09 14:48:52 +0100 | sorki | srk |
2021-01-09 14:49:15 +0100 | RichiDubey | (676e93a8@103.110.147.168) (Ping timeout: 245 seconds) |
2021-01-09 14:49:43 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2021-01-09 14:50:06 +0100 | hggdh1 | (~hggdh@185.163.110.125) |
2021-01-09 14:50:22 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e) |
2021-01-09 14:51:10 +0100 | jmchael | (~jmchael@87.112.235.234) |
2021-01-09 14:53:25 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-01-09 14:56:34 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-01-09 14:57:44 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
2021-01-09 14:59:29 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 15:00:02 +0100 | bi_functor | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2021-01-09 15:00:21 +0100 | <pie_> | merijn: oh, i see |
2021-01-09 15:00:34 +0100 | drbean | (~drbean@TC210-63-209-195.static.apol.com.tw) (Ping timeout: 260 seconds) |
2021-01-09 15:00:41 +0100 | <pie_> | so now just the thing about void pointers remains |
2021-01-09 15:04:58 +0100 | bi_functor | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 272 seconds) |
2021-01-09 15:05:06 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds) |
2021-01-09 15:08:05 +0100 | fradet | (~pi@216.252.75.247) (Ping timeout: 240 seconds) |
2021-01-09 15:08:40 +0100 | mirrorbird | (~psutcliff@2a00:801:236:570e:b1f2:acf6:e570:218d) (Quit: Leaving) |
2021-01-09 15:09:54 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) (Ping timeout: 260 seconds) |
2021-01-09 15:09:54 +0100 | ubert | (~Thunderbi@p200300ecdf1ee0eee6b318fffe838f33.dip0.t-ipconnect.de) |
2021-01-09 15:10:16 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2021-01-09 15:11:43 +0100 | ArConan | (9de62a69@157.230.42.105) |
2021-01-09 15:12:13 +0100 | ericsagn1 | (~ericsagne@2405:6580:0:5100:e13a:446f:fd91:b45c) |
2021-01-09 15:12:44 +0100 | <ArConan> | why can x:xs pattern match a list starts with x and end up with xs? |
2021-01-09 15:13:05 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:f012:7b5e:9a6:fec2) (Ping timeout: 272 seconds) |
2021-01-09 15:13:16 +0100 | <ArConan> | shouldn't it match a list starts with x,xs? |
2021-01-09 15:13:54 +0100 | <geekosaur> | it's the definition of a list |
2021-01-09 15:14:42 +0100 | <geekosaur> | :t (:) |
2021-01-09 15:14:43 +0100 | <lambdabot> | a -> [a] -> [a] |
2021-01-09 15:14:55 +0100 | <geekosaur> | a list is built from a head element and a tail list |
2021-01-09 15:15:20 +0100 | <geekosaur> | pattern matching reverses this, decomposing a list into its head and tail |
2021-01-09 15:16:28 +0100 | maroloccio__ | (~marolocci@pousada3ja.mma.com.br) (Quit: WeeChat 2.3) |
2021-01-09 15:16:48 +0100 | knupfer | (~Thunderbi@200116b82c54da006117f89f03fa7e5f.dip.versatel-1u1.de) (Quit: knupfer) |
2021-01-09 15:16:58 +0100 | knupfer | (~Thunderbi@200116b82c54da00d0a1e3dcacf76b2c.dip.versatel-1u1.de) |
2021-01-09 15:19:37 +0100 | <ArConan> | is there always only one tail in the pattern? |
2021-01-09 15:20:03 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:4c51:83e:647e:c991) (Ping timeout: 272 seconds) |
2021-01-09 15:20:10 +0100 | <geekosaur> | yes, but of course that tail itself consists of either an empty list or a head and a tail |
2021-01-09 15:20:15 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-hlwujoxsjptdtvwc) (Quit: Connection closed for inactivity) |
2021-01-09 15:20:16 +0100 | <ArConan> | if not,how can tell a:B:c 's tail from head |
2021-01-09 15:20:18 +0100 | <ArConan> | ? |
2021-01-09 15:20:35 +0100 | <geekosaur> | a:(B:(c:[])) |
2021-01-09 15:21:46 +0100 | <ArConan> | a little complex |
2021-01-09 15:22:00 +0100 | <ArConan> | what mean? |
2021-01-09 15:22:11 +0100 | bitmagie | (~Thunderbi@200116b806ecba00b9a553bd4de44e4b.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-01-09 15:24:26 +0100 | immae | (~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 2.9) |
2021-01-09 15:24:39 +0100 | <geekosaur> | the list [a,B,c] is the same as the list whose head is a and whose tail is another list, whose head is B and whose tail is another list, whose head is c and whose tail is nil (the empty list) |
2021-01-09 15:24:49 +0100 | immae | (~immae@2a01:4f8:141:53e7::) |
2021-01-09 15:25:24 +0100 | <ski> | > let a:b:c:rest = [2,3,5,7,11,13,17,19] in (a,b,c,rest) |
2021-01-09 15:25:27 +0100 | <lambdabot> | (2,3,5,[7,11,13,17,19]) |
2021-01-09 15:25:33 +0100 | <ski> | > let a:(b:(c:rest)) = [2,3,5,7,11,13,17,19] in (a,b,c,rest) |
2021-01-09 15:25:36 +0100 | <lambdabot> | (2,3,5,[7,11,13,17,19]) |
2021-01-09 15:26:21 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2021-01-09 15:29:56 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) (Ping timeout: 240 seconds) |
2021-01-09 15:30:01 +0100 | ArConan | (9de62a69@157.230.42.105) (Remote host closed the connection) |
2021-01-09 15:30:36 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 256 seconds) |
2021-01-09 15:32:44 +0100 | ArConan | (9de62a69@157.230.42.105) |
2021-01-09 15:33:23 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2021-01-09 15:33:48 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:510b:1d8f:3795:31d5) (Ping timeout: 260 seconds) |
2021-01-09 15:34:31 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-01-09 15:34:45 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-09 15:35:33 +0100 | ubert | (~Thunderbi@p200300ecdf1ee0eee6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-01-09 15:36:09 +0100 | <ArConan> | ah ,i think i understand it ,thank you |
2021-01-09 15:37:16 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds) |
2021-01-09 15:39:43 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
2021-01-09 15:42:19 +0100 | geekosaur | (ac3a8f57@172.58.143.87) (Remote host closed the connection) |
2021-01-09 15:43:11 +0100 | <merijn> | So, if I have a typeclass polymorphic function is there any point to using SPECIALIZE on an INLINE function? |
2021-01-09 15:45:50 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) |
2021-01-09 15:46:36 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
2021-01-09 15:48:53 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) |
2021-01-09 15:49:32 +0100 | madjestic | (~Android@188-207-108-189.mobile.kpn.net) |
2021-01-09 15:50:25 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
2021-01-09 15:52:01 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) |
2021-01-09 15:53:17 +0100 | <nf> | int-e: does lambdabot have a way to import modules persistently? |
2021-01-09 15:53:57 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-01-09 15:54:57 +0100 | <c_wraith> | if you control the configuration, yes. edit Pristine.hs |
2021-01-09 15:56:12 +0100 | <nf> | ok, so there's no command to do it from irc? |
2021-01-09 15:56:19 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) (Client Quit) |
2021-01-09 15:56:25 +0100 | <nf> | seems like @import isn't a thing |
2021-01-09 15:56:31 +0100 | <c_wraith> | You can use @let import, I think |
2021-01-09 15:56:43 +0100 | <c_wraith> | but that's not really persistent, as it doesn't survive an @undefine |
2021-01-09 15:57:57 +0100 | bi_functor | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2021-01-09 15:58:28 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Remote host closed the connection) |
2021-01-09 15:58:55 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 15:58:57 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-01-09 15:59:06 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Read error: Connection reset by peer) |
2021-01-09 15:59:13 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 15:59:18 +0100 | <nf> | ok that's good enough, thanks |
2021-01-09 15:59:29 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2021-01-09 16:00:08 +0100 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) |
2021-01-09 16:01:22 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-09 16:01:56 +0100 | <nf> | why does lambdabot still use Safe Haskell? it doesn't rely on that for sandboxing anymore, does it? |
2021-01-09 16:02:31 +0100 | <c_wraith> | never did, actually. And I'm not sure why it added it. |
2021-01-09 16:02:54 +0100 | <nf> | i'm trying to disable it so i can actually import stuff, but apparently removing the pragma in L.hs isn't enough |
2021-01-09 16:03:29 +0100 | aveltras | (uid364989@gateway/web/irccloud.com/x-vyzqwjtbgygnssoa) (Quit: Connection closed for inactivity) |
2021-01-09 16:03:58 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-01-09 16:04:25 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds) |
2021-01-09 16:05:07 +0100 | carthia | (~carthia@gateway/tor-sasl/carthia) |
2021-01-09 16:08:08 +0100 | carthia | (~carthia@gateway/tor-sasl/carthia) (Client Quit) |
2021-01-09 16:08:14 +0100 | Lycurgus | (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt) |
2021-01-09 16:09:26 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 16:10:48 +0100 | dmiles_afk | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) |
2021-01-09 16:10:51 +0100 | dmiles_afk | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) (Client Quit) |
2021-01-09 16:12:23 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
2021-01-09 16:13:03 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2021-01-09 16:13:56 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-09 16:14:03 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds) |
2021-01-09 16:14:40 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-09 16:14:49 +0100 | jpds_ | jpds |
2021-01-09 16:15:00 +0100 | christo | (~chris@81.96.113.213) |
2021-01-09 16:15:09 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) |
2021-01-09 16:15:09 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-09 16:15:32 +0100 | <nf> | mniip: is yahb available anywhere? |
2021-01-09 16:15:50 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-09 16:15:58 +0100 | ClaudiusMaximus | (~claude@196.67.6.51.dyn.plus.net) |
2021-01-09 16:16:07 +0100 | ClaudiusMaximus | (~claude@196.67.6.51.dyn.plus.net) (Changing host) |
2021-01-09 16:16:07 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2021-01-09 16:16:08 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-09 16:16:19 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-01-09 16:16:33 +0100 | jpds_ | jpds |
2021-01-09 16:18:26 +0100 | <Uniaika> | 22 |
2021-01-09 16:18:28 +0100 | <Uniaika> | (woops) |
2021-01-09 16:18:36 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2021-01-09 16:21:01 +0100 | <ArConan> | what means of ++ ? |
2021-01-09 16:21:57 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:510b:1d8f:3795:31d5) |
2021-01-09 16:22:46 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 16:23:07 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 16:23:30 +0100 | fendor_ | (~fendor@77.119.130.129.wireless.dyn.drei.com) |
2021-01-09 16:24:17 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 16:25:03 +0100 | <__monty__> | > [1,2] ++ [3,4] |
2021-01-09 16:25:06 +0100 | <lambdabot> | [1,2,3,4] |
2021-01-09 16:25:15 +0100 | <pjb> | concat = (++) |
2021-01-09 16:25:21 +0100 | <pjb> | concat [1,2] [3,4] |
2021-01-09 16:25:28 +0100 | <pjb> | there, so no question asked. |
2021-01-09 16:25:32 +0100 | <__monty__> | ArConan: It's append/concatenation for lists. |
2021-01-09 16:26:18 +0100 | <pjb> | You just need to write your own prelude, renaming all the cryptic notations to sane symbols. |
2021-01-09 16:26:19 +0100 | fendor | (~fendor@77.119.128.254.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2021-01-09 16:26:22 +0100 | <pjb> | Or you can also just use lisp… |
2021-01-09 16:26:28 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) |
2021-01-09 16:27:35 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2021-01-09 16:27:36 +0100 | <__monty__> | I just use mappend/(<>). |
2021-01-09 16:28:51 +0100 | <dolio> | Pretty sure it's possible to learn the symbols. |
2021-01-09 16:29:04 +0100 | <pjb> | intead of learning something useful. |
2021-01-09 16:29:24 +0100 | <pjb> | everything is possible. |
2021-01-09 16:29:32 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-01-09 16:29:44 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
2021-01-09 16:29:47 +0100 | <dolio> | Writing your own 'prelude' that only you use is a significantly bigger waste of time. |
2021-01-09 16:30:37 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) () |
2021-01-09 16:30:48 +0100 | <pie_> | ah crap, I dont suppose I can use cpp headers in hsc? |
2021-01-09 16:31:09 +0100 | <pjb> | no, but you can use cpp. |
2021-01-09 16:31:59 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e) |
2021-01-09 16:32:20 +0100 | <pjb> | cpp -E test.hsp > test.hs && ghc test.hs |
2021-01-09 16:32:53 +0100 | ADG1089__ | (~aditya@122.163.165.143) (Read error: Connection reset by peer) |
2021-01-09 16:33:19 +0100 | ADG1089__ | (~aditya@122.163.165.143) |
2021-01-09 16:33:24 +0100 | <merijn> | eh, that's dangerous |
2021-01-09 16:33:44 +0100 | <pjb> | I don't recommand it, indeed. haskell is powerful enough. |
2021-01-09 16:33:44 +0100 | <merijn> | because haskell has different rules for literals than C, so that can mangle your code |
2021-01-09 16:34:04 +0100 | <merijn> | GHC uses cpp in a super shady legacy mode to make it kinda work |
2021-01-09 16:34:27 +0100 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:3df7:2c2b:de8e:c444) |
2021-01-09 16:35:49 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2021-01-09 16:36:06 +0100 | <pie_> | ok so this is me header, which tbh should be translatable to C. I dont know if it will work, I'm fighting compiler errors right now. its complaining about some syntaxs, which is probably a c/c++ semantics difference, idk, the syntax itself seems fine to me? https://bpa.st/WU6Q |
2021-01-09 16:37:24 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-01-09 16:37:31 +0100 | <merijn> | pie_: That struct has no enum despite what you probably intend |
2021-01-09 16:37:38 +0100 | <merijn> | Also, that's ultra questionable stuff |
2021-01-09 16:38:02 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2021-01-09 16:38:03 +0100 | <pie_> | this is the hsc file: https://bpa.st/EWYA and this is where I use it: https://bpa.st/EG5A |
2021-01-09 16:38:30 +0100 | ubert | (~Thunderbi@p200300ecdf1ee0eee6b318fffe838f33.dip0.t-ipconnect.de) |
2021-01-09 16:38:41 +0100 | <pie_> | merijn: this has examples where it does: https://en.cppreference.com/w/cpp/language/enum |
2021-01-09 16:38:44 +0100 | <pie_> | but thats c++ |
2021-01-09 16:39:06 +0100 | <pie_> | unless i missed something because i didnt really read the page |
2021-01-09 16:39:08 +0100 | sajith | (~sajith@fsf/member/nonzen) (Remote host closed the connection) |
2021-01-09 16:39:09 +0100 | jackhill | (~jackhill@marsh.hcoop.net) (Read error: Connection reset by peer) |
2021-01-09 16:39:10 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-01-09 16:39:11 +0100 | <merijn> | No clue, I don't really like inline-c. It's too much of a magic black box where I don't know exactly what it produces/calls |
2021-01-09 16:39:44 +0100 | <pie_> | *nod* |
2021-01-09 16:39:46 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2021-01-09 16:40:10 +0100 | fradet | (~pi@216.252.75.247) |
2021-01-09 16:40:18 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) |
2021-01-09 16:40:26 +0100 | <pie_> | what whats ultra questionable |
2021-01-09 16:40:37 +0100 | <merijn> | That struct |
2021-01-09 16:41:24 +0100 | <pie_> | so what should i do instead |
2021-01-09 16:41:38 +0100 | nly | (~user@unaffiliated/nly) ("ERC (IRC client for Emacs 27.1)") |
2021-01-09 16:41:40 +0100 | <pie_> | also yeah c doesnt do this https://stackoverflow.com/questions/48226185/c-using-enum-inside-struct |
2021-01-09 16:42:53 +0100 | dcbdnl | (~dcbdnl@c-73-76-129-120.hsd1.tx.comcast.net) |
2021-01-09 16:43:03 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-poouquqkxqavcjpz) |
2021-01-09 16:43:09 +0100 | <merijn> | pie_: I prefer just using the FFI explicitly and directly. For example, there's no real way to know/figure out which C++ compiler inline-c's C++ support uses |
2021-01-09 16:43:21 +0100 | <merijn> | Practically speaking that's just a nightmare |
2021-01-09 16:43:38 +0100 | fradet | (~pi@216.252.75.247) (Client Quit) |
2021-01-09 16:43:51 +0100 | <int-e> | nf: it involves editing a file on lambdabot's host |
2021-01-09 16:43:59 +0100 | <pie_> | ok so ill add a todo for "rewrite everything to use explicit ffi" after i got this to work :p |
2021-01-09 16:44:07 +0100 | <merijn> | There is no portable ABI for C++, so if you link your program with other C++ libraries you build, then there's no way to know the result works |
2021-01-09 16:45:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Ping timeout: 264 seconds) |
2021-01-09 16:45:16 +0100 | <merijn> | pie_: if inline-c uses clang++ and you use g++, that's definitely not going to work. Even if it uses the same compiler it might not even work if inline-c uses clang++ with libc++ and you used clang++ with libstdc++ |
2021-01-09 16:45:43 +0100 | <merijn> | I speak from experience when I say that you won't even realise that's going wrong until you spend 3 hours debugging cryptic segfaults in completely normal and correct code >.> |
2021-01-09 16:46:23 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
2021-01-09 16:46:34 +0100 | <pie_> | oof |
2021-01-09 16:46:43 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds) |
2021-01-09 16:46:43 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2021-01-09 16:46:55 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-09 16:46:58 +0100 | <pie_> | even if i use void pointers for everthing so they all have the same size? :D |
2021-01-09 16:47:28 +0100 | <pie_> | man its really bad that C is the only common thing between anything |
2021-01-09 16:48:03 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
2021-01-09 16:48:24 +0100 | plutoniix | (~q@node-ugq.pool-125-24.dynamic.totinternet.net) |
2021-01-09 16:49:11 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-09 16:49:13 +0100 | <dolio> | The C ABI is the common thing. |
2021-01-09 16:49:19 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2021-01-09 16:49:19 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-09 16:49:24 +0100 | <dolio> | The problem with C++ isn't just sizes. It's name mangling and such. |
2021-01-09 16:49:28 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-09 16:51:37 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-01-09 16:52:31 +0100 | <merijn> | pie_: If you use C++ you almost certainly use the STL and the libc++ and libstdc++ implementation of STL are entirely independent and *not* compatible |
2021-01-09 16:52:42 +0100 | <merijn> | And you can't magically use "void *" for everything either |
2021-01-09 16:53:59 +0100 | <merijn> | pie_: If you *only* use C++ from inline-c, then you *might* get away with it, but if you have any plans to link any other C++ code into the executable, then all the automatic magic stuff is a massive hassle |
2021-01-09 16:54:19 +0100 | <merijn> | And if you only use C++ inline-c and no libraries, why use C++ at all ;) |
2021-01-09 16:55:40 +0100 | <pie_> | i see |
2021-01-09 16:55:41 +0100 | madjestic | (~Android@188-207-108-189.mobile.kpn.net) (Read error: Connection reset by peer) |
2021-01-09 16:55:47 +0100 | <pie_> | well it got me off the ground at least |
2021-01-09 16:56:44 +0100 | mmmattyx | (uid17782@gateway/web/irccloud.com/x-mvrdbovajsozrgcj) |
2021-01-09 16:57:10 +0100 | pie_ | tries not to get discouraged :P |
2021-01-09 16:57:17 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-01-09 16:57:33 +0100 | christo | (~chris@81.96.113.213) |
2021-01-09 16:57:48 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-01-09 16:59:11 +0100 | <pie_> | ok just to get things rolling i made a .h for the hsc and a .hpp for the c++, maybe things wont crash horribly |
2021-01-09 16:59:29 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) |
2021-01-09 17:00:14 +0100 | <merijn> | pie_: Well, if you can somehow arrange things so that you have a C API that only uses pointer arguments to pass around, then your life becomes considerably easier |
2021-01-09 17:00:34 +0100 | <merijn> | pie_: So it depends how many C++ functions you need to access |
2021-01-09 17:00:37 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2021-01-09 17:00:47 +0100 | <pie_> | i mean its a pain in the butt to write a c wrapper, but it sounds like it might be a necessary evil |
2021-01-09 17:00:53 +0100 | <pie_> | not that many right ow |
2021-01-09 17:00:54 +0100 | <pie_> | *now |
2021-01-09 17:01:09 +0100 | <pie_> | so how the hell do c++ libraries even work? or is this why linux distros only use one compiler? <merijn> There is no portable ABI for C++, so if you link your program with other C++ libraries you build, then there's no way to know the result works |
2021-01-09 17:01:21 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-09 17:01:29 +0100 | <merijn> | pie_: Because system packages all use the same compiler, yes |
2021-01-09 17:02:28 +0100 | <merijn> | Or because they go through a C interface :p |
2021-01-09 17:02:37 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2021-01-09 17:02:44 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e7293cc19a8744f5227e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-01-09 17:03:16 +0100 | <pie_> | merijn: is there a way to learn this stuff without me constantly nagging people for help? |
2021-01-09 17:03:28 +0100 | <merijn> | pie_: The lack of portable ABI is why not a single language provides a full C++ FFI (I think D has a partial one, but that's because they basically reimplement tons of compiler details >.>) |
2021-01-09 17:04:04 +0100 | <merijn> | Well, my way of learning involved wasting about a year of my life and lots of frustration, so I wouldn't recommend that route >.> |
2021-01-09 17:05:24 +0100 | <pie_> | oh i misunderstood how some of hsc2hs works because of coincidences between names for what i was taking as an example , lets see if i can fix this now... |
2021-01-09 17:05:43 +0100 | <pie_> | merijn: can you write a guide? :P |
2021-01-09 17:06:42 +0100 | <pie_> | surely there is something out there already, but how to find it... |
2021-01-09 17:07:04 +0100 | <merijn> | Well my guide would be: as little C++ as humanly possible, C-based APIs and explicit FFI if you wanna have something you can understand :p |
2021-01-09 17:07:25 +0100 | bi_functor | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 264 seconds) |
2021-01-09 17:08:04 +0100 | <pie_> | ok wth "MCtx.hsc:28:15: error: ‘SumVoidP’ undeclared (first use in this function)" ...its right there in the .h |
2021-01-09 17:08:08 +0100 | mirrorbird | (~psutcliff@2a00:801:236:570e:b1f2:acf6:e570:218d) |
2021-01-09 17:08:27 +0100 | pera | (~pera@unaffiliated/pera) |
2021-01-09 17:12:00 +0100 | ArConan | (9de62a69@157.230.42.105) (Remote host closed the connection) |
2021-01-09 17:14:54 +0100 | <pie_> | ok since its C i need a typedef |
2021-01-09 17:16:11 +0100 | Entertainment | (~entertain@104.246.132.210) |
2021-01-09 17:16:11 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:9c3a:413f:148c:a5a9) (Quit: xff0x) |
2021-01-09 17:16:45 +0100 | Feuermagier | (~Feuermagi@213.178.26.41) |
2021-01-09 17:17:44 +0100 | <pie_> | why doesnt anyone standardize an abi... |
2021-01-09 17:18:11 +0100 | <pie_> | (presumably they cant agree on anything or dont see a need?) |
2021-01-09 17:19:04 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) (Ping timeout: 246 seconds) |
2021-01-09 17:19:31 +0100 | <Rembane> | My guess is that it's because there is one for C. |
2021-01-09 17:20:37 +0100 | <merijn> | pie_: Same reason why people don't just write a new Haskell standard :p |
2021-01-09 17:20:45 +0100 | <merijn> | Everyone has opinions and no one agrees |
2021-01-09 17:21:11 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) |
2021-01-09 17:21:13 +0100 | <dolio> | I don't think that's actually the same situation. |
2021-01-09 17:21:47 +0100 | <merijn> | It is and it isn't :p |
2021-01-09 17:21:49 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2021-01-09 17:22:09 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-09 17:22:19 +0100 | re6 | (5434a07f@tm.84.52.160.127.dc.cable.static.telemach.net) |
2021-01-09 17:22:45 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 17:22:55 +0100 | <re6> | When working with function that return a lot of Eithers and Maybes is the idiomatic way to deal with it with case statements or some other way? |
2021-01-09 17:23:05 +0100 | <re6> | for example when you read from a DB |
2021-01-09 17:23:07 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 17:23:08 +0100 | <re6> | and it returns |
2021-01-09 17:23:13 +0100 | shutdown_-h_now | (~arjan@2001:1c06:2d0b:2312:5a:c3a4:5df0:660c) (Remote host closed the connection) |
2021-01-09 17:23:21 +0100 | <re6> | Either Error (Maybe Result) |
2021-01-09 17:24:08 +0100 | <merijn> | re6: Simple, write a function "Either Error (Maybe Result) -> Either (Either Error Missing) Result" and map that over it? ;) |
2021-01-09 17:24:35 +0100 | <merijn> | Or "Either Error Result" if you can turn "Nothing" into a meaningful "Error" |
2021-01-09 17:24:38 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-01-09 17:24:42 +0100 | ADG1089__ | (~aditya@122.163.165.143) (Remote host closed the connection) |
2021-01-09 17:25:07 +0100 | <merijn> | re6: Basically, it depends on how you wanna handle the errors |
2021-01-09 17:25:09 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-01-09 17:26:32 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2021-01-09 17:26:50 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 265 seconds) |
2021-01-09 17:27:37 +0100 | knupfer | (~Thunderbi@200116b82c54da00d0a1e3dcacf76b2c.dip.versatel-1u1.de) (Remote host closed the connection) |
2021-01-09 17:27:45 +0100 | knupfer | (~Thunderbi@200116b82c54da009476bf1b0729030a.dip.versatel-1u1.de) |
2021-01-09 17:27:49 +0100 | <re6> | merijn: what about this |
2021-01-09 17:27:50 +0100 | <re6> | case result of |
2021-01-09 17:28:22 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:89b0:9d:5bb9:27d3) |
2021-01-09 17:28:40 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection) |
2021-01-09 17:29:01 +0100 | jlamothe | (~jlamothe@198.251.55.207) |
2021-01-09 17:29:11 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-01-09 17:29:32 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de) |
2021-01-09 17:29:34 +0100 | jollygood2 | (~bc812391@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
2021-01-09 17:31:08 +0100 | <merijn> | re6: That works, if you've only got 1, but tedious for 1000s |
2021-01-09 17:31:48 +0100 | <re6> | merijn: Sorry, 1000s of what? |
2021-01-09 17:33:51 +0100 | <re6> | oh, I only now understand what this function is supposed to be. Still have to stare at them for a while to see what's going on |
2021-01-09 17:33:52 +0100 | <re6> | "Either Error (Maybe Result) -> Either (Either Error Missing) Result" |
2021-01-09 17:33:59 +0100 | ubert1 | (~Thunderbi@p200300ecdf1ee090e6b318fffe838f33.dip0.t-ipconnect.de) |
2021-01-09 17:34:33 +0100 | ubert | (~Thunderbi@p200300ecdf1ee0eee6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-01-09 17:34:33 +0100 | ubert1 | ubert |
2021-01-09 17:37:02 +0100 | <merijn> | re6: Well, you said database query, so normally you'd get like one value per row |
2021-01-09 17:37:07 +0100 | is_null | (~jpic@pdpc/supporter/professional/is-null) |
2021-01-09 17:37:09 +0100 | <merijn> | Of course, there's also stuff like |
2021-01-09 17:37:12 +0100 | <merijn> | :t traverse |
2021-01-09 17:37:13 +0100 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
2021-01-09 17:37:41 +0100 | <merijn> | :t traverse `asAppliedTo` (undefined :: Char -> Either String Int) |
2021-01-09 17:37:42 +0100 | <lambdabot> | Traversable t => (Char -> Either String Int) -> t Char -> Either String (t Int) |
2021-01-09 17:37:57 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-01-09 17:39:22 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) (Ping timeout: 246 seconds) |
2021-01-09 17:41:31 +0100 | cheater | (~user@unaffiliated/cheater) (Ping timeout: 256 seconds) |
2021-01-09 17:41:40 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) |
2021-01-09 17:43:28 +0100 | <ij> | :t on |
2021-01-09 17:43:31 +0100 | <lambdabot> | (b -> b -> c) -> (a -> b) -> a -> a -> c |
2021-01-09 17:43:38 +0100 | <ij> | where is that defined? |
2021-01-09 17:44:54 +0100 | <merijn> | Data.Function, iirc |
2021-01-09 17:45:11 +0100 | <jlamothe> | Is that included in base? |
2021-01-09 17:45:17 +0100 | <merijn> | Yes |
2021-01-09 17:45:43 +0100 | <jlamothe> | I get the jist of what it's supposed to do from the type signature, but I never even knew it existed. |
2021-01-09 17:46:13 +0100 | <merijn> | :t sortBy |
2021-01-09 17:46:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Ping timeout: 264 seconds) |
2021-01-09 17:46:15 +0100 | <lambdabot> | (a -> a -> Ordering) -> [a] -> [a] |
2021-01-09 17:46:15 +0100 | <ij> | I think I've seen ski showcase it multiple times |
2021-01-09 17:46:16 +0100 | <merijn> | :t compare |
2021-01-09 17:46:18 +0100 | <lambdabot> | Ord a => a -> a -> Ordering |
2021-01-09 17:46:30 +0100 | <merijn> | :t sortBy (compare `on` fst) |
2021-01-09 17:46:32 +0100 | <lambdabot> | Ord a => [(a, b)] -> [(a, b)] |
2021-01-09 17:47:29 +0100 | <merijn> | That's outdated due to comparing and sortOn, but the general use is still there |
2021-01-09 17:47:42 +0100 | <merijn> | :t (+) `on` fst |
2021-01-09 17:47:44 +0100 | <lambdabot> | Num c => (c, b) -> (c, b) -> c |
2021-01-09 17:48:23 +0100 | <ij> | few popular languages have as cool general functions as haskell, this being a prime example |
2021-01-09 17:48:43 +0100 | Rudd0^ | (~Rudd0@185.189.115.108) |
2021-01-09 17:48:45 +0100 | <merijn> | ij: You wanna know the coolest general function? |
2021-01-09 17:48:50 +0100 | <ij> | tell me :) |
2021-01-09 17:48:51 +0100 | <merijn> | mappend! :p |
2021-01-09 17:49:05 +0100 | <ij> | mappend is nice :) |
2021-01-09 17:49:07 +0100 | <merijn> | Specifically, the one for "instance Monoid r => Monoid (a -> r)" |
2021-01-09 17:49:30 +0100 | chisui__ | (5882985d@88.130.152.93) |
2021-01-09 17:49:34 +0100 | <merijn> | :t comparing |
2021-01-09 17:49:35 +0100 | <lambdabot> | Ord a => (b -> a) -> b -> b -> Ordering |
2021-01-09 17:49:54 +0100 | madjest0 | (~Android@86-88-72-244.fixed.kpn.net) |
2021-01-09 17:49:59 +0100 | <ij> | :t head `mappend` head |
2021-01-09 17:50:01 +0100 | <lambdabot> | Monoid a => [a] -> a |
2021-01-09 17:50:05 +0100 | <merijn> | > sortBy (comparing fst <> comparing snd) $ zip [1..5] [10,9..6] |
2021-01-09 17:50:08 +0100 | <lambdabot> | [(1,10),(2,9),(3,8),(4,7),(5,6)] |
2021-01-09 17:50:13 +0100 | <ij> | > head `mappend` head $ [1] [2] |
2021-01-09 17:50:17 +0100 | <lambdabot> | error: |
2021-01-09 17:50:17 +0100 | <lambdabot> | • Couldn't match expected type ‘[a1] -> [a]’ |
2021-01-09 17:50:17 +0100 | <lambdabot> | with actual type ‘[a0]’ |
2021-01-09 17:50:19 +0100 | <merijn> | > sortBy (comparing snd <> comparing fst) $ zip [1..5] [10,9..6] |
2021-01-09 17:50:22 +0100 | <lambdabot> | [(5,6),(4,7),(3,8),(2,9),(1,10)] |
2021-01-09 17:50:22 +0100 | BuboBubo | (~BuboBubo@37.167.208.71) |
2021-01-09 17:50:36 +0100 | <ij> | > head `mappend` head $ [3] |
2021-01-09 17:50:38 +0100 | <lambdabot> | error: |
2021-01-09 17:50:38 +0100 | <lambdabot> | • Ambiguous type variable ‘a0’ arising from a use of ‘show_M825283759305... |
2021-01-09 17:50:38 +0100 | <lambdabot> | prevents the constraint ‘(Show a0)’ from being solved. |
2021-01-09 17:50:50 +0100 | <merijn> | 3 isn't a Monoid |
2021-01-09 17:50:56 +0100 | <ij> | ah, damn :) |
2021-01-09 17:51:00 +0100 | <ij> | summation should be |
2021-01-09 17:51:02 +0100 | <merijn> | > head `mappend` head $ [Sum 3] |
2021-01-09 17:51:04 +0100 | <lambdabot> | Sum {getSum = 6} |
2021-01-09 17:51:05 +0100 | <ij> | but I know, Sum |
2021-01-09 17:51:09 +0100 | Rudd0 | (~Rudd0@185.189.115.103) (Ping timeout: 256 seconds) |
2021-01-09 17:51:21 +0100 | <ij> | > head `mappend` last$$ map Sum [1..6] |
2021-01-09 17:51:23 +0100 | <merijn> | Personally I think my sortBy example is cooler ;) |
2021-01-09 17:51:23 +0100 | <lambdabot> | error: |
2021-01-09 17:51:24 +0100 | <lambdabot> | • Couldn't match expected type ‘Doc’ with actual type ‘[a0] -> a0’ |
2021-01-09 17:51:24 +0100 | <lambdabot> | • Probable cause: ‘mappend’ is applied to too few arguments |
2021-01-09 17:51:25 +0100 | <ij> | > head `mappend` last $ map Sum [1..6] |
2021-01-09 17:51:27 +0100 | <lambdabot> | Sum {getSum = 7} |
2021-01-09 17:51:33 +0100 | <__monty__> | Is hoogle down for anyone else? How do people expect me to write haskell without handholding?! /o\ |
2021-01-09 17:51:34 +0100 | <ij> | that is weird and very cool |
2021-01-09 17:51:36 +0100 | <ij> | __monty__, yes |
2021-01-09 17:51:38 +0100 | <merijn> | __monty__: It's down |
2021-01-09 17:51:43 +0100 | <merijn> | ij: It's actually better |
2021-01-09 17:52:01 +0100 | <ij> | lemme read your comparing <> |
2021-01-09 17:52:02 +0100 | <merijn> | ij: since "instance Monoid r => Monoid (a -> r)" applies recursively |
2021-01-09 17:52:14 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:89b0:9d:5bb9:27d3) (Ping timeout: 264 seconds) |
2021-01-09 17:52:15 +0100 | <monochrom> | Time to read library docs from cover to cover. |
2021-01-09 17:52:17 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 17:52:19 +0100 | <merijn> | Which is why it works despite "comparing fst" being multiple arguments |
2021-01-09 17:52:23 +0100 | <merijn> | :t comparing fst |
2021-01-09 17:52:25 +0100 | <lambdabot> | Ord a => (a, b) -> (a, b) -> Ordering |
2021-01-09 17:52:58 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:b0f6:da6b:4124:f1d4) |
2021-01-09 17:55:49 +0100 | ArsenArsen_ | (~Arsen@fsf/member/ArsenArsen) (Quit: bye) |
2021-01-09 17:56:01 +0100 | ArsenArsen | (~Arsen@fsf/member/ArsenArsen) |
2021-01-09 17:56:23 +0100 | <ij> | > getProduct . fold $ [1,2,3,4] |
2021-01-09 17:56:25 +0100 | <lambdabot> | 24 |
2021-01-09 17:56:26 +0100 | <ij> | wtf!? |
2021-01-09 17:56:40 +0100 | <merijn> | ij: "instance Num a => Num (Product a)" :) |
2021-01-09 17:56:42 +0100 | geekosaur | (42d52137@66.213.33.55) |
2021-01-09 17:56:55 +0100 | <ij> | ah, gotcha they're not integers |
2021-01-09 17:57:04 +0100 | <ij> | so that helps solving that with your reminder of this instance |
2021-01-09 17:59:24 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:b0f6:da6b:4124:f1d4) (Ping timeout: 240 seconds) |
2021-01-09 17:59:29 +0100 | <ij> | it took me a while to grasp function monad intuitively |
2021-01-09 18:00:23 +0100 | <ij> | ok, I get your comparing example – whack, but very cool |
2021-01-09 18:00:50 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Read error: Connection reset by peer) |
2021-01-09 18:00:54 +0100 | <merijn> | ij: If you wanna see some heavy duty abuse of that monoid |
2021-01-09 18:01:00 +0100 | <ij> | I do! |
2021-01-09 18:01:11 +0100 | viluon | (uid453725@gateway/web/irccloud.com/x-kawrxnfkkehkxrdj) |
2021-01-09 18:01:38 +0100 | <merijn> | ij: https://github.com/haskell/cabal/blob/master/Cabal/src/Distribution/Simple/Program/GHC.hs#L49-L307 |
2021-01-09 18:01:46 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2021-01-09 18:01:51 +0100 | <viluon> | is Hoogle down for anyone else? (sorry if it's been asked before) https://hoogle.haskell.org/ |
2021-01-09 18:01:53 +0100 | <merijn> | That's about 250 lines worth of code that's 90% various monoid instances :p |
2021-01-09 18:01:56 +0100 | <ij> | viluon, yes |
2021-01-09 18:02:01 +0100 | <viluon> | ij: thanks |
2021-01-09 18:02:18 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-09 18:02:27 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-01-09 18:02:29 +0100 | p8m_ | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 256 seconds) |
2021-01-09 18:04:10 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-09 18:04:17 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-01-09 18:04:43 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection) |
2021-01-09 18:05:44 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) |
2021-01-09 18:07:53 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 272 seconds) |
2021-01-09 18:07:56 +0100 | <ij> | hoogle seems to be up |
2021-01-09 18:08:16 +0100 | ransom | (~c4264035@8.48.134.54) |
2021-01-09 18:08:20 +0100 | <dsal> | amazonka is really great, but also very lightly supported. |
2021-01-09 18:08:52 +0100 | <geekosaur> | which hoogle? |
2021-01-09 18:09:06 +0100 | <ij> | geekosaur, .haskell.org |
2021-01-09 18:10:53 +0100 | cheater | (~user@unaffiliated/cheater) |
2021-01-09 18:11:05 +0100 | <pie_> | merijn: how can i cast a Ptr () to an CInt? not clear to me |
2021-01-09 18:13:20 +0100 | <Athas> | Is GHC 8.10 much slower than 8.8? I feel that my compile times have gone up. |
2021-01-09 18:13:49 +0100 | <pie_> | or actually, i cant tell, is IntPtr a pointer to an int or the thing that i want |
2021-01-09 18:13:55 +0100 | <Athas> | CI suggests the same. |
2021-01-09 18:13:57 +0100 | <pie_> | i guess a pointer to an int would actually be Ptr CInt |
2021-01-09 18:15:49 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-dmdothxqoypgdjpl) (Quit: Connection closed for inactivity) |
2021-01-09 18:15:49 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 264 seconds) |
2021-01-09 18:16:57 +0100 | luna1 | (~luna@host-24-222-67-173.public.eastlink.ca) |
2021-01-09 18:17:06 +0100 | BuboBubo | (~BuboBubo@37.167.208.71) (Remote host closed the connection) |
2021-01-09 18:17:35 +0100 | <luna1> | test |
2021-01-09 18:17:39 +0100 | BuboBubo | (~BuboBubo@rezo-mtrg2-17.ens.fr) |
2021-01-09 18:18:24 +0100 | <luna1> | anyone here? |
2021-01-09 18:18:27 +0100 | <__monty__> | We're receiving you loud and clear, luna1. |
2021-01-09 18:19:09 +0100 | <luna1> | thanks... just testing encrypted network... |
2021-01-09 18:19:34 +0100 | <dsal> | Oh. In that case, your encryption has failed. |
2021-01-09 18:22:46 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 18:23:07 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 18:23:28 +0100 | <luna1> | oLqf4WVbLm5Zyh3xTyOfNQQC8d3ooXWY6H0uJ5JXtNsaegq0UsSXGIEaGDY! |
2021-01-09 18:23:49 +0100 | luna1 | (~luna@host-24-222-67-173.public.eastlink.ca) (Quit: WeeChat 2.8) |
2021-01-09 18:25:37 +0100 | <__monty__> | Receiving you loud but unreadable. |
2021-01-09 18:26:32 +0100 | codeAlways | (uid272474@gateway/web/irccloud.com/x-nkiniljwvcptfvfg) |
2021-01-09 18:29:42 +0100 | new_haskeller | (ae72a197@cpe00fc8d386d93-cm00fc8d386d90.cpe.net.cable.rogers.com) |
2021-01-09 18:29:56 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Remote host closed the connection) |
2021-01-09 18:30:24 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) |
2021-01-09 18:32:34 +0100 | <dwt> | sucks |
2021-01-09 18:32:37 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) (Ping timeout: 264 seconds) |
2021-01-09 18:32:49 +0100 | <dwt> | nvm I can't type |
2021-01-09 18:33:22 +0100 | <pie_> | isnt there a way to use io in case statements in do notation where I dont have to fiddle with getting the IO out of the inside of the case statement |
2021-01-09 18:33:44 +0100 | <monochrom> | Show actual mock code? |
2021-01-09 18:35:12 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:4462:213b:d04f:6dc9) (Ping timeout: 260 seconds) |
2021-01-09 18:35:35 +0100 | <pie_> | https://bpa.st/Z6YA |
2021-01-09 18:35:36 +0100 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) (Remote host closed the connection) |
2021-01-09 18:36:00 +0100 | <pie_> | I could probably do some variant of the thing we did yesterday sure |
2021-01-09 18:36:14 +0100 | <monochrom> | Which line is line "72"? |
2021-01-09 18:37:20 +0100 | <pie_> | monochrom: 1 -> Left $ getStr $ castPtr $ _field struct |
2021-01-09 18:37:21 +0100 | <monochrom> | Perhaps some of those $'s should be fmap instead? |
2021-01-09 18:38:35 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:2199:1575:430:126b) |
2021-01-09 18:38:43 +0100 | <monochrom> | Right? If I want "I want to getLine but don't return the string, return the length of the string" it's fmap length getLine, right? RIGHT? |
2021-01-09 18:39:15 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) |
2021-01-09 18:39:35 +0100 | <pie_> | sounds reasonable :p |
2021-01-09 18:40:34 +0100 | <monochrom> | Meta-lesson: See how your wordy description has nothing to do with the real problem. |
2021-01-09 18:40:47 +0100 | <monochrom> | s/description/question/ |
2021-01-09 18:42:25 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:2199:1575:430:126b) (Remote host closed the connection) |
2021-01-09 18:42:28 +0100 | <pie_> | i should set up a paste tool so i can just paste stuff from my shell |
2021-01-09 18:42:31 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:2199:1575:430:126b) |
2021-01-09 18:45:51 +0100 | BuboBubo | (~BuboBubo@rezo-mtrg2-17.ens.fr) () |
2021-01-09 18:46:16 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) (Ping timeout: 240 seconds) |
2021-01-09 18:47:21 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-09 18:47:46 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-01-09 18:47:56 +0100 | <pie_> | (what if i didnt have to care if i used fmap or not :P) |
2021-01-09 18:48:09 +0100 | <pie_> | well anyway I user <$> for the first application and its happy |
2021-01-09 18:48:18 +0100 | <pie_> | (and im basically happy) |
2021-01-09 18:48:22 +0100 | <monochrom> | Then you're writing in SML or Scheme. |
2021-01-09 18:48:36 +0100 | ransom | (~c4264035@8.48.134.54) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-09 18:48:57 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-09 18:48:59 +0100 | <pie_> | nevermind I commented it out whoops :D but in any case I should be able to fix it |
2021-01-09 18:49:09 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-09 18:49:09 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-134-170.cust.tzulo.com) |
2021-01-09 18:49:43 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:2199:1575:430:126b) (Remote host closed the connection) |
2021-01-09 18:49:46 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) |
2021-01-09 18:50:09 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:2199:1575:430:126b) |
2021-01-09 18:51:39 +0100 | codeAlways | saitama |
2021-01-09 18:51:55 +0100 | saitama | saitamaplus |
2021-01-09 18:52:09 +0100 | <__monty__> | That's my favorite bug fixing technique. Removes 100% of all bugs big and small : ) |
2021-01-09 18:52:35 +0100 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) |
2021-01-09 18:53:25 +0100 | geekosaur | (42d52137@66.213.33.55) (Ping timeout: 245 seconds) |
2021-01-09 18:53:36 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
2021-01-09 18:54:32 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-01-09 18:54:38 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:2199:1575:430:126b) (Ping timeout: 264 seconds) |
2021-01-09 18:56:08 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:d36:d027:f538:7220) |
2021-01-09 18:56:40 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) (Remote host closed the connection) |
2021-01-09 18:56:57 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:a8cc:4f45:69a7:42ce) |
2021-01-09 18:59:25 +0100 | ubert | (~Thunderbi@p200300ecdf1ee090e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-01-09 19:00:17 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 19:00:22 +0100 | <pie_> | bah, screwed by associativity |
2021-01-09 19:00:53 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:d36:d027:f538:7220) (Ping timeout: 260 seconds) |
2021-01-09 19:04:14 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:a53a:84c8:ba9d:eee2) |
2021-01-09 19:05:31 +0100 | ADG1089__ | (~aditya@122.163.165.143) |
2021-01-09 19:05:44 +0100 | turion | (~turion@2a02:810d:8abf:c4a8:d43a:b21:28bf:441a) |
2021-01-09 19:08:24 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:a53a:84c8:ba9d:eee2) (Ping timeout: 240 seconds) |
2021-01-09 19:08:29 +0100 | <monochrom> | This is why I don't use $ |
2021-01-09 19:08:43 +0100 | <int-e> | Okay, the packages that lambdabot sees have changed... I've finally set up a separate package environment for evlaution (separate from the one where lambdabot is built, that is). This means a number of packages are now gone, but it also means I have much more control over the packages that are there... so I'm less reluctant to add new ones by popular demand. |
2021-01-09 19:09:04 +0100 | madjest0 | (~Android@86-88-72-244.fixed.kpn.net) (Read error: Connection reset by peer) |
2021-01-09 19:09:18 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) () |
2021-01-09 19:09:42 +0100 | renzhi | (~renzhi@2607:fa49:653f:ba00::e0e5) |
2021-01-09 19:11:09 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-09 19:13:03 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:3d53:915:922b:d9c) |
2021-01-09 19:13:12 +0100 | <int-e> | https://silicon.int-e.eu/lambdabot/State/packages.txt is what's there at the moment... basically what ghc ships with, lens, mueval (I have not disentangled things completely), and a few odds and ends like simple-reflect that are very useful to lambdabot. |
2021-01-09 19:13:13 +0100 | sparsity | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) |
2021-01-09 19:13:58 +0100 | <int-e> | Oh and I broke @check, will fix... |
2021-01-09 19:14:53 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2021-01-09 19:15:16 +0100 | dyeplexer | (~lol@unaffiliated/terpin) (Remote host closed the connection) |
2021-01-09 19:15:41 +0100 | <int-e> | Oh I also got rid of the builtin `Mu`; it's weird and can easily be defined on the spot. |
2021-01-09 19:15:45 +0100 | geekosaur | (42d52137@66.213.33.55) |
2021-01-09 19:17:02 +0100 | darjeeling_ | (~darjeelin@115.215.40.96) (Ping timeout: 272 seconds) |
2021-01-09 19:17:24 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:3d53:915:922b:d9c) (Ping timeout: 240 seconds) |
2021-01-09 19:19:02 +0100 | darjeeling_ | (~darjeelin@115.215.40.96) |
2021-01-09 19:19:42 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 256 seconds) |
2021-01-09 19:20:08 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Quit: No Ping reply in 180 seconds.) |
2021-01-09 19:20:23 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
2021-01-09 19:21:27 +0100 | dominik | (~weechat@2001:a61:35c0:901:9665:9cff:fe4d:b4d0) |
2021-01-09 19:21:50 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2021-01-09 19:22:46 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 19:23:06 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 19:25:08 +0100 | JanBessai | (~JanB@85-22-20-102.ip.dokom21.de) |
2021-01-09 19:25:22 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:a8cc:4f45:69a7:42ce) (Ping timeout: 260 seconds) |
2021-01-09 19:26:38 +0100 | sajith | (~sajith@fsf/member/nonzen) |
2021-01-09 19:26:59 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:a8cc:4f45:69a7:42ce) |
2021-01-09 19:29:26 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2021-01-09 19:29:30 +0100 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) |
2021-01-09 19:29:37 +0100 | flux10 | (2fe3e53b@047-227-229-059.res.spectrum.com) |
2021-01-09 19:30:18 +0100 | <flux10> | could anyone explain the idea behind the function functor? i don't really get how it relates to other functors like Maybe and List, and am not seeing why fmap would correspond to (.) |
2021-01-09 19:30:44 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-01-09 19:31:51 +0100 | JanBessai | (~JanB@85-22-20-102.ip.dokom21.de) (Quit: leaving) |
2021-01-09 19:32:37 +0100 | <monochrom> | There is a type story and a term story. |
2021-01-09 19:33:37 +0100 | <flux10> | hmm, I understand why the types work out |
2021-01-09 19:33:59 +0100 | <monochrom> | Type story: "(a->b) -> F a -> F b" with "F x = r->x" becomes (a->b) -> (r->a) -> (r->b), this is the type of (.) |
2021-01-09 19:35:09 +0100 | <monochrom> | Term story: \f xs -> \r -> f (xs r) is (.) |
2021-01-09 19:35:17 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
2021-01-09 19:35:43 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 19:35:55 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 19:36:45 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-09 19:37:00 +0100 | <flux10> | could you elaborate on the term story part? |
2021-01-09 19:37:27 +0100 | <flux10> | i'm not sure i understand what \f xs -> \r -> f (xs r) is trying to achieve |
2021-01-09 19:37:59 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 19:38:31 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-09 19:38:37 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 19:38:52 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-09 19:39:12 +0100 | xsperry | (~as@unaffiliated/xsperry) () |
2021-01-09 19:39:20 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-kkcpnmskhkuyrrwu) |
2021-01-09 19:39:49 +0100 | <monochrom> | "xs :: F a = r->a" can be thought of as a program that, if you "run" it, it gives an answer of type "a". But "run it" means you treat it as a function and give it a parameter of type r. |
2021-01-09 19:40:55 +0100 | <monochrom> | "fmap f xs" can be thought of as a program that is like xs, except you don't like its answer verbatim, you want to use f to convert the answer. |
2021-01-09 19:41:08 +0100 | <monochrom> | (This holds for all functor instances.) |
2021-01-09 19:41:12 +0100 | dmiles | (dmiles@c-98-232-203-68.hsd1.wa.comcast.net) |
2021-01-09 19:41:14 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-01-09 19:42:34 +0100 | xsperry | (~as@unaffiliated/xsperry) |
2021-01-09 19:42:42 +0100 | <monochrom> | For F = (->)r, "fmap f xs" should be a program that needs a parameter of type r, "run" xs with r, then use f to convert the answer. |
2021-01-09 19:42:49 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) |
2021-01-09 19:43:22 +0100 | <monochrom> | "run xs with r" is "xs r". That is already xs's answer. f (xs r) is the converted answer. |
2021-01-09 19:43:25 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 264 seconds) |
2021-01-09 19:43:58 +0100 | <monochrom> | But you need to take the r parameter before those. \r -> f (xs r) |
2021-01-09 19:44:20 +0100 | <monochrom> | So fmap = \f xs -> \r -> f (xs r) |
2021-01-09 19:45:42 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007) |
2021-01-09 19:47:26 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Ping timeout: 264 seconds) |
2021-01-09 19:48:33 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-09 19:49:18 +0100 | fosterite | (~fosterite@2600:6c46:7800:fecf:6d72:fa24:7fe8:ff99) |
2021-01-09 19:49:47 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e7293cc19a8744f5227e.dip0.t-ipconnect.de) |
2021-01-09 19:52:16 +0100 | electricityZZZZ | (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) |
2021-01-09 19:54:35 +0100 | <flux10> | ah okay, i think this is starting to make sense now. thanks |
2021-01-09 19:54:35 +0100 | jamm | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-09 19:55:25 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@static-198-54-134-170.cust.tzulo.com) (Ping timeout: 264 seconds) |
2021-01-09 19:55:31 +0100 | <flux10> | the program interpretation helps a lot |
2021-01-09 19:55:45 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-09 19:57:58 +0100 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2021-01-09 19:58:04 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 19:58:50 +0100 | dominik | (~weechat@2001:a61:35c0:901:9665:9cff:fe4d:b4d0) (Ping timeout: 264 seconds) |
2021-01-09 19:59:15 +0100 | dominik | (~weechat@aftr-62-216-207-253.dynamic.mnet-online.de) |
2021-01-09 20:00:38 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
2021-01-09 20:00:44 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds) |
2021-01-09 20:00:44 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-01-09 20:01:04 +0100 | jollygood2 | (~bc812391@217.29.117.252) |
2021-01-09 20:01:04 +0100 | halbGefressen | (~halbGefre@2a02:810d:f40:2a9c:40b2:2308:84bd:8b9b) |
2021-01-09 20:03:30 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-09 20:04:14 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
2021-01-09 20:04:16 +0100 | alx741 | (~alx741@181.196.69.12) (Quit: alx741) |
2021-01-09 20:06:16 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) |
2021-01-09 20:08:06 +0100 | gawen | (~gawen@movzbl.root.sx) (Quit: cya) |
2021-01-09 20:08:20 +0100 | jmchael | (~jmchael@87.112.235.234) (Quit: Leaving) |
2021-01-09 20:09:05 +0100 | <flux10> | monochrom so would it be fair to say, for example, that (+1) is an instance of the "function" functor? |
2021-01-09 20:09:10 +0100 | <flux10> | where r = int? |
2021-01-09 20:09:58 +0100 | <monochrom> | "instance" is for types. "my type is an instance of that class". |
2021-01-09 20:10:07 +0100 | gawen | (~gawen@movzbl.root.sx) |
2021-01-09 20:10:09 +0100 | <monochrom> | (+1) is a term/value. |
2021-01-09 20:10:44 +0100 | <flux10> | so "Just 1" is a term, but "Just Int" would be an instance |
2021-01-09 20:10:49 +0100 | <monochrom> | I don't use words. pffft. (+1) :: Int -> Int. Short and accurate. |
2021-01-09 20:11:02 +0100 | <flux10> | *Maybe, sorry |
2021-01-09 20:11:26 +0100 | <monochrom> | But the Functor class is such that "Maybe" is an instance, "Maybe Int" is not. |
2021-01-09 20:11:43 +0100 | <monochrom> | "instance Functor Maybe" not "instance Functor (Maybe a)". Sleep on that. |
2021-01-09 20:11:56 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-09 20:12:28 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-09 20:13:27 +0100 | <flux10> | but it's "instance Functor ((->) r)" |
2021-01-09 20:13:52 +0100 | <flux10> | so what's the difference here |
2021-01-09 20:14:58 +0100 | DavidEichmann | (~david@98.27.93.209.dyn.plus.net) (Remote host closed the connection) |
2021-01-09 20:15:05 +0100 | new_haskeller | (ae72a197@cpe00fc8d386d93-cm00fc8d386d90.cpe.net.cable.rogers.com) (Ping timeout: 245 seconds) |
2021-01-09 20:15:30 +0100 | <monochrom> | But it is not "instance Functor ((->) r a)". |
2021-01-09 20:16:03 +0100 | gawen | (~gawen@movzbl.root.sx) (Quit: cya) |
2021-01-09 20:17:25 +0100 | _ashbreeze_ | (~mark@64.85.214.234.reverse.socket.net) |
2021-01-09 20:17:36 +0100 | <flux10> | true :D |
2021-01-09 20:18:03 +0100 | gawen | (~gawen@movzbl.root.sx) |
2021-01-09 20:20:04 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 20:20:53 +0100 | mirrorbird | (~psutcliff@2a00:801:236:570e:b1f2:acf6:e570:218d) (Ping timeout: 272 seconds) |
2021-01-09 20:22:45 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 20:23:07 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 20:24:04 +0100 | knupfer | (~Thunderbi@200116b82c54da009476bf1b0729030a.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
2021-01-09 20:25:50 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds) |
2021-01-09 20:30:50 +0100 | <flux10> | so is this arrow functor the same as the reader functor? |
2021-01-09 20:34:01 +0100 | <enikar> | indeed |
2021-01-09 20:34:23 +0100 | <flux10> | so why do both exist then? |
2021-01-09 20:35:13 +0100 | <dsal> | Because English has lots of words for the same thing. |
2021-01-09 20:35:21 +0100 | aveltras | (uid364989@gateway/web/irccloud.com/x-ancwmmnynxvujmes) |
2021-01-09 20:36:01 +0100 | <flux10> | oh so there's no real reason :D |
2021-01-09 20:36:03 +0100 | <flux10> | i see. |
2021-01-09 20:36:21 +0100 | <geekosaur> | the newtype-wrapped one (Reader) is generally easier to work with and understand |
2021-01-09 20:36:37 +0100 | <enikar> | there are also different point of view |
2021-01-09 20:36:39 +0100 | <geekosaur> | whereas the raw one bends people's brains on a regular basis :) |
2021-01-09 20:41:22 +0100 | knupfer | (~Thunderbi@200116b82c54da00fc159cfffe25780e.dip.versatel-1u1.de) |
2021-01-09 20:41:24 +0100 | renzhi | (~renzhi@2607:fa49:653f:ba00::e0e5) (Ping timeout: 240 seconds) |
2021-01-09 20:41:43 +0100 | alx741 | (~alx741@181.196.69.12) |
2021-01-09 20:41:52 +0100 | alx741 | (~alx741@181.196.69.12) (Client Quit) |
2021-01-09 20:42:06 +0100 | knupfer | (~Thunderbi@200116b82c54da00fc159cfffe25780e.dip.versatel-1u1.de) (Remote host closed the connection) |
2021-01-09 20:42:14 +0100 | knupfer | (~Thunderbi@200116b82c54da00c0fe6bfc73b4a5f3.dip.versatel-1u1.de) |
2021-01-09 20:42:38 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 20:42:49 +0100 | ph88 | (~ph88@2a01:598:d002:63ff:f864:480b:85db:ffe9) |
2021-01-09 20:43:31 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) |
2021-01-09 20:44:00 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-hzinwdistayxyvoe) |
2021-01-09 20:44:45 +0100 | alx741 | (~alx741@181.196.69.12) |
2021-01-09 20:45:43 +0100 | <geekosaur> | the Reader "story" is that you have an "environment" that is somehow passed around. That this is just a function argument is hidden by the newtype. |
2021-01-09 20:47:19 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 246 seconds) |
2021-01-09 20:47:48 +0100 | sparsity | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed) |
2021-01-09 20:48:38 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:f1bd:cd9d:94c1:2c34) (Ping timeout: 264 seconds) |
2021-01-09 20:49:20 +0100 | dandels | (~dandels@unaffiliated/dandels) |
2021-01-09 20:51:52 +0100 | bitmagie | (~Thunderbi@200116b806ecba00e03d429121b6176a.dip.versatel-1u1.de) |
2021-01-09 20:53:23 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds) |
2021-01-09 20:57:02 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:a8cc:4f45:69a7:42ce) (Ping timeout: 264 seconds) |
2021-01-09 20:57:28 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds) |
2021-01-09 20:59:35 +0100 | ADG1089__ | (~aditya@122.163.165.143) (Remote host closed the connection) |
2021-01-09 21:00:33 +0100 | <idnar> | similarly, instance Monoid m => Monad ((,) m) is the unwrapped Writer monad |
2021-01-09 21:04:07 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) |
2021-01-09 21:04:37 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-01-09 21:08:50 +0100 | geekosaur | (42d52137@66.213.33.55) (Ping timeout: 245 seconds) |
2021-01-09 21:08:59 +0100 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Client Quit) |
2021-01-09 21:09:04 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:8800:58ae:899:fbba) |
2021-01-09 21:10:23 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds) |
2021-01-09 21:10:39 +0100 | fosterite | (~fosterite@2600:6c46:7800:fecf:6d72:fa24:7fe8:ff99) (Remote host closed the connection) |
2021-01-09 21:10:44 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds) |
2021-01-09 21:11:11 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:3d53:915:922b:d9c) |
2021-01-09 21:11:43 +0100 | denisse_ | (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds) |
2021-01-09 21:12:03 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2021-01-09 21:12:15 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-09 21:12:54 +0100 | fosterite | (~fosterite@2600:6c46:7800:fecf:6d72:fa24:7fe8:ff99) |
2021-01-09 21:13:19 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-09 21:13:45 +0100 | bitmagie | (~Thunderbi@200116b806ecba00e03d429121b6176a.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-01-09 21:14:01 +0100 | dandels | (~dandels@unaffiliated/dandels) (Ping timeout: 264 seconds) |
2021-01-09 21:15:20 +0100 | philopso1 | (~caecilius@gateway/tor-sasl/caecilius) |
2021-01-09 21:15:25 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2021-01-09 21:15:31 +0100 | bi_functor | (~Melanie@192-0-134-138.cpe.teksavvy.com) |
2021-01-09 21:15:38 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:3d53:915:922b:d9c) (Ping timeout: 260 seconds) |
2021-01-09 21:15:38 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Quit: No Ping reply in 180 seconds.) |
2021-01-09 21:15:43 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
2021-01-09 21:15:44 +0100 | hekkaidekapus} | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2021-01-09 21:15:53 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2021-01-09 21:16:18 +0100 | denisse | (~spaceCat@gateway/tor-sasl/alephzer0) |
2021-01-09 21:16:29 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-09 21:17:21 +0100 | fosterite | (~fosterite@2600:6c46:7800:fecf:6d72:fa24:7fe8:ff99) (Ping timeout: 246 seconds) |
2021-01-09 21:22:46 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 21:23:01 +0100 | Vaxu | (~vaxaren@melkki.cs.helsinki.fi) (Ping timeout: 246 seconds) |
2021-01-09 21:23:07 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 21:23:20 +0100 | Tesseraction | (~Tesseract@unaffiliated/tesseraction) (Remote host closed the connection) |
2021-01-09 21:24:26 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-09 21:24:54 +0100 | Vaxu | (~vaxaren@melkki.cs.helsinki.fi) |
2021-01-09 21:25:05 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Client Quit) |
2021-01-09 21:26:31 +0100 | igghibu | (~igghibu@37.120.201.89) |
2021-01-09 21:28:51 +0100 | geekosaur | (42d52137@66.213.33.55) |
2021-01-09 21:29:40 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2021-01-09 21:30:12 +0100 | <flux10> | how do I make sense of ReaderT? |
2021-01-09 21:30:36 +0100 | igghibu | (~igghibu@37.120.201.89) (Client Quit) |
2021-01-09 21:30:46 +0100 | pavonia | (~user@unaffiliated/siracusa) |
2021-01-09 21:30:57 +0100 | <flux10> | what is `withReaderT f m = ReaderT $ runReaderT m . f` doing? |
2021-01-09 21:31:08 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-09 21:31:09 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-09 21:31:50 +0100 | nij | (~user@24-124-119-167-dynamic.midco.net) |
2021-01-09 21:31:52 +0100 | <bi_functor> | :t withReaderT |
2021-01-09 21:31:54 +0100 | <lambdabot> | (r' -> r) -> ReaderT r m a -> ReaderT r' m a |
2021-01-09 21:32:36 +0100 | <nij> | May I ask for a help (with cabal)? I cannot successfully install `pandoc` from cabal: https://bpa.st/M6SQ .. what's going on here, and how can I fix it :)? |
2021-01-09 21:35:47 +0100 | <merijn> | nij: Are you on Arch? |
2021-01-09 21:38:04 +0100 | <nij> | yes |
2021-01-09 21:38:47 +0100 | flux10 | (2fe3e53b@047-227-229-059.res.spectrum.com) (Remote host closed the connection) |
2021-01-09 21:39:25 +0100 | <nij> | Paths to ghc and cabal: https://bpa.st/OUCA . No global pollution. |
2021-01-09 21:39:46 +0100 | <merijn> | nij: And you installed Haskell packages from the Arch package manager? |
2021-01-09 21:40:00 +0100 | turion | (~turion@2a02:810d:8abf:c4a8:d43a:b21:28bf:441a) (Quit: Leaving.) |
2021-01-09 21:40:13 +0100 | Tesseraction | (~Tesseract@unaffiliated/tesseraction) |
2021-01-09 21:41:00 +0100 | <nij> | Oh yes, only for xmobar currently. .. Ah! I just checked `whereis ghc-pkg` |
2021-01-09 21:41:08 +0100 | mirrorbird | (~psutcliff@2a00:801:236:570e:b1f2:acf6:e570:218d) |
2021-01-09 21:41:40 +0100 | <merijn> | Classic rookie move |
2021-01-09 21:41:43 +0100 | Noldorin | (~noldorin@unaffiliated/noldorin) |
2021-01-09 21:41:53 +0100 | <nij> | ghc-pkg: /usr/bin/ghc-pkg /home/nij/.ghcup/ghc/8.8.3/bin/ghc-pkg |
2021-01-09 21:41:53 +0100 | <merijn> | nij: Arch's package manager ships entirely broken packages |
2021-01-09 21:42:09 +0100 | <nij> | Sigh. So maybe it's because of ghc-pkg collision. |
2021-01-09 21:42:13 +0100 | <merijn> | no |
2021-01-09 21:42:37 +0100 | <merijn> | The problem is that Arch maintainers intentionally only ship dynamic libraries, but the default behaviour of GHC and cabal-install is to link statically |
2021-01-09 21:42:39 +0100 | <nij> | merijn: yeah. I tried to get rid of all haskell stuff from arch repo, but I couldn't not build xmobar with all flags on successfully from cabal.. |
2021-01-09 21:42:49 +0100 | <merijn> | However, the Arch maintainers don't bother change that default |
2021-01-09 21:43:04 +0100 | <nij> | Right. I believe I have got rid of most haskell stuff obtained from the arch repo. |
2021-01-09 21:43:33 +0100 | <nij> | If I learn how to build xmobar with all flags on on cabal, I will no longer use haskell stuff from the arch repo. |
2021-01-09 21:43:44 +0100 | <merijn> | nij: So GHC/cabal are trying to build your code, see http-client is already installed, try to use it, but since the static files are missing it's crashing on that error about Network.HTTP.Types being missing |
2021-01-09 21:43:58 +0100 | <nij> | I seeeeee :( |
2021-01-09 21:44:14 +0100 | <nij> | I really need to build xmobar myself, then.. |
2021-01-09 21:45:16 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) (Ping timeout: 240 seconds) |
2021-01-09 21:45:36 +0100 | <nij> | merijn: We actually talked about this yesterday. http://tunes.org/~nef/logs/haskell/21.01.08 |
2021-01-09 21:45:41 +0100 | <nij> | Haven't had luck. |
2021-01-09 21:45:56 +0100 | fosterite | (~fosterite@2600:6c46:7800:fecf:6d72:fa24:7fe8:ff99) |
2021-01-09 21:46:59 +0100 | <nij> | Without fixing that, can I ask cabal to seek packages first from ~/.cabal/.. ? |
2021-01-09 21:47:23 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-01-09 21:48:37 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) |
2021-01-09 21:48:48 +0100 | <nij> | Or at least ask cabal to stop looking at the global dir.. and pull http-client down to ~/.cabal if needed? |
2021-01-09 21:48:59 +0100 | <merijn> | no clue, tbh |
2021-01-09 21:49:32 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-09 21:49:34 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-09 21:50:03 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2021-01-09 21:50:25 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-09 21:50:28 +0100 | <nij> | How about this: Can I get xmobar as a standalone binary, which was compiled with all flags on? |
2021-01-09 21:50:49 +0100 | <nij> | And has no runtime dependencies.. it should include everything it needs. |
2021-01-09 21:51:22 +0100 | hekkaidekapus} | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-09 21:51:41 +0100 | <merijn> | Probably? That's cabal-install's default behaviour |
2021-01-09 21:51:59 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 21:52:00 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-01-09 21:52:08 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
2021-01-09 21:52:08 +0100 | neiluj | (~jco@unaffiliated/neiluj) |
2021-01-09 21:52:48 +0100 | <monochrom> | xmonad is slowing changing from being an asset (from the POV of the Haskell community) to being a liability. |
2021-01-09 21:53:23 +0100 | <nij> | monochrom: what does that mean? asset->liability? |
2021-01-09 21:53:37 +0100 | <nij> | you mean it is turning bad? |
2021-01-09 21:53:45 +0100 | <monochrom> | It being an asset requires these premises: pretty trivial to build and run, so that it is a successful gateway drug to full-blown Haskell. |
2021-01-09 21:53:46 +0100 | <nij> | (English aint my mother tongue @@) |
2021-01-09 21:53:54 +0100 | <merijn> | monochrom: I think it's mostly Arch that's ruining things, tbh |
2021-01-09 21:53:56 +0100 | <geekosaur> | xmobar isn't ours |
2021-01-09 21:54:53 +0100 | <merijn> | monochrom: Well, mostly the docs need to be updated for v2-build, hvr has already written up some stuff, but it's not explained clearly enough in the xmonad docs :\ |
2021-01-09 21:54:54 +0100 | <nij> | sad |
2021-01-09 21:54:59 +0100 | <monochrom> | But now the premise is totally false. Now we're spending time providing tech support for using cabal to build xmonad, for people who are unlikely to be actually interested in Haskell. It's a cost centre not a revenue centre. |
2021-01-09 21:56:11 +0100 | chisui__ | (5882985d@88.130.152.93) (Remote host closed the connection) |
2021-01-09 21:56:15 +0100 | <nij> | right.. both cabal and stack are too bloated for nonfans |
2021-01-09 21:56:16 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 246 seconds) |
2021-01-09 21:56:23 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2021-01-09 21:56:45 +0100 | <nij> | maybe that's why the arch folks want dyn linkings? |
2021-01-09 21:57:06 +0100 | ryantrinkle | (~ryan@cpe-24-168-87-184.si.res.rr.com) |
2021-01-09 21:57:23 +0100 | <ryantrinkle> | is there a reason there's no instance Monoid a => Monad (Const a) |
2021-01-09 21:57:30 +0100 | <monochrom> | Bloated is beside the point. gcc is even more bloated but you wouldn't notice. make is even more bloated but you wouldn't notice. You only notice how many commands you actually use, and how hard to find them. |
2021-01-09 21:58:03 +0100 | <monochrom> | But gcc and make never changed their user-facing models. cabal did. |
2021-01-09 21:58:12 +0100 | knupfer | (~Thunderbi@200116b82c54da00c0fe6bfc73b4a5f3.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2021-01-09 21:58:38 +0100 | <monochrom> | how-to-set-up-xmonad tutorials need to be updated for the new model. Probably even xmonad itself needs to. |
2021-01-09 21:58:50 +0100 | fosterite | (~fosterite@2600:6c46:7800:fecf:6d72:fa24:7fe8:ff99) (Ping timeout: 264 seconds) |
2021-01-09 21:58:59 +0100 | <monochrom> | But clearly, all those authors belong are yesteryear and no longer interested. |
2021-01-09 21:59:08 +0100 | <monochrom> | s/belong// |
2021-01-09 21:59:13 +0100 | cj_ | (~cj@c-71-204-177-39.hsd1.ca.comcast.net) |
2021-01-09 22:00:19 +0100 | <ryantrinkle> | oh i see, join blows everything away, so maybe it would only make sense for Const () |
2021-01-09 22:00:52 +0100 | villek | (~villek@82.128.181.28) |
2021-01-09 22:01:17 +0100 | <monochrom> | In other words, you would find instructions for building eggdrop, it would be "./configure && make && make install", it was written in 1970, and it still is correct today, because the user-facing semantics of gcc and make didn't change. |
2021-01-09 22:01:27 +0100 | <monochrom> | This is false for xmonad. |
2021-01-09 22:02:13 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-09 22:02:25 +0100 | <nij> | monochrom: very good point |
2021-01-09 22:02:37 +0100 | villek | (~villek@82.128.181.28) (Client Quit) |
2021-01-09 22:02:49 +0100 | <nij> | Yeah non-fans step away if a few tries failed them |
2021-01-09 22:03:10 +0100 | <nij> | And the official doc for cabal is still confusing |
2021-01-09 22:03:17 +0100 | <nij> | And cabal does not support uninstall |
2021-01-09 22:04:18 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection) |
2021-01-09 22:04:18 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Read error: Connection reset by peer) |
2021-01-09 22:04:51 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:3d53:915:922b:d9c) |
2021-01-09 22:05:41 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-09 22:05:42 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-09 22:06:56 +0100 | <__monty__> | I stay away from cabal install. It's really not a package manager. |
2021-01-09 22:08:43 +0100 | <nij> | __monty__: What would you use then? |
2021-01-09 22:08:58 +0100 | <__monty__> | To install packages? A package manager. |
2021-01-09 22:09:04 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:3d53:915:922b:d9c) (Ping timeout: 240 seconds) |
2021-01-09 22:09:59 +0100 | <nij> | What's a good package manager for haskell programs? |
2021-01-09 22:10:20 +0100 | <__monty__> | Nix, but don't let merijn hear this >.> <.< |
2021-01-09 22:10:33 +0100 | <bi_functor> | nij: stack is what most people use |
2021-01-09 22:10:34 +0100 | hiroaki | (~hiroaki@ip4d16b6b9.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2021-01-09 22:10:44 +0100 | <geekosaur> | stack isn't a package manager either |
2021-01-09 22:10:50 +0100 | <__monty__> | Exactly. |
2021-01-09 22:11:04 +0100 | <__monty__> | Ideally you can use your distro's package manager. |
2021-01-09 22:11:21 +0100 | <nij> | __monty__: Lol! I'm aiming for Guix actually. |
2021-01-09 22:12:04 +0100 | hiroaki | (~hiroaki@ip4d16b6b9.dynamic.kabel-deutschland.de) |
2021-01-09 22:12:19 +0100 | bi_functor | (~Melanie@192-0-134-138.cpe.teksavvy.com) (Quit: leaving) |
2021-01-09 22:12:25 +0100 | <nij> | What stops you from using Guix, but ended up with Nix? |
2021-01-09 22:12:30 +0100 | <nij> | Is it cuz of the size of the community? |
2021-01-09 22:13:12 +0100 | <__monty__> | nij: We can talk about this in #haskell-offtopic. |
2021-01-09 22:19:00 +0100 | <merijn> | __monty__: I don't think "I get confused by building xmonad" is a problem where the solution "use nix" isn't going to help get people to like Haskell... |
2021-01-09 22:19:31 +0100 | <merijn> | "use nix" is the polite way of saying "go fuck yourself" to beginners :p |
2021-01-09 22:19:56 +0100 | xff0x | (~fox@port-92-193-205-79.dynamic.as20676.net) (Ping timeout: 240 seconds) |
2021-01-09 22:20:57 +0100 | <merijn> | bitonic: tbh I don't think "what most people use" is remotely accurate |
2021-01-09 22:21:07 +0100 | <merijn> | Unless you're definition of most "around 50%" |
2021-01-09 22:21:31 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-01-09 22:21:43 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:5db0:c4c4:4eba:efe0) |
2021-01-09 22:22:25 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-01-09 22:22:48 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Read error: Connection reset by peer) |
2021-01-09 22:23:06 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 22:25:19 +0100 | <__monty__> | I didn't say it's great for beginners. Though I'm skeptical using cabal as a package manager is better for beginners. But if it's what the XMonad community recommends, sure, go with the least friction route. |
2021-01-09 22:25:32 +0100 | mmmattyx | (uid17782@gateway/web/irccloud.com/x-mvrdbovajsozrgcj) (Quit: Connection closed for inactivity) |
2021-01-09 22:26:16 +0100 | saitamaplus | (uid272474@gateway/web/irccloud.com/x-nkiniljwvcptfvfg) (Quit: Connection closed for inactivity) |
2021-01-09 22:26:46 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-09 22:27:16 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-09 22:28:09 +0100 | fosterite | (~fosterite@2600:6c46:7800:fecf:6d72:fa24:7fe8:ff99) |
2021-01-09 22:28:55 +0100 | <dmj`> | nij: guix doesn't have the critical mass around it like nix does |
2021-01-09 22:29:30 +0100 | <nij> | dmj`: what is "critical"? |
2021-01-09 22:29:44 +0100 | <dmj`> | nij: if you use docker and have a single haskell project you might be able to get away with just using stack, otherwise nix is nice |
2021-01-09 22:29:45 +0100 | <nij> | (english aint my native tongue @@) |
2021-01-09 22:30:01 +0100 | <dmj`> | nij: just means there's a larger movement around nix |
2021-01-09 22:30:07 +0100 | <MarcelineVQ> | @remember merijn "use nix" is the polite way of saying "go fuck yourself" to beginners |
2021-01-09 22:30:08 +0100 | <lambdabot> | I will remember. |
2021-01-09 22:30:49 +0100 | <ij> | that is very harsh and very humorous... also a bit true |
2021-01-09 22:30:54 +0100 | <monochrom> | Well, you don't know that a random "beginner" does not already know nix. |
2021-01-09 22:32:05 +0100 | <monochrom> | What you can have much higher confidence, ironically, is that a self-described "beginner" and "mac user" does not know PATH. |
2021-01-09 22:32:31 +0100 | <monochrom> | In fact, does not read the text output of ghcup at all. |
2021-01-09 22:33:52 +0100 | <dmj`> | nij: There's a lot of unjustified hatred around nix due to people's primary experience in dev ops being configuration files, so when something just "doesn't work" they get upset. It's like when imperative programmers move to Haskell and try to call print inside of a pure function and get upset. Instead of blaming their lack of understanding, they blame the tool. |
2021-01-09 22:33:57 +0100 | <monochrom> | So I wonder if it's polite to suggest to them "use a speech synthesizer" |
2021-01-09 22:35:16 +0100 | <nij> | loll |
2021-01-09 22:35:34 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 260 seconds) |
2021-01-09 22:35:45 +0100 | <nij> | dmj` nice said |
2021-01-09 22:35:54 +0100 | <dolio> | What is the appeal of XMonad for people who don't want to learn anything about Haskell? Aren't there other similar things that you can just install, and don't require writing and compiling Haskell source to configure? |
2021-01-09 22:36:26 +0100 | <nij> | dolio: core was written in 500 lines |
2021-01-09 22:36:31 +0100 | <nij> | that was my motivation |
2021-01-09 22:36:59 +0100 | <dmj`> | dolio: probably none |
2021-01-09 22:37:34 +0100 | <dsal> | dolio: It's a pretty great window manager. I used it for a while before I did anything serious in haskell. I've not really done much with it since. |
2021-01-09 22:37:56 +0100 | dominik | (~weechat@aftr-62-216-207-253.dynamic.mnet-online.de) (Quit: WeeChat 2.8) |
2021-01-09 22:38:28 +0100 | fosterite | (~fosterite@2600:6c46:7800:fecf:6d72:fa24:7fe8:ff99) (Ping timeout: 260 seconds) |
2021-01-09 22:38:37 +0100 | <__monty__> | It seems like all the tiling WMs require basic familiarity with a language so why not haskell : ) |
2021-01-09 22:38:39 +0100 | minimario | (2fe3e53b@047-227-229-059.res.spectrum.com) |
2021-01-09 22:39:48 +0100 | <nij> | bspwm! in shell : ) |
2021-01-09 22:39:57 +0100 | <dmj`> | __monty__: why not nix :P |
2021-01-09 22:41:14 +0100 | <dolio> | I'm skeptical that i3 and sway require you to mess around with build tools for whatever language they're written in. |
2021-01-09 22:41:20 +0100 | nij | (~user@24-124-119-167-dynamic.midco.net) ("ERC (IRC client for Emacs 27.1)") |
2021-01-09 22:41:36 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 272 seconds) |
2021-01-09 22:43:13 +0100 | fendor_ | fendor |
2021-01-09 22:44:15 +0100 | <__monty__> | Not sure that's a fair assesment since lua's interpreted, so it doesn't have a build tool? |
2021-01-09 22:44:30 +0100 | <monochrom> | Networking effect and words of mouth are usually stronger than truth. If I have only heard of xmonad, never heard of i3, I would think that my only choice would be xmonad. |
2021-01-09 22:46:52 +0100 | <dolio> | Right, that's because lua is incorporated differently into those (if that's what they use). Lua is embedded as a scripting language for the program. In XMonad, you are writing and building a window manager using a Haskell library. |
2021-01-09 22:47:03 +0100 | geekosaur | (42d52137@66.213.33.55) (Remote host closed the connection) |
2021-01-09 22:49:33 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-01-09 22:49:57 +0100 | <ephemient> | awesomewm uses lua, I don't think i3 does |
2021-01-09 22:51:08 +0100 | <ephemient> | (and as sway ≅ i3, I don't think sway does either) |
2021-01-09 22:52:14 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-09 22:52:46 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 22:52:57 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-09 22:53:17 +0100 | <dolio> | The only example I'm aware of that's comparable to XMonad is dwm, although maybe people have realized the general idea in other languages. |
2021-01-09 22:54:14 +0100 | conal | (~conal@64.71.133.70) |
2021-01-09 22:54:42 +0100 | dcbdnl | (~dcbdnl@c-73-76-129-120.hsd1.tx.comcast.net) (Quit: dcbdnl) |
2021-01-09 22:55:29 +0100 | <dolio> | And that's because XMonad was written by someone who was using dwm, but didn't like writing C code to configure it, I think. |
2021-01-09 22:58:27 +0100 | cuz | (~user@2601:182:cc02:8b0:4d5:a0a:63d7:bebb) |
2021-01-09 22:59:45 +0100 | <cuz> | quick question, would you say a type implements a typeclass? |
2021-01-09 23:01:06 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007) |
2021-01-09 23:01:18 +0100 | <monochrom> | Yes. |
2021-01-09 23:01:25 +0100 | jneira | (5127ac9c@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.172.156) (Ping timeout: 264 seconds) |
2021-01-09 23:02:00 +0100 | jneira | (5127ac9c@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.172.156) |
2021-01-09 23:03:51 +0100 | <cuz> | ty |
2021-01-09 23:07:39 +0100 | <ephemient> | an instance of a class may involve more than one type, but if there's one unique type I think it's clear what it means |
2021-01-09 23:12:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-09 23:12:37 +0100 | <texasmynsted> | I think of type classes as classes of ad hoc types. |
2021-01-09 23:12:41 +0100 | cj_ | (~cj@c-71-204-177-39.hsd1.ca.comcast.net) (Quit: Lost terminal) |
2021-01-09 23:14:44 +0100 | hggdh1 | (~hggdh@185.163.110.125) (Remote host closed the connection) |
2021-01-09 23:16:27 +0100 | <cuz> | what do you mean by ad hoc types? |
2021-01-09 23:18:08 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-09 23:18:13 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
2021-01-09 23:18:30 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-09 23:18:42 +0100 | DavidEichmann | (~david@98.27.93.209.dyn.plus.net) |
2021-01-09 23:18:53 +0100 | <texasmynsted> | Each type you wish to join to the type class must have an instance that shows how it fit. This is ad hoc because how this works may and likely is different for each type. |
2021-01-09 23:20:17 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
2021-01-09 23:20:55 +0100 | <texasmynsted> | You can compare that with parametric polymorphism where there is uniform behavior and fit for each fitting type. |
2021-01-09 23:22:45 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-09 23:23:06 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-09 23:24:34 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-09 23:24:51 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-09 23:24:58 +0100 | <ij> | is HashSet unordered, but Set ordered? |
2021-01-09 23:26:03 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-09 23:28:42 +0100 | <ij> | seems so |
2021-01-09 23:30:00 +0100 | <__monty__> | ij: Probably more like ordered differently. |
2021-01-09 23:30:05 +0100 | <__monty__> | I.e., by hash. |
2021-01-09 23:30:20 +0100 | xff0x | (~fox@2001:1a81:5386:5c00:5db0:c4c4:4eba:efe0) (Quit: xff0x) |
2021-01-09 23:30:58 +0100 | SummerNinja | (~SummerNin@84.39.117.57) |
2021-01-09 23:31:04 +0100 | <texasmynsted> | ij, this might sound like a silly question, but why is the order/unorder nature of them important to you? |
2021-01-09 23:31:10 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
2021-01-09 23:31:42 +0100 | <ij> | I was just surprised that I won't get a Set, but a HashSet from HashMap, so I had to switch to Map |
2021-01-09 23:32:18 +0100 | <ij> | __monty__, makes sense |
2021-01-09 23:32:35 +0100 | dcbdnl | (~dcbdnl@68-74-201-196.lightspeed.hstntx.sbcglobal.net) |
2021-01-09 23:34:28 +0100 | <__monty__> | It's probably because of the constraints. HashMap only requires the keys be hashable not Ord. So it can't promise a Set because that requires elements to be Ord. |
2021-01-09 23:36:23 +0100 | knupfer | (~Thunderbi@200116b82c54da00e8524efffe32a62e.dip.versatel-1u1.de) |
2021-01-09 23:37:13 +0100 | knupfer | (~Thunderbi@200116b82c54da00e8524efffe32a62e.dip.versatel-1u1.de) (Client Quit) |
2021-01-09 23:37:22 +0100 | knupfer | (~Thunderbi@200116b82c54da006183220b81d59311.dip.versatel-1u1.de) |
2021-01-09 23:37:42 +0100 | edge563 | (~edge563@gateway/tor-sasl/edge563) |
2021-01-09 23:38:44 +0100 | usr25 | (~usr25@unaffiliated/usr25) |
2021-01-09 23:38:55 +0100 | mirrorbird | (~psutcliff@2a00:801:236:570e:b1f2:acf6:e570:218d) (Quit: Leaving) |
2021-01-09 23:39:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-09 23:41:38 +0100 | dcbdnl | (~dcbdnl@68-74-201-196.lightspeed.hstntx.sbcglobal.net) (Quit: dcbdnl) |
2021-01-09 23:43:23 +0100 | mirrorbird | (~psutcliff@2a00:801:236:570e:b1f2:acf6:e570:218d) |
2021-01-09 23:43:43 +0100 | aveltras | (uid364989@gateway/web/irccloud.com/x-ancwmmnynxvujmes) (Quit: Connection closed for inactivity) |
2021-01-09 23:44:16 +0100 | usr25 | (~usr25@unaffiliated/usr25) ("Leaving") |
2021-01-09 23:44:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-09 23:44:40 +0100 | re6 | (5434a07f@tm.84.52.160.127.dc.cable.static.telemach.net) (Ping timeout: 245 seconds) |
2021-01-09 23:45:23 +0100 | <ij> | is there a way to make record destructuring assignment pretty for long records? will multiline work? |
2021-01-09 23:45:37 +0100 | dcbdnl | (~dcbdnl@68-74-201-196.lightspeed.hstntx.sbcglobal.net) |
2021-01-09 23:45:47 +0100 | <ph88> | is there a function that turns [Maybe String] int [String] when filtering out Nothing ? |
2021-01-09 23:46:17 +0100 | <ij> | :t catMaybes |
2021-01-09 23:46:18 +0100 | <lambdabot> | [Maybe a] -> [a] |
2021-01-09 23:46:38 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Quit: p-core) |
2021-01-09 23:46:43 +0100 | <ph88> | thx ! |
2021-01-09 23:46:58 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) |
2021-01-09 23:47:32 +0100 | <sm[m]> | ij: RecordWildCards and NamedFieldPuns ? |
2021-01-09 23:48:22 +0100 | <__monty__> | Though simply writing them over multiple lines is perfectly possible afaik. |
2021-01-09 23:49:11 +0100 | <ij> | ah, NFP would be very nice |
2021-01-09 23:49:16 +0100 | <ephemient> | even without RecordWildCards, you can bind only the names you care about |
2021-01-09 23:49:22 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
2021-01-09 23:49:34 +0100 | <ij> | I wanted RecordDotSyntax, but it didn't work with haskell-language-server |
2021-01-09 23:49:56 +0100 | <ephemient> | data X = X { a :: Int, b :: Int, c :: Int }; f X { a = a} = a + 1 |
2021-01-09 23:50:00 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-09 23:50:10 +0100 | <ephemient> | NamedFieldPuns just reduces the a = a to a |
2021-01-09 23:50:17 +0100 | <ij> | I do only bind the ones I'm using, but I still have quite a few |
2021-01-09 23:50:44 +0100 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2021-01-09 23:50:48 +0100 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2021-01-09 23:51:49 +0100 | f-a | (~f-a@151.82.78.117) |
2021-01-09 23:51:53 +0100 | <ij> | RecordWildCards is pretty nice |
2021-01-09 23:51:58 +0100 | <sm[m]> | In real code the field names are often much longer, so writing them only once or not at all is quite a win |
2021-01-09 23:52:21 +0100 | <ij> | man, all these record extensions are badass |
2021-01-09 23:52:31 +0100 | <ij> | I'm glad that's sorted out somewhat |
2021-01-09 23:53:32 +0100 | <sm[m]> | ij: you can also assign values via RWC |
2021-01-09 23:54:03 +0100 | philopso1 | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
2021-01-09 23:55:31 +0100 | ski | doesn't really like `RecordWildCards' |
2021-01-09 23:55:55 +0100 | <ij> | why not? |
2021-01-09 23:56:36 +0100 | <ephemient> | > data X = X { a :: Int, b :: Int } deriving show; let a = 0 in X { .. } |
2021-01-09 23:56:39 +0100 | <lambdabot> | <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘data’ |
2021-01-09 23:57:03 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-hzinwdistayxyvoe) (Quit: Connection closed for inactivity) |
2021-01-09 23:57:26 +0100 | <ski> | introduces identifiers into a scope, without an explicit binding occurance, which would make it obvious where it's coming from |
2021-01-09 23:58:10 +0100 | <ephemient> | on the construction side, it's way too easy to create a partial value |
2021-01-09 23:58:21 +0100 | <ski> | @let data X = X { a,b :: Int } deriving Show |
2021-01-09 23:58:23 +0100 | <lambdabot> | Defined. |
2021-01-09 23:58:27 +0100 | <ski> | > let a = 0 in X { .. } |
2021-01-09 23:58:29 +0100 | <lambdabot> | error: |
2021-01-09 23:58:29 +0100 | <lambdabot> | Illegal `..' in record construction |
2021-01-09 23:58:29 +0100 | <lambdabot> | Use RecordWildCards to permit this |
2021-01-09 23:58:43 +0100 | <ski> | % data X = X { a,b :: Int } deriving Show |
2021-01-09 23:58:43 +0100 | <yahb> | ski: |
2021-01-09 23:58:46 +0100 | pera | (~pera@unaffiliated/pera) (Ping timeout: 246 seconds) |
2021-01-09 23:58:47 +0100 | <ski> | % let a = 0 in X { .. } |
2021-01-09 23:58:47 +0100 | <yahb> | ski: ; <interactive>:70:14: warning: [-Wmissing-fields]; * Fields of `X' not initialised: b; * In the expression: X {..}; In the expression: let a = 0 in X {..}; In an equation for `it': it = let a = 0 in X {..}; <interactive>:70:14: warning: [-Wmissing-fields]; * Fields of `X' not initialised: b; * In the expression: X {..}; In the expression: let a = 0 in X {..}; In an |