2021-11-10 00:00:41 +0100 | psydurr | (~psydurr@pool-141-152-27-2.rcmdva.fios.verizon.net) (Ping timeout: 264 seconds) |
2021-11-10 00:02:14 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2021-11-10 00:03:28 +0100 | <remexre> | are there any circumstances where (traceM "foo" >> undefined) would error, but not print the traceM? |
2021-11-10 00:04:33 +0100 | <mark__> | So I never evaluate arguments unless I have to and i keep evaluating case expressions and applying my lambdas until I reach a value constructor or get "stuck" (too few arguments)? |
2021-11-10 00:06:42 +0100 | <monochrom> | remexre: Yes, I think Control.Monad.State.Lazy may do that. |
2021-11-10 00:09:47 +0100 | vysn | (~vysn@user/vysn) |
2021-11-10 00:12:07 +0100 | burnsidesLlama | (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-11-10 00:13:27 +0100 | <remexre> | monochrom: how does that work? doesn't the trace need to get forced to tell if the LHS of >> is _|_ or not? |
2021-11-10 00:13:48 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 00:14:08 +0100 | mark__ | (~a@p200300ef973db1e34086f0a6a24fc4dd.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-11-10 00:16:45 +0100 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2021-11-10 00:17:01 +0100 | <monochrom> | Does >> of State.Lazy force the LHS of >> ? |
2021-11-10 00:17:15 +0100 | <monochrom> | Does it even care? |
2021-11-10 00:17:22 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
2021-11-10 00:18:17 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 250 seconds) |
2021-11-10 00:18:41 +0100 | chele_ | (~chele@user/chele) (Remote host closed the connection) |
2021-11-10 00:20:54 +0100 | Guest42 | (~Guest42@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed) |
2021-11-10 00:21:10 +0100 | <danso> | would an equivalent definition for Alternative be `(Applicative f, forall a . Monoid (f a)) => Applicative f` with no methods? |
2021-11-10 00:21:47 +0100 | <danso> | this requires QuantifiedConstraints, but i am not aware of any drawbacks to enabling it |
2021-11-10 00:22:36 +0100 | <hpc> | there might be overlapping Monoid instances that depend on knowledge of a |
2021-11-10 00:22:49 +0100 | <remexre> | monochrom: on phone so checking is slow, but it looks like it doesn't override it, and I think runStateT on the LHS should force it? |
2021-11-10 00:22:51 +0100 | <hpc> | and do a different but valid thing |
2021-11-10 00:22:56 +0100 | <remexre> | Which the (>>=) does |
2021-11-10 00:23:14 +0100 | <hpc> | but probably yes if this is just "am i understanding Alternative correctly" |
2021-11-10 00:23:28 +0100 | <monochrom> | Ugh phone is not a suitable medium for this kind of investigation. |
2021-11-10 00:23:49 +0100 | <remexre> | Yeah... Heading home from work /shrug |
2021-11-10 00:24:35 +0100 | <monochrom> | Pen and paper, however, is perfect for this kind of calculational work. |
2021-11-10 00:26:11 +0100 | <monochrom> | A simplified version of Lazy.State's >>= is: (State stf) >>= k = State (\s0 -> let (a, s1) = stf s0 in runState (k a) s1) |
2021-11-10 00:27:24 +0100 | <remexre> | Right, and the traceM should trace when it matches against the State stf, right? |
2021-11-10 00:27:32 +0100 | <monochrom> | If k = \_ -> undefined, calculate whether the above definition even cares what stf is. |
2021-11-10 00:28:12 +0100 | <monochrom> | And let me remind you the semantics of let: |
2021-11-10 00:28:22 +0100 | <monochrom> | > let (x,y) = undefined in 42 |
2021-11-10 00:28:23 +0100 | <lambdabot> | 42 |
2021-11-10 00:28:49 +0100 | <monochrom> | Even this: |
2021-11-10 00:28:55 +0100 | <monochrom> | > let Just x = Nothing in 42 |
2021-11-10 00:28:57 +0100 | <lambdabot> | 42 |
2021-11-10 00:29:00 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-11-10 00:30:13 +0100 | <monochrom> | Also, "(State stf)" is a newtype wrapper, "(State stf) >>= ..." is as though "stf >>= ..." |
2021-11-10 00:30:26 +0100 | <remexre> | Hm, okay... |
2021-11-10 00:30:36 +0100 | <monochrom> | So, who forces stf again? |
2021-11-10 00:30:48 +0100 | <remexre> | stf doesn't need to be forced |
2021-11-10 00:31:06 +0100 | <remexre> | traceM x = trace x (pure ()) |
2021-11-10 00:31:16 +0100 | <remexre> | So to get the State it should force the trace |
2021-11-10 00:32:04 +0100 | <monochrom> | OK, name me your favourite newtype wrapper that's on lambdabot. I'll show you what it really does. |
2021-11-10 00:32:32 +0100 | <remexre> | Uh I do not know lambdabot well... Data.Functor.Identity.Identity? |
2021-11-10 00:32:41 +0100 | <monochrom> | OK! |
2021-11-10 00:32:53 +0100 | <monochrom> | > case undefined of Identity x -> 32 |
2021-11-10 00:32:55 +0100 | <lambdabot> | 32 |
2021-11-10 00:33:55 +0100 | <remexre> | Huh, I guess this kinda makes sense for newtypes... |
2021-11-10 00:34:31 +0100 | <monochrom> | After type erasure it's just "case undefined of x -> 32" |
2021-11-10 00:36:02 +0100 | michalz | (~michalz@185.246.204.61) (Remote host closed the connection) |
2021-11-10 00:36:02 +0100 | <monochrom> | I ran into this once. My course material used to use newtype. One day I decided to s/newtype/data/ so I don't have to explain newtype to students. Then I got an unexpected bottom. |
2021-11-10 00:36:12 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-11-10 00:36:35 +0100 | <remexre> | Okay, I guess that all makes sense, thanks! |
2021-11-10 00:37:26 +0100 | <yin> | > case undefined of StateT x -> 32 |
2021-11-10 00:37:28 +0100 | <lambdabot> | 32 |
2021-11-10 00:37:29 +0100 | <yin> | oh no |
2021-11-10 00:37:43 +0100 | biberu\ | (~biberu@user/biberu) |
2021-11-10 00:37:47 +0100 | <remexre> | Oof |
2021-11-10 00:38:16 +0100 | <danso> | thanks hpc. with the overlapping instances, are you saying that for some `f`, `f Int` could have a difference Monoid instance than `f String` ? |
2021-11-10 00:38:29 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds) |
2021-11-10 00:38:37 +0100 | <remexre> | Also rip getting massive lag... Well, I'll check that my transformer stack has at least one strict monad in it when I'm back home, thanks |
2021-11-10 00:39:17 +0100 | <monochrom> | Yeah if you just say "Control.Monad.State" you get the Lazy one, for example. |
2021-11-10 00:39:25 +0100 | nineonine | (~nineonine@2604:3d08:7780:cd00:94f7:1c4f:2fa7:9763) (Remote host closed the connection) |
2021-11-10 00:39:29 +0100 | biberu- | (~biberu@user/biberu) |
2021-11-10 00:40:28 +0100 | <monochrom> | In retrospect I think that that decision was as naïve as defining foldl. |
2021-11-10 00:41:27 +0100 | biberu | (~biberu@user/biberu) (Ping timeout: 268 seconds) |
2021-11-10 00:42:32 +0100 | biberu\ | (~biberu@user/biberu) (Ping timeout: 240 seconds) |
2021-11-10 00:44:43 +0100 | biberu- | (~biberu@user/biberu) (Ping timeout: 250 seconds) |
2021-11-10 00:46:51 +0100 | mark__ | (~a@p200300ef973db1e34086f0a6a24fc4dd.dip0.t-ipconnect.de) |
2021-11-10 00:49:42 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 00:51:28 +0100 | <yin> | monochrom: what do you mean? |
2021-11-10 00:52:05 +0100 | <Axman6> | foldl is bad, lazy state by default is bad |
2021-11-10 00:52:25 +0100 | <yin> | nooo |
2021-11-10 00:53:26 +0100 | <monochrom> | Yeah, that. |
2021-11-10 00:53:56 +0100 | <yin> | i like having to be explicit when we want strictness |
2021-11-10 00:54:02 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 240 seconds) |
2021-11-10 00:54:13 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-11-10 00:54:22 +0100 | <Axman6> | there are definnitely times where strictness by default is the right choice, and both of those are good examples |
2021-11-10 00:54:46 +0100 | <monochrom> | What if I put it this way: For a long time, foldl' did not exist, that's the real naïvity. |
2021-11-10 00:54:47 +0100 | <Axman6> | there's no reason for foldl to not be strict except in very rare, usually contrived examples |
2021-11-10 00:55:12 +0100 | <yin> | i think defaults should be predictable |
2021-11-10 00:55:25 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
2021-11-10 00:55:41 +0100 | <yin> | if you know everything is lazy by default, you'll know when to require lazyness |
2021-11-10 00:55:58 +0100 | <yin> | if not, you are in the dark |
2021-11-10 00:56:12 +0100 | <yin> | s/lazyness/stricness |
2021-11-10 00:56:21 +0100 | <yin> | ^t |
2021-11-10 00:56:34 +0100 | pennychase[m] | (~pennychas@2001:470:69fc:105::1:3043) |
2021-11-10 00:56:48 +0100 | biberu | (~biberu@user/biberu) |
2021-11-10 00:56:51 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
2021-11-10 00:57:38 +0100 | <Axman6> | if you cvan think of an example where lazy foldl is useful, I will be impressed. The current one leads to unexpected (and hence, unpredictable) behaviour, which is very difficult to debug if you don't know about foldl's behaviour. You end up with stack overflows in completely unrelated parts of your program |
2021-11-10 00:57:54 +0100 | <monochrom> | I can be talked into either having no defaults or having defaults aligning with majority use cases. But I am skeptical about having defaults aligning with ideology. |
2021-11-10 00:57:59 +0100 | <Cajun> | "if you know everything is lazy...lazyness" i disagree. you may know strictness may be necessary for some semblance of performance, but not necessarily know exactly when strictness should be made explicit |
2021-11-10 00:58:15 +0100 | <Cajun> | like "should i add bang patterns to this?" |
2021-11-10 00:58:32 +0100 | <monochrom> | The time-proved retrospective observation is that foldl and State.Lazy have much fewer use cases. |
2021-11-10 00:58:41 +0100 | pennychase[m] | (~pennychas@2001:470:69fc:105::1:3043) () |
2021-11-10 00:58:48 +0100 | <monochrom> | Similarly Data.Map.Lazy for example. |
2021-11-10 00:59:10 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-11-10 00:59:22 +0100 | <Axman6> | "Shoukd I add a bang pattern to this?" The answer is always "yes" :P |
2021-11-10 00:59:29 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-11-10 00:59:39 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
2021-11-10 01:00:17 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-11-10 01:02:30 +0100 | debclair | (~debclair@157.100.93.61) |
2021-11-10 01:02:51 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-11-10 01:04:31 +0100 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.3) |
2021-11-10 01:05:11 +0100 | <dsal> | sum should be lazy. If I only want to know a partial sum, I should be able to read part of the result. |
2021-11-10 01:05:19 +0100 | <monochrom> | haha |
2021-11-10 01:06:03 +0100 | lambdandy[m] | (~lambdandy@2001:470:69fc:105::1:3045) |
2021-11-10 01:07:18 +0100 | <dolio> | That's the sort of methodology that made containers have a major performance issue at one point. :þ |
2021-11-10 01:07:22 +0100 | <Axman6> | that's just scanl (+) 0 |
2021-11-10 01:08:10 +0100 | <shapr> | random question, is there already a utility that calculates a "rebuild score" from a set of cabal files? |
2021-11-10 01:08:30 +0100 | <sclv> | what is a rebuild stor |
2021-11-10 01:08:32 +0100 | <shapr> | I think I want a package graph |
2021-11-10 01:08:44 +0100 | <sclv> | theres utils for that |
2021-11-10 01:08:46 +0100 | <monochrom> | byorgey is now promoting Data.Map.Lazy again because it helps with many programming contest problems :) |
2021-11-10 01:08:53 +0100 | <shapr> | sclv: any names / links? |
2021-11-10 01:09:26 +0100 | debclair | (~debclair@157.100.93.61) (Quit: Leaving) |
2021-11-10 01:10:24 +0100 | <shapr> | I want a score that gives a higher cost to long chains of dependencies, but less to packages that can be built in parallel. |
2021-11-10 01:10:36 +0100 | psydurr | (~psydurr@pool-141-152-27-2.rcmdva.fios.verizon.net) |
2021-11-10 01:10:45 +0100 | shapr | thinks |
2021-11-10 01:10:56 +0100 | <yin> | monochrom: have you checked his game out? |
2021-11-10 01:11:02 +0100 | <monochrom> | No. |
2021-11-10 01:11:05 +0100 | <sclv> | you can get dotfiles directly out of ghc-pkg |
2021-11-10 01:11:09 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 250 seconds) |
2021-11-10 01:11:12 +0100 | <shapr> | oh I didn't know that |
2021-11-10 01:11:30 +0100 | <yin> | monochrom: https://github.com/byorgey/swarm |
2021-11-10 01:12:11 +0100 | <yin> | #swarm here on libera |
2021-11-10 01:12:13 +0100 | <shapr> | sclv: thanks! |
2021-11-10 01:12:33 +0100 | <yin> | pretty cool |
2021-11-10 01:15:58 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
2021-11-10 01:18:02 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-11-10 01:18:41 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
2021-11-10 01:20:23 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) |
2021-11-10 01:20:24 +0100 | <dsal> | Is it crazy to just be like, "I don't understand all the exceptions things so I'm going to run some code in an async and observe it" ? |
2021-11-10 01:22:54 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 01:23:10 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) |
2021-11-10 01:23:54 +0100 | wennefer0 | (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection) |
2021-11-10 01:25:02 +0100 | acidjnk_new | (~acidjnk@p200300d0c724a7710420fe3aa4fdb454.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-11-10 01:25:24 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-10 01:25:24 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-10 01:25:24 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-10 01:26:19 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds) |
2021-11-10 01:26:51 +0100 | emf_ | (~emf@2620:10d:c090:400::5:4199) (Read error: Connection reset by peer) |
2021-11-10 01:27:02 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 240 seconds) |
2021-11-10 01:28:24 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-11-10 01:32:05 +0100 | emf | (~emf@2620:10d:c090:400::5:f986) |
2021-11-10 01:32:44 +0100 | servytor | (uid525486@id-525486.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 01:33:19 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-11-10 01:34:21 +0100 | <monochrom> | It is not crazy to use observations to improve understanding. (Most people are crazy to do the opposite direction.) |
2021-11-10 01:35:26 +0100 | <monochrom> | But it may be less helpful to do that with async. (Threads are more basic and fewer moving parts.) |
2021-11-10 01:35:34 +0100 | hippoid | (~hippoid@c-98-220-13-8.hsd1.il.comcast.net) () |
2021-11-10 01:38:33 +0100 | psydurr | (~psydurr@pool-141-152-27-2.rcmdva.fios.verizon.net) (Quit: Leaving) |
2021-11-10 01:39:56 +0100 | <dsal> | Knowing what might be thrown and how to manage the case positively and negatively got super hard. But it's trivial with an async. |
2021-11-10 01:39:59 +0100 | renzhi | (~xp@2607:fa49:6500:b100::6e7f) |
2021-11-10 01:46:04 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 01:46:28 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 01:48:25 +0100 | jkaye | (~jkaye@2601:281:8300:7530:49b1:9f67:bcbc:61f) (Ping timeout: 250 seconds) |
2021-11-10 01:50:06 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:5d00:eb1a:26:b28a) |
2021-11-10 01:51:01 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 256 seconds) |
2021-11-10 01:53:26 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:e1e5:75f2:6059:4431) (Ping timeout: 245 seconds) |
2021-11-10 01:56:47 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 01:59:47 +0100 | mmhat | (~mmh@55d4bf19.access.ecotel.net) (Quit: WeeChat 3.3) |
2021-11-10 02:01:13 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 256 seconds) |
2021-11-10 02:06:02 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-10 02:08:27 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-11-10 02:09:38 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-11-10 02:13:02 +0100 | mark__ | (~a@p200300ef973db1e34086f0a6a24fc4dd.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-11-10 02:18:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-11-10 02:22:44 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-11-10 02:26:09 +0100 | falafel | (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 256 seconds) |
2021-11-10 02:28:02 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) |
2021-11-10 02:30:32 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2021-11-10 02:39:39 +0100 | sugar | (~sugar@bras-base-hmtnon1497w-grc-21-70-26-153-130.dsl.bell.ca) |
2021-11-10 02:40:29 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2021-11-10 02:41:52 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-11-10 02:47:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-10 02:47:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-10 02:47:16 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-10 02:48:09 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 02:50:28 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-11-10 02:52:17 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2021-11-10 02:52:32 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 240 seconds) |
2021-11-10 02:54:02 +0100 | lbseale | (~lbseale@user/ep1ctetus) (Quit: Leaving) |
2021-11-10 02:54:50 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:ec9d:c0:f2e1:89a6) |
2021-11-10 02:57:32 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:5d00:eb1a:26:b28a) (Ping timeout: 240 seconds) |
2021-11-10 03:01:46 +0100 | sugar | (~sugar@bras-base-hmtnon1497w-grc-21-70-26-153-130.dsl.bell.ca) (Quit: Client closed) |
2021-11-10 03:05:48 +0100 | ezzieygu1wuf | ezzieyguywuf |
2021-11-10 03:08:11 +0100 | Inst | (~Inst@2601:6c4:4080:3f80:c951:41b3:1b4a:c1f9) (Ping timeout: 264 seconds) |
2021-11-10 03:15:14 +0100 | xlei | (znc@pool-68-129-84-118.nycmny.fios.verizon.net) (Read error: Connection reset by peer) |
2021-11-10 03:20:52 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 03:25:14 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 246 seconds) |
2021-11-10 03:25:31 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-11-10 03:26:49 +0100 | falafel | (~falafel@cpe-76-168-195-162.socal.res.rr.com) |
2021-11-10 03:31:21 +0100 | alzgh | (~alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-11-10 03:35:44 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection) |
2021-11-10 03:35:53 +0100 | johnjay | (~pi@192.142.100.50) (Ping timeout: 250 seconds) |
2021-11-10 03:37:51 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-10 03:38:45 +0100 | johnjay | (~pi@192.142.100.50) |
2021-11-10 03:39:54 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 260 seconds) |
2021-11-10 03:43:33 +0100 | cjb | (~cjbayliss@user/cjb) () |
2021-11-10 03:55:02 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 240 seconds) |
2021-11-10 03:56:03 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 03:56:28 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-10 03:56:46 +0100 | xff0x | (~xff0x@2001:1a81:536d:7000:f003:c1eb:d2a3:5377) (Ping timeout: 245 seconds) |
2021-11-10 03:58:47 +0100 | xff0x | (~xff0x@2001:1a81:53aa:5400:49da:2933:d5c1:bd65) |
2021-11-10 04:00:32 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 240 seconds) |
2021-11-10 04:00:47 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-11-10 04:04:24 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 04:06:37 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:cc66:8cdf:6920:eedd) |
2021-11-10 04:10:02 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:ec9d:c0:f2e1:89a6) (Ping timeout: 240 seconds) |
2021-11-10 04:12:27 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:646d:b422:185d:c10e) |
2021-11-10 04:14:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 04:16:17 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:cc66:8cdf:6920:eedd) (Ping timeout: 264 seconds) |
2021-11-10 04:18:00 +0100 | jkaye | (~jkaye@2601:281:8300:7530:c139:e489:8815:b330) |
2021-11-10 04:23:02 +0100 | betelgeuse | (~betelgeus@94-225-47-8.access.telenet.be) (Ping timeout: 240 seconds) |
2021-11-10 04:29:06 +0100 | SeungheonOh | (~Thunderbi@2600:1700:5168:1400:d0db:f0d9:c386:c3c1) |
2021-11-10 04:29:32 +0100 | SeungheonOh | (~Thunderbi@2600:1700:5168:1400:d0db:f0d9:c386:c3c1) (Client Quit) |
2021-11-10 04:35:49 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-11-10 04:35:49 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2021-11-10 04:35:49 +0100 | finn_elija | FinnElija |
2021-11-10 04:37:50 +0100 | alx741 | (~alx741@181.196.68.101) (Quit: alx741) |
2021-11-10 04:43:59 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-11-10 04:45:15 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2021-11-10 04:45:22 +0100 | AlexNoo | (~AlexNoo@178.34.163.82) (Read error: Connection reset by peer) |
2021-11-10 04:46:07 +0100 | AlexNoo | (~AlexNoo@178.34.163.82) |
2021-11-10 04:48:06 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 04:48:07 +0100 | jkaye | (~jkaye@2601:281:8300:7530:c139:e489:8815:b330) (Ping timeout: 268 seconds) |
2021-11-10 04:49:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-11-10 04:51:26 +0100 | jlamothe_ | (~jlamothe@198.251.61.229) (Quit: leaving) |
2021-11-10 04:51:59 +0100 | flukiluke | (~m-7humut@plum.alephc.xyz) |
2021-11-10 04:52:35 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 250 seconds) |
2021-11-10 04:59:11 +0100 | alzgh | (alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-11-10 05:00:54 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-11-10 05:04:17 +0100 | renzhi | (~xp@2607:fa49:6500:b100::6e7f) (Ping timeout: 246 seconds) |
2021-11-10 05:04:37 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-11-10 05:05:35 +0100 | jinsun | (~quassel@user/jinsun) (Read error: Connection reset by peer) |
2021-11-10 05:08:26 +0100 | jlamothe | (~jlamothe@198.251.61.229) |
2021-11-10 05:11:57 +0100 | jinsun | (~quassel@user/jinsun) |
2021-11-10 05:13:20 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-10 05:15:29 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 05:19:48 +0100 | mbuf | (~Shakthi@122.174.254.232) |
2021-11-10 05:23:24 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 05:23:32 +0100 | falafel | (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 240 seconds) |
2021-11-10 05:26:21 +0100 | retroid_ | (~retro@2e41e9c8.skybroadband.com) (Ping timeout: 268 seconds) |
2021-11-10 05:27:32 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 240 seconds) |
2021-11-10 05:28:26 +0100 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 246 seconds) |
2021-11-10 05:29:34 +0100 | retroid_ | (~retro@2e41e9c8.skybroadband.com) |
2021-11-10 05:30:02 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1)) |
2021-11-10 05:32:24 +0100 | falafel | (~falafel@cpe-76-168-195-162.socal.res.rr.com) |
2021-11-10 05:42:16 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 05:55:07 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 05:58:38 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-11-10 06:00:11 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
2021-11-10 06:03:03 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-11-10 06:03:29 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 06:07:32 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 240 seconds) |
2021-11-10 06:09:44 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-10 06:09:45 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:315a:c7df:cdab:4da8) |
2021-11-10 06:12:45 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 06:13:11 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:646d:b422:185d:c10e) (Ping timeout: 250 seconds) |
2021-11-10 06:15:39 +0100 | falafel | (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 256 seconds) |
2021-11-10 06:21:02 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
2021-11-10 06:27:08 +0100 | x_kuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-11-10 06:27:38 +0100 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |
2021-11-10 06:30:05 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 250 seconds) |
2021-11-10 06:36:11 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-11-10 06:37:31 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 06:42:17 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 256 seconds) |
2021-11-10 06:43:49 +0100 | monochrom | (trebla@216.138.220.146) |
2021-11-10 06:44:06 +0100 | rkrishnan | (~user@122.167.19.65) |
2021-11-10 06:45:15 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 06:45:23 +0100 | boxscape_ | (~boxscape_@mue-88-130-59-079.dsl.tropolys.de) |
2021-11-10 06:53:35 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-11-10 07:01:17 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 264 seconds) |
2021-11-10 07:05:06 +0100 | emf | (~emf@2620:10d:c090:400::5:f986) (Ping timeout: 245 seconds) |
2021-11-10 07:06:41 +0100 | aliosablack | (~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374) |
2021-11-10 07:06:53 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-11-10 07:08:49 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-10 07:13:55 +0100 | CannabisIndica | (~herb@user/mesaboogie) (Quit: ZNC - https://znc.in) |
2021-11-10 07:14:02 +0100 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 240 seconds) |
2021-11-10 07:15:53 +0100 | ServerStatsDisco | (~serversta@2001:470:69fc:105::1a) (Quit: Client limit exceeded: 20000) |
2021-11-10 07:17:17 +0100 | CannabisIndica | (~herb@user/mesaboogie) |
2021-11-10 07:19:29 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-11-10 07:20:51 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-11-10 07:24:04 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-11-10 07:28:32 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 07:33:02 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 240 seconds) |
2021-11-10 07:34:32 +0100 | hiruji | (~hiruji@user/hiruji) |
2021-11-10 07:38:07 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 250 seconds) |
2021-11-10 07:39:03 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-11-10 07:44:05 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-10 07:44:39 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 07:47:46 +0100 | img | (~img@user/img) |
2021-11-10 07:52:34 +0100 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-11-10 07:52:43 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-11-10 07:59:26 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 08:05:06 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 08:07:31 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-11-10 08:09:06 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-10 08:09:46 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 268 seconds) |
2021-11-10 08:10:05 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:3471:ef4b:ebc8:3b49) |
2021-11-10 08:13:39 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:315a:c7df:cdab:4da8) (Ping timeout: 250 seconds) |
2021-11-10 08:17:33 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-11-10 08:24:49 +0100 | noddy | (~user@user/noddy) |
2021-11-10 08:27:01 +0100 | mmhat | (~mmh@55d4b224.access.ecotel.net) |
2021-11-10 08:38:34 +0100 | mmhat | (~mmh@55d4b224.access.ecotel.net) (Quit: WeeChat 3.3) |
2021-11-10 08:40:28 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 08:43:23 +0100 | vysn | (~vysn@user/vysn) |
2021-11-10 08:44:37 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) |
2021-11-10 08:44:47 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 246 seconds) |
2021-11-10 08:45:19 +0100 | Inst | (~Inst@2601:6c4:4080:3f80:75c6:91f1:4f95:975b) |
2021-11-10 08:47:31 +0100 | drdo | (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds)) |
2021-11-10 08:47:36 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) (Remote host closed the connection) |
2021-11-10 08:47:50 +0100 | drdo | (~drdo@roach0.drdo.eu) |
2021-11-10 08:50:17 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) |
2021-11-10 08:51:04 +0100 | bairyn | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-10 08:51:32 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds) |
2021-11-10 08:53:06 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:54fc:9972:155c:27b0) |
2021-11-10 08:56:44 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) (Remote host closed the connection) |
2021-11-10 08:56:46 +0100 | Inst | (~Inst@2601:6c4:4080:3f80:75c6:91f1:4f95:975b) (Ping timeout: 245 seconds) |
2021-11-10 08:57:06 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) |
2021-11-10 08:57:38 +0100 | markusde | (~makrus@2604:3d08:6f80:6b00::9610) |
2021-11-10 08:57:51 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-10 09:00:54 +0100 | vshabanov | (~vshabanov@85.203.46.25) |
2021-11-10 09:02:22 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
2021-11-10 09:10:29 +0100 | <markusde> | Yo- looking to start contributing to some oss projects. Anyone know of any that are newbie friendly and need help? |
2021-11-10 09:10:30 +0100 | ServerStatsDisco | (~serversta@2001:470:69fc:105::1a) |
2021-11-10 09:14:09 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 256 seconds) |
2021-11-10 09:14:39 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-11-10 09:15:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 09:15:54 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) (Ping timeout: 260 seconds) |
2021-11-10 09:20:51 +0100 | robosexual | (~spaceoyst@88.85.216.62) |
2021-11-10 09:22:22 +0100 | <[exa]> | markusde: hard to tell. do you have any specific project you want to improve? |
2021-11-10 09:22:30 +0100 | ubert | (~Thunderbi@p200300ecdf4fca6ff42c1e431d1c483e.dip0.t-ipconnect.de) |
2021-11-10 09:23:22 +0100 | <[exa]> | generally, most OSS is friendly and will happily accept PRs that make sense, the usual advice is to do something _you_ are interested in/need to have working |
2021-11-10 09:24:43 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 09:24:56 +0100 | <markusde> | exa: ic ic. I'l just troll around github then |
2021-11-10 09:25:13 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-11-10 09:25:42 +0100 | <[exa]> | like, if all OSS works just right for you, there's no reason to code more, right? :] |
2021-11-10 09:27:28 +0100 | ubert | (~Thunderbi@p200300ecdf4fca6ff42c1e431d1c483e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-11-10 09:27:32 +0100 | <markusde> | exa: lmao |
2021-11-10 09:27:47 +0100 | <[exa]> | anyway if you just need practice, there's afaik no library for regexes that has a good machine-buildable&representable immediate representation of the regexes... :] |
2021-11-10 09:27:49 +0100 | ubert | (~Thunderbi@p548c9652.dip0.t-ipconnect.de) |
2021-11-10 09:28:01 +0100 | <[exa]> | s/representable/analyzable/ |
2021-11-10 09:31:43 +0100 | boxscape_ | (~boxscape_@mue-88-130-59-079.dsl.tropolys.de) (Quit: Connection closed) |
2021-11-10 09:34:07 +0100 | <tomsmeding> | that sounds like something you might personally like [exa] :p |
2021-11-10 09:35:19 +0100 | <[exa]> | yes. |
2021-11-10 09:35:54 +0100 | <tomsmeding> | does it need to be fast? how expressive the regexen? |
2021-11-10 09:36:09 +0100 | <[exa]> | I basically want to build a lexer online |
2021-11-10 09:36:40 +0100 | <[exa]> | so basically taking tiny pieces of regexes, connecting them into a larger DFA, triggering actions when some state gets reached |
2021-11-10 09:37:09 +0100 | <tomsmeding> | online as in online algorithm, not as in web-based? |
2021-11-10 09:37:17 +0100 | xff0x | (~xff0x@2001:1a81:53aa:5400:49da:2933:d5c1:bd65) (Ping timeout: 264 seconds) |
2021-11-10 09:37:25 +0100 | <[exa]> | online as "the lexing specification is the input of the user" |
2021-11-10 09:37:32 +0100 | <tomsmeding> | right |
2021-11-10 09:37:51 +0100 | <tomsmeding> | sounds hard to get fast due to the dynamic nature |
2021-11-10 09:37:52 +0100 | michalz | (~michalz@185.246.204.33) |
2021-11-10 09:37:58 +0100 | xff0x | (~xff0x@2001:1a81:53aa:5400:2665:d30f:dc60:ace5) |
2021-11-10 09:38:37 +0100 | <[exa]> | I might have talked about that here already |
2021-11-10 09:38:44 +0100 | chele | (~chele@user/chele) |
2021-11-10 09:38:55 +0100 | kuribas | (~user@188.189.234.163) |
2021-11-10 09:38:59 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) |
2021-11-10 09:39:50 +0100 | <[exa]> | basically I want something that can cut programs into labeled whitespace and non-whitespace tokens; the meaning of whitespace depends on context (e.g. in C, ' ' in a string is not a whitespace, and comments tokenize differently than the text around) |
2021-11-10 09:40:34 +0100 | <[exa]> | and well you know, languages are infinite so having the user supply the language spec themselves saves me a lot of stress :D |
2021-11-10 09:40:39 +0100 | <tomsmeding> | for C specifically, the better solution would be to statically write a state machine |
2021-11-10 09:40:47 +0100 | <tomsmeding> | right |
2021-11-10 09:41:12 +0100 | <tomsmeding> | you have indeed talked about this before |
2021-11-10 09:41:33 +0100 | <[exa]> | yap, still no time to actually push it :D |
2021-11-10 09:41:44 +0100 | <tomsmeding> | https://ircbrowse.tomsmeding.com/day/haskell/2020/12/30?id=226295#trid226295 |
2021-11-10 09:41:51 +0100 | tomsmeding | used search superpowers |
2021-11-10 09:42:00 +0100 | <tomsmeding> | aka SELECT |
2021-11-10 09:43:03 +0100 | <[exa]> | oh what a nice tool, people can just grab random good ideas from #haskell now and start businesses around them. :D |
2021-11-10 09:43:10 +0100 | <[exa]> | ^ wishful thinking |
2021-11-10 09:43:12 +0100 | <tomsmeding> | ircbrowse really needs search |
2021-11-10 09:43:32 +0100 | <[exa]> | throw it into elasticsearch |
2021-11-10 09:43:39 +0100 | <tomsmeding> | no |
2021-11-10 09:43:45 +0100 | <[exa]> | y no |
2021-11-10 09:43:48 +0100 | <tomsmeding> | I already have one annoying to install dep, postgres |
2021-11-10 09:43:55 +0100 | <tomsmeding> | original ircbrowse used sphinx |
2021-11-10 09:44:01 +0100 | <tomsmeding> | haven't bothered to install that yet |
2021-11-10 09:44:26 +0100 | <tomsmeding> | I've done some work to try to eliminate the postgres dep but ended up in the weeds |
2021-11-10 09:44:26 +0100 | <[exa]> | in postgres there are pretty good text search things |
2021-11-10 09:44:59 +0100 | <tomsmeding> | better than LIKE '%regex%' ? |
2021-11-10 09:45:16 +0100 | <[exa]> | yeah, literal fulltext search with inverted indexes |
2021-11-10 09:45:23 +0100 | <tomsmeding> | ö |
2021-11-10 09:45:23 +0100 | <[exa]> | don't even start with LIKE :D |
2021-11-10 09:45:55 +0100 | <tomsmeding> | yeah because LIKE is nice for one-off searching like I just did but is a performance nightmare |
2021-11-10 09:46:05 +0100 | <[exa]> | basically add a table like (postID int, author text, message tsvector, msgcontext tsvector ) |
2021-11-10 09:46:25 +0100 | <[exa]> | to context you add a bit of messages from the environs, you can even weight them |
2021-11-10 09:47:04 +0100 | <[exa]> | and then there's some operator (iirc @@) that allows you to efficiently match the table rows using a googlish text query in tsvector |
2021-11-10 09:47:09 +0100 | markusde | (~makrus@2604:3d08:6f80:6b00::9610) (Quit: Leaving) |
2021-11-10 09:47:27 +0100 | <[exa]> | unfortunately markusde just left, this would be a nice OSS project.. :D |
2021-11-10 09:47:33 +0100 | <tomsmeding> | :p |
2021-11-10 09:47:50 +0100 | <tomsmeding> | fancy, noting down; currently swamped in work but that may change at some point ever maybe |
2021-11-10 09:48:10 +0100 | gaff | (~gaff@49.207.214.48) |
2021-11-10 09:48:19 +0100 | <[exa]> | https://www.postgresql.org/docs/9.5/textsearch-tables.html |
2021-11-10 09:48:26 +0100 | gaff | (~gaff@49.207.214.48) (Client Quit) |
2021-11-10 09:48:39 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 09:48:43 +0100 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) |
2021-11-10 09:48:45 +0100 | acidjnk_new | (~acidjnk@p200300d0c724a7710420fe3aa4fdb454.dip0.t-ipconnect.de) |
2021-11-10 09:48:45 +0100 | <[exa]> | if you're not into details such as correct stemming, it's literally just about adding a few columns |
2021-11-10 09:49:03 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 268 seconds) |
2021-11-10 09:50:04 +0100 | kuribas | (~user@188.189.234.163) (Read error: Connection reset by peer) |
2021-11-10 09:50:06 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-11-10 09:50:13 +0100 | <[exa]> | postgres = underrated |
2021-11-10 09:50:36 +0100 | <tomsmeding> | that particular point I was already aware of |
2021-11-10 09:51:37 +0100 | kuribas | (~user@188.189.234.163) |
2021-11-10 09:53:10 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-11-10 09:53:14 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 260 seconds) |
2021-11-10 09:55:10 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 09:55:18 +0100 | kuribas` | (~user@188.188.45.223) |
2021-11-10 09:55:54 +0100 | mei3 | (~mei@user/mei) |
2021-11-10 09:56:53 +0100 | kuribas | (~user@188.189.234.163) (Ping timeout: 246 seconds) |
2021-11-10 10:00:00 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-11-10 10:02:38 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 10:04:49 +0100 | vshabanov | (~vshabanov@85.203.46.25) (Quit: Client closed) |
2021-11-10 10:06:20 +0100 | x6C697370 | (~michael@2600:1700:7c02:3180::49) (Ping timeout: 246 seconds) |
2021-11-10 10:09:26 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-11-10 10:10:35 +0100 | c_wraith | (~c_wraith@adjoint.us) (Ping timeout: 264 seconds) |
2021-11-10 10:11:25 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-11-10 10:12:21 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-11-10 10:12:35 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Remote host closed the connection) |
2021-11-10 10:12:53 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-11-10 10:15:51 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 250 seconds) |
2021-11-10 10:17:33 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-11-10 10:17:33 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-11-10 10:17:36 +0100 | allbery_b | geekosaur |
2021-11-10 10:17:46 +0100 | kuribas` | (~user@188.188.45.223) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-11-10 10:24:05 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 10:27:31 +0100 | Profpatsch | (~Profpatsc@static.88-198-193-255.clients.your-server.de) |
2021-11-10 10:28:48 +0100 | <Profpatsch> | I’m trying to fullfill the requirements for https://hackage.haskell.org/package/servant-conduit-0.15.1/docs/Servant-Conduit.html#t:ConduitToSo… in my Monad m |
2021-11-10 10:28:53 +0100 | zincy | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 264 seconds) |
2021-11-10 10:28:57 +0100 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-11-10 10:29:03 +0100 | <Profpatsch> | Namely m ~ IO => ConduitToSourceIO (ResourceT m) |
2021-11-10 10:29:10 +0100 | <tomsmeding> | [exa]: would something like this work for your purpose, or am I misunderstanding? https://paste.tomsmeding.com/Hx3MUFXv (not saying I'm going to build this any time soon, was just procrastinating) |
2021-11-10 10:29:13 +0100 | <Profpatsch> | My m is in (MonadIO m) |
2021-11-10 10:29:21 +0100 | <Profpatsch> | Can I somehow make the m ~ IO work for it? |
2021-11-10 10:29:31 +0100 | <Profpatsch> | Maybe with some fancy lifting? |
2021-11-10 10:29:48 +0100 | <tomsmeding> | Profpatsch: no, you'll never get m ~ IO from just MonadIO m |
2021-11-10 10:29:56 +0100 | <Profpatsch> | I would say I’m a pretty good Haskeller, but monad-transformer shenanigans always make me cry very hard |
2021-11-10 10:30:26 +0100 | <tomsmeding> | usually when people require hard IO instead of just MonadIO, they do some fancy exception handling where they can't tolerate other, unknown monads getting in the way |
2021-11-10 10:30:29 +0100 | <Profpatsch> | tomsmeding: I don’t know how this is supposed to work then; Do I have to just propagate (MonadResource m) out of my function? |
2021-11-10 10:30:41 +0100 | <dminuoso> | Profpatsch: this is why I generally follow the RIO pattern (without actually using RIO) |
2021-11-10 10:30:49 +0100 | <dminuoso> | So I can always unlift back to IO |
2021-11-10 10:30:53 +0100 | <Profpatsch> | I had an error where it hard-required (MonadResource IO) |
2021-11-10 10:31:06 +0100 | <Profpatsch> | But that might have been a type sig that was too specific |
2021-11-10 10:31:13 +0100 | <tomsmeding> | where did that constraint come from? |
2021-11-10 10:31:16 +0100 | <tomsmeding> | not from this class |
2021-11-10 10:31:37 +0100 | <dminuoso> | 10:29:48 tomsmeding | Profpatsch: no, you'll never get m ~ IO from just MonadIO m |
2021-11-10 10:31:48 +0100 | <dminuoso> | I think I must misunderstand what you're saying here, tomsmeding. |
2021-11-10 10:32:02 +0100 | <dminuoso> | If something is polymorphic over m with a MonadIO m constraint, surely I can simply pick m ~ IO? |
2021-11-10 10:32:11 +0100 | andjjj23 | (~irc@107.170.228.47) (Ping timeout: 264 seconds) |
2021-11-10 10:32:14 +0100 | <tomsmeding> | if you have control over the choice of m, yes |
2021-11-10 10:32:16 +0100 | <Profpatsch> | tomsmeding: That’s usually my question, where do contraints come from :) GHC is really bad at telling you without a lot of poking |
2021-11-10 10:32:24 +0100 | <tomsmeding> | if you don't and only know that MonadIO m holds, then tough luck |
2021-11-10 10:32:35 +0100 | <dminuoso> | Profpatsch: Type error slices would be really wonderful to have. |
2021-11-10 10:32:36 +0100 | mmaruseacph2 | (~mihai@198.199.100.72) (Ping timeout: 245 seconds) |
2021-11-10 10:32:46 +0100 | <tomsmeding> | classic caller/consumer duality :) |
2021-11-10 10:33:07 +0100 | <dminuoso> | Imagine if GHC could generate type error slices, transport these via LSP and have a specialized visualization in haskell-lsp in emacs. |
2021-11-10 10:33:19 +0100 | <dminuoso> | Perhaps with some ergonomics to chase/follow inference |
2021-11-10 10:33:42 +0100 | <Profpatsch> | tomsmeding: So basically I want to return a (MonadIO m, MonadError ServantError m) => m (SourceIO returnType) from my servant handler, so that it can stream the result |
2021-11-10 10:33:45 +0100 | <tomsmeding> | gut feeling says Helium should have some of the required machinery for such a thing (not necessarily all) |
2021-11-10 10:33:59 +0100 | <Profpatsch> | But unfortunately Servant documentation is horrible, so I’m dumbfounded at how to do that when it requires a hard IO |
2021-11-10 10:34:04 +0100 | mmhat | (~mmh@55d4b224.access.ecotel.net) |
2021-11-10 10:34:28 +0100 | <Profpatsch> | My intuition is that in order to do correct resource handling, I have to pass the ResourceT in somehow |
2021-11-10 10:34:32 +0100 | <tomsmeding> | SourceIO itself is already a monad |
2021-11-10 10:35:05 +0100 | <tomsmeding> | are you sure (I don't know either, just guessing) that you don't want something like 'SourceT m returnType' instead? |
2021-11-10 10:35:18 +0100 | <Profpatsch> | tomsmeding: Ohhh, hmmm |
2021-11-10 10:35:20 +0100 | <Profpatsch> | let me try |
2021-11-10 10:36:45 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Remote host closed the connection) |
2021-11-10 10:36:51 +0100 | <Profpatsch> | I’m very close to throwing out all of servant and starting over with a good web framework tbh |
2021-11-10 10:37:24 +0100 | <Profpatsch> | tomsmeding: I don’t think it’s so easily possible, the documentation in https://hackage.haskell.org/package/servant-0.18/docs/Servant-API.html#t:SourceIO says |
2021-11-10 10:37:30 +0100 | <Profpatsch> | > Stream endpoints may be implemented as producing a SourceIO chunk. |
2021-11-10 10:37:32 +0100 | <lambdabot> | <hint>:1:67: error: |
2021-11-10 10:37:32 +0100 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2021-11-10 10:37:37 +0100 | zincy | (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) |
2021-11-10 10:37:41 +0100 | <tomsmeding> | poor lambdabot |
2021-11-10 10:37:56 +0100 | <tomsmeding> | but yeah I don't know either :p |
2021-11-10 10:38:04 +0100 | <Profpatsch> | who uses a blockquote character for eval anyway :) |
2021-11-10 10:38:12 +0100 | <tomsmeding> | just saying that 'm (SourceIO r)' looks weird to me if SourceIO is already a monad |
2021-11-10 10:38:22 +0100 | <Profpatsch> | yeah, same |
2021-11-10 10:38:29 +0100 | <tomsmeding> | not impossible, just weird |
2021-11-10 10:38:31 +0100 | <Profpatsch> | But the type is kinda forced by the Servant typelevel bullshit |
2021-11-10 10:38:52 +0100 | <zincy> | How best would you "go back in time" for a hashmap. I was thinking [(UtcTime Map]) is there something better? |
2021-11-10 10:38:54 +0100 | <Profpatsch> | Plus the bad decision to try and abstract over pipe libraries instead of just requiring one pipe lib |
2021-11-10 10:38:57 +0100 | <zincy> | tuple that is |
2021-11-10 10:39:03 +0100 | <dminuoso> | zincy: What does "go back in time" mean? |
2021-11-10 10:39:17 +0100 | <dminuoso> | And what is `UtcTime Map` supposed to denote? |
2021-11-10 10:39:21 +0100 | <zincy> | Have a record of changes associated to timestamps |
2021-11-10 10:39:32 +0100 | <zincy> | So going back in time would mean iteration |
2021-11-10 10:39:50 +0100 | <dminuoso> | Without knowing way more context, this is going to be difficult to answer. |
2021-11-10 10:40:37 +0100 | jzsinatra | (~jzsinatra@88-114-238-31.elisa-laajakaista.fi) |
2021-11-10 10:40:50 +0100 | <zincy> | Say you have a todo list represented by newtype TodoList = TodoList (Map TodoId Todo) |
2021-11-10 10:41:17 +0100 | <zincy> | I can do CRUD on my todo list which is simple. |
2021-11-10 10:41:27 +0100 | <dminuoso> | zincy: First question is, do you just want to maintain a linear history, or some tree history? |
2021-11-10 10:41:36 +0100 | <zincy> | Ooh good question |
2021-11-10 10:41:54 +0100 | <zincy> | Tree history sounds fun |
2021-11-10 10:42:50 +0100 | <tomsmeding> | tree history is only relevant if you want to undo, then apply changes again, then undo once more and go back into your original branch |
2021-11-10 10:43:12 +0100 | <dminuoso> | Side note, tree-mode in emacs is absolutely amazing. |
2021-11-10 10:43:22 +0100 | <tomsmeding> | tree undo in text editors is amazing |
2021-11-10 10:43:23 +0100 | <dminuoso> | Linear history for a code editor is frustratingly limiting |
2021-11-10 10:43:31 +0100 | <tomsmeding> | in a todo app it feels quite overpowered :p |
2021-11-10 10:43:38 +0100 | fluxit | (~fluxit@techsmix.net) (Quit: Bye!) |
2021-11-10 10:43:39 +0100 | <dminuoso> | Yes, no, perhaps. |
2021-11-10 10:44:06 +0100 | <dminuoso> | tomsmeding: What can I say, tree-mode + org-mode gives me *both* |
2021-11-10 10:44:16 +0100 | <dminuoso> | sorry *tree undo + org-mode |
2021-11-10 10:44:27 +0100 | <tomsmeding> | tree-org |
2021-11-10 10:45:06 +0100 | <dminuoso> | Btw, I recently did the mistake of looking at the.. original "specification" of markdown |
2021-11-10 10:45:11 +0100 | <dminuoso> | Wow, what a huge mistake. |
2021-11-10 10:45:34 +0100 | <dminuoso> | I assumed to find some document with a formal bnf grammar and some clean semantics. |
2021-11-10 10:45:45 +0100 | <tomsmeding> | you assumed wrong |
2021-11-10 10:45:53 +0100 | <dminuoso> | Heh yeah. |
2021-11-10 10:45:57 +0100 | <tomsmeding> | wasn't it a perl script |
2021-11-10 10:46:09 +0100 | <yushyin> | markdown is just a bad format through and through |
2021-11-10 10:46:14 +0100 | <tomsmeding> | like, originally |
2021-11-10 10:46:29 +0100 | <dminuoso> | It doesnt even have semantics, it just presents a bunch of *examples* and then shows how it renders. I managed to trigger a dozen undesirable side effects in the reference implementation |
2021-11-10 10:46:31 +0100 | <tomsmeding> | markdown is an amazing format because it works for a lot of people in a lot of contexts |
2021-11-10 10:46:33 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 10:46:35 +0100 | <dminuoso> | yushyin: Its not even a format. |
2021-11-10 10:46:36 +0100 | <tomsmeding> | the lack of standardisation is annoying though |
2021-11-10 10:46:38 +0100 | <dminuoso> | It's just.. something. |
2021-11-10 10:47:03 +0100 | <dminuoso> | The reference implementation is just some quickly written adhoc nonsense that misbehaves in so many bizarre ways |
2021-11-10 10:47:13 +0100 | <dminuoso> | It's not even wrong. |
2021-11-10 10:47:16 +0100 | <tomsmeding> | I format my personal notes in markdown even if I'm not actually pulling it through a renderer |
2021-11-10 10:47:38 +0100 | yahb | (xsbot@user/mniip/bot/yahb) (Ping timeout: 268 seconds) |
2021-11-10 10:47:42 +0100 | <tomsmeding> | and the non-definedness of the format makes that possible :D |
2021-11-10 10:48:03 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 10:48:05 +0100 | <zincy> | Oh thanks I will try tree mode in emacs! |
2021-11-10 10:48:08 +0100 | <Profpatsch> | Oh god there is an example https://github.com/haskell-servant/servant/blob/master/servant-conduit/example/Main.hs |
2021-11-10 10:48:14 +0100 | <Profpatsch> | Why isn’t this mentioned anywhere in the docs |
2021-11-10 10:48:16 +0100 | <dminuoso> | zincy: https://www.emacswiki.org/emacs/UndoTree |
2021-11-10 10:48:22 +0100 | <Profpatsch> | why isn’t it *in* the docs |
2021-11-10 10:48:34 +0100 | <zincy> | Yeah lets go for linear history |
2021-11-10 10:48:34 +0100 | <dminuoso> | It's really amazing. :) |
2021-11-10 10:48:37 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2021-11-10 10:48:37 +0100 | <tomsmeding> | but yeah </trolling>, the ill-definedness is annoying and I'm consistently annoyed by the indentation requirements for lists as well |
2021-11-10 10:48:40 +0100 | <zincy> | Its a todo app :D |
2021-11-10 10:49:17 +0100 | <dminuoso> | zincy: As a starter you can simply maintain some [TodoList] |
2021-11-10 10:49:29 +0100 | <dminuoso> | And each modification just prepends a new TodoList to that. |
2021-11-10 10:49:42 +0100 | <zincy> | Thanks! |
2021-11-10 10:49:54 +0100 | <dminuoso> | The main difficulty will consist in keeping enough state around to bring your editor into a sensible state when you go back |
2021-11-10 10:50:01 +0100 | <dminuoso> | that is if you undo or redo |
2021-11-10 10:50:15 +0100 | <zincy> | yeah |
2021-11-10 10:53:49 +0100 | yahb | (xsbot@user/mniip/bot/yahb) |
2021-11-10 10:56:45 +0100 | <Profpatsch> | tomsmeding: even the example just has all handlers in IO |
2021-11-10 10:57:14 +0100 | <Profpatsch> | So idk how to do any of that. I can’t add it to my servant routes that way |
2021-11-10 10:57:34 +0100 | <Profpatsch> | Maybe I can implement an orphan instance that is in MonadIO somehow |
2021-11-10 10:57:43 +0100 | <Profpatsch> | Or I have to do MonadUnliftIO stuff |
2021-11-10 10:59:14 +0100 | <int-e> | does this count as a todo app? https://paste.debian.net/1218951/ |
2021-11-10 11:00:55 +0100 | <zincy> | int-e: haha |
2021-11-10 11:01:08 +0100 | <zincy> | Todo lists all the way down |
2021-11-10 11:01:51 +0100 | zava | (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Quit: WeeChat 3.3) |
2021-11-10 11:04:00 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-10 11:06:53 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-10 11:07:11 +0100 | eruditass | (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 11:09:12 +0100 | pop3 | (~pop3@user/pop3) (Remote host closed the connection) |
2021-11-10 11:10:43 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-11-10 11:11:02 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-11-10 11:11:12 +0100 | <Profpatsch> | tomsmeding: Uh, when I try to create an orphan instacnce instance MonadIO m => Servant.Conduit.ConduitToSourceIO (ResourceT m) where |
2021-11-10 11:11:23 +0100 | <Profpatsch> | GHC complains that it already exists, and points to the m ~ IO => instance |
2021-11-10 11:11:33 +0100 | c_wraith | (~c_wraith@adjoint.us) |
2021-11-10 11:11:44 +0100 | <tomsmeding> | yeah, that instance is basically saying that you can't do what you want |
2021-11-10 11:12:26 +0100 | <tomsmeding> | writing 'instance m ~ X => Class m where' means that whenever GHC sees "Class m", it's going to use this instance, and then discover that m ~ X |
2021-11-10 11:12:47 +0100 | <tomsmeding> | as opposed to 'instance Class X where', where the instance only gets chosen if it is already known that m ~ X |
2021-11-10 11:13:09 +0100 | <Profpatsch> | hrm |
2021-11-10 11:13:13 +0100 | fluxit | (~fluxit@techsmix.net) |
2021-11-10 11:13:20 +0100 | tomsmeding | knows nothing about servant |
2021-11-10 11:13:26 +0100 | mmaruseacph2 | (~mihai@198.199.100.72) |
2021-11-10 11:13:36 +0100 | <Profpatsch> | I assume it has something to do with how ResourceT wants to free resources? |
2021-11-10 11:13:56 +0100 | <Profpatsch> | But I don’t understand why I can’t put a ResourceT in my m and then have it handle it for me |
2021-11-10 11:13:59 +0100 | <tomsmeding> | yeah finalizers are fundamentally incompatible with arbitrary monad transformers |
2021-11-10 11:14:13 +0100 | <tomsmeding> | like, what if the user layers an except monad on top? then finalizers might never get run |
2021-11-10 11:14:41 +0100 | <tomsmeding> | or hm, this depends on in which order you compose the transformers exactly |
2021-11-10 11:15:34 +0100 | <tomsmeding> | I don't know :D |
2021-11-10 11:15:38 +0100 | <Profpatsch> | tomsmeding: But ResourceT in particular is in MonadUnliftIO http://localhost:9090/file/nix/store/1an4ayakan989gr05h0qf65w3zzs4q61-conduit-1.3.4.1-doc/share/do… |
2021-11-10 11:15:47 +0100 | <Profpatsch> | So that points to it maybe being possible just not done yet? |
2021-11-10 11:15:58 +0100 | <Profpatsch> | Now if there were only comments somewhere that described the restriction |
2021-11-10 11:16:18 +0100 | <Profpatsch> | I feel like this is all accidental complexity |
2021-11-10 11:18:07 +0100 | <[exa]> | tomsmeding: I got caught in the meeting but yes, that's it |
2021-11-10 11:18:17 +0100 | <merijn> | tomsmeding: ResourceT works by forcing everything into, effectively, a giant "with" bracket |
2021-11-10 11:19:09 +0100 | <[exa]> | tomsmeding: on top of that something like `Map LexState [(regexlike, LexState)]` for making actual DFA out of that |
2021-11-10 11:20:08 +0100 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-11-10 11:20:20 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:5cf1:3cc3:9b0b:354b) |
2021-11-10 11:21:51 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-10 11:24:47 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2021-11-10 11:25:56 +0100 | __monty__ | (~toonn@user/toonn) |
2021-11-10 11:29:07 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-11-10 11:31:11 +0100 | andjjj23 | (~irc@107.170.228.47) |
2021-11-10 11:32:31 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 11:33:02 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) (Ping timeout: 240 seconds) |
2021-11-10 11:34:25 +0100 | <[exa]> | tomsmeding: anyway, if this is slow then at very worst I can literally compile it to flex using this representation. :D |
2021-11-10 11:34:49 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 11:37:16 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) |
2021-11-10 11:39:47 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-11-10 11:41:32 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Ping timeout: 246 seconds) |
2021-11-10 11:42:37 +0100 | bairyn | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 256 seconds) |
2021-11-10 11:44:58 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-10 11:58:13 +0100 | DNH | (~DNH@2a09:bac0:48::82b:7a35) |
2021-11-10 11:59:26 +0100 | mei3 | (~mei@user/mei) (Read error: Connection reset by peer) |
2021-11-10 12:00:21 +0100 | kadir | (~kadir@78.178.105.36) |
2021-11-10 12:00:52 +0100 | alx741 | (~alx741@181.196.68.101) |
2021-11-10 12:07:13 +0100 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Quit: No Ping reply in 180 seconds.) |
2021-11-10 12:08:34 +0100 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) |
2021-11-10 12:16:17 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 12:20:39 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
2021-11-10 12:24:07 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 12:27:23 +0100 | Neuromancer | (~Neuromanc@user/neuromancer) |
2021-11-10 12:28:53 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 264 seconds) |
2021-11-10 12:34:24 +0100 | mbuf | (~Shakthi@122.174.254.232) (Leaving) |
2021-11-10 12:36:02 +0100 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-11-10 12:40:45 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-11-10 12:41:46 +0100 | <mcgroin> | can we use coerce on a function and turn it into another function accepting the coerced parameters? |
2021-11-10 12:44:58 +0100 | <amesgen[m]> | mcgroin: Yes, thats e.g. how deriving via is implemented. |
2021-11-10 12:45:00 +0100 | <merijn> | mcgroin: Yes |
2021-11-10 12:45:29 +0100 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-11-10 12:45:54 +0100 | <mcgroin> | great |
2021-11-10 12:46:13 +0100 | <tomsmeding> | [exa]: ah so you actually want Automaton to be non-opaque |
2021-11-10 12:46:33 +0100 | <tomsmeding> | (sorry meetings) |
2021-11-10 12:51:47 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-11-10 12:56:36 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 12:57:46 +0100 | DNH | (~DNH@2a09:bac0:48::82b:7a35) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-10 12:58:24 +0100 | bliminse | (~bliminse@host86-185-253-43.range86-185.btcentralplus.com) (Quit: leaving) |
2021-11-10 12:59:39 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-10 12:59:54 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 260 seconds) |
2021-11-10 13:01:11 +0100 | hololeap | (~hololeap@user/hololeap) (Read error: Connection reset by peer) |
2021-11-10 13:02:41 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-10 13:03:45 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 13:04:02 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-11-10 13:08:33 +0100 | bliminse | (~bliminse@host86-185-253-43.range86-185.btcentralplus.com) |
2021-11-10 13:22:12 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-11-10 13:25:01 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) |
2021-11-10 13:25:46 +0100 | <maerwald> | is there a solution to use `cabal build`, but then install binaries and libraries in a way that makes it work (if `-dynamic` is used)? |
2021-11-10 13:30:25 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-11-10 13:31:40 +0100 | Cajun | (~Cajun@user/cajun) (Quit: Client closed) |
2021-11-10 13:31:46 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-11-10 13:31:56 +0100 | neurocyte0132889 | (~neurocyte@94.46.71.199) |
2021-11-10 13:31:56 +0100 | neurocyte0132889 | (~neurocyte@94.46.71.199) (Changing host) |
2021-11-10 13:31:56 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-11-10 13:32:19 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) |
2021-11-10 13:35:48 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2021-11-10 13:36:18 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-11-10 13:39:51 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) |
2021-11-10 13:40:44 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 13:43:10 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-11-10 13:44:02 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Ping timeout: 240 seconds) |
2021-11-10 13:45:01 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-11-10 13:47:53 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 246 seconds) |
2021-11-10 13:50:04 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-11-10 13:50:53 +0100 | gehmehgeh_ | (~user@user/gehmehgeh) |
2021-11-10 13:53:47 +0100 | mark__ | (~a@p200300ef973db1e34086f0a6a24fc4dd.dip0.t-ipconnect.de) |
2021-11-10 13:54:22 +0100 | neurocyte0132889 | (~neurocyte@94.46.71.199) |
2021-11-10 13:54:22 +0100 | neurocyte0132889 | (~neurocyte@94.46.71.199) (Changing host) |
2021-11-10 13:54:22 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-11-10 13:54:48 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 276 seconds) |
2021-11-10 13:59:08 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
2021-11-10 13:59:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2021-11-10 13:59:25 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) (Ping timeout: 268 seconds) |
2021-11-10 13:59:33 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 14:00:01 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-10 14:02:14 +0100 | max22- | (~maxime@2a01cb0883359800c49e7f6f9540e9e4.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
2021-11-10 14:02:34 +0100 | ubert1 | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
2021-11-10 14:03:38 +0100 | DNH | (~DNH@8.43.122.53) |
2021-11-10 14:08:02 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 14:08:58 +0100 | boxscape_ | (~boxscape_@134.171.69.87) |
2021-11-10 14:11:29 +0100 | <boxscape_> | gratuitous syntax extension idea #27: Use !<class> to introduce a new variable whose type must be an instance of that class. e.g. `5 :: !Num` or `pure :: a -> !Applicative a` |
2021-11-10 14:13:53 +0100 | CiaoSen | (~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-11-10 14:15:17 +0100 | <robosexual> | so it's basically `anonymous` constrained type variables. since `pure :: a -> !Applicative a` <=> `pure :: Applicative _f => a -> _f a` where `_f` can be reffered only once |
2021-11-10 14:15:38 +0100 | <boxscape_> | right |
2021-11-10 14:16:15 +0100 | <robosexual> | might make some stuff a bit more readable for sure |
2021-11-10 14:18:42 +0100 | <robosexual> | there is a lot of functiouns with signature as such `some :: (Monad m) => A -> B -> m C` which could be just `some :: A -> B -> !Monad C` |
2021-11-10 14:19:03 +0100 | <boxscape_> | yeah |
2021-11-10 14:19:24 +0100 | <robosexual> | nice:) |
2021-11-10 14:19:44 +0100 | <boxscape_> | alas, probably not actually worth an extension |
2021-11-10 14:21:44 +0100 | <robosexual> | ideas shall be spoken:) |
2021-11-10 14:22:20 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection) |
2021-11-10 14:22:25 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 256 seconds) |
2021-11-10 14:23:13 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 14:23:26 +0100 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) (Ping timeout: 260 seconds) |
2021-11-10 14:24:21 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 14:24:55 +0100 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) |
2021-11-10 14:27:36 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 245 seconds) |
2021-11-10 14:31:51 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2021-11-10 14:31:52 +0100 | chele_ | (~chele@user/chele) |
2021-11-10 14:33:45 +0100 | chele | (~chele@user/chele) (Ping timeout: 256 seconds) |
2021-11-10 14:44:35 +0100 | aliosablack | (~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374) (Ping timeout: 246 seconds) |
2021-11-10 14:44:39 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-11-10 14:45:37 +0100 | chomwitt | (~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374) |
2021-11-10 14:47:03 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2021-11-10 14:47:42 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 260 seconds) |
2021-11-10 14:47:59 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2021-11-10 14:52:55 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 14:55:11 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 14:55:25 +0100 | servytor | (uid525486@id-525486.hampstead.irccloud.com) |
2021-11-10 14:55:31 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 245 seconds) |
2021-11-10 14:56:10 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2021-11-10 14:57:32 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 240 seconds) |
2021-11-10 14:59:49 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-11-10 15:01:02 +0100 | rkrishnan | (~user@122.167.19.65) (Ping timeout: 240 seconds) |
2021-11-10 15:01:25 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-11-10 15:04:41 +0100 | <adamCS> | My hls setup (emacs, mac os) often tries to make such a long and not-useful completion list that it gets in the way much more than it helps. Anyone know how to configure anything about that or where to look to figure it out? I haven't found a lot of documentation of the options I can configure. |
2021-11-10 15:08:32 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds) |
2021-11-10 15:12:57 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2021-11-10 15:13:25 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2021-11-10 15:13:29 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 15:14:26 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-10 15:18:07 +0100 | justCity | justache |
2021-11-10 15:18:21 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 268 seconds) |
2021-11-10 15:19:14 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-11-10 15:22:18 +0100 | tomku|two | tomku |
2021-11-10 15:29:31 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 15:33:32 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 240 seconds) |
2021-11-10 15:35:24 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) |
2021-11-10 15:39:13 +0100 | <cigsender> | adamCS: you might get a faster reply on #haskell-language-server :) |
2021-11-10 15:39:41 +0100 | <adamCS> | cigsender: yep. I'll try that...Thanks! |
2021-11-10 15:39:45 +0100 | <tomsmeding> | adamCS: what editor? |
2021-11-10 15:40:19 +0100 | <tomsmeding> | there have been result ordering issues with HLS, that have been fixed with a PR _today_, so not in any released version yet -- but whether you're hit by this depends on your editor |
2021-11-10 15:40:47 +0100 | <geekosaur> | "My hls setup (emacs, mac os)" |
2021-11-10 15:40:54 +0100 | <adamCS> | tomsmeding: emacs. I think my issue might be company rather than hls? |
2021-11-10 15:41:20 +0100 | <tomsmeding> | adamCS: see https://github.com/haskell/haskell-language-server/issues/2291#issuecomment-949477646 and https://github.com/haskell/haskell-language-server/issues/2291 |
2021-11-10 15:41:31 +0100 | <tomsmeding> | is it possible that the problem is simply result _ordering_? If so, probably this |
2021-11-10 15:41:48 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) |
2021-11-10 15:42:37 +0100 | <adamCS> | I'm trying to simplify the company setup. Half the problem was having number completions on and a bunch of my variables have numbers in the names and so things often went...haywire. But also, emacs would hang when gathering the list (I think) and then the list wouldn't make sense. That last bit might be ordering. |
2021-11-10 15:45:56 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Ping timeout: 245 seconds) |
2021-11-10 15:46:12 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:5cf1:3cc3:9b0b:354b) (Remote host closed the connection) |
2021-11-10 15:47:24 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:b8f5:7f5:bf66:e7c) |
2021-11-10 15:47:35 +0100 | gentauro_ | (~gentauro@185.107.12.141) (Changing host) |
2021-11-10 15:47:35 +0100 | gentauro_ | (~gentauro@user/gentauro) |
2021-11-10 15:47:53 +0100 | max22- | (~maxime@2a01cb0883359800a8cb049c70e9b71a.ipv6.abo.wanadoo.fr) |
2021-11-10 15:48:31 +0100 | gentauro_ | (~gentauro@user/gentauro) (Quit: leaving) |
2021-11-10 15:48:45 +0100 | gentauro | (~gentauro@user/gentauro) |
2021-11-10 15:48:47 +0100 | jkaye | (~jkaye@2601:281:8300:7530:212b:79de:3c7b:f9e0) |
2021-11-10 15:49:17 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2021-11-10 15:50:02 +0100 | mark__ | (~a@p200300ef973db1e34086f0a6a24fc4dd.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-11-10 15:50:23 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-11-10 15:52:29 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-11-10 15:53:43 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 15:54:49 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-10 15:54:49 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-10 15:54:49 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-10 15:56:04 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2021-11-10 15:59:27 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-11-10 16:00:47 +0100 | adamCS | (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (Ping timeout: 250 seconds) |
2021-11-10 16:01:10 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-11-10 16:02:41 +0100 | gehmehgeh_ | (~user@user/gehmehgeh) (Remote host closed the connection) |
2021-11-10 16:02:47 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 16:03:25 +0100 | gehmehgeh_ | (~user@user/gehmehgeh) |
2021-11-10 16:04:41 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 250 seconds) |
2021-11-10 16:05:24 +0100 | k` | (~user@152.1.137.158) |
2021-11-10 16:05:33 +0100 | adamCS | (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) |
2021-11-10 16:06:09 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 16:06:23 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2021-11-10 16:06:54 +0100 | mark__ | (~a@p200300ef973db1dc4086f0a6a24fc4dd.dip0.t-ipconnect.de) |
2021-11-10 16:07:22 +0100 | timCF | (~timCF@200-149-20-81.sta.estpak.ee) |
2021-11-10 16:07:35 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 264 seconds) |
2021-11-10 16:07:52 +0100 | <k`> | Is there a way to use associated type families with functional dependencies? Like `class Foo a b | (Bar a) -> b where type Bar a` ? |
2021-11-10 16:08:32 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) (Ping timeout: 240 seconds) |
2021-11-10 16:08:49 +0100 | <geekosaur> | have you tried it? |
2021-11-10 16:10:35 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Ping timeout: 264 seconds) |
2021-11-10 16:12:47 +0100 | <timCF> | Hello! Is there the way to declare somehow system library dependencies in package.yaml file? |
2021-11-10 16:14:11 +0100 | <boxscape_> | k` hmmm I'm not sure if that has the inference advantages you're likely looking for but maybe something like `class (c ~ Bar a) => Foo a b c | c -> b where type Bar a` could work |
2021-11-10 16:15:39 +0100 | <geekosaur> | timCF, why are you still using package.yaml? even the stack folks have gone back to cabal files, because package.yaml is so limited |
2021-11-10 16:16:31 +0100 | <timCF> | geekosaur: I didn't know this :) But is it possible to do the same thing in cabal file? |
2021-11-10 16:16:49 +0100 | <geekosaur> | at least two ways to do it in the cabal file |
2021-11-10 16:17:46 +0100 | <timCF> | geekosaur: and how? |
2021-11-10 16:18:26 +0100 | [Kalisto]_ | (~nico@user/kalisto/x-8968079) |
2021-11-10 16:18:33 +0100 | [Kalisto] | (~nico@user/kalisto/x-8968079) (Ping timeout: 250 seconds) |
2021-11-10 16:18:38 +0100 | <geekosaur> | pkgconfig-depends and extra-libraries |
2021-11-10 16:18:46 +0100 | <geekosaur> | had to doublecheck the names, sorry |
2021-11-10 16:19:18 +0100 | <geekosaur> | pkgconfig-depends is used when the library has a pkg-config specification (*.pc file), otherwise extra-libraries is used |
2021-11-10 16:19:22 +0100 | Andrew_ | (~andrew@user/andrewyu) |
2021-11-10 16:19:29 +0100 | <timCF> | geekosaur: thanks a lot, I'll check corresponding docs! |
2021-11-10 16:19:32 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) (Ping timeout: 240 seconds) |
2021-11-10 16:20:15 +0100 | AndrewYu | (~andrew@user/andrewyu) (Read error: Connection reset by peer) |
2021-11-10 16:21:04 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 16:21:16 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2021-11-10 16:21:42 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-11-10 16:22:34 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-11-10 16:22:34 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-11-10 16:22:34 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-11-10 16:23:07 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 16:23:14 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer) |
2021-11-10 16:23:24 +0100 | <maerwald> | you can also use a custom Setup.hs |
2021-11-10 16:23:47 +0100 | p_____ | (~dyeplexer@user/dyeplexer) |
2021-11-10 16:23:54 +0100 | <maerwald> | e.g. https://github.com/llvm-hs/llvm-hs/blob/llvm-12/llvm-hs/Setup.hs |
2021-11-10 16:24:21 +0100 | <geekosaur> | but the cabal folks don't like custom Setup.hs |
2021-11-10 16:24:23 +0100 | p_____ | (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
2021-11-10 16:24:47 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-11-10 16:25:10 +0100 | <maerwald> | so? |
2021-11-10 16:25:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-11-10 16:25:35 +0100 | <maerwald> | cabal has insufficient means to discover libraries |
2021-11-10 16:25:56 +0100 | <maerwald> | in fact, pkg-config shouldn't even be a cabal feature imo. The main reason it's used is because it's fed into the solver |
2021-11-10 16:26:04 +0100 | v01d4lph4 | (~v01d4lph4@223.190.93.72) |
2021-11-10 16:26:04 +0100 | v01d4lph4 | (~v01d4lph4@223.190.93.72) (Changing host) |
2021-11-10 16:26:04 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 16:26:20 +0100 | <maerwald> | but in reality... pkg-config files are not a standard, just one of many ways for libraries to expose such info |
2021-11-10 16:26:43 +0100 | mimmy | (~mimmyjau@72.142.88.18) |
2021-11-10 16:26:46 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) (Ping timeout: 245 seconds) |
2021-11-10 16:27:02 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2021-11-10 16:27:07 +0100 | <geekosaur> | pkg-config is really useful when you need custom build flags (-I, defines etc.) as well as libraries |
2021-11-10 16:27:20 +0100 | <sclv> | its mainly used not for the solver but as geekosaur said, for the linker flags |
2021-11-10 16:27:43 +0100 | asthasr_ | (~asthasr@162.210.28.151) (Quit: asthasr_) |
2021-11-10 16:28:11 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) |
2021-11-10 16:28:28 +0100 | <maerwald> | geekosaur: for that it's also not a standard |
2021-11-10 16:28:56 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2021-11-10 16:29:02 +0100 | <maerwald> | instead, cabal should provide better/easier API to write custom Setup.hs without understanding all the internals |
2021-11-10 16:29:20 +0100 | <sclv> | no we should eliminate all custom setup |
2021-11-10 16:29:49 +0100 | <maerwald> | how do you support llvm then as linked above? |
2021-11-10 16:29:57 +0100 | <geekosaur> | but with custom Setup, just one thing that occurs to me is now you need to run package configure while running the solver, and possibly restart the solver afterward |
2021-11-10 16:30:23 +0100 | <geekosaur> | because your list of dependencies may have changed |
2021-11-10 16:30:38 +0100 | <sclv> | maerwald: we extend the grammar of cabal files to express what people currently need custom setup for |
2021-11-10 16:30:45 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-11-10 16:30:52 +0100 | <maerwald> | I don't think that's a good idea |
2021-11-10 16:32:04 +0100 | <maerwald> | you can never satisfy all and it's a constantly evolving story |
2021-11-10 16:32:24 +0100 | <kritzefitz> | sclv so you say Cabal shouldn't be extendable? |
2021-11-10 16:32:29 +0100 | <maerwald> | cargo also has build.rs |
2021-11-10 16:35:02 +0100 | <sclv> | well i mean i think we'll be stuck with custom setups foreverish |
2021-11-10 16:35:11 +0100 | <sclv> | but ideally we can minimize how many we need continously |
2021-11-10 16:35:33 +0100 | <k`> | boxscape_: I'm trying to avoid having `Bar a` as a type parameter of the class instance that defines it. That would pretty much defeat the purpose. |
2021-11-10 16:35:49 +0100 | xddq[m] | (~xddqmatri@2001:470:69fc:105::bfd8) |
2021-11-10 16:36:04 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) |
2021-11-10 16:36:14 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 16:36:30 +0100 | <tomsmeding> | adamCS: I tested 'master' of haskell-language-server and that fixes ordering problems for me; note that it now also makes the first character of the completion case-sensitive, where previously the whole match was case-insensitive. |
2021-11-10 16:36:51 +0100 | Sgeo_ | (~Sgeo@user/sgeo) |
2021-11-10 16:36:55 +0100 | <kritzefitz> | sclv: so ideally Cabal should support compiling gettext PO files and installing the results? |
2021-11-10 16:37:31 +0100 | <sclv> | kritzefitz: why would that be necessary? |
2021-11-10 16:37:39 +0100 | <maerwald> | Anything that isn't pkg-config, such as llvm-config, is likely gonna be ad-hoc and can't be used to design an interface. Unless you require the user to write wrapper scripts that convert to known format (which Ben has been doing with fake pkg-config scripts) |
2021-11-10 16:37:42 +0100 | <boxscape_> | k` if you also add `a -> c` as functional dependency you might be able to always write _ (with -XPartialTypeSignatures) instead of actually passing the c argument, I think |
2021-11-10 16:37:57 +0100 | <adamCS> | tomsmeding: That's great! Thanks! Can I just cabal build it and then put in the ghcup/bin directory and point all the links to it? Or should I just wait for a release? |
2021-11-10 16:38:11 +0100 | <boxscape_> | ideally you'd want a way to have an invisible argument for the class, but as far as I can tell that's not supported |
2021-11-10 16:38:22 +0100 | <kritzefitz> | sclv, because some packages might want to use gettext localization files and thus need to compile them on build and install them accordingly? |
2021-11-10 16:38:25 +0100 | <sclv> | i imagine custom preprocessors can cover a lot of the ground currently used by Setup.hs |
2021-11-10 16:38:30 +0100 | <maerwald> | https://github.com/bgamari/nix-pkgconfig |
2021-11-10 16:38:32 +0100 | <maerwald> | I think that |
2021-11-10 16:38:47 +0100 | <tomsmeding> | adamCS: if you're using cabal, then yes, just cabal build and put the binary somewhere in your path, doesn't even need to be .ghcup/bin -- though it needs to be _before_ .ghcup/bin in your path if you put it anywhere else |
2021-11-10 16:38:54 +0100 | <k`> | boxscape_: Thanks, that's what I was wondering. Not the answer I wanted, but it's good to know I can stop trying. |
2021-11-10 16:38:57 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
2021-11-10 16:39:10 +0100 | mimmy | (~mimmyjau@72.142.88.18) (Quit: WeeChat 3.3) |
2021-11-10 16:39:12 +0100 | <tomsmeding> | adamCS: if you're using ghc >= 9.0, mind the custom cabal.project files |
2021-11-10 16:39:14 +0100 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 260 seconds) |
2021-11-10 16:39:17 +0100 | <tomsmeding> | (otherwise hls won't build) |
2021-11-10 16:39:22 +0100 | <maerwald> | adamCS: you can compile hls via ghcup |
2021-11-10 16:39:39 +0100 | <adamCS> | maerwald: un unreleased version? |
2021-11-10 16:39:42 +0100 | <maerwald> | yes |
2021-11-10 16:39:46 +0100 | <adamCS> | HOW? |
2021-11-10 16:39:51 +0100 | <maerwald> | ghcup compile hls --help |
2021-11-10 16:40:36 +0100 | <tomsmeding> | maerwald++ |
2021-11-10 16:40:42 +0100 | <adamCS> | wow. |
2021-11-10 16:40:50 +0100 | <adamCS> | That's cool. |
2021-11-10 16:40:53 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 264 seconds) |
2021-11-10 16:40:55 +0100 | <k`> | Was hoping I could do something like `class Mapping a b | b (Object a) -> a, a (Object b) -> b where type Object a; type Object a = Param a; map :: (Object a -> Object b) -> a -> b` |
2021-11-10 16:40:57 +0100 | <kritzefitz> | sclv: preprocessors process haskell(ish) source files to output haskell, right? How does that help in compiling non-haskell to other non-haskell or installing files in special locations? |
2021-11-10 16:41:36 +0100 | <sclv> | i mean clearly a cabal package should not just be installing and compiling nonhaskell to nonhaskell, i would argue that is not the job of a haskell package |
2021-11-10 16:41:48 +0100 | <sclv> | people should not do that |
2021-11-10 16:41:54 +0100 | <tomsmeding> | maerwald: I assume for ghc >= 9.0 you'll need to explicitly give the --cabal-project file? |
2021-11-10 16:41:55 +0100 | <k`> | Rather than forcing folks to write, e.g., `instance Mapping (T a) (T b) a b where ...` |
2021-11-10 16:42:08 +0100 | <kritzefitz> | sclv so how do you propose people use gettext? |
2021-11-10 16:42:21 +0100 | <sclv> | i don't want to have a build depends on some haskell library and then have nonhaskell compiled and installed randomly on my system |
2021-11-10 16:42:27 +0100 | <maerwald> | tomsmeding: I guess |
2021-11-10 16:42:34 +0100 | <adamCS> | maerwald, tomsmeding: I'm still not on 9 since too many packages have...issues. I try every couple weeks! |
2021-11-10 16:42:37 +0100 | <tomsmeding> | maerwald: makes sense |
2021-11-10 16:43:00 +0100 | <kritzefitz> | sclv so you think data files are evil as well? |
2021-11-10 16:43:10 +0100 | <sclv> | no we control where data files go |
2021-11-10 16:43:17 +0100 | <sclv> | in the standard format |
2021-11-10 16:43:31 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 256 seconds) |
2021-11-10 16:43:37 +0100 | <kritzefitz> | There are also standard locations for gettext files. Cabal just doesn't know about them. |
2021-11-10 16:44:02 +0100 | <sclv> | gettext is low level enough i can imagine cabal support tbqh |
2021-11-10 16:44:20 +0100 | <adamCS> | maerwald: Does the version number need to match in that command need to match the cabal file in the repo or can I set to, e.g., 1.4.1 so I keep the old 1.4 around? |
2021-11-10 16:44:22 +0100 | <sclv> | but i imagine with some concerted effort then preprocessors and other tools would suffice |
2021-11-10 16:44:39 +0100 | <maerwald> | adamCS: see --overwrite-version option |
2021-11-10 16:45:07 +0100 | <adamCS> | maerwald: nice |
2021-11-10 16:45:54 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-11-10 16:46:35 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 16:46:43 +0100 | <maerwald> | I don't see what's wrong with Setup.hs being a low-level interface like build.rs, providing useful library helpers for common things like pkg-config, gettext etc |
2021-11-10 16:47:07 +0100 | <sclv> | well we'd maybe just want to cut out some features of setup.hs in that case |
2021-11-10 16:47:22 +0100 | <sclv> | like have a subset that doesn't dynamically create a haskell module manifest |
2021-11-10 16:47:31 +0100 | <kritzefitz> | sclv: maybe. Excuse my nagging. I'm just a bit frustrated sometimes, because it feels like Cabal seems to loose basic features from time to time, because people think they're not used. |
2021-11-10 16:47:33 +0100 | <sclv> | the problem is that its entirely unrestricted |
2021-11-10 16:47:45 +0100 | <sclv> | nobody is getting rid of setup.hs anytime soon |
2021-11-10 16:47:49 +0100 | <maerwald> | sclv: yes, but that's can be solved with seccomp :) |
2021-11-10 16:47:55 +0100 | <sclv> | the GOAL is that we try to make as many things as possible not need it |
2021-11-10 16:48:24 +0100 | <sclv> | so that we can analyze statically as much about a package ecosystem as possible without running haskell code |
2021-11-10 16:48:30 +0100 | <sclv> | or rather without running arbitrary haskell code |
2021-11-10 16:48:43 +0100 | <maerwald> | package managers also use sandboxes |
2021-11-10 16:48:53 +0100 | <maerwald> | that's the right solution... it's just hard cross-platform |
2021-11-10 16:50:02 +0100 | <sclv> | no also you just don't want to have to run everyone's code just to understand their packages |
2021-11-10 16:50:04 +0100 | <sclv> | even without security |
2021-11-10 16:50:28 +0100 | <kritzefitz> | Mostly I'm a bit sore, because installing packages to prefixes isn't a thing since new-style cabal. And I'm pretty stuck on a project where I would need that. |
2021-11-10 16:50:46 +0100 | <sclv> | that's something we need a good story for |
2021-11-10 16:51:00 +0100 | <sclv> | the datafiles stuff is really hacky and we don't have a good full answer |
2021-11-10 16:51:05 +0100 | coady | (~coady@31.132.2.93) |
2021-11-10 16:51:32 +0100 | <maerwald> | sclv: uhm... you're constantly running a lot of code from your package manager that you didn't write. I don't think that's a criteria. |
2021-11-10 16:51:37 +0100 | <adamCS> | maerwald: Can't make it work. When I specify the repo via "-r https://github.com/haskell/haskell-language-server" I get "Invalid option `-r'" though then it lists that as an option in the subsequent help. |
2021-11-10 16:51:55 +0100 | <maerwald> | like, do you read all the source rpms, ebuilds, etc? |
2021-11-10 16:52:03 +0100 | <kritzefitz> | sclv: If that's what is missing, I would gladly help by writing down my intended use case. (Just not right now) |
2021-11-10 16:52:21 +0100 | <sclv> | kritzefitz: please do browse the tickets, and either comment on one or open a new one! |
2021-11-10 16:52:37 +0100 | <maerwald> | adamCS: sure the entire line |
2021-11-10 16:52:41 +0100 | <maerwald> | *show |
2021-11-10 16:52:56 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-10 16:53:06 +0100 | <adamCS> | maerwald: ghcup compile hls -v 1.4.0 -r "https://github.com/haskell/haskell-language-server" -g 9415e55672a0c60a353f0bff3ae8546bdf0e7903 -o 1.4-ro 8.10.7 |
2021-11-10 16:53:29 +0100 | <maerwald> | adamCS: you can't combine -v and -r |
2021-11-10 16:53:29 +0100 | burnsidesLlama | (~burnsides@dhcp168-030.wadham.ox.ac.uk) |
2021-11-10 16:53:55 +0100 | <maerwald> | you want -g instead of -r |
2021-11-10 16:54:09 +0100 | <adamCS> | Oh! |
2021-11-10 16:54:14 +0100 | <adamCS> | That makes sense. |
2021-11-10 16:54:31 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 16:54:40 +0100 | <maerwald> | I'd also avoid 1.4-ro and use 1.4.1.1 or so (there's a bug in 0.1.17.3 with version suffixes) |
2021-11-10 16:54:57 +0100 | <maerwald> | which is fixed on master but not released |
2021-11-10 16:55:35 +0100 | <adamCS> | maerwald: Thank you! |
2021-11-10 16:55:59 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2021-11-10 16:56:12 +0100 | <maerwald> | sclv: my point is... I don't even trust cabal, not just Setup.hs. Ultimately, even ghcup would run within a syscall sandbox (e.g. because it invokes GHC makefiles, unrestricted) |
2021-11-10 16:56:14 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2021-11-10 16:57:24 +0100 | <maerwald> | reducing custom API surface is a never ending effort |
2021-11-10 16:57:47 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) (Remote host closed the connection) |
2021-11-10 16:59:03 +0100 | <maerwald> | paludis uses sydbox (seccomp based), portage uses something else afair |
2021-11-10 16:59:13 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-11-10 16:59:26 +0100 | alzgh | (~alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-11-10 17:00:07 +0100 | <maerwald> | https://gitweb.gentoo.org/proj/sandbox.git |
2021-11-10 17:00:46 +0100 | <maerwald> | ah, it uses ptrace |
2021-11-10 17:01:02 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-10 17:03:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 17:05:37 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-11-10 17:06:11 +0100 | boxscape_ | (~boxscape_@134.171.69.87) (Ping timeout: 256 seconds) |
2021-11-10 17:08:12 +0100 | [Kalisto]_ | [Kalisto] |
2021-11-10 17:09:36 +0100 | roconnor | (~roconnor@host-45-58-217-8.dyn.295.ca) |
2021-11-10 17:11:19 +0100 | <roconnor> | When the Haskell report says "A Word is an unsigned integral type, with the same size as Int." What does the same "size" mean? Does it guarentee that it can hold at least up to 2^30-1 (twice maxBound of Int) or does it only guarentee up to 2^29-1 like Int? |
2021-11-10 17:11:29 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 264 seconds) |
2021-11-10 17:11:47 +0100 | <k`> | `WORD_SIZE` |
2021-11-10 17:11:48 +0100 | <c_wraith> | it means the same bit size |
2021-11-10 17:12:11 +0100 | <c_wraith> | also, it means "as the implementation's Int type" |
2021-11-10 17:12:35 +0100 | <roconnor> | okay, and Int's bitsize is at least 30, right? |
2021-11-10 17:12:36 +0100 | <c_wraith> | so it's less about the minimum range required for Int, and more about how the same compiler defined Int |
2021-11-10 17:13:06 +0100 | alzgh | (alzgh@user/alzgh) |
2021-11-10 17:13:07 +0100 | <c_wraith> | yes, it does mean it must be at least 30 bits |
2021-11-10 17:13:14 +0100 | <roconnor> | thanks. |
2021-11-10 17:13:19 +0100 | <c_wraith> | But more to the point, it must be the same size as Int |
2021-11-10 17:15:55 +0100 | <roconnor> | bitSize. |
2021-11-10 17:21:25 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) |
2021-11-10 17:22:46 +0100 | rkrishnan | (~user@122.167.19.65) |
2021-11-10 17:25:02 +0100 | mimmyjau | (~mimmyjau@72.142.88.18) |
2021-11-10 17:27:16 +0100 | mimmyjau | (~mimmyjau@72.142.88.18) (Client Quit) |
2021-11-10 17:27:36 +0100 | mimmyjau | (~mimmy@72.142.88.18) |
2021-11-10 17:27:50 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 17:28:01 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-11-10 17:28:48 +0100 | mimmyjau | (~mimmy@72.142.88.18) (Client Quit) |
2021-11-10 17:32:15 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 256 seconds) |
2021-11-10 17:33:42 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-11-10 17:35:27 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-11-10 17:35:31 +0100 | Kaipi | (~Kaiepi@156.34.44.192) (Read error: Connection reset by peer) |
2021-11-10 17:35:42 +0100 | Kaipi | (~Kaiepi@156.34.44.192) |
2021-11-10 17:36:44 +0100 | acidjnk_new | (~acidjnk@p200300d0c724a7710420fe3aa4fdb454.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-11-10 17:37:08 +0100 | acidjnk_new | (~acidjnk@p200300d0c724a7710420fe3aa4fdb454.dip0.t-ipconnect.de) |
2021-11-10 17:38:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-11-10 17:38:34 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:54fc:9972:155c:27b0) (Quit: WeeChat 2.8) |
2021-11-10 17:42:38 +0100 | acidjnk_new | (~acidjnk@p200300d0c724a7710420fe3aa4fdb454.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-11-10 17:42:59 +0100 | acidjnk_new | (~acidjnk@p200300d0c724a7710420fe3aa4fdb454.dip0.t-ipconnect.de) |
2021-11-10 17:45:57 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) |
2021-11-10 17:46:18 +0100 | DNH | (~DNH@8.43.122.53) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-10 17:47:27 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer) |
2021-11-10 17:51:45 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 17:52:07 +0100 | <nf> | hi, i'm trying to refactor this code https://github.com/ncfavier/ni/blob/master/src/Nirc.hs#L110 to float the execStateT [] initialContext to the top of the program, so that the main loop happens in the state monad |
2021-11-10 17:53:11 +0100 | <nf> | so now i need "lifted" versions of timeout and tryIOError that work with StateT (with the obvious semantics "restore the old state on timeout"). i was only able to find such a timeout in lifted-base, and tryIO in unliftio and others, but this feels a bit scattered |
2021-11-10 17:53:52 +0100 | <nf> | alternatively i could just store the context in an IORef |
2021-11-10 17:54:01 +0100 | <nf> | what would you do? |
2021-11-10 17:54:07 +0100 | <monochrom> | I recommend not. |
2021-11-10 17:54:41 +0100 | <monochrom> | But if you insist, perhaps the "layers" package offers yet another solution, complete or incomplete, I haven't deeply looked. |
2021-11-10 17:55:23 +0100 | <monochrom> | "lifting" is a very naïve idea once control flow is involved. |
2021-11-10 17:55:43 +0100 | <monochrom> | and a pandora's box |
2021-11-10 17:55:50 +0100 | <monochrom> | can of worms |
2021-11-10 17:56:52 +0100 | <monochrom> | The difficulty of timeout is that you now have two threads, too. |
2021-11-10 17:57:04 +0100 | <nf> | i'll look into layers |
2021-11-10 17:57:20 +0100 | <nf> | when you say you recommend not, did you mean the IORef part or the refactoring part? |
2021-11-10 17:57:23 +0100 | <monochrom> | What does it even mean to "lift" forkIO to StateT. |
2021-11-10 17:57:34 +0100 | <nf> | well, nothing |
2021-11-10 17:57:34 +0100 | <monochrom> | refactoring. |
2021-11-10 17:57:39 +0100 | <monochrom> | "refactoring" |
2021-11-10 17:57:45 +0100 | <nf> | i'm only interested in the special case of lifting timeout, with the semantics i mentioned |
2021-11-10 17:58:02 +0100 | v01d4lph4 | (~v01d4lph4@223.190.93.72) |
2021-11-10 17:58:02 +0100 | v01d4lph4 | (~v01d4lph4@223.190.93.72) (Changing host) |
2021-11-10 17:58:02 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 17:58:08 +0100 | <nf> | yeah i guess it's more than refactoring |
2021-11-10 17:58:18 +0100 | <monochrom> | timeout is done by forkIO and a lot of other moving parts |
2021-11-10 17:58:32 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer) |
2021-11-10 17:59:49 +0100 | notzmv | (~zmv@user/notzmv) |
2021-11-10 18:00:10 +0100 | <nf> | so to be clear, what would you rather do? the goal being to reuse the context across invocations, instead of using initialContext every time |
2021-11-10 18:01:21 +0100 | DNH | (~DNH@8.43.122.53) |
2021-11-10 18:02:11 +0100 | ubert1 | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
2021-11-10 18:02:50 +0100 | lbseale | (~lbseale@user/ep1ctetus) |
2021-11-10 18:05:10 +0100 | alzgh | (alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-11-10 18:07:18 +0100 | dsal | lifts pandora's box of worms |
2021-11-10 18:08:40 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-11-10 18:09:22 +0100 | <tomsmeding> | dsal: pray don't open it |
2021-11-10 18:09:53 +0100 | dsal | unlifts |
2021-11-10 18:09:59 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Remote host closed the connection) |
2021-11-10 18:13:29 +0100 | nschoe | (~quassel@2a01:e0a:8e:a190:b8f5:7f5:bf66:e7c) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-11-10 18:17:03 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!) |
2021-11-10 18:18:57 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 18:21:28 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2021-11-10 18:22:43 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2021-11-10 18:23:22 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2021-11-10 18:23:58 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 268 seconds) |
2021-11-10 18:30:08 +0100 | urdh | (~urdh@user/urdh) (Remote host closed the connection) |
2021-11-10 18:30:11 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 18:31:35 +0100 | rkrishnan | (~user@122.167.19.65) (Ping timeout: 250 seconds) |
2021-11-10 18:34:03 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2021-11-10 18:34:28 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) |
2021-11-10 18:34:40 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-10 18:39:07 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 256 seconds) |
2021-11-10 18:41:54 +0100 | royo | (~royo@user/royo) (Ping timeout: 260 seconds) |
2021-11-10 18:42:10 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 18:44:35 +0100 | johnny_sitar | (~artur@078088015209.bialystok.vectranet.pl) (Ping timeout: 250 seconds) |
2021-11-10 18:45:08 +0100 | nvmd | (~nvmd@user/nvmd) (Quit: Later, nerds.) |
2021-11-10 18:45:30 +0100 | coady1 | (~coady@94.196.131.116.threembb.co.uk) |
2021-11-10 18:46:50 +0100 | coady2 | (~coady@159.48.55.98) |
2021-11-10 18:48:11 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2021-11-10 18:48:39 +0100 | coady2 | (~coady@159.48.55.98) (Client Quit) |
2021-11-10 18:49:19 +0100 | coady | (~coady@31.132.2.93) (Ping timeout: 256 seconds) |
2021-11-10 18:50:11 +0100 | coady1 | (~coady@94.196.131.116.threembb.co.uk) (Ping timeout: 264 seconds) |
2021-11-10 18:50:41 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-11-10 18:51:13 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-10 18:51:31 +0100 | ski_ | ski |
2021-11-10 18:51:48 +0100 | chele_ | (~chele@user/chele) (Remote host closed the connection) |
2021-11-10 18:56:29 +0100 | zebrag | (~chris@user/zebrag) |
2021-11-10 18:56:49 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 18:57:33 +0100 | robosexual | (~spaceoyst@88.85.216.62) (Quit: Konversation terminated!) |
2021-11-10 19:00:45 +0100 | cheater | (~Username@user/cheater) |
2021-11-10 19:01:35 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Ping timeout: 264 seconds) |
2021-11-10 19:03:03 +0100 | td_ | (~td@94.134.91.32) |
2021-11-10 19:04:26 +0100 | econo | (uid147250@user/econo) |
2021-11-10 19:10:22 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) |
2021-11-10 19:10:44 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 19:14:53 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-11-10 19:15:09 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Ping timeout: 268 seconds) |
2021-11-10 19:15:23 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 256 seconds) |
2021-11-10 19:15:31 +0100 | v01d4lph4 | (~v01d4lph4@223.190.93.72) |
2021-11-10 19:15:31 +0100 | v01d4lph4 | (~v01d4lph4@223.190.93.72) (Changing host) |
2021-11-10 19:15:31 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) |
2021-11-10 19:18:42 +0100 | DNH | (~DNH@8.43.122.53) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-10 19:19:01 +0100 | cosimone | (~user@93-44-184-123.ip98.fastwebnet.it) |
2021-11-10 19:20:06 +0100 | jkaye | (~jkaye@2601:281:8300:7530:212b:79de:3c7b:f9e0) (Ping timeout: 245 seconds) |
2021-11-10 19:22:33 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) |
2021-11-10 19:22:43 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) |
2021-11-10 19:25:38 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-11-10 19:28:05 +0100 | neurocyte0132889 | (~neurocyte@94.46.71.199) |
2021-11-10 19:28:05 +0100 | neurocyte0132889 | (~neurocyte@94.46.71.199) (Changing host) |
2021-11-10 19:28:05 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-11-10 19:28:23 +0100 | pgib | (~textual@173.38.117.83) |
2021-11-10 19:29:02 +0100 | yauhsien | (~yauhsien@61-231-16-137.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2021-11-10 19:33:07 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 250 seconds) |
2021-11-10 19:33:08 +0100 | <joel135> | can i get ghc/ghci to spit out the types of all subterms of a code block, like a typing derivation? |
2021-11-10 19:34:39 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 19:39:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
2021-11-10 19:41:20 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-10 19:43:55 +0100 | v01d4lph4 | (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer) |
2021-11-10 19:43:58 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-11-10 19:44:23 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-10 19:44:32 +0100 | emf | (~emf@2620:10d:c090:400::5:69be) |
2021-11-10 19:50:49 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-11-10 19:54:52 +0100 | jeslie0 | (~user@135-23-172-182.cpe.pppoe.ca) |
2021-11-10 19:58:21 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) |
2021-11-10 19:58:32 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Remote host closed the connection) |
2021-11-10 19:58:51 +0100 | <shapr> | joel135: You can use haskell-language-server to do some of that. |
2021-11-10 19:59:45 +0100 | justache | (~justache@user/justache) (Read error: Connection reset by peer) |
2021-11-10 20:00:08 +0100 | jkaye | (~jkaye@2601:281:8300:7530:65b4:1325:4217:bff5) |
2021-11-10 20:00:40 +0100 | justache | (~justache@user/justache) |
2021-11-10 20:03:05 +0100 | zincy_ | (~zincy@host86-181-60-139.range86-181.btcentralplus.com) (Ping timeout: 264 seconds) |
2021-11-10 20:03:21 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-11-10 20:03:37 +0100 | urdh | (~urdh@user/urdh) |
2021-11-10 20:05:20 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-10 20:07:24 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-11-10 20:07:27 +0100 | <mark__> | Sorry, still trying to understand MMR and WHNF. If I do ":set -XNoMonomorphismRestriction; x = Just 1" and then force evaluation to WHNF "seq x ()" I get x = _. Why does it not eval until the first value constructor Just. The polymorphic thing is inside the Just. |
2021-11-10 20:08:31 +0100 | <monochrom> | If you don't mind one subterm at a time, https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html#ghci-cmd-:type-at |
2021-11-10 20:08:39 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-11-10 20:08:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-11-10 20:09:08 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-11-10 20:09:09 +0100 | <monochrom> | Or, if you don't mind all subterms of the whole file, https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html#ghci-cmd-:all-types |
2021-11-10 20:09:38 +0100 | <monochrom> | :type-at is what emacs haskell-mode and dante use. |
2021-11-10 20:09:42 +0100 | DNH | (~DNH@8.43.122.53) |
2021-11-10 20:09:57 +0100 | <monochrom> | It is also why I still don't need IDEs. |
2021-11-10 20:11:10 +0100 | <monochrom> | mark__, unfortunately you have "Num a => Maybe a" not "Maybe (Num a => a)". |
2021-11-10 20:11:33 +0100 | <mark__> | Thanks for the links. My theory is that (Just (1 :: Num a => a)) is in core something like (\$dNum -> Just ..) so the dict must be supplied at the start. |
2021-11-10 20:11:51 +0100 | <monochrom> | Equivalently, the polymorphic thing is precisely outside the Just. |
2021-11-10 20:12:22 +0100 | <mark__> | That makes sense. |
2021-11-10 20:12:23 +0100 | <monochrom> | Why? Because Hindley-Milner does neither rank-n nor impredicativity. |
2021-11-10 20:17:45 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 250 seconds) |
2021-11-10 20:21:07 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-11-10 20:21:21 +0100 | jgeerds | (~jgeerds@55d41b94.access.ecotel.net) |
2021-11-10 20:22:07 +0100 | <joel135> | shapr: good idea. i ended up settling with holes for now though |
2021-11-10 20:22:32 +0100 | chomwitt | (~chomwitt@2a02:587:dc0f:7c00:12c3:7bff:fe6d:d374) (Ping timeout: 240 seconds) |
2021-11-10 20:22:53 +0100 | <joel135> | and simple redundant let bindings |
2021-11-10 20:33:13 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 20:35:34 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2021-11-10 20:37:32 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 240 seconds) |
2021-11-10 20:40:32 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 240 seconds) |
2021-11-10 20:41:10 +0100 | DNH | (~DNH@8.43.122.53) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-10 20:41:15 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) |
2021-11-10 20:51:14 +0100 | player205 | (~player205@net-93-71-138-138.cust.vodafonedsl.it) |
2021-11-10 20:51:37 +0100 | player205 | (~player205@net-93-71-138-138.cust.vodafonedsl.it) (Client Quit) |
2021-11-10 20:51:55 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-10 20:52:20 +0100 | player205 | (~player205@net-93-71-138-138.cust.vodafonedsl.it) |
2021-11-10 20:54:03 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-10 20:56:30 +0100 | michalz | (~michalz@185.246.204.33) (Remote host closed the connection) |
2021-11-10 20:56:55 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2021-11-10 21:02:38 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-10 21:03:26 +0100 | DNH | (~DNH@8.43.122.53) |
2021-11-10 21:05:02 +0100 | juhp | (~juhp@128.106.188.220) (Ping timeout: 240 seconds) |
2021-11-10 21:05:05 +0100 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
2021-11-10 21:06:41 +0100 | pgib | (~textual@173.38.117.83) (Quit: 00 PC LOAD LETTER) |
2021-11-10 21:06:42 +0100 | juhp | (~juhp@128.106.188.220) |
2021-11-10 21:06:47 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 246 seconds) |
2021-11-10 21:08:58 +0100 | sander | (~sander@user/sander) (Quit: So long! :)) |
2021-11-10 21:13:36 +0100 | mei3 | (~mei@user/mei) |
2021-11-10 21:15:31 +0100 | coady | (~coady@159.48.55.98) |
2021-11-10 21:16:48 +0100 | coady | (~coady@159.48.55.98) (Client Quit) |
2021-11-10 21:18:06 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-11-10 21:18:48 +0100 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-11-10 21:19:29 +0100 | alx741 | (~alx741@181.196.68.101) (Ping timeout: 256 seconds) |
2021-11-10 21:20:03 +0100 | gehmehgeh_ | (~user@user/gehmehgeh) (Ping timeout: 276 seconds) |
2021-11-10 21:20:16 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-10 21:21:05 +0100 | gehmehgeh_ | (~user@user/gehmehgeh) |
2021-11-10 21:21:38 +0100 | nineonine | (~nineonine@2604:3d08:7780:cd00:187c:a4eb:abb4:3c17) |
2021-11-10 21:22:46 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) |
2021-11-10 21:24:02 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-11-10 21:24:49 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 21:25:25 +0100 | jushur | (~human@user/jushur) |
2021-11-10 21:27:02 +0100 | deadmarshal | (~deadmarsh@95.38.114.152) (Ping timeout: 240 seconds) |
2021-11-10 21:27:03 +0100 | burnsidesLlama | (~burnsides@dhcp168-030.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-11-10 21:27:17 +0100 | Guest4249 | (~Guest42@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-11-10 21:27:52 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2021-11-10 21:27:53 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2021-11-10 21:28:22 +0100 | hololeap | (~hololeap@user/hololeap) (Read error: Connection reset by peer) |
2021-11-10 21:29:15 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 250 seconds) |
2021-11-10 21:30:08 +0100 | kadir | (~kadir@78.178.105.36) (WeeChat 3.3) |
2021-11-10 21:30:42 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-11-10 21:30:55 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcad:8023:d7ab:9816) (Remote host closed the connection) |
2021-11-10 21:31:02 +0100 | kayprish | (~kayprish@46.240.130.158) |
2021-11-10 21:33:47 +0100 | alx741 | (~alx741@186.178.109.114) |
2021-11-10 21:34:49 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
2021-11-10 21:35:04 +0100 | themc47 | (~mc47@xmonad/TheMC47) |
2021-11-10 21:35:11 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-11-10 21:36:42 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-11-10 21:37:34 +0100 | falafel | (~falafel@cpe-76-168-195-162.socal.res.rr.com) |
2021-11-10 21:38:17 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-11-10 21:40:30 +0100 | kayprish | (~kayprish@46.240.130.158) (Quit: leaving) |
2021-11-10 21:40:40 +0100 | kayprish | (~kayprish@46.240.130.158) |
2021-11-10 21:47:02 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds) |
2021-11-10 21:50:00 +0100 | beka | (~beka@104.193.170.240) |
2021-11-10 21:51:20 +0100 | jespada | (~jespada@190.7.36.46) |
2021-11-10 21:51:55 +0100 | player205 | (~player205@net-93-71-138-138.cust.vodafonedsl.it) (Quit: WeeChat 3.0.1) |
2021-11-10 21:55:09 +0100 | <fendor[m]> | Can I not pass -package-env to ghci using `:seti` or `:set`? ☹️ |
2021-11-10 21:55:15 +0100 | mcgroin | (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-11-10 21:56:28 +0100 | jespada | (~jespada@190.7.36.46) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-11-10 21:56:44 +0100 | <monochrom> | Probably too late after ghci has started. |
2021-11-10 21:56:49 +0100 | <geekosaur> | I think it's too late for that by that point? although 9.2.1 at least seems to think it's a dynamic option |
2021-11-10 21:58:18 +0100 | <fendor[m]> | well clearing the package db, and setting a couple of new ones should be easily possible at run-time |
2021-11-10 21:58:27 +0100 | <fendor[m]> | or am I missing a feature of package-envs? |
2021-11-10 21:59:17 +0100 | <monochrom> | No. Long in the past, I already discovered that ghci doesn't want to even know any change in the package db after startup. |
2021-11-10 22:00:02 +0100 | <monochrom> | And generally I wouldn't think in terms of "it should be easy for someone else to add a feature I want". |
2021-11-10 22:01:19 +0100 | <fendor[m]> | I am not, I rather mean "it should be possible, is there a reason why it isn't right now?" And if the answer is no, I am inclined to add that feature |
2021-11-10 22:02:06 +0100 | <fendor[m]> | and I bet the answer is "no particular reason, but it is complicated" |
2021-11-10 22:02:10 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-11-10 22:02:28 +0100 | <geekosaur> | one thoing thatoccurs to me is you'd potenntially have to throw out everything ghci currently knows and start over (like :load) |
2021-11-10 22:03:01 +0100 | <geekosaur> | perhaps not complicated, but possibly invasive and annoying to the user |
2021-11-10 22:03:21 +0100 | <geekosaur> | this said, many things ghci doesn't do just because nobody asked for it before |
2021-11-10 22:04:01 +0100 | <fendor[m]> | that is indeed true, if that is the only option that causes such reloads then it is rather annoying and unexpected |
2021-11-10 22:04:05 +0100 | <geekosaur> | ghci wasn't designed, it just kinda grew |
2021-11-10 22:04:58 +0100 | burnsidesLlama | (~burnsides@dhcp168-030.wadham.ox.ac.uk) |
2021-11-10 22:05:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-11-10 22:07:19 +0100 | <fendor[m]> | it is still amazingly good, imo |
2021-11-10 22:11:03 +0100 | themc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-11-10 22:11:37 +0100 | burnsidesLlama | (~burnsides@dhcp168-030.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2021-11-10 22:14:11 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-11-10 22:17:42 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 22:19:13 +0100 | <dsal> | Heh, I just saw this via rss: http://logicaltypes.blogspot.com/2021/11/november-2021-1haskelladay-1liners.html |
2021-11-10 22:21:23 +0100 | mei3 | (~mei@user/mei) (Ping timeout: 268 seconds) |
2021-11-10 22:22:17 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 264 seconds) |
2021-11-10 22:23:12 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-11-10 22:23:21 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2021-11-10 22:24:34 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-11-10 22:24:51 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-11-10 22:25:05 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-11-10 22:25:09 +0100 | mikoto-c1 | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 250 seconds) |
2021-11-10 22:25:33 +0100 | <yin> | fun! |
2021-11-10 22:25:45 +0100 | mikoto-c1 | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
2021-11-10 22:26:02 +0100 | <yin> | @pl \f -> (\x -> f (x x)) (\x -> f (x x)) |
2021-11-10 22:26:02 +0100 | <lambdabot> | ap (. join id) (. join id) |
2021-11-10 22:26:12 +0100 | burnsidesLlama | (~burnsides@dhcp168-030.wadham.ox.ac.uk) |
2021-11-10 22:26:15 +0100 | <yin> | @pl \f -> (\x -> x x) (\x -> f (x x)) |
2021-11-10 22:26:15 +0100 | <lambdabot> | join id . (. join id) |
2021-11-10 22:26:19 +0100 | <yin> | :) |
2021-11-10 22:27:53 +0100 | <kronicmage> | @t \f -> (\x -> x x) (\x -> f (x x)) |
2021-11-10 22:27:53 +0100 | <lambdabot> | Maybe you meant: tell thank you thanks thesaurus thx tic-tac-toe ticker time todo todo-add todo-delete type v @ ? . |
2021-11-10 22:27:59 +0100 | vysn | (~vysn@user/vysn) |
2021-11-10 22:29:02 +0100 | <kronicmage> | huh pl works on maltyped things |
2021-11-10 22:29:04 +0100 | <kronicmage> | til |
2021-11-10 22:29:23 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-11-10 22:29:24 +0100 | <geekosaur> | yeh, @pl just does substitutions, it doesn't really know haskell |
2021-11-10 22:30:00 +0100 | <yin> | fun! |
2021-11-10 22:31:00 +0100 | <yin> | what can we learn from this? i feel that `ap (. join id) (. join id)` should be a big insight |
2021-11-10 22:34:17 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 256 seconds) |
2021-11-10 22:34:35 +0100 | <dsal> | I can learn that if I see that in code somewhere, someone didn't come up with it and probably doesn't understand it, but sent it through @pl and copied it because they thought it looked cool. |
2021-11-10 22:34:46 +0100 | acidjnk_new3 | (~acidjnk@p200300d0c721b7398586a2e711bd371d.dip0.t-ipconnect.de) |
2021-11-10 22:35:50 +0100 | <Taneb> | I did once write a horrifying program to calculate factorials that was mostly "pure", "(<*>)", and "unsafeCoerce" |
2021-11-10 22:36:04 +0100 | <Taneb> | It ran out of memory for numbers bigger than 11 |
2021-11-10 22:36:20 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-10 22:38:29 +0100 | acidjnk_new | (~acidjnk@p200300d0c724a7710420fe3aa4fdb454.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2021-11-10 22:39:41 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-11-10 22:39:48 +0100 | <Taneb> | If anyone has IRC logs for June 2012, it's probably linked to from there |
2021-11-10 22:42:48 +0100 | <tomsmeding> | for bonus points, replace (.) with fmap |
2021-11-10 22:43:06 +0100 | <tomsmeding> | fmap (join id) `ap` fmap (join id) |
2021-11-10 22:43:13 +0100 | pavonia | (~user@user/siracusa) |
2021-11-10 22:46:11 +0100 | yauhsien | (~yauhsien@118-167-47-187.dynamic-ip.hinet.net) |
2021-11-10 22:46:18 +0100 | <dsal> | :t fmap (join id) `ap` fmap (join id) |
2021-11-10 22:46:19 +0100 | <lambdabot> | error: |
2021-11-10 22:46:19 +0100 | <lambdabot> | • Occurs check: cannot construct the infinite type: a ~ a -> b1 |
2021-11-10 22:46:19 +0100 | <lambdabot> | Expected type: a -> a -> b1 |
2021-11-10 22:46:40 +0100 | <dsal> | So annoyed by haskell's finite types. |
2021-11-10 22:47:33 +0100 | <yin> | what would be the undesirable consequences of allowing infinite types? |
2021-11-10 22:47:46 +0100 | <yin> | besides non termination |
2021-11-10 22:48:28 +0100 | <dsal> | It's kind of hard to think about. |
2021-11-10 22:49:53 +0100 | jmorris | (uid433911@id-433911.hampstead.irccloud.com) |
2021-11-10 22:50:33 +0100 | sander | (~sander@user/sander) |
2021-11-10 22:50:43 +0100 | yauhsien | (~yauhsien@118-167-47-187.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-11-10 22:51:45 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) |
2021-11-10 22:52:23 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-11-10 22:52:43 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-11-10 22:53:12 +0100 | f-a | (f2a@f2a.jujube.ircnow.org) |
2021-11-10 22:53:45 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 250 seconds) |
2021-11-10 22:55:55 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:350f:7ee:191a:6f65) (Ping timeout: 250 seconds) |
2021-11-10 22:57:02 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds) |
2021-11-10 22:57:27 +0100 | <maerwald> | tomsmeding: I love fmap so much, I think I actually did that once in production code |
2021-11-10 22:57:54 +0100 | royo | (~royo@user/royo) |
2021-11-10 22:58:14 +0100 | <k`> | :q |
2021-11-10 22:58:22 +0100 | k` | (~user@152.1.137.158) (Remote host closed the connection) |
2021-11-10 22:59:39 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-10 22:59:57 +0100 | <yin> | dsal: too hard even for this channel? |
2021-11-10 22:59:59 +0100 | <dolio> | yin: Almost every time you under/over apply a function by accident, you could give it an infinite type. |
2021-11-10 23:00:48 +0100 | <dolio> | So, the only thing that gives you an error message instead of something much more confusing to figure out is rejecting infinite types. |
2021-11-10 23:01:19 +0100 | f-a | (f2a@f2a.jujube.ircnow.org) () |
2021-11-10 23:01:39 +0100 | <dolio> | At least, deciding not to infer infinite types. |
2021-11-10 23:02:37 +0100 | Noobish | (~Noobish@64.150.15.15) |
2021-11-10 23:03:43 +0100 | <monochrom> | "f (x:xs) = ... f x ..." is also a common beginner mistake that, if accepted, would cause an infinite type. |
2021-11-10 23:03:56 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-11-10 23:04:04 +0100 | <dolio> | Yeah, lots of typos. |
2021-11-10 23:04:20 +0100 | <dolio> | (xs:x) instead of (x:xs). |
2021-11-10 23:04:29 +0100 | <monochrom> | Practical experience says that 99.99% of infinite types are typos, not intentional. |
2021-11-10 23:04:35 +0100 | <dsal> | infinite typos |
2021-11-10 23:04:53 +0100 | <yin> | :) |
2021-11-10 23:05:13 +0100 | <dsal> | I've not run into a situation where I wish I had an infinite type. |
2021-11-10 23:05:28 +0100 | <monochrom> | And among the intentional legit ones, 99% lead to hard-to-follow code. |
2021-11-10 23:05:34 +0100 | <dsal> | Why can't an element of a list be the same type as the list of the elements of that list? |
2021-11-10 23:06:05 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 264 seconds) |
2021-11-10 23:06:45 +0100 | <yin> | let a = [a] in [a] |
2021-11-10 23:06:46 +0100 | <dolio> | That's set theory. |
2021-11-10 23:07:33 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-10 23:07:48 +0100 | <monochrom> | It turns out that when you intend to have an infinite type, going isorecursive is nicer for your readers, e.g., with "newtype D = MkD{unD :: D->D}", your explicit "MkD foo" and "unD bar" help your reader recognize "ah you're now converting D to D->D" "ah you're now convering D->D to D". |
2021-11-10 23:08:26 +0100 | <monochrom> | In fact the same can be said of all recursive ADTs. |
2021-11-10 23:08:56 +0100 | <monochrom> | Infinite type is just a special case of the stance of equirecursive types. |
2021-11-10 23:09:24 +0100 | Noobish | (~Noobish@64.150.15.15) (Remote host closed the connection) |
2021-11-10 23:11:14 +0100 | <monochrom> | And equi-vs-iso is in turn just a special case of structural-vs-nomial. |
2021-11-10 23:11:18 +0100 | <monochrom> | err, nominal |
2021-11-10 23:12:16 +0100 | <monochrom> | "type IntStream = (Int, IntStream)" vs "newtype IntStream = Ctor (Int, IntStream)" |
2021-11-10 23:13:21 +0100 | sagax | (~sagax_nb@user/sagax) (Quit: Konversation terminated!) |
2021-11-10 23:18:34 +0100 | <monochrom> | Set theory has an "axiom of foundation" that disallows x = {x}, among related infinite-descent things. |
2021-11-10 23:19:03 +0100 | <dolio> | Yeah, but the cool set theories have the axiom of anti-foundation. |
2021-11-10 23:19:11 +0100 | <monochrom> | However! There are CS areas that find it useful to omit that axiom and allow infinite-descent sets. |
2021-11-10 23:20:12 +0100 | <dolio> | Actually, there are multiple variants of anti-foundation axioms, I think. |
2021-11-10 23:20:21 +0100 | lbseale_ | (~lbseale@user/ep1ctetus) |
2021-11-10 23:20:48 +0100 | <dolio> | Depending to the different kinds of cyclic graphs you allow sets to correspond to. |
2021-11-10 23:21:22 +0100 | <yin> | @def data Fix f = Fix (f (Fix f)) |
2021-11-10 23:21:23 +0100 | <lambdabot> | Defined. |
2021-11-10 23:21:30 +0100 | <monochrom> | My favourite anti-foundation axiom is "it's lasagna all the way down" :P |
2021-11-10 23:21:32 +0100 | <yin> | @kind Fix |
2021-11-10 23:21:32 +0100 | <lambdabot> | (* -> *) -> * |
2021-11-10 23:21:54 +0100 | <dolio> | Also, like, if `x = {x}` and `y = {y}` does x = y? |
2021-11-10 23:23:15 +0100 | <dolio> | x is a set that contains itself, and y is a set that contains itself, but do they contain all the same sets? |
2021-11-10 23:23:33 +0100 | <dsal> | yin: do you have a good understanding of fix/Fix? |
2021-11-10 23:23:35 +0100 | <dolio> | Extensionality can't answer the question. :) |
2021-11-10 23:23:56 +0100 | <yin> | dsal: fix yes, Fix i think i'm struggling with |
2021-11-10 23:24:09 +0100 | lbseale | (~lbseale@user/ep1ctetus) (Ping timeout: 256 seconds) |
2021-11-10 23:24:44 +0100 | <dsal> | Fix is just fix at the type level. This is a good read: https://chrispenner.ca/posts/asts-with-fix-and-free |
2021-11-10 23:25:15 +0100 | <yin> | thanks! |
2021-11-10 23:25:17 +0100 | max22- | (~maxime@2a01cb0883359800a8cb049c70e9b71a.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-11-10 23:28:14 +0100 | <monochrom> | We almost had the same issue with streams for example (generally coinductive types). If x=():x and y=():y, does x=y? |
2021-11-10 23:28:43 +0100 | <monochrom> | The narrow version of extensionality (two records are equal iff respect fields are equal) can't answer it either. |
2021-11-10 23:29:17 +0100 | <monochrom> | Eventually someone figured out "x and y are bisimilar, let's define 'equal' to just mean that". |
2021-11-10 23:29:26 +0100 | <dolio> | Exactly. |
2021-11-10 23:33:13 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 256 seconds) |
2021-11-10 23:33:36 +0100 | <yin> | what if y = ():x ? |
2021-11-10 23:34:10 +0100 | <monochrom> | Then x and this y are bisimilar, too. |
2021-11-10 23:34:37 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-11-10 23:34:52 +0100 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-11-10 23:34:55 +0100 | <yin> | so infinity+1 == infinity |
2021-11-10 23:35:25 +0100 | <monochrom> | I wouldn't jump to that conclusion. : is not +, x is not infinity. |
2021-11-10 23:35:32 +0100 | zebrag | (~chris@user/zebrag) (Ping timeout: 246 seconds) |
2021-11-10 23:35:53 +0100 | zebrag | (~chris@user/zebrag) |
2021-11-10 23:36:07 +0100 | <yin> | can't you make the argument that at the type level that wuld be peano infinity? |
2021-11-10 23:36:36 +0100 | <yin> | (i don't know what i'm saying) |
2021-11-10 23:36:37 +0100 | <monochrom> | I don't know peano infinity and I don't know that argument. |
2021-11-10 23:36:44 +0100 | cosimone | (~user@93-44-184-123.ip98.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1)) |
2021-11-10 23:37:43 +0100 | <awpr> | sounds to me like: if you define a peano naturals type in Haskell, you get an extra inhabitant `infinity = S infinity`, and that is in the same sense bisimilar to `S infinity` |
2021-11-10 23:37:59 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2021-11-10 23:38:11 +0100 | <dolio> | Depends how you define it. |
2021-11-10 23:38:13 +0100 | <awpr> | IIUC it's not supposed to be a member of the Peano naturals, but it sneaks in due to laziness |
2021-11-10 23:38:15 +0100 | gehmehgeh_ | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-11-10 23:38:32 +0100 | <awpr> | "how you define it" = by not using a strict field? |
2021-11-10 23:38:39 +0100 | <dolio> | Right. |
2021-11-10 23:39:53 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2021-11-10 23:41:33 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) (Ping timeout: 268 seconds) |
2021-11-10 23:41:48 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) |
2021-11-10 23:41:52 +0100 | <monochrom> | Yes, I was waiting for you to set up an explicit homomorphism from [()] to "data N = Z | S N", and then the conclusion is OK. |
2021-11-10 23:42:40 +0100 | <yin> | ^ |
2021-11-10 23:42:58 +0100 | finsternis | (~X@23.226.237.192) |
2021-11-10 23:43:54 +0100 | <Axman6> | type FatPeano = [()] |
2021-11-10 23:44:49 +0100 | <yin> | @type [( )] |
2021-11-10 23:44:50 +0100 | <lambdabot> | [()] |
2021-11-10 23:47:40 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-11-10 23:51:20 +0100 | <yin> | can a compiler optimize something like `data L a = L a (Maybe (L a))` to `data L a = E a | N a (L a)` ? |
2021-11-10 23:51:39 +0100 | <sclv> | kritzefitz: btw is this ticket germane to the discussion we were having this morning? https://github.com/haskell/cabal/issues/3586 |
2021-11-10 23:53:32 +0100 | <Axman6> | yin: no |
2021-11-10 23:53:46 +0100 | <yin> | Axman6: could it, theretically? |
2021-11-10 23:53:51 +0100 | <Axman6> | unboxed sum types might helkp though |
2021-11-10 23:54:24 +0100 | <Axman6> | you''d end up with data L a = L a (#a|Void#) or something |
2021-11-10 23:54:38 +0100 | <Axman6> | uh, |
2021-11-10 23:54:55 +0100 | <Axman6> | data L a = L a (#L a|Void#) |
2021-11-10 23:55:06 +0100 | <Axman6> | which... doesn't make sense I think |
2021-11-10 23:55:21 +0100 | <Axman6> | that would lead to an infinitely sized L so no |
2021-11-10 23:55:33 +0100 | <hpc> | rust does something like this, but it helps that rust is strict |
2021-11-10 23:55:43 +0100 | <Axman6> | anyway, no - maybe it could but it doesn't. what would be the reason for doing that? Saving an indirection? |
2021-11-10 23:56:09 +0100 | <yin> | yes, that's what i has in mind |
2021-11-10 23:56:24 +0100 | <yin> | s/has/had |
2021-11-10 23:56:42 +0100 | <monochrom> | Saves a little memory, "E 3" stores less than "L 3 Nothing". |
2021-11-10 23:57:23 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2021-11-10 23:57:26 +0100 | <yin> | and all the Justs, i'm thinking |
2021-11-10 23:57:29 +0100 | <yin> | n? |
2021-11-10 23:57:45 +0100 | <janus> | another cabal-docspec success story: https://github.com/sol/doctest/issues/301#issuecomment-965818593 oh happy day |
2021-11-10 23:57:56 +0100 | sagax | (~sagax_nb@user/sagax) |