Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,801,995 events total
2025-12-02 08:20:35 × Googulator32 quits (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-02 08:20:42 Googulator22 joins (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-02 08:23:52 YouDontKnowMe joins (~YouDontKn@2a06:3040:11:610::d101)
2025-12-02 08:26:12 × YouDontKnowMe quits (~YouDontKn@2a06:3040:11:610::d101) (Client Quit)
2025-12-02 08:26:38 × karenw quits (~karenw@user/karenw) (Ping timeout: 260 seconds)
2025-12-02 08:34:40 <lucabtz> there is no string splitting in base?
2025-12-02 08:39:34 × DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Ping timeout: 246 seconds)
2025-12-02 08:41:06 × trickard quits (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-02 08:41:19 trickard_ joins (~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-02 08:41:56 <Rembane> lucabtz: There's span and break and partition and take and drop and takeWhile and dropWhile
2025-12-02 08:43:45 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-12-02 08:44:22 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 256 seconds)
2025-12-02 08:50:10 <dminuoso> 21:18:59 tomsmeding │ it seems the theme of today is "words mean different things to different people"
2025-12-02 08:50:42 Googulator31 joins (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-02 08:50:43 × Googulator22 quits (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-02 08:50:47 <dminuoso> Human language is messy, imprecise and under constant change.
2025-12-02 08:51:56 <dminuoso> Heck, if you just go through pure math publications, you see so many conflicting notation styles or conflicting terminology choices... its best to not dwell on what people call things and just be able to adjust your reference frame in a discussion...
2025-12-02 08:52:20 <dminuoso> Especially when its people from different fields/languages/paradigms...
2025-12-02 08:55:39 merijn joins (~merijn@77.242.116.146)
2025-12-02 09:02:54 <lucabtz> Rembane yeah i made one with takeWhile and dropWhile
2025-12-02 09:03:54 fp1 joins (~Thunderbi@2001:708:20:1406::1370)
2025-12-02 09:04:46 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-12-02 09:04:59 × Inline quits (~inlinE@2001-4dd3-7fc8-0-2be-fec0-ba58-7d11.ipv6dyn.netcologne.de) (Remote host closed the connection)
2025-12-02 09:05:18 Inline joins (~inlinE@2001-4dd3-7fc8-0-2be-fec0-ba58-7d11.ipv6dyn.netcologne.de)
2025-12-02 09:05:31 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-12-02 09:09:30 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-12-02 09:10:02 × dhs quits (~dhs@user/dhscholb) ()
2025-12-02 09:10:37 <chromoblob> dminuoso: mind sharing which IRC client you use? interesting
2025-12-02 09:14:45 merijn joins (~merijn@77.242.116.146)
2025-12-02 09:17:25 × trickard_ quits (~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-02 09:17:39 trickard_ joins (~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-02 09:20:43 × Googulator31 quits (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-02 09:20:45 Googulator22 joins (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-02 09:21:23 Lycurgus joins (~juan@user/Lycurgus)
2025-12-02 09:23:39 kuribas joins (~user@2a02:1808:d1:d243:9821:bd8c:f208:7dc)
2025-12-02 09:24:49 <kuribas> Funny how haskell makes easy things harder sometimes. I have a list of items, and I need to produce another list, but flatten it (so like a list monad). But I also want to have some state variable.
2025-12-02 09:25:23 <Lycurgus> wrong lang 4 state
2025-12-02 09:25:37 <Lycurgus> easy state anywho
2025-12-02 09:25:39 <merijn> kuribas: That just sounds like scanl + flatten?
2025-12-02 09:25:52 <kuribas> So I could: 1) use traverse on the list, using an inner state monad, then flatten. 2) make a list and state monad. 3) do an explicit tail recursive loop.
2025-12-02 09:25:55 chele joins (~chele@user/chele)
2025-12-02 09:26:08 <kuribas> :t scanl
2025-12-02 09:26:09 <Lycurgus> state u dont even think about hardly
2025-12-02 09:26:10 <lambdabot> (b -> a -> b) -> b -> [a] -> [b]
2025-12-02 09:26:54 <kuribas> Concretely, I want to generate some SQL query, but I need to generate aliases for tables, like alias1, alias2 (the state).
2025-12-02 09:27:17 <Axman6> or mapAccumL/R
2025-12-02 09:27:46 <kuribas> Funny, one of my colleages went to university in Glasgow, she never did haskell because it was to complicated...
2025-12-02 09:27:53 <kuribas> But she is doing clojure now.
2025-12-02 09:29:10 DetourNetworkUK joins (DetourNetw@user/DetourNetworkUK)
2025-12-02 09:32:02 <sprout> I just wrote a foldl_with_state in Egel
2025-12-02 09:32:09 <sprout> not everything has to be a monad
2025-12-02 09:32:20 <Axman6> that definitely sounds like mapAccumL to me ...
2025-12-02 09:32:23 <Axman6> :t mapAccumL
2025-12-02 09:32:25 <lambdabot> Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
2025-12-02 09:32:34 × kuribas quits (~user@2a02:1808:d1:d243:9821:bd8c:f208:7dc) (Ping timeout: 260 seconds)
2025-12-02 09:33:11 <Lycurgus> hs is a wonderment in that it managed to become quite practically while going full on ivory tower dont give a damn if u think it's a ball breaker
2025-12-02 09:33:22 <Lycurgus> *quite practical
2025-12-02 09:34:07 <dminuoso> chromoblob: Weechat.
2025-12-02 09:34:22 <lucabtz> i ended up doing like this Rembane https://paste.tomsmeding.com/gp5xEGzv
2025-12-02 09:34:37 <Lycurgus> the type sig circle jerks being a prime epiphenomon of that
2025-12-02 09:34:47 <sprout> Axman6: yah, that must be the same thing
2025-12-02 09:35:49 × DetourNetworkUK quits (DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer)
2025-12-02 09:36:49 DetourNetworkUK joins (DetourNetw@user/DetourNetworkUK)
2025-12-02 09:38:08 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-12-02 09:39:14 merijn joins (~merijn@77.242.116.146)
2025-12-02 09:49:29 vgtw joins (~vgtw@user/vgtw)
2025-12-02 09:50:47 Googulator26 joins (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-02 09:50:47 × Googulator22 quits (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-02 09:55:08 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
2025-12-02 09:55:42 <kuribas> :t mapAccumL
2025-12-02 09:55:43 <lambdabot> Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
2025-12-02 09:56:23 <kuribas> I can make a transformer, but "StateT [] s a" would not work, as it trows away state.
2025-12-02 09:56:41 <kuribas> Maybe ListT done right: ListT (State s) a
2025-12-02 09:58:15 × vgtw quits (~vgtw@user/vgtw) (Ping timeout: 240 seconds)
2025-12-02 09:58:56 <kuribas> or easier : concat $ runState $ traverse (state $ \s -> [...]) l
2025-12-02 09:59:26 vgtw joins (~vgtw@user/vgtw)
2025-12-02 10:03:06 <kuribas> :t ListT
2025-12-02 10:03:08 <lambdabot> error: [GHC-88464]
2025-12-02 10:03:08 <lambdabot> Data constructor not in scope: ListT
2025-12-02 10:03:08 <lambdabot> Suggested fix: Perhaps use ‘List’ (imported from Control.Lens)
2025-12-02 10:03:42 × fp1 quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 252 seconds)
2025-12-02 10:06:23 <kuribas> :t \f l -> concat $ flip runState 1 $ traverse (State . f) l
2025-12-02 10:06:25 <lambdabot> error: [GHC-01928]
2025-12-02 10:06:25 <lambdabot> • Illegal term-level use of the type constructor ‘State’
2025-12-02 10:06:25 <lambdabot> • imported from ‘Control.Monad.State’ at /home/lambda/.lambdabot/State/L.hs:65:1-26
2025-12-02 10:07:27 <kuribas> lambdabot: It's a type synonym ...
2025-12-02 10:08:38 comerijn joins (~merijn@77.242.116.146)
2025-12-02 10:10:13 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-12-02 10:10:55 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-12-02 10:11:47 <kuribas> Isn't ListT done right a logic monad?
2025-12-02 10:12:04 kritzefitz parts (~kritzefit@debian/kritzefitz) ()
2025-12-02 10:12:40 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-12-02 10:13:45 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-12-02 10:14:27 <tomsmeding> :t \f l -> concat $ flip runState 1 $ traverse (state . f) l
2025-12-02 10:14:29 <lambdabot> (Traversable t, Num [a1]) => (a2 -> [a1] -> (b, [a1])) -> t a2 -> [a1]
2025-12-02 10:15:24 <kuribas> tomsmeding: https://hackage.haskell.org/package/mtl-2.3.1/docs/Control-Monad-State-Lazy.html#t:State
2025-12-02 10:15:46 <tomsmeding> oh your were complaining about "type constructor"
2025-12-02 10:15:56 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2025-12-02 10:16:02 <kuribas> ah wait, it's StateT ...
2025-12-02 10:16:06 <kuribas> sorry...

All times are in UTC.