Home liberachat/#haskell: Logs Calendar

Logs on 2021-08-19 (liberachat/#haskell)

00:01:05 × charukiewicz quits (~quassel@irouteince04.i.subnet.rcn.com) (Ping timeout: 248 seconds)
00:01:14 charukiewicz joins (~quassel@irouteince04.i.subnet.rcn.com)
00:04:40 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
00:07:20 × machinedgod quits (~machinedg@24.105.81.50) (Read error: Connection reset by peer)
00:12:33 machinedgod joins (~machinedg@24.105.81.50)
00:15:27 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
00:15:44 lavaman joins (~lavaman@98.38.249.169)
00:20:06 sleblanc joins (~sleblanc@user/sleblanc)
00:26:05 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
00:27:19 × wroathe quits (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Read error: Connection reset by peer)
00:27:26 wroathe joins (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
00:33:38 × doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
00:38:11 lavaman joins (~lavaman@98.38.249.169)
00:38:15 × sqrt2 quits (~ben@80-108-18-7.cable.dynamic.surfer.at) (Ping timeout: 268 seconds)
00:40:24 vysn joins (~vysn@user/vysn)
00:40:50 × lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
00:42:25 sqrt2 joins (~ben@80-108-18-7.cable.dynamic.surfer.at)
00:43:29 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
00:46:40 × t0zy quits (~t0zy@49.207.220.61) (Ping timeout: 240 seconds)
00:47:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:49:09 t0zy joins (~t0zy@2402:3a80:d12:8770::2c65:2fe3)
00:52:01 × wroathe quits (~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Ping timeout: 252 seconds)
00:55:40 × t0zy quits (~t0zy@2402:3a80:d12:8770::2c65:2fe3) (Ping timeout: 240 seconds)
00:56:06 t0zy joins (~t0zy@49.207.220.61)
00:59:35 slack1256 joins (~slack1256@191.126.227.64)
01:02:24 bitmapper joins (uid464869@id-464869.tooting.irccloud.com)
01:14:14 lavaman joins (~lavaman@98.38.249.169)
01:14:37 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
01:18:40 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
01:19:41 × Atum_ quits (~IRC@user/atum/x-2392232) (Quit: Atum_)
01:22:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
01:22:59 mmalter joins (~mmalter@88.171.43.194)
01:23:21 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
01:23:54 × mmalter quits (~mmalter@88.171.43.194) (Client Quit)
01:25:06 mmalter joins (~mmalter@88.171.43.194)
01:26:06 × mmalter quits (~mmalter@88.171.43.194) (Client Quit)
01:26:12 justsomeguy joins (~justsomeg@user/justsomeguy)
01:26:49 blankhart joins (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net)
01:26:57 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
01:27:16 mmalter joins (~mmalter@88.171.43.194)
01:36:01 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
01:43:36 × slack1256 quits (~slack1256@191.126.227.64) (Ping timeout: 268 seconds)
01:46:42 × xff0x quits (~xff0x@2001:1a81:5394:ea00:e22:1073:dc28:9e41) (Ping timeout: 245 seconds)
01:48:42 xff0x joins (~xff0x@2001:1a81:53ce:4000:6528:22c2:50dd:57c1)
01:56:10 × derelict quits (~derelict@user/derelict) (Ping timeout: 240 seconds)
01:56:40 × ChanServ quits (ChanServ@services.libera.chat) (*.net *.split)
02:00:40 Erutuon joins (~Erutuon@71-34-3-64.mpls.qwest.net)
02:05:30 ChanServ joins (ChanServ@services.libera.chat)
02:05:30 erbium.libera.chat sets mode +o ChanServ
02:10:40 × td_ quits (~td@94.134.91.158) (Ping timeout: 240 seconds)
02:11:35 × mnrmnaugh quits (~mnrmnaugh@68.162.206.56) (Remote host closed the connection)
02:12:53 mnrmnaugh joins (~mnrmnaugh@68.162.206.56)
02:12:54 td_ joins (~td@94.134.91.25)
02:12:59 derelict joins (~derelict@user/derelict)
02:20:13 meinside_ joins (uid24933@id-24933.brockwell.irccloud.com)
02:21:25 FinnElija is now known as Guest603
02:21:25 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:21:25 × Guest603 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (silver.libera.chat (Nickname regained by services)))
02:21:25 finn_elija is now known as FinnElija
02:22:07 dzdcnfzd joins (~anthonygr@104.132.34.65)
02:22:40 <dzdcnfzd> I don't know if this question makes sense but I am trying to figure out what the name for a concept I'm sure exists is.
02:23:40 <dzdcnfzd> Imagine I wanted to write something like the bind operator but I wanted the first argument to be either an `a` or an `m a`
02:24:03 <dzdcnfzd> But I didn't want to have to wrap my value in an Either
02:25:17 <dzdcnfzd> Obviously there's overloading, but the thing about overloading is it doesn't necessarily generalize
02:26:28 <dzdcnfzd> If I have a function with 5 arguments, each of which can be either `m a` or `a`, that would imply 2^5 overloads (plus I don't think overloading would even work in haskell)
02:26:57 <dzdcnfzd> Is there a name for the language feature I'm trying to get at?
02:29:48 <arahael> dzdcnfzd: Define Functor or something for it, then.
02:29:58 <arahael> dzdcnfzd: Ie, an instance of Functor a.
02:30:12 <monochrom> Sorry, I am a very strong-and-static typing person, I cannot take that feature seriously, I would call it Telepathy, or at best The-Mess-Known-As-C++.
02:31:06 <monochrom> My solution is that I only need the standard bind, and I can always hand-write "return x >>= k" if x::X rather than x::M X.
02:31:55 <dzdcnfzd> monochrom: What is the benefit?
02:32:38 <monochrom> It does not need a high level of C++ telepathy?
02:32:46 <monochrom> KISS?
02:33:10 <dzdcnfzd> I have never heard the term C++ telepathy before
02:34:08 <monochrom> I gather that the mass would call it magic.
02:35:45 <dzdcnfzd> what I don't get is that it seems like you could do this very simply using a union type, but then you'd have to explicitly wrap everything in a union type
02:36:16 <dzdcnfzd> Which seems like a lot of boilerplate
02:36:33 <dzdcnfzd> arahael: I'm trying to come up with the code for it
02:37:18 <arahael> instance Functor a where fmap ... (something like that?)
02:37:46 <dzdcnfzd> No, I mean for the overloaded function
02:38:21 <dzdcnfzd> We have class Liftable m
02:38:31 <dzdcnfzd> where lift :: a -> m a↓
02:40:02 <monochrom> "return :: Monad a => a -> m a" already exists.
02:41:11 <dzdcnfzd> Yeah, but that's sort of my point. If you want to write `overloader :: (a or m a) -> (b or m b) -> m c` I don't know what the type signature is
02:42:54 <shachaf> This is like when people in dynamically-typed languages have a function that takes either a thing or a list of things, based on type dispatch.
02:44:25 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
02:44:42 <shachaf> It mostly just makes worse APIs in that situation, and this sounds like the same sort of thing.
02:46:10 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
02:46:15 <dzdcnfzd> shachaf: I don't immediately see why it would make a worse API for a bind-like operator
02:46:59 <Cale> dzdcnfzd: There's a bit of a problem in that it can be ambiguous whether you meant to use ordinary (>>=), or you meant to apply return to the argument, in the case that it *does* have a type like m t, since that could still just be the a
02:47:35 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
02:47:36 <Cale> It's possible (and sometimes desirable) to have types like m (m a)
02:48:01 <dzdcnfzd> Cale: Agree. I can't figure out if that's a fatal objection though. There are lots of times where the compiler can't figure out the types without explicit typing, so maybe sometimes you just have to specify?
02:48:38 <Cale> Well, you could make this kind of thing happen with overlapping instances, but I wouldn't recommend it.
02:50:43 <dzdcnfzd> Cale: Interesting. Reading.
02:51:25 <dzdcnfzd> I should note I'm not trying to do this right now. I was just wondering about it because it seems like an interesting idea that could cut down on boilerplate
02:51:48 <Cale> When do you ever write return v >>= (\k -> ...) anyway?
02:51:57 <dzdcnfzd> Lots!
02:51:59 <Cale> You could always just have written let k = v in ...
02:52:31 <Cale> That's one of the monad laws, so it's guaranteed to be a valid simplification
02:53:55 <dzdcnfzd> No, you're correct now that I think. To be honest with you, I'm actually thinking about a Java-library, not haskell
02:54:13 keutoi joins (~keutoi@157.48.212.99)
02:54:52 × alx741 quits (~alx741@181.196.69.234) (Quit: alx741)
02:55:20 <dzdcnfzd> A java futures library that has an andThen(Promise<T>...) call overloaded on the nunber of promises
02:56:11 <dzdcnfzd> frequently you run into a situation where one or two of your parameters is just a T, and not a Promise<T>
02:56:59 <dzdcnfzd> So I was trying to think about what would be required in a language to make this simpler
02:58:43 <Cale> Shouldn't there be an easy way to make a promise that's immediately satisfied?
02:59:23 <dzdcnfzd> There is, but it is disfavored for reasons I actually do not understand
02:59:50 <Cale> Well, also...
02:59:52 <dzdcnfzd> People say it screws up refactors or something
02:59:56 <Cale> If I understand what andThen is
03:00:01 <Cale> Is that bind?
03:00:01 × haasn quits (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
03:00:12 <Axman6> Anyone ever wish that type equality had its own language extension? Needuing TypeFamilies or GADTs to do foo ~ bar seems like overkill
03:00:12 <dzdcnfzd> It is precisely bind
03:00:30 <dzdcnfzd> but with more than 1 argument
03:00:39 <dzdcnfzd> Because there's no nice do-notation
03:00:43 <Cale> hmm
03:00:47 <dzdcnfzd> Because Java
03:01:03 <dzdcnfzd> So the let- strategy doesn't work
03:01:05 <Cale> Axman6: Maybe, though you kind of need one of those extensions to make it useful, don't you?
03:01:21 <Cale> dzdcnfzd: Just applying the function doesn't work?
03:01:37 <Axman6> it's also useful when doing type class based type nonsense too
03:01:48 <Cale> Maybe I don't understand what the multiple-arguments version means
03:02:04 <joeyh> one way you can make overloading scale is with a helper function. start with class Conv a b where conv :: a -> b and then use that to make the helper function x & y = x (conv y) and that allows writing eg: foo & a & b & c & d
03:02:04 haasn joins (~nand@haasn.dev)
03:02:18 <Cale> Axman6: ahhh... yeah, to make instances that commit early and then complain if the type doesn't match
03:02:31 <dzdcnfzd> you mean andThen(promiseValue1, Promise.of(barValue1))...
03:03:07 <dzdcnfzd> joeyh: ooh, clever
03:03:32 <Cale> dzdcnfzd: Like, let's say you have some known value v, and you wanted to write mkPromise(v).andThen(foo), couldn't you always just write foo(v) ?
03:04:01 <monochrom> But foo will not have a function type. Because Java.
03:04:01 <Cale> dzdcnfzd: I'm not sure what the next argument to andThen might mean though...
03:04:15 <Cale> monochrom: Surely it's got to be something callable?
03:04:16 <joeyh> you will need FlexibleInstances to implement the Conv type class. Also all the good punctuation is taken :P
03:04:32 <Cale> Someone link the documentation :D
03:05:23 <Cale> foo.apply(v)?
03:05:24 <dzdcnfzd> Cale: Sorry, the full API is: antThen(Promise<T1> x1, Promise<T2> x2, ..., Function<T1, T2, ...., Promise<S> transform)
03:05:37 <dzdcnfzd> Missed a bracket there
03:05:44 <dzdcnfzd> Function<T1, T2, ...., Promise<S>> transform
03:05:53 <Cale> ahh, it's like liftMn
03:06:02 <Cale> Or <$> and <*>
03:06:13 <dzdcnfzd> Yes, exactly
03:06:38 <dzdcnfzd> And it produces a Promise<S>
03:06:47 <dzdcnfzd> so you chain the calls
03:07:02 × cheater quits (~Username@user/cheater) (Remote host closed the connection)
03:07:21 adam1 joins (~adam@220-136-101-125.dynamic-ip.hinet.net)
03:09:30 <Cale> I guess the trick is that the function which is the last argument is annoying to partially apply to the known values
03:09:31 <monochrom> I would seriously just write like "andThen(x1, unit(10), x3, ..., callback)", or s/unit/whatever the monadic unit of Promise is called in Java/
03:10:05 cheater joins (~Username@user/cheater)
03:10:52 <Cale> Yeah, that's not too bad if you have a known function, the other option being like andThen (x1, x3, ..., (v1,v3,...) -> callback(v1,10,v3,...))
03:11:55 <Cale> If you're writing the continuation inline, then just inlining the known parameter might be easiest
03:12:32 <monochrom> Inlining the known parameter would be what I call "bad for refactoring".
03:13:17 <Cale> Maybe sometimes
03:13:25 <monochrom> "andThen(x1, unit(10), x3, ..., callback)" is good for refactoring because it is a trivial sed to replace "unit(10)" by x2, when one day you have a non-trivial x2.
03:13:32 <Cale> Other times it would be a good refactoring to do
03:14:06 <monochrom> or alternatively if one day x3 needs to be trivialized to unit("hello")
03:14:10 <Cale> Like, if the callback is a thing that only really gets used once and is maybe already written as an inline lambda
03:14:24 <Cale> Then maybe it just has a parameter it shouldn't have
03:14:44 <monochrom> But generally and meta-ly I wouldn't be surprised if the Java community hates the algebraic POV.
03:15:12 × venuex quits (~venue@user/venue) (Quit: was tired)
03:15:47 <monochrom> The algebraic POV says that where you have a >>= you also have a unit, where you have <|> you also have empty, where you have <> you also have mempty. The identity element of the binary operator you care about.
03:17:40 × vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds)
03:17:52 <monochrom> The identity element looks useless, algebra haters will say "why would you even give it a name? it does nothing, you will never use it".
03:18:12 <monochrom> Ah but one day you find yourself needing "if x>0 then identity element else non-trivial thing".
03:18:40 × bgamari quits (~bgamari@72.65.101.163) (Ping timeout: 240 seconds)
03:18:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:18:59 <Cale> I can see where if the unit is sufficiently expensive, then people start having a decent reason to avoid it, but that's something that should probably be fixed.
03:19:02 <monochrom> And it arises from refactoring "if x>0 then last thing else non-trivial thing <> last thing"
03:19:40 bgamari joins (~bgamari@2001:470:e438::1)
03:20:40 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
03:21:56 <monochrom> Java enjoys JIT. There are a lot of more inefficient code people embrace and never question.
03:28:22 <dzdcnfzd> Inlining is what we currently do but I hate it because it makes code 3 times as long
03:28:37 <Cale> Wait, why?
03:29:10 <dzdcnfzd> andThen(promise1, ...., promiseN, (var1, ...., varN) -> nextFunction(var1, ...., varN))
03:29:20 <Cale> Oh, I guess
03:29:29 <dzdcnfzd> vs. andThen (promise1, ... promiseN, this::nextFunction)
03:29:56 <dzdcnfzd> This adds up when you've got 8-15 parameters
03:30:33 <Cale> Yeah, if there's already a fixed function which you could just name, then definitely, I would go with monochrom's approach of applying the unit for your promise monad.
03:31:52 <Cale> If the argument against it is efficiency, it's the difference of constructing a trivial promise vs. constructing a lambda that you otherwise don't need.
03:32:40 <Cale> Both of those should typically be ignorable in terms of cost
03:32:46 <dzdcnfzd> Cale: That's what I wanted to do. Unfortunately, I work at a big shop, and so *gestures at the style guide* is a fairly ironclad argument.
03:32:58 <dzdcnfzd> Style-guide says don't do it so we don't.
03:33:32 <dzdcnfzd> I was more interested in what it would take not to have to make this tradeoff at all
03:33:49 <dzdcnfzd> It's a sort of dynamic operator overloading
03:33:59 <dzdcnfzd> I assumed there was some name for what I was thinking about
03:51:24 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
03:53:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
03:54:40 × adam1 quits (~adam@220-136-101-125.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
04:14:26 zmt01 joins (~zmt00@user/zmt00)
04:15:30 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
04:18:42 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 272 seconds)
04:23:17 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
04:24:07 jpds joins (~jpds@gateway/tor-sasl/jpds)
04:25:10 × sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 268 seconds)
04:33:33 × gethuen quits (uid502979@id-502979.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
04:35:49 × Erutuon quits (~Erutuon@71-34-3-64.mpls.qwest.net) (Changing host)
04:35:49 Erutuon joins (~Erutuon@user/erutuon)
04:36:07 × Erutuon quits (~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
04:36:20 Erutuon joins (~Erutuon@user/erutuon)
04:40:40 adam1 joins (~adam@220-136-103-36.dynamic-ip.hinet.net)
04:46:23 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
04:46:50 jpds joins (~jpds@gateway/tor-sasl/jpds)
04:49:30 lavaman joins (~lavaman@98.38.249.169)
04:51:59 qbt joins (~edun@user/edun)
04:52:03 jacob_ joins (uid513644@id-513644.tinside.irccloud.com)
04:52:40 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
04:52:44 × jacob_ quits (uid513644@id-513644.tinside.irccloud.com) (Client Quit)
04:52:50 × hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection)
04:52:52 rizoid joins (uid513644@id-513644.tinside.irccloud.com)
04:53:12 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
04:53:17 hendursaga joins (~weechat@user/hendursaga)
04:54:10 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
04:55:00 waleee joins (~waleee@h-98-128-228-119.na.cust.bahnhof.se)
04:56:21 × bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
05:02:26 aegon joins (~mike@174.127.249.180)
05:05:40 × frosky quits (~froskyarr@50.7.59.207) (Ping timeout: 240 seconds)
05:16:00 × mousey quits (~skymouse@gateway/tor-sasl/mousey) (Remote host closed the connection)
05:16:11 mousey joins (~skymouse@gateway/tor-sasl/mousey)
05:19:44 ubert joins (~Thunderbi@178.115.48.151.wireless.dyn.drei.com)
05:23:10 × peterhil_ quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
05:26:32 juhp joins (~juhp@128.106.188.220)
05:29:03 × ablutor quits (~quassel@wasscher.com) (Quit: going for vitamine d)
05:30:01 ablutor joins (~quassel@wasscher.com)
05:31:37 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:33:47 × ablutor quits (~quassel@wasscher.com) (Client Quit)
05:34:44 ablutor joins (~quassel@wasscher.com)
05:39:24 × aegon quits (~mike@174.127.249.180) (Quit: leaving)
05:46:55 × retroid_ quits (~retro@5ec19a54.skybroadband.com) (Ping timeout: 258 seconds)
05:48:31 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
05:48:52 Obo joins (~roberto@78.77.166.185)
05:49:04 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:53:22 venue joins (~venue@user/venue)
05:53:23 × venue quits (~venue@user/venue) (Client Quit)
05:57:16 × Obo quits (~roberto@78.77.166.185) (Ping timeout: 252 seconds)
05:59:40 × adam1 quits (~adam@220-136-103-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
06:01:52 adam1 joins (~adam@2001-b011-4007-22b0-dc35-02db-f947-c579.dynamic-ip6.hinet.net)
06:04:17 ishutin joins (~ishutin@92-249-150-163.static.digikabel.hu)
06:07:29 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
06:08:10 × ishutin_ quits (~ishutin@92-249-193-96.pool.digikabel.hu) (Ping timeout: 268 seconds)
06:11:05 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
06:19:28 Erutuon joins (~Erutuon@user/erutuon)
06:20:44 × bgamari quits (~bgamari@2001:470:e438::1) (Quit: ZNC 1.8.1 - https://znc.in)
06:21:35 bgamari joins (~bgamari@2001:470:e438::1)
06:22:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
06:24:00 lortabac joins (~lortabac@62.98.47.131)
06:29:02 gehmehgeh joins (~user@user/gehmehgeh)
06:30:01 vysn joins (~vysn@user/vysn)
06:39:10 × adam1 quits (~adam@2001-b011-4007-22b0-dc35-02db-f947-c579.dynamic-ip6.hinet.net) (Ping timeout: 240 seconds)
06:42:10 × t0zy quits (~t0zy@49.207.220.61) (Ping timeout: 240 seconds)
06:44:49 t0zy joins (~t0zy@2402:3a80:d12:a891::2c85:cca8)
06:45:10 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
06:49:10 × t0zy quits (~t0zy@2402:3a80:d12:a891::2c85:cca8) (Ping timeout: 240 seconds)
06:53:56 t0zy joins (~t0zy@49.207.220.61)
06:55:10 dsrt^ joins (~dsrt@209.65.131.194)
07:01:18 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
07:02:13 fef joins (~thedawn@user/thedawn)
07:06:09 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
07:09:00 nschoe joins (~quassel@178.251.84.79)
07:15:07 adam1 joins (~adam@2001-b011-4007-04cd-6175-2e50-8f28-9242.dynamic-ip6.hinet.net)
07:26:09 jumper149 joins (~jumper149@80.240.31.34)
07:29:40 × azeem quits (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
07:29:57 jgeerds joins (~jgeerds@55d45555.access.ecotel.net)
07:30:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:33:20 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
07:35:17 Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk)
07:36:18 zaquest joins (~notzaques@5.128.210.178)
07:41:03 oxide joins (~lambda@user/oxide)
07:41:13 michalz joins (~michalz@185.246.204.55)
07:41:24 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
07:46:55 mc47 joins (~mc47@xmonad/TheMC47)
07:47:07 kuribas joins (~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be)
07:48:02 × loonycyborg quits (~loonycybo@wesnoth/developer/loonycyborg) (Remote host closed the connection)
07:48:03 acidjnk_new joins (~acidjnk@p200300d0c72b952850c7a959aba8feb6.dip0.t-ipconnect.de)
07:48:29 dschrempf joins (~dominik@92-249-159-252.pool.digikabel.hu)
07:50:11 epolanski joins (uid312403@id-312403.brockwell.irccloud.com)
07:52:07 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
07:55:20 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:55:30 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
07:57:30 loonycyborg joins (~loonycybo@wesnoth/developer/loonycyborg)
08:02:11 chomwitt joins (~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374)
08:03:46 × oxide quits (~lambda@user/oxide) (Quit: oxide)
08:05:25 hendursa1 joins (~weechat@user/hendursaga)
08:05:37 dunj3 joins (~dunj3@2001:16b8:307a:1a00:58ea:8655:f70e:458d)
08:07:35 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:12:49 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
08:13:07 × favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
08:16:37 hegstal joins (~hegstal@2a02:c7f:7604:8a00:8208:62c2:1345:18fb)
08:17:39 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:39 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:17:42 allbery_b is now known as geekosaur
08:19:10 × PinealGlandOptic quits (~PinealGla@37.115.210.35) (Ping timeout: 240 seconds)
08:21:15 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
08:27:15 retroid_ joins (~retro@5ec19a54.skybroadband.com)
08:29:12 <kuribas> WTF is this error? https://gist.github.com/kuribas/90201dd14089bec6b9fd38cd650b9c2a
08:29:38 <kuribas> Do I miss something? Ld_model_turbine is a type...
08:29:47 <kuribas> ah wait, there's a typo there....
08:30:00 <dibblego> typo
08:30:02 <Hecate> yeah, turine
08:30:33 <dibblego> also, aside, I have written this data type, but for manned aircraft i.e. including engine, mount position, etc
08:30:50 <kuribas> Is this because I enabled DataKinds?
08:32:31 × hughjfchen[m] quits (~hughjfche@2001:470:69fc:105::c29d) (Quit: Bridge terminating on SIGTERM)
08:32:31 × polykernel quits (~polykerne@user/polykernel) (Quit: Bridge terminating on SIGTERM)
08:32:31 × SimonWeiss[m] quits (~weiss-dma@2001:470:69fc:105::bebd) (Quit: Bridge terminating on SIGTERM)
08:32:31 × boxscape quits (~boxscape@user/boxscape) (Quit: Bridge terminating on SIGTERM)
08:32:32 × srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM)
08:32:32 × vbeatrice[m] quits (~vbeatrice@2001:470:69fc:105::3ebf) (Quit: Bridge terminating on SIGTERM)
08:32:32 × adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Quit: Bridge terminating on SIGTERM)
08:32:32 × chreekat[m] quits (~bchreekat@2001:470:69fc:105::16b5) (Quit: Bridge terminating on SIGTERM)
08:32:32 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
08:32:32 × peddie quits (~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
08:32:32 × jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Quit: Bridge terminating on SIGTERM)
08:32:32 × jaror[m] quits (~jaror@2001:470:69fc:105::265) (Quit: Bridge terminating on SIGTERM)
08:32:33 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM)
08:32:33 × the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Quit: Bridge terminating on SIGTERM)
08:32:33 × psydroid quits (~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM)
08:32:33 × OndejSkup[m] quits (~mimivxmat@2001:470:69fc:105::c300) (Quit: Bridge terminating on SIGTERM)
08:32:33 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM)
08:32:33 × yin[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM)
08:32:33 × dminuoso[m] quits (~dminuosom@2001:470:69fc:105::33bb) (Quit: Bridge terminating on SIGTERM)
08:32:33 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM)
08:32:33 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM)
08:32:33 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM)
08:32:33 × afotgkmnzj7asv3r quits (~afotgkmnz@2001:470:69fc:105::c24b) (Quit: Bridge terminating on SIGTERM)
08:32:33 × Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM)
08:32:33 × PotatoHatsue quits (~berberman@2001:470:69fc:105::b488) (Quit: Bridge terminating on SIGTERM)
08:32:33 × Dima[m] quits (~reddima10@2001:470:69fc:105::366) (Quit: Bridge terminating on SIGTERM)
08:32:33 × fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Quit: Bridge terminating on SIGTERM)
08:32:33 × stoicswe[m] quits (~deadlette@2001:470:69fc:105::d277) (Quit: Bridge terminating on SIGTERM)
08:32:33 × soft quits (~soft-matr@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM)
08:32:34 × dualinverter[m] quits (~dualinver@2001:470:69fc:105::16a7) (Quit: Bridge terminating on SIGTERM)
08:32:34 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
08:32:34 × CyrusT[m] quits (~cyrustcru@2001:470:69fc:105::306e) (Quit: Bridge terminating on SIGTERM)
08:32:34 × jkachmar quits (~jkachmar@2001:470:69fc:105::c72d) (Quit: Bridge terminating on SIGTERM)
08:32:34 × denbrahe[m] quits (~denbrahem@2001:470:69fc:105::19c0) (Quit: Bridge terminating on SIGTERM)
08:32:34 × kevin[m]123 quits (~pnotequal@2001:470:69fc:105::a54) (Quit: Bridge terminating on SIGTERM)
08:32:34 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Quit: Bridge terminating on SIGTERM)
08:32:34 × Drew[m]1 quits (~drewefenw@2001:470:69fc:105::c8c4) (Quit: Bridge terminating on SIGTERM)
08:32:34 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM)
08:32:34 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM)
08:32:34 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM)
08:32:34 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM)
08:32:34 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Bridge terminating on SIGTERM)
08:32:34 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (Quit: Bridge terminating on SIGTERM)
08:32:34 × andreabedini[m] quits (~andreabed@2001:470:69fc:105::c821) (Quit: Bridge terminating on SIGTERM)
08:32:34 × ac quits (~aloiscoch@2001:470:69fc:105::65) (Quit: Bridge terminating on SIGTERM)
08:32:35 × deuslambda[m] quits (~deuslambd@2001:470:69fc:105::c749) (Quit: Bridge terminating on SIGTERM)
08:32:35 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
08:32:35 × Tisoxin quits (~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
08:32:35 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
08:32:35 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM)
08:32:35 × kadoban quits (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
08:32:35 × lwe[m] quits (~dendrumat@2001:470:69fc:105::2f9b) (Quit: Bridge terminating on SIGTERM)
08:32:35 × Deide quits (~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
08:32:35 × sm quits (~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
08:32:35 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
08:32:35 × Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (Quit: Bridge terminating on SIGTERM)
08:32:36 × wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (Quit: Bridge terminating on SIGTERM)
08:32:36 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
08:32:36 × kar1 quits (~kar1@2001:470:69fc:105::c308) (Quit: Bridge terminating on SIGTERM)
08:32:36 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Quit: Bridge terminating on SIGTERM)
08:32:36 × jophish quits (~jophish@2001:470:69fc:105::670) (Quit: Bridge terminating on SIGTERM)
08:32:36 × fakehacker[m] quits (~fakehacke@2001:470:69fc:105::b5f0) (Quit: Bridge terminating on SIGTERM)
08:32:36 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
08:32:37 × rednaZ[m] quits (~r3dnazmat@2001:470:69fc:105::ba70) (Quit: Bridge terminating on SIGTERM)
08:32:37 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (Quit: Bridge terminating on SIGTERM)
08:32:37 × ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Quit: Bridge terminating on SIGTERM)
08:32:37 × Teohehim[m] quits (~teocmatri@2001:470:69fc:105::d327) (Quit: Bridge terminating on SIGTERM)
08:32:37 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Bridge terminating on SIGTERM)
08:32:37 × siraben quits (~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
08:32:38 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM)
08:32:44 × JavierNeira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
08:32:44 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM)
08:32:44 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
08:32:44 × RohitGoswami[m] quits (~rgoswamim@2001:470:69fc:105::16cc) (Quit: Bridge terminating on SIGTERM)
08:32:44 × hsek[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Quit: Bridge terminating on SIGTERM)
08:32:44 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
08:32:44 × jakefromstatefar quits (~jakefroms@2001:470:69fc:105::15ef) (Quit: Bridge terminating on SIGTERM)
08:32:44 × jchia[m] quits (~jchiamatr@2001:470:69fc:105::c50b) (Quit: Bridge terminating on SIGTERM)
08:32:44 × infinisil quits (~infinisil@2001:470:69fc:105::ff8) (Quit: Bridge terminating on SIGTERM)
08:32:44 × aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (Quit: Bridge terminating on SIGTERM)
08:32:44 × thonoht[m] quits (~thonohtma@2001:470:69fc:105::d7be) (Quit: Bridge terminating on SIGTERM)
08:32:44 × Magnus[m] quits (~magthetch@2001:470:69fc:105::d1a7) (Quit: Bridge terminating on SIGTERM)
08:32:44 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
08:32:44 × MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Quit: Bridge terminating on SIGTERM)
08:32:51 <kuribas> dibblego: you mean my datatype?
08:33:16 Erutuon joins (~Erutuon@user/erutuon)
08:35:52 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
08:36:18 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:37:05 <kuribas> dibblego: it's part of a specification for wind turbines...
08:37:06 ac joins (~aloiscoch@2001:470:69fc:105::65)
08:37:18 jchia[m] joins (~jchiamatr@2001:470:69fc:105::c50b)
08:37:18 sm joins (~sm@plaintextaccounting/sm)
08:37:18 MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22)
08:37:30 dualinverter[m] joins (~dualinver@2001:470:69fc:105::16a7)
08:37:30 jaror[m] joins (~jaror@2001:470:69fc:105::265)
08:37:30 fgaz joins (~fgaz@2001:470:69fc:105::842)
08:37:30 peddie joins (~peddie@2001:470:69fc:105::25d)
08:37:30 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
08:37:30 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
08:37:43 thomasjm[m] joins (~thomasjmm@2001:470:69fc:105::c6d9)
08:37:43 hsek[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
08:37:43 ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2)
08:37:55 jakefromstatefar joins (~jakefroms@2001:470:69fc:105::15ef)
08:37:55 fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db)
08:38:09 bb010g joins (~bb010g@2001:470:69fc:105::9a5)
08:38:21 wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae)
08:38:21 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
08:38:21 ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a)
08:38:21 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
08:38:21 the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f)
08:38:33 adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d)
08:38:33 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
08:38:46 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
08:38:46 soft joins (~soft-matr@2001:470:69fc:105::c75)
08:38:46 kadoban joins (~kadoban@user/kadoban)
08:38:58 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
08:39:00 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
08:39:02 bitonic joins (~bitonic@2001:470:69fc:105::1812)
08:39:02 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
08:39:02 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
08:39:02 jophish joins (~jophish@2001:470:69fc:105::670)
08:39:14 PotatoHatsue joins (~berberman@2001:470:69fc:105::b488)
08:39:14 Ollie[m] joins (~ollieocha@2001:470:69fc:105::41a5)
08:39:14 ixlun joins (~ixlun@2001:470:69fc:105::41b3)
08:39:14 Deewiant joins (~deewiant@2001:470:69fc:105::2fd3)
08:39:14 unclechu joins (~unclechu@2001:470:69fc:105::354)
08:39:26 RohitGoswami[m] joins (~rgoswamim@2001:470:69fc:105::16cc)
08:39:26 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
08:39:26 rednaZ[m] joins (~r3dnazmat@2001:470:69fc:105::ba70)
08:39:28 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
08:39:34 <kuribas> I am making a tool for reading this from CSV and storing into our database model.
08:39:38 yin[m] joins (~zwromatri@2001:470:69fc:105::1d4)
08:39:38 maralorn joins (~maralorn@2001:470:69fc:105::251)
08:39:38 denbrahe[m] joins (~denbrahem@2001:470:69fc:105::19c0)
08:39:50 SimonWeiss[m] joins (~weiss-dma@2001:470:69fc:105::bebd)
08:40:02 dminuoso[m] joins (~dminuosom@2001:470:69fc:105::33bb)
08:40:03 lwe[m] joins (~dendrumat@2001:470:69fc:105::2f9b)
08:40:15 jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae)
08:40:27 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
08:40:28 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
08:40:40 aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9)
08:40:40 hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4)
08:40:40 boxscape joins (~boxscape@user/boxscape)
08:40:53 vbeatrice[m] joins (~vbeatrice@2001:470:69fc:105::3ebf)
08:41:11 Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56)
08:41:32 afotgkmnzj7asv3r joins (~afotgkmnz@2001:470:69fc:105::c24b)
08:41:33 jkachmar joins (~jkachmar@2001:470:69fc:105::c72d)
08:41:33 schuelermine[m] joins (~schuelerm@user/schuelermine)
08:41:56 justosophy[m] joins (~justosoph@2001:470:69fc:105::572f)
08:42:18 kevin[m]1 joins (~pnotequal@2001:470:69fc:105::a54)
08:42:18 CyrusT[m] joins (~cyrustcru@2001:470:69fc:105::306e)
08:42:30 siraben joins (~siraben@user/siraben)
08:42:30 deuslambda[m] joins (~deuslambd@2001:470:69fc:105::c749)
08:42:30 Deide joins (~deide@user/deide)
08:42:30 polykernel joins (~polykerne@user/polykernel)
08:42:42 fakehacker[m] joins (~fakehacke@2001:470:69fc:105::b5f0)
08:42:42 hughjfchen[m] joins (~hughjfche@2001:470:69fc:105::c29d)
08:42:42 srid[m] joins (~sridmatri@2001:470:69fc:105::1c2)
08:42:42 psydroid joins (~psydroid@user/psydroid)
08:42:42 thonoht[m] joins (~thonohtma@2001:470:69fc:105::d7be)
08:42:54 stoicswe[m] joins (~deadlette@2001:470:69fc:105::d277)
08:42:54 OndejSkup[m] joins (~mimivxmat@2001:470:69fc:105::c300)
08:42:54 kar1 joins (~kar1@2001:470:69fc:105::c308)
08:43:06 Teohehim[m] joins (~teocmatri@2001:470:69fc:105::d327)
08:43:06 alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba)
08:43:06 ormaaj joins (~ormaaj@user/ormaaj)
08:43:06 infinisil joins (~infinisil@2001:470:69fc:105::ff8)
08:43:06 Drew[m] joins (~drewefenw@2001:470:69fc:105::c8c4)
08:43:06 andreabedini[m] joins (~andreabed@2001:470:69fc:105::c821)
08:43:06 Magnus[m] joins (~magthetch@2001:470:69fc:105::d1a7)
08:43:06 JavierNeira[m] joins (~jneiramat@2001:470:69fc:105::d729)
08:43:06 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
08:43:07 Tisoxin joins (~ikosit@user/ikosit)
08:43:07 chreekat[m] joins (~bchreekat@2001:470:69fc:105::16b5)
08:43:07 Dima[m] joins (~reddima10@2001:470:69fc:105::366)
08:44:10 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
08:45:04 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
08:45:17 × dunj3 quits (~dunj3@2001:16b8:307a:1a00:58ea:8655:f70e:458d) (Read error: Connection reset by peer)
08:45:27 __monty__ joins (~toonn@user/toonn)
08:51:17 lavaman joins (~lavaman@98.38.249.169)
08:52:39 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:53:39 × aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
08:55:18 kenran joins (~kenran@b2b-37-24-119-190.unitymedia.biz)
08:55:27 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
08:55:34 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer)
08:55:42 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
08:57:07 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
08:59:25 <kenran> In case anyone is using the haskell-mode in Emacs: (How) can I have two separate interactive sessions for, say, a library and its test-suite? Right now, if I'm working with a library module, I can `haskell-process-load-file`, but when I want to do the same thing in a test module of the same cabal package, I seem to need to switch the session target first (which in turn leads to the same problem
08:59:27 <kenran> after switching back to the first buffer).
08:59:59 <kuribas> kenran: idk, but there is also #haskell-emacs
09:01:05 PinealGlandOptic joins (~PinealGla@178-133-143-185.mobile.vf-ua.net)
09:01:29 <kenran> kuribas: oh cool, I didn't know. Thanks, I'll ask there then, seems more fitting
09:02:03 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
09:02:48 aforemny joins (~aforemny@static.248.158.34.188.clients.your-server.de)
09:02:55 <kuribas> kenran: though that was on freenode...
09:03:34 <kenran> kuribas: I see. Just joined it (as you have probably have noticed, being one of the now-6 people there :)
09:03:42 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
09:03:47 × jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 245 seconds)
09:04:09 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
09:06:59 burnside_ joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
09:07:28 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Read error: Connection reset by peer)
09:11:50 lavaman joins (~lavaman@98.38.249.169)
09:12:20 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
09:15:57 azeem joins (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
09:16:28 greenbourne277 joins (~greenbour@2001:4b98:dc2:45:216:3eff:fe8a:bbf0)
09:16:29 × lavaman quits (~lavaman@98.38.249.169) (Read error: Connection reset by peer)
09:16:47 lavaman joins (~lavaman@98.38.249.169)
09:16:57 × greenbourne277 quits (~greenbour@2001:4b98:dc2:45:216:3eff:fe8a:bbf0) (Client Quit)
09:17:07 greenbourne277 joins (~greenbour@2001:4b98:dc2:45:216:3eff:fe8a:bbf0)
09:20:01 × td_ quits (~td@94.134.91.25) (Ping timeout: 248 seconds)
09:23:45 × betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Ping timeout: 248 seconds)
09:27:37 × burnside_ quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
09:28:04 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
09:28:46 mr-red joins (~drd@93-39-151-19.ip76.fastwebnet.it)
09:30:24 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
09:30:40 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 252 seconds)
09:32:17 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
09:36:14 betelgeuse joins (~betelgeus@94-225-47-8.access.telenet.be)
09:37:44 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
09:37:56 × lep quits (~lep@94.31.86.183) (Ping timeout: 252 seconds)
09:39:40 lep joins (~lep@94.31.80.176)
09:43:11 Atum_ joins (~IRC@user/atum/x-2392232)
09:45:29 Obo joins (~roberto@78.77.166.185)
09:45:50 × dschrempf quits (~dominik@92-249-159-252.pool.digikabel.hu) (Ping timeout: 268 seconds)
09:47:10 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 240 seconds)
09:47:31 × PinealGlandOptic quits (~PinealGla@178-133-143-185.mobile.vf-ua.net) (Quit: leaving)
09:48:26 × adam1 quits (~adam@2001-b011-4007-04cd-6175-2e50-8f28-9242.dynamic-ip6.hinet.net) (Quit: WeeChat 3.2)
09:49:21 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
09:50:56 × smitop quits (~smitop@user/smitop) (Read error: Connection reset by peer)
09:51:41 smitop joins (~smitop@user/smitop)
09:52:39 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
09:53:51 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
09:56:47 × polyphem quits (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Ping timeout: 245 seconds)
10:01:20 lavaman joins (~lavaman@98.38.249.169)
10:01:42 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
10:05:15 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
10:05:40 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
10:06:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:08:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:09:40 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
10:10:09 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
10:11:32 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
10:11:58 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
10:13:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
10:14:07 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:16:33 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
10:17:12 <dibblego> kuribas: yes, just similar
10:18:00 <kuribas> dibblego: well, a wind turbine is the direct opposite of an aircraft. One uses wind to create power, the other uses power to create wind :)
10:18:49 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 244 seconds)
10:21:18 <dibblego> I just mean, distinguishing engine type, mount positin, etc
10:21:29 gehmehgeh joins (~user@user/gehmehgeh)
10:25:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
10:25:43 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:25:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:26:01 peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
10:30:10 × lep quits (~lep@94.31.80.176) (Ping timeout: 240 seconds)
10:31:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:31:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:32:06 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
10:33:16 lep joins (~lep@94.31.80.176)
10:34:30 pmk joins (~user@2a02:587:941a:35d9:8f9c:6cb6:67dc:f5e3)
10:34:38 lavaman joins (~lavaman@98.38.249.169)
10:36:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:37:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:38:10 × t0zy quits (~t0zy@49.207.220.61) (Ping timeout: 240 seconds)
10:38:15 × ubert quits (~Thunderbi@178.115.48.151.wireless.dyn.drei.com) (Quit: ubert)
10:38:40 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
10:38:47 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds)
10:42:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
10:42:49 t0zy joins (~t0zy@49.207.220.61)
10:43:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:46:01 polyphem joins (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
10:48:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:48:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:53:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:53:59 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
10:54:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:57:36 × lortabac quits (~lortabac@62.98.47.131) (Quit: WeeChat 2.8)
10:59:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:59:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:01:02 alx741 joins (~alx741@181.196.69.234)
11:05:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:05:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:06:31 td_ joins (~td@94.134.91.118)
11:09:01 dschrempf joins (~dominik@92-249-159-252.pool.digikabel.hu)
11:10:46 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
11:11:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:13:33 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:17:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
11:17:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:22:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
11:22:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:23:32 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
11:24:09 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:26:25 × mr-red quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 248 seconds)
11:27:02 lavaman joins (~lavaman@98.38.249.169)
11:28:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:28:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:29:10 lortabac joins (~lortabac@62.98.47.131)
11:31:13 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
11:33:13 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
11:33:56 × dsrt^ quits (~dsrt@209.65.131.194) (Remote host closed the connection)
11:34:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
11:35:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:38:55 vs^ joins (~vs@209.65.131.194)
11:40:59 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
11:42:00 × Atum_ quits (~IRC@user/atum/x-2392232) (Ping timeout: 244 seconds)
11:42:16 × MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
11:42:54 Atum_ joins (~IRC@user/atum/x-2392232)
11:44:02 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
11:45:58 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
11:47:18 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
11:50:42 × turlando quits (~turlando@user/turlando) (Ping timeout: 258 seconds)
11:55:47 gehmehgeh joins (~user@user/gehmehgeh)
11:56:34 × gehmehgeh quits (~user@user/gehmehgeh) (Client Quit)
11:56:48 gehmehgeh joins (~user@user/gehmehgeh)
12:01:29 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
12:08:06 timCF joins (~timCF@m91-129-108-244.cust.tele2.ee)
12:08:09 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
12:08:35 stiell joins (~stiell@gateway/tor-sasl/stiell)
12:11:09 <timCF> Hello! Is there some easy method to make derived Show instances of my data more readable when ByteString fields/newtypes are presented? Default ByteString Show instance kinda hard to read, I definitely would prefer representation which looks like just list of bytes, for example `[43, 23, 0, 1]`.
12:12:30 <merijn> You shouldn't really be using Show for "readable" things anyway. You'd wanna use a pretty printer for that. When it comes to debug readability you can look at stuff like
12:12:34 <merijn> @hackage pretty-show
12:12:34 <lambdabot> https://hackage.haskell.org/package/pretty-show
12:12:41 <merijn> Which can reformat existing Show output
12:12:53 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
12:14:36 <timCF> merijn: so it still can use default derived Show instances? All what I want is to not write them by hand or TH, but have different ByteString representation, literally as list of bytes
12:15:43 <merijn> timCF: There's missing context of when/for what you wanna use this output
12:16:07 <timCF> merijn: for logging
12:17:21 <merijn> timCF: I mean, you could also just use a newtype around the bytestring with a custom implementation of show
12:17:27 <merijn> timCF: Or add a Loggable class
12:18:57 <timCF> merijn: true, but I want also be able to log values of types which I do not control (can't add newtypes that easy to foreign codebase)
12:21:20 <timCF> probably introducing my own ShowDebug class with some smart deriving based on GHC.Generics is the easiest way?
12:22:08 arjun joins (~user@user/arjun)
12:22:34 <merijn> Depends on how frequently you log, because that will probably be slow
12:23:51 <timCF> merijn: Hmm. I'm logging a lot. It definitely should be fast in runtime. And preferrably compile-time as well (otherwise probably TH is the way to go)
12:23:54 <dminuoso> In my experience when Show/pretty-show is not enough, just go write ppr* functions.,
12:24:22 <dminuoso> I hated myself every time I used a typeclass for it and reverted it.
12:25:45 <timCF> dminuoso: merijn: I'll take a look at pretty-show, maybe with it I can somehow make ByteString fields more readable without creating new classes, using GHC.Generics or TH
12:26:15 × Obo quits (~roberto@78.77.166.185) (Quit: WeeChat 2.8)
12:28:17 × arjun quits (~user@user/arjun) (Ping timeout: 248 seconds)
12:30:00 arjun joins (~user@user/arjun)
12:30:45 MoC joins (~moc@user/moc)
12:32:59 × arjun quits (~user@user/arjun) (Remote host closed the connection)
12:34:01 × chomwitt quits (~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374) (Ping timeout: 258 seconds)
12:34:47 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:37:43 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
12:38:15 × dschrempf quits (~dominik@92-249-159-252.pool.digikabel.hu) (Quit: WeeChat 3.2)
12:41:24 acidjnk_new3 joins (~acidjnk@p200300d0c72b950070172e7c3c578523.dip0.t-ipconnect.de)
12:44:30 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:44:37 × acidjnk_new quits (~acidjnk@p200300d0c72b952850c7a959aba8feb6.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
12:46:02 × xsperry quits (~as@user/xsperry) (Ping timeout: 256 seconds)
12:50:30 sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca)
12:57:28 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 252 seconds)
13:03:08 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
13:03:38 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
13:05:27 × kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Quit: WeeChat info:version)
13:06:43 <siers> Is there some operation for Just a +++ Just b = Just (a max b)? the "max" could probably be something generic implemented by some typeclass
13:06:56 × Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection)
13:07:12 <siers> and the rest would be like for monad alternative – Nothing^2 = Nothing, Just + Nothing = Just and vice versa
13:07:13 <merijn> siers: Yes!
13:07:27 <merijn> siers: That's just Monoid + Max newtype :p
13:07:40 <merijn> > Just (Max 1) <> Just (Max 3)
13:07:42 <lambdabot> error:
13:07:42 <lambdabot> • Data constructor not in scope: Max :: t0 -> a
13:07:42 <lambdabot> • Perhaps you meant variable ‘max’ (imported from Data.Ord)error:
13:07:47 <merijn> aww
13:08:01 <merijn> > Just (Data.Semigroup.Max 1) <> Just (Data.Semigroup.Max 3)
13:08:03 <lambdabot> error:
13:08:03 <lambdabot> Not in scope: data constructor ‘Data.Semigroup.Max’
13:08:03 <lambdabot> No module named ‘Data.Semigroup’ is imported.error:
13:08:07 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
13:08:08 <siers> what about Nothing +++ Just 1 = Just 1?
13:08:16 Atum_ joins (~IRC@user/atum/x-2392232)
13:08:30 <merijn> siers: Nothing is the identity elements, so yes :)
13:08:45 <merijn> Or you want Alternative maybe?
13:09:07 <merijn> :t mplus
13:09:08 <lambdabot> MonadPlus m => m a -> m a -> m a
13:09:14 <siers> hm, I was certain it's not going to be a monoid... good that it is
13:09:40 <merijn> % import Data.Semigroup(Max(..))
13:09:40 <yahb> merijn:
13:09:53 <merijn> % Just (Max 1) <> Just (Max 2)
13:09:53 <yahb> merijn: Just (Max {getMax = 2})
13:10:00 <merijn> % Just (Max 1) <> Nothing
13:10:00 <yahb> merijn: Just (Max {getMax = 1})
13:10:10 <siers> nice... I really like monoids
13:10:26 <merijn> You'll need to fmap a getMax over the Maybe in the end, but other than that it just works
13:10:30 <merijn> Everyone loves monoids :)
13:11:52 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
13:12:18 derelict joins (~derelict@user/derelict)
13:12:36 favonia joins (~favonia@user/favonia)
13:13:16 img joins (~img@user/img)
13:14:29 <maerwald> packBytes uses `List.length` on the input, does that mean it won't fuse? https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/src/Data.ByteString.Internal.html#packBytes
13:15:43 Obo joins (~roberto@78.77.166.185)
13:19:29 × azeem quits (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
13:21:00 slowButPresent joins (~slowButPr@user/slowbutpresent)
13:21:07 × sleblanc quits (~sleblanc@user/sleblanc) (Ping timeout: 252 seconds)
13:21:29 xsperry joins (~as@user/xsperry)
13:24:17 × Obo quits (~roberto@78.77.166.185) (Ping timeout: 248 seconds)
13:26:23 <kuribas> Is there a decent defaults package?
13:26:43 <merijn> defaults?
13:26:54 <kuribas> data-default-class is from 2016, and doesn't support many types, like Text, Map, etc...
13:27:18 × acidjnk_new3 quits (~acidjnk@p200300d0c72b950070172e7c3c578523.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
13:27:19 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
13:27:19 <merijn> That's because it's a dumb class
13:27:28 <kuribas> perhaps, but it's useful :)
13:27:42 <merijn> Disagree :p
13:27:51 <kuribas> well, it's useful for me.
13:28:02 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
13:28:07 <merijn> I doubt you'll find anything better, tbh
13:28:10 <kuribas> for example, I need to insert a record into the database, where some fields are ignored.
13:28:29 <kuribas> I want to just fill them with defaults, rather than having to write a value for each.
13:29:00 × jolly quits (~jolly@208.180.97.158) (Quit: Connection closed)
13:29:12 <merijn> I mean, you can accomplish that by just defining a partially applied record that you update or a pattern synonym too?
13:29:19 <merijn> How does the default class help?
13:29:33 <kuribas> not at all
13:30:15 <kuribas> I cannot insert a partially applied record into the database.
13:30:39 <merijn> I mean, just fill the default and update that during parsing
13:30:48 <kuribas> by hand?
13:31:30 <merijn> As opposed to?
13:31:59 ec joins (~ec@gateway/tor-sasl/ec)
13:32:06 <kuribas> using Generic
13:32:08 <kuribas> Generics
13:32:47 <merijn> I don't really see how Generics would help? You need to specify what the defaults are somehow
13:34:42 <kuribas> merijn: it derives them.
13:34:45 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
13:35:00 <kuribas> For example data Foo = Foo Int String => def = Foo 0 ""
13:35:04 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
13:35:19 Vajb joins (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
13:35:32 <merijn> And all your defaults happen to exactly match the default values for all types?
13:35:42 <kuribas> I don't really care what goes there.
13:36:02 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
13:36:03 × pmk quits (~user@2a02:587:941a:35d9:8f9c:6cb6:67dc:f5e3) (Remote host closed the connection)
13:36:07 <kuribas> They should be ignored anyway.
13:36:13 Guest23 joins (~Guest23@5.44.169.233)
13:36:35 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
13:37:00 chomwitt joins (~chomwitt@ppp-94-67-193-240.home.otenet.gr)
13:37:08 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
13:37:31 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
13:40:09 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
13:44:14 lavaman joins (~lavaman@98.38.249.169)
13:46:10 × blankhart quits (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds)
13:48:33 blankhart joins (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net)
13:48:48 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
13:54:10 Guest666 joins (~Guest666@5.44.169.233)
13:54:17 Guest666 parts (~Guest666@5.44.169.233) ()
13:57:10 Guest23 parts (~Guest23@5.44.169.233) ()
13:58:00 Obo joins (~roberto@78.77.166.185)
13:58:03 × Obo quits (~roberto@78.77.166.185) (Client Quit)
13:58:31 × nschoe quits (~quassel@178.251.84.79) (Ping timeout: 252 seconds)
14:00:28 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
14:02:26 glider_ is now known as glider
14:02:28 × jiribenes quits (~jiribenes@rosa.jiribenes.com) (Remote host closed the connection)
14:03:12 jiribenes joins (~jiribenes@rosa.jiribenes.com)
14:03:28 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
14:05:13 venue joins (~venue@user/venue)
14:05:49 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
14:07:05 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
14:08:10 × keutoi quits (~keutoi@157.48.212.99) (Ping timeout: 240 seconds)
14:08:10 ec joins (~ec@gateway/tor-sasl/ec)
14:09:02 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
14:10:18 keutoi joins (~keutoi@106.208.52.146)
14:12:32 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
14:13:22 shriekingnoise joins (~shrieking@186.137.144.80)
14:18:58 × lortabac quits (~lortabac@62.98.47.131) (Quit: WeeChat 2.8)
14:19:59 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
14:20:22 nschoe joins (~quassel@178.251.84.79)
14:20:22 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
14:22:40 × keutoi quits (~keutoi@106.208.52.146) (Ping timeout: 240 seconds)
14:23:04 × timCF quits (~timCF@m91-129-108-244.cust.tele2.ee) (Quit: leaving)
14:23:15 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
14:24:43 keutoi joins (~keutoi@157.47.62.21)
14:26:27 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
14:28:27 × polyphem quits (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Ping timeout: 245 seconds)
14:29:19 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
14:30:07 Sgeo joins (~Sgeo@user/sgeo)
14:36:23 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
14:39:46 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
14:40:27 Sgeo joins (~Sgeo@user/sgeo)
14:41:26 tommd joins (~tommd@75-164-130-101.ptld.qwest.net)
14:42:10 rovert joins (uid389732@id-389732.tooting.irccloud.com)
14:42:31 × keutoi quits (~keutoi@157.47.62.21) (Ping timeout: 252 seconds)
14:42:36 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
14:44:11 keutoi joins (~keutoi@106.208.52.146)
14:45:25 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
14:48:15 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
14:50:06 enoq joins (~enoq@2a05:1141:1f5:5600:eb83:919c:c248:eabe)
14:50:28 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 268 seconds)
14:50:40 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
14:51:21 Sgeo joins (~Sgeo@user/sgeo)
14:52:57 ec joins (~ec@gateway/tor-sasl/ec)
14:54:53 × jespada quits (~jespada@90.254.247.46) (Quit: Textual IRC Client: www.textualapp.com)
14:56:17 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
14:56:18 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
14:56:33 × Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 248 seconds)
14:57:52 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:58:48 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
14:58:50 d0ku joins (~d0ku@178.43.198.70.ipv4.supernova.orange.pl)
15:00:40 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 252 seconds)
15:02:19 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
15:02:24 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
15:02:28 × mousey quits (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
15:03:26 × kuribas quits (~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
15:04:10 mousey joins (~skymouse@gateway/tor-sasl/mousey)
15:09:28 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
15:10:02 Sgeo joins (~Sgeo@user/sgeo)
15:11:54 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
15:14:11 jespada joins (~jespada@90.254.247.46)
15:15:23 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
15:15:59 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
15:19:35 tfeb joins (~tfb@88.98.95.237)
15:20:31 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
15:22:27 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:22:32 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
15:22:45 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
15:26:23 ec joins (~ec@gateway/tor-sasl/ec)
15:28:15 <dsal> It seems that if you're storing data your intend to ignore, it'd be better to not store it.
15:28:19 × byorgey quits (~byorgey@155.138.238.211) (Quit: leaving)
15:29:32 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
15:30:01 hendursaga joins (~weechat@user/hendursaga)
15:30:49 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
15:30:55 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
15:31:26 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
15:31:56 kuribas joins (~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be)
15:32:32 <kuribas> if I run cabal-repl, then load a package (for example :set -package pretty-simple), it has unloaded my project?
15:32:35 <kuribas> How can I load a package without unloading what is there?
15:35:11 × dajoer quits (~david@user/gvx) (Quit: leaving)
15:35:19 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 252 seconds)
15:35:39 polyphem joins (~polyphem@ip5f5ac3ae.dynamic.kabel-deutschland.de)
15:35:40 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 240 seconds)
15:39:12 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 268 seconds)
15:39:42 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
15:39:44 Sgeo joins (~Sgeo@user/sgeo)
15:40:06 <kuribas> it's just very annoying...
15:40:19 <c_wraith> kuribas: add the extra packages when starting the repl with extra -b arguments
15:40:46 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:40:54 <kuribas> c_wraith: so you cannot load into a running ghci?
15:41:37 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
15:42:56 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
15:43:28 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
15:43:44 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
15:43:59 <c_wraith> I mean, I guess you can, then :load modules from your current package afterwards
15:44:13 <c_wraith> but it's always going to clear local definitions
15:44:58 <kuribas> that's kinda ok.
15:46:44 <c_wraith> .... tbh, I kind of think cabal repl's choice to load all exposed modules in your package is weird anyway
15:47:40 <kuribas> does it load the modules, or only make them available?
15:47:42 × tfeb quits (~tfb@88.98.95.237) (Quit: died)
15:49:24 o1lo01ol1o joins (~o1lo01ol1@bl13-86-242.dsl.telepac.pt)
15:49:39 <kuribas> I do :set -package pretty-simple, then import Snapshot.CSV => Could not find module 'Snapshot.CSV'
15:51:04 <kuribas> hmm :l works
15:51:22 <c_wraith> yes, :load is for source, import is for compiled code in packages you depend on
15:51:37 azeem joins (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
15:53:28 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
15:53:40 <kuribas> What if I want to create something in one module, then apply functions from another module to it?
15:53:50 <kuribas> All this is pretty easy in clojure...
15:54:36 econo joins (uid147250@user/econo)
15:54:47 <c_wraith> then... just do it?
15:55:09 <c_wraith> Err. I don't mean in response to the Clojure remark.
15:55:15 <c_wraith> I mean you can load multiple files
15:55:25 <kuribas> load doesn't unload existing bindings?
15:56:12 <c_wraith> it does
15:56:46 × haskl[error] quits (~haskl@98.37.78.63) (Read error: Connection reset by peer)
15:56:48 <kuribas> so I load a value using one module, then the binding is gone when I load the other...
15:56:55 <c_wraith> just load both
15:57:44 wxallowed parts (~d4@151.51.135.6) ()
15:58:24 haskl joins (~haskl@98.37.78.63)
15:58:40 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 240 seconds)
15:59:49 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
16:01:03 Sgeo joins (~Sgeo@user/sgeo)
16:01:16 jakalx joins (~jakalx@base.jakalx.net)
16:02:45 lbseale joins (~lbseale@user/ep1ctetus)
16:02:47 <kuribas> in which case there is no point in using cabal-repl?
16:02:58 <c_wraith> Oh, I see. When you :load multiple source files, only the first one is put in scope automatically. You have to import the rest
16:03:20 <kuribas> except the rest is not anymore availble
16:03:48 <c_wraith> ... are you not using :load with multiple files at once?
16:04:24 <sclv> :mod+ or import also work to manage scope
16:04:48 <c_wraith> because I assure you, you can load and work with multiple modules at once.
16:04:50 × Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection)
16:05:07 <kuribas> hmm, ok then
16:05:49 <c_wraith> :load Foo Bar will make both available, and put Foo into scope. You can import Bar afterwards to have both in scope
16:06:55 Atum_ joins (~IRC@user/atum/x-2392232)
16:07:36 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:07:41 ec joins (~ec@gateway/tor-sasl/ec)
16:08:10 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
16:08:52 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:09:26 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
16:10:42 Sgeo joins (~Sgeo@user/sgeo)
16:13:06 <c_wraith> anyway. Things like this have fewer gotchas in clojure because lisp is based on mutating the global environment all the time anyway. def mutates the global bindings available. The language semantics are centered around mutating the global bindings. Haskell assumes the global bindings are a static list. So if you change them, GHC has chosen the ultra-conservative approach of restarting from scratch, because a lot of things weren't designed to handle
16:13:06 <c_wraith> it otherwise.
16:13:06 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds)
16:13:48 <kuribas> yeah, it would be theoretically possible, but very hard to implement.
16:13:52 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
16:14:04 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
16:15:35 × Atum_ quits (~IRC@user/atum/x-2392232) (Quit: No Ping reply in 180 seconds.)
16:15:36 <c_wraith> It's especially annoying with modules that unsafePerformIO constants into their top-level bindings.
16:16:22 × vs^ quits (~vs@209.65.131.194) (Remote host closed the connection)
16:16:27 <c_wraith> Particularly when it's something like a global MVar that the module uses as a mutex
16:16:44 <c_wraith> Which isn't a great design, but I've seen packages do it
16:17:34 <c_wraith> and I understand the impulse when binding to C libraries that corrupt their own memory when called concurrently
16:17:57 Atum_ joins (~IRC@user/atum/x-2392232)
16:19:01 <c_wraith> Like.. there actually isn't a good alternative in that case. Nothing is safe!
16:19:21 <kuribas> but many lisps also allow side effects at module level.
16:19:27 <kuribas> They just give up on safety...
16:19:39 <kuribas> although probably not segfault...
16:20:03 <c_wraith> but at least module designers think about dynamic loading when writing code that does that.
16:20:18 <c_wraith> Haskell authors tend not to, because it's not a language feature.
16:20:51 <kuribas> well, IMO haskell authors shouldn't do that...
16:21:30 <kuribas> Put mutable variables in global variables.
16:21:53 bebenon joins (~ayurev@8.42.52.35)
16:22:00 <c_wraith> Until dynamic loading gets involved, it's the least-bad way to handle bindings to C libraries that don't provide a thread-safe interface
16:22:11 Cesionaut[m] joins (~cesionaut@2001:470:69fc:105::dd3b)
16:22:27 <kuribas> ah right
16:22:30 <c_wraith> when dynamic loading gets involved, every way to handle bindings to such a library is bad
16:24:01 × mjrosenb_ quits (~mrosenbe@nyc.schrodinger.com) (Ping timeout: 248 seconds)
16:24:05 × Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection)
16:24:27 Atum_ joins (~IRC@user/atum/x-2392232)
16:25:48 mjrosenb joins (~mrosenbe@nyc.schrodinger.com)
16:27:07 cuolin^ joins (~cuolin@209.65.131.194)
16:27:38 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
16:29:09 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
16:30:27 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
16:30:29 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
16:33:00 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
16:34:12 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
16:34:47 × d0ku quits (~d0ku@178.43.198.70.ipv4.supernova.orange.pl) (Remote host closed the connection)
16:35:32 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Client Quit)
16:36:06 × Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection)
16:36:44 × bebenon quits (~ayurev@8.42.52.35) (Quit: Konversation terminated!)
16:37:15 Atum_ joins (~IRC@user/atum/x-2392232)
16:37:28 × nschoe quits (~quassel@178.251.84.79) (Ping timeout: 252 seconds)
16:37:30 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
16:38:25 × Moyst quits (~moyst@user/moyst) (Ping timeout: 248 seconds)
16:40:17 × o1lo01ol1o quits (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Remote host closed the connection)
16:41:12 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:42:23 × sander quits (~sander@user/sander) (Quit: So long! :))
16:42:25 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 258 seconds)
16:43:13 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
16:45:08 Moyst joins (~moyst@user/moyst)
16:45:12 sander joins (~sander@user/sander)
16:45:18 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
16:46:18 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
16:50:40 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
16:54:04 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds)
16:54:04 ec joins (~ec@gateway/tor-sasl/ec)
16:55:01 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
16:59:10 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
17:01:27 geekosaur joins (~geekosaur@xmonad/geekosaur)
17:04:04 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
17:07:05 <siers> is it possible to diff basic types with this? https://hackage.haskell.org/package/gdiff-1.1/docs/Data-Generic-Diff.html#t:Family
17:07:12 <siers> the html anchor was accidental
17:07:51 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
17:08:49 <siers> I was thinking lists of, say, ints
17:09:32 <siers> it seems like a cool idea, but I am a bit too incompetent to figure out how to make use of it as for now
17:10:22 pavonia joins (~user@user/siracusa)
17:12:10 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Ping timeout: 240 seconds)
17:12:21 <siers> ah, the pdf in the docs should have examples, apparently
17:13:16 × catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 272 seconds)
17:13:52 × aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 245 seconds)
17:14:34 × keltono quits (~kelton@x-160-94-179-178.acm.umn.edu) (Ping timeout: 240 seconds)
17:14:53 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
17:15:32 keltono joins (~kelton@x-160-94-179-178.acm.umn.edu)
17:15:39 aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
17:19:07 <siers> it probably doesn't work with lists, because it needs a GADT-defined type, it seems
17:19:48 <lechner> Hi, here is a nice personal article from the Haskell Weekly https://cscalfani.medium.com/why-is-learning-functional-programming-so-damned-hard-bfd00202a7d1
17:21:59 mnrmnaugh is now known as KeziahMason
17:24:40 × spruit11 quits (~quassel@2a02:a467:ccd6:1:2d8e:31e9:d2b5:c97d) (Ping timeout: 240 seconds)
17:25:10 × keutoi quits (~keutoi@106.208.52.146) (Ping timeout: 240 seconds)
17:25:10 doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net)
17:25:28 <tomsmeding> siers: you _could_ use that library, but it's probably too focused on diffing trees (ADTs are trees, really) as opposed to diffing lists
17:25:50 <tomsmeding> like, you could define a GADT that is just a cons list, map a [] list to that, diff, and convert back
17:26:02 <tomsmeding> but you're probably better off using a dedicated algorithm for diffing lists of things
17:27:00 keutoi joins (~keutoi@223.238.95.231)
17:27:15 <tomsmeding> siers: possible alternative: https://hackage.haskell.org/package/patience-0.3/docs/Patience.html (note: just found this lib on hackage, never used it personally)
17:27:39 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
17:27:54 nschoe joins (~quassel@2a01:e0a:8e:a190:54dd:c68a:57b4:f0fd)
17:28:40 <sclv> the standard diff pkg can diff lists of anything with eq
17:29:49 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
17:29:59 <tomsmeding> that would be https://hackage.haskell.org/package/Diff , which is used in https://hackage.haskell.org/package/diff3
17:30:20 stiell joins (~stiell@gateway/tor-sasl/stiell)
17:30:25 <siers> I was wanting to play with a package that can do both lists and trees
17:31:52 × nschoe quits (~quassel@2a01:e0a:8e:a190:54dd:c68a:57b4:f0fd) (Client Quit)
17:33:01 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 252 seconds)
17:34:01 <dsal> lechner: That's interesting. A shorter story, imo, is that unlearning is harder than learning.
17:34:36 <lechner> yeah, i thought it was a bit long too
17:35:48 <lechner> at least i'm not alone
17:36:01 × KeziahMason quits (~mnrmnaugh@68.162.206.56) (Ping timeout: 248 seconds)
17:38:47 spruit11 joins (~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58)
17:39:22 <monochrom> No, it is me who is alone.
17:39:35 <lechner> in what?
17:40:19 <tomsmeding> siers: ah I think you only have to make a suitable description GADT and Family instance to be able to diff lists using gdiff
17:40:25 <monochrom> I learn by starting from clean slate. My mind has some unusual ability of doing that. Resisting from making premature "connection" "analogy" with what I previously knew.
17:41:18 <Lycurgus> O.o
17:41:28 <monochrom> I learned FP on its own terms, not by "how to translate to/from the Pascal and C I have so fondly known"
17:42:13 <Lycurgus> when them was things
17:42:54 <monochrom> Besides, recursion really makes more sense than iteration. Recursion enjoys induction directly. Iteration is more indirect.
17:43:46 <lechner> monochrom: were you motivated by a desire to reduce bugs, or did you like Haskell for other reasons?
17:44:03 <Lycurgus> i remember about a half century ago asking in my first IT job what recursion was
17:44:09 × qbt quits (~edun@user/edun) (Remote host closed the connection)
17:44:20 <Rembane_> Lycurgus: Did they answer with: "See recursion." ?
17:44:29 <monochrom> I am motivated by the desire to reduce bugs all my life. Haskell helps, yes. But not the only way.
17:44:36 qbt joins (~edun@user/edun)
17:44:41 <lechner> Rembane_: that's funny!
17:44:48 <Lycurgus> no it was an RPG shop on 370/120
17:44:52 <monochrom> But Haskell happens to have almost everything I like.
17:44:58 ec joins (~ec@gateway/tor-sasl/ec)
17:45:00 <Lycurgus> or 115 or whatever the low end
17:45:15 <lechner> monochrom: what's missing?
17:45:39 lavaman joins (~lavaman@98.38.249.169)
17:45:40 × spruit11 quits (~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58) (Ping timeout: 258 seconds)
17:46:12 <Rembane_> lechner: ^^
17:46:29 <Rembane_> Lycurgus: Good name.
17:46:31 <monochrom> Sometimes I still like low-level programming. Sometimes I still like parameterized modules.
17:46:40 <monochrom> Sometimes I sitll like real records.
17:46:51 <Lycurgus> we love hs but the masses never will
17:46:59 <maerwald> why should they
17:47:04 <maerwald> let them do python
17:47:11 <Lycurgus> js
17:47:15 <monochrom> Yeah please don't let the mass like Haskell. They would ruin it.
17:47:43 <lechner> rust
17:47:48 <Lycurgus> Rembane_, ty
17:48:00 <maerwald> lechner: that's just a word, you know?
17:48:07 <chreekat[m]> I'm hoping people are joking right now
17:48:18 <monochrom> If the mass would join Haskell, it would not mean they join Haskell's way, it would mean Haskell join their way.
17:48:29 <tomsmeding> siers: seems to work for me! https://paste.tomsmeding.com/3OU31Hii
17:48:51 <maerwald> Many seem obsessed with the idea of broadening adoption of haskell in industry. Sure, more jobs to pick.
17:48:57 <maerwald> But...
17:49:17 <maerwald> Maybe we never should have... what happened to the language meanwhile?
17:49:22 <Lycurgus> hs has cachet where it should in academe
17:49:41 <Lycurgus> in industry it's analogous to smalltalk in the 90s
17:49:47 <Lycurgus> big in finance
17:49:51 <lechner> that's ocaml
17:49:58 <Lycurgus> biggy little
17:50:01 <lechner> -- in academe
17:50:04 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
17:50:10 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
17:50:40 <Lycurgus> i see way more haskell than ocaml in academic projects
17:51:12 <Lycurgus> if it wasn't for coq ... .
17:51:19 chreekat[m] parts (~bchreekat@2001:470:69fc:105::16b5) ()
17:51:55 <lechner> how about the proportion academic/commercial?
17:52:08 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
17:52:14 KeziahMason joins (~mnrmnaugh@68.162.206.56)
17:52:18 <Lycurgus> oh for ocaml yeah maybe
17:53:17 <Lycurgus> also if there were glyphs between proportion and academic they didn make to my client
17:54:16 <Lycurgus> *make it
17:54:22 <lechner> i use a lot of spaces to separate symbols from text
17:54:23 <monochrom> I met SML before Haskell. I then ditched SML for Haskell because "IO Int" is better than "() -> Int".
17:54:27 <Lycurgus> ah
17:54:40 × zaquest quits (~notzaques@5.128.210.178) (Ping timeout: 240 seconds)
17:56:16 <monochrom> John Hughes lazy-list argument also helped.
17:56:42 <monochrom> And if you think about it, those two points must come hand-in-hand, you can't separate them.
17:56:53 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:58:51 zaquest joins (~notzaques@5.128.210.178)
17:59:19 <tomsmeding> you could have a strict language with sensible IO Int, right?
17:59:23 <tomsmeding> IO doesn't use laziness
17:59:33 spruit11 joins (~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58)
18:00:20 <monochrom> You would also find yourself not needing the IO special type.
18:01:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:01:42 <monochrom> Laziness drives drawing a thick line between pure FP and I/O, because lazy I/O would be madness, you want laziness to be confined to the pure FP sublanguage.
18:02:15 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
18:02:44 <monochrom> And wanting a pure FP sublanguage drives wanting laziness, because eager pure FP loses a lot of efficient algorithms, but you can regain some alternative efficient algorithms from laziness.
18:03:03 nschoe joins (~quassel@2a01:e0a:8e:a190:5e4f:be4b:9603:951e)
18:03:21 <lechner> i get that lazy output is crazy, but why lazy input too?
18:04:10 × spruit11 quits (~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58) (Ping timeout: 240 seconds)
18:04:19 <tomsmeding> monochrom: right, you indirectly want laziness because pure FP is less powerful without that?
18:04:29 <tomsmeding> didn't think about that, but makes sense I guess
18:04:38 tfeb joins (~tfb@88.98.95.237)
18:05:05 <monochrom> main = do { putStrLn "please enter the 1st string"; s1 <- getLine; putStrLn "please enter the 2nd string"; s2 <- getLine; putStrLn ("your 2nd string is " ++ s2); putStrLn ("your 1st string is " ++ s1) }
18:05:30 <monochrom> Describe its order of reading input under lazy input.
18:06:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
18:06:06 <monochrom> In fact, you can s/getLine/unsafeInterleaveIO getLine/ to actually try it on a real computer.
18:06:47 <glguy> unsafeInterleaveIO getLine won't be as dramatically lazy as something that was per-character lazy
18:06:52 <lechner> maybe lazy does not mean what i thought
18:06:55 <glguy> so you won't get the full confusing experience
18:07:30 <monochrom> Well yeah I'm too lazy to come up with a character-level example.
18:07:46 <lechner> how can something be evaluated before a character arrives?
18:07:46 spruit11 joins (~quassel@2a02:a467:ccd6:1:1d3f:e608:d1ad:6d58)
18:08:22 jakalx joins (~jakalx@base.jakalx.net)
18:08:25 × hueso quits (~root@user/hueso) (Ping timeout: 268 seconds)
18:08:35 <lechner> that's the wrong way of looking at it
18:08:40 hueso joins (~root@user/hueso)
18:08:42 <monochrom> Oh lazy evaluation has never meant anything that anyone intuitively thought.
18:09:13 <monochrom> It's why everyone doesn't understand lazy evaluation.
18:09:43 <monochrom> Even within just the super-nice pure FP sublanguage.
18:10:06 KeziahMason is now known as mnrmnaugh
18:11:10 × alx741 quits (~alx741@181.196.69.234) (Quit: alx741)
18:12:08 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 268 seconds)
18:12:50 Erutuon joins (~Erutuon@user/erutuon)
18:14:09 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
18:14:41 Sgeo joins (~Sgeo@user/sgeo)
18:14:59 solomon joins (~solomon@cpe-76-168-7-139.socal.res.rr.com)
18:15:23 × solomon quits (~solomon@cpe-76-168-7-139.socal.res.rr.com) (Client Quit)
18:16:24 <lechner> Hi, is this the right way to clean cabal's old build artifacts? https://hackage.haskell.org/package/cabal-clean
18:17:21 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
18:17:54 <lechner> my CABAL_DIR is 14 G
18:18:41 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
18:20:08 <[exa]> rm -fr
18:21:25 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
18:21:33 × hegstal quits (~hegstal@2a02:c7f:7604:8a00:8208:62c2:1345:18fb) (Remote host closed the connection)
18:21:41 <eggplantade> remove (for real)
18:22:49 Sgeo joins (~Sgeo@user/sgeo)
18:23:06 × polyphem quits (~polyphem@ip5f5ac3ae.dynamic.kabel-deutschland.de) (Remote host closed the connection)
18:23:56 <lechner> okay, thanks for confirming!
18:23:58 polyphem joins (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
18:24:09 × polyphem quits (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Remote host closed the connection)
18:24:26 <lechner> unsaid: i came to that conclusion too
18:25:04 <[exa]> I'm doing that pretty much regularly
18:25:19 polyphem joins (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
18:25:22 ec joins (~ec@gateway/tor-sasl/ec)
18:25:28 <[exa]> you usually pay some recompilation time for it, but whatevs.
18:26:00 <lechner> just 'store' ?
18:26:35 <kuribas> oh, overloaded labels are pretty nice! I am replacing "getField @"act_from" site" with "view #act_from site"
18:27:03 <kuribas> looks much cleaner
18:27:55 cryptogainz joins (~cryptogai@130-248-144-85.ftth.glasoperator.nl)
18:29:21 <cryptogainz> hey guys!
18:30:39 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
18:31:14 <kuribas> records are really nice with generic-lens + overloaded labels + duplicate record fields + named field puns + record wild cards
18:33:12 × polyphem quits (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Remote host closed the connection)
18:33:38 polyphem joins (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3)
18:33:39 × polyphem quits (~polyphem@2a02:810d:640:776c:bd0c:a594:ef4e:c3f3) (Remote host closed the connection)
18:34:15 <kuribas> and a little library I wrote to get record subsets, and generic mapping over fields: https://hackage.haskell.org/package/record-operations
18:35:46 × nschoe quits (~quassel@2a01:e0a:8e:a190:5e4f:be4b:9603:951e) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
18:36:42 × amk quits (~amk@176.61.106.150) (Ping timeout: 245 seconds)
18:38:34 × [Kalisto] quits (~nico@user/kalisto/x-8968079) (Ping timeout: 258 seconds)
18:38:52 × tfeb quits (~tfb@88.98.95.237) (Quit: died)
18:40:42 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
18:41:44 × rovert quits (uid389732@id-389732.tooting.irccloud.com) (Quit: Connection closed for inactivity)
18:43:49 × keutoi quits (~keutoi@223.238.95.231) (Quit: leaving)
18:44:03 × Cajun quits (~Cajun@user/cajun) (Quit: Client closed)
18:46:02 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
18:49:35 <cryptogainz> Anyone here looking to Cardano (Plutus) development?
18:51:07 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
18:53:17 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:00:26 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
19:00:26 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (*.net *.split)
19:00:26 × Arsen quits (~arsen@managarm/dev/Arsen) (*.net *.split)
19:00:26 × thaumavorio quits (~thaumavor@thaumavor.io) (*.net *.split)
19:00:26 × idf quits (~idf@198.23.223.146) (*.net *.split)
19:00:26 × ellie quits (~ellie@user/ellie) (*.net *.split)
19:00:26 × Unode quits (~Unode@194.94.44.220) (*.net *.split)
19:00:26 × zyklotomic quits (~ethan@2604:a880:800:10::79f:8001) (*.net *.split)
19:00:26 × hyiltiz quits (~quassel@31.220.5.250) (*.net *.split)
19:00:26 × landonf quits (landonf@mac68k.info) (*.net *.split)
19:00:26 × joeyh quits (joeyh@kitenet.net) (*.net *.split)
19:00:26 × Natch quits (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (*.net *.split)
19:00:26 × piele quits (~piele@tbonesteak.creativeserver.net) (*.net *.split)
19:00:27 × cfebs quits (~cfebs@user/cfebs) (*.net *.split)
19:00:27 × anderson quits (~ande@134.209.221.71) (*.net *.split)
19:00:27 × ft quits (~ft@shell.chaostreff-dortmund.de) (*.net *.split)
19:00:27 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (*.net *.split)
19:00:27 × pierrot quits (~pi@user/pierrot) (*.net *.split)
19:00:27 × dexterfoo quits (dexter@2a01:7e00::f03c:91ff:fe86:59ec) (*.net *.split)
19:00:27 × amirouche quits (~amirouche@user/amirouche) (*.net *.split)
19:00:27 × oxytocat quits (~alloca@user/suppi) (*.net *.split)
19:00:27 × tristanC quits (~tristanC@user/tristanc) (*.net *.split)
19:00:27 × mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split)
19:00:27 × Ferdirand quits (~somebody@2001:4c78:2012:5000::2) (*.net *.split)
19:00:27 × bwe quits (~bwe@2a01:4f8:1c1c:4878::2) (*.net *.split)
19:00:27 × feetwind quits (~mike@user/feetwind) (*.net *.split)
19:00:27 × tdammers quits (~tdammers@77.109.72.213.res.static.edpnet.net) (*.net *.split)
19:00:27 × AWizzArd quits (~code@user/awizzard) (*.net *.split)
19:00:27 × drakonis quits (drakonis@user/drakonis) (*.net *.split)
19:00:27 × mikolaj_ quits (~mikolaj@purple.well-typed.com) (*.net *.split)
19:00:27 × relrod quits (~relrod@redhat/ansible.staff.relrod) (*.net *.split)
19:00:27 × toms quits (~foobar@pogostick.net) (*.net *.split)
19:00:27 × ggvgc quits (~ggVGc@a.lowtech.earth) (*.net *.split)
19:00:33 bwe joins (~bwe@2a01:4f8:1c1c:4878::2)
19:00:34 Ferdirand joins (~somebody@2001:4c78:2012:5000::2)
19:00:35 mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es)
19:00:36 mikolaj joins (~mikolaj@purple.well-typed.com)
19:00:37 hyiltiz joins (~quassel@31.220.5.250)
19:00:38 idf joins (~idf@198.23.223.146)
19:00:39 piele joins (~piele@tbonesteak.creativeserver.net)
19:00:39 relrod joins (~relrod@redhat/ansible.staff.relrod)
19:00:40 <carbolymer> is turtle... unintuitive? I mean, I don't know yet if it's learning curve, or everything is harder to do in turtle than bash :S
19:00:40 tristanC joins (~tristanC@163.172.94.116)
19:00:42 landonf joins (landonf@mac68k.info)
19:00:43 dexterfoo joins (dexter@2a01:7e00::f03c:91ff:fe86:59ec)
19:00:44 tdammers joins (~tdammers@77.109.72.213.res.static.edpnet.net)
19:00:44 [Kalisto] joins (~nico@user/kalisto/x-8968079)
19:00:50 ggvgc joins (~ggVGc@a.lowtech.earth)
19:00:50 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
19:00:51 <[exa]> by turtle you mean logo?
19:00:52 Arsen joins (~arsen@managarm/dev/Arsen)
19:00:53 × tristanC quits (~tristanC@163.172.94.116) (Changing host)
19:00:53 tristanC joins (~tristanC@user/tristanc)
19:00:58 oxytocat joins (~alloca@user/suppi)
19:00:59 feetwind joins (~mike@2406:d500:6:1:216:3cff:fe36:651)
19:01:00 ft joins (~ft@shell.chaostreff-dortmund.de)
19:01:03 drakonis joins (drakonis@2600:3c02::f03c:92ff:fe5e:b8bf)
19:01:04 cfebs joins (~cfebs@user/cfebs)
19:01:07 × feetwind quits (~mike@2406:d500:6:1:216:3cff:fe36:651) (Signing in (feetwind))
19:01:07 feetwind joins (~mike@user/feetwind)
19:01:10 amirouche joins (~amirouche@user/amirouche)
19:01:10 × drakonis quits (drakonis@2600:3c02::f03c:92ff:fe5e:b8bf) (Signing in (drakonis))
19:01:10 drakonis joins (drakonis@user/drakonis)
19:01:11 joeyh joins (~joeyh@kitenet.net)
19:01:17 ellie joins (~ellie@user/ellie)
19:01:29 zyklotomic joins (~ethan@2604:a880:800:10::79f:8001)
19:01:33 pierrot joins (~pi@user/pierrot)
19:01:35 <monochrom> No, turtle does unix shell things but in Haskell.
19:01:35 anderson joins (~ande@134.209.221.71)
19:01:37 feetwind is now known as Guest6642
19:01:39 Unode joins (~Unode@194.94.44.220)
19:01:47 thaumavorio joins (~thaumavor@thaumavor.io)
19:01:54 <carbolymer> what monochrom said
19:02:09 × epolanski quits (uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
19:02:09 [exa] opens the website
19:02:20 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
19:02:33 lambdabot joins (~lambdabot@silicon.int-e.eu)
19:02:33 × lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host)
19:02:33 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
19:02:43 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
19:02:50 <monochrom> I still haven't used shelly or turtle because I took a very brief look (could be unfair) and thought "thanks, I'll go back to bash".
19:04:03 <Lycurgus> zsh want's to be bash these days
19:04:28 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
19:04:35 <[exa]> is it just a bunch of shell-like IO functions?
19:04:47 <Lycurgus> i use it but by running it from bash mostly
19:05:01 jacks2 joins (~bc8167eb@217.29.117.252)
19:05:11 × yushyin quits (eUaFhTnLYh@karif.server-speed.net) (Quit: WeeChat 3.1)
19:05:19 yushyin joins (1GanGy3aFa@karif.server-speed.net)
19:05:34 toms joins (~foobar@pogostick.net)
19:05:50 Natch joins (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se)
19:05:59 <Lycurgus> HsSHellScript is what I seem to have selected
19:06:41 <carbolymer> [exa]: yeah, mostly
19:06:50 <[exa]> carbolymer: it's got no | pipe or I/O < redirections?
19:07:00 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
19:07:40 AWizzArd joins (~code@gehrels.uberspace.de)
19:08:06 <[exa]> oh my
19:08:16 <carbolymer> monochrom: more or less what I think, but then suddenly I find myself doing loops, arrays and default values in bash and I wonder "why am I doing this to myself"
19:08:43 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
19:08:46 × enoq quits (~enoq@2a05:1141:1f5:5600:eb83:919c:c248:eabe) (Quit: enoq)
19:09:06 <[exa]> loops in bash are m'kay if you do them with `while read` or so
19:09:39 <carbolymer> 'while read' = a language without proper loops so let's agree on using those hacks
19:09:59 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:10:58 <[exa]> how's that not a proper loop? it loops here :D
19:11:24 <carbolymer> Lycurgus: and how do you like it? at first glance it seems to have similar amount of boilerplate comparing to turtle
19:12:18 fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
19:12:20 <Lycurgus> carbolymer, not really used yet, just selected prima facie by it's looks compared to the others
19:12:34 <fresheyeball> does anyone know where hls keeps sqlite?
19:12:44 <fresheyeball> I think if I can delete it's sqlite it will start working again
19:12:51 catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
19:12:51 <Lycurgus> i need a shell thing for hs, lisp and prolog and it's the hs choice
19:12:55 <fresheyeball> haskell-language-server-8.6.5: SQLite3 returned ErrorIO while attempting to perform step: disk I/O error
19:13:47 <[exa]> fresheyeball: o man, perhaps check `dmesg`
19:14:15 <fresheyeball> [exa]:I don't understand
19:14:18 <fresheyeball> what is dmesg
19:15:19 <[exa]> sounds like your disk may be slightly failing, checking the kernel log is usually the way to see if it's really disk or something less fatal
19:16:08 <fresheyeball> I don't think so
19:16:13 <fresheyeball> I think the sqlite is corrupted
19:16:31 <fresheyeball> This is a brand new NVMe and has no other indictation of problems
19:16:38 <joeyh> I have seen sqlite fail with that exact message on some filesystems due to problems with locking
19:17:07 <fresheyeball> question is, how to get hls to clean up after itself
19:18:22 jakalx joins (~jakalx@base.jakalx.net)
19:18:27 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
19:19:03 <cryptogainz> Sooo, no one here interested in Cardano/Plutus?
19:19:23 <fresheyeball> cryptogainz: how can I help you?
19:20:04 <fresheyeball> my company writes plutus
19:20:14 <fresheyeball> or writes IN plutus
19:20:55 × urdh quits (~urdh@user/urdh) (Quit: Boom!)
19:20:57 <cryptogainz> Well I'm struggling to understand some Cardano/Plutus notions. Are you familiar with the blockchain itself?
19:21:40 × chomwitt quits (~chomwitt@ppp-94-67-193-240.home.otenet.gr) (Ping timeout: 240 seconds)
19:21:55 <[exa]> cryptogainz: don't ask to ask, just ask
19:22:18 <[exa]> cryptogainz: at worst the question won't be on topic and we'll send you to offtopic channel.
19:22:41 <jacks2> kuribas, do you know about upcoming RecordDotSyntax extension?
19:22:59 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:23:17 <kuribas> jack2: not much...
19:24:06 <kuribas> jack2: looks neat, from what I have seen. But I'll wait until it is in a stable ghc version.
19:24:07 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
19:24:21 <cryptogainz> Well, it's a long question so here it goes. Cardano tokens live natively on the blockchain. Unlike Solidity tokens which are being minted through a smart contract (which includes gimmicks like taxes per tx, etc.) Cardano tokens are pure tokens. After that, you need Plutus smart contracts (or scripts as they call them) to make the tokens "gimmicky". My question is actually, how would that work in practice? I mint a token, I
19:24:21 <cryptogainz> wrote a Plutus script and then what? I send the token to the smart contract address (if there even is such a thing)? Maybe this is offtopic but I don't know who to ask if not Plutus/Haskell devs
19:24:22 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
19:25:43 <[exa]> ok it's slightly offtopic :]
19:25:47 <fresheyeball> cryptogainz: so you can mint tokens
19:26:14 <fresheyeball> they don't need to be related to ADA specifically
19:26:18 <fresheyeball> you can shitcoin
19:26:30 <fresheyeball> keep in mind, you can have arbitrary state
19:26:37 <fresheyeball> that state could be a second ledger
19:27:21 <[exa]> and I'm totally lost in bitcoin jargon it seems
19:27:37 <jacks2> kuribas, it will ship with the next stable version
19:27:40 <cryptogainz> How do you mean they don't need to be related to ADA specifically?
19:28:05 <cryptogainz> Hahaha exa, yea, it's hard to keep up with everything
19:30:50 <sm> cryptogainz: sounds like you got luck and found an expert, but also there's the free plutus training materials
19:31:29 <cryptogainz> Well, I tried the first 3 "lectures" but unfortunately this wasn't explained at all so I was hoping someone here knew the answer before I went through 12-13 extra hours of lectures
19:31:35 <jacks2> kuribas, I don't know how to post links to reddit posts [share link doesn't work], so here's a copy/pasted example. some are not thrilled with this extension, but personally, I can't wait for it. https://pastebin.com/47siAfMk
19:32:15 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Quit: Leaving)
19:32:30 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
19:33:28 <sm> I hear that
19:34:45 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
19:35:29 <kuribas> jacks2: not polluting the namespace with accessor functions will be great.
19:37:55 <jacks2> yes
19:38:30 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:39:14 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
19:40:25 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
19:41:10 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
19:41:10 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
19:43:04 Lord_of_Life_ is now known as Lord_of_Life
19:46:09 × aman quits (~aman@user/aman) (Ping timeout: 248 seconds)
19:46:33 aman joins (aman@user/aman)
19:48:19 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
19:50:03 Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk)
19:50:05 Pickchea joins (~private@user/pickchea)
19:50:24 chris joins (~chris@81.96.113.213)
19:50:27 chris is now known as Guest9886
19:50:47 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
19:51:20 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
19:54:10 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
19:55:28 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
19:56:53 × mei quits (~mei@user/mei) (Read error: Connection reset by peer)
20:00:02 jakalx joins (~jakalx@base.jakalx.net)
20:00:15 × waleee quits (~waleee@h-98-128-228-119.na.cust.bahnhof.se) (Quit: WeeChat 3.2)
20:02:20 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:04:04 lbseale_ joins (~lbseale@user/ep1ctetus)
20:05:35 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 268 seconds)
20:06:23 chomwitt joins (~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374)
20:06:28 × lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 252 seconds)
20:07:18 juhp joins (~juhp@128.106.188.220)
20:07:40 × kuribas quits (~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
20:12:40 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds)
20:15:02 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
20:15:12 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
20:16:25 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
20:16:25 × cuolin^ quits (~cuolin@209.65.131.194) (Remote host closed the connection)
20:16:28 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
20:17:09 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:22:10 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
20:22:58 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
20:23:30 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
20:30:11 dsrt^ joins (~dsrt@209.65.131.194)
20:31:21 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
20:31:55 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
20:34:20 d0ku joins (~d0ku@178.43.198.70.ipv4.supernova.orange.pl)
20:36:17 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
20:37:02 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
20:39:14 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
20:39:17 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
20:40:36 aegon joins (~mike@174.127.249.180)
20:41:25 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
20:41:43 jumper149 joins (~jumper149@80.240.31.34)
20:42:00 <jumper149> Is there a nice way to have multiline strings with GHC? Maybe some TH library?
20:42:01 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
20:42:13 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
20:43:18 <dminuoso> QQs are your best bet
20:43:23 <geekosaur> https://hackage.haskell.org/package/here-1.2.13/docs/Data-String-Here-Uninterpolated.html
20:44:09 <dminuoso> I use raw-strings-qq because its so minimalistic.
20:44:43 <dminuoso> (I need basic interpolation and nothing more)
20:45:36 lavaman joins (~lavaman@98.38.249.169)
20:46:12 <maerwald> jumper149: string-interpolate
20:47:13 <maerwald> https://gitlab.com/williamyaoh/string-interpolate/-/tree/master#features
20:47:36 <maerwald> clearly, someone obsessed over it
20:48:15 <maerwald> quasiquotes are also a great way to kill tooling
20:48:24 <maerwald> (hls, hasktags, stylish-haskell, ...)
20:48:34 <jumper149> maerwald: Yeah, I also fear that ^^
20:48:54 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 258 seconds)
20:49:19 <jumper149> I think I like raw-strings-qq best, but I'm still not too sure :(
20:49:48 <jumper149> I want nix-style strings! :p
20:51:13 × aman quits (aman@user/aman) (Ping timeout: 248 seconds)
20:51:26 <tomsmeding> jumper149: also "hi this\ \is a\ \multiline string"
20:51:37 <tomsmeding> read newlines in place of the spaces
20:51:49 <tomsmeding> that's plain Haskell2010 syntax and doesn't need anything fancy at all
20:52:03 <tomsmeding> decide first that you don't want that before going to fancy templatehaskell alternatives :p
20:53:07 aman joins (~aman@user/aman)
20:53:59 <tomsmeding> also consider: unlines ["this is", "a multiline", "string"], which inserts the newlines automatically
20:54:00 __monty__ joins (~toonn@user/toonn)
20:54:09 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
20:54:11 <tomsmeding> but has the downside (?) of also inserting a newline at the end
20:54:19 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
20:54:57 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
20:55:24 <jumper149> Actually the backslash option is quite nice. Very readable because of the adjustable indentation, it just needs a manual \n for actual line breaks.
20:55:38 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
20:56:00 jgeerds joins (~jgeerds@55d45555.access.ecotel.net)
20:56:28 <jumper149> tomsmeding: And it also works easily with OverloadedStrings.
20:57:07 <__monty__> Doesn't have great editor support though.
20:59:02 <jumper149> __monty__: Compared to all the other options it seems to be the easiest on editors. Ctrl-v comes in handy with vim.
20:59:09 dschrempf joins (~dominik@92-249-159-252.pool.digikabel.hu)
20:59:15 <siers> tomsmeding, omg, you actually managed to write an example? 😅 I'll try reading it, but I think I have to read a bit about GADTs first. Night night.
21:00:19 × cryptogainz quits (~cryptogai@130-248-144-85.ftth.glasoperator.nl) (Quit: Leaving)
21:01:26 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
21:03:29 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
21:03:38 Cajun joins (~Cajun@user/cajun)
21:04:45 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
21:07:05 acidjnk_new3 joins (~acidjnk@p200300d0c72b950070172e7c3c578523.dip0.t-ipconnect.de)
21:11:24 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:12:27 × fresheyeball quits (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
21:12:42 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
21:14:58 × Vajb quits (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
21:15:45 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
21:15:48 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
21:16:14 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 250 seconds)
21:16:32 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
21:18:25 × Atum_ quits (~IRC@user/atum/x-2392232) (Killed (NickServ (Forcing logout Atum_ -> Atum_)))
21:21:48 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
21:22:33 Vajb joins (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
21:24:17 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
21:24:31 Neuromancer joins (~Neuromanc@user/neuromancer)
21:27:58 <aegon> i'm missing somethign about optparse-applicative. it seems to fail to parse a string
21:28:04 <aegon> https://paste.tomsmeding.com/aEDPP0mV
21:29:17 otto_s joins (~user@p5de2f223.dip0.t-ipconnect.de)
21:29:31 × dsrt^ quits (~dsrt@209.65.131.194) (Ping timeout: 252 seconds)
21:30:28 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
21:30:40 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 240 seconds)
21:30:55 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
21:33:00 <aegon> i guess auto doesn't work for string positional args
21:33:09 <aegon> switched over to strOption and things seem good
21:34:42 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
21:35:30 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
21:35:43 lavaman joins (~lavaman@98.38.249.169)
21:41:18 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:43:50 <amesgen[m]> jumper149: Note that backslashes don't work when CPP is enabled.
21:50:58 × azeem quits (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Ping timeout: 252 seconds)
21:51:03 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
21:51:09 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:51:30 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
21:51:47 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
21:52:29 azeem joins (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
21:52:37 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds)
21:55:30 urdh joins (~urdh@user/urdh)
21:58:18 tt1 joins (~User@pd9e4fba0.dip0.t-ipconnect.de)
21:59:24 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
22:03:37 × tt1 quits (~User@pd9e4fba0.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
22:07:30 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:07:53 tt1 joins (~User@pd9e4fba0.dip0.t-ipconnect.de)
22:14:35 × tt1 quits (~User@pd9e4fba0.dip0.t-ipconnect.de) (Quit: tt1)
22:16:45 × dschrempf quits (~dominik@92-249-159-252.pool.digikabel.hu) (Quit: WeeChat 3.2)
22:20:36 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
22:20:51 stefan-_ joins (~cri@42dots.de)
22:21:43 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
22:32:21 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:38:35 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
22:41:54 × dzdcnfzd quits (~anthonygr@104.132.34.65) (Quit: leaving)
22:51:00 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:52:13 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
22:53:18 × acidjnk_new3 quits (~acidjnk@p200300d0c72b950070172e7c3c578523.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
22:54:10 × vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds)
22:56:20 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Ping timeout: 250 seconds)
22:57:16 Gurkenglas_ joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
22:59:51 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
23:00:00 lavaman joins (~lavaman@98.38.249.169)
23:00:16 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
23:00:17 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
23:04:34 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
23:04:40 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
23:06:44 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
23:07:13 × jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 248 seconds)
23:08:30 dajoer joins (~david@user/gvx)
23:09:18 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:10:10 lavaman joins (~lavaman@98.38.249.169)
23:13:55 jgeerds joins (~jgeerds@55d473da.access.ecotel.net)
23:15:45 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
23:15:46 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
23:16:53 × gentauro quits (~gentauro@user/gentauro) (Ping timeout: 252 seconds)
23:18:25 × jgeerds quits (~jgeerds@55d473da.access.ecotel.net) (Ping timeout: 248 seconds)
23:19:53 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
23:20:36 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
23:21:34 jgeerds joins (~jgeerds@55d4b311.access.ecotel.net)
23:23:36 gentauro joins (~gentauro@user/gentauro)
23:31:29 × bgamari quits (~bgamari@2001:470:e438::1) (Quit: ZNC 1.8.1 - https://znc.in)
23:36:11 bgamari joins (~bgamari@2001:470:e438::1)
23:42:08 × Reyu[M] quits (~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection)
23:44:16 × d0ku quits (~d0ku@178.43.198.70.ipv4.supernova.orange.pl) (Ping timeout: 252 seconds)
23:50:04 × chomwitt quits (~chomwitt@2a02:587:dc0c:e200:12c3:7bff:fe6d:d374) (Remote host closed the connection)
23:52:13 Reyu[M] joins (~reyureyuz@matrix.reyuzenfold.com)

All times are in UTC on 2021-08-19.