Logs on 2021-03-18 (freenode/#haskell)
| 00:00:37 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
| 00:00:56 | <nshepperd> | uh, mempty = mempty? |
| 00:01:14 | <monochrom> | You don't need the assumptions (Semigroup a, Semigroup b) because <> for Or is supposed blindly always prefer the earliest Snd and then the latest Fst. |
| 00:01:19 | <Axman6> | This is definitely correct |
| 00:01:37 | <nshepperd> | this recursion seems unlikely to terminate |
| 00:01:45 | × | frozenErebus quits (~frozenEre@94.128.230.170) (Ping timeout: 264 seconds) |
| 00:01:54 | <monochrom> | And for this one, you need "mempty = Identity (mempty)". |
| 00:02:03 | → | Nik05 joins (~Nik05@unaffiliated/nik05) |
| 00:02:05 | <Axman6> | (<>) mempty (Identity x) = Identity x id definitely wrong |
| 00:02:07 | <bobweb> | monochrom: OK, so i'll drop the constraints and try again. |
| 00:02:10 | <monochrom> | Similarly for mappend. Exercise for the reader. |
| 00:02:25 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 00:02:54 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 00:03:03 | <bobweb> | monochrom: OK, I was confused about how to define mempty for Monoid (Identity a). |
| 00:03:13 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 00:03:40 | <bobweb> | mempty = Identity (mempty) is what I want? |
| 00:03:45 | <Axman6> | since Identity only has one constructor, I can guarantee you that you will need mempty = Identity ??? |
| 00:04:34 | <Axman6> | but to use mempty = Identity mempty, you need more than a Semigroup constraint, because mempty doesn't come from Semigroup |
| 00:05:35 | <monochrom> | You're trying to make "mempty :: Identity a". |
| 00:05:36 | <Axman6> | bobweb: for your semigroup instance, (<>) mempty (Identity x) = Identity x is _exactly_ the same as writing (<>) literallyAnything (Identity x) = Identity x |
| 00:05:41 | <bobweb> | Yeah, I'm pushing the limits of my mental gymnastic ability. LOL. I can't see the identity for (Identity a)! |
| 00:05:51 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 00:06:13 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 00:07:29 | <Axman6> | bobweb: so, big hint time, to define (<>) for Identity, you only need one equation, not three |
| 00:08:42 | <bobweb> | Uh, (Identity x) <> (Identity x) == Identity x ? |
| 00:08:44 | <monochrom> | You understand that "(<>) mempty (Identity x) = Identity x" just means "(<>) foo (Identity x) = Identity x", right? RIGHT? |
| 00:08:57 | <Axman6> | bobweb: that type checks, but it's not very useful |
| 00:09:30 | <Axman6> | we want to make use of the fact that a is also a Semigroup |
| 00:09:31 | <monochrom> | You need to review "variable shadowing" |
| 00:09:44 | <monochrom> | Actually... |
| 00:10:01 | <monochrom> | > let {f (Just x) (Just x) = x} in () |
| 00:10:03 | <lambdabot> | error: |
| 00:10:03 | <lambdabot> | • Conflicting definitions for ‘x’ |
| 00:10:03 | <lambdabot> | Bound at: <interactive>:1:14 |
| 00:10:28 | → | s00pcan joins (~chris@075-133-056-178.res.spectrum.com) |
| 00:10:39 | <Axman6> | one feature I wish we had from Erlang |
| 00:10:58 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
| 00:11:33 | <monochrom> | In the case of this exercise, the error (as opposed to the feature) actually saves a lot of confusion. |
| 00:11:56 | <Axman6> | > let f (Just x) = \(Just x) -> x in f (Just 1) (Just 2) |
| 00:11:58 | <lambdabot> | 2 |
| 00:12:22 | <Axman6> | yeah (sorry, should do confusing things in PM instead of here) |
| 00:12:28 | → | cheater1 joins (~user@unaffiliated/cheater) |
| 00:12:32 | <bobweb> | OK, monoid = binary associative without identity; but we are not accessing the a in Identity a... oh wait, I am accessing a, but I thought I shouldn't be... |
| 00:12:49 | <Axman6> | monoid has an identity, semigroup doesn't |
| 00:13:23 | <bobweb> | yeah, sorry, backwards : has identity. |
| 00:13:27 | <monochrom> | Why are you not doing "instance Monoid a => Monoid (Identity a)"? |
| 00:13:30 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 00:13:58 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 00:14:01 | <bobweb> | monochrom: cause the compiler told me too... |
| 00:14:26 | <bobweb> | but yeah, maybe i should do monoid => |
| 00:14:39 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 244 seconds) |
| 00:14:43 | cheater1 | is now known as cheater |
| 00:16:08 | <Axman6> | think about it a bit first - Identity wraps a single value of a given type. we know (because you've been told) that you can make an instance of Monoid for Identity. so first problem is mempoty, how do we make something of type Identity a? Well we use Identity, and some value of type a. how do we magic up a value of type a? |
| 00:16:08 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 00:16:15 | × | notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 265 seconds) |
| 00:16:23 | <Axman6> | mempty* |
| 00:16:29 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 00:16:58 | <bobweb> | OK, works now! Thank you all! : https://paste.tomsmeding.com/78ZjwXlA |
| 00:18:35 | <Axman6> | can you explain how it works? |
| 00:19:22 | × | coot quits (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 00:19:59 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-lmfzccdglbgutamn) |
| 00:22:37 | <bobweb> | Not exactly. I get that the identity for type (Identity a) will be mempty defined as (Identity mempty). OK. But it's not clear to me why the binary function (<>) on (Identity x) (Identity y) should be (Identity (x <> y))... It seems like we are adding structure when identity is just supposed to kick back whatever gets put in.?? |
| 00:22:37 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 00:23:05 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 00:24:05 | <bobweb> | I know I am missing some subtlety about how the compiler sees x <> y, but I can't quite grasp it... |
| 00:24:41 | <Axman6> | I think you're attributing too much meaning to Identity |
| 00:25:45 | <Axman6> | it is literally just a wrapper of other types, it is the trivial Monad, and in general all instances of classes will just use whatever isntance the wrapped type has. it's got nothing to do with identity functions really |
| 00:25:57 | <monochrom> | That's possible. "mempty is the identity element of the monoid" has a name clash with this "newtype Identity a" type. |
| 00:26:11 | <monochrom> | name clash. Nothing more. No relation. |
| 00:26:19 | <Axman6> | Eq for Identity will look like: instance Eq a => Eq (Identity a) where (==) (Identity x) (Identity y) == x == y |
| 00:26:49 | <Axman6> | uh, (==) (Identity x) (Identity y) = x == y |
| 00:28:26 | → | CoconutCrab joins (~Cua@unaffiliated/coconutcrab) |
| 00:30:45 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 00:32:38 | <bobweb> | Yes. Name clash. I think I'm beginning to see... it's not that an identity is resulting from (Identity x) <> (Identity y), it is simply that the data constructor name is leading me to think so. OK, I think I'll be OK now, after I meditate on this a bit more. Thank you all! |
| 00:35:19 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 244 seconds) |
| 00:35:26 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
| 00:35:55 | × | bobweb quits (6bb893db@cpe-107-184-147-219.socal.res.rr.com) (Quit: Connection closed) |
| 00:37:48 | <monochrom> | The road to hell is paved with well-intended meaningful names. |
| 00:38:58 | <Axman6> | newtype Trivial a = Trivial a? |
| 00:39:18 | <Axman6> | just to make you feel even more dumb when you find something isn't trivial |
| 00:39:52 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 00:40:07 | <monochrom> | I'm thinking along the line of "newtype VeryPhilosophicallyProfoundWrapper a = VPPW a" to drive home the irony. |
| 00:40:10 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 00:40:39 | <Axman6> | "Woah, everything is just waves man, it's like science or something" |
| 00:40:57 | → | Deide1 joins (~Deide@217.155.19.23) |
| 00:41:02 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 00:41:02 | <monochrom> | and to drive general disgust and distrust in meaningful names. |
| 00:41:30 | <Axman6> | newtype Z a = Z a |
| 00:42:19 | <Axman6> | pi = join @Z; pi :: Z (Z a) -> Z a -- pizza -> 'za |
| 00:43:35 | <monochrom> | tauzza = 2*pizza > pizza |
| 00:43:52 | <sshine_> | "trivial" and "just" are smart-ass words. |
| 00:44:12 | <spidr> | > let pi = join @Z; pi :: Z (Z a) -> Z a -- pizza -> 'za |
| 00:44:14 | <lambdabot> | error: |
| 00:44:15 | <lambdabot> | Pattern syntax in expression context: join@Z |
| 00:44:15 | <lambdabot> | Did you mean to enable TypeApplications? |
| 00:44:37 | <monochrom> | by extension "nothing" is also a smart-ass word. |
| 00:44:50 | <monochrom> | Therefore, "data Maybe a = Nothing | Just a" is a smart-ass type. |
| 00:45:18 | <spidr> | I don't understand just |
| 00:46:12 | × | dsrt^ quits (~hph@ip98-184-89-2.mc.at.cox.net) () |
| 00:46:16 | <Axman6> | Maybe a is either nothing or just an a |
| 00:46:46 | <spidr> | but what does just do under the hood, why is it not Mayba a = Nothing | a |
| 00:46:49 | <monochrom> | Have you also heard of the unJust function? :) |
| 00:47:01 | <spidr> | n-no i'm still reading the haskell book |
| 00:47:01 | <monochrom> | Syntax error is why. |
| 00:47:13 | <monochrom> | You always need data constructors. |
| 00:47:13 | <Axman6> | because that's not valid haskell |
| 00:47:17 | <spidr> | ah |
| 00:47:28 | <Axman6> | this isn't typescript |
| 00:47:54 | <monochrom> | Think of data constructors as reminding the computer both which type you're making and which case you're talking about. |
| 00:47:55 | <sshine_> | spidr, if you don't have a data constructor to differentiate a 'Maybe a' value from an 'a' value, then they are aliases. but they can't be aliases if one has a value 'Nothing' in addition. |
| 00:48:07 | <monochrom> | Even when it's trivial to me. |
| 00:48:12 | <monochrom> | err, s/me/you/ |
| 00:48:18 | × | Deide1 quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 00:48:28 | → | Deide joins (~Deide@217.155.19.23) |
| 00:48:35 | <spidr> | maybe I shouldn't dig so low |
| 00:48:49 | <spidr> | I was trying to find the source of just |
| 00:49:03 | <monochrom> | This is why type inference works. Your data constructor tells the computer about types. You are not saving any typing, afterall. |
| 00:49:18 | × | hololeap quits (~hololeap@unaffiliated/hololeap) (Read error: Connection reset by peer) |
| 00:49:22 | <sshine_> | spidr, https://hackage.haskell.org/package/base-4.14.1.0/docs/src/GHC.Maybe.html#Maybe |
| 00:49:30 | <Axman6> | something of type MAybe (Maybe ()) should have three valid patterns, Nothing, Just Nothing and Just (Just ()). if we allowed Nothing | a, which of those patterns does Nothing represent? Nothng or Just Nothing? |
| 00:50:05 | <monochrom> | "data Maybe a = Nothing | Just a" is already the source of Just. And Nothing. And Maybe. |
| 00:50:06 | → | ep1ctetus_ joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 00:50:15 | <spidr> | thanks for the link sshine_ |
| 00:50:29 | <Axman6> | @src Maybe |
| 00:50:30 | <lambdabot> | data Maybe a = Nothing | Just a |
| 00:50:30 | <sshine_> | spidr, so that data declaration *is* the source of Just. |
| 00:50:33 | <spidr> | this has the source of maybe but not just, although the comment explains it |
| 00:50:44 | <spidr> | ah |
| 00:51:02 | <sshine_> | spidr, Just is a value/pattern constructor for the type Maybe a. |
| 00:51:24 | <Axman6> | that declaration defined Maybe as a type with two constructors, one callen Nothing, one called Just. |
| 00:51:25 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 00:51:34 | <spidr> | I see |
| 00:51:35 | <Axman6> | called* |
| 00:51:37 | → | Tario joins (~Tario@201.192.165.173) |
| 00:51:43 | <spidr> | so it's not a thing outside of maybe? |
| 00:51:53 | hackage | wai-middleware-auth 0.2.4.1 - Authentication middleware that secures WAI application https://hackage.haskell.org/package/wai-middleware-auth-0.2.4.1 (lehins) |
| 00:52:02 | → | hololeap joins (~hololeap@unaffiliated/hololeap) |
| 00:52:05 | <sshine_> | spidr, yeah so maybe it'd be nicer if everything that got defined was at some point on the left-hand side of an '=', but the data declaration creates a bunch of things, including Just. |
| 00:52:08 | <monochrom> | You need to open to the possibility that one single line of code declares a dozen things at once. |
| 00:52:16 | <Axman6> | data MyType a b = AnA a | AB b BothAAndB a b -- defines three constructors |
| 00:52:53 | <Axman6> | some people find the GADT syntax a little simpler to understand |
| 00:52:54 | <spidr> | yea I'm only up to chapter 7 I should just keep reading |
| 00:52:58 | <Axman6> | data Maybe a where |
| 00:53:07 | <monochrom> | (f, g, h) = ((\x -> x + 1), (\y -> sqrt y - sqrt 2), sin . cos) is one single line that declares and defines 3 functions f, g, h. |
| 00:53:09 | <Axman6> | Nothing :: Maybe a |
| 00:53:15 | <Axman6> | Just :: a -> Maybe a |
| 00:53:25 | <Axman6> | (indentation is hard) |
| 00:53:29 | <sshine_> | spidr, when you also have 'deriving (Eq, Ord)' at the end, the declaration even auto-generates '==', '<=', etc. operators with some expectably meaningful definitions... |
| 00:53:45 | <monochrom> | "foo, bar, quuz :: Int -> Int" is also possible when it comes to writing types. |
| 00:53:52 | × | epicte7us quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 276 seconds) |
| 00:54:10 | <spidr> | Axman6: that way of writing it made more sense |
| 00:54:12 | <spidr> | thanks a bunch |
| 00:54:14 | <sshine_> | spidr, e.g. even though we don't know what 'a' is, we get 'Eq a => Eq (Maybe a)' for free when 'deriving Eq' is present. so say you have a Maybe Int, then because Int is an instance of Eq, so is Maybe Int once 'deriving Eq' is enabled for this data declaration. |
| 00:54:18 | × | gOOgler_ quits (uid125351@gateway/web/irccloud.com/x-xqfkukcjcgrzokzf) (Quit: Connection closed for inactivity) |
| 00:55:16 | <sshine_> | spidr, the data declaration also lets you do pattern matching using Just/Nothing, so they're not just value constructors at this point. |
| 00:56:00 | <Axman6> | the default ADT syntax in Haskell can be quite confusing because it mixes together value level and type level things |
| 00:56:03 | → | rajivr joins (uid269651@gateway/web/irccloud.com/x-wwtzhstalquejfsh) |
| 00:56:25 | × | average quits (uid473595@gateway/web/irccloud.com/x-fgnpvzuoluocxrze) (Quit: Connection closed for inactivity) |
| 00:56:30 | × | acidjnk_new quits (~acidjnk@p200300d0c72b959625b3d356e6f65619.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 00:58:51 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-hdpxwxnieogneqtd) (Quit: Connection closed for inactivity) |
| 01:00:20 | × | finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection) |
| 01:00:40 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 01:00:46 | × | Zialus quits (~RMF@2001:818:de63:c300:211:32ff:fe8d:ad29) (Quit: i'm out!) |
| 01:00:54 | → | Deide joins (~Deide@217.155.19.23) |
| 01:02:19 | → | Zialus joins (~RMF@2001:818:de63:c300:211:32ff:fe8d:ad29) |
| 01:03:20 | → | vs^ joins (~hph@ip98-184-89-2.mc.at.cox.net) |
| 01:03:21 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 01:03:45 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 01:03:59 | → | finn_elija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 01:04:03 | × | Deide quits (~Deide@217.155.19.23) (Client Quit) |
| 01:04:38 | → | Deide joins (~Deide@217.155.19.23) |
| 01:09:28 | → | Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) |
| 01:15:24 | × | Tario quits (~Tario@201.192.165.173) (Remote host closed the connection) |
| 01:15:27 | <cheater> | it takes some learning |
| 01:15:47 | <cheater> | but i've come to love it over any other syntax for defining sum and product types |
| 01:15:54 | × | conal quits (~conal@66.115.157.150) (Quit: Computer has gone to sleep.) |
| 01:16:05 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 01:16:21 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 01:16:21 | × | dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds) |
| 01:17:44 | → | Tario joins (~Tario@201.192.165.173) |
| 01:20:23 | × | kadoban__ quits (~mud@unaffiliated/kadoban) (Quit: bye) |
| 01:20:44 | <spidr> | sorry had some work come up, but thanks I'll keep reading |
| 01:21:02 | → | conal joins (~conal@66.115.157.150) |
| 01:23:59 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 01:24:26 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 01:24:35 | → | dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 01:25:22 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-tdvzqgwujuhompnu) (Quit: Connection closed for inactivity) |
| 01:26:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:27:14 | → | Guest94966 joins (~zmv@unaffiliated/zmv) |
| 01:28:48 | Guest94966 | is now known as notzmv |
| 01:28:48 | × | dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 245 seconds) |
| 01:30:31 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 01:31:02 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 01:31:13 | × | ozataman quits (~ozataman@pool-100-37-221-69.phlapa.fios.verizon.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 01:31:17 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-jjnzgdxflmbqonhf) (Quit: Connection closed for inactivity) |
| 01:32:21 | × | Wizek quits (uid191769@gateway/web/irccloud.com/x-zjzbzpbnvynaguao) (Quit: Connection closed for inactivity) |
| 01:32:21 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 01:32:35 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 01:34:11 | → | DTZUZU joins (~DTZUZO@205.ip-149-56-132.net) |
| 01:35:24 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 01:35:29 | → | augnun joins (~augnun@2804:14c:658b:41bb:765b:76f0:4857:5bd2) |
| 01:36:23 | hackage | ory-kratos 0.0.5.8 - API bindings for Ory Kratos https://hackage.haskell.org/package/ory-kratos-0.0.5.8 (njaremko) |
| 01:36:23 | → | hidedagger joins (~nate@unaffiliated/hidedagger) |
| 01:37:08 | × | sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 245 seconds) |
| 01:39:38 | × | Gurkenglas_ quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 245 seconds) |
| 01:42:03 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 01:42:13 | × | son0p quits (~son0p@181.58.39.182) (Quit: leaving) |
| 01:44:23 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 01:44:30 | × | elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
| 01:44:43 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 01:44:50 | × | lewky quits (~lewky@159.65.37.240) (Remote host closed the connection) |
| 01:45:13 | → | lewky joins (~lewky@159.65.37.240) |
| 01:45:40 | → | kadoban_ joins (~mud@unaffiliated/kadoban) |
| 01:46:33 | × | benkolera quits (uid285671@gateway/web/irccloud.com/x-phaufigullyuswqk) (Quit: Connection closed for inactivity) |
| 01:47:07 | × | jespada quits (~jespada@90.254.243.187) (Ping timeout: 265 seconds) |
| 01:47:22 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:47:44 | × | kadoban_ quits (~mud@unaffiliated/kadoban) (Client Quit) |
| 01:48:17 | → | jespada joins (~jespada@90.254.243.187) |
| 01:49:25 | × | lewky quits (~lewky@159.65.37.240) (Remote host closed the connection) |
| 01:49:28 | → | slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net) |
| 01:49:56 | × | hidedagger quits (~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.1) |
| 01:50:02 | → | lewky joins (~lewky@159.65.37.240) |
| 01:50:55 | × | lewky quits (~lewky@159.65.37.240) (Client Quit) |
| 01:50:56 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 01:51:19 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 01:51:37 | → | lewky joins (~lewky@159.65.37.240) |
| 01:52:03 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 01:55:07 | × | lewky quits (~lewky@159.65.37.240) (Client Quit) |
| 01:56:24 | → | lewky joins (~lewky@159.65.37.240) |
| 01:56:25 | × | lewky quits (~lewky@159.65.37.240) (Client Quit) |
| 01:56:34 | → | elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 01:57:52 | → | lewky joins (~lewky@159.65.37.240) |
| 01:58:49 | × | solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 01:59:09 | → | erayo joins (c0ab6c55@85.108.171.192.pba.apn.pmt.pf) |
| 02:00:00 | → | kadoban_ joins (~mud@unaffiliated/kadoban) |
| 02:00:22 | <erayo> | what's a good way to get a UTCTime (from the time package) from a timestamp with millisecond precision ? I'd like to keep that precision |
| 02:00:45 | × | kadoban_ quits (~mud@unaffiliated/kadoban) (Client Quit) |
| 02:00:49 | → | Shiranai joins (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) |
| 02:01:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 02:03:37 | × | lewky quits (~lewky@159.65.37.240) (Quit: The Lounge - https://thelounge.chat) |
| 02:03:37 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 02:03:54 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 02:04:20 | <erayo> | oops, nvm |
| 02:04:31 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 02:04:59 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 02:05:07 | → | kadoban_ joins (~mud@unaffiliated/kadoban) |
| 02:05:08 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9) |
| 02:05:10 | → | lewky joins (~lewky@159.65.37.240) |
| 02:05:20 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 02:05:30 | × | erayo quits (c0ab6c55@85.108.171.192.pba.apn.pmt.pf) (Quit: Connection closed) |
| 02:06:53 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 02:08:16 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 02:08:42 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 02:09:04 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 02:09:51 | <Shiranai> | Helloes, silly question, what are the `Common...` libraries here? https://github.com/hatashiro/monkey-hs/blob/master/lib/Lexer/Types.hs |
| 02:10:25 | <Shiranai> | can't find them on hackage and doesn't seem to be part of the haskell platform either |
| 02:10:34 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 02:11:46 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
| 02:14:47 | → | drbean joins (~drbean@TC210-63-209-167.static.apol.com.tw) |
| 02:14:57 | <Axman6> | https://github.com/hatashiro/monkey-hs/tree/master/lib/Common |
| 02:15:35 | <Axman6> | first place to look for moduels you don't recognise in a project is within the project itself |
| 02:15:43 | <Axman6> | modules* |
| 02:16:12 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds) |
| 02:16:36 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 02:16:45 | → | sjtfre joins (~sjtfre@124.239.70.146) |
| 02:17:01 | <Shiranai> | god I'm so stupid thank you |
| 02:18:16 | <Axman6> | We've all got to learn everything the first time |
| 02:19:20 | × | psygate quits (~psygate@unaffiliated/psygate) (Read error: Connection reset by peer) |
| 02:23:19 | <emmanuel_erc> | have you ever run into something like this before? (http://ix.io/2Tgk) |
| 02:24:37 | × | Shiranai quits (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) (Quit: Connection closed) |
| 02:24:42 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 02:29:28 | × | urodna_ quits (~urodna@unaffiliated/urodna) (Quit: urodna_) |
| 02:29:47 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Read error: Connection reset by peer) |
| 02:29:48 | × | conal quits (~conal@66.115.157.150) (Quit: Computer has gone to sleep.) |
| 02:31:22 | → | conal joins (~conal@66.115.157.150) |
| 02:32:05 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 02:32:14 | × | gitgood quits (~gitgood@80-44-12-129.dynamic.dsl.as9105.com) (Remote host closed the connection) |
| 02:32:40 | → | gitgood joins (~gitgood@80-44-12-129.dynamic.dsl.as9105.com) |
| 02:32:59 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 02:33:14 | × | ep1ctetus_ quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 02:33:50 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 02:34:31 | × | conal quits (~conal@66.115.157.150) (Client Quit) |
| 02:34:57 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 02:37:06 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:b44d:6014:67a8:1b64) (Ping timeout: 265 seconds) |
| 02:40:14 | × | xff0x quits (~xff0x@2001:1a81:5326:4900:3e74:f6d7:c8e5:a70d) (Ping timeout: 264 seconds) |
| 02:41:22 | × | kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer) |
| 02:41:44 | → | ericsagnes joins (~ericsagne@i121-115-92-236.s42.a013.ap.plala.or.jp) |
| 02:41:50 | → | xff0x joins (~xff0x@2001:1a81:520b:5100:2c88:23cc:c327:16b6) |
| 02:45:15 | × | m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 246 seconds) |
| 02:45:15 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 02:45:32 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-atvxsqflryegxqie) () |
| 02:45:40 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 02:45:45 | sshine_ | is now known as sshine |
| 02:46:06 | × | Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds) |
| 02:49:44 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 02:49:44 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 02:50:16 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 02:51:51 | → | conal joins (~conal@66.115.157.150) |
| 02:56:23 | × | alx741 quits (~alx741@186.178.109.138) (Quit: alx741) |
| 02:56:39 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 03:04:55 | → | FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 03:04:55 | finn_elija | is now known as Guest82075 |
| 03:04:55 | FinnElija | is now known as finn_elija |
| 03:05:40 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds) |
| 03:07:49 | × | drbean quits (~drbean@TC210-63-209-167.static.apol.com.tw) (Read error: Connection reset by peer) |
| 03:08:50 | × | Guest82075 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds) |
| 03:08:51 | → | myShoggoth joins (~myShoggot@75.164.81.55) |
| 03:09:08 | × | vs^ quits (~hph@ip98-184-89-2.mc.at.cox.net) () |
| 03:09:38 | → | drbean joins (~drbean@TC210-63-209-174.static.apol.com.tw) |
| 03:09:38 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 03:09:51 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 03:09:53 | hackage | zeolite-lang 0.13.0.0 - Zeolite is a statically-typed, general-purpose programming language. https://hackage.haskell.org/package/zeolite-lang-0.13.0.0 (ta0kira) |
| 03:10:33 | <slack1256> | Is there a cli-app to pass a stack package.yaml to a cabal file? |
| 03:13:35 | × | carlomagno quits (~cararell@148.87.23.12) (Remote host closed the connection) |
| 03:14:17 | <koz_> | slack1256: If you mean 'generate a cabal file from package.yaml', yes, it's called 'hpack'. |
| 03:15:15 | → | Shiranai joins (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) |
| 03:17:26 | <Shiranai> | Hello again, any tips on the structure of a lexer? I wanna try writing one myself, really simple for a specific use case. Reading some implementations (in other languages) they use some struct to keep track of what line and character they are at and just pattern match. Was wondering if there was some neat way with more idiomatic haskell without |
| 03:17:26 | <Shiranai> | having to interact a ton with some state monad |
| 03:18:55 | <slack1256> | koz_: Another layer of problems ;_; |
| 03:19:25 | <koz_> | Shiranai: Just use megaparsec? It has a lexer thing. |
| 03:19:36 | <koz_> | slack1256: Yeah, I am not an hpack fan. |
| 03:19:48 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 03:20:02 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 03:20:28 | × | __minoru__shirae quits (~shiraeesh@109.166.59.216) (Ping timeout: 245 seconds) |
| 03:20:53 | <Shiranai> | koz_: I wanted to try to write a compiler from scratch so megaparsec is illegal in my game |
| 03:21:07 | <koz_> | I don't see how those two statements connect. |
| 03:21:09 | <slack1256> | Shiranai: Maybe not related to your use case, but when using parser combinators I usually schew the tokenize/parse distinction and do it all in one go. |
| 03:21:30 | <koz_> | Writing a compiler from scratch does not preclude the use of parser combinator libraries. |
| 03:22:30 | <Shiranai> | the idea of that is for me to get a more "bare metal" intuition of how it works, yeah I know it would be pretty silly to not use external libraries but this is for purely educational purposes |
| 03:22:55 | → | __minoru__shirae joins (~shiraeesh@109.166.59.216) |
| 03:23:23 | <koz_> | In that case, enjoy your state monad and regexps. :P |
| 03:23:35 | <koz_> | (and that's before we even get to parsing) |
| 03:24:35 | <Shiranai> | haha thanks |
| 03:24:54 | <Shiranai> | was looking for alternatives to the state monad but I'll just use that I guess |
| 03:24:54 | <Cale> | Shiranai: Everything that would be state, you could just pass as arguments to your function. |
| 03:26:44 | <Shiranai> | Cale: I thought about that approach for a bit, the lexer would have to be a recursive function in that case. Everytime calling itself with its current line, current char, current token, the list of token and the rest of the text to parse (at a minimum) |
| 03:26:50 | <Cale> | Shiranai: and then instead of updating the state, you call another function with modified arguments (or maybe the same function) |
| 03:27:40 | <slack1256> | There are inneficient implementations of parser combinators that are just the state monad :-P , you could make the full jump lol. |
| 03:28:05 | <Cale> | You wouldn't necessarily have to have the list of tokens as an argument, unless you have need of going back and modifying tokens you've already read |
| 03:28:21 | <Cale> | Instead, you could just emit the list as you go |
| 03:30:05 | slack1256 | discovered he has been misusing other-modules his whole life. |
| 03:30:45 | × | Feuermagier quits (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Ping timeout: 265 seconds) |
| 03:31:43 | × | pjb quits (~t@2a01cb04063ec500180c10bfcb2533c4.ipv6.abo.wanadoo.fr) (Ping timeout: 265 seconds) |
| 03:34:07 | → | plutoniix joins (~q@184.82.209.205) |
| 03:36:56 | → | brandly joins (~brandly@c-73-68-15-46.hsd1.ma.comcast.net) |
| 03:37:45 | × | elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 03:38:45 | × | drbean quits (~drbean@TC210-63-209-174.static.apol.com.tw) (Read error: Connection reset by peer) |
| 03:38:51 | <lemmih> | How do you misuse other-modules? |
| 03:38:57 | × | cods quits (~fred@unaffiliated/cods) (Ping timeout: 264 seconds) |
| 03:39:16 | → | hexfive joins (~hexfive@50.35.83.177) |
| 03:39:27 | × | __minoru__shirae quits (~shiraeesh@109.166.59.216) (Ping timeout: 256 seconds) |
| 03:39:27 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 03:39:57 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 03:40:39 | → | drbean joins (~drbean@TC210-63-209-182.static.apol.com.tw) |
| 03:41:46 | <slack1256> | Now I think there are mostly for data-dir/data-file related code, such as the Paths_library autogenerated module. |
| 03:42:23 | <slack1256> | If you don't export the module via exposed-modules, you cannot test them on the test-suite. Plus they don't get included in the haddock documentation. |
| 03:46:18 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 03:46:32 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 03:51:45 | × | theDon quits (~td@94.134.91.246) (Ping timeout: 246 seconds) |
| 03:53:45 | → | average joins (uid473595@gateway/web/irccloud.com/x-movoojltrrxlptod) |
| 03:53:46 | → | theDon joins (~td@muedsl-82-207-238-114.citykom.de) |
| 03:55:38 | × | brandly quits (~brandly@c-73-68-15-46.hsd1.ma.comcast.net) (Ping timeout: 260 seconds) |
| 03:55:54 | <Shiranai> | Cale: could you please elaborate on how the list of tokens is not necessary as an argument? |
| 03:56:27 | <Shiranai> | if it is a list, after processing the nth token, shouldn't I have the base list to append it to it? |
| 03:57:23 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 03:57:31 | → | geowiesnot_bis joins (~user@87-89-181-157.abo.bbox.fr) |
| 03:58:47 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 04:00:02 | × | haasn quits (~nand@mpv/developer/haasn) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 04:00:02 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 04:00:09 | → | zaquest joins (~notzaques@5.128.210.178) |
| 04:01:10 | → | specdrake joins (~anurag@203.192.236.225) |
| 04:01:15 | <specdrake> | Hello |
| 04:01:20 | → | haasn joins (~nand@mpv/developer/haasn) |
| 04:01:30 | <Axman6> | Hello! |
| 04:01:54 | <specdrake> | Why is the haskell-gsoc irc chat so inactive? |
| 04:02:18 | <specdrake> | Is there some other primary means of communication? |
| 04:02:35 | <specdrake> | (Apart from mailing list and IRC) |
| 04:02:55 | → | cheater1 joins (~user@unaffiliated/cheater) |
| 04:03:18 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 256 seconds) |
| 04:03:19 | <Axman6> | Those are good questions that I have no answer for |
| 04:03:19 | cheater1 | is now known as cheater |
| 04:03:43 | <specdrake> | Oh okay |
| 04:05:13 | → | Rudd0 joins (~Rudd0@185.189.115.103) |
| 04:05:32 | <Cale> | Shiranai: foo input blah blah = TokenToEmit : foo depletedInput other stuff |
| 04:05:38 | → | cods joins (~fred@82-65-232-44.subs.proxad.net) |
| 04:05:59 | <Cale> | Shiranai: You just produce the list elements immediately as you determine them |
| 04:06:27 | <Cale> | Shiranai: It's also much more efficient, since you don't have to accumulate the list of tokens in reverse and then reverse it at the end |
| 04:06:47 | <Cale> | (or what would be horrible for performance, continually append to the end of the list) |
| 04:06:48 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 04:07:07 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 04:07:25 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 04:07:33 | <Cale> | Shiranai: Does that make sense? |
| 04:09:53 | × | andreas31 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds) |
| 04:10:18 | × | geowiesnot_bis quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 04:11:31 | → | brandly joins (~brandly@c-73-68-15-46.hsd1.ma.comcast.net) |
| 04:11:45 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds) |
| 04:11:48 | → | andreas31 joins (~andreas@gateway/tor-sasl/andreas303) |
| 04:15:34 | → | lozenge_ joins (~lozenge@117.222.64.120) |
| 04:18:16 | → | bitmagie joins (~Thunderbi@200116b8060fe700383a25a1bbfaa0e2.dip.versatel-1u1.de) |
| 04:20:04 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-lmfzccdglbgutamn) (Quit: Connection closed for inactivity) |
| 04:20:27 | × | bitmagie quits (~Thunderbi@200116b8060fe700383a25a1bbfaa0e2.dip.versatel-1u1.de) (Client Quit) |
| 04:20:27 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer) |
| 04:20:43 | → | emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) |
| 04:21:19 | → | ejjfunky joins (7da36f81@125.163.111.129) |
| 04:27:38 | × | emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Ping timeout: 264 seconds) |
| 04:27:46 | × | teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds) |
| 04:29:38 | → | toorevitimirp joins (~tooreviti@117.182.183.55) |
| 04:31:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 04:35:19 | × | myShoggoth quits (~myShoggot@75.164.81.55) (Ping timeout: 265 seconds) |
| 04:35:50 | × | dhruvasagar quits (~dhruvasag@49.207.63.69) (Quit: WeeChat 3.0.1) |
| 04:38:10 | × | augnun quits (~augnun@2804:14c:658b:41bb:765b:76f0:4857:5bd2) (Quit: WeeChat 3.1) |
| 04:40:00 | → | teardown joins (~user@gateway/tor-sasl/mrush) |
| 04:40:10 | ← | lozenge_ parts (~lozenge@117.222.64.120) () |
| 04:40:35 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 04:43:04 | → | elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 04:43:31 | × | valdyn quits (valdyn@c6a7cbb3.vpn.njalla.net) (Quit: leaving) |
| 04:43:40 | → | valdyn joins (valdyn@c6a7cba1.vpn.njalla.net) |
| 04:44:55 | <Shiranai> | Cale: Sorry for the late response, I am not understanding. Could you please show some example code? I.e. let's say that the `nextToken` function successfully gets the next token, how would you use that to "produce the list elements immediately"? |
| 04:45:31 | <Shiranai> | Up till now I thought that accumulating in reverse would be the most efficient |
| 04:54:23 | hackage | ory-kratos 0.0.5.9 - API bindings for Ory Kratos https://hackage.haskell.org/package/ory-kratos-0.0.5.9 (njaremko) |
| 04:57:26 | <Cale> | Shiranai: nextToken "" = []; nextToken input = t : nextToken input' where (t, input') = splitFirstToken input |
| 04:58:17 | <Shiranai> | ohhhhhhhhhhhhh |
| 04:58:18 | <Cale> | This is more efficient than accumulating across the entire input before being able to return any part of the result |
| 04:58:27 | → | shad0w_ joins (a0ca2598@160.202.37.152) |
| 04:58:31 | <Cale> | You can get the first token with only a single splitFirstToken |
| 04:58:53 | <Shiranai> | I see, thank you, I just got back into haskell and forgot some techniques, really nice |
| 04:58:58 | <Cale> | Well, calling this nextToken was wrong, I should have called it tokens :) |
| 04:59:01 | <shad0w_> | cale: not if its a NFT : p |
| 04:59:38 | <Shiranai> | Thanks again, see you later, have a good day/night |
| 04:59:45 | × | Shiranai quits (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) (Quit: Connection closed) |
| 04:59:51 | <Cale> | shad0w_: NFT's are like getting a blue ribbon for participation at summer camp and then thinking that it's worth 68 million dollars |
| 05:00:55 | <shad0w_> | Cale: what's sad is that statement can't be ruled out as a possible scenario. sigh. |
| 05:04:02 | × | shad0w_ quits (a0ca2598@160.202.37.152) (Quit: Connection closed) |
| 05:10:26 | → | kam1 joins (~kam1@83.123.237.152) |
| 05:10:50 | × | kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer) |
| 05:11:56 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 05:12:16 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 05:16:02 | → | kam1 joins (~kam1@83.123.237.152) |
| 05:16:46 | × | kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer) |
| 05:17:17 | <DigitalKiwi> | or worse: someone else getting a blue ribbon and you thinking it's worth that |
| 05:18:24 | <DigitalKiwi> | ...a picture of it lol |
| 05:18:38 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-hubpohkbjuuxxmge) |
| 05:21:11 | <DigitalKiwi> | https://mashable.com/article/nft-cryptocurrency-bad-environment-art/ was the first thing i read about them a few days ago lol |
| 05:21:46 | <Axman6> | proof of work is the real evil, it's very anti-lazy |
| 05:22:15 | <DigitalKiwi> | that's why i'm a commie |
| 05:23:20 | <Axman6> | this is one of the reasons I don't get all the hate for Cardano, there are still problems with it, but at least it's not trying to boil the oceans as fast as possible |
| 05:25:09 | × | barnowl_ quits (~barnowl@gateway/tor-sasl/barnowl) (Remote host closed the connection) |
| 05:25:32 | → | barnowl_ joins (~barnowl@gateway/tor-sasl/barnowl) |
| 05:25:35 | <Cale> | Distributed databases are just not the solution to very many real-world problems |
| 05:27:00 | <Cale> | If you sort out the stuff that would be necessary to connect your database to the real world, the socio-political part of any given problem, then usually a centralised database almost immediately suffices, because in so doing you needed to give people some kind of authority, and those people might as well run the database. |
| 05:27:45 | <Axman6> | working on DAML has made me rethink that idea |
| 05:28:17 | × | lewky quits (~lewky@159.65.37.240) (Quit: The Lounge - https://thelounge.chat) |
| 05:28:28 | <Cale> | After all, the people who are responsible for enforcing things in the real world are going to be able to act as though the contents of the database are different from what they really are, so that administration might as well have the authority to edit anything as it sees fit. |
| 05:29:05 | → | lewky joins (~lewky@159.65.37.240) |
| 05:29:42 | <Cale> | (Obviously, not every member of it should be abusing that power all the time, but overall, it's often going to be necessary that the organisation itself agree that the contents of the database are in fact incorrect or invalid.) |
| 05:29:45 | → | shad0w_ joins (a0ca2598@160.202.37.152) |
| 05:29:50 | × | shad0w_ quits (a0ca2598@160.202.37.152) (Client Quit) |
| 05:31:05 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) |
| 05:31:55 | <DigitalKiwi> | https://mostlyabsurd.com/files/stonks!.png s/stonks/crypto/ |
| 05:33:51 | → | kam1 joins (~kam1@83.123.237.152) |
| 05:34:17 | × | kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer) |
| 05:34:25 | <DigitalKiwi> | or even better: stonks that track crypto trends :) |
| 05:34:50 | <slack1256> | I am this close of work on NFT company ;_; . |
| 05:35:01 | <slack1256> | working* |
| 05:35:32 | <DigitalKiwi> | MARA went up 12.57% yesterday lol |
| 05:35:56 | <DigitalKiwi> | RIOT 13.62% |
| 05:36:33 | <DigitalKiwi> | CAN 11.57% |
| 05:39:25 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) (Remote host closed the connection) |
| 05:40:01 | × | drbean quits (~drbean@TC210-63-209-182.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 05:40:34 | × | brandly quits (~brandly@c-73-68-15-46.hsd1.ma.comcast.net) (Ping timeout: 265 seconds) |
| 05:43:37 | × | teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds) |
| 05:45:55 | → | kam1 joins (~kam1@83.123.237.152) |
| 05:46:20 | × | kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer) |
| 05:46:24 | <Axman6> | Cale: at ${CURRENT_JOB-2}, we were working on a system for managing and tracing events in supply chains, which obviously requires the interaction of many parties, with parties having a desire to maintain ownership of their data. If I'd known about DAML at the time we could have modelled basically all the requirements we had "trivially", including providing visibility to trusted third parties to observe events throughout the supplychain. I'll |
| 05:46:24 | <Axman6> | admit it is probably one of the few places hwere this really could be useful, but they do exist |
| 05:46:36 | → | jpmrock joins (475434e0@071-084-052-224.res.spectrum.com) |
| 05:47:41 | × | jpmrock quits (475434e0@071-084-052-224.res.spectrum.com) (Client Quit) |
| 05:49:47 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 05:50:10 | <Cale> | How is DAML fundamentally any better than each of those parties running postgres databases (perhaps with a similar API), given that it's possible to do authenticated communication with them via the Internet? |
| 05:50:15 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 05:50:22 | <DigitalKiwi> | one of my dad's (long time ago former) clients started one of those a few years ago i think |
| 05:50:57 | → | geowiesnot_bis joins (~user@87-89-181-157.abo.bbox.fr) |
| 05:51:14 | <Axman6> | because that's exactly what it gives you, but visibility of information is a core concept in the language, so you have to eplicitly expose information to other parties, rather than working to hide it |
| 05:51:47 | <Axman6> | (One of the DAML backends it literally just Postgres, no blockchain) |
| 05:51:56 | <Cale> | Well, that's fair |
| 05:52:07 | <Cale> | The thing I think is useless here is blockchains |
| 05:52:09 | <Axman6> | ((I also can't claim to be an expert on DAML, I just write it )) |
| 05:54:37 | <DigitalKiwi> | whatcha got against merkle trees |
| 05:55:34 | × | sjtfre quits (~sjtfre@124.239.70.146) (Ping timeout: 260 seconds) |
| 05:56:39 | <Axman6> | yeah DAML is the contract language, which has several backends (and using DAML Connect [I think, its name changed], you can use DAML to write contracts which exist on and are executed on different blockchains) |
| 05:57:03 | × | loller_ quits (uid358106@gateway/web/irccloud.com/x-kduhobsfuxvxilil) (Quit: Connection closed for inactivity) |
| 05:58:57 | <Axman6> | uh, Canton is what I meant |
| 05:59:50 | → | bitmagie joins (~Thunderbi@200116b8060fe700383a25a1bbfaa0e2.dip.versatel-1u1.de) |
| 05:59:58 | → | sgibber2018 joins (d055ed90@208.85.237.144) |
| 06:01:49 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:02:36 | <Cale> | DigitalKiwi: Well, it's not so much Merkle trees themselves, but the notion of having a distributed database with non-cooperative or adversarial writers that I think is bad, and once people are cooperating, you can centralise a database and make it way more efficient. |
| 06:03:33 | × | elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds) |
| 06:04:03 | × | mantovani quits (~mantovani@104.131.207.121) (Ping timeout: 260 seconds) |
| 06:04:25 | → | mantovani joins (~mantovani@104.131.207.121) |
| 06:04:38 | × | eldritch quits (~eldritch@unaffiliated/eldritch) (Ping timeout: 260 seconds) |
| 06:04:48 | → | CodeKiwi joins (~kiwi@unaffiliated/digitalkiwi) |
| 06:05:02 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 06:05:03 | × | tomjaguarpaw quits (~tom@li367-225.members.linode.com) (Ping timeout: 245 seconds) |
| 06:05:11 | → | tomjaguarpaw joins (~tom@li367-225.members.linode.com) |
| 06:05:13 | × | iptq quits (~michael@142.93.75.170) (Ping timeout: 260 seconds) |
| 06:05:13 | × | DigitalKiwi quits (~kiwi@unaffiliated/digitalkiwi) (Ping timeout: 260 seconds) |
| 06:05:13 | × | heath quits (~heath@unaffiliated/ybit) (Ping timeout: 260 seconds) |
| 06:05:18 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 06:05:48 | × | sajith quits (~sajith@fsf/member/nonzen) (Ping timeout: 260 seconds) |
| 06:05:59 | × | bitmagie quits (~Thunderbi@200116b8060fe700383a25a1bbfaa0e2.dip.versatel-1u1.de) (Quit: bitmagie) |
| 06:06:11 | → | eldritch joins (~eldritch@unaffiliated/eldritch) |
| 06:06:30 | → | heath joins (~heath@unaffiliated/ybit) |
| 06:06:44 | → | sajith joins (~sajith@fsf/member/nonzen) |
| 06:06:50 | → | sjtfre joins (~sjtfre@124.239.70.146) |
| 06:06:55 | → | iptq joins (~michael@142.93.75.170) |
| 06:07:32 | × | WojciechK quits (~wojciechk@2001:41d0:a:5be4::449) (Ping timeout: 260 seconds) |
| 06:07:58 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 06:09:13 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 06:11:13 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) |
| 06:12:17 | <Axman6> | https://daml.com/learn/fundamental-concepts (IIRC) does a good job of explaining the authorisation model for the language, you need to be quite explicit about what actions any given party can do, and which parties need to be involved/give consent |
| 06:12:24 | × | RusAlex_ quits (~Chel@BSN-77-82-41.static.siol.net) (Quit: WeeChat 3.0) |
| 06:12:31 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 06:12:57 | Axman6 | wishes he had flip in the shell |
| 06:13:08 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 06:13:35 | <CodeKiwi> | Axman6: https://hackage.haskell.org/package/flip-cmd |
| 06:13:38 | <Cale> | Yeah, *that* kind of thing I think is fine. I just don't see why a blockchain or distributed storage (apart perhaps from replication) needs to be any part of it in almost all cases. |
| 06:15:28 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 06:15:34 | <CodeKiwi> | Cale: all you have is a hammer... |
| 06:15:41 | <CodeKiwi> | Cale: when* all you have is a hammer... |
| 06:16:08 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 06:16:28 | <Axman6> | CodeKiwi: Hmm, what I really want is flip (||) (print "\a") $ somethingWhichMightFail # things in comments are iportant for my shell history |
| 06:16:36 | → | kam1 joins (~kam1@83.123.237.152) |
| 06:16:44 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 06:17:00 | × | kam1 quits (~kam1@83.123.237.152) (Read error: Connection reset by peer) |
| 06:17:19 | <Axman6> | CodeKiwi: for a sec I thought you'd linked to https://github.com/mxswd/flip-plus, which is... amazing |
| 06:17:26 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 06:18:25 | → | sjtfre1 joins (~sjtfre@124.239.70.146) |
| 06:19:20 | × | sjtfre quits (~sjtfre@124.239.70.146) (Read error: Connection reset by peer) |
| 06:19:21 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 06:19:48 | <Axman6> | the fact that github won't render the only haskell file in that repo should give you some idea of how awesome it is |
| 06:19:57 | <Cale> | hahaha |
| 06:20:12 | <Cale> | How long does ghc take to compile the module? |
| 06:20:16 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 06:20:26 | <Axman6> | I don't know... I've never been game to try |
| 06:20:32 | <Cale> | Seems like potentially a good performance benchmark |
| 06:20:49 | <Axman6> | indeed |
| 06:21:14 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 06:21:21 | → | knupfer joins (~Thunderbi@200116b82c062100c4a7805106b9f6d2.dip.versatel-1u1.de) |
| 06:21:37 | <Axman6> | also, take that Control.Lens.Operators |
| 06:21:56 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 06:22:04 | <Cale> | It's certainly taking its sweet time with it |
| 06:22:13 | → | Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net) |
| 06:22:23 | <Cale> | about 1 minute |
| 06:22:34 | × | waleee-cl quits (uid373333@gateway/web/irccloud.com/x-fvkpewqjehdvcehc) (Quit: Connection closed for inactivity) |
| 06:23:02 | <Cale> | That's about 834 lines per second |
| 06:23:05 | <slack1256> | It is not even on ACME.* . |
| 06:23:26 | <Axman6> | this is serious shit slack1256, no time for jokes here |
| 06:23:50 | <Cale> | You mean it's serious $#!& |
| 06:24:07 | × | sgibber2018 quits (d055ed90@208.85.237.144) (Quit: Connection closed) |
| 06:24:18 | <slack1256> | Hahaha, hey ACME is seriously, just dangerous. |
| 06:24:22 | <Axman6> | still waiting for GHCi to interpret it... |
| 06:24:33 | <slack1256> | Imagine putting a # where a & was expected# |
| 06:24:37 | <slack1256> | ! |
| 06:24:49 | <Axman6> | oh the irony, haha |
| 06:24:54 | <Axman6> | Ok, one module loaded. |
| 06:24:55 | <Axman6> | (117.81 secs,) |
| 06:26:56 | → | kam1 joins (~kam1@83.123.237.152) |
| 06:27:07 | × | kam1 quits (~kam1@83.123.237.152) (Client Quit) |
| 06:28:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:28:45 | × | Wuzzy quits (~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 06:29:08 | <Axman6> | cabal v2-build 159.18s user 6.70s system 96% cpu 2:52.55 total |
| 06:32:33 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 06:34:22 | → | sjtfre joins (~sjtfre@124.239.70.146) |
| 06:34:29 | → | famubu joins (~famubu@117.206.45.254) |
| 06:34:33 | × | sjtfre1 quits (~sjtfre@124.239.70.146) (Ping timeout: 256 seconds) |
| 06:37:36 | → | dsrt^ joins (dsrt@ip98-184-89-2.mc.at.cox.net) |
| 06:37:43 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds) |
| 06:37:44 | × | sjtfre quits (~sjtfre@124.239.70.146) (Read error: Connection reset by peer) |
| 06:37:44 | → | sjtfre1 joins (~sjtfre@124.239.70.146) |
| 06:42:49 | <famubu> | I created a function to check if a character is a white space (space/newline/tab). Is there any advantage of using pattern matching over guards? This is what I tried: https://paste.tomsmeding.com/BOTlXmO8 |
| 06:43:17 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 06:43:38 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 06:44:35 | <slack1256> | At least for Char/Int where equality is really simple, both are equivalent. |
| 06:44:52 | <slack1256> | Also, you can pattern match on guard too. |
| 06:45:08 | <famubu> | slack1256: So there is a difference when equality is more complex? |
| 06:45:38 | <famubu> | I wasn't sure if 'pattern matching' and 'guards' were the right terms there.. :-D |
| 06:46:03 | <slack1256> | https://paste.tomsmeding.com/VlmXB1n0 |
| 06:46:58 | <CodeKiwi> | i've been finding a lot of libraries that don't compile anymore they say ambiguous occurrence what's that about |
| 06:47:01 | × | jrqc quits (~rofl@96.78.87.197) (Ping timeout: 256 seconds) |
| 06:47:16 | <slack1256> | famubu: Yeah, it mostly depends on how "deep" is the ADT. Think list, where equality is element per element but case analisis is about whether it is a cons or the empty case. |
| 06:47:44 | <slack1256> | Char and Int are really flat, so the equality and case analysis are the same. |
| 06:48:16 | <slack1256> | CodeKiwi: GHC 9.0.1? |
| 06:48:25 | <CodeKiwi> | 8.10.4 |
| 06:48:31 | <famubu> | slack1256: Ah.. I got a better idea now. Thanks a lot! |
| 06:48:35 | <c_wraith> | ... your point is right, but the example isn't *quite* right. Char and Int have one level of nesting. |
| 06:48:54 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:49:04 | <slack1256> | c_wraith: yeah, but that distinction at this level will only confuse it more. |
| 06:49:17 | <c_wraith> | Bool is a good example! |
| 06:49:58 | <slack1256> | "deep" and "flat" are loosly defined ("a lo amigo/modulo buena voluntad" how we said here) |
| 06:50:04 | → | jrqc joins (~rofl@96.78.87.197) |
| 06:50:34 | <c_wraith> | "among friends", maybe? |
| 06:51:00 | <slack1256> | Ya eres cuate c_wraith :-) |
| 06:52:33 | <slack1256> | CodeKiwi: Which library for example? |
| 06:52:45 | → | bitmagie joins (~Thunderbi@200116b8060fe700383a25a1bbfaa0e2.dip.versatel-1u1.de) |
| 06:53:44 | → | sjtfre joins (~sjtfre@124.239.70.146) |
| 06:54:26 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 06:55:03 | × | sjtfre1 quits (~sjtfre@124.239.70.146) (Ping timeout: 245 seconds) |
| 06:55:31 | → | sjtfre1 joins (~sjtfre@124.239.70.146) |
| 06:55:47 | <CodeKiwi> | hquantlib-time |
| 06:56:32 | × | lewky quits (~lewky@159.65.37.240) (Quit: The Lounge - https://thelounge.chat) |
| 06:57:01 | → | lewky joins (~lewky@159.65.37.240) |
| 06:57:10 | <hugo> | Is there a find equivalent for lenses? So if I have a list of Either a, I want to focus (is this the right word?) on the first Right value. |
| 06:58:21 | × | sjtfre quits (~sjtfre@124.239.70.146) (Ping timeout: 256 seconds) |
| 06:58:51 | <CodeKiwi> | https://github.com/Lucsanszky/haskell-binance too |
| 07:02:03 | <slack1256> | I don't know about "ambiguous occurrences", but hquantlib-time fails to build on my machine for the upper bound on time 1.9.0.0, which is old... |
| 07:02:18 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 07:02:24 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 07:02:32 | <CodeKiwi> | https://dpaste.com/HQ8DEXPRT |
| 07:03:08 | <CodeKiwi> | that was with 884 but i think it's the same as the one in 8104 |
| 07:04:57 | <slack1256> | Fellow nix user :-) |
| 07:05:49 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
| 07:06:52 | × | Varis quits (~Tadas@unaffiliated/varis) (Client Quit) |
| 07:07:32 | × | sjtfre1 quits (~sjtfre@124.239.70.146) (Read error: Connection reset by peer) |
| 07:07:43 | → | sjtfre joins (~sjtfre@124.239.70.146) |
| 07:07:54 | → | Forlorn joins (~Forlorn@unaffiliated/forlorn) |
| 07:08:09 | <slack1256> | CodeKiwi: Can you run inside the nix-shell the command `ghc-pkg field time version`? |
| 07:08:24 | <slack1256> | I think I know what it is. |
| 07:09:32 | → | benkolera joins (uid285671@gateway/web/irccloud.com/x-umfyvnhcrdleizmf) |
| 07:10:04 | <CodeKiwi> | 1.9.3 |
| 07:11:56 | <slack1256> | Check these two modules |
| 07:12:03 | <slack1256> | https://hackage.haskell.org/package/time-1.8.0.2/docs/Data-Time-Calendar.html |
| 07:12:19 | <slack1256> | https://hackage.haskell.org/package/time-1.9.3/docs/Data-Time-Calendar.html |
| 07:12:53 | × | sjtfre quits (~sjtfre@124.239.70.146) (Ping timeout: 260 seconds) |
| 07:13:51 | <slack1256> | There is a `DayOfWeek` on the time-1.9.3 version which is not present on the 1.8.0.2 one. That gets re-exported on `Data.Time` and clashes with a constructor on hquantlib-time. When that last library was written, time was like the 1.8 version and didn't export that module. |
| 07:14:11 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 07:14:21 | → | fendor joins (~fendor@178.115.131.140.wireless.dyn.drei.com) |
| 07:14:23 | <slack1256> | The problem only manifest in nixos because it tries to allow newer versions of libraries when you are inside a `nix-shell`. |
| 07:14:38 | <CodeKiwi> | more people need to min max imports :( |
| 07:14:41 | <slack1256> | Basically, it has nothing to do with ghc per se, but the version inside the nix-shell. |
| 07:15:15 | <slack1256> | CodeKiwi: wouldn't have helped, the version of `time` you get in your nix-shell depends on your version of nixpkgs. |
| 07:15:28 | × | famubu quits (~famubu@117.206.45.254) (Ping timeout: 245 seconds) |
| 07:16:27 | <slack1256> | If you run it outside a nix-shell via a `cabal v2-build` it will build with the right constrains. |
| 07:16:41 | <jackdk> | `newtype Foo p f a b = Foo p a (f b); instance (Functor f, Profunctor p) => Profunctor (Foo p f)` <- what is this actually called? |
| 07:16:59 | <slack1256> | Anyways, those packages are old. Maybe you could drop the upper-bounds, and make them use the current time API? |
| 07:16:59 | → | michalz joins (~user@185.246.204.59) |
| 07:17:16 | <slack1256> | Foo ? |
| 07:18:22 | <jackdk> | slack1256: sure, but is there a common name for it in the libraries? Looks like `Biff p Identity f` but wondering if there's something better? |
| 07:21:07 | <CodeKiwi> | slack1256: but outside of a nix shell i don't have zlib :( |
| 07:21:32 | <CodeKiwi> | [nix-shell:~/projects/github.com/paulrzcz/hquantlib/hquantlib-time-0.0.4.1]$ ghc-pkg field time version |
| 07:21:32 | <CodeKiwi> | version: 1.8.0.2 |
| 07:21:38 | <CodeKiwi> | hahahaha :D |
| 07:21:55 | → | Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net) |
| 07:22:11 | <slack1256> | There it ought to work! |
| 07:22:16 | <CodeKiwi> | previously: kiwi@mvp-nixos hquantlib-time-0.0.4.1 [master]$ nix-shell -p "haskellPackages.ghcWithPackages (pkgs: with pkgs; [])" -I nixpkgs=channel:nixos-20.03 |
| 07:23:03 | <slack1256> | You can also omit the `time` requeriment on the shell.nix file, and let cabal download and build the correct version. |
| 07:23:09 | <CodeKiwi> | anyway but what do i do if i want to use these libraries in my projects :( |
| 07:23:52 | <slack1256> | Fixing those libraries is mechanical, is only hiding or making the import lists explicit. |
| 07:24:25 | <slack1256> | An alternative is to only specify special libraries in the shell.nix file and let cabal inside the shell fill the holes. |
| 07:25:28 | <CodeKiwi> | i do a little of both https://gist.github.com/Kiwi/ffc08bffb15798dc4b1ec2a1c47c6191#file-program-cabal-hs |
| 07:26:00 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) (Remote host closed the connection) |
| 07:26:05 | <slack1256> | (I got the same problem with a LTS 16.19 requeriment ;_; ) |
| 07:26:28 | <slack1256> | Yoo another turtle user :-) |
| 07:26:34 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) |
| 07:26:57 | <slack1256> | yeah, but I have always found the nix-shell shebangs to be slow |
| 07:27:39 | <CodeKiwi> | (that gist is kind of a "because i can" experiment that i don't usually use lol) |
| 07:28:17 | <slack1256> | Anyways, I will go to sleep. |
| 07:28:20 | <slack1256> | Good luck. |
| 07:28:25 | × | slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection) |
| 07:28:58 | <CodeKiwi> | what i really use is this https://dpaste.com/5RBZC5ALQ |
| 07:29:21 | → | sjtfre joins (~sjtfre@124.239.70.146) |
| 07:29:51 | → | chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de) |
| 07:31:14 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) (Ping timeout: 264 seconds) |
| 07:31:45 | <CodeKiwi> | clearly the next feature is to select the ghc compiler and nixpkgs version |
| 07:32:40 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 07:33:00 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:35:10 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 07:36:34 | × | Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 265 seconds) |
| 07:38:42 | × | matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Ping timeout: 265 seconds) |
| 07:39:52 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 07:40:35 | → | rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-aqtspivhgbbjplug) |
| 07:44:41 | → | idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 07:45:42 | × | knupfer quits (~Thunderbi@200116b82c062100c4a7805106b9f6d2.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
| 07:47:45 | × | sjtfre quits (~sjtfre@124.239.70.146) (Read error: Connection reset by peer) |
| 07:47:55 | → | pjb joins (~t@2a01cb04063ec50019789bb8481aa192.ipv6.abo.wanadoo.fr) |
| 07:48:05 | → | sjtfre joins (~sjtfre@124.239.70.146) |
| 07:48:43 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 07:49:21 | × | idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 256 seconds) |
| 07:50:04 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-hubpohkbjuuxxmge) (Quit: Connection closed for inactivity) |
| 07:50:28 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
| 07:51:13 | → | Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net) |
| 07:55:12 | → | dhruvasagar joins (~dhruvasag@49.207.63.69) |
| 07:55:19 | → | z0k joins (~user@115-186-141-88.nayatel.pk) |
| 07:55:47 | × | sjtfre quits (~sjtfre@124.239.70.146) (Read error: Connection reset by peer) |
| 07:56:06 | → | sjtfre joins (~sjtfre@124.239.70.146) |
| 07:56:13 | → | knupfer joins (~Thunderbi@200116b82c0621001d06987cde0b66e7.dip.versatel-1u1.de) |
| 07:56:21 | <dhruvasagar> | I have a function `f :: (String -> Maybe String)` and I have a `a :: (Maybe String)`, if I do a <$> f, I end up with `Maybe (Maybe String)`, how can I avoid the nesting of maybe ? |
| 07:57:07 | → | idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 07:57:16 | <dminuoso> | Use =<< instead of <$> |
| 07:57:24 | <dminuoso> | Or do-notation |
| 07:57:41 | <dminuoso> | Or, you can also use <=< / >=> |
| 07:57:45 | <dhruvasagar> | dminuoso: but how do I return a Maybe String from the do ? |
| 07:57:49 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 07:58:09 | → | Franciman joins (~francesco@host-79-53-62-46.retail.telecomitalia.it) |
| 07:58:18 | <SIben> | dhruvasagar: "return x" with x a string |
| 07:58:38 | <dhruvasagar> | SIben: yes that is logical :D, I am getting confused though |
| 07:58:44 | → | idhugo_ joins (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net) |
| 07:58:56 | <dhruvasagar> | dminuoso: i'll look at `<=<` and `>=>` as well, thanks |
| 07:59:53 | <SIben> | btw dhruvasagar, "<$>" should be used with your function on the left hand side :) |
| 08:00:00 | <SIben> | (not that this matters here since it is not well typed anyway) |
| 08:00:12 | <dminuoso> | dhruvasagar: All three options are equivalent. I tend to favor =<< when applicable. |
| 08:00:19 | <dminuoso> | Though do-notation for Maybe can be handy in some cases. |
| 08:00:41 | × | knupfer quits (~Thunderbi@200116b82c0621001d06987cde0b66e7.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
| 08:01:18 | × | idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 245 seconds) |
| 08:01:34 | <dhruvasagar> | maybe my reduction isn't very practical, would you guys be willing to look at my horrible code ? |
| 08:02:50 | <SIben> | Sure :) |
| 08:03:25 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 08:03:28 | × | sjtfre quits (~sjtfre@124.239.70.146) (Remote host closed the connection) |
| 08:03:49 | <dhruvasagar> | https://gist.github.com/dhruvasagar/fcda1bd59d96e5320e2ca936e0da39c8 |
| 08:04:22 | <dhruvasagar> | SIben: dminuoso it may be bit hard to follow, or not, but the main thing I am struggling with is the manyByIndent |
| 08:04:58 | → | kuribas joins (~user@ptr-25vy0i92dp498ona6ki.18120a2.ip6.access.telenet.be) |
| 08:05:54 | <dhruvasagar> | I am doing this as a learning exercise, I don't want to use Parsec at this point |
| 08:06:04 | → | gds joins (~user@2a01:4b00:8605:9800:4103:dbd5:9f3c:6103) |
| 08:06:07 | → | pyuk joins (~vroom@217.138.252.180) |
| 08:06:07 | × | puke quits (~vroom@217.138.252.180) (Read error: Connection reset by peer) |
| 08:06:25 | <dhruvasagar> | A lot of code here is borrowed from the json parser build by tsoding |
| 08:07:08 | × | bitmagie quits (~Thunderbi@200116b8060fe700383a25a1bbfaa0e2.dip.versatel-1u1.de) (Quit: bitmagie) |
| 08:07:59 | → | coot joins (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) |
| 08:09:09 | <dhruvasagar> | SIben: sorry if it's unreadable |
| 08:09:30 | <dhruvasagar> | looks like I found a solution, perhaps you can help refactor it ? |
| 08:10:53 | <SIben> | dhruvasagar: sorry, I have a meeting in 5 min and it is a bit long :) |
| 08:11:05 | <dhruvasagar> | SIben: that's cool, thanks for trying |
| 08:12:04 | <SIben> | Let me know what you come up with, I can try to help again when I am free :) |
| 08:12:48 | <dhruvasagar> | SIben: manyByIndent p = |
| 08:12:50 | <dhruvasagar> | Parser $ \input -> do |
| 08:12:51 | <dhruvasagar> | (_, indent) <- runParser ws input |
| 08:12:54 | <dhruvasagar> | (rem, a) <- runParser (many (stringP indent *> p <* charP '\n')) input |
| 08:12:56 | <dhruvasagar> | Just (rem, a) |
| 08:13:08 | <dhruvasagar> | SIben: that's what I came up with, it seems to do what I intended, still have to figure out how to use this |
| 08:13:12 | × | pyuk quits (~vroom@217.138.252.180) (Quit: pyuk) |
| 08:13:33 | → | puke joins (~vroom@217.138.252.180) |
| 08:13:34 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 08:17:05 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 08:24:33 | → | sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) |
| 08:25:06 | × | hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:7ae2:2c33:b1ea:eeb7) (Ping timeout: 265 seconds) |
| 08:26:25 | × | average quits (uid473595@gateway/web/irccloud.com/x-movoojltrrxlptod) (Quit: Connection closed for inactivity) |
| 08:31:12 | × | notzmv quits (~zmv@unaffiliated/zmv) (Read error: Connection reset by peer) |
| 08:34:59 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 08:36:46 | → | hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:8fe8:bb5c:e4b1:b3c4) |
| 08:38:08 | × | datajerk quits (~datajerk@sense.net) (Ping timeout: 256 seconds) |
| 08:39:14 | → | Hi-Angel joins (~constanti@broadband-188-32-15-112.ip.moscow.rt.ru) |
| 08:39:24 | × | sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 265 seconds) |
| 08:40:51 | <CodeKiwi> | 07:15 slack1256: CodeKiwi: wouldn't have helped, the version of `time` you get in your nix-shell depends on your version of nixpkgs. |
| 08:42:08 | <CodeKiwi> | https://mostlyabsurd.com/posts/2019/06/03/minimal-imports-maximal-imports/ https://mostlyabsurd.com/posts/2019/06/03/minimal-imports-maximal-imports/ is supposed to avoid the problems of a library adding something later that you used |
| 08:42:27 | <CodeKiwi> | oh they're not here :( |
| 08:42:45 | → | kritzefitz joins (~kritzefit@fw-front.credativ.com) |
| 08:42:45 | → | asheshambasta joins (~user@ptr-e1lysav20kvw9mt8vlk.18120a2.ip6.access.telenet.be) |
| 08:43:29 | <CodeKiwi> | https://mostlyabsurd.com/posts/2019/06/09/minimal-imports-maximal-imports-examples/ was supposed to be the other url... |
| 08:49:01 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 276 seconds) |
| 08:49:49 | → | Yumasi joins (~guillaume@2a01:e0a:5cb:4430:2eb3:d0f5:cc9d:3dff) |
| 08:51:41 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 08:52:16 | → | jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de) |
| 08:54:57 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
| 08:55:09 | → | datajerk joins (~datajerk@sense.net) |
| 08:55:28 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 08:57:24 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:58:22 | → | LKoen joins (~LKoen@194.250.88.92.rev.sfr.net) |
| 09:00:02 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
| 09:00:06 | × | freeman42x[m] quits (freeman42x@gateway/shell/matrix.org/x-tkncoclizmblbtxd) (Quit: Idle for 30+ days) |
| 09:02:57 | → | Boomerang joins (~Boomerang@2a05:f6c7:2179:0:c023:32c1:e407:f7a0) |
| 09:03:44 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-hqwyhalzcvtqolcp) |
| 09:03:52 | → | Sorna joins (~Sornaensi@79.142.232.102) |
| 09:05:27 | → | m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
| 09:06:59 | × | Sornaensis quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 256 seconds) |
| 09:14:24 | × | ejjfunky quits (7da36f81@125.163.111.129) (Quit: Connection closed) |
| 09:15:56 | → | lokesh1197 joins (cbc182d2@203.193.130.210) |
| 09:19:21 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 09:20:20 | → | unyu joins (~pyon@unaffiliated/pyon) |
| 09:21:33 | × | dsrt^ quits (dsrt@ip98-184-89-2.mc.at.cox.net) () |
| 09:25:35 | → | mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl) |
| 09:25:35 | × | mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
| 09:25:35 | → | mouseghost joins (~draco@wikipedia/desperek) |
| 09:25:37 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 268 seconds) |
| 09:26:34 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 09:26:46 | × | cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 265 seconds) |
| 09:28:09 | × | MidAutumnHotaru1 quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾) |
| 09:28:29 | → | MidAutumnHotaru1 joins (~MidAutumn@unaffiliated/midautumnhotaru) |
| 09:30:37 | × | vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving) |
| 09:32:16 | → | cods joins (~fred@82-65-232-44.subs.proxad.net) |
| 09:37:21 | → | Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas) |
| 09:38:32 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 09:40:27 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit) |
| 09:40:46 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 09:44:11 | × | Guest14375 quits (~textual@2603-7000-3040-0000-99be-88ec-b8de-8f7c.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 09:48:25 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:f837:3533:97b:1f44) (Remote host closed the connection) |
| 09:48:31 | → | dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
| 09:50:03 | × | Gurkenglas_ quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds) |
| 09:51:09 | → | sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) |
| 09:51:25 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 09:56:01 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 09:57:22 | → | mauro^ joins (mauro@ip98-184-89-2.mc.at.cox.net) |
| 10:05:29 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 10:05:40 | → | average joins (uid473595@gateway/web/irccloud.com/x-yatkowhamroegbah) |
| 10:06:48 | → | hololeap_ joins (~hololeap@unaffiliated/hololeap) |
| 10:07:30 | × | kaletaa_ quits (~kaletaa@188.34.177.83) (Quit: ZNC 1.8.1 - https://znc.in) |
| 10:07:45 | × | hololeap quits (~hololeap@unaffiliated/hololeap) (Ping timeout: 264 seconds) |
| 10:08:45 | × | mrchampion quits (~mrchampio@38.18.109.23) (Ping timeout: 256 seconds) |
| 10:09:32 | → | kaletaa joins (~kaletaa@188.34.177.83) |
| 10:10:58 | → | son0p joins (~son0p@181.58.39.182) |
| 10:12:35 | → | psygate joins (~psygate@unaffiliated/psygate) |
| 10:24:51 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 10:26:02 | × | lokesh1197 quits (cbc182d2@203.193.130.210) (Ping timeout: 240 seconds) |
| 10:27:30 | × | forell quits (~forell@unaffiliated/forell) (Ping timeout: 256 seconds) |
| 10:32:27 | → | lozenge_ joins (~lozenge@117.222.64.120) |
| 10:33:23 | × | Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 245 seconds) |
| 10:33:24 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 10:34:26 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:34:54 | × | Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Quit: WeeChat 3.0.1) |
| 10:35:59 | → | forell joins (~forell@unaffiliated/forell) |
| 10:39:42 | → | Lycurgus joins (~niemand@98.4.116.165) |
| 10:40:51 | → | malumore joins (~malumore@151.62.122.146) |
| 10:42:08 | × | rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-aqtspivhgbbjplug) (Quit: Connection closed for inactivity) |
| 10:43:06 | → | Rudd0 joins (~Rudd0@185.189.115.103) |
| 10:45:55 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0) |
| 10:45:58 | → | Synthetica joins (uid199651@gateway/web/irccloud.com/x-ircgkbilfzdxjhvn) |
| 10:46:08 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 10:48:24 | → | rond_ joins (594020c5@89-64-32-197.dynamic.chello.pl) |
| 10:49:26 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) |
| 10:52:23 | × | geowiesnot_bis quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds) |
| 10:53:12 | → | Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net) |
| 10:53:33 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 10:54:02 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) (Ping timeout: 264 seconds) |
| 10:54:07 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit) |
| 10:54:15 | × | malumore quits (~malumore@151.62.122.146) (Ping timeout: 265 seconds) |
| 10:54:28 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 10:54:34 | → | dyeplexer joins (~lol@unaffiliated/terpin) |
| 10:55:39 | → | raichoo joins (~raichoo@dslb-084-062-113-170.084.062.pools.vodafone-ip.de) |
| 10:55:53 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit) |
| 10:56:18 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 10:56:25 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
| 10:56:52 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 10:57:23 | <bahamas> | can you chain as many transformers as you want in a transformer stack? |
| 10:58:09 | <dminuoso> | Yes. |
| 10:58:25 | × | aarvar quits (~foewfoiew@2601:602:a080:fa0:99f2:16e7:abb7:2d80) (Ping timeout: 244 seconds) |
| 11:00:19 | × | specdrake quits (~anurag@203.192.236.225) (Ping timeout: 256 seconds) |
| 11:00:37 | → | Alleria joins (~textual@zrcout.mskcc.org) |
| 11:00:50 | Alleria | is now known as Guest58397 |
| 11:02:01 | × | jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Ping timeout: 256 seconds) |
| 11:02:05 | <joel135> | looking at https://hackage.haskell.org/package/base-4.14.1.0/docs/Foreign-C-String.html |
| 11:02:08 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0) |
| 11:02:23 | <joel135> | peekCString -> IO String fail? if so, how to catch it? |
| 11:02:31 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 11:03:26 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Client Quit) |
| 11:03:51 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 11:04:08 | × | rond_ quits (594020c5@89-64-32-197.dynamic.chello.pl) (Quit: Connection closed) |
| 11:06:32 | × | mikeplus64 quits (~mike@unaffiliated/mikeplus64) (Ping timeout: 265 seconds) |
| 11:08:41 | <dminuoso> | What do you mean by "fail" exactly? |
| 11:09:38 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8) |
| 11:12:13 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 11:13:08 | → | ixlun joins (~matthew@213.205.241.14) |
| 11:14:52 | ← | jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client") |
| 11:15:56 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 11:16:55 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 11:17:04 | × | ixlun quits (~matthew@213.205.241.14) (Remote host closed the connection) |
| 11:17:06 | <joel135> | i don't know exactly |
| 11:18:02 | → | ixlun joins (~matthew@213.205.241.14) |
| 11:18:05 | <joel135> | it is just a curiosity question |
| 11:18:51 | <joel135> | maybe seeing that type made me think that it might fail, since anything could happen in IO, but not sure |
| 11:19:21 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 11:20:13 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:20:29 | × | mauro^ quits (mauro@ip98-184-89-2.mc.at.cox.net) () |
| 11:21:54 | × | raichoo quits (~raichoo@dslb-084-062-113-170.084.062.pools.vodafone-ip.de) (Quit: leaving) |
| 11:22:28 | × | ixlun quits (~matthew@213.205.241.14) (Remote host closed the connection) |
| 11:22:33 | → | raichoo joins (~raichoo@dslb-084-062-113-170.084.062.pools.vodafone-ip.de) |
| 11:23:05 | → | malumore joins (~malumore@151.62.122.146) |
| 11:23:08 | → | ixlun joins (~matthew@213.205.241.14) |
| 11:24:08 | → | jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de) |
| 11:25:22 | × | jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Client Quit) |
| 11:25:49 | → | jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de) |
| 11:26:20 | × | jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Client Quit) |
| 11:27:06 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 11:27:47 | → | mikeplus64 joins (~mike@unaffiliated/mikeplus64) |
| 11:28:47 | <Lycurgus> | yes joel135 , I can confirm that anything can happen in IO. |
| 11:28:48 | → | mrchampion joins (~mrchampio@38.18.109.23) |
| 11:29:01 | <joel135> | :-) |
| 11:29:48 | → | jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de) |
| 11:30:01 | <joel135> | i guess i should come back if i have the same question in a more realistic situation, where i am actually concerned about some foreign errors |
| 11:30:12 | × | stree quits (~stree@68.36.8.116) (Quit: Caught exception) |
| 11:30:37 | → | stree joins (~stree@68.36.8.116) |
| 11:32:19 | <Lycurgus> | if the public log in the topic weren't messed up, I could direct you to a recent convo on exceptions in haskell |
| 11:33:41 | <Lycurgus> | still may be worth googling it for "exceptions" and ofc hs and exceptions generally or come back when it's more active and someone wants to hold forth on the topic |
| 11:34:45 | ← | fl0_id parts (~fl0_id@2a01:4f8:171:4de::40:2) ("Textual IRC Client: www.textualapp.com") |
| 11:34:54 | <maerwald> | "how to catch an error" is not an easy question in haskell :p |
| 11:38:52 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 11:38:56 | → | jonatanb joins (~jonatanb@83.24.3.77.ipv4.supernova.orange.pl) |
| 11:39:04 | × | jonatanb quits (~jonatanb@83.24.3.77.ipv4.supernova.orange.pl) (Remote host closed the connection) |
| 11:39:15 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 11:39:29 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-ytqtvgeezlfvcafx) |
| 11:41:26 | × | Lycurgus quits (~niemand@98.4.116.165) (Quit: Exeunt) |
| 11:42:15 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 11:42:52 | × | jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.1) |
| 11:43:54 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:44:10 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
| 11:47:28 | × | LKoen quits (~LKoen@194.250.88.92.rev.sfr.net) (Remote host closed the connection) |
| 11:49:03 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds) |
| 11:49:05 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 11:49:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:49:55 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) |
| 11:49:57 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 11:50:15 | → | dsrt^ joins (dsrt@ip98-184-89-2.mc.at.cox.net) |
| 11:54:38 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) (Ping timeout: 264 seconds) |
| 11:54:45 | × | plutoniix quits (~q@184.82.209.205) (Quit: Leaving) |
| 11:55:14 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
| 11:56:21 | → | acidjnk_new joins (~acidjnk@p200300d0c72b959625b3d356e6f65619.dip0.t-ipconnect.de) |
| 11:59:10 | → | dramforever joins (~dram@unaffiliated/dramforever) |
| 11:59:51 | → | matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
| 12:01:54 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds) |
| 12:05:54 | → | sagecube[m] joins (sagecubema@gateway/shell/matrix.org/x-fvgneeorwuxkhsvd) |
| 12:06:21 | → | yaroot joins (~yaroot@138.102.13.160.dy.iij4u.or.jp) |
| 12:06:53 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 12:08:47 | ← | sagecube[m] parts (sagecubema@gateway/shell/matrix.org/x-fvgneeorwuxkhsvd) () |
| 12:09:19 | → | LKoen joins (~LKoen@194.250.88.92.rev.sfr.net) |
| 12:09:55 | <tomsmeding> | sorry for the shitpost; this is a source file from the election vote counting software apparently in use in the netherlands: https://tomsmeding.com/vang/Tx0yjl |
| 12:10:22 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 12:11:34 | <merijn> | tomsmeding: There is not vote counting software |
| 12:11:35 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 12:11:41 | <merijn> | tomsmeding: Also, -offtopic :) |
| 12:11:49 | <tomsmeding> | me apologises |
| 12:11:53 | tomsmeding | ^ |
| 12:13:45 | → | idhugo__ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 12:14:54 | → | specdrake joins (~anurag@203.192.236.225) |
| 12:16:22 | × | idhugo_ quits (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
| 12:17:02 | ← | lozenge_ parts (~lozenge@117.222.64.120) () |
| 12:17:41 | × | forgottenone quits (~forgotten@176.42.16.24) (Quit: Konversation terminated!) |
| 12:18:10 | → | forgottenone joins (~forgotten@176.42.16.24) |
| 12:21:19 | → | Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas) |
| 12:21:44 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 12:22:29 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 12:23:37 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0) |
| 12:24:29 | → | geowiesnot_bis joins (~user@87-89-181-157.abo.bbox.fr) |
| 12:24:58 | × | forgottenone quits (~forgotten@176.42.16.24) (Ping timeout: 260 seconds) |
| 12:25:26 | manjaroi3 | is now known as InsideBreeze |
| 12:27:21 | → | codygman__ joins (~user@47.186.207.161) |
| 12:33:32 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 12:33:45 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer) |
| 12:37:44 | × | dramforever quits (~dram@unaffiliated/dramforever) (Remote host closed the connection) |
| 12:38:36 | → | ph88 joins (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) |
| 12:40:02 | <ph88> | does anyone know how to make the argument to an optparse-applicative option optional ? the default value that is available now works for when the option is not given. I would like to have 3 states though: option not given, option given without argument, option given with arguments |
| 12:40:46 | → | Tario joins (~Tario@201.192.165.173) |
| 12:42:09 | → | jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de) |
| 12:42:53 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 12:43:17 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 12:44:19 | ← | jakalx parts (~jakalx@base.jakalx.net) ("Disconnected: Replaced by new connection") |
| 12:45:19 | <tomsmeding> | ph88: what if the argument to the option starts with a '-'? |
| 12:45:51 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection) |
| 12:46:17 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 12:46:23 | <ph88> | same as whatever optparse-applicative does now when the argument start with "-" ... which i don't know |
| 12:47:16 | <geekosaur> | tomsmeding is talking about a case that normally can't happen: is --foo --bar with --foo having your semantics --foo with parameter --bar, or --foo followed by --bar? |
| 12:47:50 | <geekosaur> | basically your requested grammar is ambiguous, which it normally isn't |
| 12:50:32 | → | peanut_ joins (~peanut@2a02:8388:a101:2600:8bb2:874c:9ad6:7619) |
| 12:50:46 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) |
| 12:52:20 | → | __minoru__shirae joins (~shiraeesh@109.166.59.216) |
| 12:54:25 | × | __minoru__shirae quits (~shiraeesh@109.166.59.216) (Read error: No route to host) |
| 12:54:48 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 12:55:04 | <merijn> | ph88: You can't have optional arguments in optparse |
| 12:55:20 | <merijn> | You have either flags (no argument) or options (argument) |
| 12:55:28 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 12:55:37 | → | supercoven joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) |
| 12:55:50 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) (Ping timeout: 264 seconds) |
| 12:56:55 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 12:57:08 | <iphy> | is there something like (a -> c -> (b, c)) -> [a] -> c -> [b]? I want to map [a] to [b], but also keep some state c in each iteration. basically foldr but I don't want to do the list append myself |
| 12:57:09 | → | LKoen_ joins (~LKoen@194.250.88.92.rev.sfr.net) |
| 12:58:16 | <mniip> | :t mapAccumL |
| 12:58:16 | <geekosaur> | :t mapAccumL |
| 12:58:18 | <lambdabot> | Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c) |
| 12:58:18 | <lambdabot> | Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c) |
| 12:58:35 | <iphy> | perfect, thanks |
| 12:58:52 | <iphy> | I tried hoogle with the above type signature and it yielded nothing |
| 12:59:17 | <iphy> | should have generalised to Traversable maybe |
| 12:59:28 | <mniip> | you could also traverse with State manually |
| 12:59:38 | × | LKoen quits (~LKoen@194.250.88.92.rev.sfr.net) (Ping timeout: 245 seconds) |
| 12:59:49 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0) |
| 12:59:54 | <mniip> | :t runState . traverse state |
| 12:59:56 | <lambdabot> | Traversable t => t (s -> (b, s)) -> s -> (t b, s) |
| 13:00:11 | <iphy> | yeah, I think mapAccumL is exactly what I want, though |
| 13:00:16 | <mniip> | :t (runState .) . traverse . state |
| 13:00:18 | <lambdabot> | (Traversable t, MonadState s1 ((->) a)) => (s1 -> (StateT s2 Identity b, s1)) -> t a -> s2 -> (t b, s2) |
| 13:00:31 | <mniip> | :t (runState .) . traverse . (state .) |
| 13:00:32 | <lambdabot> | Traversable t => (a -> s -> (b, s)) -> t a -> s -> (t b, s) |
| 13:00:50 | <tomsmeding> | @hoogle (c -> a -> (c, b)) -> c -> [a] -> (c, [b]) |
| 13:00:50 | <mniip> | this is also mapAccumL :P |
| 13:00:51 | <lambdabot> | GHC.OldList mapAccumL :: (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y]) |
| 13:00:51 | <lambdabot> | GHC.OldList mapAccumR :: (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y]) |
| 13:00:51 | <lambdabot> | Data.List2010 mapAccumL :: (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y]) |
| 13:00:53 | × | icebreak1r quits (michalc@freeshell.de) (Ping timeout: 265 seconds) |
| 13:01:08 | → | forgottenone joins (~forgotten@176.42.16.24) |
| 13:01:09 | <tomsmeding> | iphy: there's just too much variation in how you order the arguments |
| 13:01:30 | <mniip> | I think the block here is the return value of (acc, [y]) |
| 13:01:34 | <mniip> | as opposed to [y] |
| 13:01:43 | <mniip> | runState not evalState |
| 13:01:45 | <tomsmeding> | flipping the arguments to the lambda, the parts of the returned pair, the second and third args of mapAccumL, and adding the accumulator to the result lets hoogle find it :p |
| 13:01:54 | <tomsmeding> | I believe all those mutations are necessary |
| 13:02:19 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 13:03:43 | → | hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
| 13:08:09 | → | kav joins (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) |
| 13:09:42 | × | geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
| 13:10:05 | → | codygman` joins (~user@209.251.131.98) |
| 13:11:43 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds) |
| 13:12:13 | × | codygman__ quits (~user@47.186.207.161) (Ping timeout: 260 seconds) |
| 13:14:26 | → | carlomagno joins (~cararell@148.87.23.7) |
| 13:17:05 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 13:17:35 | → | __minoru__shirae joins (~shiraeesh@109.166.59.216) |
| 13:20:19 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0) |
| 13:21:18 | → | Sathiana joins (~kath@185-113-98-38.cust.bredband2.com) |
| 13:22:18 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-ibeawnzzibcmilki) |
| 13:23:23 | hackage | slist 0.2.0.0 - Sized list https://hackage.haskell.org/package/slist-0.2.0.0 (vrom911) |
| 13:27:44 | → | idhugo_ joins (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net) |
| 13:29:54 | × | idhugo_ quits (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net) (Read error: Connection reset by peer) |
| 13:30:06 | × | __minoru__shirae quits (~shiraeesh@109.166.59.216) (Ping timeout: 260 seconds) |
| 13:30:16 | → | idhugo joins (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net) |
| 13:30:34 | × | idhugo__ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
| 13:32:38 | → | Benzi-Junior joins (~BenziJuni@88-149-67-143.du.xdsl.is) |
| 13:32:54 | → | willmoffat joins (~willmoffa@37.120.211.188) |
| 13:36:35 | → | hjec joins (614e8662@rrcs-97-78-134-98.se.biz.rr.com) |
| 13:37:27 | × | toorevitimirp quits (~tooreviti@117.182.183.55) (Remote host closed the connection) |
| 13:37:53 | → | toorevitimirp joins (~tooreviti@117.182.183.55) |
| 13:38:55 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 276 seconds) |
| 13:42:38 | <ph88> | merijn, what about a switch ? it also has --switch1 --switch2 no ? |
| 13:44:02 | × | LKoen_ quits (~LKoen@194.250.88.92.rev.sfr.net) (Remote host closed the connection) |
| 13:45:38 | → | __minoru__shirae joins (~shiraeesh@109.166.59.216) |
| 13:46:34 | <merijn> | switches are just convenience version of flags where the result is boolean |
| 13:50:45 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 13:51:27 | × | son0p quits (~son0p@181.58.39.182) (Quit: Lost terminal) |
| 13:51:55 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) |
| 13:52:15 | → | stree joins (~stree@68.36.8.116) |
| 13:56:26 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) (Ping timeout: 264 seconds) |
| 14:02:25 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving) |
| 14:02:26 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 14:06:42 | × | geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
| 14:07:06 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 14:07:23 | hackage | xrefcheck 0.1.3 - https://hackage.haskell.org/package/xrefcheck-0.1.3 (martoon) |
| 14:07:25 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 14:07:35 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) |
| 14:09:23 | hackage | fuzzyfind 0.1.0 - Fuzzy text matching https://hackage.haskell.org/package/fuzzyfind-0.1.0 (runar) |
| 14:09:31 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds) |
| 14:09:46 | × | toorevitimirp quits (~tooreviti@117.182.183.55) (Remote host closed the connection) |
| 14:10:07 | × | jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Ping timeout: 276 seconds) |
| 14:13:16 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 14:13:35 | × | tsaka__ quits (~torstein@2a02:587:1b1a:7800:792e:732d:be64:a99d) (Ping timeout: 265 seconds) |
| 14:15:10 | → | neiluj joins (~jco@91-167-203-101.subs.proxad.net) |
| 14:15:16 | × | neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
| 14:15:16 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 14:17:01 | → | rj_ joins (~x@gateway/tor-sasl/rj) |
| 14:18:35 | → | romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt) |
| 14:19:22 | × | romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Client Quit) |
| 14:19:42 | → | romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt) |
| 14:20:24 | × | romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Client Quit) |
| 14:23:39 | → | Wuzzy joins (~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) |
| 14:23:47 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 14:25:15 | × | Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 246 seconds) |
| 14:25:49 | → | dramforever joins (~dram@unaffiliated/dramforever) |
| 14:27:51 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Remote host closed the connection) |
| 14:28:09 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 14:31:34 | → | LKoen joins (~LKoen@194.250.88.92.rev.sfr.net) |
| 14:31:45 | → | justan0theruser joins (~justanoth@unaffiliated/justanotheruser) |
| 14:31:51 | → | daveo1234567654 joins (55e6bffd@c-fdbfe655.09-209-73746f1.bbcust.telenor.se) |
| 14:32:06 | → | spydon97 joins (0d30fb5f@ec2-13-48-251-95.eu-north-1.compute.amazonaws.com) |
| 14:34:23 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds) |
| 14:35:14 | × | ntkr quits (uid491148@gateway/web/irccloud.com/x-dcjykuvxwerbfwae) (Quit: Connection closed for inactivity) |
| 14:36:25 | × | andreas31 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds) |
| 14:37:13 | → | andreas31 joins (~andreas@gateway/tor-sasl/andreas303) |
| 14:37:22 | × | shailangsa quits (~shailangs@host86-162-150-241.range86-162.btcentralplus.com) () |
| 14:37:49 | × | spydon97 quits (0d30fb5f@ec2-13-48-251-95.eu-north-1.compute.amazonaws.com) (Quit: Connection closed) |
| 14:38:02 | → | zerok joins (~user@115.186.141.88) |
| 14:39:03 | × | z0k quits (~user@115-186-141-88.nayatel.pk) (Ping timeout: 256 seconds) |
| 14:40:58 | → | jumper149 joins (~jumper149@ip185225.wh.uni-hannover.de) |
| 14:41:30 | × | ixlun quits (~matthew@213.205.241.14) (Read error: Connection reset by peer) |
| 14:42:27 | × | rj_ quits (~x@gateway/tor-sasl/rj) (Quit: rj_) |
| 14:42:41 | → | rj_ joins (~x@gateway/tor-sasl/rj) |
| 14:44:22 | × | daveo1234567654 quits (55e6bffd@c-fdbfe655.09-209-73746f1.bbcust.telenor.se) (Ping timeout: 240 seconds) |
| 14:45:44 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) |
| 14:46:38 | × | jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Ping timeout: 260 seconds) |
| 14:48:36 | × | xcin quits (~x@159.203.132.140) (Ping timeout: 240 seconds) |
| 14:49:27 | × | sim590 quits (~sim590@modemcable090.207-203-24.mc.videotron.ca) (Remote host closed the connection) |
| 14:49:37 | × | xff0x quits (~xff0x@2001:1a81:520b:5100:2c88:23cc:c327:16b6) (Ping timeout: 260 seconds) |
| 14:50:04 | → | xff0x joins (~xff0x@2001:1a81:520b:5100:8fc8:83d7:6af3:caa3) |
| 14:50:07 | × | Someguy123 quits (~someguy@unaffiliated/compgenius999) (Ping timeout: 272 seconds) |
| 14:50:45 | × | lemald quits (~eddie@capybara.lemald.org) (Ping timeout: 272 seconds) |
| 14:51:14 | → | xcin joins (~x@159.203.132.140) |
| 14:51:18 | → | sim590 joins (~sim590@modemcable090.207-203-24.mc.videotron.ca) |
| 14:52:23 | → | frozenErebus joins (~frozenEre@94.128.81.163) |
| 14:52:27 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) |
| 14:52:54 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 14:56:24 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 246 seconds) |
| 14:57:02 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) (Ping timeout: 264 seconds) |
| 14:59:27 | × | geowiesnot_bis quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds) |
| 15:03:18 | → | Someguy123 joins (~someguy@unaffiliated/compgenius999) |
| 15:04:08 | → | lemald joins (~eddie@capybara.lemald.org) |
| 15:04:14 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
| 15:05:16 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 15:05:25 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 15:08:34 | × | __minoru__shirae quits (~shiraeesh@109.166.59.216) (Ping timeout: 260 seconds) |
| 15:09:16 | → | Shiranai joins (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) |
| 15:09:40 | × | vchlup quits (~vchlup@nat.brnet.cz) (Read error: Connection reset by peer) |
| 15:10:12 | → | vchlup joins (~vchlup@nat.brnet.cz) |
| 15:10:25 | × | arianvp quits (~weechat@arianvp.me) (Quit: WeeChat 3.0) |
| 15:10:37 | <Shiranai> | Hello, I was going to start again the fp-course but seems some recent commit broke it https://github.com/system-f/fp-course/issues/402 |
| 15:10:46 | → | arianvp joins (~weechat@arianvp.me) |
| 15:10:56 | <Shiranai> | how could I fix this? (without using a previous version of the course) |
| 15:12:56 | <Boomerang> | You can enable TypeFamilies when you start ghc/ghci: ghci -XTypeFamilies |
| 15:13:14 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 15:13:55 | → | shailangsa joins (~shailangs@host86-162-150-241.range86-162.btcentralplus.com) |
| 15:15:29 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 15:18:33 | <c_wraith> | Better to add a language pragma to that file. |
| 15:18:44 | <tomsmeding> | Shiranai: a better fix would I guess be to add ':set -XTypeFamilies' after line 15 in .ghci ? |
| 15:19:04 | × | LKoen quits (~LKoen@194.250.88.92.rev.sfr.net) (Remote host closed the connection) |
| 15:19:13 | <tomsmeding> | or what c_wraith says, but that ship has sailed I guess with that .ghci file |
| 15:19:24 | × | mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew) |
| 15:19:53 | <tomsmeding> | apparently there is another extension that the .ghci is missing: https://github.com/system-f/fp-course/pull/387/commits/051bed156fe17898b0a4fa409594331eebc83584 |
| 15:20:29 | → | wopas32 joins (uid384704@gateway/web/irccloud.com/x-zmlpbitgmcaytcfj) |
| 15:22:53 | × | neiluj quits (~jco@unaffiliated/neiluj) (Ping timeout: 260 seconds) |
| 15:24:28 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8) |
| 15:25:14 | × | xff0x quits (~xff0x@2001:1a81:520b:5100:8fc8:83d7:6af3:caa3) (Ping timeout: 264 seconds) |
| 15:25:32 | → | xff0x joins (~xff0x@141.98.255.146) |
| 15:26:06 | → | Lycurgus joins (~niemand@98.4.116.165) |
| 15:29:25 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 15:30:23 | hackage | haskoin-store 0.50.3 - Storage and index for Bitcoin and Bitcoin Cash https://hackage.haskell.org/package/haskoin-store-0.50.3 (jprupp) |
| 15:30:54 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1) |
| 15:33:42 | × | geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
| 15:34:33 | → | johnw joins (~johnw@haskell/developer/johnw) |
| 15:34:53 | hackage | mohws 0.2.1.8 - Modular Haskell Web Server https://hackage.haskell.org/package/mohws-0.2.1.8 (HenningThielemann) |
| 15:35:21 | × | xff0x quits (~xff0x@141.98.255.146) (Ping timeout: 264 seconds) |
| 15:35:21 | → | ixlun joins (~matthew@109.249.184.133) |
| 15:36:50 | → | xff0x joins (~xff0x@2001:1a81:520b:5100:8fc8:83d7:6af3:caa3) |
| 15:37:05 | <ixlun> | Hi all, I'm trying to compile a haskell module that has C bindings, but the C library is in /opt/local/lib. I'm building with: 'cabal v2-build --extra-include-dirs="/opt/local/include/" --extra-lib-dirs="/opt/local/lib"' but this fails: https://termbin.com/bxa2 |
| 15:37:33 | <ixlun> | Interestingly, if you look towards the bottom of the output, the compilation command seems to be ignoring my --extra-* args; they're not being passed to the compiler |
| 15:37:48 | <ixlun> | I'm not sure if this is a bug in cabal, or I'm not using it correctly |
| 15:39:01 | → | geowiesnot_bis joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 15:39:23 | <Lycurgus> | path problem |
| 15:40:04 | × | crobbins quits (~crobbins@2601:2c1:200:ec50:7cb1:bb00:3eca:542b) () |
| 15:40:07 | → | myShoggoth joins (~myShoggot@75.164.81.55) |
| 15:40:11 | <Lycurgus> | (assuming the lib is actually OK, which the err msg indicates might not be) |
| 15:40:43 | <merijn> | Which package depends on sndfile? |
| 15:40:56 | <merijn> | You directly or a dependency? (If so, which one?) |
| 15:40:57 | → | gioyik joins (~gioyik@gateway/tor-sasl/gioyik) |
| 15:41:09 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) |
| 15:41:30 | <ixlun> | a dependency, hsndfile |
| 15:41:33 | <Lycurgus> | if it's a distributed lib rather than one you built, try installing the regular dev pkg as suggested |
| 15:42:10 | <average> | I wish that Haskell, in a future version, would have built-in symbolic mathematics |
| 15:42:12 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 15:42:39 | <average> | All that type theory is converging to that anyways.. so I mean, it should at least go all the way |
| 15:42:39 | <Lycurgus> | ur sayin it dont? |
| 15:42:54 | <Lycurgus> | u want mathematica oder |
| 15:43:05 | <ixlun> | Lycurgus: I'm on MacOS, so packages are installed in a prefix, /opt/local/ |
| 15:43:10 | <average> | Lycurgus: kindof |
| 15:43:21 | <merijn> | ixlun: oof, hsndfile looks, eh...outdated to say the least :) |
| 15:43:24 | <Lycurgus> | with brew and port they are |
| 15:43:27 | <Lycurgus> | no wonder |
| 15:43:39 | <Lycurgus> | (u got probs) |
| 15:43:41 | <merijn> | Last change in 2015 |
| 15:44:22 | <ixlun> | Works fine on my linux box though |
| 15:44:24 | <merijn> | ixlun: I'm actually not sure whether -extra-lib-dirs applies to *your* code or also to your dependencies |
| 15:44:41 | <ixlun> | Ahh, that might be the issue |
| 15:44:48 | <merijn> | ixlun: Because you need it to apply to your dependencies (i.e. hsdnfile) |
| 15:44:48 | <Lycurgus> | also there's surely some macsyma like hs thing on hackage |
| 15:45:05 | → | LKoen joins (~LKoen@194.250.88.92.rev.sfr.net) |
| 15:45:07 | <average> | Yes but that's only an interface |
| 15:45:38 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) (Ping timeout: 264 seconds) |
| 15:45:39 | <merijn> | ixlun: You can try setting it for hsdnfile via cabal.project by doing "package hsdnfile\n ..." (you just gotta find out what ... should be extra-lib-dirs: maybe?) |
| 15:45:40 | <average> | I think if Haskell manages to make symbolic math built into the language.. then it would open so many doors |
| 15:46:03 | <merijn> | ixlun: https://cabal.readthedocs.io/en/latest/cabal-project.html#package-configuration-options |
| 15:46:20 | <merijn> | average: What's stopping you from doing that right now? |
| 15:46:33 | <average> | merijn: I would first have to learn Haskell |
| 15:46:34 | <merijn> | What does "built into the language" even mean? |
| 15:46:58 | <merijn> | average: How can you state things about what is/isn't supported in Haskell without knowing it? |
| 15:47:05 | <average> | merijn: honestly idk. there's no language out there doing it. Even Mathematica isn't doing it |
| 15:47:26 | → | Guest5530 joins (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) |
| 15:47:30 | × | geowiesnot_bis quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 15:47:49 | <average> | it's doing it like.. partially |
| 15:48:07 | × | Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection) |
| 15:48:33 | <ixlun> | Cool, I'll see what I can do :-) |
| 15:48:52 | → | Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer) |
| 15:48:54 | <tomsmeding> | average: if you say that Mathematica only partially has symbolic mathematics built in, then I'm not sure what you mean with full symbolic math :p |
| 15:49:24 | <average> | tomsmeding: I guess I don't know either. I guess we have to do it to find out what that means |
| 15:49:44 | <average> | tomsmeding: I had to estimate some project for a client recently. Ended up doing 40% of the project just to be able to estimate it and provide a cost sheet and design for it |
| 15:49:51 | → | __minoru__shirae joins (~shiraeesh@109.166.59.216) |
| 15:49:55 | <average> | tomsmeding: If this was carpentry or wood-working, would've been much easier |
| 15:50:17 | <Shiranai> | tomsmeding: I added both `:set -XTypeApplications` `:set -XTypeFamilies` in the .ghci but still not working on ghci, showing the same error, any ideas? |
| 15:50:18 | <tomsmeding> | is that not the eternal problem in software engineering that estimating required time is hard? |
| 15:50:42 | <tomsmeding> | Shiranai: can you post the exact error you are getting? |
| 15:50:46 | <average> | tomsmeding: even cost estimation isn't easy |
| 15:50:55 | <average> | tomsmeding: fortunately I managed to come up with some good approximations |
| 15:51:05 | <average> | tomsmeding: only because I had prior experience with that kind of software |
| 15:51:20 | <Shiranai> | tomsmeding: https://pastebin.com/V3YZjBfj |
| 15:51:23 | <tomsmeding> | average: I dunno, I'm not surprised, estimation is hard :p |
| 15:51:32 | <average> | tomsmeding: any good books about it ? |
| 15:51:34 | × | coot quits (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 15:52:08 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 15:52:46 | <Lycurgus> | numerical methods that work, forman acton |
| 15:53:34 | <average> | Lycurgus: is that an answer to my estimation books question ? |
| 15:53:39 | → | Sorny joins (~Sornaensi@077213203030.dynamic.telenor.dk) |
| 15:53:42 | <tomsmeding> | Shiranai: what do you get if you type `:set -XTypeFamilies` `:r` in ghci right after you get that error? |
| 15:54:08 | <tomsmeding> | average: I have no idea regarding books, and I suppose that indeed was a recommendation by Lycurgus |
| 15:54:13 | <Shiranai> | oh wow, it works fine; seems my ghci is not reading the .ghci despite saying so |
| 15:54:19 | → | alx741 joins (~alx741@186.178.109.138) |
| 15:54:27 | <tomsmeding> | Shiranai: did you restart ghci, not just :r? |
| 15:54:49 | <Shiranai> | yes |
| 15:55:28 | <tomsmeding> | Shiranai: ah move that `:set -XTypeFamilies` before line 4 in the .ghci |
| 15:55:52 | <average> | Lycurgus: like tomsmeding said, was that a recommendation for me ? |
| 15:55:58 | <tomsmeding> | Shiranai: or, of course, add {-# LANGUAGE TypeFamilies #-} at the top of the files that produce errors |
| 15:56:04 | <tomsmeding> | that's the best solution |
| 15:56:06 | <Shiranai> | tomsmeding: yup that was it |
| 15:56:43 | <Shiranai> | thank you |
| 15:56:45 | <Lycurgus> | average, it was. But you that's just an artefact of my work/life history, there's doubtless a superior text dedicated to estimation/error |
| 15:57:06 | <Shiranai> | I was looking for the correct pragma name but couldn't find it, where should I search that stuff? |
| 15:57:15 | × | Sorna quits (~Sornaensi@79.142.232.102) (Ping timeout: 256 seconds) |
| 15:57:15 | <Lycurgus> | *you can prolly find something more specific |
| 15:57:42 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:57:44 | <tomsmeding> | Shiranai: GHC user's guide, usually |
| 15:58:08 | <tomsmeding> | Shiranai: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/control.html |
| 15:59:28 | <Shiranai> | tomsmeding: I see, thank you |
| 16:00:02 | × | boistordu quits (boistordum@gateway/shell/matrix.org/x-adhzavlsrujzyaqb) (Quit: Idle for 30+ days) |
| 16:00:31 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 16:00:42 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 256 seconds) |
| 16:06:23 | hackage | haskoin-store-data 0.51.0 - Data for Haskoin Store https://hackage.haskell.org/package/haskoin-store-data-0.51.0 (jprupp) |
| 16:06:54 | × | glamas_ quits (~glamas@107.182.17.237) (Quit: ZNC 1.7.4 - https://znc.in) |
| 16:07:03 | → | glamas joins (~glamas@107.182.17.237) |
| 16:08:23 | <__minoru__shirae> | average: estimating may be useful in some cases, but don't confuse form with substance |
| 16:08:26 | × | Alleria_ quits (~AllahuAkb@2603-7000-3040-0000-258c-2a70-8204-6956.res6.spectrum.com) (Ping timeout: 264 seconds) |
| 16:11:03 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) |
| 16:12:07 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 16:12:35 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 16:12:46 | → | stree joins (~stree@68.36.8.116) |
| 16:12:57 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 16:13:02 | <merijn> | codygman`: I just realised why your code is broken! |
| 16:13:03 | × | CoconutCrab quits (~Cua@unaffiliated/coconutcrab) (Ping timeout: 260 seconds) |
| 16:13:07 | <average> | Lycurgus: you know. this is an interesting idea you propose, except it only partially maps to the problem |
| 16:13:27 | × | dramforever quits (~dram@unaffiliated/dramforever) (Ping timeout: 265 seconds) |
| 16:13:31 | <average> | Lycurgus: if only there was a systematic way to estimate.. |
| 16:13:42 | <Lycurgus> | i assure there is |
| 16:13:51 | <average> | Lycurgus: please elaborate, i am very curious |
| 16:14:01 | <average> | Lycurgus: i can elaborate too from experience, with examples |
| 16:14:05 | <Lycurgus> | and a copious literature with numerous branches |
| 16:14:20 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 16:14:21 | × | frozenErebus quits (~frozenEre@94.128.81.163) (Ping timeout: 264 seconds) |
| 16:14:34 | <Lycurgus> | one that doesn't get much play these days was popular before or during the so called AI winter |
| 16:14:47 | <Lycurgus> | namely fuzzy math/sets/logic/etc |
| 16:14:49 | <__minoru__shirae> | AI winter? |
| 16:15:23 | hackage | haskoin-store 0.51.0 - Storage and index for Bitcoin and Bitcoin Cash https://hackage.haskell.org/package/haskoin-store-0.51.0 (jprupp) |
| 16:15:34 | <Lycurgus> | I mentioned acton's text because it's pithy and accessible |
| 16:15:43 | <Shiranai> | are there preset settings for the lsp formatter? Out of the box it is adding newlines to every type definition, e.g. `a -> b` becomes `a -> \n b` which imo looks horrible, is this what everyone uses? |
| 16:15:57 | × | acidjnk_new quits (~acidjnk@p200300d0c72b959625b3d356e6f65619.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 16:16:14 | <merijn> | Shiranai: "no" |
| 16:16:15 | <Lycurgus> | the topic of establishing good estimators is a well worked one in applied mathematics, statistics in particular |
| 16:17:03 | <Lycurgus> | also if you are the one that was asking about symbolic math and complaining that hs/hackage just had interface packages |
| 16:17:21 | <Lycurgus> | that's because hs is metamathematics oriented |
| 16:17:33 | → | CoconutCrab joins (~Cua@unaffiliated/coconutcrab) |
| 16:18:01 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 16:18:08 | <Lycurgus> | and mathematics in the sense of practical applied such as mathmematica does needs to be deferred to something actually doing practical mathematics |
| 16:19:04 | <Lycurgus> | also actons text you can get a pdf off the web |
| 16:19:13 | → | roconnor joins (~roconnor@host-45-58-230-226.dyn.295.ca) |
| 16:19:38 | <Lycurgus> | it being a half century old may be a distraction |
| 16:19:47 | × | CoconutCrab quits (~Cua@unaffiliated/coconutcrab) (Remote host closed the connection) |
| 16:21:39 | → | Alleria_ joins (~AllahuAkb@2603-7000-3040-0000-f429-7221-6ab1-0f3b.res6.spectrum.com) |
| 16:23:10 | → | viluon joins (uid453725@gateway/web/irccloud.com/x-ghtyiurdwpejnnhv) |
| 16:24:56 | <__minoru__shirae> | and then there is a thing that you can choose any self-fulfilling prophecy |
| 16:25:02 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 16:25:11 | <__minoru__shirae> | it doesn't matter which one you choose |
| 16:25:43 | × | NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Quit: WeeChat 3.0.1) |
| 16:26:31 | → | NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur) |
| 16:27:53 | hackage | haskeline 0.8.1.2 - A command-line interface for user input, written in Haskell. https://hackage.haskell.org/package/haskeline-0.8.1.2 (JudahJacobson) |
| 16:28:06 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection) |
| 16:28:11 | × | Lycurgus quits (~niemand@98.4.116.165) (Quit: Exeunt) |
| 16:28:24 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 16:28:56 | → | frozenErebus joins (~frozenEre@94.128.81.163) |
| 16:32:19 | <Shiranai> | merijin: what is everyone using then? How can I set that up? |
| 16:32:55 | → | mouseghost joins (~draco@wikipedia/desperek) |
| 16:33:21 | × | jespada quits (~jespada@90.254.243.187) (Ping timeout: 246 seconds) |
| 16:34:37 | → | jespada joins (~jespada@90.254.243.187) |
| 16:34:43 | × | Boomerang quits (~Boomerang@2a05:f6c7:2179:0:c023:32c1:e407:f7a0) (Ping timeout: 265 seconds) |
| 16:38:14 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 16:38:33 | → | Deide joins (~Deide@217.155.19.23) |
| 16:38:41 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 16:39:23 | hackage | flatparse 0.1.1.1 - High-performance parsing from strict bytestrings https://hackage.haskell.org/package/flatparse-0.1.1.1 (AndrasKovacs) |
| 16:40:01 | → | Boomerang joins (~Boomerang@2a05:f6c7:2179:0:c023:32c1:e407:f7a0) |
| 16:42:04 | → | geowiesnot_bis joins (~user@87-89-181-157.abo.bbox.fr) |
| 16:42:40 | → | kritzefitz_ joins (~kritzefit@212.86.56.80) |
| 16:42:44 | × | carlomagno quits (~cararell@148.87.23.7) (Ping timeout: 265 seconds) |
| 16:42:54 | × | ixlun quits (~matthew@109.249.184.133) (Remote host closed the connection) |
| 16:43:02 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 244 seconds) |
| 16:43:31 | <pie_> | i feel like im studying haskell wrong or something |
| 16:43:40 | → | carlomagno joins (~cararell@148.87.23.7) |
| 16:43:52 | <pie_> | how do you end up with all these weird academic people giving youtube talks and writing articles that seem like they have a clue |
| 16:43:58 | <pie_> | have i just not put enough time in? :P |
| 16:44:17 | <pie_> | or do some people just pass the affinity barrier :p |
| 16:44:50 | <pie_> | mostly unrelated, ive been really putting off learning any of this hype new AI stuff for years |
| 16:44:53 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-ennflwnjlfvpdgyt) |
| 16:45:00 | <tomsmeding> | Shiranai: there is no consensus, there are multiple formatters in use, and also people that don't use a formatter :p |
| 16:45:02 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:45:05 | <pie_> | should I look at hasktorch or just stick to the python stuff? |
| 16:46:37 | → | shad0w_ joins (a0ca254d@160.202.37.77) |
| 16:46:53 | hackage | homotuple 0.2.0.0 - Homotuple, all whose elements are the same type https://hackage.haskell.org/package/homotuple-0.2.0.0 (kakkun61) |
| 16:47:07 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 16:47:34 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 16:47:53 | hackage | persistent 2.11.0.4 - Type-safe, multi-backend data serialization. https://hackage.haskell.org/package/persistent-2.11.0.4 (parsonsmatt) |
| 16:49:45 | × | specdrake quits (~anurag@203.192.236.225) (Ping timeout: 264 seconds) |
| 16:51:00 | <koz_> | pie_: There are lots of perspectives on How to Haskell. |
| 16:51:05 | <koz_> | It depends on what you wanna get done. |
| 16:54:03 | × | asheshambasta quits (~user@ptr-e1lysav20kvw9mt8vlk.18120a2.ip6.access.telenet.be) (Ping timeout: 265 seconds) |
| 16:55:01 | × | Boomerang quits (~Boomerang@2a05:f6c7:2179:0:c023:32c1:e407:f7a0) (Ping timeout: 265 seconds) |
| 16:55:41 | → | specdrake joins (~anurag@203.192.236.225) |
| 17:01:54 | → | waleee-cl joins (uid373333@gateway/web/irccloud.com/x-lvwisugjqkptqqrq) |
| 17:03:50 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 17:06:04 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) (Remote host closed the connection) |
| 17:06:43 | → | vicfred joins (vicfred@gateway/vpn/mullvad/vicfred) |
| 17:07:12 | × | matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:07:13 | → | dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 17:08:02 | → | matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
| 17:10:32 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 17:13:11 | × | idhugo quits (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net) (Ping timeout: 256 seconds) |
| 17:14:19 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds) |
| 17:14:26 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 17:15:33 | → | redmp joins (~redmp@172.58.19.158) |
| 17:15:53 | × | peanut_ quits (~peanut@2a02:8388:a101:2600:8bb2:874c:9ad6:7619) (Quit: Leaving) |
| 17:16:23 | × | kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
| 17:16:38 | × | raichoo quits (~raichoo@dslb-084-062-113-170.084.062.pools.vodafone-ip.de) (Quit: Lost terminal) |
| 17:19:12 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds) |
| 17:19:14 | × | xff0x quits (~xff0x@2001:1a81:520b:5100:8fc8:83d7:6af3:caa3) (Ping timeout: 264 seconds) |
| 17:19:46 | × | arianvp quits (~weechat@arianvp.me) (Quit: WeeChat 2.9) |
| 17:20:04 | → | xff0x joins (~xff0x@2001:1a81:520b:5100:334b:8a6e:b179:1c97) |
| 17:20:33 | → | arianvp joins (~weechat@arianvp.me) |
| 17:22:47 | <monochrom> | https://ubikium.gitlab.io/portfolio/2021-03-13-wait-a-moment.html hahaha (from today's HWN) |
| 17:24:00 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 17:24:28 | <koz_> | fmap fmap fmap sequence fmap rofl |
| 17:26:05 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 17:27:08 | × | kuribas quits (~user@ptr-25vy0i92dp498ona6ki.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 17:28:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 17:28:24 | × | kritzefitz_ quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 17:28:33 | <koz_> | :t fmap fmap fmap sequence fmap |
| 17:28:35 | <lambdabot> | (Traversable t, Monad m) => (a1 -> m a2) -> t a1 -> m (t a2) |
| 17:28:47 | <koz_> | Just... how. |
| 17:29:40 | <tomsmeding> | :t (.) (.) (.) sequence fmap |
| 17:29:42 | <lambdabot> | (Traversable t, Monad m) => (a1 -> m a2) -> t a1 -> m (t a2) |
| 17:29:55 | × | wopas32 quits (uid384704@gateway/web/irccloud.com/x-zmlpbitgmcaytcfj) (Quit: Connection closed for inactivity) |
| 17:30:18 | <koz_> | Ah yes. |
| 17:30:30 | → | epicte7us joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 17:30:50 | <koz_> | Sadly I don't think mapM is actually defined either of those ways. |
| 17:31:13 | × | Foritus quits (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 17:31:22 | <koz_> | :t (<$>) (<$>) (<$>) sequence (<$>) |
| 17:31:24 | <lambdabot> | (Traversable t, Monad m) => (a1 -> m a2) -> t a1 -> m (t a2) |
| 17:32:08 | <koz_> | Something something 'statements dreamed up by the utterly deranged' something. :P |
| 17:32:58 | × | malumore quits (~malumore@151.62.122.146) (Ping timeout: 245 seconds) |
| 17:33:23 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 245 seconds) |
| 17:34:17 | → | Foritus joins (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) |
| 17:35:29 | <tomsmeding> | :t traverse |
| 17:35:30 | <lambdabot> | (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) |
| 17:35:36 | <tomsmeding> | the same but more general |
| 17:35:45 | <tomsmeding> | resistence is futile |
| 17:37:09 | → | elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 17:37:48 | × | Yumasi quits (~guillaume@2a01:e0a:5cb:4430:2eb3:d0f5:cc9d:3dff) (Ping timeout: 244 seconds) |
| 17:37:49 | <koz_> | Yeah, traverse does everything is a meme is not a meme. :P |
| 17:37:53 | hackage | erlang-ffi 1.0.0 - Send messages to an Erlang node using Haskell https://hackage.haskell.org/package/erlang-ffi-1.0.0 (Szetty) |
| 17:38:14 | <monochrom> | s/sequence/sequenceA/ for the Applicative version. |
| 17:38:26 | <monochrom> | :t fmap fmap fmap sequenceA fmap |
| 17:38:28 | <lambdabot> | (Traversable t, Applicative f) => (a1 -> f a2) -> t a1 -> f (t a2) |
| 17:39:22 | × | geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
| 17:41:34 | × | forgottenone quits (~forgotten@176.42.16.24) (Quit: Konversation terminated!) |
| 17:41:43 | × | Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 260 seconds) |
| 17:41:47 | <hyperisco> | concatenative programming sticks functions together with function composition |
| 17:41:59 | × | Shiranai quits (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) (Quit: Connection closed) |
| 17:42:08 | <hyperisco> | is there an analogue but sticks things together with fmap? |
| 17:42:22 | × | chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 17:42:31 | <koz_> | "Bro do u even lift" programming. |
| 17:42:42 | <monochrom> | You can coin the name "functorial programming". |
| 17:42:53 | <aldum> | lol |
| 17:43:24 | <shad0w_> | you could open the youtube channel fun fun functorials |
| 17:43:28 | × | jrqc quits (~rofl@96.78.87.197) (Ping timeout: 260 seconds) |
| 17:46:37 | → | jrqc joins (~rofl@96.78.87.197) |
| 17:46:40 | <koz_> | Or 'Fun Fun Literature Club'. |
| 17:46:49 | <koz_> | Or 'Fun Fun Revolution'. |
| 17:47:03 | <infinisil> | I wrote a function `f :: Applicative f => Compose Maybe f a -> Compose f Maybe a` |
| 17:47:10 | <infinisil> | Is there a more general implementation of this? |
| 17:47:42 | <koz_> | Something like Compose . sequenceA . unCompose |
| 17:47:51 | <monochrom> | :) |
| 17:47:55 | <infinisil> | Oh yeah that looks like sequence |
| 17:47:57 | <infinisil> | Nice |
| 17:48:11 | <infinisil> | :t sequenceA |
| 17:48:13 | <lambdabot> | (Traversable t, Applicative f) => t (f a) -> f (t a) |
| 17:48:50 | <koz_> | (runCompose? deCompose? compost? decay?) |
| 17:49:10 | <infinisil> | getCompose :) |
| 17:49:31 | <koz_> | Wow, the least fun option. |
| 17:49:37 | <koz_> | It should really be 'decompose'. |
| 17:50:09 | → | malumore joins (~malumore@151.62.122.146) |
| 17:50:43 | <monochrom> | newtype Compost f g a = Compost{fertilizer :: f (g a)} |
| 17:50:48 | <koz_> | Or actually, coerce sequenceA might work too. |
| 17:51:01 | <infinisil> | :t coerce |
| 17:51:03 | <lambdabot> | error: |
| 17:51:03 | <lambdabot> | • Variable not in scope: coerce |
| 17:51:03 | <lambdabot> | • Perhaps you meant ‘coerced’ (imported from Control.Lens) |
| 17:51:13 | <koz_> | (maybe, if Traversable doesn't hate on derivation again) |
| 17:51:33 | <koz_> | % :t coerce |
| 17:51:34 | <yahb> | koz_: Coercible a b => a -> b |
| 17:51:41 | <koz_> | Which tells you very little. |
| 17:52:03 | <koz_> | % :t coerce sequenceA |
| 17:52:03 | <yahb> | koz_: (Traversable t, Applicative f, Coercible b (t (f a) -> f (t a))) => b |
| 17:52:22 | <koz_> | I mean, in _theory_ that should work? |
| 17:52:32 | × | jrqc quits (~rofl@96.78.87.197) (Ping timeout: 240 seconds) |
| 17:52:36 | <infinisil> | % coerce sequenceA :: Compose Maybe f a -> Compose f Maybe a |
| 17:52:36 | <yahb> | infinisil: ; <interactive>:18:21: error: Not in scope: type constructor or class `Compose'; <interactive>:18:42: error: Not in scope: type constructor or class `Compose' |
| 17:53:08 | <koz_> | % import Data.Functor.Compose (Compose (Compose)) |
| 17:53:09 | <yahb> | koz_: |
| 17:53:12 | <infinisil> | Well, the Compose . sequenceA . getCompose works well, and coerce sounds too scary :P |
| 17:53:30 | <koz_> | % :t coerce sequenceA :: Compose Maybe f a -> Compose f Maybe a |
| 17:53:30 | <yahb> | koz_: ; <interactive>:1:1: error:; * Couldn't match representation of type: f1 (Maybe a1); with that of: f0 [a0]; arising from a use of `coerce'; * In the expression: coerce sequenceA :: Compose Maybe f a -> Compose f Maybe a |
| 17:53:35 | <koz_> | Oh ffs. |
| 17:54:25 | <koz_> | There's probably some magic combination of @-nnotations and snails that can direct Coercible properly there. |
| 17:55:33 | <koz_> | :% :set -fshow-foralls |
| 17:55:39 | <koz_> | % :set -fshow-foralls |
| 17:55:40 | <yahb> | koz_: Some flags have not been recognized: -fshow-foralls |
| 17:55:47 | <koz_> | Argh what's that damned flag. |
| 17:55:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:56:05 | <koz_> | % :set -fprint-explicit-foralls |
| 17:56:05 | <yahb> | koz_: |
| 17:56:13 | <koz_> | % :t coerce sequenceA |
| 17:56:13 | <yahb> | koz_: forall {t :: * -> *} {f :: * -> *} {b} {a}. (Traversable t, Applicative f, Coercible b (t (f a) -> f (t a))) => b |
| 17:56:26 | × | shad0w_ quits (a0ca254d@160.202.37.77) (Quit: Connection closed) |
| 17:56:27 | → | jrqc joins (~rofl@96.78.87.197) |
| 17:56:46 | <koz_> | % :t coerce sequenceA @_ @_ (Compose Maybe f a -> Compose f Maybe a) |
| 17:56:46 | <yahb> | koz_: ; <interactive>:1:25: error: View pattern in expression context: Compose Maybe f a -> Compose f Maybe a |
| 17:56:53 | <koz_> | % :t coerce sequenceA @_ @_ @(Compose Maybe f a -> Compose f Maybe a) |
| 17:56:53 | <yahb> | koz_: ; <interactive>:1:40: error: Not in scope: type variable `f'; <interactive>:1:42: error: Not in scope: type variable `a'; <interactive>:1:55: error: Not in scope: type variable `f'; <interactive>:1:63: error: Not in scope: type variable `a' |
| 17:57:12 | <koz_> | % :t coerce sequenceA @Maybe @f @(Compose Maybe f a -> Compose f Maybe a) |
| 17:57:13 | <yahb> | koz_: ; <interactive>:1:26: error: Not in scope: type variable `f'; <interactive>:1:44: error: Not in scope: type variable `f'; <interactive>:1:46: error: Not in scope: type variable `a'; <interactive>:1:59: error: Not in scope: type variable `f'; <interactive>:1:67: error: Not in scope: type variable `a' |
| 17:57:20 | <koz_> | OK I give up rofl. |
| 17:57:49 | <koz_> | Welcome to the biggest issue with Coercible I guess. |
| 17:58:56 | → | idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 18:00:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 18:00:57 | × | rajivr quits (uid269651@gateway/web/irccloud.com/x-wwtzhstalquejfsh) (Quit: Connection closed for inactivity) |
| 18:01:05 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 18:01:48 | → | raym joins (~ray@115.187.32.14) |
| 18:03:03 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
| 18:04:16 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:b5a7:9e26:9598:47de) |
| 18:05:19 | <shapr> | hyperisco: I've seen functorial programming before, I think in an roconnor blog post? |
| 18:05:59 | <shapr> | hyperisco: found what I wsa remembering http://r6.ca/blog/20171010T001746Z.html |
| 18:06:13 | × | mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew) |
| 18:06:27 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 246 seconds) |
| 18:06:55 | <hyperisco> | shapr, ty |
| 18:08:06 | <hyperisco> | basically a generalisation of these effect systems we're seeing |
| 18:09:22 | <hyperisco> | I would like to see how this could be used for general programming, like say SK combinators are shown |
| 18:10:26 | <shapr> | roconnor: did you post more things in the vein of that functor oriented programming subject? |
| 18:13:23 | × | ph88 quits (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 18:13:32 | × | michalz quits (~user@185.246.204.59) (Remote host closed the connection) |
| 18:13:44 | → | ph88 joins (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) |
| 18:14:12 | × | dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection) |
| 18:15:42 | <bbhoss> | anyone using vscode with HSL? sometimes it finds a problem with my code and it seems the only way to clear it is to restart vscode completely. am I missing something? |
| 18:15:46 | <bbhoss> | *HLS |
| 18:16:11 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Quit: No Ping reply in 210 seconds.) |
| 18:16:38 | × | geowiesnot_bis quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 18:17:11 | → | vjok1 joins (vjoki@2a00:d880:3:1::fea1:9ae) |
| 18:17:13 | × | `slikts quits (~nelabs@wikipedia/reinis) (Quit: No Ping reply in 180 seconds.) |
| 18:17:29 | × | vjoki quits (vjoki@2a00:d880:3:1::fea1:9ae) (Quit: ...) |
| 18:17:29 | vjok1 | is now known as vjoki |
| 18:18:20 | → | `slikts joins (~nelabs@2a00:d880:5:395::37ca) |
| 18:18:20 | × | `slikts quits (~nelabs@2a00:d880:5:395::37ca) (Changing host) |
| 18:18:20 | → | `slikts joins (~nelabs@wikipedia/reinis) |
| 18:18:27 | → | supercoven_ joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) |
| 18:19:44 | × | malumore quits (~malumore@151.62.122.146) (Ping timeout: 240 seconds) |
| 18:20:41 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 244 seconds) |
| 18:21:43 | × | myShoggoth quits (~myShoggot@75.164.81.55) (Ping timeout: 245 seconds) |
| 18:21:43 | × | supercoven quits (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Ping timeout: 245 seconds) |
| 18:22:13 | → | myShoggoth joins (~myShoggot@75.164.81.55) |
| 18:23:28 | × | gds quits (~user@2a01:4b00:8605:9800:4103:dbd5:9f3c:6103) (Ping timeout: 265 seconds) |
| 18:25:35 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 18:27:08 | × | __minoru__shirae quits (~shiraeesh@109.166.59.216) (Ping timeout: 245 seconds) |
| 18:27:23 | → | __minoru__shirae joins (~shiraeesh@77.94.25.145) |
| 18:28:31 | <tomsmeding> | bbhoss: what kind of problem would it get stuck on? |
| 18:28:36 | × | puffnfresh quits (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 256 seconds) |
| 18:29:30 | → | puffnfresh joins (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) |
| 18:29:34 | <bbhoss> | in this case just some small issue where the type didnt have an instance of Show and I was using the show fn. added deriving (Show) to it and it builds fine. Restart and the problem is gone |
| 18:29:39 | <dolio> | I know someone who's mentioned probably the same issue. |
| 18:29:44 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds) |
| 18:30:03 | <dolio> | Somehow some errors make the language server get into an unrecoverable state or something. |
| 18:30:16 | <dolio> | I don't know the details, though. |
| 18:30:18 | <bbhoss> | I've run into this with other extensions but usually there's a way to restart the server without a full editor restart |
| 18:30:27 | <bbhoss> | (other exts with other langs) |
| 18:31:23 | × | elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 18:32:16 | → | malumore joins (~malumore@151.62.122.146) |
| 18:32:50 | tomsmeding | has no idea, I don't use vscode, my editor allows me to restart the language server :p |
| 18:34:24 | → | stree joins (~stree@68.36.8.116) |
| 18:35:21 | × | frozenErebus quits (~frozenEre@94.128.81.163) (Ping timeout: 264 seconds) |
| 18:36:11 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds) |
| 18:37:27 | × | specdrake quits (~anurag@203.192.236.225) (Remote host closed the connection) |
| 18:37:27 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 18:38:06 | Gurkenglas_ | is now known as Gurkenglas |
| 18:38:23 | × | malumore quits (~malumore@151.62.122.146) (Ping timeout: 245 seconds) |
| 18:38:43 | <gentauro> | tomsmeding: you use emacs right? |
| 18:39:00 | <tomsmeding> | neovim :p |
| 18:39:10 | <tomsmeding> | have never used emacs |
| 18:42:08 | <monochrom> | neovim = never emacs only vim |
| 18:42:47 | <epicte7us> | bbhoss: I have issues like that as well with HLS and VSCode, if I don't want to completely restart VS code I'll do View -> Command Palette -> Developer: Reload Window |
| 18:44:08 | × | vjoki quits (vjoki@2a00:d880:3:1::fea1:9ae) (Ping timeout: 240 seconds) |
| 18:46:00 | → | vjoki joins (vjoki@2a00:d880:3:1::fea1:9ae) |
| 18:46:11 | <geekosaur> | neovim: vim is the new emacs |
| 18:46:34 | → | elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 18:46:56 | <tomsmeding> | at least it doesn't have tetris yet |
| 18:47:49 | × | ph88 quits (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
| 18:47:50 | <shapr> | emacs is the new vim |
| 18:48:01 | <ephemient> | tomsmeding: https://github.com/alec-gibson/nvim-tetris |
| 18:48:35 | <tomsmeding> | ephemient: there is no question that someone has implemented it, but at least it doesn't ship with tetris :p |
| 18:48:45 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 18:48:45 | × | hyiltiz quits (~quassel@31.220.5.250) (Changing host) |
| 18:48:45 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 18:48:47 | × | raym quits (~ray@115.187.32.14) (Remote host closed the connection) |
| 18:49:09 | <ephemient> | fair :) |
| 18:50:49 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:342c:fb5e:4a48:8cb) |
| 18:51:27 | × | geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed) |
| 18:52:11 | → | solidus-river joins (~mike@174.127.249.180) |
| 18:52:46 | × | hjec quits (614e8662@rrcs-97-78-134-98.se.biz.rr.com) (Quit: Connection closed) |
| 18:53:20 | → | geekosaur joins (82650c7a@130.101.12.122) |
| 18:54:14 | × | `slikts quits (~nelabs@wikipedia/reinis) (Quit: No Ping reply in 180 seconds.) |
| 18:55:30 | → | `slikts joins (~nelabs@2a00:d880:5:395::37ca) |
| 18:55:30 | × | `slikts quits (~nelabs@2a00:d880:5:395::37ca) (Changing host) |
| 18:55:30 | → | `slikts joins (~nelabs@wikipedia/reinis) |
| 18:57:15 | → | Vadrigar joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) |
| 19:00:34 | × | Vadrigar quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Client Quit) |
| 19:01:07 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 19:01:53 | → | Vadrigar joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) |
| 19:04:07 | → | ircbrowse_tom joins (~ircbrowse@64.225.78.177) |
| 19:04:07 | Server | sets mode +CLnt |
| 19:04:32 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 19:05:03 | × | juri_ quits (~juri@178.63.35.222) (Ping timeout: 245 seconds) |
| 19:07:13 | × | Vadrigar quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.1) |
| 19:07:53 | → | Vadrigar joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) |
| 19:08:24 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 19:09:21 | × | idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 256 seconds) |
| 19:09:39 | × | Tesseraction quits (~Tesseract@unaffiliated/tesseraction) (Read error: Connection reset by peer) |
| 19:10:13 | → | Tesseraction joins (~Tesseract@unaffiliated/tesseraction) |
| 19:10:44 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Quit: leaving) |
| 19:11:01 | → | puke joins (~vroom@217.138.252.170) |
| 19:11:15 | <gentauro> | tomsmeding: I tried vi, ended turning off my laptop. I couldn't get out :( |
| 19:11:54 | → | juri_ joins (~juri@178.63.35.222) |
| 19:13:25 | <tomsmeding> | :p |
| 19:13:30 | <tomsmeding> | it's a trap |
| 19:13:57 | × | Vadrigar quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.1) |
| 19:15:25 | <tomsmeding> | ircbrowse had some many useful features https://ircbrowse.tomsmeding.com/export/something https://github.com/tomsmeding/ircbrowse/blob/master/src/Ircbrowse/Controllers.hs#L39-L41 |
| 19:15:25 | <solidus-river> | gentauro: https://vim-adventures.com/ ?!? great tool |
| 19:17:45 | <gentauro> | solidus-river: last time I tried `vi` was around 2005. Then I met `emacs` and I have never looked for another Operating System. The only thing missing in `emacs` is a good text editor ;) |
| 19:19:21 | <maerwald> | the only good argument pro emacs I agree with is that you have always a consistent key mapping across applications |
| 19:20:48 | <tomsmeding> | a while ago I found myself typing 'gg' in my web browser and very briefly being surprised that the page didn't move |
| 19:21:09 | <tomsmeding> | I was tired then, I believe |
| 19:21:14 | <dolio> | There used to be solutions to that. |
| 19:21:19 | <ephemient> | gentauro: https://github.com/emacs-evil/evil there's your decent editor for emacs :) |
| 19:21:21 | <maerwald> | vim vixxen etc |
| 19:21:31 | <dolio> | I think the plugin restrictions ruined it, though. |
| 19:21:32 | <maerwald> | but you still have to configure separately |
| 19:21:44 | <tomsmeding> | yeah I know there are browser extensions that give you vim-style bindings |
| 19:21:45 | <maerwald> | dolio: works fine... but you have to wait for the page to have loaded |
| 19:21:48 | → | malumore joins (~malumore@151.62.122.146) |
| 19:22:01 | <maerwald> | kinda weird |
| 19:22:30 | <dolio> | 'Course, I think restricting plugins was more valuable than vim bindings for browsers. |
| 19:22:31 | <tomsmeding> | I'm not completely sold on vim keybindings in applications they weren't designed for, but eh |
| 19:23:39 | <oats> | I love it for web browsing |
| 19:23:42 | <oats> | qutebrowser++ |
| 19:23:47 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 19:23:57 | → | Tario joins (~Tario@201.192.165.173) |
| 19:25:02 | <dolio> | My biggest issue with browsers is text areas not matching text input modes in other stuff. Like ^W killing a browser tab rather than deleting back a word. |
| 19:26:11 | <oats> | heh yeah |
| 19:27:26 | <dolio> | Luckily they're pretty good at being able to restore the closed tab. |
| 19:28:36 | <monochrom> | Now, does ctrl-shift-t restore the word that ctrl-w deleted in a terminal? >:) |
| 19:29:01 | <dolio> | No, but I never need it to. |
| 19:29:27 | <monochrom> | I have needed it a few times. |
| 19:29:44 | × | malumore quits (~malumore@151.62.122.146) (Ping timeout: 240 seconds) |
| 19:30:17 | <monochrom> | Especially when I got the initial command line by reverse history search, deleted the last two words, then regretted it. |
| 19:30:38 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 19:30:41 | → | jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 19:30:50 | × | DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection) |
| 19:30:51 | <ephemient> | emacs/readline-style bindings: ctrl-y to bring back what ctrl-w put on the kill ring |
| 19:31:19 | <ephemient> | probably terminal can't do ctrl-shift-t due to no distinction between that and ctrl-t... |
| 19:31:32 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 19:31:40 | <dolio> | Oh yeah. I was going to mention that but I forgot it was ^Y. |
| 19:31:49 | <dolio> | I was thinking it was ^K for some reason, but that's the opposite. |
| 19:31:51 | <tomsmeding> | ephemient: ctrl-y only works for the last word; monochrom deleted the last two :p |
| 19:32:17 | <geekosaur> | ctrl-underscore (= undo) also works here |
| 19:32:18 | <monochrom> | ooohhh nice, ctrl-y, thanks |
| 19:32:28 | → | redmp_ joins (~redmp@172.58.27.184) |
| 19:32:35 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds) |
| 19:32:36 | <dolio> | ^Y brings back everything in the kill buffer, which would be all the words probably. |
| 19:32:37 | <ephemient> | it *should* work even if you ctrl-w'ed multiple words |
| 19:32:58 | → | romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt) |
| 19:32:58 | <dolio> | And having to re-delete some is your punishment that makes you not make mistakes in the future. |
| 19:33:02 | <monochrom> | Restoring too much is better than restoring nothing. :) |
| 19:33:03 | × | romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Client Quit) |
| 19:33:28 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:33:51 | <geekosaur> | and ctrl-y restored the whole thing for me. (zsh) |
| 19:34:17 | <monochrom> | The thing is these modern unix-style CLI flag-and-option incantations are approaching the complexity of magic spells that you will never remember or synthesize them, you can only recognize them when you see them. |
| 19:35:26 | → | ajc joins (~ajc@69.231.232.79) |
| 19:35:46 | × | redmp quits (~redmp@172.58.19.158) (Ping timeout: 265 seconds) |
| 19:36:53 | × | jess quits (jess@freenode/staff/jess) (Quit: update innit) |
| 19:37:25 | × | hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:8fe8:bb5c:e4b1:b3c4) (Ping timeout: 265 seconds) |
| 19:37:29 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:38:24 | → | j joins (jess@freenode/staff/jess) |
| 19:38:47 | <monochrom> | bash M-r restores the line to initial state. (Now I'm reading the bash man page for real.) This is nice when I'm mucking with the outcome of history search. |
| 19:39:50 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:342c:fb5e:4a48:8cb) (Ping timeout: 265 seconds) |
| 19:39:57 | → | neiluj joins (~jco@91-167-203-101.subs.proxad.net) |
| 19:39:57 | × | neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
| 19:39:57 | → | neiluj joins (~jco@unaffiliated/neiluj) |
| 19:41:16 | j | is now known as jess |
| 19:41:19 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 19:42:16 | <tomsmeding> | ah I see, my shell indeed restores everything on ctrl-y; my irc client (weechat) has a broken readline reimplementation that restores only 1 word |
| 19:43:23 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 245 seconds) |
| 19:44:02 | <geekosaur> | keep in mind that this is arguable, since it's actually conflating emacs kill-region with bsd tty driver delete-last-word |
| 19:44:25 | <monochrom> | I think C-_ is the most general-purpose least-surprise undo we can normally default to. |
| 19:44:28 | <geekosaur> | so it's arguable that there shouldn't be a kill ring involved |
| 19:46:38 | <dolio> | The only thing that seems arguable is which behavior is more convenient most of the time. |
| 19:47:07 | → | knupfer joins (~Thunderbi@200116b82c0621002447c2923b633e13.dip.versatel-1u1.de) |
| 19:47:19 | <dolio> | I would probably lean toward the emacs-like behavior for that. |
| 19:48:18 | <monochrom> | Clearly, both command lines and the browser tabs need a version control system >:) |
| 19:48:19 | <dolio> | Perhaps not the full emacs behavior, which would be complicated to implement. |
| 19:48:51 | <dolio> | But having consecutive ^Ws add to the ^Y paste is nice. |
| 19:49:26 | → | hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:de28:da9b:e021:bab6) |
| 19:49:38 | × | myShoggoth quits (~myShoggot@75.164.81.55) (Ping timeout: 245 seconds) |
| 19:51:03 | → | myShoggoth joins (~myShoggot@75.164.81.55) |
| 19:54:00 | <bbhoss> | do I have to do something special to export data constructors? I'm exporting a couple of types I'm creating with `newtype` but when I import Lib in Spec.hs it can't find them |
| 19:54:13 | <koz_> | bbhoss: How are you exporting them now? |
| 19:54:29 | <monochrom> | module TheExporter(MyType(..)) where |
| 19:54:43 | <bbhoss> | https://www.irccloud.com/pastebin/UhZQRUjf/ |
| 19:55:09 | <monochrom> | Yeah you need Ballot(..), Candidate(..) |
| 19:55:33 | <koz_> | If you export 'Foo', you export the type but not the constructors. |
| 19:55:36 | <bbhoss> | literally `..`? also, is there a better way to do this? |
| 19:55:49 | <koz_> | If you export 'Foo(Bar, Baz)', you export the type, and the 'Bar' and 'Baz' constructors. |
| 19:55:54 | <geekosaur> | literally .. |
| 19:55:55 | <monochrom> | No better way. Unless you mean longer way. |
| 19:56:05 | <koz_> | If you export 'Foo(..)', you export the type 'Foo', and all of its constructors. |
| 19:56:51 | <bbhoss> | haha alright, it seemed a little clunky, but I am a n00b obviously. I guess alternatively I could export a function that does this? |
| 19:56:51 | <geekosaur> | there is of course simply exporting everything by not specifying an export list |
| 19:57:19 | → | teardown joins (~user@gateway/tor-sasl/mrush) |
| 19:58:07 | <monochrom> | There are times you export just the type name, but hide constructors and field selectors, to present your type as an abstract type. |
| 19:58:45 | <monochrom> | Therefore one way or another, there needs one syntax for type-only, and one other syntax for type-and-its-guts. |
| 19:58:53 | hackage | tasty-bench 0.2.3 - Featherlight benchmark framework https://hackage.haskell.org/package/tasty-bench-0.2.3 (Bodigrim) |
| 19:59:03 | <monochrom> | That is the minimum requirement for any syntax design at all. |
| 19:59:11 | → | idhugo joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 19:59:12 | <bbhoss> | got it, just want to make sure I was being idiomatic |
| 20:00:23 | <bbhoss> | I don't need to export the type AND the MyType(..) do I? It seems to work without exporting the type |
| 20:01:03 | <edmundnoble> | You cannot export a type's constructors without exporting the type |
| 20:01:14 | <geekosaur> | because it'd be meaningless |
| 20:01:18 | <edmundnoble> | Well |
| 20:01:32 | <edmundnoble> | Hm can you export functions without exporting their return type |
| 20:01:42 | <edmundnoble> | Or I suppose more generally, names without exporting their types |
| 20:01:50 | <Uniaika> | hmm |
| 20:01:57 | <Uniaika> | I have a naïve question |
| 20:02:03 | <edmundnoble> | Best kind |
| 20:02:11 | <bbhoss> | right, so exporting MyType(..) implies that the type is exported |
| 20:02:16 | <edmundnoble> | Does yes |
| 20:02:16 | <Uniaika> | if unboxed integers (for instance) are so great for performance, why aren't they the default kind of integer? |
| 20:02:29 | <edmundnoble> | Unboxed integers are not necessarily great for performance |
| 20:02:33 | <edmundnoble> | Because they are not lazy |
| 20:02:40 | <edmundnoble> | But even assuming they were, in all cases, better for performance |
| 20:02:43 | <mniip> | Uniaika, historical reasons |
| 20:02:56 | <edmundnoble> | Type parameters cannot be instantiated by unboxed types in most cases |
| 20:03:03 | <Uniaika> | oh my, mniip and edmund in the chan. I feel like on Discord |
| 20:03:09 | <Uniaika> | edmundnoble: I see! |
| 20:03:09 | <mniip> | we've only very recently figured out the story with runtime representations in kinds |
| 20:03:09 | <edmundnoble> | Lmao I haven't seen you on discord |
| 20:03:14 | <mniip> | hecate |
| 20:03:20 | <Uniaika> | edmundnoble: yes you did :3 |
| 20:03:21 | <edmundnoble> | Oh hai |
| 20:03:32 | <mniip> | furthermore you lose polymorphism |
| 20:03:40 | <Uniaika> | mniip: Int vs Int# ? |
| 20:03:43 | <mniip> | yes |
| 20:03:46 | <mniip> | sometime edwardk is trying to win back |
| 20:03:50 | <Uniaika> | but aren't they both concrete types? |
| 20:03:52 | × | idhugo quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 20:03:52 | <edmundnoble> | Oh right so if you mean "why aren't they the default" like why isn't that the default `Num` instance |
| 20:03:57 | <edmundnoble> | There is no `Num` instance for `Int#` |
| 20:03:57 | <mniip> | ask him about compiling a package 1700 times with backpack |
| 20:03:57 | <edmundnoble> | At all |
| 20:04:05 | <dolio> | You can't put an Int# in a list. |
| 20:04:08 | <edmundnoble> | Because `Int#` is an unboxed type, so it doesn't have kind `*` |
| 20:04:09 | <koz_> | There is no anything instance for Int#. |
| 20:04:13 | <edmundnoble> | Well |
| 20:04:16 | <mniip> | % [0#] |
| 20:04:16 | <yahb> | mniip: ; <interactive>:31:2: error:; * Couldn't match a lifted type with an unlifted type; When matching types; a :: *; Int# :: TYPE 'GHC.Exts.IntRep; * In the expression: 0#; In the expression: [0#]; In an equation for `it': it = [0#]; * Relevant bindings include it :: [a] (bound at <interactive>:31:1) |
| 20:04:24 | <mniip> | it really doesn't work |
| 20:04:27 | <edmundnoble> | I think you can have type class instances for unlifted types |
| 20:04:38 | <mniip> | you can write things for unlifted types yes |
| 20:04:38 | <Uniaika> | I see I see |
| 20:04:42 | <edmundnoble> | But they will be able to do very little, subject to levity polymorphism's restrictions |
| 20:04:45 | <dolio> | Everything that deals with Int# has to specifically deal with it, and not be polymorphic. |
| 20:04:48 | <mniip> | but you can never accept a runtimerep-polymorphic argument |
| 20:04:52 | <edmundnoble> | Right |
| 20:04:54 | <koz_> | edmundnoble: Really? I thought that type variables for type classes default to Type? |
| 20:04:58 | <mniip> | this includes data constructors and class methods |
| 20:05:00 | <edmundnoble> | The big issue is that unlifted shit doesn't have the kind `*` |
| 20:05:09 | <edmundnoble> | And almost all terms have types with kind `*` |
| 20:05:14 | <Uniaika> | % :k 0# |
| 20:05:14 | <yahb> | Uniaika: ; <interactive>:1:1: error: parse error on input `0#' |
| 20:05:19 | <Uniaika> | dangit |
| 20:05:21 | <myShoggoth> | Streaming GHC GC code reading and analysis: https://www.twitch.tv/myshoggoth |
| 20:05:23 | <mniip> | % :k Int# |
| 20:05:23 | <yahb> | mniip: TYPE 'GHC.Exts.IntRep |
| 20:05:27 | → | pk37 joins (7aa1ce54@122.161.206.84) |
| 20:05:28 | <koz_> | Uniaika: I recommend reading Kinds Are Calling Conventions. |
| 20:05:30 | × | petersen quits (~petersen@redhat/juhp) (Ping timeout: 256 seconds) |
| 20:05:31 | <edmundnoble> | % :k Int |
| 20:05:31 | <yahb> | edmundnoble: * |
| 20:05:37 | <mniip> | * = TYPE LiftedRep |
| 20:05:40 | <edmundnoble> | And `*` is what again, |
| 20:05:41 | <edmundnoble> | Gotcha |
| 20:05:46 | <koz_> | It's a very readable paper and goes into some detail explaining why the restrictions around unlifted types exist. |
| 20:05:48 | <Uniaika> | koz_: great, thanks |
| 20:06:02 | <edmundnoble> | koz_: that's not what you said, you said there are no instances of anything |
| 20:06:05 | <koz_> | (yes, there was a 'Types are Calling Conventions' before it) |
| 20:06:09 | → | mikoto-c1 joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 20:06:27 | <edmundnoble> | It is true however that if you have a type class with kind for example `* -> Constraint`, you will not be able to have instances for unlifted types |
| 20:06:42 | <Uniaika> | edmundnoble: okay so there is a fundamental conflict between "TYPE LiftedRep" and "TYPE IntRep" |
| 20:06:48 | <mniip> | you can have a polykinded class |
| 20:06:48 | <edmundnoble> | They just don't unify, yes |
| 20:06:51 | <koz_> | edmundnoble: I don't think I said there are no instances fro anything. I said there are no instances of anything for Int#. |
| 20:07:01 | <dolio> | Yes, those are not the same calling convention. |
| 20:07:03 | <edmundnoble> | Right, which is incorrect |
| 20:07:10 | edmundnoble | There can be instances of things for `Int#` |
| 20:07:16 | <edmundnoble> | There are just far fewer |
| 20:07:26 | <koz_> | Wait, so what instances exist for Int#? |
| 20:07:31 | <koz_> | Because I'm not aware of any. |
| 20:07:34 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 20:07:38 | <mniip> | % class Show# (a :: TYPE r) where show# :: a -> String; instance Show a => Show# a where show# = show; instance Show# Int# where show# x = show (I# x) ++ "#" |
| 20:07:38 | <yahb> | mniip: ; <interactive>:35:55: error: parse error on input `instance' |
| 20:07:39 | → | gues62271 joins (~username@185.234.208.208.r.toneticgroup.pl) |
| 20:07:51 | → | petersen joins (~petersen@redhat/juhp) |
| 20:07:51 | → | icebreaker joins (michalc@freeshell.de) |
| 20:07:51 | × | icebreaker quits (michalc@freeshell.de) (Changing host) |
| 20:07:51 | → | icebreaker joins (michalc@unaffiliated/icebreaker) |
| 20:07:56 | <mniip> | % class Show# (a :: TYPE r) where { show# :: a -> String }; instance Show a => Show# a where { show# = show }; instance Show# Int# where { show# x = show (I# x) ++ "#" } |
| 20:07:56 | <yahb> | mniip: |
| 20:08:00 | <mniip> | % show# 0# |
| 20:08:00 | <yahb> | mniip: "0#" |
| 20:08:13 | <mniip> | this doesn't violate levity polymorphism restrictions |
| 20:08:16 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
| 20:08:33 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 20:08:43 | <koz_> | I admit I was a tad unclear. My intended statement was 'at this present moment, no instances of anything exist for Int# in code'. Not 'there can be no ...'. |
| 20:08:58 | <edmundnoble> | Well now one does ;) |
| 20:09:10 | <koz_> | I generally don't talk of instances in non-constructive terms. :P |
| 20:09:13 | <edmundnoble> | I actually would not be surprised if there was an instance of `Typeable` |
| 20:09:18 | <mniip> | edward is working on fixing that :P |
| 20:09:21 | <koz_> | That's a good question actually. |
| 20:09:28 | <mniip> | % typeRep @Int# |
| 20:09:28 | <yahb> | mniip: ; <interactive>:38:10: error:; * Expected kind `k0 -> *', but `Int#' has kind `TYPE 'GHC.Exts.IntRep'; * In the type `Int#'; In the expression: typeRep @Int#; In an equation for `it': it = typeRep @Int# |
| 20:09:30 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:09:40 | × | pk37 quits (7aa1ce54@122.161.206.84) (Client Quit) |
| 20:09:51 | <mniip> | % Type.Reflection.typeRep @Int# |
| 20:09:51 | <yahb> | mniip: Int# |
| 20:09:55 | <mniip> | so it does |
| 20:10:02 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 268 seconds) |
| 20:10:03 | <dolio> | Having 1700 backpack packages isn't going to fix anything. |
| 20:10:05 | <mniip> | I bet it also has an instance of (~) Int# |
| 20:10:15 | <edmundnoble> | Hahahaha |
| 20:10:19 | <edmundnoble> | Yes true |
| 20:10:30 | <edmundnoble> | Cheeky |
| 20:10:33 | <koz_> | I wonder if it has Coercible? |
| 20:10:39 | <mniip> | sure does |
| 20:10:52 | × | hive-mind quits (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) (Ping timeout: 276 seconds) |
| 20:10:56 | <edmundnoble> | With unliftednewtypes I'd hope so |
| 20:11:04 | <mniip> | % newtype N = N Int# |
| 20:11:04 | <yahb> | mniip: |
| 20:11:05 | <koz_> | TIL! |
| 20:11:09 | → | malumore joins (~malumore@151.62.122.146) |
| 20:11:11 | <koz_> | Thank you #haskell. |
| 20:11:16 | <mniip> | % show# (coerce (N 3#) :: Int#) |
| 20:11:17 | <yahb> | mniip: "3#" |
| 20:11:25 | → | hive-mind joins (~hivemind@rrcs-67-53-148-69.west.biz.rr.com) |
| 20:11:49 | <edmundnoble> | There intuitively seems to be many less useful instances of levity-polymorphic type classes than there are levity-monomorphic ones, for sure |
| 20:12:08 | <mniip> | there are many issues |
| 20:12:28 | <edmundnoble> | The lack of `Num` is the obviously painful one that really takes you into Perl-land when you want to do math on unboxed stuff |
| 20:12:43 | <koz_> | edmundnoble: Yep, been there, and it felt like writing Core. |
| 20:13:07 | <edmundnoble> | I recently mangled my code to do math on unboxed stuff, and let me tell you |
| 20:13:10 | <edmundnoble> | Half the allocations |
| 20:13:15 | <edmundnoble> | Exact same time taken |
| 20:13:22 | <edmundnoble> | Facepalm |
| 20:13:34 | <Uniaika> | Thanks to you all |
| 20:13:40 | <edmundnoble> | Same live set size too :P |
| 20:13:48 | <edmundnoble> | Np uwuni |
| 20:13:56 | → | timCF joins (~i.tkachuk@m91-129-99-43.cust.tele2.ee) |
| 20:14:29 | <koz_> | When do we get 'Sorts are Calling Conventions'? :P |
| 20:14:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 20:14:43 | <Uniaika> | edmundnoble: UwU |
| 20:15:15 | <koz_> | Uniaika: Nyan nyan. |
| 20:15:32 | → | sz0 joins (uid110435@gateway/web/irccloud.com/x-tywxgqqycltuflco) |
| 20:15:38 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 20:15:47 | <timCF> | Hello! I have a question. Is type `Either a b` really a functor? Just thinking that functor class implies 1 type parameter, but here we have 2 - it not matching. |
| 20:15:55 | <Uniaika> | koz_: :D |
| 20:16:05 | <Uniaika> | timCF: nope, Either a b is not a functor |
| 20:16:07 | <Uniaika> | that being said |
| 20:16:09 | <koz_> | timCF: 'Either a b' isn't a functor. 'Either a' is. |
| 20:16:13 | <Uniaika> | (Either a) is a functor |
| 20:16:18 | <koz_> | (for all a, even) |
| 20:16:19 | <Uniaika> | and the type parameter is b |
| 20:16:37 | <Uniaika> | same thing with (a,b) tuples |
| 20:16:50 | <koz_> | And a -> b. |
| 20:16:53 | <Uniaika> | timCF: actually, Viktor Dukhovni authored a nice write-up about it |
| 20:17:00 | <Uniaika> | let me find that for you |
| 20:19:11 | <[exa]> | timCF: the 1 parameter should be "missing" in the definition, the functor (Either a) is in fact something like `Either a _`. That way, `fmap (f :: b->c)` can cleanly turn `((Either a) b)` to `((Either a) c)` without trying to interfere with the "base" definition. I added the parentheses there for clarity. |
| 20:19:16 | → | coot joins (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) |
| 20:20:27 | × | rj_ quits (~x@gateway/tor-sasl/rj) (Remote host closed the connection) |
| 20:20:43 | <timCF> | Uniaika: koz_: [exa]: thanks! I did found definition in Prelude, indeed it matches what you did said https://hackage.haskell.org/package/base-4.14.1.0/docs/src/Data.Either.html#line-133 |
| 20:21:01 | <[exa]> | timCF: if you would like to see the theoretical reason, fire up ghci and, with :k, try to see the kind of: `Int`, `[Int]`, `[]`, `Maybe`, `Maybe Int` and say `Num` and `Functor` |
| 20:24:08 | <Uniaika> | timCF: https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Base.hs#L515-563 |
| 20:24:13 | <Uniaika> | read that |
| 20:25:12 | × | puke quits (~vroom@217.138.252.170) (Remote host closed the connection) |
| 20:26:09 | <monochrom> | You can understand "Either X Y" as "(Either X) Y". |
| 20:26:33 | <Uniaika> | timCF: if you want a typeclass that allows you to have both, that's Bifunctor |
| 20:27:15 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:27:18 | <timCF> | Uniaika: monochrom: thanks! |
| 20:31:21 | <koz_> | Uniaika: Bifunctor <3. |
| 20:31:21 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 265 seconds) |
| 20:31:31 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 20:31:44 | × | mikoto-c1 quits (~anass@gateway/tor-sasl/mikoto-chan) (Quit: mikoto-c1) |
| 20:31:46 | <Uniaika> | koz_: yus <3 |
| 20:32:10 | <monochrom> | trifunctor = 3 |
| 20:32:19 | <koz_> | monochrom: OMG ROFL |
| 20:32:23 | <koz_> | I didn't even see that. |
| 20:32:31 | <geekosaur> | heh |
| 20:32:50 | <koz_> | Thus, Functor <3 |
| 20:32:56 | → | puke joins (~vroom@217.138.252.170) |
| 20:33:02 | <Uniaika> | monochrom: hahaha |
| 20:33:27 | <monochrom> | Where other people have associative memory, I have pun memory. |
| 20:34:10 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-3-8.w83-200.abo.wanadoo.fr) |
| 20:34:34 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 20:35:00 | → | aarvar joins (~foewfoiew@2601:602:a080:fa0:99f2:16e7:abb7:2d80) |
| 20:35:18 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Client Quit) |
| 20:35:32 | × | knupfer quits (~Thunderbi@200116b82c0621002447c2923b633e13.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
| 20:35:32 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds) |
| 20:35:54 | × | hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:de28:da9b:e021:bab6) (Ping timeout: 265 seconds) |
| 20:37:32 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:40:13 | → | st0rm joins (~zz@185.189.114.236) |
| 20:40:27 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
| 20:41:09 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 256 seconds) |
| 20:41:58 | ← | st0rm parts (~zz@185.189.114.236) () |
| 20:42:33 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds) |
| 20:42:36 | × | geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed) |
| 20:42:42 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 20:47:15 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 20:48:22 | <gues62271> | hi, which library should I use for smtp/imap? are there any alternatives for HaskellNet? |
| 20:48:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:48:51 | <[exa]> | gues62271: I guess for SMTP clients and IMAP clients? |
| 20:48:56 | → | hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:4243:d03e:128:ecd8) |
| 20:49:05 | <gues62271> | exactly |
| 20:49:25 | <[exa]> | gues62271: there's Network.Mail.SMTP which could work for 99% usecases |
| 20:50:09 | <gues62271> | cool, it would handle 'sending' |
| 20:50:59 | <[exa]> | highly suggest to use the `sendmail` backend, e-mail configuration gets tricky too often to reimplement it |
| 20:51:03 | × | solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 20:51:14 | <[exa]> | `mime-mail` package helps with making relatively good mails |
| 20:51:26 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:51:49 | → | jneira joins (501e6406@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.100.6) |
| 20:52:09 | <gues62271> | thanks |
| 20:52:12 | <[exa]> | anyway I didn't use any imap library, not sure if there are any either |
| 20:52:24 | <gues62271> | I found HaskellNet... |
| 20:52:36 | <gues62271> | https://github.com/qnikst/HaskellNet |
| 20:52:52 | <[exa]> | hm good, that's kinda integrated |
| 20:52:56 | <gues62271> | not sure if it's something that can be trusted ;) |
| 20:53:27 | <[exa]> | I guess it's good for a prototype |
| 20:53:45 | <[exa]> | reimplementing IMAP in haskell shouldn't be that hard actually |
| 20:53:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 20:54:28 | <[exa]> | like, the mail protocols are a mess, but you can always start by improving this one package |
| 20:55:03 | <gues62271> | ok, will play with that and see what I can do |
| 20:55:08 | <gues62271> | thanks, again |
| 20:55:42 | → | stree joins (~stree@68.36.8.116) |
| 20:56:20 | <shapr> | gues62271: if you start improving HaskellNet, could you link your repo here? |
| 20:56:39 | <gues62271> | sure |
| 20:56:47 | <[exa]> | gues62271: anyway, what's the higher purpose? (there might be better ways :D ) |
| 20:57:50 | <gues62271> | long story short, I want to make simple standalone house monitoring - powerbank + rpi + camera + custom software written in Haskell of course |
| 20:58:15 | <[exa]> | I guess you don't require that it runs on windows right? |
| 20:58:22 | <gues62271> | as the network link is limited there I want to use e-mail for communication in request-response model |
| 20:58:36 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-3-8.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 20:58:55 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-3-8.w83-200.abo.wanadoo.fr) |
| 20:58:56 | <gues62271> | and after move detectors will be installed just some notifications (text, images, sounds and so on) |
| 20:59:21 | <gues62271> | nope, linux of freebsd |
| 20:59:35 | <shapr> | gues62271: sounds nifty |
| 21:00:02 | <gues62271> | but I'm afraid freebsd is not a good Haskell platform now :( |
| 21:00:03 | <[exa]> | if you're on unix, there's a load of reliable tiny utilities for handling mail that you can just execute periodically from haskell and see the nice results |
| 21:00:03 | <gues62271> | pirt |
| 21:00:05 | <gues62271> | pity |
| 21:00:48 | <gues62271> | yeah but that way Haskell would work as some glue script |
| 21:01:00 | <[exa]> | `sendmail` and `fetchmail` would work nicely I guess |
| 21:01:20 | <[exa]> | there's a nice howto on this somewhere around `notmuch` |
| 21:01:30 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 21:01:47 | <[exa]> | mutt has its own mail fetcher, pretty good one iirc |
| 21:02:44 | <gues62271> | ok, will give a chance HaskellNet if it fails will try other backends |
| 21:02:51 | × | elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
| 21:08:12 | × | electricityZZZZ quits (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Quit: Leaving) |
| 21:10:39 | × | Sathiana quits (~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.0) |
| 21:10:40 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds) |
| 21:14:10 | × | Techcable quits (~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in) |
| 21:14:58 | → | Techcable joins (~Techcable@168.235.93.147) |
| 21:19:38 | × | malumore quits (~malumore@151.62.122.146) (Ping timeout: 245 seconds) |
| 21:19:59 | × | Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving) |
| 21:22:04 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 21:25:03 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 21:25:17 | → | Gurkenglas_ joins (~Gurkengla@unaffiliated/gurkenglas) |
| 21:25:31 | → | cheater1 joins (~user@unaffiliated/cheater) |
| 21:25:42 | → | Alleria joins (~textual@mskresolve-a.mskcc.org) |
| 21:26:05 | Alleria | is now known as Guest95 |
| 21:26:20 | × | epicte7us quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 21:26:28 | → | raoul90 joins (~raoulhida@nomnomnomnom.co.uk) |
| 21:26:32 | × | Bergle_2 quits (~Bergle_4@101.165.90.119) (Read error: Connection reset by peer) |
| 21:26:36 | × | raoul9 quits (~raoulhida@nomnomnomnom.co.uk) (Read error: Connection reset by peer) |
| 21:26:39 | × | puffnfresh_ quits (~puffnfres@45.76.124.5) (Ping timeout: 246 seconds) |
| 21:26:39 | → | epicte7us joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 21:26:54 | → | Bergle_2 joins (~Bergle_4@101.165.90.119) |
| 21:26:57 | → | puffnfresh_ joins (~puffnfres@45.76.124.5) |
| 21:26:57 | × | Guest58397 quits (~textual@zrcout.mskcc.org) (Ping timeout: 264 seconds) |
| 21:28:03 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 246 seconds) |
| 21:28:05 | cheater1 | is now known as cheater |
| 21:28:24 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 246 seconds) |
| 21:28:38 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-svypwsrujkkhxdfd) |
| 21:29:09 | → | samebchase-5 joins (~samebchas@51.15.68.182) |
| 21:29:15 | × | samebchase- quits (~samebchas@51.15.68.182) (Ping timeout: 264 seconds) |
| 21:30:11 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:30:46 | × | lockshaw quits (~lockshaw@165.22.163.71) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
| 21:30:48 | × | gothos quits (~gothos@antsy.jhz.name) (Read error: Connection reset by peer) |
| 21:31:05 | → | MVQq joins (~anja@198.254.199.42) |
| 21:31:39 | → | lockshaw joins (~lockshaw@165.22.163.71) |
| 21:32:21 | × | rookie101 quits (~rookie@207.154.204.166) (Ping timeout: 264 seconds) |
| 21:32:48 | × | LKoen quits (~LKoen@194.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 21:32:53 | → | rookie101 joins (~rookie@207.154.204.166) |
| 21:33:44 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 21:34:00 | × | MarcelineVQ quits (~anja@198.254.199.42) (Ping timeout: 246 seconds) |
| 21:35:33 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 21:35:36 | × | codygman` quits (~user@209.251.131.98) (Ping timeout: 256 seconds) |
| 21:35:55 | → | gothos joins (~gothos@antsy.jhz.name) |
| 21:35:56 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:36:00 | → | [1]MrMobius joins (~MrMobius@208.58.206.154) |
| 21:36:11 | → | slack1256 joins (~slack1256@dvc-186-186-101-190.movil.vtr.net) |
| 21:36:56 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 21:38:04 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 21:38:21 | × | MrMobius quits (~MrMobius@208.58.206.154) (Ping timeout: 264 seconds) |
| 21:38:22 | [1]MrMobius | is now known as MrMobius |
| 21:41:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 21:41:42 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:42:23 | → | acidjnk_new joins (~acidjnk@p200300d0c72b9511759421c9ddfcc58f.dip0.t-ipconnect.de) |
| 21:42:44 | × | gues62271 quits (~username@185.234.208.208.r.toneticgroup.pl) (Quit: gues62271) |
| 21:43:18 | × | caubert quits (~caubert@136.244.111.235) (Read error: Connection reset by peer) |
| 21:43:54 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 21:43:55 | → | caubert joins (~caubert@136.244.111.235) |
| 21:44:43 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:45:02 | × | dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0) |
| 21:45:45 | × | Guest95 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 256 seconds) |
| 21:46:14 | × | poscat quits (~poscat@2408:8207:4825:c7c0::1) (Ping timeout: 264 seconds) |
| 21:46:32 | → | poscat joins (~poscat@123.112.148.153) |
| 21:46:58 | × | xlei quits (znc@unaffiliated/xlei) (Excess Flood) |
| 21:47:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 21:48:51 | → | lep_ joins (~lep@94.31.86.183) |
| 21:50:52 | → | xlei joins (znc@unaffiliated/xlei) |
| 21:51:06 | × | zaquest quits (~notzaques@5.128.210.178) (Ping timeout: 264 seconds) |
| 21:51:06 | × | lep-delete quits (~lep@94.31.86.183) (Ping timeout: 264 seconds) |
| 21:51:11 | × | fendor quits (~fendor@178.115.131.140.wireless.dyn.drei.com) (Remote host closed the connection) |
| 21:51:29 | → | zaquest joins (~notzaques@5.128.210.178) |
| 21:53:20 | → | merijn joins (~merijn@83.160.49.249) |
| 21:53:35 | × | cafce25 quits (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 21:54:58 | × | alx741 quits (~alx741@186.178.109.138) (Ping timeout: 265 seconds) |
| 21:55:10 | × | sayola quits (~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
| 21:55:21 | → | knupfer joins (~Thunderbi@mue-88-130-61-178.dsl.tropolys.de) |
| 21:55:41 | → | sayola joins (~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de) |
| 21:57:25 | × | wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 264 seconds) |
| 21:57:25 | × | aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 264 seconds) |
| 21:57:25 | → | aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) |
| 21:58:05 | → | wagle joins (~wagle@quassel.wagle.io) |
| 21:58:09 | × | merijn quits (~merijn@83.160.49.249) (Ping timeout: 246 seconds) |
| 21:58:30 | × | so quits (~so@unaffiliated/so) (Ping timeout: 246 seconds) |
| 21:59:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:59:36 | → | so joins (~so@unaffiliated/so) |
| 22:00:28 | → | Rudd0 joins (~Rudd0@185.189.115.98) |
| 22:00:38 | × | Rudd0 quits (~Rudd0@185.189.115.98) (K-Lined) |
| 22:01:20 | × | supercoven_ quits (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Ping timeout: 240 seconds) |
| 22:03:11 | → | motersen joins (~user@2001-4dd1-d88a-0-5338-d0f4-6eda-2a0f.ipv6dyn.netcologne.de) |
| 22:04:13 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 22:04:27 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:04:42 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:05:05 | × | sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Quit: Leaving) |
| 22:05:10 | → | Rudd0 joins (~Rudd0@185.189.115.103) |
| 22:05:49 | → | sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) |
| 22:07:24 | → | alx741 joins (~alx741@181.196.68.246) |
| 22:08:57 | × | conal quits (~conal@66.115.157.150) (Quit: Computer has gone to sleep.) |
| 22:10:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 22:10:27 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:13:29 | × | Foritus quits (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator") |
| 22:13:58 | → | Foritus joins (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) |
| 22:14:31 | → | cosimone joins (~user@93-47-228-249.ip115.fastwebnet.it) |
| 22:15:09 | → | conal joins (~conal@66.115.157.150) |
| 22:15:39 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 22:16:11 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:19:17 | → | DavidEichmann joins (~david@234.109.45.217.dyn.plus.net) |
| 22:19:59 | <slack1256> | Do BangPatterns do anything on newtypes? |
| 22:21:43 | → | sgibber2018 joins (d055ed90@208.85.237.144) |
| 22:22:07 | → | comerijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:22:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 22:23:41 | hololeap_ | is now known as hololeap |
| 22:26:21 | × | Cathy quits (~Cathy@unaffiliated/cathy) (Ping timeout: 264 seconds) |
| 22:26:44 | <Uniaika> | slack1256: do you know how to use them, first? |
| 22:27:14 | × | comerijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 22:27:29 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:28:48 | <slack1256> | Yep, at runtime they ought not to exist so the isomorphism between Foo undefined and undefined holds. |
| 22:28:55 | → | Cathy joins (~Cathy@unaffiliated/cathy) |
| 22:31:03 | × | knupfer quits (~Thunderbi@mue-88-130-61-178.dsl.tropolys.de) (Ping timeout: 246 seconds) |
| 22:31:05 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 22:31:57 | <Uniaika> | slack1256: do you know about the strictness difference between newtypes and strict data-types ? |
| 22:32:02 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 22:32:23 | → | redmp joins (~redmp@172.58.30.211) |
| 22:32:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 22:33:17 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:33:37 | <slack1256> | Yeah, if you have single datatypes with strictness and use them only on let matching, they equivalent to newtypes. Case expressions don't do work on newtypes. |
| 22:33:55 | × | hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
| 22:34:19 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 22:35:37 | × | redmp_ quits (~redmp@172.58.27.184) (Ping timeout: 256 seconds) |
| 22:38:38 | × | hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:4243:d03e:128:ecd8) (Remote host closed the connection) |
| 22:39:18 | × | SegFaultAX quits (SegFaultAX@unaffiliated/segfaultax) (Quit: ZNC - http://znc.in) |
| 22:39:51 | → | hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:3a03:ce0e:5f24:853e) |
| 22:41:32 | × | Franciman quits (~francesco@host-79-53-62-46.retail.telecomitalia.it) (Quit: Leaving) |
| 22:44:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 22:44:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:45:58 | → | maroloccio joins (~marolocci@pousada3ja.mma.com.br) |
| 22:49:00 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 22:49:19 | × | slack1256 quits (~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection) |
| 22:49:24 | <monochrom> | seq and therefore BangPatterns does something to newtype too. |
| 22:49:48 | <monochrom> | % newtype MonoN = MonoN Int deriving (Show, Eq) |
| 22:49:48 | <yahb> | monochrom: |
| 22:50:13 | <monochrom> | > let { n :: MonoN; !n = undefined } in () |
| 22:50:15 | <lambdabot> | error: |
| 22:50:16 | <lambdabot> | Not in scope: type constructor or class ‘MonoN’ |
| 22:50:24 | <monochrom> | oops wrong bot |
| 22:50:30 | <monochrom> | % let { n :: MonoN; !n = undefined } in () |
| 22:50:30 | <yahb> | monochrom: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:43:24 in interactive:Ghci17 |
| 22:50:35 | <monochrom> | % let { n :: MonoN; n = undefined } in () |
| 22:50:35 | <yahb> | monochrom: () |
| 22:50:54 | <monochrom> | > seq (undefined :: MonoN) () |
| 22:50:55 | <lambdabot> | error: |
| 22:50:55 | <lambdabot> | Not in scope: type constructor or class ‘MonoN’ |
| 22:51:00 | <monochrom> | % seq (undefined :: MonoN) () |
| 22:51:00 | <yahb> | monochrom: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:45:6 in interactive:Ghci18 |
| 22:51:38 | <Axman6> | is the question if !(x :: Identity a) the same as (Identity !x) |
| 22:51:44 | <monochrom> | These bottoms also happen if you s/undefined/MonoN undefined/ |
| 22:54:47 | <monochrom> | % let { !(MonoN x) = undefined } in () |
| 22:54:47 | <yahb> | monochrom: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:46:20 in interactive:Ghci18 |
| 22:54:56 | <monochrom> | % let { (MonoN !x) = undefined } in () |
| 22:54:56 | <yahb> | monochrom: () |
| 22:55:00 | <monochrom> | Different |
| 22:55:42 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 22:56:10 | <Axman6> | that genuinely surprises me |
| 22:56:34 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:56:37 | <monochrom> | For maximum accuracy, you can always translate ! back to seq (tedious but the GHC user's guide has it), then take note that both "seq (undefined :: MonoN) ()" and "seq (MonoN undefined) ()" both bomb. |
| 22:57:18 | <monochrom> | What doesn't bomb is "case undefined of MonoN _ -> ()" |
| 22:57:29 | <monochrom> | % case undefined of MonoN _ -> () |
| 22:57:29 | <yahb> | monochrom: () |
| 22:57:48 | <monochrom> | So seq is a bit different from pattern matching for newtypes. |
| 22:58:35 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-3-8.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 22:58:55 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-3-8.w83-200.abo.wanadoo.fr) |
| 22:59:59 | → | Alleria joins (~textual@2603-7000-3040-0000-7953-b284-70cd-9e2c.res6.spectrum.com) |
| 23:00:23 | Alleria | is now known as Guest217 |
| 23:01:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 23:02:17 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:02:22 | × | m0rphism quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Quit: WeeChat 2.9) |
| 23:03:57 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 256 seconds) |
| 23:04:27 | <monochrom> | This subtlety is all implied by the Haskell Report. One clause says MonoN bottom = bottom. Another clause says seq bottom () = bottom, so MonoN bottom is included. Lastly, the pattern matching clauses have a corner case for "(case bottom of MonoN pat -> e) = (case bottom of pat -> e)" but my pat is _ |
| 23:11:20 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 23:12:26 | → | Tario joins (~Tario@201.192.165.173) |
| 23:13:25 | × | coot quits (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 23:13:26 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 23:13:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:14:32 | × | motersen quits (~user@2001-4dd1-d88a-0-5338-d0f4-6eda-2a0f.ipv6dyn.netcologne.de) (Ping timeout: 240 seconds) |
| 23:14:53 | hackage | kempe 0.2.0.0 - Kempe compiler https://hackage.haskell.org/package/kempe-0.2.0.0 (vmchale) |
| 23:15:54 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 23:15:57 | × | molehillish quits (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) (Remote host closed the connection) |
| 23:16:59 | → | stree joins (~stree@68.36.8.116) |
| 23:17:56 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds) |
| 23:18:52 | × | xff0x quits (~xff0x@2001:1a81:520b:5100:334b:8a6e:b179:1c97) (Ping timeout: 260 seconds) |
| 23:19:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 23:19:45 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:20:17 | → | xff0x joins (~xff0x@2001:1a81:522e:8700:e7a1:c2d3:2b7b:9821) |
| 23:24:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 23:25:51 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:29:42 | × | canta quits (~canta@cvm0.d5k.one) (Quit: WeeChat 2.8) |
| 23:30:51 | → | molehillish joins (~molehilli@2600:8800:8d06:1800:e0d0:506b:db48:8ec8) |
| 23:31:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 23:31:26 | → | SegFaultAX joins (SegFaultAX@unaffiliated/segfaultax) |
| 23:31:45 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:34:21 | → | d34df00d joins (~d34df00d@104-14-27-213.lightspeed.austtx.sbcglobal.net) |
| 23:35:00 | × | Guest5530 quits (beed0de4@gateway/web/cgi-irc/kiwiirc.com/ip.190.237.13.228) (Quit: Connection closed) |
| 23:35:26 | → | elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 23:37:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 23:37:27 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:38:00 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-svypwsrujkkhxdfd) (Quit: Connection closed for inactivity) |
| 23:39:53 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 23:40:51 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 23:42:37 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 23:43:03 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 23:43:21 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:43:27 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 23:47:11 | → | kderme joins (4fa6552d@ppp079166085045.access.hol.gr) |
| 23:48:54 | × | DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (Ping timeout: 260 seconds) |
| 23:49:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 23:49:10 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 23:49:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:51:28 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 23:53:39 | → | aplainze1akind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 23:53:56 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 244 seconds) |
| 23:54:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 23:54:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:58:35 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-3-8.w83-200.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 23:58:55 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-3-8.w83-200.abo.wanadoo.fr) |
| 23:59:10 | × | Hi-Angel quits (~constanti@broadband-188-32-15-112.ip.moscow.rt.ru) (Ping timeout: 260 seconds) |
| 23:59:57 | × | redmp quits (~redmp@172.58.30.211) (Ping timeout: 264 seconds) |
| 23:59:57 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
All times are in UTC on 2021-03-18.